JPS615358A - Data processor - Google Patents

Data processor

Info

Publication number
JPS615358A
JPS615358A JP59117111A JP11711184A JPS615358A JP S615358 A JPS615358 A JP S615358A JP 59117111 A JP59117111 A JP 59117111A JP 11711184 A JP11711184 A JP 11711184A JP S615358 A JPS615358 A JP S615358A
Authority
JP
Japan
Prior art keywords
memory
data
address
operand
block
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.)
Granted
Application number
JP59117111A
Other languages
Japanese (ja)
Other versions
JPH0361213B2 (en
Inventor
Tsutomu Tanaka
勉 田中
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 JP59117111A priority Critical patent/JPS615358A/en
Publication of JPS615358A publication Critical patent/JPS615358A/en
Publication of JPH0361213B2 publication Critical patent/JPH0361213B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To make use of the function of a buffer memory by prefetching the next data at an idle time of an interface in a memory access mode of continuous addresses and then prefetching the subsequent memory accesses at an idle time of a memory control part in a single operand fetching mode. CONSTITUTION:The accesses are given to the continuous addresses in an instruction fetching mode or an operand fetching mode of a move instruction, etc. Therefore 64 bytes are added to the continuous addresses by an adder 11 even in case it is detected that the data to which an access is presently given exists in a buffer memory. Then those bytes are set to a prefetch port 16 under the control of a memory access mode detecting part 17. Thus a prefetching action is carried out. When it is detected in a memory access mode of a single operand that the corresponding data is not detected in the memory 6, a normal block fetching request is sent to a main memory 15. Then a prefetching action is carried out by the subsequent operand fetch address in parallel to a block fetching action until the corresponding address data is sent back.

Description

【発明の詳細な説明】 (al  産業上の利用分野 本発明は、バッファメモリと、該バッファメモリに対す
るブロック単位のプリフェッチ機能を有するデータ処理
装置におけるプリフェッチ機能に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a buffer memory and a prefetch function in a data processing apparatus having a block-by-block prefetch function for the buffer memory.

超高速のデータ処理を要求され、バッファメモリを備え
たデータ処理装置においては、該バッファメモリをアク
セスして°ノンヒソドの時、主記憶装置から該バッファ
メモリへのデータ転送(ブロックフェッチ)動作は、性
能を低下させる原因の一つであるが、バッファメモリの
容量の制限により、ある程度はやむを得ないものである
In a data processing device that is required to perform ultra-high-speed data processing and is equipped with a buffer memory, when the buffer memory is accessed and the data is not accessed, the data transfer (block fetch) operation from the main memory to the buffer memory is as follows: Although this is one of the causes of performance deterioration, it is unavoidable to some extent due to the limited capacity of the buffer memory.

然しながら、■バッファメモリ内のデータにより、命令
制御部や演算部が動作している時には、主記憶装置との
インタフェース部は使用されていないし、■1度ブロッ
クフェッチ動作に入ると、当該データブロックが主記憶
装置から転送されてくる迄の間、上記命令制御部や演算
部には空き時間が発生する。
However, ■When the instruction control unit and calculation unit are operating based on data in the buffer memory, the interface unit with the main memory is not used, and ■Once a block fetch operation is started, the data block is Until the data is transferred from the main memory, idle time occurs in the instruction control section and the calculation section.

上記の、■で示した空きタイミングを使用して、予め必
要と思われるデータをバッファメモリに先取りすること
により、データ処理装置の性能を向上させることができ
ることに着目した効果的なプリフェッチ機能が要望され
ていた。
There is a demand for an effective prefetch function that focuses on the fact that the performance of the data processing device can be improved by pre-fetching data deemed necessary into the buffer memory using the free timing shown in ■ above. It had been.

又、メモリアクセスについては、連続したオペランドデ
ータと共に、命令においても、ある命令をフェッチする
と、以降の命令フェッチは上記命令を含む、あるアドレ
スの範囲内の命令をフェッチすることが繰り返されると
云うプログラムの局所性があり、上記命令を含むデータ
ブロックの次のプロ・ツクをプリフェッチしておくこと
により、処理能力の向上が期待できる。
In addition, regarding memory access, when a certain instruction is fetched along with continuous operand data, the program repeatedly fetches instructions within a certain address range, including the above instruction. By prefetching the next program of the data block containing the above-mentioned instruction, processing performance can be expected to be improved.

従って、データ処理装置において、命令制御部からメモ
リ制御部へのフェッチアクセスは、次の2つに大きく分
類できる。
Therefore, in the data processing device, fetch accesses from the instruction control unit to the memory control unit can be broadly classified into the following two types.

即ち、 +1)命令フェッチや、連続したアドレスのオペランド
フェッチ。
That is, +1) instruction fetch or operand fetch of consecutive addresses.

