JP3490502B2 - Memory controller - Google Patents

Memory controller

Info

Publication number
JP3490502B2
JP3490502B2 JP17997594A JP17997594A JP3490502B2 JP 3490502 B2 JP3490502 B2 JP 3490502B2 JP 17997594 A JP17997594 A JP 17997594A JP 17997594 A JP17997594 A JP 17997594A JP 3490502 B2 JP3490502 B2 JP 3490502B2
Authority
JP
Japan
Prior art keywords
data
transfer
memory
address
movement
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 - Fee Related
Application number
JP17997594A
Other languages
Japanese (ja)
Other versions
JPH0844614A (en
Inventor
浩司 豊西
哲哉 森岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17997594A priority Critical patent/JP3490502B2/en
Publication of JPH0844614A publication Critical patent/JPH0844614A/en
Application granted granted Critical
Publication of JP3490502B2 publication Critical patent/JP3490502B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、主記憶装置や中央処理
装置(CPU)に組み込まれたバッファメモリや主記憶
装置に代表されるメモリ装置に対するアクセスを制御す
るメモリ制御装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control device for controlling access to a memory device represented by a buffer memory incorporated in a main memory or a central processing unit (CPU) or a main memory.

【0002】データ処理装置における処理を進める上
で、メモリ装置内でデータを1領域から他の領域に移動
する処理が頻繁に行われる。このようなメモリ装置内で
データの移動を指示する移動命令は、メモリから該当す
るデータを所定の転送単位ごとに(例えば8バイト)読
み出して読出レジスタに保持するフェッチフローと、こ
の読出レジスタに保持されたデータを書き込みレジスタ
に移してメモリに書き込むストアフローとを、指示され
た移動量に応じて繰り返すことによって処理される。
In the process of a data processing device, a process of moving data from one area to another area is frequently performed in a memory device. A move instruction for moving data in such a memory device includes a fetch flow for reading corresponding data from the memory for each predetermined transfer unit (for example, 8 bytes) and holding it in a read register, and a hold flow for this read register. The stored flow for transferring the stored data to the write register and writing it to the memory is repeated according to the instructed movement amount, thereby performing processing.

【0003】プログラムの作り方によっても異なるが、
複雑な計算処理を進める上で、移動命令がプログラム中
に出現する頻度は非常に高いため、移動命令の処理速度
は、データ処理装置の性能を大きく左右する要素となっ
ている。
Depending on how the program is made,
Since the frequency of movement instructions appearing in a program is very high when performing complicated calculation processing, the processing speed of movement instructions is a factor that greatly affects the performance of the data processing device.

【0004】このため、メモリ装置内において、データ
の移動処理を高速化するための技術が必要とされてい
る。
Therefore, there is a need for a technique for accelerating the data movement process in the memory device.

【0005】[0005]

【従来の技術】図9に、従来のバッファメモリを組み込
んだ中央処理装置の構成例を示す。また、図10に、従
来の中央処理装置におけるデータ移動処理を説明する図
を示す。
2. Description of the Related Art FIG. 9 shows a configuration example of a conventional central processing unit incorporating a buffer memory. Further, FIG. 10 shows a diagram for explaining a data movement process in a conventional central processing unit.

【0006】図9において、バッファメモリ201は、
それぞれ1転送単位(例えば8バイト)の容量を持つ2
つのフェッチデータレジスタ(FCDR)202a,202b
と、それぞれが8バイトの容量を持つ2つのバッファス
トアワードレジスタ(BSWR)203a,203bを備えて
構成されており、このバッファメモリ201へのアクセ
ス単位は、2転送単位(すなわち16バイト)となって
いる。
In FIG. 9, the buffer memory 201 is
2 each with a capacity of 1 transfer unit (eg 8 bytes)
Fetch data registers (FCDR) 202a, 202b
And two buffer store word registers (BSWR) 203a and 203b each having a capacity of 8 bytes, the access unit to the buffer memory 201 is two transfer units (that is, 16 bytes). ing.

【0007】この例においては、バッファメモリ201
において更新されたデータをスワップ方式で主記憶装置
に反映させる場合について説明する。移動命令を処理す
る際には、中央処理装置に備えられた命令制御部204
からの指示に応じて、図10に示すように、フェッチフ
ローが開始される。
In this example, the buffer memory 201
A case where the updated data in step 3 is reflected in the main storage device by the swap method will be described. When processing the move command, the command control unit 204 provided in the central processing unit.
In response to the instruction from, the fetch flow is started as shown in FIG.

【0008】フェッチフローにおいては、まず、プライ
オリティサイクル(P) およびタグ読出サイクル(T) にお
いてそれぞれの処理を行い、バッファアクセスサイクル
(B)において、バッファメモリ201から移動対象のデ
ータの先頭の8バイト分のデータが読み出されて、フェ
ッチデータレジスタ202aに保持される。次に、リー
ドサイクル(R) において、フェッチデータレジスタ20
2は、保持したデータをセレクタ205を介して送出
し、上述した読出レジスタに相当するオペランドワード
レジスタ(OWR) 206に書き込んでフェッチフローを終
了する。
In the fetch flow, first, each processing is performed in the priority cycle (P) and the tag read cycle (T), and the buffer access cycle is executed.
In (B), the data of the beginning 8 bytes of the data to be moved is read from the buffer memory 201 and held in the fetch data register 202a. Next, in the read cycle (R), the fetch data register 20
2 sends the held data through the selector 205, writes it in the operand word register (OWR) 206 corresponding to the above-mentioned read register, and ends the fetch flow.

【0009】このとき、演算回路207は、命令制御部
204からの指示によりスルー状態となっており、オペ
ランドワードレジスタ206に保持されたデータは、演
算回路207を介してそのまま結果レジスタ(RR)208
に出力される。
At this time, the arithmetic circuit 207 is in the through state according to the instruction from the instruction control unit 204, and the data held in the operand word register 206 is directly passed through the arithmetic circuit 207 to the result register (RR) 208.
Is output to.

【0010】上述したフェッチフローの開始から1サイ
クル遅れてストアフローが開始され、図10において符
号P,T,B,Rで示した4つのサイクルにおいて、書
き込みアドレスの準備がされているかのチェック処理が
行われている。
The store flow is started one cycle after the start of the fetch flow described above, and the check processing is performed to determine whether the write address is prepared in the four cycles indicated by the symbols P, T, B, and R in FIG. Is being done.

【0011】図9に示した結果レジスタ208に保持さ
れたデータは、図10に示すように、まず、ストアデー
タレジスタ(STDR)209に書き込まれ、次のサイクルで
ストアデータバッファレジスタ(STDB)210aに、更
に、次のサイクルでバッファストアワードレジスタ20
3aに書き込まれる。
The data held in the result register 208 shown in FIG. 9 is first written in the store data register (STDR) 209, as shown in FIG. 10, and in the next cycle, the store data buffer register (STDB) 210a. In the next cycle, the buffer store word register 20
3a.

【0012】ここで、ストアデータレジスタ209は、
命令制御部204からの指示に応じて、汎用レジスタや
浮動小数点レジスタからなるレジスタ群(図示せず)か
らのデータあるいは結果レジスタ208からのデータを
保持する構成となっており、移動命令の処理の際には、
上述したように結果レジスタ208からのデータが選択
的に保持される。
Here, the store data register 209 is
In response to an instruction from the instruction control unit 204, data from a register group (not shown) including general-purpose registers and floating-point registers or data from the result register 208 is held, and processing of a move instruction is performed. When
As described above, the data from the result register 208 is selectively retained.

【0013】この処理と並行して、ストアフローのプラ
イオリティサイクル(Ps)およびタグ読出サイクル(Ts)の
処理が行われており、次のバッファアクセスサイクルに
おいて、バッファストアワードレジスタ203aに保持
されたデータがバッファメモリ201の該当するアドレ
スに書き込まれる。
In parallel with this process, the store flow priority cycle (Ps) and the tag read cycle (Ts) are processed, and the data stored in the buffer store word register 203a in the next buffer access cycle. Is written in the corresponding address of the buffer memory 201.

【0014】このようにして、8バイトのデータの移動
処理が完了する。なお、移動対象のデータ量が8バイト
を超えている場合は、上述したストアフローおける書き
込みアドレスチェック処理の開始から更に1サイクル遅
れて、次の8バイトのデータについてのフェッチフロー
を開始して、同様の処理を繰り返すことによって移動命
令の処理が行われる。
In this way, the process of moving the 8-byte data is completed. If the amount of data to be moved exceeds 8 bytes, the fetch flow for the next 8 bytes of data will be started with a delay of one cycle from the start of the write address check process in the above-described store flow. The movement command is processed by repeating the same processing.

【0015】したがって、例えば、16バイトのデータ
の移動命令は、図10に示すように、2つのフェッチフ
ローと2つのストアフローとによって処理され、全体と
して10サイクル分の処理時間をかけて処理されてい
た。
Therefore, for example, a 16-byte data movement instruction is processed by two fetch flows and two store flows, as shown in FIG. Was there.

【0016】但し、後の8バイトの移動処理には、最初
の8バイトの移動処理では使用されなかったフェッチデ
ータレジスタ202bとストアデータバッファレジスタ
210bとバッファストアワードレジスタ203bとが
用いられている。
However, the fetch data register 202b, the store data buffer register 210b, and the buffer store word register 203b, which are not used in the first 8-byte move process, are used in the subsequent 8-byte move process.

【0017】また、本出願人は、移動命令の処理時間を
短縮する技術として、特開昭61−206061号公報
を既に出願している。この技法は、図11に示すよう
に、図9に示した従来の中央処理装置に、移動データ保
持レジスタ(STDBB) 301と、ストアデータバッファレ
ジスタ210aに対応するセレクタ302とを付加し、
移動データ保持レジスタ301に最初の8バイトのデー
タを一旦保持しておき、次の8バイトのデータと同時に
ストアデータバッファレジスタ209a,209bに書
き込むことにより、16バイトのデータを1つのストア
フローで書き込むことを可能としたものである。
The present applicant has already applied for Japanese Patent Application Laid-Open No. 61-206061 as a technique for reducing the processing time of a move command. As shown in FIG. 11, this technique adds a moving data holding register (STDBB) 301 and a selector 302 corresponding to a store data buffer register 210a to the conventional central processing unit shown in FIG.
The first 8 bytes of data are temporarily held in the move data holding register 301, and then written to the store data buffer registers 209a and 209b simultaneously with the next 8 bytes of data, thereby writing 16 bytes of data in one store flow. It made it possible.

【0018】この場合は、図12に示すように、2つの
フェッチフローと1つのストアフローとによって、16
バイト分のデータの移動命令を9サイクル分の処理時間
で実行することができる。
In this case, as shown in FIG. 12, 16 fetches are performed by two fetch flows and one store flow.
It is possible to execute an instruction to move bytes of data in a processing time of 9 cycles.

【0019】[0019]

【発明が解決しようとする課題】上述した従来の技術お
よび特開昭61−206061号公報の技法において
は、データの移動経路として、演算回路207による演
算結果をバッファメモリ201に格納するための経路を
利用している。このため、1回のフェッチフローで読み
出すデータの幅は、演算回路207にデータを送出する
フェッチデータバスおよび結果レジスタ208からスト
アデータレジスタ209にデータを送出するストアデー
タバスの幅によって限定されている。
In the above-mentioned conventional technique and the technique disclosed in Japanese Patent Laid-Open No. 61-206061, a path for storing the operation result of the operation circuit 207 in the buffer memory 201 as a data transfer path. Are using. Therefore, the width of the data read in one fetch flow is limited by the widths of the fetch data bus that sends data to the arithmetic circuit 207 and the store data bus that sends data from the result register 208 to the store data register 209. .

【0020】したがって、移動するデータの量が増大す
ると、フェッチフローやストアフローの数が多くなり、
移動処理に要する時間が長くなってしまっていた。特開
昭61−206061号公報の技法においては、2回の
フェッチフローで読み出されたデータを1回のストアフ
ローで書き込むので、その分移動処理に要する時間は短
いが、1回のフェッチフローで読み出すことができるデ
ータ幅がフェッチデータバスおよびストアデータバスの
幅に依存していることは同じである。
Therefore, when the amount of data to be moved increases, the number of fetch flows and store flows increases,
The time required for the move process was long. In the technique of Japanese Patent Laid-Open No. 61-206061, since the data read in the two fetch flows is written in the one store flow, the time required for the movement process is short, but the one fetch flow. It is the same that the data width that can be read by means of is dependent on the width of the fetch data bus and the store data bus.

【0021】また、上述したように、演算回路207を
経由してデータの移動処理を行う場合には、移動処理と
他の演算処理とを並行して実行することができないか
ら、全体としての中央処理装置の性能を低下させてしま
う場合もあった。
Further, as described above, when the data movement processing is performed via the arithmetic circuit 207, the movement processing and other arithmetic processing cannot be executed in parallel, so the central processing as a whole. In some cases, the performance of the processing device is degraded.

【0022】本発明は、メモリ装置においてデータを高
速に移動可能なメモリ制御装置を提供することを目的と
する。
An object of the present invention is to provide a memory control device capable of moving data at high speed in the memory device.

【0023】[0023]

【課題を解決するための手段】図1は、請求項1および
請求項2のメモリ制御装置の原理ブロック図である。請
求項1の発明は、記憶領域が、それぞれが複数バイトか
らなる転送単位を複数個まとめて構成されるブロックに
分割されているメモリ101に対して、複数の前記転送
単位からなるアクセス単位ごとにアクセス処理を制御す
るメモリ制御装置であって、メモリ制御装置を介して転
送単位毎にデータを受け取り、指示された演算処理の結
果をメモリ制御装置を介してメモリ101に書き込む演
算手段102とともに中央処理装置103に備えられて
いるメモリ制御装置において、メモリ101から読み出
されたアクセス単位分のデータを転送単位に分割して保
持する複数のフェッチデータ保持手段111と、メモリ
101に書き込むアクセス単位分のデータを転送単位に
分割して保持する複数のストアデータ保持手段112
と、複数のフェッチデータ保持手段111と複数のスト
アデータ保持手段112との間で、データを直接に転送
する転送手段113と、移動命令で指定された移動対象
のデータのアドレスと移動先のアドレスとが所定の条件
を満たすか否かを判定する判定手段114と、所定の条
件を満たす旨の判定結果に応じて、転送手段113によ
る転送動作を指示し、他の場合に、演算手段102を介
した転送動作を指示する移動制御手段115とを備えた
ことを特徴とする。
FIG. 1 is a principle block diagram of a memory control device according to claims 1 and 2. In FIG. According to a first aspect of the present invention, with respect to the memory 101 in which the storage area is divided into blocks each including a plurality of transfer units each including a plurality of bytes, each access unit including the plurality of transfer units is divided into blocks. A memory control device for controlling access processing, which receives data for each transfer unit via the memory control device and writes the result of the instructed arithmetic processing in the memory 101 via the memory control device together with the central processing unit 102 In the memory control device provided in the device 103, a plurality of fetch data holding units 111 that divides the data of the access unit read from the memory 101 into transfer units and holds the data, and the access unit of the write unit to be written in the memory 101. A plurality of store data holding means 112 for holding data by dividing the data into transfer units
And a transfer means 113 for directly transferring data between the plurality of fetch data holding means 111 and the plurality of store data holding means 112, and the address of the movement target data and the movement destination address designated by the movement instruction. Determines whether or not satisfies a predetermined condition, and instructs the transfer operation by the transfer unit 113 in accordance with the result of the determination that the predetermined condition is satisfied. And a movement control means 115 for instructing a transfer operation via the same.

【0024】請求項2の発明は、請求項1に記載のメモ
リ制御装置において、転送手段113は、書き込み指示
に応じて、対応するフェッチデータ保持手段111に保
持された転送単位のデータを保持する複数の移動データ
保持手段121と、転送指示に応じて、複数の移動デー
タ保持手段121のそれぞれに保持された転送単位のデ
ータを対応するストアデータ保持手段112に転送する
転送バス122とを備えた構成であり、判定手段114
は、移動対象のデータのアドレスと移動先のアドレスと
の両方がブロックを形成する転送単位の境界アドレスで
ある場合に、所定の条件を満たしている旨の判定結果を
出力する第1のアドレス判定手段123と、移動対象の
データのアドレスに基づいて、移動対象のデータがメモ
リの1つのブロック内に納まっているか否かを判定する
第2のアドレス判定手段124と、移動先のアドレスに
基づいて、移動後のデータが1つのブロックに納まるか
否かを判定する第3のアドレス判定手段125とを備え
た構成であり、移動制御手段115は、移動対象のデー
タが1つのブロック内に納まっている旨の判定結果に応
じて、メモリに該当するアクセス単位分のデータの出力
を指示し、移動対象のデータが2つのブロックに跨がっ
ている旨の判定結果に応じて、メモリに該当するアクセ
ス単位分のデータをブロックごとに2回に分けて出力す
る旨を指示するアクセス制御手段126と、移動対象の
データが1つのブロック内に納まっている旨の判定結果
に応じて、複数の移動データ保持手段121の全てに対
して同時に書き込み指示を送出し、移動対象のデータが
2つのブロックに跨がっている旨の判定結果に応じて、
2つのブロックにおける移動対象のデータの分布に基づ
いて複数の移動データ保持手段121を2つのグループ
に分け、グループごとに書き込み指示を送出するフェッ
チ動作制御手段127と、移動後のデータが1つのブロ
ックに納まる旨の判定結果に応じて、転送バス122に
複数の移動データ保持手段に保持されたアクセス単位分
のデータを一括して転送する旨の転送指示を送出し、移
動後のデータが2つのブロックに跨がる旨の判定結果に
応じて、2つのブロックにおける移動後のデータの分布
に基づいて複数の移動データ保持手段121を2つのグ
ループに分け、転送バス122に対して、アクセス単位
分のデータをグループごとに2回に分けて転送する旨の
転送指示を送出する転送指示手段128とを備えた構成
であることを特徴とする。
According to a second aspect of the invention, in the memory control device according to the first aspect, the transfer means 113 holds the data of the transfer unit held in the corresponding fetch data holding means 111 in response to the write instruction. A plurality of moving data holding means 121 and a transfer bus 122 for transferring the data of the transfer unit held in each of the plurality of moving data holding means 121 to the corresponding store data holding means 112 according to the transfer instruction are provided. And the determination means 114
Is a first address judgment that outputs a judgment result that a predetermined condition is satisfied, when both the address of the data to be moved and the address of the movement destination are boundary addresses of transfer units forming a block. Means 123, second address determining means 124 for determining whether or not the data to be moved is stored in one block of the memory based on the address of the data to be moved, and based on the address of the moving destination. And a third address determining means 125 for determining whether or not the moved data is stored in one block, and the movement control means 115 stores the data to be moved in one block. According to the determination result indicating that the data corresponding to the access unit is output to the memory, the determination result indicating that the data to be moved spans two blocks. According to the above, the access control means 126 for instructing to output the data of the access unit corresponding to the memory for each block divided into two times, and the determination that the data to be moved are stored in one block According to the result, a write instruction is sent to all of the plurality of moving data holding units 121 at the same time, and according to the result of the determination that the data to be moved spans two blocks,
Based on the distribution of the movement target data in the two blocks, the plurality of movement data holding means 121 are divided into two groups, the fetch operation control means 127 for sending a write instruction for each group, and the data after movement is one block. In response to the determination result that the transfer unit 122 stores the data for the access unit held in the plurality of moving data holding units to the transfer bus 122, a transfer instruction for collectively transferring the data is sent. In accordance with the result of the determination that the blocks are to be straddled, the plurality of moving data holding units 121 are divided into two groups based on the distribution of the moved data in the two blocks, and the transfer bus 122 is divided into access unit units. And a transfer instructing means 128 for sending out a transfer instruction to transfer the data for each group twice. To.

【0025】 図2は、請求項3のメモリ制御装置の原
理ブロック図である。請求項3の発明は、請求項1に記
載のメモリ制御装置において、メモリ101は、中央処
理装置103に備えられたバッファメモリであって、主
記憶装置104内のデータの一部をその格納場所に対応
して記憶しており、主記憶装置104からメモリ101
へのデータの書き込みを媒介するムーブインデータ保持
手段131と、ムーブインデータ保持手段131から出
力されたデータをフェッチデータ保持手段111に入力
するためのバイパス経路135と、移動命令で指定され
た移動対象のデータのアドレスに基づいて移動対象のデ
ータがメモリ101に保持されているか否かを判定し、
移動対象のデータがメモリ101に保持されていない場
合に、移動対象のデータのアドレスに関する第2の条件
を満たす旨の判定結果を出力する第4のアドレス判定手
段132とを備え、移動制御手段115は、所定の条件
を満たす旨の判定結果に応じて、ムーブインデータ保持
手段131に該当する第2の条件を満たす旨の判定結果
に応じて、ムーブインデータ保持手段131に対して保
持しているデータをバイパス経路135に出力する旨
指示する第2のアクセス制御手段133と、第2の条件
を満たす旨の判定結果に応じて、転送手段113にフェ
ッチデータ保持手段111からストアデータ保持手段1
12へのデータ転送を指示する第2の転送指示手段13
4とを備えた構成であることを特徴とする。
FIG. 2 is a principle block diagram of the memory control device according to the third aspect. According to a third aspect of the present invention , in the memory control device according to the first aspect, the memory 101 is a buffer memory provided in the central processing unit 103, and a part of the data in the main storage device 104 is stored in the storage location. Corresponding to the main memory device 104 to the memory 101.
Move-in data holding means 131 that mediates writing of data to and from the move-in data holding means 131
Input the input data into the fetch data holding means 111
Bypass path 135 for
Data to be moved based on the address of the data to be moved.
Data is stored in the memory 101,
If the data to be moved is not stored in the memory 101,
In this case, the second condition regarding the address of the data to be moved
A fourth address determination hand that outputs a determination result that satisfies
And a stage 132, the movement control unit 115, in response to a predetermined condition is satisfied indicating that the determination result, according to the move-in data holding means to the effect that satisfies the second condition corresponding to 131 the determination result, a move Data is stored in the data storage means 131 .
Second access control means 133 for instructing to output the held data to the bypass path 135, and a second condition
Depending on that determination result satisfying, Fe in the transfer means 113
Switch data holding means 111 to store data holding means 1
Second transfer instruction means 13 for instructing data transfer to 12
4 is provided.

【0026】[0026]

【作用】請求項1の発明は、判定手段114による所定
の条件を満たす旨の判定結果に応じて、移動制御手段1
15が転送手段113による転送動作を起動することに
より、転送手段113を介してフェッチデータ保持手段
111からストアデータ保持手段112へ移動対象のデ
ータを転送することが可能である。
According to the invention of claim 1, the movement control means 1 is operated in accordance with the result of the judgment by the judgment means 114 that the predetermined condition is satisfied.
By activating the transfer operation by the transfer unit 113, the transfer target data can be transferred from the fetch data holding unit 111 to the store data holding unit 112 via the transfer unit 113.

【0027】これにより、移動命令の処理から演算手段
を解放し、移動命令の処理と演算処理とを並行して実行
することが可能となる。一方、所定の条件が満たされて
いない場合は、移動制御手段115からの指示に応じ
て、従来と同様に、演算手段を介して転送単位毎にデー
タの移動処理が行われる。
As a result, it becomes possible to release the arithmetic means from the processing of the movement instruction and execute the processing of the movement instruction and the arithmetic processing in parallel. On the other hand, when the predetermined condition is not satisfied, the movement processing of data is performed for each transfer unit via the calculation means in accordance with the instruction from the movement control means 115 as in the conventional case.

【0028】請求項2の発明は、第1のアドレス判定手
段123により、所定の条件が満たされたとされたとき
に、第2のアドレス判定手段124および第3のアドレ
ス判定手段125による判定結果に応じて、第1のアク
セス制御手段126,フェッチ動作制御手段127およ
び第1の転送指示手段128がそれぞれ動作して、メモ
リ101および転送手段113を構成する移動データ保
持手段121および転送バス122の動作を制御するも
のである。
According to the second aspect of the present invention, when the first address determining means 123 determines that the predetermined condition is satisfied, the determination results by the second address determining means 124 and the third address determining means 125 are Accordingly, the first access control means 126, the fetch operation control means 127, and the first transfer instruction means 128 operate, respectively, and the operation of the moving data holding means 121 and the transfer bus 122 that configure the memory 101 and the transfer means 113. Is to control.

【0029】これにより、移動対象のデータの移動前後
における位置とメモリ101におけるブロックとの関係
に応じて、メモリ101から読み出されたデータをフェ
ッチデータ保持手段111からストアデータ保持手段1
12に転送手段113を介して最小のフロー数で転送す
ることができる。
As a result, the data read from the memory 101 is transferred from the fetch data holding means 111 to the store data holding means 1 according to the relationship between the position of the data to be moved before and after the movement and the block in the memory 101.
It is possible to transfer to 12 via the transfer means 113 with the minimum number of flows.

【0030】特に、1つのブロック内に納まっている移
動対象のデータを移動後も1つのブロックに納まるよう
に移動する場合は、第2のアドレス判定手段124の判
定結果に応じて、第1のアクセス制御手段126とフェ
ッチ動作制御手段127とにより、アクセス単位分のデ
ータが一括して読み出され、移動データ保持手段121
に同時に書き込まれる。また、この場合は、第3のアド
レス判定手段125の判定結果に応じて、第1の転送指
示手段128により、複数の移動データ保持手段121
に保持されたアクセス単位分のデータが一括してストア
データ保持手段112に転送される。すなわち、この場
合は、1つのフェッチフローと1つのストアフローとに
よって、1アクセス単位分のデータを一括して移動する
ことができる。
In particular, when the data to be moved which is stored in one block is moved so as to be stored in one block even after the movement, the first address is determined according to the determination result of the second address determination means 124. The access control means 126 and the fetch operation control means 127 collectively read the data for each access unit, and the move data holding means 121
Will be written at the same time. Further, in this case, the first transfer instructing means 128 causes the plurality of movement data holding means 121 in accordance with the determination result of the third address determining means 125.
The data for the access unit held in is collectively transferred to the store data holding unit 112. That is, in this case, the data for one access unit can be collectively moved by one fetch flow and one store flow.

【0031】一方、1つのブロック内に納まっている移
動対象のデータを2つのブロックに跨がるように移動す
る場合や、2つのブロックに跨がって分布している移動
対象のデータを1つのブロックに納まるように移動する
場合には、それぞれストアフローあるいはフェッチフロ
ーを2つに分けて実行し、これに応じて、フェッチデー
タ制御手段127および第1の転送指示手段128が、
移動データ保持手段121をグループ分けして制御する
ことにより、最小のフロー数で1アクセス単位分のデー
タを移動することができる。
On the other hand, when the data to be moved contained in one block is moved so as to extend over two blocks, or the data to be moved distributed over two blocks is set to 1 When moving so as to fit in one block, the store flow or the fetch flow is divided into two and executed, and the fetch data control unit 127 and the first transfer instruction unit 128 respond accordingly.
By controlling the movement data holding means 121 by grouping, it is possible to move the data for one access unit with the minimum number of flows.

【0032】すなわち、1つのブロック内に納まってい
る移動対象のデータを2つのブロックに跨がるように移
動する場合は、1つのフェッチフローと2つのストアフ
ローとによって移動命令を実行することが可能であり、
2つのブロックに跨がって分布している移動対象のデー
タを1つのブロックに納まるように移動する場合は、2
つのフェッチフローと2つのストアフローとによって移
動命令を実行することが可能である。
That is, in the case of moving data to be moved which is stored in one block so as to straddle two blocks, the move instruction may be executed by one fetch flow and two store flows. Is possible,
When moving data to be moved that is distributed over two blocks so as to be contained in one block, 2
A move instruction can be executed by one fetch flow and two store flows.

【0033】 このように、移動命令を実行する際に必
要なフロー数を削減することにより、メモリにおけるデ
ータの移動処理を高速化することができる。請求項3の
発明では、例えば、主記憶装置104からバッファメモ
リであるメモリ101へのムーブインが発生したとき
に、第4のアドレス判定手段132によって移動対象の
データのアドレスに関する第2の条件が満たされたとさ
れ、この判定結果に応じて、移動制御手段115の第2
のアクセス制御手段133は、ムーブインデータ保持手
段131にムーブインされたデータをバイパス経路13
5に出力する旨を指示する。これにより、ムーブインデ
ータ保持手段131ムーブインされたデータは、メモリ
101をバイパスしてフェッチデータ保持手段111に
保持される。したがって、上述した第2の条件を満たす
旨の判定結果に応じて、移動制御手段115の第2の転
送指示手段134が転送手段113にフェッチデータ保
持手段111からストアデータ保持手段112への転送
を指示することにより、メモリ101にムーブインされ
るべきデータとしてムーブインデータ保持手段131に
保持された1アクセス単位分のデータを、フェッチデー
タ保持手段111を経由して一括してストアデータ保持
手段112に転送することができる。
As described above, by reducing the number of flows required for executing the move instruction, it is possible to speed up the data move process in the memory. According to the third aspect of the present invention , for example, from the main storage device 104 to the buffer memory.
When a move-in to the memory 101 which is a memory occurs
To, to be moved by the fourth address determination means 132
The second condition regarding the address of the data is satisfied.
Is, depending on the determination result, the second movement control means 115
Access control means 133 is a move-in data holder.
The data moved into the stage 131 is bypassed to the bypass path 13
5 is instructed to output. This makes the move index
The data that has been moved in is stored in the memory.
101 to bypass the fetch data holding means 111
Retained. Therefore, the second condition described above is satisfied.
In accordance with the determination result to the effect, the second control of the movement control means 115 is performed.
The sending instruction means 134 stores the fetch data in the transfer means 113.
Transfer from holding means 111 to store data holding means 112
Is instructed to move in the memory 101.
To move-in data holding means 131 as data to be stored
1 access unit of data that is held, fetch data
The data can be collectively transferred to the store data holding means 112 via the data holding means 111 .

【0034】 このように、メモリ内に存在しなかった
データを対象とした移動命令を処理する際に、ムーブイ
ンデータ保持手段131に主記憶装置104からムーブ
インされたデータを、メモリ101に反映する前にフェ
ッチデータ保持手段111にフェッチし、転送手段11
3を介してストアデータ保持手段112に渡すことがで
きるから、メモリにおけるデータの移動処理を高速化す
ることができる。
Thus, it did not exist in the memory
When processing move commands for data, move
Data from the main storage device 104 to the data storage means 131.
Before reflecting the imported data in the memory 101,
Switch data holding means 111 for fetching and transferring means 11
Since the data can be passed to the store data holding means 112 via 3, the data transfer processing in the memory can be speeded up.

【0035】[0035]

【実施例】以下、図面に基づいて本発明の実施例につい
て詳細に説明する。図3に、請求項1のメモリ制御装置
を適用した中央処理装置の実施例構成図を示す。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 3 shows a block diagram of an embodiment of a central processing unit to which the memory control device of claim 1 is applied.

【0036】図3において、中央処理装置は、図9に示
した従来の中央処理装置に、フェッチデータレジスタ2
02a,202bに対応する2つのムーブデータレジス
タ211a,211bと、ストアデータバッファレジス
タ210a,210bに対応して、2つのセレクタ21
2a,212bを付加し、これらのセレクタ212a,
212bが、命令制御部204からの指示に応じて、対
応するムーブデータレジスタ211a,211bからの
データあるいはストアデータレジスタ209からのデー
タのいずれかを選択する構成となっている。
In FIG. 3, the central processing unit is the same as the conventional central processing unit shown in FIG.
02a and 202b corresponding to the two move data registers 211a and 211b and the store data buffer registers 210a and 210b corresponding to the two selectors 21
2a and 212b are added, these selectors 212a,
212b is configured to select either the data from the corresponding move data registers 211a and 211b or the data from the store data register 209 in accordance with the instruction from the instruction control unit 204.

【0037】この図3において、各部を接続する実線の
矢印は、8バイト幅を持つデータバスを示しており、点
線の矢印は制御信号を示している。また、フェッチデー
タレジスタ202a,202bは、フェッチデータ保持
手段111に相当するものであり、ストアデータバッフ
ァレジスタ210a,210bは、ストアデータ保持手
段112に相当するものである。
In FIG. 3, solid line arrows connecting the respective parts indicate a data bus having a width of 8 bytes, and dotted line arrows indicate control signals. The fetch data registers 202a and 202b correspond to the fetch data holding unit 111, and the store data buffer registers 210a and 210b correspond to the store data holding unit 112.

【0038】上述したムーブデータレジスタ211a,
211bおよびこれらとフェッチデータレジスタ202
a,202bとを接続するデータバスは、移動データ保
持手段121に相当しており、また、ムーブデータレジ
スタ211a,211bから対応するセレクタ212
a,212bを介してストアデータバッファレジスタ2
10a,210bへのデータの伝送経路は、転送バス1
22に相当するものである。
The above-mentioned move data register 211a,
211b and fetch data register 202 with these
The data bus connecting the a and 202b corresponds to the moving data holding means 121, and the corresponding selector 212 from the move data registers 211a and 211b.
Store data buffer register 2 via a, 212b
The transmission path of the data to 10a and 210b is the transfer bus 1
It corresponds to 22.

【0039】すなわち、これらの各部により、転送手段
113の機能を実現する構成となっている。ここで、バ
ッファメモリ201は、図4に示すように、それぞれが
N個(図においては8個)の転送単位から構成される複
数のブロックに分割されており、このバッファメモリ2
01へのアクセス処理は、このブロックごとにアクセス
単位を上限として行われる構成となっている。
That is, each of these units realizes the function of the transfer means 113. Here, as shown in FIG. 4, the buffer memory 201 is divided into a plurality of blocks each made up of N (8 in the figure) transfer units.
The access processing to 01 is configured so that the access unit for each block is the upper limit.

【0040】図4に示した各ブロックにおいて、N個の
転送単位は番号〜で示すような順序で連続して格納
されており、連続する番号が与えられた転送単位は、1
つのアクセス単位として読み出すことができる。つま
り、図4において斜線を付して示したような転送単位か
らなるアクセス単位(a) およびアクセス単位(b) は、1
回のフェッチ動作によって読み出すことができる構成と
なっている。
In each block shown in FIG. 4, N transfer units are consecutively stored in the order shown by numbers 1 to 3, and the transfer unit to which consecutive numbers are given is 1.
It can be read as one access unit. That is, the access unit (a) and the access unit (b), which are the transfer units shown by hatching in FIG.
It can be read by one fetch operation.

【0041】また、図3において、命令制御部204
は、判定手段114に相当するアドレス判定部214を
備えており、このアドレス判定部214による判定結果
に応じて、イネーブル信号送出部215,演算制御部2
16,セレクタ制御部217および読出制御部218が
それぞれの動作を実行することにより、移動制御手段1
15の機能を実現する構成となっている。
Further, in FIG. 3, the instruction control unit 204
Includes an address determination unit 214 corresponding to the determination unit 114, and the enable signal transmission unit 215 and the operation control unit 2 according to the determination result by the address determination unit 214.
16, the selector control unit 217 and the read control unit 218 perform their respective operations, whereby the movement control unit 1
It is configured to realize 15 functions.

【0042】このアドレス判定部214は、データの移
動命令を処理する際に、まず、請求項2で述べた第1の
アドレス判定手段123として動作し、移動対象のデー
タの先頭アドレスおよびこのデータの移動先の先頭アド
レスが転送単位(この場合は8バイト)の境界アドレス
であるか否かを判定する。また、この判定結果として肯
定判定が得られた場合に、第2のアドレス判定手段12
4および第3のアドレス判定手段125として動作し、
それぞれ移動対象のデータが移動元あるいは移動先にお
いて1つのブロックに納まっているか否かを判定する構
成となっている。
When processing the data move command, the address determining unit 214 first operates as the first address determining means 123 described in claim 2, and the start address of the data to be moved and the data It is determined whether or not the start address of the move destination is a boundary address of the transfer unit (8 bytes in this case). If a positive determination is obtained as a result of this determination, the second address determination means 12
It operates as the fourth and third address determination means 125,
It is configured to determine whether or not the data to be moved is stored in one block at the move source or move destination.

【0043】以下、移動対象のデータが移動元において
1つのブロックに納まっていることを第1の条件と称
し、移動先において1つのブロックに納まっていること
を第2の条件と称する。
Hereinafter, the fact that the data to be moved is stored in one block at the movement source is referred to as a first condition, and that the data to be moved is stored in one block at the movement destination is referred to as a second condition.

【0044】また、命令制御部204において、イネー
ブル信号送出部215とセレクタ制御部217とは、第
1のアドレス判定手段123による判定結果に応じて動
作し、イネーブル信号送出部215は、書込イネーブル
信号をムーブデータレジスタ211a,211bあるい
はオペランドワードレジスタ206に送出し、セレクタ
制御部217は、セレクタ212a,212bによる選
択動作を制御する構成となっている。
Further, in the instruction control unit 204, the enable signal transmission unit 215 and the selector control unit 217 operate according to the determination result by the first address determination unit 123, and the enable signal transmission unit 215 causes the write enable. The signal is sent to the move data registers 211a and 211b or the operand word register 206, and the selector control unit 217 is configured to control the selection operation by the selectors 212a and 212b.

【0045】一方、演算制御部216は、移動元および
移動先のアドレスが転送単位の境界アドレスでない旨の
判定結果に応じて、演算回路207に対して転送処理を
行う旨の指示を送出する構成となっている。
On the other hand, the arithmetic control unit 216 sends an instruction to the arithmetic circuit 207 to perform the transfer process in accordance with the result of the determination that the source and destination addresses are not the boundary address of the transfer unit. Has become.

【0046】また、読出制御部218は、第1のアクセ
ス制御手段126に相当するものであり、上述した第1
の条件についての判定結果に応じて、バッファメモリ2
01からのデータの読出動作を制御する構成となってい
る。
The read control unit 218 corresponds to the first access control means 126 and is the above-mentioned first access control unit 126.
Depending on the judgment result of the condition of
The data reading operation from 01 is controlled.

【0047】この読出制御部218は、第1の条件が満
たされている旨の判定結果に応じて、該当するブロック
から移動対象のデータをアクセス単位分一括して読み出
す旨を指示し、第1の条件が満たされていない旨の判定
結果に応じて、移動対象のデータをブロック毎に2回の
フェッチフローに分けて読み出す旨を指示すればよい。
The read control unit 218 instructs, in accordance with the result of the determination that the first condition is satisfied, to read the data to be moved from the corresponding block in batches of the access unit at a time. In accordance with the result of the determination that the condition (3) is not satisfied, it may be instructed that the data to be moved is read out for each block divided into two fetch flows.

【0048】また、タイミング制御部219は、第1の
条件についての判定結果に応じて、ムーブデータレジス
タ211a,211bへの書込タイミングを制御するこ
とによってフェッチ動作制御手段127の機能を果たす
とともに、第2の条件についての判定結果に応じて、ス
トアデータバッファレジスタ210a,210bへの書
込タイミングを制御することによって第1の転送指示手
段128の機能を果たす構成となっている。
Further, the timing control section 219 fulfills the function of the fetch operation control means 127 by controlling the write timing to the move data registers 211a and 211b in accordance with the result of the decision on the first condition. The function of the first transfer instructing means 128 is achieved by controlling the write timing to the store data buffer registers 210a and 210b according to the result of the determination on the second condition.

【0049】このタイミング制御部219は、第1の条
件を満たす旨の判定結果に応じて、ムーブデータレジス
タ211a,211bに対して同時に書込動作を指示
し、第1の条件が満たされない旨の判定結果に応じて、
ムーブデータレジスタ211a,211bへの書込動作
を2回に分けて指示すればよい。
The timing control unit 219 simultaneously instructs the write data registers 211a and 211b to perform the write operation according to the determination result that the first condition is satisfied, and the first condition is not satisfied. Depending on the judgment result,
The write operation to the move data registers 211a and 211b may be indicated in two steps.

【0050】また、第2の条件を満たす旨の判定結果に
応じて、タイミング制御部219は、ストアデータバッ
ファレジスタ210a,210bに同時に書込動作を指
示し、第2の条件が満たされない旨の判定結果に応じ
て、ストアデータバッファレジスタ210a,210b
への書込動作を2回に分けて指示すればよい。
Further, in accordance with the result of the determination that the second condition is satisfied, the timing control unit 219 simultaneously instructs the store data buffer registers 210a and 210b to perform the write operation, and the second condition is not satisfied. Depending on the determination result, the store data buffer registers 210a, 210b
It is sufficient to indicate the write operation to the two times.

【0051】ここで、タイミング制御部219は、後述
するように、フェッチフローおよびストアフローをパイ
プライン制御するための各サイクルのタイミングに従っ
て、上述した各レジスタへの書込動作を指示すればよ
い。
Here, the timing control unit 219 may instruct the above-mentioned write operation to each register in accordance with the timing of each cycle for pipeline controlling the fetch flow and the store flow, as will be described later.

【0052】以下、移動対象のデータのアドレスおよび
移動先のアドレスが共に転送単位の境界アドレスであっ
て、1アクセス単位、すなわち16バイトのデータの移
動処理を行う場合について、第1の条件および第2の条
件をそれぞれ満たすか否かによって場合分けし、各場合
ごとのデータの移動動作を説明する。
In the following, when the address of the data to be moved and the address of the transfer destination are both boundary addresses of the transfer unit and the data transfer process of one access unit, that is, 16 bytes, is performed, the first condition and the first condition are satisfied. The data movement operation for each case will be described by classifying the cases according to whether or not the two conditions are satisfied.

【0053】図5に、本発明のメモリ制御装置によるデ
ータ移動動作の説明図を示す。まず、移動元および移動
先のアドレスがともに転送単位の境界アドレスである場
合は、その旨の判定結果に応じて、イネーブル信号送出
部215は、上述したムーブデータレジスタ211a,
211bに書込イネーブル信号を送出し、セレクタ制御
部217は、上述したセレクタ212a,212bに対
してムーブデータレジスタ211a,211bからのデ
ータを選択する旨を指示する。
FIG. 5 is an explanatory view of the data moving operation by the memory control device of the present invention. First, if the source and destination addresses are both transfer unit boundary addresses, the enable signal transmission unit 215 determines whether the move data register 211a,
The write enable signal is sent to 211b, and the selector control unit 217 instructs the above selectors 212a and 212b to select the data from the move data registers 211a and 211b.

【0054】これにより、フェッチデータレジスタ20
2a,202bからムーブデータレジスタ211a,2
11bおよびセレクタ212a,212bを介してスト
アデータバッファレジスタ210a,210bに至る経
路が形成される。
As a result, the fetch data register 20
2a and 202b to move data registers 211a and 2b
A path is formed to the store data buffer registers 210a and 210b via 11b and the selectors 212a and 212b.

【0055】すなわち、イネーブル信号送出部215と
セレクタ制御部217とが、それぞれムーブデータレジ
スタ211a,211bおよびセレクタ212a,21
2bを制御することにより、フェッチデータレジスタ2
01a,201bから上述したストアデータバッファレ
ジスタ210a,210bを介してバッファストアワー
ドレジスタ203a,203bに至る転送バス122が
形成され、この転送バス122を介したデータの移動が
可能となる。
That is, the enable signal transmitting section 215 and the selector control section 217 are respectively arranged in the move data registers 211a, 211b and the selectors 212a, 21.
By controlling 2b, the fetch data register 2
A transfer bus 122 from 01a, 201b to the buffer store word registers 203a, 203b via the store data buffer registers 210a, 210b described above is formed, and data can be moved via this transfer bus 122.

【0056】第1の条件と第2の条件との両方が満たさ
れている場合は、アドレス判定部214による判定結果
に応じて、読出制御部218により、バッファメモリ2
01に対して、移動対象のデータとして該当するアクセ
ス単位分のデータを一括して出力する旨が指示される。
When both the first condition and the second condition are satisfied, the read control unit 218 causes the buffer memory 2 to operate according to the determination result of the address determination unit 214.
01 is instructed to collectively output the data for the corresponding access unit as the data to be moved.

【0057】これに応じて、図5(a) に符号で示すフ
ェッチフローが開始され、バッファアクセスサイクルに
おいて、1アクセス単位分(16バイト)のデータが一
括してフェッチデータレジスタ202a,202bに書
き込まれる。
In response to this, the fetch flow indicated by the code in FIG. 5A is started, and data of one access unit (16 bytes) is collectively written in the fetch data registers 202a and 202b in the buffer access cycle. Be done.

【0058】このとき、タイミング制御部219は、フ
ェッチ動作制御手段127として動作し、フェッチデー
タレジスタ202a,202bに対して、受け取ったデ
ータをリードサイクルの終了時まで保持しておき、その
次のサイクルでムーブデータレジスタ211a,211
bに一括して送出する旨を指示すればよい。
At this time, the timing control unit 219 operates as the fetch operation control unit 127, holds the received data in the fetch data registers 202a and 202b until the end of the read cycle, and then the next cycle. Move data registers 211a, 211
It suffices to indicate to b that the data is to be collectively transmitted.

【0059】また、上述したフェッチフローの開始から
1サイクル遅れて、図5(a) に符号で示すストアフロ
ーを開始し、従来と同様の書き込みアドレスのチェック
処理に続いて、バッファメモリ201への書き込み処理
を行う。
Further, one cycle after the start of the fetch flow described above, the store flow indicated by the symbol in FIG. 5A is started, and the same write address check processing as in the conventional case is performed, and then the buffer memory 201 Write process.

【0060】このとき、タイミング制御部219は第1
の転送指示手段128として動作し、ストアフローのプ
ライオリティサイクル(Ps)において、ストアデータバッ
ファレジスタ210a,210bに同時に書き込み動作
を指示し、次のタグ読出サイクル(Ts)で、更にバッファ
ストアワードレジスタ203a,203bに同時に書き
込み動作を指示すればよい。
At this time, the timing control unit 219 determines that the first
For instructing the write operation to the store data buffer registers 210a and 210b at the same time in the priority cycle (Ps) of the store flow, and further for the buffer store word register 203a in the next tag read cycle (Ts). , 203b may be simultaneously instructed to write.

【0061】これにより、バッファメモリ201から1
アクセス単位分のデータを一括して読み出して、ムーブ
データレジスタ211a,211bを介してストアデー
タバッファレジスタ210a,210bに送出し、1ア
クセス単位分のデータを一括してバッファメモリ201
に書き込むことができる。
As a result, the buffer memories 201 to 1
The data for one access unit is collectively read and sent to the store data buffer registers 210a, 210b via the move data registers 211a, 211b, and the data for one access unit is collectively read for the buffer memory 201.
Can be written on.

【0062】すなわち、1アクセス単位分(16バイ
ト)のデータの移動処理を1つのフェッチフローと1つ
のストアフローをによって完了することができ、図5
(a) から分かるように、全体として必要なサイクル数も
8サイクルにまで削減して、移動命令の処理に要する時
間を短縮することができる。
That is, the data movement processing for one access unit (16 bytes) can be completed by one fetch flow and one store flow.
As can be seen from (a), the number of cycles required as a whole can be reduced to 8 cycles to shorten the time required to process the move instruction.

【0063】また、このとき用いるデータの移動経路は
演算回路207を経由しないから、データの移動処理の
ために、演算回路207の動作を停止する必要はない。
すなわち、演算回路207を移動処理から解放し、デー
タの移動処理と他の演算処理とを並行して実行すること
が可能として、データ処理装置の性能の向上を図ること
もできる。
Since the data movement path used at this time does not pass through the arithmetic circuit 207, it is not necessary to stop the operation of the arithmetic circuit 207 for the data movement processing.
That is, it is possible to release the arithmetic circuit 207 from the moving process and execute the data moving process and other arithmetic processes in parallel, so that the performance of the data processing device can be improved.

【0064】なお、図5において、ムーブデータレジス
タ211a,211bがデータを保持している期間を示
す図形は、ムーブデータレジスタ211a,211b
が、保持しているデータを新しいデータによって書き換
えられるまで保持することを示している。
In FIG. 5, the figure showing the period in which the move data registers 211a and 211b hold data is the move data registers 211a and 211b.
Indicates that the retained data is retained until it is overwritten with new data.

【0065】一方、移動元あるいは移動先において移動
対象のデータが2つのブロックにまたがって分布する場
合には、1アクセス単位分のデータをフェッチ処理ある
いはストア処理を1つのフローで一括して実行すること
はできない。
On the other hand, when the data to be moved is distributed over two blocks at the move source or move destination, the fetch process or store process for one access unit of data is collectively executed in one flow. It is not possible.

【0066】まず、第2の条件のみが満たされている場
合は、読出制御部218は、バッファメモリ201に対
して、図5(b) において符号,で示す2つのフェッ
チフローに分けて、1アクセス単位分のデータの読出処
理を指示し、読み出したデータを1つのストアフロー
(図5(b) において符号で示す)で一括してストア処
理すればよい。
First, when only the second condition is satisfied, the read control unit 218 divides the buffer memory 201 into two fetch flows indicated by the symbols in FIG. It suffices to instruct the read processing of the data for the access unit and collectively store the read data in one store flow (indicated by a symbol in FIG. 5B).

【0067】この場合に、タイミング制御部219は、
上述した2つのフェッチフローそれぞれのリードサイク
ルのタイミングで、対応するムーブデータレジスタ21
1a,211bにそれぞれ書込指示を送出する。
In this case, the timing controller 219
At the timing of the read cycle of each of the two fetch flows described above, the corresponding move data register 21
A writing instruction is sent to each of 1a and 211b.

【0068】つまり、符号で示したフェッチフローの
リードサイクルにおいて、ムーブデータレジスタ211
aに書込指示を送出し、1サイクルずらして、ムーブデ
ータレジスタ211bに書込指示を送出すればよい。
That is, in the read cycle of the fetch flow indicated by the code, the move data register 211
The write instruction may be sent to a, the write instruction may be sent to the move data register 211b after shifting by one cycle.

【0069】このようにして、移動対象のデータが2つ
のブロックに跨がっている場合に、その分布に応じてム
ーブデータレジスタ211a,211bを2つのグルー
プに分けて、それぞれへの書込動作を制御することがで
きる。
In this way, when the data to be moved spans two blocks, the move data registers 211a and 211b are divided into two groups according to the distribution, and the write operation to each group is performed. Can be controlled.

【0070】これにより、フェッチデータレジスタ20
2a,202bを介して、読み出されたデータが順次に
ムーブデータレジスタ211a,211bに書き込まれ
るから、符号で示したフェッチフローのリードサイク
ルにおいて、ムーブデータレジスタ211a,211b
に1アクセス単位分のデータが揃うことになる。
As a result, the fetch data register 20
Since the read data is sequentially written to the move data registers 211a and 211b via the 2a and 202b, the move data registers 211a and 211b are read in the read cycle of the fetch flow indicated by the symbol.
Therefore, data for one access unit will be prepared.

【0071】したがって、次のサイクルにおいて、タイ
ミング制御部219が、ストアデータバッファレジスタ
210a,210bに同時に書き込み指示を送出するこ
とにより、1アクセス単位分のデータを一括してストア
データレジスタ210a,210bに書き込み、バッフ
ァストアワードレジスタ203a,203bを介してバ
ッファメモリ201に書き込むことができる。
Therefore, in the next cycle, the timing control unit 219 sends a write instruction to the store data buffer registers 210a and 210b at the same time to collectively store the data for one access unit to the store data registers 210a and 210b. It is possible to write and write to the buffer memory 201 via the buffer store word registers 203a and 203b.

【0072】この場合は、2つのフェッチフローと1つ
のストアフローとによって移動処理が行われるから、移
動命令の処理に要する時間は、特開昭61−20606
1号公報の技法による場合と同様であり、全体として9
サイクル分の時間を要する。
In this case, since the move process is performed by the two fetch flows and the one store flow, the time required to process the move instruction is set to JP-A-61-26066.
This is the same as the case of the technique of Publication No. 1 and is 9 as a whole.
Cycle time is required.

【0073】しかし、演算回路207を経由しない独立
の経路を介してデータの移動処理を行うので、他の演算
処理と並行してデータの移動処理を行うことが可能であ
り、このことにより、データ処理装置の性能の向上を図
ることができる。
However, since the data movement process is performed via an independent path that does not pass through the arithmetic circuit 207, it is possible to perform the data movement process in parallel with other arithmetic processes. The performance of the processing device can be improved.

【0074】また、第1の条件のみが満たされている場
合は、図6(a) に示すように、1アクセス単位分のデー
タを1つのフェッチフロー(図6(a) において符号で
示す)で一括して読み出し、2つのストアフロー(図6
(a) において符号,で示す)に分けて書き込めばよ
い。
When only the first condition is satisfied, as shown in FIG. 6 (a), one access unit of data is fetched by one fetch flow (indicated by a symbol in FIG. 6 (a)). Read in batch with two store flows (Fig. 6
It should be written separately in (a).

【0075】この場合に、移動対象のデータのフェッチ
動作においては、読出制御部218およびタイミング制
御部219は、上述した第1および第2の条件を満たす
場合と同様に動作し、バッファメモリ201からの読出
処理およびムーブデータレジスタ211a,211bへ
のデータの書込動作を制御すればよい。
In this case, in the fetch operation of the data to be moved, the read control unit 218 and the timing control unit 219 operate in the same manner as when the above-mentioned first and second conditions are satisfied, and the read from the buffer memory 201 is started. It is sufficient to control the read processing of 1 and the write operation of data to the move data registers 211a and 211b.

【0076】また、移動対象のデータのストア動作にお
いて、タイミング制御部219は、2つのストアフロー
のプライオリティサイクル(Ps)において、ストアデータ
バッファレジスタ210a,210bのそれぞれに対し
て2回に分けて書き込み指示を送出し、これに続くタグ
読出サイクル(Ts)において、バッファストアワードレジ
スタ203a,203bのそれぞれに対して2回に分け
て書き込み指示を送出すればよい。
In addition, in the store operation of the data to be moved, the timing control section 219 writes into the store data buffer registers 210a and 210b separately twice in the priority cycle (Ps) of the two store flows. In the tag read cycle (Ts) following this, the write instruction may be sent to each of the buffer store word registers 203a and 203b twice.

【0077】このように、タイミング制御部219が、
ストアデータバッファレジスタ210およびバッファス
トアワードレジスタ203を2つのグループに分けて制
御することにより、1つのブロックから1つのフェッチ
フローによって一括して読み出された1アクセス単位分
のデータを2つのグループに分割し、2つのブロックに
跨がって格納することができる。
In this way, the timing controller 219
By controlling the store data buffer register 210 and the buffer store word register 203 by dividing them into two groups, the data for one access unit collectively read by one fetch flow from one block is divided into two groups. It can be divided and stored across two blocks.

【0078】この場合は、1つのフェッチフローと2つ
のストアフローとによって移動処理が行われるから、移
動命令の処理に要する時間は、特開昭61−20606
1号公報の技法による場合と同様であり、全体として9
サイクル分の時間を要する。
In this case, since the move process is performed by one fetch flow and two store flows, the time required to process the move instruction is set to JP-A-61-26066.
This is the same as the case of the technique of Publication No. 1 and is 9 as a whole.
Cycle time is required.

【0079】しかし、演算回路207を経由しない独立
の経路を介してデータの移動処理を行うので、他の演算
処理と並行してデータの移動処理を行うことが可能であ
り、このことにより、データ処理装置の性能の向上を図
ることができる。
However, since the data movement processing is performed via an independent path that does not pass through the arithmetic circuit 207, it is possible to perform the data movement processing in parallel with other arithmetic processing. The performance of the processing device can be improved.

【0080】一方、第1の条件と第2の条件との両方を
満たさない場合は、図6(b) に示すように、図6(b) に
符号,で示した2つのフェッチフローによって1ア
クセス単位分のデータを2つのグループに分けてフェッ
チ動作を行い、ムーブデータレジスタ211a,211
bに1アクセス単位分のデータが揃ったときに、図6
(b) において符号,で示した2つのストアフローに
よって各グループごとにストア動作を行えばよい。
On the other hand, when both the first condition and the second condition are not satisfied, as shown in FIG. 6B, the two fetch flows indicated by the symbols and in FIG. The data for the access unit is divided into two groups to perform the fetch operation, and the move data registers 211a and 211a
When data for one access unit is prepared in b, the data in FIG.
The store operation may be performed for each group according to the two store flows indicated by the symbols and in (b).

【0081】この場合は、2つのフェッチフローと2つ
のストアフローとによって移動処理が行われるから、移
動命令の処理に要する時間は、従来例による場合と同様
であり、全体として10サイクル分の時間を要する。
In this case, since the move processing is performed by the two fetch flows and the two store flows, the time required to process the move instruction is the same as that in the conventional example, and the total time is 10 cycles. Requires.

【0082】しかし、演算回路207を経由しない独立
の経路を介してデータの移動処理を行うので、他の演算
処理と並行してデータの移動処理を行うことが可能であ
り、このことにより、データ処理装置の性能の向上を図
ることができる。
However, since the data movement processing is performed via an independent path that does not pass through the arithmetic circuit 207, it is possible to perform the data movement processing in parallel with other arithmetic processing. The performance of the processing device can be improved.

【0083】このように、読出制御部218とタイミン
グ制御部219とが、第1の条件および第2の条件につ
いての判定結果に応じて動作することにより、第1のア
クセス制御手段126,フェッチ動作制御手段127お
よび第1の転送指示手段128の機能を実現し、移動元
および移動先における移動対象のデータの分布に応じ
て、最小のフロー数で移動命令を実行することが可能と
なる。
As described above, the read control unit 218 and the timing control unit 219 operate according to the determination results for the first condition and the second condition, so that the first access control unit 126 and the fetch operation are performed. By implementing the functions of the control unit 127 and the first transfer instruction unit 128, it becomes possible to execute the move command with the minimum number of flows according to the distribution of the data of the move target at the move source and the move destination.

【0084】一方、データの移動先のアドレスが転送単
位の境界アドレスでない場合は、イネーブル信号送出部
215は、オペランドワードレジスタ206に書き込み
イネーブル信号を送出し、演算制御部216は、従来と
同様に、演算回路207に対して動作の停止を指示し、
この演算回路207をスルー状態とする。また、セレク
タ制御部217は、セレクタ212a,212bに対し
て、ストアデータレジスタ209からのデータを選択す
る旨を指示する。
On the other hand, when the data move destination address is not the boundary address of the transfer unit, the enable signal sending unit 215 sends a write enable signal to the operand word register 206, and the operation control unit 216 operates as in the conventional case. , Instructs the arithmetic circuit 207 to stop the operation,
The arithmetic circuit 207 is put in the through state. In addition, the selector control unit 217 instructs the selectors 212a and 212b to select the data from the store data register 209.

【0085】この場合は、フェッチデータレジスタ20
2a,202bから従来と同様に演算回路207を経由
してストアデータバッファレジスタ210a,210b
に至る経路が形成され、従来と同様に転送単位(つまり
8バイト)ごとのデータの移動処理が行われる。ところ
で、上述した実施例においては、説明を簡単とするため
に、バッファメモリ201のアクセス単位が8バイト×
2(すなわち16バイト)で形成されている場合につい
て説明したが、これに限らず、アクセス単位が内部のバ
スによる転送単位(例えば8バイト)の3倍以上で形成
されている場合にも適用することができる。
In this case, the fetch data register 20
Store data buffer registers 210a and 210b from 2a and 202b via the arithmetic circuit 207 as in the conventional case.
A path is formed, and data transfer processing is performed for each transfer unit (that is, 8 bytes) as in the conventional case. By the way, in the above-mentioned embodiment, the access unit of the buffer memory 201 is 8 bytes × for simplicity of explanation.
Although the case of being formed with 2 (that is, 16 bytes) has been described, the present invention is not limited to this, and is also applied to the case where the access unit is formed with three times or more of the transfer unit (for example, 8 bytes) by the internal bus. be able to.

【0086】例えば、転送単位がnバイトでアクセス単
位がnバイト×m(m>2)で形成されている場合は、
m個のフェッチデータレジスタ2021 ,…,202m
およびm個のバッファストアワードレジスタ2031
…,203m に対応して、m個のムーブデータレジスタ
2111 ,…,211m およびストアデータバッファレ
ジスタ2101 ,…,211m と、これらを接続するデ
ータバスと、各ムーブデータレジスタ211に対応する
セレクタ2121 ,…,212m とを備えて、メモリ制
御装置を構成すればよい。
For example, when the transfer unit is n bytes and the access unit is formed by n bytes × m (m> 2),
m fetch data registers 202 1 , ..., 202 m
And m buffer store word registers 203 1 ,
, 203 m corresponding to m move data registers 211 1 , ..., 211 m and store data buffer registers 210 1 , ..., 211 m , a data bus connecting them, and each move data register 211. The memory control device may be configured by including the corresponding selectors 212 1 , ..., 212 m .

【0087】また、この場合にアドレス判定部214
は、第1の条件あるいは第2の条件が満たされない旨の
判定結果を得た場合に、移動元あるいは移動先におい
て、該当するアクセス単位分のデータが2つのブロック
にどのように分布しているかに関する情報をタイミング
制御部219に送出し、この情報に基づいて、タイミン
グ制御部219は、ムーブデータレジスタ211あるい
はストアデータバッファレジスタ210をグループ分け
して制御すればよい。
In this case, the address determination unit 214
Is how, when a determination result that the first condition or the second condition is not satisfied is obtained, the data of the corresponding access unit is distributed to the two blocks at the source or destination. The timing control unit 219 may control the move data register 211 or the store data buffer register 210 by grouping based on this information.

【0088】また、本発明のメモリ制御装置によって、
主記憶装置内でデータの移動命令処理することも可能で
ある。ところで、中央処理装置内のバッファメモリ20
1内に移動対象のデータが存在しなかった場合には、従
来は、主記憶装置から該当するデータを読み出すムーブ
イン処理を行ってバッファメモリ201の対応する領域
に書き込み、その後、該当するデータを移動先のアドレ
スに移動する処理を行っていた。このムーブイン処理に
よって主記憶装置から読み出されたデータ(以下、ムー
ブインデータと称する)は、中央処理装置内に設けられ
たムーブインデータレジスタに一旦保持され、転送単位
毎にバッファストアワードレジスタ203a,203b
を介してバッファメモリ201に書き込まれていた。
Further, according to the memory control device of the present invention,
It is also possible to process data movement instructions within the main memory. By the way, the buffer memory 20 in the central processing unit
If the data to be moved does not exist in 1, the move-in process of reading the corresponding data from the main storage device is performed and the corresponding data is written in the corresponding area of the buffer memory 201, and then the corresponding data is moved. The process of moving to the previous address was being performed. Data read from the main storage device by this move-in processing (hereinafter referred to as move-in data) is temporarily held in a move-in data register provided in the central processing unit, and is stored in the buffer store word register 203a for each transfer unit. , 203b
Was written in the buffer memory 201 via the.

【0089】以下、本発明のメモリ記憶装置を応用し
て、ムーブインされたデータ(以下、ムーブインデータ
と称する)を対象とした移動命令の処理を高速化する方
法について説明する。
A method of accelerating the processing of a move instruction for move-in data (hereinafter referred to as move-in data) by applying the memory storage device of the present invention will be described below.

【0090】 図7は、請求項3のメモリ制御装置を適
用した中央処理装置の実施例構成図である。図7におい
て、メモリ制御装置は、図3に示したメモリ制御装置
に、ムーブインデータレジスタ(MIDR)221と、このム
ーブインデータレジスタ221と2つのフェッチデータ
レジスタ202a,202bとを結ぶデータバス222
とを付加した構成となっている。なお、このデータバス
222は、図2に示したバイパス経路135に相当する
ものである。
FIG. 7 is a block diagram of an embodiment of a central processing unit to which the memory control device of claim 3 is applied. 7, the memory control device is different from the memory control device shown in FIG. 3 in that a move-in data register (MIDR) 221 and a data bus 222 connecting the move-in data register 221 and the two fetch data registers 202a and 202b.
It has a configuration with and added. In addition, this data bus
222 corresponds to the bypass path 135 shown in FIG.
It is a thing.

【0091】このムーブインデータレジスタ221は、
ムーブインデータ保持手段131に相当するものであ
り、少なくとも1アクセス単位分の容量(例えば、1ブ
ロック分=n×Nバイト)を持っており、主記憶装置1
04とこのムーブインデータレジスタ221とを接続す
るバスを介してデータを受け取って一時的に保持する構
成となっている。
This move-in data register 221 is
It corresponds to the move-in data holding unit 131 and has a capacity of at least one access unit (for example, one block = n × N bytes), and the main storage device 1
04 and the move-in data register 221 are connected via a bus for receiving the data and temporarily holding the data.

【0092】また、上述したデータバス222は1アク
セス単位分の幅を持ち、ムーブインデータレジスタ22
1から出力されるアクセス単位分のデータのうち、前半
の8バイトをフェッチデータレジスタ202aに、後半
の8バイトをフェッチデータレジスタ202bに送出す
る構成となっている。
The above-mentioned data bus 222 has a width of one access unit, and the move-in data register 22
Of the access unit data output from 1, the first 8 bytes are sent to the fetch data register 202a and the second 8 bytes are sent to the fetch data register 202b.

【0093】 また、命令制御部204において、アド
レス判定部214は、請求項3で述べた第4のアドレス
判定手段132として動作し、移動対象のデータのアド
レスに基づいて、該当するデータがバッファメモリ20
1に保持されているか否かを判定する。
Further, in the instruction control unit 204, the address determination unit 214 operates as the fourth address determination unit 132 described in claim 3, and the corresponding data is stored in the buffer memory based on the address of the data to be moved. 20
It is determined whether it is held at 1.

【0094】このアドレス判定部214により、該当す
るデータが保持されていない旨の判定結果が得られた場
合に、読出制御部218は、主記憶装置104に対して
該当するデータのムーブイン処理を要求し、また、イネ
ーブル信号送出部215およびセレクタ制御部217に
より、ムーブデータレジスタ211a,211bを介し
た伝送経路を設定する構成となっている。
When the address determination unit 214 obtains a determination result indicating that the corresponding data is not held, the read control unit 218 requests the main storage device 104 to perform move-in processing of the corresponding data. In addition, the enable signal transmission unit 215 and the selector control unit 217 are configured to set the transmission path via the move data registers 211a and 211b.

【0095】上述した読出制御部218からの要求に応
じて、主記憶装置104により、該当するアクセス単位
を含むブロックのデータが出力され、ムーブインデータ
レジスタ221にセットされる。
In response to the request from the read control unit 218 described above, the main storage device 104 outputs the data of the block including the corresponding access unit and sets it in the move-in data register 221.

【0096】この場合に、読出制御部218は、図8に
示すように、ムーブインデータレジスタ221に該当す
るアクセス単位のデータが揃ったときに、バッファアク
セスサイクルが開始するタイミングでフェッチフローを
開始し、また、このバッファアクセスサイクルにおい
て、ムーブインデータレジスタ221に該当するブロッ
クの出力を指示すればよい。
In this case, as shown in FIG. 8, the read control unit 218 starts the fetch flow at the timing when the buffer access cycle starts when the data of the access unit corresponding to the move-in data register 221 is prepared. In addition, in this buffer access cycle, the output of the block corresponding to the move-in data register 221 may be indicated.

【0097】これにより、図8にで示したフェッチフ
ローのバッファアクセスサイクルにおいて、フェッチデ
ータレジスタ202a,202bには、バッファメモリ
201からのデータの代わりに、ムーブインデータレジ
スタ221からのデータが書き込まれる。
As a result, in the buffer access cycle of the fetch flow shown in FIG. 8, the data from the move-in data register 221 is written into the fetch data registers 202a and 202b instead of the data from the buffer memory 201. .

【0098】このようにしてフェッチデータレジスタ2
02a,202bに書き込まれた1ブロックのデータ
は、上述したバッファメモリ201内での移動処理と同
様に、リードサイクルの終了まで保持され、次のサイク
ルでムーブデータレジスタ211a,211bに書き込
まれる。
In this way, the fetch data register 2
One block of data written in 02a, 202b is held until the end of the read cycle, and is written in the move data registers 211a, 211b in the next cycle, as in the above-described movement processing in the buffer memory 201.

【0099】また、上述したフェッチサイクルの開始か
ら1サイクル遅れてストアフローを開始し、このストア
フローのプライオリティサイクル(Ps)において、ストア
データバッファレジスタ210a,210bに移動対象
のデータを1ブロック分一括して書き込み、更に、タグ
読出サイクル(Ts)において、バッファストアワードレジ
スタ203a,203bに同様にして書き込めばよい。
In addition, the store flow is started one cycle after the start of the fetch cycle described above, and in the priority cycle (Ps) of this store flow, the data to be moved for one block is batch-stored in the store data buffer registers 210a and 210b. Then, in the tag read cycle (Ts), the buffer store word registers 203a and 203b may be similarly written.

【0100】このようにして、ムーブインデータレジス
タ221内の移動対象のデータを直接にバッファメモリ
201の移動先のアドレスに移動することが可能とな
る。これにより、ムーブインデータ全体をバッファメモ
リ201に反映させる前に、移動命令の処理を実行する
ことが可能となり、主記憶装置223からのムーブイン
を伴う移動命令の処理の高速化を図ることができる。
In this way, the data to be moved in the move-in data register 221 can be moved directly to the destination address of the buffer memory 201. As a result, the processing of the move instruction can be executed before the entire move-in data is reflected in the buffer memory 201, and the processing of the move instruction accompanied by the move-in from the main storage device 223 can be speeded up. .

【0101】[0101]

【発明の効果】以上説明したように本発明は、移動対象
のデータのアドレスおよび移動先のアドレスが所定の条
件を満たしているか否かに基づいて、転送手段の動作を
制御することにより、移動対象のデータを移動元から移
動先に最小のフロー数で移動することが可能であるか
ら、メモリにおける移動命令の処理を高速化することが
可能となり、データ処理装置の性能を向上することがで
きる。
As described above, according to the present invention, the movement of the transfer means is controlled by controlling the operation of the transfer means based on whether the address of the data to be moved and the address of the movement destination satisfy a predetermined condition. Since the target data can be moved from the movement source to the movement destination with the minimum number of flows, it is possible to speed up the processing of the movement instruction in the memory and improve the performance of the data processing device. .

【0102】また、この転送手段によって移動命令が処
理される場合は、移動処理から演算手段を解放すること
ができるから、移動処理と他の演算処理とを並行して実
行することが可能となり、データ処理装置の性能を向上
することができる。
When the transfer instruction is processed by the transfer means, the arithmetic means can be released from the movement processing, so that the movement processing and other arithmetic processing can be executed in parallel, The performance of the data processing device can be improved.

【0103】更に、請求項3の発明は、転送手段によ
り、ムーブインデータ保持手段から直接にストアデータ
保持手段に必要なデータを転送することができるから、
ムーブインデータがメモリに反映されるのを待たずに、
メモリ内に存在しないとされたデータを対象とした移動
命令の処理を行うことができる。
Further, in the invention of claim 3, the transfer means can directly transfer the necessary data from the move-in data holding means to the store data holding means.
Without waiting for the move-in data to be reflected in the memory,
It is possible to process a move command targeting data that does not exist in the memory.

【図面の簡単な説明】[Brief description of drawings]

【図1】請求項1および請求項2のメモリ制御装置の原
理ブロック図である。
1 is a principle block diagram of a memory control device according to claim 1 and claim 2;

【図2】請求項3のメモリ制御装置の原理ブロック図で
ある。
FIG. 2 is a block diagram of the principle of the memory control device of claim 3;

【図3】請求項1および請求項2のメモリ制御装置を適
用した中央処理装置の実施例構成図である。
FIG. 3 is a configuration diagram of an embodiment of a central processing unit to which the memory control device of claims 1 and 2 is applied.

【図4】バッファメモリの構成図である。FIG. 4 is a configuration diagram of a buffer memory.

【図5】データ移動動作の説明図である。FIG. 5 is an explanatory diagram of a data movement operation.

【図6】データ移動動作の説明図である。FIG. 6 is an explanatory diagram of a data movement operation.

【図7】請求項3のメモリ制御装置を適用した中央処理
装置の実施例構成図である。
FIG. 7 is a configuration diagram of an embodiment of a central processing unit to which the memory control device of claim 3 is applied.

【図8】データ移動動作の説明図である。FIG. 8 is an explanatory diagram of a data movement operation.

【図9】従来のメモリ制御装置を適用した中央処理装置
の構成例を示す図である。
FIG. 9 is a diagram showing a configuration example of a central processing unit to which a conventional memory control device is applied.

【図10】データ移動動作の説明図である。FIG. 10 is an explanatory diagram of a data movement operation.

【図11】従来のメモリ制御装置を適用した中央処理装
置の別構成例を示す図である。
FIG. 11 is a diagram showing another configuration example of a central processing unit to which a conventional memory control device is applied.

【図12】データ移動動作の説明図である。FIG. 12 is an explanatory diagram of a data movement operation.

【符号の説明】[Explanation of symbols]

101 メモリ 102 演算手段 103 中央処理装置 104 主記憶装置 111 フェッチデータ保持手段 112 ストアデータ保持手段 113 転送手段 114 判定手段 115 移動制御手段 121 移動データ保持手段 122 転送バス 123 第1のアドレス判定手段 124 第2のアドレス判定手段 125 第3のアドレス判定手段 126 第1のアクセス制御手段 127 フェッチ動作制御手段 128 第1の転送指示手段 131 ムーブインデータ保持手段 132 第4のアドレス判定手段 133 第2のアクセス制御手段 134 第2の転送指示手段 201 バッファメモリ 202 フェッチデータレジスタ 203 ストアデータレジスタ 204 命令制御部 205,212,302 セレクタ 206 オペランドワードレジスタ(OWR) 207 演算回路 208 結果レジスタ(RR) 209 ストアデータレジスタ(STDR) 210 ストアデータバッファレジスタ(STDB) 211 ムーブデータレジスタ(MVCR) 214 アドレス判定部 215 イネーブル信号送出部 216 演算制御部 217 セレクタ制御部 218 読出制御部 219 タイミング制御部 221 ムーブインデータレジスタ 222 データバス 301 移動データ保持レジスタ(STDBB) 101 memory 102 computing means 103 Central processing unit 104 main memory 111 fetch data holding means 112 Store data holding means 113 transfer means 114 determination means 115 Movement control means 121 Moving data holding means 122 transfer bus 123 First Address Judging Means 124 Second Address Judging Means 125 Third Address Judging Means 126 First Access Control Means 127 Fetch operation control means 128 first transfer instruction means 131 Move-in data holding means 132 Fourth Address Judging Means 133 second access control means 134 Second transfer instruction means 201 buffer memory 202 Fetch data register 203 Store data register 204 Command control unit 205,212,302 selector 206 Operand Word Register (OWR) 207 arithmetic circuit 208 Result register (RR) 209 Store data register (STDR) 210 Store data buffer register (STDB) 211 Move data register (MVCR) 214 address determination unit 215 Enable signal transmitter 216 Operation controller 217 Selector control unit 218 Read Control Unit 219 Timing control unit 221 Move In Data Register 222 data bus 301 Movement data holding register (STDBB)

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−206061(JP,A) 特開 昭59−229659(JP,A) 特開 昭52−155936(JP,A) 特開 昭51−101435(JP,A) 特開 平5−81124(JP,A) 特開 昭61−165149(JP,A) 特開 平1−111245(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/08 G06F 13/16 - 13/18 G06F 9/30 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP 61-206061 (JP, A) JP 59-229659 (JP, A) JP 52-155936 (JP, A) JP 51- 101435 (JP, A) JP 5-81124 (JP, A) JP 61-165149 (JP, A) JP 1-111245 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 12/00-12/08 G06F 13/16-13/18 G06F 9/30

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 記憶領域が、それぞれが複数バイトから
なる転送単位を複数個まとめて構成されるブロックに分
割されているメモリに対して、複数の前記転送単位から
なるアクセス単位ごとにアクセス処理を制御するメモリ
制御装置であって、 前記メモリ制御装置を介して前記転送単位毎にデータを
受け取り、指示された演算処理の結果を前記メモリ制御
装置を介して前記メモリに書き込む演算手段とともに中
央処理装置に備えられているメモリ制御装置において、 前記メモリから読み出された1アクセス単位分のデータ
を前記転送単位に分割して保持する複数のフェッチデー
タ保持手段と、 前記メモリに書き込む1アクセス単位分のデータを前記
転送単位に分割して保持する複数のストアデータ保持手
段と、 前記複数のフェッチデータ保持手段と前記複数のストア
データ保持手段との間で、データを直接に転送する転送
手段と、移動命令で指定された移動対象のデータのアドレスと移
動先のアドレスとが、所定の条件を満たすか否かを判定
する判定手段と、 前記所定の条件を満たす旨の判定結果に応じて、前記転
送手段による転送動作を指示し、他の場合に、前記演算
手段を介した転送動作を指示する移動制御手段とを備え
たことを特徴とするメモリ制御装置。
1. An access process is performed for each access unit composed of a plurality of transfer units with respect to a memory whose storage area is divided into blocks each composed of a plurality of transfer units each composed of a plurality of bytes. A central processing unit, which is a memory control device for controlling, which receives data for each transfer unit via the memory control device and writes the result of the instructed arithmetic processing to the memory via the memory control device. A plurality of fetch data holding means for holding the data for one access unit read from the memory by dividing the data into the transfer unit, and the one access unit for writing in the memory. A plurality of store data holding means for holding the data divided into the transfer units; Between means and said plurality of storage data holding means, a transfer means for transferring the data directly to the transfer address of the data to be moved that is specified by the movement command
Judge whether the destination address and the specified condition meet
And the transfer result according to the determination result that the predetermined condition is satisfied.
Instructs the transfer operation by the sending means, and in the other cases, the above calculation
And a movement control means for instructing a transfer operation via the means.
A memory control device characterized by the above.
【請求項2】 請求項1に記載のメモリ制御装置におい
て、 転送手段は、 書き込み指示に応じて、対応するフェッチデータ保持手
段に保持された転送単位のデータを保持する複数の移動
データ保持手段と、 転送指示に応じて、前記複数の移動データ保持手段のそ
れぞれに保持された転送単位のデータを対応するストア
データ保持手段に転送する転送バスとを備えた構成であ
り、 判定手段は、 移動対象のデータのアドレスと移動先のアドレスとの両
方が、ブロックを形成する転送単位の境界アドレスであ
る場合に、所定の条件を満たしている旨の判定結果を出
力する第1のアドレス判定手段と、 前記移動対象のデータのアドレスに基づいて、前記移動
対象のデータが前記メモリの1つのブロック内に納まっ
ているか否かを判定する第2のアドレス判定手段と、 移動先のアドレスに基づいて、移動後のデータが1つの
ブロックに納まるか否かを判定する第3のアドレス判定
手段とを備えた構成であり、 移動制御手段は、 前記移動対象のデータが1つのブロック内に納まってい
る旨の判定結果に応じて、前記メモリに該当するアクセ
ス単位分のデータの出力を指示し、前記移動対象のデー
タが2つのブロックに跨がっている旨の判定結果に応じ
て、前記メモリに該当するアクセス単位分のデータを前
記ブロックごとに2回に分けて出力する旨を指示する第
1のアクセス制御手段と、 前記移動対象のデータが1つのブロック内に納まってい
る旨の判定結果に応じて、前記複数の移動データ保持手
段の全てに対して同時に書き込み指示を送出し、前記移
動対象のデータが2つのブロックに跨がっている旨の判
定結果に応じて、前記2つのブロックにおける前記移動
対象のデータの分布に基づいて前記複数の移動データ保
持手段を2つのグループに分け、グループごとに書き込
み指示を送出するフェッチ動作制御手段と、 前記移動後のデータが1つのブロックに納まる旨の判定
結果に応じて、前記転送バスに前記複数の移動データ保
持手段に保持されたアクセス単位分のデータを一括して
転送する旨の転送指示を送出し、前記移動後のデータが
2つのブロックに跨がる旨の判定結果に応じて、前記2
つのブロックにおける前記移動後のデータの分布に基づ
いて前記複数の移動データ保持手段を2つのグループに
分け、前記転送バスに対して、前記アクセス単位分のデ
ータを前記グループごとに2回に分けて転送する旨の転
送指示を送出する第1の転送指示手段とを備えた構成で
あることを特徴とするメモリ制御装置。
2. The memory control device according to claim 1, wherein the transfer means includes a plurality of movement data holding means for holding the data of the transfer unit held in the corresponding fetch data holding means in response to the write instruction. A transfer bus for transferring the data of the transfer unit held in each of the plurality of moving data holding means to the corresponding store data holding means in accordance with a transfer instruction, and the judging means is a moving target. A first address determining unit that outputs a determination result indicating that a predetermined condition is satisfied, when both the address of the data and the address of the transfer destination are boundary addresses of transfer units forming a block; A second address for determining whether the data to be moved is stored in one block of the memory based on the address of the data to be moved. And a third address determining means for determining whether or not the data after the movement can be stored in one block based on the address of the movement destination. According to the determination result that the target data is stored in one block, the memory is instructed to output the data of the corresponding access unit, and the transfer target data is spread over two blocks. 1st access control means for instructing to output the data corresponding to the access unit corresponding to the memory in two times for each block according to the determination result indicating that the data to be moved is 1 In response to the determination result that the data is stored in one block, a write instruction is simultaneously sent to all of the plurality of moving data holding units, and the data to be moved is stored in two blocks. In accordance with the result of the determination that the data is straddling, the plurality of pieces of movement data holding means are divided into two groups based on the distribution of the movement target data in the two blocks, and a write instruction is sent for each group. In accordance with the fetch operation control means and the determination result that the data after the movement is stored in one block, the data for the access unit held in the plurality of movement data holding means is collectively transferred to the transfer bus. A transfer instruction to that effect is sent, and in accordance with the result of the determination that the data after the movement spans two blocks, the
The plurality of moving data holding means are divided into two groups based on the distribution of the moved data in one block, and the access unit data is divided into two groups for the transfer bus. A memory control device comprising: a first transfer instruction means for sending out a transfer instruction to transfer.
【請求項3】 請求項1に記載のメモリ制御装置におい
て、 メモリは、中央処理装置に備えられたバッファメモリで
あって、主記憶装置内のデータの一部をその格納場所に
対応して記憶しており、 前記主記憶装置から前記メモリへのデータの書き込みを
媒介するムーブインデータ保持手段と、 前記ムーブインデータ保持手段から出力されたデータを
前記フェッチデータ保持手段2入力するためのバイパス
経路と、 前記移動命令で指定された移動対象のデータのアドレス
に基づいて前記移動対象のデータが前記メモリに保持さ
れているか否かを判定し、前記移動対象のデータが前記
メモリに保持されていない場合に、移動対象のデータの
アドレスに関する第2の条件を満たす旨の判定結果を出
力する第4のアドレス判定手段を備え、 移動制御手段は、前記第2の条件 を満たす旨の判定結果に応じて、前記
ーブインデータ保持手段に対して保持しているデータを
前記バイパス経路に出力する旨を指示する第2のアクセ
ス制御手段と、前記第2の条件を満たす旨の判定結果に応じて、前記
送手段に前記フェッチデータ保持手段から前記ストアデ
ータ保持手段へのデータ転送を指示する第2の転送指示
手段とを備えたことを特徴とするメモリ制御装置。
3. The memory control device according to claim 1, wherein the memory is a buffer memory provided in the central processing unit, and stores a part of the data in the main storage device corresponding to the storage location. and and a move-in data holding means for mediating writing data in the memory from the main memory, the data output from the move-in data holding means
Bypass for inputting the fetch data holding means 2
Route and address of data to be moved specified by the move command
The data to be moved is stored in the memory according to
It is determined whether or not the data to be moved is
If the data to be moved is not stored in memory,
Outputs the judgment result that the second condition regarding the address is satisfied.
A fourth address determination means for force, movement control means, in response to that the determination result satisfies the second condition, the data held to said beam <br/> Buindeta holding means
Depending on the second access control means for instructing to output to the bypass path and the result of the determination that the second condition is satisfied, the transfer means is instructed from the fetch data holding means to the store data.
A memory control device comprising: second transfer instructing means for instructing data transfer to the data holding means .
JP17997594A 1994-08-01 1994-08-01 Memory controller Expired - Fee Related JP3490502B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17997594A JP3490502B2 (en) 1994-08-01 1994-08-01 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17997594A JP3490502B2 (en) 1994-08-01 1994-08-01 Memory controller

Publications (2)

Publication Number Publication Date
JPH0844614A JPH0844614A (en) 1996-02-16
JP3490502B2 true JP3490502B2 (en) 2004-01-26

Family

ID=16075264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17997594A Expired - Fee Related JP3490502B2 (en) 1994-08-01 1994-08-01 Memory controller

Country Status (1)

Country Link
JP (1) JP3490502B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1095314A (en) * 1996-09-20 1998-04-14 Ntn Corp Wiper blade and its manufacture
EP1990730B1 (en) 2006-02-27 2017-09-27 Fujitsu Ltd. Cache controller and cache control method
US8635390B2 (en) * 2010-09-07 2014-01-21 International Business Machines Corporation System and method for a hierarchical buffer system for a shared data bus

Also Published As

Publication number Publication date
JPH0844614A (en) 1996-02-16

Similar Documents

Publication Publication Date Title
US4675806A (en) Data processing unit utilizing data flow ordered execution
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US5680338A (en) Method and system for vector processing utilizing selected vector elements
US7330914B2 (en) DMA controller, DMA control method and DMA control program
US5890222A (en) Method and system for addressing registers in a data processing unit in an indirect addressing mode
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
US4771380A (en) Virtual vector registers for vector processing system
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
KR20020020186A (en) Multiple logical interfaces to a shared coprocessor resource
JPS6131502B2 (en)
US5471597A (en) System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables
CA1181865A (en) Microprogrammed control of extended integer instructions through use of a data type field in a central processor unit
JPH0512750B2 (en)
JP3490502B2 (en) Memory controller
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
KR19990029748A (en) Devices for read / write access to the registers of the central processing unit
JPH04260957A (en) Computer system
US5832533A (en) Method and system for addressing registers in a data processing unit in an indexed addressing mode
JPH05143451A (en) Data processor
US5050076A (en) Prefetching queue control system
EP0992889A1 (en) Interrupt processing during iterative instruction execution
JP2591200B2 (en) Program prefetching device
US6694423B1 (en) Prefetch streaming buffer
JP2861560B2 (en) Data processing device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031028

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees