JPS5836434B2 - Batshua Memory Souch - Google Patents

Batshua Memory Souch

Info

Publication number
JPS5836434B2
JPS5836434B2 JP50146426A JP14642675A JPS5836434B2 JP S5836434 B2 JPS5836434 B2 JP S5836434B2 JP 50146426 A JP50146426 A JP 50146426A JP 14642675 A JP14642675 A JP 14642675A JP S5836434 B2 JPS5836434 B2 JP S5836434B2
Authority
JP
Japan
Prior art keywords
instruction
buffer memory
address
read
reading
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
JP50146426A
Other languages
Japanese (ja)
Other versions
JPS5271137A (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 JP50146426A priority Critical patent/JPS5836434B2/en
Publication of JPS5271137A publication Critical patent/JPS5271137A/en
Publication of JPS5836434B2 publication Critical patent/JPS5836434B2/en
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、情報処理装置のバツファメモリの性能向上に
関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to improving the performance of a buffer memory of an information processing device.

近年、情報処理装置において処理される情報量は益々多
くなり、かつその処理内容は複雑になって来ている。
2. Description of the Related Art In recent years, the amount of information processed by information processing apparatuses has become increasingly large, and the processing contents have become more complex.

これらの要求に対処するため、高速でかつ大容量の記憶
装置が必要となるが、大容量化と高速化は、相反する内
容である。
In order to meet these demands, a high-speed and large-capacity storage device is required, but increasing the capacity and increasing the speed are contradictory.

この点の解決策として、小容量でかつ高速なバツファメ
モリが中央処理装置内に設けられる。
As a solution to this problem, a small capacity and high speed buffer memory is provided within the central processing unit.

これにより実効的に大容量でかつ高速な記憶装置を提供
することが可能となった。
This has made it possible to effectively provide a storage device with large capacity and high speed.

しかし、さらに高速な情報処理を可能とするために、1
度に何命令かを並列処理するいわゆるパイプライン制御
方式が採用されるようになった。
However, in order to enable even faster information processing, 1
A so-called pipeline control method, which processes several instructions in parallel at a time, has come to be used.

この方式では、同時に、オペランド読出腰命令読出し、
ストアを行なえるようにする必要がある。
In this method, at the same time, the operand read command is read,
It is necessary to be able to store data.

バツファメモリのスループットの向上が必要になる。It is necessary to improve the throughput of buffer memory.

バツファメモリのスループット向上の一方式として、バ
ツファメモリの2ウエイインタリーブを採用した例が紹
介されている。
An example is introduced in which two-way interleaving of buffer memory is adopted as a method for improving the throughput of buffer memory.

本発明はこれをバツファメモリをさらに改良し命令読出
しの高速化を可能としたものである。
The present invention further improves the buffer memory and makes it possible to speed up instruction reading.

中央処理装置が記憶装置から1度に読み出す命令やデー
タのバイト数は、記憶装置のデータ幅と一致させるのが
普通である。
The number of bytes of instructions and data that a central processing unit reads from a storage device at one time is usually made to match the data width of the storage device.

このため、命令の実行が開始されたり、命令の実行の流
れが変化した時には、その先頭の命令アドレスを含む、
命令が読み出されるが、命令のアドレスバウンダリによ
っては、最初に読んで来た命令内に実行すべき全命令コ
ードが入っているとは限らない。
Therefore, when instruction execution starts or the flow of instruction execution changes, the first instruction address is
An instruction is read, but depending on the address boundary of the instruction, the entire instruction code to be executed may not necessarily be contained in the first instruction read.

全命令コードが読出せなかった場合には、命令の実行が
開始できず、次の命令読出しが完了する迄待たねばなら
ない。
If all instruction codes cannot be read, execution of the instruction cannot be started and must wait until reading of the next instruction is completed.

例えば、記憶装置のデータ幅を8バイト、命令コードを
4バイトを例にあげると、命令のアドレスが6バイトバ
ウンダリであれば、次の8バイトが読出されるまで、命
令の実行が不可能である。
For example, if the data width of a storage device is 8 bytes and the instruction code is 4 bytes, if the instruction address is on a 6-byte boundary, the instruction cannot be executed until the next 8 bytes are read. be.

又、8バイトバウンダリでないと、1命令実行した後は
、やはり、次の8バイトが読出されるまで待たねばなら
ない。
Furthermore, if there is no 8-byte boundary, after executing one instruction, it is still necessary to wait until the next 8 bytes are read.

情報処理装置のプログラムでは、命令の流れが変化する
ブランチ命令の使用頻度が高く、前記のような、性能低
下が高速な情報処理のあい路となっている。
In programs for information processing devices, branch instructions that change the flow of instructions are frequently used, and the above-mentioned performance degradation is the key to high-speed information processing.

以上に述べた命令処理の流れが逐次的でない場合にも、
高速に、命令を読み出し、すばやくパイプライン制御の
能力を発揮できるようにするには、1度に必ず実行可能
な命令を2命令以上、中央処理装置内の命令バツファ(
InstructionBuffer ; IBR)
に取込む装置を提供すればよい。
Even if the flow of instruction processing described above is not sequential,
In order to be able to read instructions at high speed and utilize the ability of pipeline control quickly, two or more instructions that can always be executed at a time must be stored in the instruction buffer (
InstructionBuffer; IBR)
What is necessary is to provide a device to capture the data.

この目的で、命令読出しを一度に通常のデータ幅の2倍
のデータを読出し、IBRに取込めるようにしたのが本
発明の装置である。
For this purpose, the device of the present invention is configured to read out data twice the normal data width at a time during instruction reading, and to be able to take it into the IBR.

すなわち、バツファメモリのメモリ部が2バンクで構成
され、各バンクから同時に読出しが可能とされたバツフ
ァメモリを具備した本発明の装置の特徴を利用し、命令
がバツファメモリ内に存在する場合には、両バンクから
同時に連続した命令を読み出し、IBRに取込むことに
より、実行可能な命令が2命令以上IBRに存在できる
ようにし、命令がとぎれなく、次々と処理されることが
可能となった。
That is, by utilizing the features of the device of the present invention, which includes a buffer memory in which the memory section of the buffer memory is composed of two banks, and each bank can be read simultaneously, when an instruction exists in the buffer memory, both banks are read out simultaneously. By simultaneously reading consecutive instructions from the IBR and importing them into the IBR, two or more executable instructions can exist in the IBR, and the instructions can be processed one after another without interruption.

第1図は、本発明の実施例のブロック図であり、バツフ
ァメモリ15,16とIBR17,18及び命令読出し
のアドレスの流れが図示されている。
FIG. 1 is a block diagram of an embodiment of the present invention, showing the buffer memories 15, 16, IBRs 17, 18, and the flow of addresses for reading instructions.

本バツファメモリ装置はデータ巾8バイト、バツファメ
モリ容量16kバイト、カラム数128、ロー数4のセ
ットアソ,シャテイブ方式を採用している。
This buffer memory device employs a set-association/shutive system with a data width of 8 bytes, a buffer memory capacity of 16 kbytes, 128 columns, and 4 rows.

バツファメモリ装置は後述のアドレス形式から明らかな
ごとく、32バイトを1ブロックとして、このブロック
を単位として主記憶装置(図示せず)が保持するデータ
(命令)を写として記憶する。
As is clear from the address format described below, the buffer memory device stores data (commands) held in a main memory (not shown) as a copy, with each block consisting of 32 bytes.

バツファメモIJ 1 5 , 1 6の各々のデータ
巾は8バイトであり、交互にアドレス付される。
The data width of each buffer memory IJ15, IJ16 is 8 bytes, and addresses are alternately assigned.

即ちブロック内のアドレスは0〜7,16〜23がバツ
ファメモリ15に付され、8〜15.23〜31がバツ
ファメモリ16に付される。
That is, addresses 0 to 7, 16 to 23 are assigned to the buffer memory 15, addresses 8 to 15, and 23 to 31 are assigned to the buffer memory 16 within the block.

処理装置内でプログラムの実行が開始されると、命令ア
ドレスが論理アドレスから実アドレスに変換され、TL
B(Translation lookaside B
uffer)からパス20を通して命令アドレスレジス
ター3( IAR e, Instruction A
ddressRegister)にセットされ、バツフ
ァメモリに対し、パス21を通して送出されると共に、
命令読出しリクエストを111とする。
When a program starts executing in a processing unit, an instruction address is converted from a logical address to a real address, and the TL
B (Translation lookaside B
instruction address register 3 (IAR e, Instruction A) through path 20
ddressRegister) and is sent to the buffer memory through the path 21,
The instruction read request is assumed to be 111.

この時IAR3中のアドレスの第27 .28ビットが
制御回路4でテストされ、1度にバツファメモリの両バ
ンクから読出し可能かどうか決定される。
At this time, the 27th address in IAR3. The 28 bits are tested in control circuit 4 to determine whether they can be read from both banks of buffer memory at once.

可能ならば、HS.IF(High Speed In
struction Fetching)信号が”1”
となる。
If possible, HS. IF (High Speed In
Fetching) signal is “1”
becomes.

不可能な場合、及び逐次的に命令を読む場合にはNo
R . I F (NormalInstructio
n Fetching)信号がlI″となる。
No if this is not possible or if reading instructions sequentially
R. I F (Normal Instruction
n Fetching) signal becomes lI''.

この命令読出し時の制御回路4は第2図に示されており
、後述する。
The control circuit 4 at the time of instruction reading is shown in FIG. 2 and will be described later.

命令読出しがバツファメモリで受付られると、パス21
は、レジスタ5にセットされ、バツファメモリのアクセ
スが開始される。
When the instruction read is accepted in the buffer memory, the path 21
is set in register 5, and access to the buffer memory is started.

本装置ではデータ巾8バイト、バツファメモリ容量16
KB,カラム数128、ロー数4のセットアソシャテイ
ブ方式を採用しているので、アドレスの20〜26ビッ
トでデコーダ6を介してバツファメモリのディレクトリ
7がアクセスされ、出力されたデ゛一タは、比較回路8
にてレジスタ5の第8〜19ビットが比較所望のデータ
がバツファメモリにあるか検査される。
This device has a data width of 8 bytes and a buffer memory capacity of 16
Since it uses a set associative method with KB, 128 columns, and 4 rows, the buffer memory directory 7 is accessed via the decoder 6 using the 20 to 26 bits of the address, and the output data is , comparison circuit 8
The 8th to 19th bits of register 5 are compared to check whether the desired data is in the buffer memory.

比較の結果は、エンコーダ9でエンコードされバツファ
メモリのメモリ部のアドレスの上位2ビットとされる。
The comparison result is encoded by the encoder 9 and becomes the upper two bits of the address in the memory section of the buffer memory.

通常の命令読出しの場合には、アドレスの第28ビット
を参照し、このビットが“olならば偶数バンク15が
、このビットが″I″ならば奇数バンク16がアクセス
される。
In the case of normal instruction read, the 28th bit of the address is referred to, and if this bit is "ol", the even bank 15 is accessed, and if this bit is "I", the odd bank 16 is accessed.

またHS.IFの場合は、両バンクが同時にアクセスさ
れる。
Also HS. In the case of IF, both banks are accessed simultaneously.

従って、HS.IFの場合、バツファメモリの読出しア
ドレスレジスタ11 ,12に、ローのエンコーダ9か
ら得られた2ビットと、カラムアドレスの7ビットと、
アドレスの第27ビットが同時にセットされる。
Therefore, H.S. In the case of IF, the 2 bits obtained from the row encoder 9 and the 7 bits of the column address are stored in the read address registers 11 and 12 of the buffer memory.
The 27th bit of the address is set at the same time.

但し、アドレスの第27ビットが0で第28ビットが1
の場合には、読出しを要求するアドレスがブロック内ア
ドレスで8〜15であり、奇数バンクのバツファメモリ
16を指しており、偶数バンクのバツファメモリ15の
読出しアドレスレジスタ11には第27ビットが1にさ
れ、偶バンクのバツファメモリ15ではブロック内アド
レスで16〜23の8バイトが読出されるようにされる
However, the 27th bit of the address is 0 and the 28th bit is 1.
In this case, the address requesting reading is an address in the block from 8 to 15 and points to the buffer memory 16 in an odd bank, and the 27th bit is set to 1 in the read address register 11 of the buffer memory 15 in an even bank. , in the even bank buffer memory 15, 8 bytes 16 to 23 are read out at addresses within the block.

バツファメモリのメモリ部15.16の出力は、それぞ
れ、命令バツファIBR17.18にセットされ、命令
の実行が開始される。
The outputs of the memory sections 15 and 16 of the buffer memory are respectively set in the instruction buffer IBR 17 and 18, and execution of the instruction is started.

19は命令レジスタである。ブランチ命令でブランチ先
の命令を読出す場合にも、同様にHS.IFが指定され
、ブランチ成功後のブランチ先命令の実行開始を早めら
れる。
19 is an instruction register. Similarly, when reading the branch destination instruction with a branch instruction, HS. IF is specified, and execution of the branch destination instruction after a successful branch can be started earlier.

第2図に命令読出し時のアドレスから求められる制御信
号の回路を示す。
FIG. 2 shows a control signal circuit obtained from an address when reading an instruction.

アドレスの第27,28ビットがともに111の場合は
、ブロック内アドレスは23〜31を指しており、バツ
ファメモリのブロックの最後の8バイトであるため、H
S . I Fで両バンクから連続した命令を読出すこ
とが不可能なため、HS.IFを′1l′としないでN
OR.IFを111とする。
If the 27th and 28th bits of the address are both 111, the intra-block address points to 23 to 31, and this is the last 8 bytes of the buffer memory block, so H
S. Since it is impossible to read consecutive instructions from both banks using the IF, the HS. Do not set IF to '1l' N
OR. The IF is set to 111.

HS.IFを″11とした場合、命令の読出し要求が受
付られた場合には、次の命令読出しアドレスは+16す
る必要があり、+16信号がセットされ、第1図の加算
回路1で+16される。
H.S. When the IF is set to "11", when an instruction read request is accepted, the next instruction read address needs to be incremented by +16, a +16 signal is set, and the adder circuit 1 in FIG. 1 increments the address by +16.

またNOR.IFの場合には、+8信号が1となり、第
1図の加算回路1にて命令読出しアドレスは、+8され
る。
Also NOR. In the case of IF, the +8 signal becomes 1, and the instruction read address is increased by +8 in the adder circuit 1 of FIG.

また、アドレスの第27ビットがOで28が1の場合に
は、偶数バンクのバツファメモリアドレスの最下位ビッ
トを1とする必要があり、このケースには、Inver
t(28)bit信号が1となり第1図のオア回路10
に入力している。
Furthermore, if the 27th bit of the address is O and the 28th bit is 1, the least significant bit of the buffer memory address of the even bank must be set to 1.
The t(28) bit signal becomes 1 and the OR circuit 10 in FIG.
is being entered.

命令処理の流れが乱れるのは、ブランチ命令、割込み処
理、システム状態の変更命令などであり、これらの出現
頻度は、プログラムに依存するが、約30多である。
The flow of instruction processing is disturbed by branch instructions, interrupt processing, system state change instructions, etc., and the frequency of these occurrences is about 30 or more, although it depends on the program.

この命令処理の乱れが発生した場合に、従来の装置に比
べ、速く命令の実行が開始され、従って、処理能力の向
上が可能となる。
When this disturbance in instruction processing occurs, the execution of instructions is started faster than in conventional devices, thus making it possible to improve processing performance.

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

第1図は、本装置のブロック図であり、第2図は、第1
図における回路4の詳細を示すブロック図である。 3・・・命令アドレスレジスタ、4・・・制御回路、7
・・・バツファメモリのディレクトリ、15および16
・・・バツファメモリ、17および18・・・命令バツ
ファ。
FIG. 1 is a block diagram of this device, and FIG. 2 is a block diagram of the first device.
FIG. 4 is a block diagram showing details of the circuit 4 in the figure. 3... Instruction address register, 4... Control circuit, 7
...Buffer memory directories 15 and 16
...Buffer memory, 17 and 18...Instruction buffer.

Claims (1)

【特許請求の範囲】[Claims] 1 複数バイトからなるブロックを単位としてテータを
記憶するバツファメモリのメモリ部を複変バンクで構成
し、各バンクから同時に独立に読出し書込み可能とした
バツファメモリ装置において読出しを要求するアドレス
に応じて各バンクから同時に連続したアドレスの命令の
読出しが可能力・を決定する制御回路を有し、可能な場
合、各バンクから連続したアドレスの読出しを行なうよ
うに制御すると共に、可能かどうかに応じて次の命令の
読出しのための加算値を制御することを特徴とするバツ
ファメモリ装置。
1. The memory section of the buffer memory that stores data in units of blocks consisting of multiple bytes is composed of double-variable banks, and in a buffer memory device that can read and write from each bank simultaneously and independently, data is read from each bank according to an address that requests reading. It has a control circuit that determines whether it is possible to read instructions at consecutive addresses at the same time, and if possible, controls the reading of consecutive addresses from each bank, and depending on whether it is possible, the next instruction A buffer memory device characterized by controlling an added value for reading.
JP50146426A 1975-12-10 1975-12-10 Batshua Memory Souch Expired JPS5836434B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP50146426A JPS5836434B2 (en) 1975-12-10 1975-12-10 Batshua Memory Souch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP50146426A JPS5836434B2 (en) 1975-12-10 1975-12-10 Batshua Memory Souch

Publications (2)

Publication Number Publication Date
JPS5271137A JPS5271137A (en) 1977-06-14
JPS5836434B2 true JPS5836434B2 (en) 1983-08-09

Family

ID=15407404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50146426A Expired JPS5836434B2 (en) 1975-12-10 1975-12-10 Batshua Memory Souch

Country Status (1)

Country Link
JP (1) JPS5836434B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6121543A (en) * 1984-07-10 1986-01-30 Matsushita Electric Ind Co Ltd Data transfer device
JPS61160142A (en) * 1984-12-29 1986-07-19 Hitachi Ltd Data processor
CA1233270A (en) * 1985-03-18 1988-02-23 Vojin G. Oklobdzija Register selection mechanism and organization of an instruction prefetch buffer

Also Published As

Publication number Publication date
JPS5271137A (en) 1977-06-14

Similar Documents

Publication Publication Date Title
EP0072179B1 (en) Clearing invalid addresses in cache memory
EP0084114B1 (en) Instruction prefetching data processing apparatus including a conditional branch instruction predictor
JPS59213084A (en) Buffer store control system
JPH0248931B2 (en)
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
EP0386719A2 (en) Partial store control circuit
JP2523814B2 (en) Moveout system
JPS5836434B2 (en) Batshua Memory Souch
US4561071A (en) Storage system having buffer storage
KR920005296B1 (en) Information processing device
JPS6027967A (en) Block transfer control system of buffer storage device
JPS62118457A (en) Buffer memory control system
JPS6152505B2 (en)
JP3074897B2 (en) Memory circuit
JPS6135583B2 (en)
JPS6037932B2 (en) Cache memory control method
JPS5842546B2 (en) Store control method
JPS60112153A (en) Controlling method of cache memory
JPS6238743B2 (en)
JPH02259945A (en) Storing processing system
JPS6055454A (en) Data transfer control system
JPH0414147A (en) Central arithmetic processor
JPS6222165A (en) Control system for access to main storage device
JPS6049347B2 (en) Memory access method
JPH0194458A (en) Cache memory controller