(2111−(不連続なアドレス)のオペランドフェッ
チ。
(2111-operand fetch of (discontinuous address).

そして、(1)に対しては、次のデータブロックをプリ
フェッチしておくことにより、バッファメモーリに対す
るヒント率を向上させることができる。
Regarding (1), by prefetching the next data block, the hint rate for the buffer memory can be improved.

(2)に対しては、後続するメモリアクセスのオペラン
ドデータをバッファメモリに読み取っておくことにより
、当該データ処理装置の性能の向上化が図れる。
Regarding (2), the performance of the data processing device can be improved by reading operand data for subsequent memory access into the buffer memory.

こうした面から、メモリアクセスの上記(])、 +2
1の特性を生かしたプリフェッチ機能が要求されていた
From this point of view, the above (]), +2 for memory access
A prefetch function that takes advantage of the characteristics of 1 was required.

fb)  従来の技術 バッファメモリを有するデータ処理装置における従来方
式のプリフェッチ機能を第2図によって説明する。
fb) Prior Art A conventional prefetch function in a data processing device having a buffer memory will be explained with reference to FIG.

先ず、通常のフェッチ動作については、命令制御部(以
下IUと云う)1よりのフェッチ要求EAGに対応する
フェッチアドレスが、セレクタ2を通して実行アドレス
レジスタ(EAI?) 3に七ン[・され、バッファメ
モリ(BS) 6.及び該へソファメモリ(BS) 6
のアドレス情報を保持しているタグ部(TAG)4をア
クセスする。
First, in a normal fetch operation, the fetch address corresponding to the fetch request EAG from the instruction control unit (hereinafter referred to as IU) 1 is transferred to the execution address register (EAI?) 3 through the selector 2, and then stored in the buffer. Memory (BS) 6. and sofa memory (BS) 6
The tag section (TAG) 4 holding the address information of is accessed.

タグ部(TAG) 4.及び一致検出回路(1CH> 
5により、バッファメモリ(BS) 6上に、上記フェ
ッチ要求(EAG)に対するデータブロックが存在する
ことが検出された場合、バッファメモリ(BS) 6か
らセレクタ7を通して、当該データが読み出され、上記
フェッチ要求(EAG)が命令の場合には命令ワードレ
ジスタ(tWR) 8にセントされた後、IU 1に送
出され、上記フェッチ要求(EAG)がオペランドフェ
ッチの場合にはオペランドワードレジスタ(OWR)9
にセットされた後、演算部(EU) 10に送出される
Tag section (TAG) 4. and coincidence detection circuit (1CH>
5, when it is detected that a data block corresponding to the fetch request (EAG) exists on the buffer memory (BS) 6, the data is read from the buffer memory (BS) 6 through the selector 7, and the data is read out from the buffer memory (BS) 6 through the selector 7. If the fetch request (EAG) is an instruction, it is sent to the instruction word register (tWR) 8 and then sent to IU 1; if the fetch request (EAG) is an operand fetch, it is sent to the operand word register (OWR) 9.
After being set to , it is sent to the calculation unit (EU) 10.

タグ部(TAG) 4.及び一致検出回路(MCI) 
5により、バッファメモリ(BS) 6上に、上記デー
タブロックが存在しないことが検出された時、上記フェ
ッチアドレスは実行アドレスレジスタ(EAR) 3か
ら実アドレスレジスフ(RAR) 13.主記憶アドレ
スレジスタ(MSAR) ’14を経て、ブロックフェ
ッチ要求と共に主記憶装置(にJ、下MCUと云う)1
5に送出される。
Tag section (TAG) 4. and coincidence detection circuit (MCI)
5, when it is detected that the data block does not exist on the buffer memory (BS) 6, the fetch address is transferred from the execution address register (EAR) 3 to the real address register (RAR) 13. Main memory address register (MSAR) 14 is sent to the main memory unit (hereinafter referred to as MCU) 1 along with the block fetch request.
Sent on 5th.

MCII 15から当該フェッチアドレスのデータブロ
ックが転送されてくると、そのデータをバ・/ファメモ
リ(BS) 6に登録し、アドレス情報をタグ部(TA
G) 4に登録するように制御される。
When the data block of the fetch address is transferred from the MCII 15, the data is registered in the buffer memory (BS) 6, and the address information is stored in the tag section (TA).
G) Controlled to register in 4.

この時、上記データの内、一番最初のものは、バッファ
メモリ(BS) 6に登録されると同時に、バイパス動
作により、命令ワードレジスタ(IWR) 8゜又はオ
ペランドワードレジスタ(OWR) 9にセントされ、
IU 1.又は演算部(EU) 1.0に送出される。
At this time, the first data among the above data is registered in the buffer memory (BS) 6, and at the same time is stored in the instruction word register (IWR) 8 or operand word register (OWR) 9 by bypass operation. is,
IU 1. Or sent to the processing unit (EU) 1.0.

(尚、登録、及びバイパスの為の回路は図示していない
) 次に、プリフェッチ動作については、例えばムーブ命令
のように連続したオペランドデータを必要とする場合に
は、当該ムーブ命令が検出されると、実行アドレスレジ
スタ(IEAR) 3にセントされたオペランドアドレ
スを加算器(INC) 11に送出し、1ブロック分の
アドレス64 (64バイト/ブロツクの時)を加算し
たアドレスをプリフェッチポート(PF PORT) 
16にセットし、セレクタ2を通して実行アドレスレジ
スタ(EAR) 3にセントし、タグ部(TAG) 4
.及び一致検出回路(MC)l) 5により、当該デー
タブロックが、バッファメモリ(BS) 6に存在しな
いことが検出されると、該実行アドレスレジスタ(EA
R) ’ 3のア・ドレスを実アドレスレジスタ(RA
R) 13.主記憶アドレスレジスタ(MSAR) 1
41mして、ブロックフェッチ要求と共に、MCU 1
5に送出し、例えばバッファメモリ(BS) 6と演算
部(EU)10との間でムーブ動作を行っている間に、
該ムーブ動作と並行に、或いは通常のブロックフェ・7
チ動作と並行に、上記プリフェッチの為のブロックフェ
ッチを行ってきた。
(The circuits for registration and bypass are not shown.) Next, regarding the prefetch operation, if continuous operand data is required, such as a move instruction, the move instruction is detected. Then, the operand address written to execution address register (IEAR) 3 is sent to adder (INC) 11, and the address obtained by adding address 64 for one block (at the time of 64 bytes/block) is sent to prefetch port (PF PORT). )
16, enter the execution address register (EAR) 3 through selector 2, and write the tag section (TAG) 4.
.. When the matching detection circuit (MC) 5 detects that the data block does not exist in the buffer memory (BS) 6, the execution address register (EA
R) ' Save the address of 3 to the real address register (RA
R) 13. Main memory address register (MSAR) 1
41m, along with a block fetch request, MCU 1
For example, while performing a move operation between the buffer memory (BS) 6 and the calculation unit (EU) 10,
In parallel with the move operation or the normal block feed 7
In parallel with the fetch operation, the block fetch for the above-mentioned prefetch has been performed.

