JP2540844B2 - Data transfer control method - Google Patents
Data transfer control methodInfo
- Publication number
- JP2540844B2 JP2540844B2 JP62051593A JP5159387A JP2540844B2 JP 2540844 B2 JP2540844 B2 JP 2540844B2 JP 62051593 A JP62051593 A JP 62051593A JP 5159387 A JP5159387 A JP 5159387A JP 2540844 B2 JP2540844 B2 JP 2540844B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- memory
- request
- arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、演算制御装置と主メモリ装置間のデータ転
送制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control method between an arithmetic and control unit and a main memory unit.
本発明は、演算制御装置がブロックリードリクエスト
により所要のデータを一括して主メモリ装置から得る方
法において、 複数区分に分割されたブロック単位の転送データをア
クセスされたアドレス上の転送区分データからブロック
境界の最後に位置する転送区分データまでを演算制御装
置へ転送し、残りの転送区分データの転送を打ち切るこ
とにより、 不要データを演算制御装置に転送することで生ずるデ
ータ転送効率の低下を抑止することができるようにした
ものである。According to the present invention, in a method in which an arithmetic and control unit obtains required data from a main memory device by a block read request at a time, transfer data in block units divided into a plurality of blocks is transferred from a transfer segment data on an accessed address to a block. By transferring the data up to the transfer partition data located at the end of the boundary to the arithmetic and control unit and canceling the transfer of the remaining transfer partition data, it is possible to prevent the deterioration of the data transfer efficiency caused by transferring unnecessary data to the arithmetic and control unit. It was made possible.
本出願は同一出願人の同一名称の特許出願4(昭和62
年2月10日出願)の改良である。This application is patent application 4 (Showa 62)
(February 10, 2012 application)
大型情報処理システムでは、事務所理計算および科学
技術計算の両分野でデータ処理の高速化が求められてお
り、メモリ制御装置内に主メモリ内のデータの一部の写
しを有する高速のバッファメモリが設けられる。In large-scale information processing systems, high-speed data processing is required in both the fields of office calculation and scientific calculation, and a high-speed buffer memory having a copy of a part of the data in the main memory in the memory controller. Is provided.
演算制御装置が必要とするデータを得るには、まずメ
モリ制御装置内のバッファメモリが索引され、所要デー
タが存在するときには所要データがバッファメモリから
演算制御装置に転送され、存在しないときには主メモリ
装置に対してブロックデータ転送要求が行われ、メモリ
制御装置に所要データを先頭にしたブロックデータが数
回に分けて転送される。メモリ制御装置内では、このブ
ロックデータがバッファメモリに書き込まれると共に先
頭の所要データが演算制御装置に直接転送される。In order to obtain the data required by the arithmetic and control unit, the buffer memory in the memory control unit is first indexed, the required data is transferred from the buffer memory to the arithmetic and control unit when the required data exists, and the main memory unit when it does not exist. A block data transfer request is made to the memory controller, and the block data having the required data at the beginning is transferred to the memory control device several times. In the memory controller, this block data is written in the buffer memory and the required data at the beginning is directly transferred to the arithmetic and control unit.
ここで、演算制御装置が必要とするデータを一括して
得るのに、メモリ制御装置に対してブロックデータ転送
要求(以下、演算制御装置がメモリ制御装置に対して行
うブロックデータ転送要求をブロックリードリクエスト
という。)を行う場合がある。この場合に、従来のデー
タ転送制御方式では、メモリ制御装置内のバッファメモ
リ上に所要データが存在するときにはバッファメモリ上
の所要ブロックデータを複数の区分に分割し、アクセス
されたアドレス上の転送区分データを先頭にして数回に
分けて、演算制御装置に所要ブロックデータのすべてを
転送する。存在しないときには主メモリ装置に対してブ
ロックデータ転送要求を行い、主メモリ装置から読み出
される所要ブロックデータを複数の区分に分割し、アク
セスされたアドレス上の転送区分データを先頭にして数
回に分けてメモリ制御装置に転送する。メモリ制御装置
内では、このブロックデータをバッファメモリに書き込
むと共に、アクセスされたアドレス上の転送区分データ
を先頭にして数回に分けて演算制御装置に対し直接に所
要ブロックデータのすべてを転送するように制御してい
た。Here, in order to collectively obtain the data required by the arithmetic and control unit, a block data transfer request is made to the memory control unit (hereinafter, a block data transfer request made by the arithmetic and control unit to the memory control unit is block read). It may be called a request). In this case, in the conventional data transfer control method, when the required data exists in the buffer memory in the memory control device, the required block data in the buffer memory is divided into a plurality of sections, and the transfer section on the accessed address is divided. All the required block data is transferred to the arithmetic and control unit by dividing the data into several times. If it does not exist, a block data transfer request is issued to the main memory device, the required block data read from the main memory device is divided into multiple sections, and the transfer section data at the accessed address is the first and divided into several times. Transfer to the memory controller. In the memory control unit, write this block data in the buffer memory and transfer all the required block data directly to the arithmetic and control unit in several times starting from the transfer section data on the accessed address. Was in control.
ところで、演算制御装置が必要とするデータを一括し
て得ることを目的にブロックリードリクエストを頻繁に
行う例としてアレイ演算の処理がある。科学技術計算の
分野では、メモリ上に規則正しく配列された大量のアレ
イデータに対して同一の処理を高速で行うことが望まれ
ており、演算制御装置内の演算部に対してデータを高速
に転送する必要があり、演算制御装置は、ブロックリー
ドリクエストによって必要とするデータを一括して読み
出す。By the way, there is an array operation process as an example in which block read requests are frequently made for the purpose of collectively obtaining data required by the operation control device. In the field of scientific and technical computing, it is desired to perform the same processing at high speed on a large amount of array data that is regularly arranged in memory, and the data can be transferred at high speed to the arithmetic unit in the arithmetic and control unit. Therefore, the arithmetic and control unit collectively reads out necessary data by the block read request.
この場合に、上述した従来のデータ転送制御方式で
は、アクセスされたアドレス上の転送区分データを先頭
にして全ブロックデータが転送されることになる。例え
ば1ブロックデータが64バイトである場合は、第4図で
示されるようにこの64バイトのブロックデータが演算制
御装置とメモリ制御装置の間のデータ転送幅で定まるデ
ータ長(この場合は8バイト)ごとに区分され、8回に
分けてブロックデータがすべて演算制御装置に転送され
る。ここで、この64バイトのブロックデータをブロック
境界の先頭からブロック境界の最後までをワード番号0
〜7とし、演算制御装置が必要とするアレイデータがワ
ード番号3のアドレス位置からアドレス増加方向へ連続
にメモリ上に配列されているとすると、演算制御装置が
ブロックリードリクエストにより必要とするアレイデー
タを一括して得ようとする場合は、アレイデータ0に対
応するアドレスでブロックリードリクエストをメモリ制
御装置に送出し、このアレイデータ0がメモリ制御装置
内のバッファメモリ上に存在しているといないとにかか
わらず、従来のデータ転送制御方式では、演算制御装置
に対してアレイデータ0のワード番号3の転送区分デー
タを先頭にしてひきつづきワード番号4〜7(アレイデ
ータ0〜4)、ワード番号0〜2(不要データ)の全ブ
ロックデータを転送する。In this case, in the above-described conventional data transfer control method, all block data is transferred starting with the transfer division data on the accessed address. For example, if one block data is 64 bytes, as shown in FIG. 4, the block data of 64 bytes is determined by the data transfer width between the arithmetic control unit and the memory control unit (in this case, 8 bytes). ), And all block data is transferred to the arithmetic and control unit in eight times. Here, this 64-byte block data is word number 0 from the beginning of the block boundary to the end of the block boundary.
7 and the array data required by the arithmetic and control unit are continuously arranged in the memory from the address position of word number 3 in the address increasing direction, the array data required by the arithmetic and control unit by the block read request. In order to obtain all of the block data at once, a block read request is sent to the memory control device at the address corresponding to the array data 0, and it is not said that this array data 0 exists in the buffer memory in the memory control device. Regardless of the above, in the conventional data transfer control method, the transfer control data of the word number 3 of the array data 0 is set to the head of the operation control device, and subsequently the word numbers 4 to 7 (array data 0 to 4) and the word numbers All block data 0 to 2 (unnecessary data) is transferred.
このときにワード番号0〜2の転送区分データは演算
制御装置が必要としない不要データであり、この不要デ
ータのワード番号0〜2のデータをメモリ制御装置内の
バッファメモリまたは主メモリ装置から読み出して演算
制御装置に転送するために生じる無駄なメモリアクセス
時間の増加や演算制御装置内で必要なデータと不要なデ
ータの切分けをする処理が生じるなどの欠点がある。At this time, the transfer division data of word numbers 0 to 2 is unnecessary data that the arithmetic control unit does not need, and the data of word numbers 0 to 2 of this unnecessary data is read from the buffer memory or the main memory device in the memory control device. However, there are drawbacks such as an increase in wasteful memory access time caused by the transfer to the arithmetic and control unit, and a process of separating necessary data from unnecessary data in the arithmetic and control unit.
さらに、メモリ制御装置内のバッファメモリ上に所要
データが存在せず、主メモリ装置から所要のブロックデ
ータを読み出した場合には、この読み出されたブロック
データはメモリ制御装置内のバッファメモリ上に書き込
まれることになり、この場合に、このブロックデータの
バッファメモリ上への書込みが行われている間は、メモ
リ制御装置内で新たに演算制御装置から送出されるリク
エストの処理が待たされることになる。すなわち、演算
制御装置では引き続いて必要とされるアレイデータ4以
降の連続するアレイデータ(アレイデータ5、6…)を
得るのに連続する次のブロックデータを読み出すブロッ
クリードリクエストを行うことが予想され、この新たな
ブロックリードリクエストの処理が先の不要データを含
むブロックデータをバッファメモリ上に書き込むために
遅らされ、かつバッファメモリの使用効率の低下が生じ
る欠点もある。Furthermore, if the required data does not exist in the buffer memory in the memory controller and the required block data is read from the main memory device, the read block data is stored in the buffer memory in the memory controller. In this case, while the block data is being written to the buffer memory, the processing of the request newly sent from the arithmetic and control unit is kept waiting in the memory control unit. Become. That is, in the arithmetic and control unit, it is expected that a block read request for reading the next continuous block data will be performed in order to continuously obtain the continuous array data after the array data 4 (array data 5, 6, ...). The processing of the new block read request is delayed because the block data including the unnecessary data is written in the buffer memory, and the efficiency of use of the buffer memory is reduced.
本発明は、このような欠点を除去するもので、不要デ
ータを演算制御装置に転送することを禁止してデータ転
送効率を向上させることができるデータ転送制御方法を
提供することを目的とする。The present invention eliminates such drawbacks, and an object of the present invention is to provide a data transfer control method capable of improving the data transfer efficiency by prohibiting transfer of unnecessary data to the arithmetic and control unit.
本発明は、主メモリ装置に記憶されたデータの一部を
ブロック単位に保持するバッファメモリを経由してブロ
ック転送要求を発行した演算制御手段にこのバッファメ
モリに保持されたブロックデータを複数の区分に分割し
た区分のうち要求区分を先頭とする複数個の区分のデー
タを順次転送するデータ転送制御方法において、ブロッ
ク転送要求に係るデータが上記バッファメモリ上にある
ときは、このバッファメモリに格納されている複数の区
分のうち要求区分を先頭としてブロック境界の最後の区
分までのデータを上記演算制御手段に転送し、また、ブ
ロック転送要求が要求するデータが上記バッファメモリ
上にないときは、上記主メモリ装置から要求区分を先頭
としてブロック境界の最後の区分までのデータを読み出
し、上記演算制御手段に転送し、一方、この読み出した
データの上記バッファメモリへの格納を禁止し、ひきつ
づきこの読み出したデータに後続する所定個数のブロッ
ク単位のデータを上記バッファメモリに格納することを
特徴とする。According to the present invention, the block data held in the buffer memory is divided into a plurality of sections by an arithmetic control unit that issues a block transfer request via a buffer memory that holds a part of the data stored in the main memory device in block units. In the data transfer control method of sequentially transferring the data of a plurality of sections having the request section among the sections divided into, when the data related to the block transfer request exists in the buffer memory, it is stored in this buffer memory. The data up to the last division of the block boundary starting from the request division among the plurality of divisions are transferred to the arithmetic control means, and when the data requested by the block transfer request is not in the buffer memory, Read the data from the main memory device up to the last partition on the block boundary starting with the requested partition and Transferred to, whereas prohibits the storage into the buffer memory of the data thus read out, continue to and storing the data in the block unit of a predetermined number of subsequent to the read data in the buffer memory.
演算制御装置が必要とするデータがブロック境界の途
中から連続的に配置されていて、この必要とするデータ
を一括して得るときに、必要とするデータの先頭からブ
ロック境界の最後のデータの転送までを行い以降のデー
タの転送を打ち切る。また、メモリ制御装置内のバッフ
ァメモリ上に所要データが存在せず主メモリ装置から所
要のブロックデータを読み出すときに、この不要データ
を含むブロックデータをバッファメモリに書き込むこと
を禁止し、所要データからブロック境界の最後のデータ
までの転送にひきつづいて連続するnブロックのデータ
をバッファメモリに格納する。When the data required by the arithmetic and control unit is continuously arranged from the middle of the block boundary and the required data is obtained collectively, the transfer of the data from the beginning of the required data to the end of the block boundary And the subsequent data transfer is terminated. In addition, when the required data does not exist in the buffer memory in the memory control device and the required block data is read from the main memory device, it is prohibited to write the block data including the unnecessary data in the buffer memory, and Following the transfer up to the last data on the block boundary, consecutive n blocks of data are stored in the buffer memory.
以下、本発明実施例を図面に基づき説明する。第1図
は、本発明の実施例方式の構成を示すブロック構成図で
ある。第2図は、本発明の実施例方式での各種メモリの
メモリデータ形式を示す概念図である。第2図で若いア
ドレスが左側に位置し、ワード番号0〜15は8バイトご
とのワード識別を示す。64バイト境界はアドレスが64で
割り切れるアドレス位置を示す。128バイト境界も同様
にアドレスが128で割り切れるアドレス位置を示す。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an embodiment system of the present invention. FIG. 2 is a conceptual diagram showing a memory data format of various memories in the embodiment system of the present invention. In FIG. 2, the young address is located on the left side, and word numbers 0 to 15 indicate word identification every 8 bytes. A 64-byte boundary indicates an address position where the address is divisible by 64. Similarly, a 128-byte boundary indicates an address position where the address is divisible by 128.
まず、この実施例方式の構成を第1図に基づき説明す
る。この実施例方式は、主メモリ装置1と、メモリ制御
装置2と、演算制御装置3とを備える。ここで、主メモ
リ装置1は、命令語やオペランドデータ等を記憶するメ
モリ部10と、メモリ制御装置2から送出されるメモリ部
10をアクセスするアドレスを保持するアドレスレジスタ
11と、メモリ部10から読み出されたデータを保持するデ
ータレジスタ12と、データレジスタ12に読み出されたデ
ータのメモリ制御装置2へのデータ送出順序を選択する
データ選択回路13とを備える。First, the configuration of this embodiment system will be described with reference to FIG. This embodiment system includes a main memory device 1, a memory control device 2, and an arithmetic control device 3. Here, the main memory device 1 includes a memory unit 10 that stores instruction words, operand data, and the like, and a memory unit that is sent from the memory control device 2.
Address register holding the address to access 10
11, a data register 12 that holds the data read from the memory unit 10, and a data selection circuit 13 that selects the data transmission order of the data read to the data register 12 to the memory control device 2.
第3図は第1図中のアドレスレジスタ11の構成例であ
る。第3図の例では0ビット目を指示ビットとして用
い、1ビット目以降をアドレスデータとして使用してい
る。この実施例方式では、0ビット目の指示ビットは通
常のリクエストでは常に「0」に設定され、本発明の特
徴的な動作、すなわち、メモリ部10からのブロックデー
タの読出しに際してアドレスレジスタ11の1ビット目以
降で示されるアドレス上のデータからブロック境界の最
後のデータまでを読み出し、残りのブロック内データの
読出しを抑止して引き続いて連続するnブロックデータ
(本実施例ではn=1)の読出しを行う動作を指示する
ときに「1」が設定される。FIG. 3 shows a configuration example of the address register 11 in FIG. In the example of FIG. 3, the 0th bit is used as an instruction bit and the 1st bit and subsequent bits are used as address data. In the system of this embodiment, the 0th instruction bit is always set to "0" in a normal request, and the characteristic operation of the present invention, that is, 1 in the address register 11 at the time of reading block data from the memory unit 10. The data from the address indicated by the bit and subsequent bits to the last data on the block boundary are read, the reading of the remaining data in the block is suppressed, and the subsequent n block data (n = 1 in this embodiment) is read. "1" is set when instructing the operation of performing.
次に、メモリ制御装置2は、主メモリ装置1内のメモ
リ部10から読み出されたデータの一部を保持するバッフ
ァメモリ20と、演算制御装置3によって指示される各種
のリクエストを処理するリクエスト処理回路21と、主メ
モリ装置1から送出されるデータを保持するデータレジ
スタ22と、データレジスタ22の前半のデータと後半のデ
ータとを選択するデータ選択回路23と、バッファメモリ
20から読み出されたデータとデータ選択回路23で選択さ
れたデータとを選択するデータ選択回路24と、演算制御
装置3が必要とするデータのメモリアドレスと、そのリ
クエストの内容を指示するリクエスト指定部とをそれぞ
れ保持するリクエストアドレス受レジスタ25およびリク
エスト指定部受レジスタ26とを備える。演算制御装置3
は図示されてはいないが公知の演算制御装置と同様の構
成であり、主メモリ装置からデータを読み出す必要のあ
る装置例えば入出力装置なども備えている。また、主メ
モリ装置1、メモリ制御装置2、および演算制御装置3
の間はインタフェース線100〜104で接続される。Next, the memory control device 2 holds a buffer memory 20 for holding a part of the data read from the memory unit 10 in the main memory device 1, and a request for processing various requests instructed by the arithmetic and control unit 3. A processing circuit 21, a data register 22 for holding data sent from the main memory device 1, a data selection circuit 23 for selecting the first half data and the second half data of the data register 22, and a buffer memory.
A data selection circuit 24 for selecting the data read from 20 and the data selected by the data selection circuit 23, a memory address of the data required by the arithmetic and control unit 3, and a request designation for instructing the content of the request. A request address receiving register 25 and a request designating unit receiving register 26, which respectively hold a section and a section. Arithmetic control device 3
Although not shown in the figure, it has the same configuration as that of a known arithmetic and control unit, and is also provided with a unit such as an input / output unit that needs to read data from the main memory unit. In addition, the main memory device 1, the memory control device 2, and the arithmetic control device 3
Are connected by interface lines 100 to 104.
次に、この実施例装置の動作を第1図ないし第4図に
基づき説明する。Next, the operation of the apparatus of this embodiment will be described with reference to FIGS.
まず、主メモリ装置1からメモリ制御装置2へのデー
タ転送パス101のデータ幅は16バイトとし、メモリ制御
装置2から演算制御装置3へのデータ転送パス104のデ
ータ幅は8バイトとし、バッファメモリ20のブロックサ
イズは64バイトとし、メモリ部10のブロックサイズは12
8バイトとする。すなわち、バッファメモリ20およびメ
モリ部10からのブロックデータの転送時での1ブロック
分のデータは、それぞれ、バッファメモリ20では64バイ
ト境界からの64バイトデータであり、メモリ部10では12
8バイト境界からの128バイトデータとなる。また、主メ
モリ装置1の回路素子はメモリ制御装置2および演算制
御装置3の回路素子より低速であり、そのマシンサイク
ルタイムは2倍に設定されている。すなわち、メモリ制
御装置2からみて主メモリ装置1からのデータ転送は2
マシンサイクルで16バイトの割合である。First, the data width of the data transfer path 101 from the main memory device 1 to the memory control device 2 is 16 bytes, and the data width of the data transfer path 104 from the memory control device 2 to the arithmetic and control device 3 is 8 bytes. The block size of 20 is 64 bytes, and the block size of the memory unit 10 is 12 bytes.
8 bytes. That is, the data for one block at the time of transferring the block data from the buffer memory 20 and the memory unit 10 is 64 bytes data from the 64-byte boundary in the buffer memory 20 and 12 bytes in the memory unit 10, respectively.
128-byte data from 8-byte boundary. Further, the circuit element of the main memory device 1 is slower than the circuit elements of the memory control device 2 and the arithmetic control device 3, and its machine cycle time is set to double. That is, the data transfer from the main memory device 1 is 2 when viewed from the memory control device 2.
16 bytes per machine cycle.
さて、演算制御装置3で命令の取出しまたはオペラン
ドの取出しの必要が生じ、メモリ制御装置2にメモリリ
クエストが送出されるとする。ここで、演算制御装置3
が必要とするデータを含むブロックデータを一括して得
る目的で通常のブロックリクエストを送出する場合につ
いて述べる。演算制御装置3は所要データのメモリアド
レスおよび通常のブロックリードリクエストを指定する
リクエスト指定部をメモリ制御装置2へ送出し、それぞ
れの内容はリクエストアドレス受レジスタ25とリクエス
ト指定部受レジスタ26にそれぞれセットされる。次に、
リクエストアドレス受レジスタ25およびリクエスト指定
部受レジスタ26の内容はリクエスト処理回路21に伝えら
れる。所要データのメモリアドレスと通常のブロックリ
ードリクエストを指定するリクエスト指定部の内容を受
けたリクエスト処理回路21は、まず所要データのメモリ
アドレスでバッファメモリ20を索引する。バッファメモ
リ20に所要データが存在する場合はその所要データが読
み出され、ひきつづきブロックデータが順次読み出され
る。すなわち、64バイトのブロックデータが8バイトご
との8つの転送区分データに分割され、8バイトの所要
データを先頭とした8つの転送区分データが順次読み出
され、データ選択回路24を通して演算制御装置3へ送出
される。Now, it is assumed that the arithmetic and control unit 3 needs to fetch an instruction or an operand and sends a memory request to the memory control unit 2. Here, the arithmetic and control unit 3
A case where a normal block request is transmitted for the purpose of collectively obtaining block data including data required by the above will be described. The arithmetic and control unit 3 sends a memory address of the required data and a request designation section for designating a normal block read request to the memory control unit 2, and the contents of each are set in the request address receiving register 25 and the request designation section receiving register 26, respectively. To be done. next,
The contents of the request address receiving register 25 and the request designation unit receiving register 26 are transmitted to the request processing circuit 21. The request processing circuit 21, which has received the memory address of the required data and the contents of the request designating section for designating a normal block read request, first indexes the buffer memory 20 with the memory address of the required data. When the required data exists in the buffer memory 20, the required data is read out, and subsequently the block data is sequentially read out. That is, the block data of 64 bytes is divided into eight transfer section data of every 8 bytes, the eight transfer section data starting from the required data of 8 bytes are sequentially read out, and the arithmetic and control unit 3 is operated through the data selection circuit 24. Sent to.
バッファメモリ20に所要データが存在しない場合は、
リクエスト処理回路21は所要データのメモリアドレスと
共に主メモリ装置1にブロックデータ転送要求を送出
し、所要データのメモリアドレスはアドレスレジスタ11
の1ビット目以降にセットされる。このときに、リクエ
スト処理回路21は同時にアドレスレジスタ11の0ビット
目の指示ビットを「0」に設定する。主メモリ装置1で
は、メモリ部10からアドレスレジスタ11の1ビット目以
降で示されるメモリアドレス上の所要データを含む128
バイト境界からの128バイトデータが読み出され、デー
タレジスタ12に設定される。データレジスタ12に読み出
されたブロックデータはデータ選択回路13を経由して16
バイトごとに8回に分けてメモリ制御装置2に送出され
る。If the required data does not exist in the buffer memory 20,
The request processing circuit 21 sends a block data transfer request to the main memory device 1 together with the memory address of the required data, and the memory address of the required data is stored in the address register 11.
It is set in the first bit and after. At this time, the request processing circuit 21 simultaneously sets the 0th instruction bit of the address register 11 to "0". In the main memory device 1, 128 including the required data on the memory address indicated by the first and subsequent bits of the address register 11 from the memory unit 10
128-byte data is read from the byte boundary and set in the data register 12. The block data read out to the data register 12 is passed through the data selection circuit 13 to 16
It is sent to the memory control device 2 in 8 times for each byte.
ところで、このときの128バイトのブロックデータの
メモリ制御装置2へのデータ転送順序は、例えば演算制
御装置3からの所要データのメモリアドレスがワード番
号3に対応する位置を示していたとすると、まずワード
番号3〜7、0〜2の順で前半の64バイトのデータ転送
が行われ、ひきつづいてワード番号8〜15の順で後半の
64バイトのデータ転送が行われる。すなわち、送出順序
は、先頭は所要データのワード番号3および4であり、
2番目はワード番号5および6、3番目はワード番号7
および0、4番目はワード番号1および2であり、5番
目から8番目についてはワード番号8からワード番号15
までが2ワードずつの組で順に送出される。このような
順序でメモリ部10からのブロックデータをメモリ制御装
置2に送出する。メモリ制御装置2は演算制御装置1で
要求された所要データを含む64バイトのブロックデータ
を演算制御装置1へ時間損失なく送出することが可能に
なる。また、演算制御装置1で要求された64バイトのデ
ータにひきつづいてさらに連続する64バイトのデータを
メモリ制御装置2に送出することで、後続のアクセスで
必要となる確立の高いデータをあらかじめバッファメモ
リ20に取り込むことが可能になる。By the way, the data transfer order of the 128-byte block data to the memory control device 2 at this time is, for example, if the memory address of the required data from the operation control device 3 indicates the position corresponding to the word number 3, first the word The first 64 bytes of data are transferred in the order of numbers 3 to 7 and 0 to 2, followed by the word numbers 8 to 15 in the latter half.
64-byte data transfer is performed. That is, in the transmission order, the heads are word numbers 3 and 4 of the required data,
The second is word number 5 and 6, the third is word number 7
And 0, 4th are word numbers 1 and 2, and 5th to 8th are word numbers 8 to 15
Are sequentially transmitted in groups of two words. The block data from the memory unit 10 is sent to the memory control device 2 in this order. The memory control device 2 can send the 64-byte block data including the required data requested by the arithmetic and control unit 1 to the arithmetic and control unit 1 without time loss. Further, by sending the continuous 64-byte data to the memory control device 2 following the 64-byte data requested by the arithmetic and control unit 1, highly established data required for the subsequent access is previously stored in the buffer memory. It becomes possible to take in 20.
さて、メモリ制御装置2では、主メモリ装置1から送
出されたきた各16バイトのデータがデータレジスタ22に
セットされ、前半8バイト、後半8バイトの順にデータ
選択回路23で選択され、先頭の64バイトのデータは、デ
ータ選択回路24を経由して演算制御装置3へ直接送出さ
れるとともに、バッファメモリ20に書き込まれる。主メ
モリ装置1から送出されてきた後半64バイトのデータ
は、演算制御装置3には送出されずにバッファメモリ20
への書込みが行われる。以上が通常のブロックリードリ
クエストの動作である。In the memory control device 2, each 16-byte data sent from the main memory device 1 is set in the data register 22 and selected by the data selection circuit 23 in the order of the first 8 bytes and the second 8 bytes, and the first 64 bytes are selected. The byte data is directly sent to the arithmetic and control unit 3 via the data selection circuit 24 and is written in the buffer memory 20. The latter 64 bytes of data sent from the main memory device 1 are not sent to the arithmetic and control unit 3 and are stored in the buffer memory 20.
Is written to. The above is the operation of a normal block read request.
次に、本発明のデータ転送制御方式の特徴的な動作を
述べる。ここで、演算制御装置3がアレイデータ処理を
行い、必要とするアレイデータが第4図のようにワード
番号3のアドレス位置からアドレス増加方向へ連続にメ
モリ上に配列されているとする。演算制御装置3はアレ
イデータの高速処理を行うためにアレイデータの先行フ
ェッチを行う目的でメモリ制御装置2に対してブロック
リードリクエストの送出を行う。この場合に、前述した
通常のブロックリードリクエストを送出すると、必要と
するワード番号3〜7までのデータの他にワード番号0
〜2までの不要データが演算制御装置3に転送されるの
で、不要データの読出しと転送による無駄なメモリアク
セス時間の増加や演算制御装置3内で必要なデータと不
要なデータの切分けをする処理が生じる。そこで、演算
制御装置3はブロック境界でデータ転送を打ち切ること
を指示するブロックリードリクエスト(以下、ブロック
境界ブロックリードリクエストという。)を送出する。
すなわち、演算制御装置3はアレイデータ0を示すメモ
リアドレスとブロック境界ブロックリードリクエストを
指定するリクエスト指定部をメモリ制御装置2へ送出
し、このメモリアドレスとリクエスト指定部はリクエス
トアドレス受レジスタ25とリクエスト指定部受レジスタ
26にそれぞれセットされる。リクエストアドレス受レジ
スタ25とリクエスト指定部受レジスタ26の内容はリクエ
スト処理回路21に伝えられ、リクエスト処理回路21は受
け取ったメモリアドレスでまずバッファメモリ20を索引
する。バッファメモリ20に所要データが存在する場合
は、その所要データが読み出され、ひきつづきブロック
データが順次読み出される。このときに、リクエスト処
理回路21は、受理したブロック境界ブロックリードリク
エストを指定するリクエスト指定部の指示に従って、64
バイトのブロックデータの内の8バイトの所要データを
先頭としてブロック境界の最後の転送区分データまでを
読み出し、以降の転送区分データの読出しを抑止する制
御を行う。この例の場合では、アレイデータ0〜4に対
応するワード番号3〜7までの転送区分データまでが読
み出され、以降の不要データであるワード番号0〜2ま
での転送区分データは読み出されない。バッファメモリ
20から読み出されたこれらのワード番号3〜7までの転
送区分データすなわちアレイデータ0〜4はデータ選択
回路24を経由して演算制御装置3へ送出される。Next, the characteristic operation of the data transfer control system of the present invention will be described. Here, it is assumed that the arithmetic and control unit 3 performs the array data processing, and the required array data is continuously arranged in the memory from the address position of the word number 3 in the address increasing direction as shown in FIG. The arithmetic and control unit 3 sends a block read request to the memory control unit 2 for the purpose of prefetching array data in order to perform high-speed processing of array data. In this case, if the above-mentioned normal block read request is sent out, in addition to the required data of word numbers 3 to 7, word number 0
Since unnecessary data up to 2 is transferred to the arithmetic and control unit 3, unnecessary memory access time is increased by reading and transferring the unnecessary data, and necessary and unnecessary data are separated in the arithmetic and control unit 3. Processing occurs. Therefore, the arithmetic and control unit 3 sends a block read request (hereinafter referred to as a block boundary block read request) instructing to terminate the data transfer at the block boundary.
That is, the arithmetic and control unit 3 sends a memory address indicating array data 0 and a request designating section for designating a block boundary block read request to the memory control unit 2, and the memory address and request designating section use the request address receiving register 25 and the request. Designated register
Set to 26 each. The contents of the request address receiving register 25 and the request designating unit receiving register 26 are transmitted to the request processing circuit 21, and the request processing circuit 21 first indexes the buffer memory 20 with the received memory address. When the required data exists in the buffer memory 20, the required data is read out, and subsequently the block data is sequentially read out. At this time, the request processing circuit 21 follows the instruction of the request designation unit that designates the received block boundary block read request,
Control is performed to read out the transfer section data up to the last transfer section data on the block boundary starting from the required data of 8 bytes out of the byte block data, and suppressing the subsequent reading of the transfer section data. In the case of this example, the transfer section data up to the word numbers 3 to 7 corresponding to the array data 0 to 4 is read out, and the transfer section data up to the word numbers 0 to 2 which is unnecessary data thereafter is not read out. . Buffer memory
The transfer section data of the word numbers 3 to 7, that is, the array data 0 to 4 read out from 20, is sent to the arithmetic and control unit 3 via the data selection circuit 24.
バッファメモリ20に所要データが存在しない場合に
は、リクエスト処理回路21は所要データのメモリアドレ
スと共に主メモリ装置1にブロックデータ転送要求を送
出し、所要データのメモリアドレスはアドレスレジスタ
11の1ビット目以降にセットされる。このときに、リク
エスト処理回路21は同時にアドレスレジスタ11の0ビッ
ト目の指示ビットを「1」に設定する。主メモリ装置1
では、メモリ部10からアドレスレジスタ11の1ビット目
以降で示されるメモリアドレス上の所要データを含む12
8バイト境界からの128バイトデータが読み出され、デー
タレジスタ12に設定される。メモリ制御装置2へのデー
タ転送は、まずメモリ制御装置2によって期待される所
要データを先頭としてバッファメモリ20のブロックサイ
ズで定まるブロック境界の最後のデータまでの転送が行
われる。すなわち、データレジスタ12に読み出された12
8バイトのデータの前半64バイトのデータの内のワード
番号3と4、ワード番号5と6、ワード番号7と0の各
16バイトのデータが順次データ選択回路13で選択され、
メモリ制御装置2へ送出される。不要データのみのワー
ド番号1と2のデータのデータレジスタ12からの読出し
は行われず、メモリ制御装置2への送出も行われない。
また、演算制御装置3が必要とするデータはワード番号
3〜7のデータであるので、本実施例のようにワード番
号7のデータと組になるデータが不要データとなる場合
は、そのデータはどのようなデータであっても構わな
い。メモリ制御装置2では、主メモリ装置1から送出さ
れてきた各16バイトのデータがデータレジスタ22にセッ
トされ、前半8バイト、後半8バイトの順にデータ選択
回路23で選択される。演算制御装置3へのデータ転送
は、ブロック境界ブロックリードリクエストを指定する
リクエスト指定部の指示に従ったリクエスト処理回路21
の制御に基づき所要データを先頭としたブロック境界の
最後の転送区分データすなわちワード番号3〜7(アレ
イデータ0〜4)までの転送区分データのみがデータ選
択回路24を経由して演算制御装置3へ送出され、ワード
番号7のデータ(アレイデータ4)とともに送出されて
きた不要データ(本実施例ではワード番号0のデータ)
は送出されない。また、バッファメモリ20内のデータは
1ブロックデータ単位ごとに管理されており、この主メ
モリ装置1から送出されてきたデータは1ブロックデー
タに満たないので、リクエスト処理回路21の制御によっ
てバッファメモリ20への書込みは抑止される。主メモリ
装置1でデータレジスタ12からの前半64バイトデータ中
のワード番号7のデータ(アレイデータ4)の読出しが
終了すると、ひきつづいて演算制御装置3が要求したブ
ロックデータに連続する次のブロックデータに対応する
ブロックデータであるデータレジスタ12中の後半64バイ
トのデータがワード番号8と9、ワード番号10と11、ワ
ード番号12と13、ワード番号14と15の各16バイトごとの
データとして順次データ選択回路13で選択されてメモリ
制御装置2へ送出される(n=1)。この後半64バイト
のデータは通常のブロックリードリクエストの場合と同
様に演算制御装置3には送出されずにバッファメモリ20
への書込みのみが行われ、演算制御装置3がひきつづい
てアレイデータ4以降の連続するアレイデータ(アレイ
データ5、6…)を必要とする場合には、バッファメモ
リ20から高速に必要データを供給することが可能にな
る。When the required data does not exist in the buffer memory 20, the request processing circuit 21 sends a block data transfer request to the main memory device 1 together with the memory address of the required data, and the memory address of the required data is the address register.
It is set after the 1st bit of 11. At this time, the request processing circuit 21 simultaneously sets the 0th instruction bit of the address register 11 to "1". Main memory device 1
Then, from the memory section 10 to the required data on the memory address indicated by the first bit and subsequent bits of the address register 11
128-byte data is read from the 8-byte boundary and set in the data register 12. In the data transfer to the memory control device 2, first, the required data expected by the memory control device 2 is transferred to the top, and the data is transferred to the last data on the block boundary determined by the block size of the buffer memory 20. In other words, the 12 read out to the data register 12
Each of word numbers 3 and 4, word numbers 5 and 6, and word numbers 7 and 0 in the first 64 bytes of 8-byte data
16 bytes of data are sequentially selected by the data selection circuit 13,
It is sent to the memory control device 2. The data of word numbers 1 and 2 containing only unnecessary data is not read from the data register 12 and is not sent to the memory control device 2.
Further, since the data required by the arithmetic and control unit 3 is the data of word numbers 3 to 7, when the data paired with the data of word number 7 becomes unnecessary data as in this embodiment, the data is Any data may be used. In the memory control device 2, each 16-byte data sent from the main memory device 1 is set in the data register 22 and is selected by the data selection circuit 23 in the order of the first half 8 bytes and the second half 8 bytes. The data transfer to the arithmetic and control unit 3 is performed by the request processing circuit 21 according to the instruction of the request designating unit designating the block boundary block read request.
Based on the control of 1., only the last transfer section data on the block boundary starting with the required data, that is, the transfer section data up to word numbers 3 to 7 (array data 0 to 4) is passed through the data selection circuit 24 and the arithmetic and control unit 3 Unnecessary data (data of word number 0 in the present embodiment) sent together with the data of word number 7 (array data 4).
Is not sent. The data in the buffer memory 20 is managed in units of one block data, and the data sent from the main memory device 1 is less than one block data. Therefore, the buffer memory 20 is controlled by the request processing circuit 21. Writing to is prohibited. When the main memory device 1 finishes reading the data of the word number 7 (array data 4) in the first half 64-byte data from the data register 12, the next block data following the block data requested by the arithmetic and control unit 3 continues. The latter half 64 bytes of data in the data register 12, which is the block data corresponding to, are sequentially arranged as 16-byte data of word numbers 8 and 9, word numbers 10 and 11, word numbers 12 and 13, and word numbers 14 and 15. It is selected by the data selection circuit 13 and sent to the memory control device 2 (n = 1). The latter 64 bytes of data are not sent to the arithmetic and control unit 3 as in the case of a normal block read request, and the buffer memory 20
When only the data is written to and the arithmetic and control unit 3 continuously requires the continuous array data after the array data 4 (array data 5, 6, ...), the necessary data is supplied at high speed from the buffer memory 20. It becomes possible to do.
以上が本発明のデータ転送制御方式のn=1の場合の
ブロック境界ブロックリードリクエストの動作であり、
演算制御装置3へは演算制御装置3が必要とするアレイ
データ0〜4のみが送出される。The above is the operation of the block boundary block read request when n = 1 in the data transfer control method of the present invention.
Only the array data 0 to 4 required by the arithmetic and control unit 3 are sent to the arithmetic and control unit 3.
以上は演算制御装置3が必要とするデータの先頭がワ
ード番号3に対応していたときの場合であるが、例えば
演算制御装置3が必要とするデータの先頭がワード番号
14に対応していた場合には、ブロック境界ブロックリー
ドリクエストによる主メモリ装置1からのメモリ制御装
置2へのデータ転送はワード番号14および15の16バイト
のデータのみが行われ、残りのワード番号0〜13の不要
データの転送は行われない。この場合は、n=0に対応
する。The above is the case where the head of the data required by the arithmetic and control unit 3 corresponds to the word number 3. For example, the head of the data required by the arithmetic and control unit 3 is the word number.
If it corresponds to 14, the data transfer from the main memory device 1 to the memory control device 2 by the block boundary block read request is performed only for the 16-byte data of word numbers 14 and 15 and the remaining word numbers. The unnecessary data of 0 to 13 is not transferred. This case corresponds to n = 0.
nの値は用いられるデータ処理装置の構成によって定
まり、本実施例の構成ではn=0とn=1の場合に対応
する。また、n≧2の場合を行うには、メモリ部10より
所望の回数だけブロックデータを読み出してバッファメ
モリ20へ書き込むようにすればよい。The value of n is determined by the configuration of the data processing device used, and the configuration of this embodiment corresponds to the case of n = 0 and n = 1. To perform the case of n ≧ 2, block data may be read from the memory unit 10 a desired number of times and written to the buffer memory 20.
本発明は、以上説明したように、演算制御装置が必要
とするデータがブロック境界の途中から連続的に配置さ
れているデータの処理を行う場合に、例えばアレイデー
タの処理などを行う場合に、演算制御装置が必要とする
データを一括して得ようとして用いるブロックリードリ
クエストに対して、必要とするデータの先頭からブロッ
ク境界の最後のデータまでをバッファメモリまたは主メ
モリ装置から読み出して演算制御装置へ転送する機能が
付加されているので、不要データをバッファメモリまた
は主メモリ装置から読み出して演算制御装置に転送する
のに生じる無駄なアクセス時間および演算制御装置内で
必要なデータと不要なデータの切分けに生じる無駄な処
理等の削減を行うことができる効果がある。The present invention, as described above, when processing data in which data required by the arithmetic and control unit is continuously arranged from the middle of a block boundary, for example, when processing array data, In response to a block read request used to collectively obtain data required by the arithmetic and control unit, the arithmetic and control unit is read from the beginning of the required data to the last data of the block boundary from the buffer memory or the main memory unit. Since the function to transfer to the arithmetic and control unit is added, the unnecessary access time that occurs when the unnecessary data is read from the buffer memory or the main memory unit and transferred to the arithmetic and control unit and the data necessary and unnecessary in the arithmetic and control unit There is an effect that it is possible to reduce unnecessary processing and the like that occur in the division.
さらに、メモリ制御装置内のバッファメモリ上に所要
データが存在せず主メモリ装置から所要データを読み出
す必要が生じた場合には、所要データからブロック境界
の最後のデータまでの転送の終了に引き続いて即座に連
続するnブロックのデータをバッファメモリに格納する
ので、演算制御装置で引き続いて使用される確率の高い
データのリードリクエストに速やかに対応できる効果も
ある。Further, if the required data does not exist in the buffer memory in the memory control device and it is necessary to read the required data from the main memory device, following the end of the transfer from the required data to the last data on the block boundary, Since immediately consecutive n blocks of data are stored in the buffer memory, there is an effect that a read request for data that has a high probability of being continuously used by the arithmetic and control unit can be promptly dealt with.
第1図は本発明実施例方式の構成を示すブロック構成
図。 第2図はメモリデータ形式を示す概念図。 第3図は第1図に示すアドレスレジスタ11の構成図。 第4図はアレイデータの配列図。 1……主メモリ装置、2……メモリ制御装置、3……演
算制御装置、10……メモリ部、11……アドレスレジス
タ、12、22……データレジスタ、13、23、24……データ
選択回路、20……バッファメモリ、21……リクエスト処
理回路、25……リクエストアドレス受レジスタ、26……
リクエスト指定部受レジスタ。FIG. 1 is a block configuration diagram showing the configuration of an embodiment system of the present invention. FIG. 2 is a conceptual diagram showing a memory data format. FIG. 3 is a block diagram of the address register 11 shown in FIG. FIG. 4 is an array diagram of array data. 1 ... Main memory device, 2 ... Memory control device, 3 ... Arithmetic control device, 10 ... Memory unit, 11 ... Address register, 12, 22 ... Data register, 13, 23, 24 ... Data selection Circuit, 20 …… Buffer memory, 21 …… Request processing circuit, 25 …… Request address receiving register, 26 ……
Request specification block receiving register.
Claims (1)
ブロック単位に保持するバッファメモリを経由してブロ
ック転送要求を発行した演算制御手段にこのバッファメ
モリに保持されたブロックデータを複数の区分に分割し
た区分のうち要求区分を先頭とする複数個の区分のデー
タを順次転送するデータ転送制御方法において、 ブロック転送要求に係るデータが上記バッファメモリ上
にあるときは、このバッファメモリに格納されている複
数の区分のうち要求区分を先頭としてブロック境界の最
後の区分までのデータを上記演算制御手段に転送し、ま
た、ブロック転送要求が要求するデータが上記バッファ
メモリ上にないときは、上記主メモリ装置から要求区分
を先頭としてブロック境界の最後の区分までのデータを
読み出し、上記演算制御手段に転送し、一方、この読み
出したデータの上記バッファメモリへの格納を禁止し、
ひきつづきこの読み出したデータに後続する所定個数の
ブロック単位のデータを上記バッファメモリに格納する ことを特徴とするデータ転送制御方法。1. A plurality of block data held in the buffer memory is sent to an arithmetic control unit that issues a block transfer request via a buffer memory that holds a part of data stored in a main memory device in block units. In the data transfer control method for sequentially transferring the data of a plurality of sections having the request section among the sections divided into sections, when the data related to the block transfer request is in the buffer memory, the data is stored in this buffer memory. Data is transferred to the operation control means from the request section to the last section of the block boundary among the plurality of sections being provided, and when the data requested by the block transfer request is not on the buffer memory, Data from the main memory device up to the last division of the block boundary starting from the request division is read out, and the arithmetic control is performed. Means for transferring the read data to the buffer memory,
A data transfer control method, characterized in that a predetermined number of block units of data following the read data are stored in the buffer memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62051593A JP2540844B2 (en) | 1987-03-06 | 1987-03-06 | Data transfer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62051593A JP2540844B2 (en) | 1987-03-06 | 1987-03-06 | Data transfer control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63217459A JPS63217459A (en) | 1988-09-09 |
JP2540844B2 true JP2540844B2 (en) | 1996-10-09 |
Family
ID=12891209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62051593A Expired - Lifetime JP2540844B2 (en) | 1987-03-06 | 1987-03-06 | Data transfer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2540844B2 (en) |
-
1987
- 1987-03-06 JP JP62051593A patent/JP2540844B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63217459A (en) | 1988-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0054888B1 (en) | Data-processing system with main and buffer storage control | |
JPH07113903B2 (en) | Cache storage control method | |
US5201040A (en) | Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor | |
JP2714952B2 (en) | Computer system | |
JPH04314163A (en) | Buffer managing system | |
US4639862A (en) | Computer system | |
US4646230A (en) | Data transfer control system | |
EP0036483B1 (en) | Information transfer between a main storage and a cyclic bulk memory in a data processing system | |
JP2540844B2 (en) | Data transfer control method | |
US5506980A (en) | Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory | |
JPS63167944A (en) | Data transfer control method | |
JPS6145269B2 (en) | ||
JPS63196961A (en) | Data transfer controlling method | |
JPS63167943A (en) | Data transfer control method | |
JP2553756B2 (en) | Information processing device | |
JPH0246967B2 (en) | ||
JPH0833869B2 (en) | Data processing device | |
JPH10222460A (en) | Data transfer controller | |
JP2576589B2 (en) | Virtual storage access control method | |
JPS63259746A (en) | Inter-bank-memory data transmission system | |
JPS6336021B2 (en) | ||
JPS59157886A (en) | Memory control system | |
JPH055134B2 (en) | ||
JPS6136666B2 (en) | ||
JPS6243746A (en) | Data control system with tag |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |