JPS6036616B2 - Complex buffer memory - Google Patents

Complex buffer memory

Info

Publication number
JPS6036616B2
JPS6036616B2 JP52074355A JP7435577A JPS6036616B2 JP S6036616 B2 JPS6036616 B2 JP S6036616B2 JP 52074355 A JP52074355 A JP 52074355A JP 7435577 A JP7435577 A JP 7435577A JP S6036616 B2 JPS6036616 B2 JP S6036616B2
Authority
JP
Japan
Prior art keywords
buffer memory
buffer
memory
capacity
data
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
Application number
JP52074355A
Other languages
Japanese (ja)
Other versions
JPS549535A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP52074355A priority Critical patent/JPS6036616B2/en
Publication of JPS549535A publication Critical patent/JPS549535A/en
Publication of JPS6036616B2 publication Critical patent/JPS6036616B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は、情報処理装置におけるバッファメモ川こ関す
る。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a buffer memo in an information processing device.

情報処理装置において、メモリアクセスの高速化の一手
段として、バッファメモリ方式を採用するのは、一般的
になっている。
In information processing devices, it has become common to employ a buffer memory method as a means of speeding up memory access.

本発明は、このバッファメモリの使用効率を高める手段
を与えるものである。従来のバッファメモリ斑は、主記
憶装置との対応のとり方を工夫し、バッファメモリの使
用効率を高めることは考慮されているが、次のようなケ
ースには、バッファメモリの容量が使用効率を決定する
The present invention provides a means for increasing the usage efficiency of this buffer memory. In the past, consideration has been given to improving the usage efficiency of the buffer memory by improving the correspondence with the main memory, but in the following cases, the capacity of the buffer memory may not be enough to improve the usage efficiency. decide.

すなわち、MVCL(MoveCharacter、L
ong)命令のように、長いオペランド長のデータを移
動する場合、その移動元のデータが、バッファメモ川こ
存在することは、まれであるため主記憶装置からバッフ
ァメモリへの転送が頻発する。
That is, MVCL (MoveCharacter, L
When data with a long operand length is moved, such as in the case of an instruction such as .on), it is rare for the data to be moved to exist in a buffer memory, so data is frequently transferred from the main memory to the buffer memory.

このため、バッファメモリに貯えられていたデータは追
い出されてしまう。一方MNCL命令に続く命令で、M
VCL命令の移動デー夕を使用することはまれであるた
め、結果としてバッファメモリの利用率が低下する。M
yCL命令のオペランドは、1/0バッファエリアへの
転送等であり、そのオペランド長は、12000のバイ
トにも及ぶ例もある。このように、再び処理装置が使用
することがないようなデータを主記憶装置から読み出す
時には、バッファメモIJIこ書き込まないようにする
ことが、考えられるがMNCL命令のオペランドはアド
レスとして連続しておりアドレスとして連続しているオ
ペランドを順次処理するには最低バッファメモリの登録
単位(ブロック)の容量を持ったバッファがないと性能
低下となる。
As a result, the data stored in the buffer memory will be evicted. On the other hand, in the command following the MNCL command, M
The movement data of VCL instructions is rarely used, resulting in lower buffer memory utilization. M
The operand of the yCL instruction is transfer to the 1/0 buffer area, etc., and the operand length may be as long as 12,000 bytes in some cases. In this way, when reading data from the main memory that will never be used by the processing unit again, it is conceivable not to write it to the buffer memory, but the operands of the MNCL instruction are continuous as addresses. In order to sequentially process operands that are continuous as addresses, performance will deteriorate unless there is a buffer with the capacity of at least the registration unit (block) of the buffer memory.

すなわち、処理装置のメモリ参照単位が8バイトであり
、バッファメモリのブロックが32バイトの場合には、
4回に1回の主記憶装置の参照が行なわれるようにする
必要がある。この要求を満すために、本発明のバッファ
メモリでは大容量のバッファメモリと、小容量のバッフ
ァメモリを有し、例えばMNCL命令のオペランド論出
し‘ま、小容量バッファを使用するようにした。
That is, if the memory reference unit of the processing device is 8 bytes and the buffer memory block is 32 bytes, then
It is necessary to ensure that the main memory is referenced once every four times. In order to meet this requirement, the buffer memory of the present invention has a large capacity buffer memory and a small capacity buffer memory, and for example, the small capacity buffer is used for operand logic of the MNCL instruction.