(C)  発明が解決しようとする問題点即ち、従来方
式においては、上記のように連続したオペランドデータ
に対してのみ行うと云うような、1つのプリフェッチ機
能だけであるので、プリフェッチが可能なメモリアクセ
スに限りがあり、プリフェッチができる機会が少なく、
バッファメモリを有するデータ処理装置の処理能力を極
限近くまで向上させることができないと云う問題があっ
た。
(C) The problem that the invention aims to solve is that in the conventional method, there is only one prefetch function, which is performed only on continuous operand data as described above, Access is limited, there are few opportunities for prefetching,
There has been a problem in that the processing capacity of a data processing device having a buffer memory cannot be improved to near its maximum limit.

本発明は上記従来の欠点に鑑み、メモリアクセスの特性
に着目して、データ処理装置の命令制御部からのメモリ
アクセスを、前記2つの系統に分けて、それぞれのメモ
リアクセスの特徴に適したプリフェッチを行う方法を提
供することを目的とするものである。
In view of the above conventional drawbacks, the present invention focuses on the characteristics of memory access, divides memory access from the instruction control unit of a data processing device into the two systems, and performs prefetch processing suitable for the characteristics of each memory access. The purpose is to provide a method for doing this.

(d)  問題点を解決する為の手段 そしてこの目的は、メモリアクセスの内、■命令フェッ
チや、連続したオペランドフェッチのように、該メモリ
アクセスにアドレスの連続性が期待されるメモリアクセ
スに対しては、該アクセスアドレスに1ブロツクのバイ
ト数を加算したアドレスのデータブロックを、バッファ
メモリのデータにより演算部等が動作している時には、
主記憶装置とのインタフェースが空いていることに着目
して、或いは既に、通常のブロックフェッチが行われい
る場合には、該ブロックフェッチ動作と並行して、次の
データブロックを先取りするように、 ■単一のオペランドフェッチに対しては、−変通や。ッ
’a、、、ア、、7□41,3ヤよ、”4M5’ 9 
     ’がバッファメモリに転送されてくる迄の間
