[go: up one dir, main page]

JPS59218691A - Prefetching system - Google Patents

Prefetching system

Info

Publication number
JPS59218691A
JPS59218691A JP58093540A JP9354083A JPS59218691A JP S59218691 A JPS59218691 A JP S59218691A JP 58093540 A JP58093540 A JP 58093540A JP 9354083 A JP9354083 A JP 9354083A JP S59218691 A JPS59218691 A JP S59218691A
Authority
JP
Japan
Prior art keywords
data
operand
block
buffer storage
instruction
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.)
Pending
Application number
JP58093540A
Other languages
Japanese (ja)
Inventor
Noriyuki Toyoki
豊木 則行
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 JP58093540A priority Critical patent/JPS59218691A/en
Publication of JPS59218691A publication Critical patent/JPS59218691A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To ensure an effective prefetching operation with an operand access accompanied with the execution of instruction of a central processor when the data on the block succeeding to the operand data needed for a buffer storage does not exists. CONSTITUTION:A signal MV showing an operand access is equal to a move instruction is transmitted from an operation part 1 and set to a latch MVl to start a prefetch control circuit 6. Thus the circuit 6 transfers the data corresponding to the operand address shown by a memory address register AR2 to the operation part. Then the circuit 6 controls a selector 4 to fetch the result of a +1 adder in order to prefetch the next data block. Then the second retrieval is carried out to check whether or not the block of the corresponding address exists in a buffer storage 7. If this block does not exist, a prefetch address is sent to an address bus 11 to transfer data for prefetching. In such a way, the control is performed to transfer automatically the data block to the storage 7 from a main memory. Thus the hit factor to the storage 7 is improved in a continuous operand access mode related to the corresponding instruction.

Description