また、プログラムの中で、使用頻度が小さく、ループの
少ないものは、大容量バッファを使用しないように、プ
。グラムで指定可能とした。従釆のバッファメモ川こ於
いて、2つ以上のバッファメモリを組合せた例はあるが
、その1つは、命令専用バッファメモリとオペランド専
用のバッファメモリを組合せた方式である。またもう一
つは、セットアソシャティブ方式のバッファメモリに於
いて、カラムの使用頻度の偏りを補正する意味で、追出
されたブロックを一時アソシャティプ方式のバッファメ
モリに貯えておく方式である。
In addition, programs that are used infrequently and have few loops should be saved so as not to use large buffers. Can be specified in grams. Related Buffer Memo There are examples in which two or more buffer memories are combined, one of which is a combination of an instruction-dedicated buffer memory and an operand-dedicated buffer memory. Another method is to temporarily store evicted blocks in a set-associative buffer memory in order to correct imbalances in the frequency of use of columns.

本発明の特徴は、大容量バッファと小容量バッファとを
、自由に使い分けることができる点である。本発明の一
実施例を図にて説明する。
A feature of the present invention is that a large capacity buffer and a small capacity buffer can be used freely. An embodiment of the present invention will be described with reference to the drawings.

大容量バッファメモリと4・容量バッファメモリの使い
分けの指定は、ハードウェアが自動的に検知する場合と
、プログラムによる指定がある。
The designation of whether to use the large-capacity buffer memory or the 4-capacity buffer memory can be automatically detected by hardware or specified by a program.

前者の場合、MVCL命令のオペランド長が102心ぐ
イト以上の時又は、あるファームウェア命令又は科学技
術計算のループ処理(FORTRANのDOループ)に
おいて、オペランドが非連続でかつその広がりが大きい
時にその命令の実行開始時にバツフア切替フリップフロ
ップ13が1に設定され、該処理が終了すると、バッフ
ァ功替フリップフロップ13が0に設定され、再び大容
量バッファが使用される。バッファメモリの議出し制御 バッファメモリの講出しアドレスは、CPUからアドレ
スレジス夕ARIにセットされる。
In the former case, when the operand length of the MVCL instruction is 102 cores or more, or when the operands are discontinuous and have a large spread in a certain firmware instruction or scientific calculation loop processing (FORTRAN DO loop), the instruction The buffer switching flip-flop 13 is set to 1 at the start of execution, and when the process ends, the buffer switching flip-flop 13 is set to 0, and the large capacity buffer is used again. Buffer memory assignment control The buffer memory assignment address is set in the address register ARI by the CPU.

ARIのビット20〜26は、大容量バッファメモリの
アドレスアレイ3のアドレスに入力され、アドレスアレ
イ3からの出力デ−夕がそれぞれ比較回路4でARのビ
ット8〜19までと比較される。すべてのロー31〜3
4で一致がとれないとオア回路17の出力が0となる。
いずれか1つで一致がとれると、該ローのバッファメモ
リ5のデータバス線23に出力される。一方、小容量バ
ッファメモリ8のアドレスアレイ6は、レジスタで作ら
れており、常に比較回路7の一方の入力C2側に確定し
ている。
Bits 20 to 26 of ARI are input to addresses in address array 3 of a large-capacity buffer memory, and output data from address array 3 is compared with bits 8 to 19 of AR in comparator circuit 4, respectively. All rows 31-3
If there is no match in 4, the output of the OR circuit 17 becomes 0.
If a match is found in any one of the rows, it is output to the data bus line 23 of the buffer memory 5 of that row. On the other hand, the address array 6 of the small capacity buffer memory 8 is made up of registers, and is always fixed on one input C2 side of the comparator circuit 7.