、メモリ制御部等は空き時間となることに着目して、後
続するメモリアクセスの先取りを行うように、上記、2
つのケースを検出する手段と1両者を切り替える手段と
を設け、それぞれのケースに対応したプリフェッチ動作
を行う方法を提供することによって達成される。
(d) Means to solve the problem and this purpose is for memory accesses where address continuity is expected in the memory accesses, such as instruction fetches and consecutive operand fetches. Then, when the arithmetic unit, etc. is operating based on the data in the buffer memory, the data block whose address is obtained by adding the number of bytes of one block to the access address is
Focusing on the fact that the interface with the main storage device is free, or when a normal block fetch is already being performed, the next data block is prefetched in parallel with the block fetch operation. ■For a single operand fetch, use -mutant. t'a,,,a,,7□41,3 Yayo, "4M5" 9
The memory control unit, etc. takes note of the free time until ' is transferred to the buffer memory, and preempts the subsequent memory access.
This is achieved by providing means for detecting one case and means for switching between the two cases, and providing a method for performing a prefetch operation corresponding to each case.

(el  作用 即ち、本発明によれば、上記■、■で示した2つのケー
スを検出して、それぞれのケースに対応したプリフェッ
チ動作が行われるように制御されるので、バッファメモ
リの機能を最大限走体かすことができ、データ処理装置
の処理能力を向上させることかできる効果がある。
In other words, according to the present invention, the two cases shown in ■ and ■ above are detected and the prefetch operation corresponding to each case is controlled to be performed, thereby maximizing the function of the buffer memory. This has the effect of improving the processing capacity of the data processing device by making it possible to use a limited running object.

if)  実施例 以下本発明の実施例を図面によって詳述する。if) Example Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は本発明の一実施例をブロック図で示したもので
、第2図の従来方式と比較すると明らかなように、本発
明においては、メモリアクセス形態検出部(MAFDE
T) 17の制御信号Sにより、バッファメモリ(BS
) 6に対するプリフェッチ方法を切り替えている所に
特徴がある。
FIG. 1 is a block diagram showing an embodiment of the present invention.As is clear from a comparison with the conventional system shown in FIG.
T) 17 control signal S causes buffer memory (BS
) The feature is that the prefetch method for 6 is switched.