【発明の詳細な説明】 (al  発明の技術分野 主記憶装置とパンファストレージとの2階層のメモリシ
ステムを有するデータ処理システムにおいて、」1記バ
ッファストレージに必要とするオペランドデータの、次
のブロックのデータが存在しなかった時、主記憶装置か
らバッファストレージに該データを転送するブリフェッ
チ方式に関する。
Detailed Description of the Invention (al) Technical Field of the Invention In a data processing system having a two-layer memory system of a main storage device and a buffer storage, "1. The present invention relates to a brief fetch method for transferring data from main storage to buffer storage when the data does not exist.

(bl  技術の背景 最近のデータ処理装置の大型化、高速化に伴って、主記
憶装置に対するアクセスタイムの高速化が必要となり、
その1つの手段として、主記憶装置と中央処理装置、デ
ータチャネル装置との間に主記憶装置よりは高速ではあ
るが、記憶容量の小さいバッファストレージを置き、中
央処理装置。
(bl Technology background) As data processing devices have become larger and faster in recent years, it has become necessary to speed up the access time to the main memory.
One way to achieve this is to place a buffer storage between the main memory, the central processing unit, and the data channel device, which is faster than the main memory but has a smaller storage capacity.

データチャネル装置から主記憶装置をアクセスする時、
先ずバッファストレージをアクセスし、そこに必要なデ
ータが存在しなければ、主記憶装置からバッファストレ
ージに該データを転送するように制御することによって
、中央処理装置、データチャネル装置から見た見掛は上
の主記憶装置に対するアクセスタイムの短縮化を図る方
法がある。
When accessing main memory from a data channel device,
First, the buffer storage is accessed, and if the necessary data does not exist there, the data is transferred from the main memory to the buffer storage, thereby reducing the appearance from the central processing unit and data channel device. There is a method for shortening the access time to the above main storage device.

このようなデータ処理システムにおいて、上記バッファ
ストレージに対するヒソI−率を向上させる為に、中央
処理装置からオペランドデータに関するメモリアクセス
を行った時に、その次のブロックがバッファストレージ
に存在しなければ、次のブロックをプリフェッチして、
バッファストレージに転送しておく方法がある。こうす
ることにより、次のブロックがアクセスされた場合、該
バッファストレージに存在している為、演算部に早くデ
ータを転送することができ、データ処理装置の処理能力
を向上させることができる。
In such a data processing system, in order to improve the HisoI ratio for the buffer storage, when the central processing unit performs memory access related to operand data, if the next block does not exist in the buffer storage, the next block is Prefetch the block of
There is a way to transfer it to buffer storage. By doing so, when the next block is accessed, since it exists in the buffer storage, data can be quickly transferred to the calculation unit, and the processing capacity of the data processing device can be improved.

然し、大量のデータを処理しない命令では、メモリアク
セスが一度で終了してしまう為、前記ブリフェッチした
オペランドデータは無駄になることがあり、より効率の
良いデータ転送時のブリフェッチ方式が望まれていた。
However, for instructions that do not process large amounts of data, the memory access is completed in one go, so the briefetched operand data may be wasted.Therefore, a more efficient briefetch method for data transfer has been desired. .

tc+  従来技術と問題点 これ迄、採られてきた中央処理装置からのメモリアクセ
スに伴うバッファストレージに対するブリフェッチ方法
は、中央処理装置からのオペランドアクセスがあり、バ
ッファストレージに必要とするオペランドデータの、次
のブロックのデータが存在しない時、必ず次のブロック
をプリフェッチして、上記パンファストレージに転送し
ていた。
tc+ Prior Art and Problems The briefetch method for buffer storage associated with memory access from the central processing unit that has been adopted so far is that there is an operand access from the central processing unit, and the following of the operand data required for buffer storage is When there was no data in a block, the next block was always prefetched and transferred to the above breadth storage.

然し、プログラムを構成する命令の中では、大量のデー
タを処理しない命令(例えば、ロード/ストア命令)の
使用頻度が寧ろ大きく、プリフェッチしたデータブロッ
クが無駄になる他、ブリフェッチ方式に伴うメモリビジ
一時間の増大とか。
However, among the instructions that make up a program, instructions that do not process large amounts of data (for example, load/store instructions) are used more frequently, and prefetched data blocks are wasted, and the memory visit time associated with the briefetch method is An increase in

上記必要のないプリフェッチによって、本来他の命令が
必要としていたデータブ0.7りをも、リプレイスして
しまい、逆にデータ処理システムの全体的に見た処理能
力を低下させる問題があった。
Due to the above-mentioned unnecessary prefetch, data blocks that were originally required by other instructions are also replaced, which has the problem of reducing the overall processing capacity of the data processing system.

(dl  発明の目的 本発明は上記従来の欠点に鑑み、中央処理装置の命令の
実行に伴うオペランドアクセスにおいて、バッファスト
レージに必要なオペランドデータの、次のブロックのデ
ータが存在しない時、プリフェッチを効率的に行う方法
を提供することを目的とするものである。
(dl) Purpose of the Invention In view of the above-mentioned conventional drawbacks, the present invention provides efficient prefetching of operand data required for buffer storage when the next block of data does not exist in operand access accompanying the execution of an instruction by a central processing unit. The purpose of this is to provide a method to do this.

(el  発明の構成 そしてこの目的は、本発明によれば主記憶装置と複数個
のブロックで構成されるバッファストレージの2階層の
メモリシステムを有するデータ処理装置において、ムー
ブ命令等の連続した大量のオペランドデータを扱う命令
のオペランドアクセス処理時のみ、上記命令が要求する
オペランドデータの、次のブロックのデータがパンファ
ストレージに存在しない場合、次のブロックをプリフェ
ッチしてバッファストレージに転送しておく方法を提供
することによって達成され、ムーブ命令等連続した大量
のデータを処理する場合のみ、プリフェッチが行われる
ので、命令の実行時に使用される確率の高いデータのみ
がプリフェッチされることになり、従来のブリフェッチ
方法による時に発生したパンファストレージの使用効率
の低下を防ぐ利点がある。
According to the present invention, in a data processing device having a two-layer memory system of a main memory and a buffer storage consisting of a plurality of blocks, a large amount of continuous Only during operand access processing of an instruction that handles operand data, if the data of the next block of operand data requested by the above instruction does not exist in the buffer storage, a method of prefetching the next block and transferring it to the buffer storage. Prefetching is performed only when processing a large amount of continuous data such as a move instruction, so only data that has a high probability of being used when executing an instruction is prefetched, which is different from the conventional method. This method has the advantage of preventing a decrease in the usage efficiency of the panfer storage that occurs when using the briefetch method.

(fl  発明の実施例 本発明のポイントは、主記憶装置とパンファストレージ
の2階層のメモリシステムを有するデータ処理システム
において、オペランドデータの為のメモリアクセスを行
って、バッファストレージに該オペランドデータの、次
のブロックのデータが存在しない時、次のブロックのデ
ータをバッファストレージに転送するプリフェッチを、
ムーブ命令等連続した大量のデータを処理する命令のオ
ペランドアクセスの時のみに行う所にある。
(fl Embodiments of the Invention The key point of the present invention is that in a data processing system having a two-layer memory system of main storage and breadth storage, memory access for operand data is performed and the operand data is stored in buffer storage. , when the next block data does not exist, prefetching is used to transfer the next block data to buffer storage.
This is done only when accessing the operands of an instruction that processes a large amount of continuous data, such as a move instruction.

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

図が本発明の一実施例をブロック図で示す図であって、
1が演算部、2がメモリアドレスレジスフ(AR) 、
 3が+1加算器、4が通常のメモリアドレスか、プリ
フェッチの為に+1されたメモリアドレスのいづれかを
選択するセレクタ、5がムーブ命令等の連続した大量の
データを処理する命令の時セットされるランチ(MVL
 ) 、 6が本発明の実施に必要なブリフェッチ制御
回路、7はバッファストレージでタグ部(TAG ) 
71とデータ部(BS)72から成っている。8はバッ
ファストレージストアデータレジスタ<B55D11 
) 、 9はバッファストレージリードデータレジスタ
(BSRDR) 、 10は比較器で、上記バッファス
トレージ7を構成する複数のブロックから成る複数のウ
ェイ対応に、必要とするアドレスに対応するデータブロ
ックの有無を検索する為に、メモリアドレスレジスタ(
AR)2の」1位ヒツト22とバッファストレージ7の
タグ部(TAG ) 71とが比較され、若し一致出力
が得られると、該ウェイに必要とするデータブロックが
存在していることを示す。そして11は主記憶装置に対
するアドレスバスである。
FIG. 1 is a diagram showing an embodiment of the present invention in a block diagram,
1 is the calculation unit, 2 is the memory address register (AR),
3 is a +1 adder, 4 is a selector that selects either a normal memory address or a memory address incremented by 1 for prefetching, and 5 is set when an instruction processes a large amount of continuous data, such as a move instruction. Lunch (MVL
), 6 is a brief fetch control circuit necessary for implementing the present invention, and 7 is a buffer storage tag section (TAG).
71 and a data section (BS) 72. 8 is buffer storage store data register <B55D11
), 9 is a buffer storage read data register (BSRDR), and 10 is a comparator, which searches for the presence or absence of a data block corresponding to a required address in correspondence to a plurality of ways consisting of a plurality of blocks constituting the buffer storage 7. In order to do this, the memory address register (
The first hit 22 of AR) 2 and the tag section (TAG) 71 of the buffer storage 7 are compared, and if a matching output is obtained, it indicates that the required data block exists in the way. . And 11 is an address bus for the main memory.

先ず、演算部1においてオペランドアドレスが計算され
、メモリアドレスレジスタ(AR) 2にストアされ、
その下位部21がセレクタ4を通して、バッファストレ
ージ7のタグ部(TAG ) 71及びデータ部(BS
) 72をアクセスする為に送出される。
First, the operand address is calculated in the arithmetic unit 1 and stored in the memory address register (AR) 2.
The lower part 21 passes through the selector 4 to the tag part (TAG) 71 and data part (BS) of the buffer storage 7.
) Sent to access 72.

その結果、タグ部(TAG ) 71から、対応するデ
ータ部(BS) ?2のウェイにデータを持っているア
ドレスが出力され、その出力とメモリアドレスレジスタ
(AR) 2の上位部22とが比較される。若し、一致
出力が得られないと、バッファストレージ7のデータ部
(BS) 72には該オペランドアドレスのデータブロ
ックが存在しないことになり、主記憶装置から該オペラ
ンドアドレスに対応するデータブロックをバッファスト
レージ7に転送する為に、メモリアドレスレジスタ(A
R) 2の出力がアドレスバス11を通して、主記憶装
置に送出され、当該アドレスのデータブロックが読み出
され、パンファストレージストアデータレジスタ(BS
SDR’) 8を通してバッファストレージのデータ部
(BS) 72にストアされる。
As a result, from the tag part (TAG) 71, the corresponding data part (BS)? The address having data in way 2 is output, and the output is compared with the upper part 22 of memory address register (AR) 2. If a matching output is not obtained, the data block corresponding to the operand address does not exist in the data section (BS) 72 of the buffer storage 7, and the data block corresponding to the operand address is transferred from the main memory to the buffer. In order to transfer to storage 7, the memory address register (A
R) 2 is sent to the main memory through the address bus 11, the data block at the address is read out, and the output is sent to the breadth storage store data register (BS
SDR') 8 is stored in the data section (BS) 72 of the buffer storage.

そして、以降はパンファストレージ7のデータe (B
S) 72からバッファストレージリードデータレジス
タ(BSRDR) 9を通して、オペランドデータが読
み出され、演算部1に送出されて、このオペランドに対
する処理が実行される。
From then on, the data e (B
Operand data is read from S) 72 through the buffer storage read data register (BSRDR) 9 and sent to the arithmetic unit 1, where processing for this operand is executed.

この時、上記オペランドデータを必要とする命令がムー
ブ命令のように、連続した大量のデータを処理する命令
の時には、上記データ転送に続いて、次のデータブロッ
クをブリフェッチし、パンファストレージ7に転送して
おくことにより、該命令のオペランドアクセス時の、バ
ッファストレージ7に対するヒント率を向上させること
が出来る。
At this time, when the instruction that requires the above operand data is an instruction that processes a large amount of continuous data, such as a move instruction, following the above data transfer, the next data block is briefetched and stored in the breadthreader storage 7. By transferring the information, it is possible to improve the hint rate for the buffer storage 7 when accessing the operand of the instruction.

従って、上記オペランドアクセスが、該ムーブ命令であ
ることを示す信号MVが演算部1より送出され、ランチ
(MVL )にセットされ、ブリフェッチ制御回路6を
起動すると、ブリフェッチ制御回路6ではメモリアドレ
スレジスタ(八R) 2が示す、該オペランドアドレス
に対応するデータを演算部に転送した後、次のデータブ
ロックをプリフェッチする為に、セレクタ4において+
1加算器の結果を取り出すように制御し、該アドレスの
ブロックがバッファストレージ7に存在するかどうかが
再度検索され、該ブロックが存在しなかった時、アドレ
スバス11にそのブリフエソチアドレスヲ送出して、プ
リフェッチの為のデータ転送を行う。
Therefore, when the signal MV indicating that the operand access is the move instruction is sent from the calculation unit 1, set to launch (MVL), and starts the briefetch control circuit 6, the briefetch control circuit 6 uses the memory address register ( 8R) After transferring the data corresponding to the operand address indicated by 2 to the arithmetic unit, selector 4 selects + in order to prefetch the next data block.
1, the result of the adder is controlled to be taken out, and it is searched again to see if the block at the address exists in the buffer storage 7. If the block does not exist, the brief address is sent to the address bus 11. Then, data transfer for prefetching is performed.

以降の動作は通常のメモリアクセスの時と同じである。The subsequent operation is the same as normal memory access.

(g)  発明の効果 以上詳細に説明したように、本発明によれば主記憶装置
とバッファストレージの2階層で構成されるメモリシス
テムにオペランドアクセスが行われた場合、そのオペラ
ンドデータを必要とする命令が、ムーブ命令等の連続し
たデータを処理する命令の時のみ、次のデータブロック
がバッファストレージに存在しないと、自動的に主記憶
装置からバッファストレージに該データブロックを転送
するプリフェッチを行うよう制御されるので、該命令に
関する連続したオペランドアクセス時のバッファストレ
ージに対するヒント率を向上させ、従来技術で発生した
バッファストレージの使用効率の低下を防ぐ効果がある
(g) Effects of the Invention As explained in detail above, according to the present invention, when an operand access is made to a memory system consisting of two layers of main storage and buffer storage, the operand data is required. Only when the instruction is an instruction that processes continuous data such as a move instruction, if the next data block does not exist in the buffer storage, a prefetch is automatically performed to transfer the data block from the main memory to the buffer storage. This has the effect of improving the hint rate for buffer storage during consecutive operand accesses regarding the instruction, and preventing a decrease in buffer storage usage efficiency that occurs in the prior art.

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

図は本発明の一実施例をブロック図で示す図である。図
面において、1は演算部、2はメモリアドレスレジスタ
(AR) 、 3は+1加算器、5はムーブ命令等の連
続したデータを扱う命令の時セットされるラッチ、6は
ブリフェッチ制御回路、7はバッファストレージ、71
はタグ部(TAG ) 、 72はデータ部(BS) 
、 8はバッファストレージストアデータレジスタ(B
SSDR) 、 9はバッファストレージリードデータ
レジスタ(BSRDR)、 10は比較器、 IIはア
ドレスバスを、それぞれ示す。 0
The figure is a block diagram showing one embodiment of the present invention. In the drawing, 1 is an arithmetic unit, 2 is a memory address register (AR), 3 is a +1 adder, 5 is a latch that is set when an instruction that handles continuous data such as a move instruction, 6 is a brief fetch control circuit, and 7 is a briefetch control circuit. buffer storage, 71
is the tag part (TAG), 72 is the data part (BS)
, 8 is the buffer storage store data register (B
9 indicates a buffer storage read data register (BSRDR), 10 indicates a comparator, and II indicates an address bus. 0

Claims (1)

【特許請求の範囲】[Claims] 主記憶装置と複数個のブロックで構成されるバッファス
I・レージの2階層のメモリシステムを有するデータ処
理装置において、ムーブ命令等の連続した大量のオペラ
ンドデータを扱う命令のオペランドアクセス処理時のみ
、上記命令が要求するオペランドデータの、次のブロッ
クのデータがパンファストレージに存在しなければ、次
のブロックのデータをプリフェッチして、バッファスト
レージに格納しておくことを特徴とするブリフェッチ方
式。
In a data processing device that has a two-layer memory system consisting of a main storage device and a buffer I storage consisting of a plurality of blocks, the above is only possible when processing operand access for an instruction that handles a large amount of continuous operand data, such as a move instruction. A brief-fetch method is characterized in that if the data of the next block of operand data requested by an instruction does not exist in the buffer storage, the data of the next block is prefetched and stored in the buffer storage.
JP58093540A 1983-05-27 1983-05-27 Prefetching system Pending JPS59218691A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58093540A JPS59218691A (en) 1983-05-27 1983-05-27 Prefetching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58093540A JPS59218691A (en) 1983-05-27 1983-05-27 Prefetching system

Publications (1)

Publication Number Publication Date
JPS59218691A true JPS59218691A (en) 1984-12-08

Family

ID=14085100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58093540A Pending JPS59218691A (en) 1983-05-27 1983-05-27 Prefetching system

Country Status (1)

Country Link
JP (1) JPS59218691A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116403A1 (en) 2009-03-30 2010-10-14 富士通株式会社 Prefetch request circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5210639A (en) * 1975-07-09 1977-01-27 Int Computers Ltd Data accumulator
JPS5293243A (en) * 1976-01-31 1977-08-05 Nec Corp Data processing unit performing preceding control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5210639A (en) * 1975-07-09 1977-01-27 Int Computers Ltd Data accumulator
JPS5293243A (en) * 1976-01-31 1977-08-05 Nec Corp Data processing unit performing preceding control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116403A1 (en) 2009-03-30 2010-10-14 富士通株式会社 Prefetch request circuit
EP2416250A4 (en) * 2009-03-30 2013-01-30 Fujitsu Ltd PRE-RELEASE REQUEST CIRCUIT
US8856498B2 (en) 2009-03-30 2014-10-07 Fujitsu Limited Prefetch request circuit

Similar Documents

Publication Publication Date Title
US4933837A (en) Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories
US5784711A (en) Data cache prefetching under control of instruction cache
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
JP2001060169A (en) Cache controller and computer system
JPS59218691A (en) Prefetching system
JP2786886B2 (en) Prefetch control method and prefetch control device
JPH0512751B2 (en)
JPS601655B2 (en) Data prefetch method
US6279082B1 (en) System and method for efficient use of cache to improve access to memory of page type
JPS615357A (en) Data processor
JPS63101943A (en) Cache move-in control system
JPH01177145A (en) Information processor
JPS6235694B2 (en)
JP2003044357A (en) Cache prefetch system
JPS6049347B2 (en) Memory access method
JPH0512114A (en) Cache memory
JPH0512110A (en) Information processing equipment
JPS59218692A (en) Logical buffer storage control method
JP2551613B2 (en) Data processing device
JPH11249959A (en) Cache memory control method and apparatus
JPH07191907A (en) Method and system for efficient management of effective status of data stored in cache memory array
JPH041373B2 (en)
JPH0364903B2 (en)
JPS61136145A (en) Cash memory control circuit
JPS6126089B2 (en)