この為、ARIの出力ビット8〜26が比較回路7の他
方CIに確定すると、比較回路7のいずれか一方で一致
がとれるか、又は両者で一致がとれないことになる。一
致がとれないとオア回路18の出力が0になる。一致が
とれると小容量バッファメモリ8のデータがバス線24
に出力される。バツフア切替フリップフロツプ13の状
態により、BSの議出しデータは、アンド回路14,1
5及びオア回路16にて選択され、命令議出しバッファ
IBR又はオペランド読出しバッファOBRに送出され
る。
Therefore, when output bits 8 to 26 of the ARI are determined to be the other CI of the comparison circuit 7, either one of the comparison circuits 7 will match, or both of them will not match. If there is no match, the output of the OR circuit 18 becomes 0. If a match is found, the data in the small capacity buffer memory 8 is transferred to the bus line 24.
is output to. Depending on the state of the buffer switching flip-flop 13, the BS output data is transferred to the AND circuits 14 and 1.
5 and the OR circuit 16, and sent to the instruction issue buffer IBR or operand read buffer OBR.

また、バッファメモリにデータが存在したかどうかは、
アンド回路19,20及びオア回路21によりバッファ
メモリの切替を制御された後、Noti舵町fer信号
26に出力される。バッファメモリの書込み制御議出し
データがバッファメモ川こない時、MS(主メモリ)か
らのデータは、データレジスタDR2に送られ、該バッ
ファメモリの該ブロックに書込みされる。
Also, whether there is data in the buffer memory or not,
After the switching of the buffer memory is controlled by the AND circuits 19 and 20 and the OR circuit 21, it is output to the Noti ruddermachifer signal 26. Write control of the buffer memory When no data is sent to the buffer memory, data from the MS (main memory) is sent to the data register DR2 and written to the block of the buffer memory.

小容量バッファメモリのリプレースメントは、リプレー
スメントフリツプフロツプ12で決定される。CPUか
らのストア要求は、CPUからの議出し要求と同じよう
に、アドレス制御が行なわれ、書込みデータは、DR2
から、該一致のとれたバッファメモリの該ブロックに対
し、書込みを行なつoバッファキャンセル動作 キャンセルアドレスはチャネル又は他のCPUから送ら
れ、ARIにセットされ、大容量バッファ及び小容量バ
ッファの両者のアドレスアレイで比較され、一致がとれ
ると、該ブロックを無効にする。
Replacement of the small capacity buffer memory is determined by a replacement flip-flop 12. A store request from the CPU is subject to address control in the same way as a proposal request from the CPU, and write data is sent to DR2.
Writes to the block of the buffer memory with the match. o Buffer cancel operation The cancel address is sent from the channel or other CPU, set in ARI, and written to both the large capacity buffer and the small capacity buffer. The address array is compared and if a match is found, the block is invalidated.

本発明は、128カラム×4ローのセットアソシャティ
プ方式の大容量バッファメモリと、アソシャティブ方式
の小容量バッファメモ川こついて説明したが、容量に関
する仕様は容易に変更可能である。
Although the present invention has been described with reference to a set-associative large-capacity buffer memory of 128 columns x 4 rows and an associative-type small-capacity buffer memory, the specifications regarding the capacity can be easily changed.

この発明によれば、次の効果が得られる。According to this invention, the following effects can be obtained.

1 再び使用される可能性の低い命令やオペランド‘ま
、小容量バッファメモリを使用して動作させるため、大
容量バッファの使用効率が上がり、処理装置の処理能力
が向上する。
1. Since instructions and operands that are unlikely to be used again are operated using a small capacity buffer memory, the efficiency of using the large capacity buffer increases and the processing capacity of the processing device is improved.

2 小容量バッファは、講出しと書込みと同時に行なえ
る素子が使用可能であるため、主記憶装置からバッファ
メモリへ書込みを行なっている時、同時に議出しをオー
バーラップして行うことが可能である。
2. Small-capacity buffers can use elements that can perform writing and writing at the same time, so when writing from the main memory to the buffer memory, it is possible to overlap writing at the same time. .

この為先行してデータや命令を議出して、NotinB
Mferとなっても、性能低下は少ない。大容量バッフ
ァは、ICメモリで実現されるため、議出しと書込みを
同時に行なうことが困難である。この為NotinBu
merが発生し、主記憶装置からデータをバッファメモ
川こ書込んでいる時は、処理装置の読み出し要求が待た
され、処理能力が低下する。
For this reason, NotinB issues data and commands in advance.
Even if it becomes Mfer, there is little performance deterioration. Since large-capacity buffers are implemented using IC memories, it is difficult to issue and write data at the same time. For this reason, NotinBu
When a mer occurs and data is being written from the main memory to the buffer memo, a read request from the processing device is forced to wait, reducing processing performance.

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