(’a) IU 1からのメモリアクセスが命令フエ・
ノチ。
('a) Memory access from IU 1 is
Nochi.

又は連続したアドレスのオペランドフェッチの場合のプ
リフェッチ動作。
Or prefetch operation in case of operand fetch of consecutive addresses.

命令フェッチや、ムーブ命令等のオペランドフェッチは
連続したアドレスを連続的にアクセスする為、現在アク
セスしているアドレスのデータがタグ部(TAG) 4
.一致検出回路(MCI) 5 ニよッテ、バッファメ
モリ(BS) 6に存在することが検出されても、当該
アドレスに64バイト (本実施例においては、バッフ
ァメモリ(BS) 6の1ブロツクが64バイトとする
)を加算器(ING) 11で加算したアドレスを、メ
モリアクセス形態検出部(MAFDET) 17の制御
信号Sによってセレクタ12を制御して、プリフェッチ
ポート(PF PORT) ”16にセントし、セレク
タ2を通して、実行アドレスレジスタ(EAI?) 3
にセットし、タグ部(TAG) 4.及び一致検出回路
(MCI)5によって、当該アドレスのデータブロック
がバッファメモリ(BS) 6に存在することが検出さ
れた時には、該プリフェッチ動作を終了し、存在しない
時には、そのアドレスを、プリフェッチのブロックフェ
ッチ要求と共に、実アドレスレジスタ(RAR) 13
.主記憶アドレスレジスタ(MSAR) 14を通して
MCU 15に送出する。
Since instruction fetches and operand fetches such as move instructions continuously access consecutive addresses, the data at the currently accessed address is in the tag section (TAG) 4
.. Coincidence Detection Circuit (MCI) The selector 12 is controlled by the control signal S of the memory access type detection unit (MAFDET) 17, and the address added by the adder (ING) 11 is sent to the prefetch port (PF PORT) 16. , through selector 2, execution address register (EAI?) 3
and tag section (TAG) 4. When the coincidence detection circuit (MCI) 5 detects that a data block at the address exists in the buffer memory (BS) 6, the prefetch operation is terminated, and when the data block does not exist, the address is stored in the prefetch block. Along with the fetch request, the real address register (RAR) 13
.. It is sent to the MCU 15 through the main memory address register (MSAR) 14.

MCU 15からの当該プリフェッチアドレスのデータ
ブロックが転送されてくると、そのデータをバッファメ
モリ(BS) 6に登録し、アドレス情報をタグ部(T
AG) 4に登録して、当該プリフェッチ動作を終了す
る。
When the data block of the prefetch address is transferred from the MCU 15, the data is registered in the buffer memory (BS) 6, and the address information is stored in the tag section (T
AG) 4 and terminate the prefetch operation.

この動作は、第2図で説明した通常のブロックフェッチ
動作が行われている場合には、該ブロックフェッチ動作
と並行して行われる。
This operation is performed in parallel with the normal block fetch operation described in FIG. 2 when the normal block fetch operation is being performed.

(b) IU 1からのアクセスが単一(即ち、不連続
なアドレス)のオペランドフェッチの場合のプリフェッ
チ・ ロード命令等のオペランドフェッチは1回のアクセスで
終了する為、次の命令のオペランドフェッチアドレスと
は無関係である為、フェッチアドレスを64バイト加算
したアドレスでプリフェッチを行う上記(a)のような
プリフェッチは意味がない為、本発明においては以下の
ようなプリフェッチを行う。
(b) Prefetch when the access from IU 1 is a single (i.e., discontinuous address) operand fetch Since operand fetch such as a load instruction is completed in one access, the operand fetch address of the next instruction is Since the prefetch is unrelated to the fetch address, the prefetch as described in (a) above, in which the prefetch is performed using an address obtained by adding 64 bytes to the fetch address, is meaningless. Therefore, in the present invention, the following prefetch is performed.

ある単一オペランドのメモリアクセスにおいて、タグ部
(TAG) 4.及び一致検出回路(MCII) 6に
よって、当該データがバッファメモリ(BS) 6に存
在しないことが検出され、前記(a)で説明した動作に
従って、通常のブロックフェッチ要求力<MCU 11
に送出された場合、当該アドレスのデータがMCU 1
1からバッファメモリ(BS) 6に転送されてくる迄
の間に、上記ブロックフェッチ動作と並行に、後続して
いるオペランドフェッチのアドレスによりプリフェッチ
を行うように制御される。
In a certain single-operand memory access, a tag part (TAG) 4. The matching detection circuit (MCII) 6 detects that the data does not exist in the buffer memory (BS) 6, and according to the operation described in (a) above, the normal block fetch request force < MCU 11
If the data at that address is sent to MCU 1
1 to the buffer memory (BS) 6, a prefetch is controlled to be performed in parallel with the block fetch operation based on the address of the subsequent operand fetch.

具体的には、通常のブロックフェッチ要求がl’1cU
llに送出された場合、次にIUIから来ているオペラ
ンドフェッチアドレス(EAG)が実行アドレスレジス
タ(EAR) 3にセットされた時点で、当該アドレス
をメモリアクセス形態検出部(MAFDET) 17か
らの制御信号Sによってセレクタ12を制御し、上記実
行アドレスレジスタ(EAR) 3にセットされたアド
レスを直接〔即ち、加算器(INC) 11で64を加
算することなく〕プリフェッチポート(PP PORT
)16にセントし、そのアドレスをセレクタ2を通して
実行アドレスレジスタ(EAR) 3に送出し、タグ部
(TAG) 4.及び一致検出回路(MCI) ’5に
よって、当該アドレスのデータがバッファメモリ(BS
) 6に存在していることが検出された時、該プリフェ
ッチ動作を終了し、該データが存在しない時には、実行
アドレスレジスタ(EAR) 3のアドレスを、実アド
レスレジスタ(RAR) 13.主記憶アドレスレジス
タ(MSAR) 14を通して、プリフェッチの為のブ
ロックフェッチ要求と共に、MCII 11に送出する
Specifically, a normal block fetch request is l'1cU
When the next operand fetch address (EAG) coming from the IUI is set in the execution address register (EAR) 3, the address is sent under control from the memory access type detection unit (MAFDET) 17. The selector 12 is controlled by the signal S, and the address set in the execution address register (EAR) 3 is directly sent to the prefetch port (PP PORT) (i.e., without adding 64 in the adder (INC) 11).
) 16 and sends the address to the execution address register (EAR) 3 through the selector 2, and the tag section (TAG) 4. The data at the address is transferred to the buffer memory (BS) by the coincidence detection circuit (MCI) '5.
) 6, the prefetch operation is terminated, and when the data does not exist, the address of the execution address register (EAR) 3 is transferred to the real address register (RAR) 13. It is sent to the MCII 11 through the main storage address register (MSAR) 14 along with the block fetch request for prefetching.