図は本発明の一実施例を示すブロック図である。 ・1;アドレスレジスタ、2
;データレジスタ、3;大容量バッファのアドレスアレ
イ(28カラム×40一)、4:大容量バッファの比較
回路、5;大容量バッファのメモリ部(1総B)6:小
容量バッファのアソシヤテイブレジス夕、7:小容量バ
ッファの比較回路、8;小容量バッファのメモリ部、9
;小容量バッファの有効性ビット制御回路、10;小容
量バッファのリプレースメント制御回路、11;小容量
バッファの有効性フリツプフロップ、12;小容量バッ
ファのリプレースメントフリツプフロツプ、13:バツ
フア切替フリツプフロツプ、14,15,19,20;
アンド回路、16,17,18,21:オア回路、22
,27,28:否定回路。
The figure is a block diagram showing one embodiment of the present invention.・1; Address register, 2
; Data register, 3; Large capacity buffer address array (28 columns x 40 columns), 4: Large capacity buffer comparison circuit, 5; Large capacity buffer memory section (1 total B) 6: Small capacity buffer associate Eve Regis, 7: Comparison circuit of small capacity buffer, 8; Memory part of small capacity buffer, 9
; Small capacity buffer validity bit control circuit, 10; Small capacity buffer replacement control circuit, 11; Small capacity buffer validity flip-flop, 12; Small capacity buffer replacement flip-flop, 13: Buffer switching flip-flop, 14 , 15, 19, 20;
AND circuit, 16, 17, 18, 21: OR circuit, 22
, 27, 28: Negation circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 大容量のバツフアメモリと、使用頻度の低い命令や
オペランドを格納する小容量のバツフアメモリと、命令
の種類および/もしくは命令で指定されるオペランドの
指定内容に応じて、どちらのバツフアメモリを使用する
かを切分ける手段を有することを特徴とする複合型バツ
フアメモリ。
1. Select which buffer memory to use, a large-capacity buffer memory or a small-capacity buffer memory that stores infrequently used instructions and operands, depending on the type of instruction and/or the specifications of the operands specified in the instruction. A composite buffer memory characterized by having means for separating.
JP52074355A 1977-06-24 1977-06-24 Complex buffer memory Expired JPS6036616B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52074355A JPS6036616B2 (en) 1977-06-24 1977-06-24 Complex buffer memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52074355A JPS6036616B2 (en) 1977-06-24 1977-06-24 Complex buffer memory

Publications (2)

Publication Number Publication Date
JPS549535A JPS549535A (en) 1979-01-24
JPS6036616B2 true JPS6036616B2 (en) 1985-08-21

Family

ID=13544726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52074355A Expired JPS6036616B2 (en) 1977-06-24 1977-06-24 Complex buffer memory

Country Status (1)

Country Link
JP (1) JPS6036616B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848432A (en) 1993-08-05 1998-12-08 Hitachi, Ltd. Data processor with variable types of cache memories

Also Published As

Publication number Publication date
JPS549535A (en) 1979-01-24

Similar Documents

Publication Publication Date Title
US5630075A (en) Write combining buffer for sequentially addressed partial line operations originating from a single instruction
JP2010191638A (en) Cache device
JPH03150659A (en) Data transfer system
JPH0748190B2 (en) Microprocessor with cache memory
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
JPH0410102B2 (en)
US4547848A (en) Access control processing system in computer system
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
JPS6036616B2 (en) Complex buffer memory
EP0196970B1 (en) Buffer memory control system
CN116166606B (en) Cache control architecture based on shared tightly coupled memory
CN110245096B (en) Method for realizing direct connection of processor with expansion calculation module
JPH06149669A (en) System and device for transferring cache data
JPH02259945A (en) Storing processing system
JP3799451B2 (en) Electronic computer system
JPH06103477B2 (en) Parallel cache memory
JPS61239339A (en) System for controlling transfer of page data
JPH07152650A (en) Cache control unit
JPH07141174A (en) Register
JPS6063650A (en) Buffer memory coincidence control system
JP2001043132A (en) Control method for cache memory
JPS6149695B2 (en)
JPH0526216B2 (en)
JPH05334185A (en) Three-hierarchcial memory system
JPH086853A (en) Storage control method