MCU 11から当該フェッチアドレスのデータが転送
されてくると、そのデータをバッファメモリ(BS) 
6に登録し、アドレス情報をタグ部(TAG) 4に登
録して、本プリフェッチ動作を終了する。
When the data at the fetch address is transferred from the MCU 11, the data is transferred to the buffer memory (BS).
6, and the address information is registered in the tag section (TAG) 4, and this prefetch operation is completed.

このように、本発明においては、第2図で説明した通常
のフェッチ動作と、(a)、又は(b)のプリフェッチ
動作が、メモリアクセス形態検出部(MAFDET) 
17からの制御信号Sによって動的に切り替えられて動
作する所に特徴がある。
In this way, in the present invention, the normal fetch operation explained in FIG.
It is characterized in that it operates by being dynamically switched by a control signal S from 17.

(a 発明の効果 以上、詳細に説明したように、本発明のデータ処理装置
は、メモリアクセスの内、 ■命令フェッチや、連続したオペランドフェッチのよう
に、該メモリアクセスにアドレスの連続性が期待される
メモリアクセスに対しては、該アクセスアドレスに1ブ
ロツクのバイト数(例えば、64)を加算したアドレス
のデータブロックを、バッファメモリのデータにより演
算部等が動作している時には、主記憶装置とのインタフ
ェースが空いていることに着目して、゛或いは既に、通
常のブロックフェッチが行われいる場合には、該ブロッ
クフェッチ動作と並行して、次のデータブロックを先取
りするように、 ■単一のオペランドフェッチに対しては、−変通常のブ
ロックフェッチ動作に入ると、当該データがバッファメ
モリに転送されてくる迄の間、メモリ制御部等が空き時
間となることに着目して、後続するメモリアクセスの先
取りを行うように、上記、2つのケースを検出する手段
と1両者を切り替える手段とを設け、それぞれのケース
に対応したプリフェッチ動作が行われるように制御され
るので、バッファメモリの機能を最大限走性かすことが
でき、データ処理装置の処理能力を向上させることかで
きる効果がある。
(a) Effects of the Invention As explained in detail above, the data processing device of the present invention has the advantage that, in memory accesses, address continuity is expected in the memory accesses, such as instruction fetches and consecutive operand fetches. When a memory access is performed, the data block at the address obtained by adding the number of bytes of one block (for example, 64) to the access address is stored in the main memory when the arithmetic unit is operating based on the data in the buffer memory. Focusing on the fact that the interface with the For the first operand fetch, we focused on the fact that when a normal block fetch operation starts, the memory control unit, etc. becomes idle until the relevant data is transferred to the buffer memory. In order to prefetch the memory access to be performed, a means for detecting the two cases described above and a means for switching between the two cases are provided, and the prefetch operation corresponding to each case is controlled to be performed. This has the effect of maximizing the functionality and improving the throughput of the data processing device.

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

第1図は本発明の一実施例をブロック図で示した図。 第2図は従来方式のプリフェッチ動作を説明する図、で
ある。 図面において、 1は命令制御部(IU)、  2,7.12はセレクタ
。 3は実行アドレスレジスタ(EAR) 。 4はタグ部(TAG)、    5は一致検出回路(M
CH) 。 6はバッファメモリ(BS) 。 8は命令ワードレジスタ(IWR)。 9はオペランドワードレジスタ(OWR) 。 10は演算部(EU)、    11は加算器(ING
)。 13は実アドレスレジスタ(RAR) 。 14は主記憶アドレスレジスタ(MSAR) 。 15は主記憶装置(MCU)。 16はプリフェッチボー) (PF PORT) 。 17はメモリアクセス形態検出部(MAFDET) 。 Sはセレクタ制御信号。 をそれぞれ示す。
FIG. 1 is a block diagram showing an embodiment of the present invention. FIG. 2 is a diagram illustrating a conventional prefetch operation. In the drawing, 1 is an instruction control unit (IU), 2, 7.12 is a selector. 3 is the execution address register (EAR). 4 is a tag section (TAG), 5 is a match detection circuit (M
CH). 6 is a buffer memory (BS). 8 is an instruction word register (IWR). 9 is an operand word register (OWR). 10 is an arithmetic unit (EU), 11 is an adder (ING
). 13 is a real address register (RAR). 14 is a main memory address register (MSAR). 15 is a main memory unit (MCU). 16 is prefetch bo) (PF PORT). 17 is a memory access type detection unit (MAFDET). S is a selector control signal. are shown respectively.

Claims (1)

【特許請求の範囲】[Claims] バッファメモリと、該バッファメモリに対するブロック
単位のプリフェッチ機能を有するデータ処理装置であっ
て、命令制御部からメモリ制御部をアクセスする時、命
令フェッチや連続したアドレスのオペランドフェッチを
検出する第1の手段と、不連続なアドレスのオペランド
フェッチを検出する第2の手段とを設け、主記憶装置を
アクセスして、上記第1の手段によって検出されたメモ
リアクセスの時は、該アクセスアドレスに1ブロック分
のアドレスを加算したアドレスでプリフェッチを行い、
上記第2の手段によって検出されたメモリアクセスの時
は、当該アクセスに後続するメモリアクセスのプリフェ
ッチを行う機能を備えたことを特徴とするデータ処理装
置。
A data processing device having a buffer memory and a block-by-block prefetch function for the buffer memory, and a first means for detecting an instruction fetch or an operand fetch of consecutive addresses when the memory control unit is accessed from the instruction control unit. and a second means for detecting an operand fetch of a discontinuous address, and when the main memory is accessed and the memory access detected by the first means is detected, one block worth of data is added to the access address. Prefetch is performed using the address obtained by adding the addresses of
A data processing device characterized by having a function of prefetching a memory access subsequent to the memory access detected by the second means.
JP59117111A 1984-06-07 1984-06-07 Data processor Granted JPS615358A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59117111A JPS615358A (en) 1984-06-07 1984-06-07 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59117111A JPS615358A (en) 1984-06-07 1984-06-07 Data processor

Publications (2)

Publication Number Publication Date
JPS615358A true JPS615358A (en) 1986-01-11
JPH0361213B2 JPH0361213B2 (en) 1991-09-19

Family

ID=14703685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59117111A Granted JPS615358A (en) 1984-06-07 1984-06-07 Data processor

Country Status (1)

Country Link
JP (1) JPS615358A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144082A1 (en) * 2010-12-03 2012-06-07 Lsi Corporation Data prefetch in sas expanders

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5096143A (en) * 1973-12-24 1975-07-31
JPS5265628A (en) * 1975-11-28 1977-05-31 Hitachi Ltd Information processing device
JPS5750380A (en) * 1980-09-09 1982-03-24 Mitsubishi Electric Corp Writing method of buffer storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5096143A (en) * 1973-12-24 1975-07-31
JPS5265628A (en) * 1975-11-28 1977-05-31 Hitachi Ltd Information processing device
JPS5750380A (en) * 1980-09-09 1982-03-24 Mitsubishi Electric Corp Writing method of buffer storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144082A1 (en) * 2010-12-03 2012-06-07 Lsi Corporation Data prefetch in sas expanders
US8566496B2 (en) * 2010-12-03 2013-10-22 Lsi Corporation Data prefetch in SAS expanders

Also Published As

Publication number Publication date
JPH0361213B2 (en) 1991-09-19

Similar Documents

Publication Publication Date Title
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
US4961162A (en) Multiprocessing system for performing floating point arithmetic operations
JPH0786870B2 (en) Data transfer control method of coprocessor and circuit thereof
JP2773471B2 (en) Information processing device
JPH04140880A (en) Vector processor
JPS62102344A (en) Buffer memory control system
CN116483743A (en) Data cache prefetching device, method and processor
KR20040067063A (en) The low power consumption cache memory device of a digital signal processor and the control method of the cache memory device
US7165128B2 (en) Multifunctional I/O organizer unit for multiprocessor multimedia chips
JPS615358A (en) Data processor
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
JPS615357A (en) Data processor
JP3039391B2 (en) Memory system
JP2944563B2 (en) Pipeline type information processing device
JPH02301830A (en) Information processing system
US6243822B1 (en) Method and system for asynchronous array loading
JPS6240555A (en) Prefetch control system
JP3047992B2 (en) Main memory key control method
JPH11338774A (en) Information processor, its system bus optimizing method and recording medium recording control program therefor
JPH08212068A (en) Information processor
JPH01286058A (en) Cache memory
JPH041373B2 (en)
JP2806690B2 (en) Microprocessor
JPH01315858A (en) Data transfer control method and device
JPH06202982A (en) Method and device for bus control and information processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees