JPS6244838A - Instruction fetching device - Google Patents

Instruction fetching device

Info

Publication number
JPS6244838A
JPS6244838A JP60183012A JP18301285A JPS6244838A JP S6244838 A JPS6244838 A JP S6244838A JP 60183012 A JP60183012 A JP 60183012A JP 18301285 A JP18301285 A JP 18301285A JP S6244838 A JPS6244838 A JP S6244838A
Authority
JP
Japan
Prior art keywords
block
instruction
address
word
buffer
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
JP60183012A
Other languages
Japanese (ja)
Inventor
Seiki Yoshida
吉田 清貴
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP60183012A priority Critical patent/JPS6244838A/en
Publication of JPS6244838A publication Critical patent/JPS6244838A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve the processing speed of an information processor including an instruction fetching device by instantaneously fetching an instruction word for a loaded block from an instruction buffer and supplying the instruction word to an execution stage. CONSTITUTION:At the reception of a start command, a block load is requested to a cache memory by using the value of an instruction counter 12 as an access address. Block '0' is selected as the block No. to be loaded at first. A control circuit 22 writes response information obtained from the cache memory in respective words in the block '0'. The control circuit 22 sets up a block No. signal 20 in a block No. part of an instruction pointer 7, so that instruction words are successively read out by the lower 7 bits of the pointer 7. A request is outputted to the cache memory, and during the returning of its response information, loaded block No. registers 8, 9 are updated. When all the lower 7 bits of the pointer 7 become '1', instructions are continuously read out from the loaded block.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、高速の情報処理装置における命令取出装置に
関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an instruction fetching device in a high-speed information processing device.

〔従来技術〕[Prior art]

近年、高速の情報処理装置に於ては、命令の実行と並行
して、実行中の命令シーケンスの後続の命令シーケンス
をキャッジ−メモリより読出し。
In recent years, in high-speed information processing devices, in parallel with the execution of an instruction, an instruction sequence subsequent to the instruction sequence currently being executed is read out from a cache memory.

これを一時記憶するだめの命令バッファを持つことが多
い。又命令・ぐソファからの命令の取出、命令のデコー
ド、オペランドの準備演算の各過程に対応した一連の処
理ステージを備え、マシンサイクルの周期で順次命令を
前記一連のステージに流して処理するノ母イブライン処
理が行なわれることが多い。
It often has an instruction buffer to temporarily store this information. It also has a series of processing stages corresponding to each process of fetching instructions from the instruction processor, decoding instructions, and preparing operands, and processes instructions by sequentially passing them through the series of stages at the cycle of the machine cycle. Mother Eveline treatment is often performed.

従来科学技術計算専用の処理装置に於ける命令取出方式
の1つとして、命令バッファの容量を例えば数にバイト
程度に大きくしこれを複数個のブロックに分割し、記憶
装置の命令語エリア内の実行中の命令語をブロック単位
に前記命令パンフチ上のブロックに転記し同時に命令バ
ッファの各ブロック毎に該ブロックに保持されている命
令語の命令アドレスを保持する手段を設け、デコードす
べき命令語の命令アドレスで前記アドレス保持手段のア
ドレスをサーチすることにより、命令・々ソファ上のブ
ロック番号を求め、該ブロックから順次命令をデコード
ステージに取出す方式がある。
Conventionally, one method for fetching instructions in processing devices dedicated to scientific and technical calculations is to increase the capacity of the instruction buffer to, for example, a number of bytes, divide it into multiple blocks, and store the instructions in the instruction word area of the storage device. A means is provided to transfer the instruction word being executed block by block to the block on the instruction puncher, and at the same time to hold the instruction address of the instruction word held in the block for each block of the instruction buffer, and to transfer the instruction word to be decoded. There is a method in which the block number on the instruction table is obtained by searching the address of the address holding means using the instruction address of , and the instructions are sequentially taken out from the block to the decoding stage.

なお命令バッファ上のアドレスは主記憶のアドレスとは
異カリ、命令バッファ上のブロック番号とブロック内ロ
ード番号、ときにはワード白話番号等から構成されてい
る。
Note that the address on the instruction buffer is different from the address on the main memory, and is composed of a block number on the instruction buffer, a load number within the block, and sometimes a word white number.

〔発明が解決すべき問題〕[Problem to be solved by the invention]

上記の方式で問題となるのは、主記憶上のアトツクの最
初の命令語に移るとき(以下左記のケースをブロック越
と称する)にブロック画先のブロックをサーチすると、
他のブロックの命令語読出しに遅れが生じる点である。
The problem with the above method is that when moving to the first instruction word of an attack in main memory (hereinafter the case on the left is referred to as block crossing), if the block ahead of the block is searched,
This is the point where there is a delay in reading the instruction words of other blocks.

すなわちブロック画先のブロック番号を引出すには時間
がかかる為。
In other words, it takes time to extract the block number at the end of the block image.

読出しアドレス・レジスタΩ値からブロック最後の命令
だということを検出してからブロック画先ブロック番号
を求めていたのでは、読出しに遅延が生じるという欠点
がある。
If the block number of the block destination is determined after detecting from the read address register Ω value that it is the last instruction in the block, there is a drawback that a delay occurs in the readout.

したがって本発明の目的は、上記のブロック越時の命令
取出し遅延を解決した命令取出し装置を提供するにある
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an instruction fetching device which solves the above-mentioned delay in fetching instructions when a block is exceeded.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の命令取出装置は、上記の目的を達成するために
、従来の命令取出方式に加えて、命令/ぐソファのブロ
ック毎にブロック画先のブロック番号を保持する手段を
持つようにしたものである。
In order to achieve the above object, the instruction retrieval device of the present invention has, in addition to the conventional instruction retrieval method, a means for holding the block number of the block destination for each block of the instruction/retrieval sofa. It is.

すなわち本発明によれば、記憶装置より読出された命令
語をブロック単位に保持する命令バッファと、該命令バ
ッファ上のブロックの一個力いし数個に対応して該ブロ
ック群に保持される命令語のアドレスを保持するアドレ
ス保持手段と、前記命令バッファから読出されている命
令語のアドレスの上位ビットを保持する命令カウンタと
、該命令バッファから読出されている命令語のブロック
番号及びブロック内アドレスを示す命令ポインタとを含
む命令取出装置であって、該命令バッファ上の各ブロッ
クに対応して、記憶装置のアドレスから見て当該ブロッ
クに続くブロックの番号を保持するブロック番号保持手
段と、このブロック番号保持手段中のブロック番号に対
応するブロックが前記命令バッファ中に存在するか否か
を示す指示手段と、前記命令・ぐソファから読出された
命令語がブロック最後の命令語であるということが前記
命令ポインタより検出され、かつ当該ブロックのブロッ
ク番号保持手段中のブロック番号に対応するブロックが
該命令・9ツ7ア中に存在するということを該指示手段
が示している第1の場合においては、その値を該命令ポ
インタに入れ、又該命令・々ソファから読出された命令
語がブロック最後の命令語であるということが該命令ポ
インタより検出されかつ当該ブロックのブロック番号保
持手段中のブロック番号に対応するブロックが該命令バ
ッファ中に存在しないということを該指示手段が示して
いる第2の場合においては、当該ブロック番号保持手段
中のブロック番号に対応するブロックを記憶している記
憶手段に対しリクエストを出し、応答情報が返ってくる
間に、該命令カウンタの値あるいは該命令カウンタの値
を2進加減算した値と前記アドレス保持手段の値とを比
較する手段とを備え、これにより第1の場合は命令語読
出しを引続いて行い、第2の場合は該ブロック番号保持
手段の値を更新するようにしたことを特徴とする命令取
出装置が得られる。
That is, according to the present invention, there is an instruction buffer that holds instruction words read from a storage device in block units, and instruction words that are held in a group of blocks corresponding to one or several blocks on the instruction buffer. an instruction counter that holds the upper bits of the address of the instruction word being read from the instruction buffer; and an address holding means for holding the address of the instruction word being read from the instruction buffer; an instruction pointer indicating the instruction buffer; block number holding means for holding a number of a block following the block as viewed from the address of the storage device corresponding to each block on the instruction buffer; indicating means for indicating whether or not a block corresponding to a block number in the number holding means exists in the instruction buffer; and indicating means for indicating whether or not a block corresponding to a block number in the number holding means exists in the instruction buffer; In the first case where the indicating means indicates that a block detected by the instruction pointer and corresponding to the block number in the block number holding means of the block exists in the instruction/97a; puts that value into the instruction pointer, and also detects from the instruction pointer that the instruction read from the instruction is the last instruction in the block and stores the block number in the block number holding means of the block. In the second case where the indicating means indicates that the block corresponding to the block number does not exist in the instruction buffer, the memory storing the block corresponding to the block number in the block number holding means and means for comparing the value of the instruction counter or the value obtained by adding or subtracting the value of the instruction counter in binary form with the value of the address holding means, while sending a request to the means and receiving response information. Thus, an instruction fetching device is obtained, which is characterized in that in the first case, the instruction word reading is performed successively, and in the second case, the value of the block number holding means is updated.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例である命令取出装置のブロッ
ク図である。この実施例では、命令長は4バイト即ち3
2ビツトであり、命令の論理アドレスは30ビツトのバ
イト・アドレスである。
FIG. 1 is a block diagram of an instruction fetching device which is an embodiment of the present invention. In this example, the instruction length is 4 bytes or 3
The logical address of the instruction is a 30-bit byte address.

第1図において、命令バッファ3は32バイト×64ワ
ードの構成で、読出書込が同時に可能々記憶素子で実現
され16ワード毎にブロック0゜1.2.3として使用
する。各ブロックにはキャッジ−・メモリにある命令語
情報の1ブロック即ち512バイト境界から始まる51
2バイトの情報がロードされる。書込データレジスタ2
←吟←≠!“          、      、啼
÷−+→〒→をロード時にキャッシュメモリからの応答
情報を一度受は命令バッファ3に書込むだめのレジスタ
で、32バイトである。セレクタ4は命令バッファ3の
読出出力8語の内の1つを選択し、その出力は4バイト
の命令レジスタ5にストローブされる。
In FIG. 1, the instruction buffer 3 has a configuration of 32 bytes x 64 words, which can be read and written simultaneously using memory elements, and is used as a block 0°1.2.3 every 16 words. Each block contains one block of instruction information in cache memory, i.e. 51 blocks starting from a 512 byte boundary.
Two bytes of information are loaded. Write data register 2
←Gin←≠! " , , , ÷ ÷ + → 〒 → is a register that once receives the response information from the cache memory and is written to the instruction buffer 3 when loading. It is a 32-byte register. The selector 4 is a 32-byte register. The output is strobed into the 4-byte instruction register 5.

先頭アドレス・レジスタ14及び15は命令バッファ3
のブロック0ないしブロック3に保持されている命令語
のアドレス上位23ビツトをそれぞれ保持するだめの4
個の先頭アドレスレジスタを一部省略して示したもので
ある。レジスタ8ないし9はブロック毎に設けられてお
り、各々記憶装置のアドレスから見て当該ブロックに続
くブロックノフロック番号を保持しているレジスタであ
る。ここでブロック最後の命令語を読出した後に。
Start address registers 14 and 15 are instruction buffer 3
The four blocks each hold the upper 23 bits of the address of the instruction word held in block 0 to block 3.
This figure shows the top address registers with some parts omitted. Registers 8 and 9 are provided for each block, and each register holds a block no-flock number following the block as viewed from the address of the storage device. After reading the last instruction word of the block here.

記憶装置のアドレスから見て前記の命令語に続く命令語
を読出す為に、アクセスされるブロックが他のブロック
に移ることをブロック越とよぶことにすると、レジスタ
8,9はブロック対応にブロック画先のブロック番号を
保持しているブロック画先ブロック番号レジスタという
ことになる。10はセレクタであり、レジスタ27.2
8はレジスタ8,9の内容の有効性をそれぞれ示すVビ
ットである。
If we call the movement of the accessed block to another block in order to read the instruction word following the above instruction word from the address of the storage device, registers 8 and 9 are set in blocks corresponding to the blocks. This is the block image destination block number register that holds the block number of the image destination. 10 is a selector, register 27.2
8 is a V bit indicating the validity of the contents of registers 8 and 9, respectively.

命令カウンタ12は、命令バッファ3から読出されてい
る命令語の記憶装置上のアドレス上位23ビツト及び図
示してないインストラクション・カウンタの初期値(以
下初期ICという)の上位23ビツトがセットされるレ
ジスタである。この命令カウンタ12の値をコンノやレ
ータ16,17に、ll)先頭アドレス・レジスタ14
.15と比較し、一致出力によりブロック画先の命令語
のあるブロック番号を求める。
The instruction counter 12 is a register in which the upper 23 bits of the address on the storage device of the instruction word being read from the instruction buffer 3 and the upper 23 bits of the initial value (hereinafter referred to as initial IC) of an instruction counter (not shown) are set. It is. The value of this instruction counter 12 is input to controllers 16 and 17. ll) Start address register 14
.. 15, and the block number containing the command word at the end of the block image is determined by the matching output.

第2 図(7D (a) Id、 命令バッファ3の読
出アドレスカウンタ(以後“命令ポインタ″と呼ぶ)7
の形式を示す図であり、レジスタの形で示しである。ビ
ット0,1はブロック番号で、ビット2〜5はブロック
内のワード番号、ビット6〜8はワード白話番号を夫々
示す。ビット2〜8は通常は+1される。
FIG. 2 (7D (a) Id, read address counter of instruction buffer 3 (hereinafter referred to as "instruction pointer") 7
FIG. 2 is a diagram illustrating the format of , and is shown in the form of a register. Bits 0 and 1 are block numbers, bits 2 to 5 are word numbers within the block, and bits 6 to 8 are word white numbers, respectively. Bits 2-8 are normally incremented by +1.

第2図の(b)は命令バッファ3の書込アドレスカウン
タ1の形式を示す図であり、(a)と同じである。
FIG. 2(b) is a diagram showing the format of the write address counter 1 of the instruction buffer 3, and is the same as FIG. 2(a).

ビット0,1はブロック番号で、ビット2〜5はワード
番号である。ビット2〜5が+1されることがある。
Bits 0 and 1 are block numbers, and bits 2 to 5 are word numbers. Bits 2-5 may be incremented by +1.

ロード先ブロック番号レジスタ19は先に述べたロード
時にキャッシュ・メモリからの応答情報512バイトを
受ける該命令バッファ3上のブロック番号を示すレジス
タであり、リクエスト信号によって+1される。21は
セレクタである。
The load destination block number register 19 is a register indicating the block number on the instruction buffer 3 which receives 512 bytes of response information from the cache memory at the time of the aforementioned load, and is incremented by 1 in response to the request signal. 21 is a selector.

制御回路22は上記のバッファ3の読出し、書込み、レ
ジスタのストローブ及びレジスタの入出力切替等の信号
を発生する制御回路である。
The control circuit 22 is a control circuit that generates signals for reading and writing the buffer 3, strobes the registers, and switches input/output of the registers.

次に第1図及び第2図を参照して本命令取出装置の動作
を説明する。制御回路22は、命令取出の開始指示を受
けると、初期ICの上位23ビツトをセレクタ11を介
して命令カウンタ12にセットし、初期ICの下位7 
bitを命令ポインタ7のブロック内ワード番号部及び
ワード白話番号部にセットする。
Next, the operation of the present instruction fetching device will be explained with reference to FIGS. 1 and 2. When the control circuit 22 receives an instruction to start fetching an instruction, it sets the upper 23 bits of the initial IC in the instruction counter 12 via the selector 11, and sets the lower 7 bits of the initial IC.
The bit is set in the in-block word number part and the word white talk number part of the instruction pointer 7.

開始指示を受けた時点では、命令バッファ3には有効な
命令語はロードされてな゛く、先頭アドレスレジスタ1
4〜15対応に設けられた有効性表示ビット(Vピット
)27.28は全てリセット状態である。従ってブロッ
クO〜3の内ヒツトするものはなく、命令カウンタ12
の値をアクセスアドレスとしてキャッジ−メモリにブロ
ックロード要求を送出する。
At the time when the start instruction is received, no valid instruction word is loaded into the instruction buffer 3, and the start address register 1
Validity display bits (V pits) 27 and 28 provided corresponding to numbers 4 to 15 are all in a reset state. Therefore, there is no hit among blocks O to 3, and the instruction counter 12
A block load request is sent to the cache memory using the value of as the access address.

ロード先のブロック番号はロード先ブロック番号レジス
タ19の値を選択する。レジスタ19は該ロード時にキ
ャッジ−・メモリから最初の応答が返ってくるとインク
リメントし9次回のロード先ブロック番号を保持する。
The value of the load destination block number register 19 is selected as the load destination block number. The register 19 is incremented when the first response is returned from the cache memory at the time of loading, and holds the block number of the ninth load destination.

ここでは最初ブロックOが選ばれることにする。Here, it is assumed that block O is selected first.

制御回路22はキャッジ−メモリから応答信号を受ける
と、データ線23を通して送られて来る32バイト×1
6回の情報を命令バッファ3のブロック0の各ワードに
書込む。情報はリクエストアドレスの情報を含む32バ
イトを先頭にして16回送られてくる。
When the control circuit 22 receives a response signal from the cache memory, it receives the 32 bytes x 1 sent through the data line 23.
Write six times of information to each word of block 0 of instruction buffer 3. The information is sent 16 times starting with 32 bytes including request address information.

制御回路22は又応答信号を受けると、命令カウンタ1
2の値を先頭アドレスレジスタ14にセットし、同時に
このレジスタ対応のVビットをセットする。これにより
コンパレータ16の出力がII I TJとなり、エン
コーダ18からビット信号25とブロック番号信号20
が出力される。ここで制御回路22はブロック番号信号
20をセレクタ6を介して命令ポインタ7のブロック番
号部にセットシ、以後この命令ポインタ7の下位7ビツ
トを順次インクリメントする。これ、により命令レジス
タ5には所定の命令語が順次読出される。
When the control circuit 22 also receives the response signal, the command counter 1
A value of 2 is set in the start address register 14, and at the same time, the V bit corresponding to this register is set. As a result, the output of the comparator 16 becomes II I TJ, and the encoder 18 outputs the bit signal 25 and block number signal 20.
is output. Here, the control circuit 22 sets the block number signal 20 to the block number portion of the instruction pointer 7 via the selector 6, and thereafter sequentially increments the lower seven bits of the instruction pointer 7. As a result, predetermined instruction words are sequentially read into the instruction register 5.

ここでキャッジ−・メモリにリクエストを出して、応答
情報が返ってくる間の時間を利用してブロック画先ブロ
ック番号レジスタ8〜9の更新を行う。今命令カウンタ
12には、キャッジ−・メモリからの応答情報がロード
されるブロック、すなわちブロック0のアドレス上位2
3ビツトがセットされている。そこで命令カウンタ12
を+1加算器13で+1すると、ブロック0のブロック
画先のブロックのアドレスが求められる。命令カウンタ
12を+1した値と先頭アドレス・レジスタ14.15
の値を比較して、一致出力が得られたらブロック画先の
ブロック番号をブロックOに対応するブロック画先ブロ
ック番号レジスタ8゜9にセットし、かつこれらレジス
タ8,9の値の有効性を示すVピットをセットする。一
致出力が得られなかった場合はブロックOに対応するレ
ジスタ8,9のVビットをリセットし、ブロック画先が
ブロックOになるブロックをサーチする。まずブロック
0のアドレス上位23ビツトを一1加算器26で−1す
ると、ブロック画先がブロック0に々るべきブロックの
先頭アドレス(アドレス上位23 bit )が求めら
れるので、その値を命令カウンタ12にセットする。次
に命令カウンタ12の値を先頭アドレス・レジスタ14
.15の値ト比較する。一致出力が得られた場合は、ブ
ロック番号信号20で示されるブロックに対応するレジ
スタ8,9にレジスタ19の値、すなワチブロックOの
ブロック番号をセットし、対応するVビットをセットす
る。一致出力が得られなかった場合はブロック0は命令
バッファ3上の他のどのブロックとも連続していないこ
とになる。
Here, a request is issued to the cache memory, and the block destination block number registers 8 to 9 are updated using the time it takes for response information to be returned. The instruction counter 12 now contains the upper 2 addresses of the block into which the response information from the cache memory is loaded, that is, block 0.
3 bits are set. Therefore, instruction counter 12
By adding 1 to 1 in the +1 adder 13, the address of the block ahead of block 0 is obtained. +1 value of instruction counter 12 and start address register 14.15
If a matching output is obtained, set the block number of the block destination in the block destination block number register 8゜9 corresponding to block O, and check the validity of the values of these registers 8 and 9. Set the V pit shown. If no matching output is obtained, the V bits of registers 8 and 9 corresponding to block O are reset, and a block whose block image destination is block O is searched for. First, the high-order 23 bits of the address of block 0 are decremented by 1 by the adder 26 to find the start address (high-order 23 bits of the address) of the block whose block destination should be in block 0. Set to . Next, the value of the instruction counter 12 is transferred to the start address register 14.
.. Compare the values of 15. If a matching output is obtained, the value of register 19, that is, the block number of block O, is set in registers 8 and 9 corresponding to the block indicated by block number signal 20, and the corresponding V bit is set. If no matching output is obtained, block 0 is not continuous with any other block on the instruction buffer 3.

ブロック画先ブロック番号レジスタ8,90更新が終わ
った後は、命令カウンタ12にはロードされるブロック
すなわちブロック0のアドレス上位23ビツトを再びセ
ットしておく。ロード先ブロック番号レジスタ19が示
すブロックは1次回リクエスト信号が出たときに置換さ
れるブロックである。従ってロード先ブロック信号しゾ
スタ19と同じブロックを示しているブロック画先ブロ
ック番号レジスタ8,9は9次回のリクエスト信号が出
ると内容が保証されない為対応する■ビット27,28
をリセットし々ければならない。
After the block destination block number registers 8 and 90 have been updated, the upper 23 bits of the address of the block to be loaded, that is, block 0, are set again in the instruction counter 12. The block indicated by the load destination block number register 19 is the block to be replaced when the first request signal is issued. Therefore, the block destination block number registers 8 and 9, which indicate the same block as the load destination block signal and Zosta 19, correspond to bits 27 and 28 because the contents are not guaranteed when the next request signal is issued.
must be reset frequently.

第3図にVピッ)27.28の制御回路及びその近い周
辺の詳細を示す。ロード先ブロック番号レジスタ19と
ブロック画先ブロック番号レジスタ8,9のうちVビッ
トがセットされているものを比較して、一致するレジス
タ8,9があればリクエスト信号の出るタイミングで対
応するVビット27.28をリセットする。29と30
はコン7ぐレータである。
FIG. 3 shows the details of the control circuit of V-Pi) 27 and 28 and its surroundings. Compare the load destination block number register 19 and the block destination block number registers 8 and 9 that have the V bit set, and if there is a matching register 8 and 9, the corresponding V bit will be set at the timing when the request signal is issued. 27. Reset 28. 29 and 30
is a controller.

命令ポインタ7の下位7ビツトがオール″1”になると
、すなわちブロック最後の命令語のアドレスがセットさ
れると、読出されているブロックに対応するレジスタ8
,9の値が有効ならば、レジスタ8,9の値が読出しア
ドレス・カウンタ7のブロック番号部にセットされてブ
ロック越が滞りなく行なわれ、ブロック画先のブロック
から引続き命令語が読出される。レジスタ8,9の値が
有効でないならばブロック越の際、キャッシュ・メモリ
に対してリクエストが出される。
When the lower 7 bits of the instruction pointer 7 become all "1", that is, when the address of the last instruction word of the block is set, the register 8 corresponding to the block being read is
, 9 are valid, the values of registers 8 and 9 are set in the block number field of the read address counter 7, and the block crossing is performed without a hitch, and the instruction word is successively read from the block ahead of the block. . If the values in registers 8 and 9 are not valid, a request is issued to the cache memory when a block is moved.

〔発明の効果〕〔Effect of the invention〕

本発明は以上説明したように、ブロック画先の命令語を
命令バッファより速かに取出し、実行ステージに供給す
ることにより該命令取出装置を含む情報処理装置の処理
速度全向上させる効果がある。
As described above, the present invention has the effect of completely improving the processing speed of an information processing apparatus including the instruction fetching device by fetching the instruction word at the end of the block picture faster than the instruction buffer and supplying it to the execution stage.

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

第1図は本発明による命令取出装置の全体を示すブロッ
ク図、第2図は第1図に示した命令ポインタ7の形式お
よび書込アドレス・レジスタ1の形式を示す図、第3図
はVビット28.29の制御回路の詳細を示す図である
。 記号の説明:1は書込アドレスカウンタ、2は書込デー
タレジスタ、3は命令バッファ、4はセ算器、14〜1
5は先頭アドレスレジスタ、16〜17は:+ンzeレ
ータ、 18ハエンコータ、19はロード先ブロック番
号レジスタ、21はセレクタ、22は制御回路、26は
一1加算器、27と28はVビットをそれぞれあられし
ている。
FIG. 1 is a block diagram showing the entire instruction fetching device according to the present invention, FIG. 2 is a diagram showing the format of the instruction pointer 7 and the write address register 1 shown in FIG. 1, and FIG. FIG. 6 is a diagram showing details of the control circuit for bits 28 and 29; Explanation of symbols: 1 is write address counter, 2 is write data register, 3 is instruction buffer, 4 is separator, 14 to 1
5 is a start address register, 16 to 17 are: + encoder, 18 is an encoder, 19 is a load destination block number register, 21 is a selector, 22 is a control circuit, 26 is a -1 adder, 27 and 28 are V bits. Each one is having a hailstorm.

Claims (1)

【特許請求の範囲】[Claims] 1、記憶装置より読出された命令語をブロック単位に保
持する命令バッファと、該命令バッファ上のブロックの
一個ないし数個に対応して該ブロック群に保持される命
令語のアドレスを保持するアドレス保持手段と、前記命
令バッファから読出されている命令語のアドレスの上位
ビットを保持する命令カウンタと、該命令バッファから
読出されている命令語のブロック番号及びブロック内ア
ドレスを示す命令ポインタとを含む命令取出装置であっ
て、前記命令バッファ上の各ブロックに対応して、記憶
装置のアドレスから見て当該ブロックに続くブロックの
番号を保持するブロック番号保持手段と、このブロック
番号保持手段中のブロック番号に対応するブロックが前
記命令バッファ中に存在するか否かを示す指示手段と、
前記命令バッファから読出された命令語がブロック最後
の命令語であるということが前記命令ポインタより検出
されかつ当該ブロックのブロック番号保持手段中のブロ
ック番号に対応するブロックが該命令バッファ中に存在
するということを該指示手段が示している第1の場合に
おいては、その値を該命令ポインタに入れ、又該命令バ
ッファから読出された命令語がブロック最後の命令語で
あるということが該命令ポインタにより検出されかつ当
該ブロックのブロック番号保持手段中のブロック番号に
対応するブロックが該命令バッファ中に存在しないとい
うことを該指示手段が示している第2の場合においては
、当該ブロック番号保持手段中のブロック番号に対応す
るブロックを記憶している記憶手段に対しリクエストを
出し、応答情報が返ってくる間に、該命令カウンタの値
あるいは該命令カウンタの値を2進加減算した値と前記
アドレス保持手段の値とを比較する手段とを備え、これ
により前記第1の場合は命令語読出しを引続いて行ない
、前記2の場合は該ブロック番号保持手段の値を更新す
るようにしたことを特徴とする命令取出装置。
1. An instruction buffer that holds instruction words read from the storage device in blocks, and an address that holds the address of the instruction word held in the block group corresponding to one or several blocks on the instruction buffer. The instruction counter includes a holding means, an instruction counter that holds the upper bits of the address of the instruction word being read from the instruction buffer, and an instruction pointer indicating a block number and an address within the block of the instruction word being read from the instruction buffer. The instruction fetching device includes block number holding means for holding a number of a block following the block from the address of the storage device corresponding to each block on the instruction buffer, and a block in the block number holding means. Indicating means for indicating whether or not a block corresponding to the number exists in the instruction buffer;
It is detected from the instruction pointer that the instruction word read from the instruction buffer is the last instruction word of the block, and a block corresponding to the block number in the block number holding means of the block exists in the instruction buffer. In the first case where the indicating means indicates that the value is put into the instruction pointer, and the instruction pointer indicates that the instruction word read from the instruction buffer is the last instruction word of the block. In the second case where the indicating means indicates that the block corresponding to the block number in the block number holding means of the block detected by the block number holding means does not exist in the instruction buffer, A request is issued to the storage means that stores the block corresponding to the block number of , and while the response information is returned, the value of the instruction counter or the value obtained by adding or subtracting the value of the instruction counter in binary form and the address are held. and a means for comparing the value of the block number holding means, whereby in the first case, reading of the command word is continued, and in the second case, the value of the block number holding means is updated. instruction fetching device.
JP60183012A 1985-08-22 1985-08-22 Instruction fetching device Pending JPS6244838A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60183012A JPS6244838A (en) 1985-08-22 1985-08-22 Instruction fetching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60183012A JPS6244838A (en) 1985-08-22 1985-08-22 Instruction fetching device

Publications (1)

Publication Number Publication Date
JPS6244838A true JPS6244838A (en) 1987-02-26

Family

ID=16128192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60183012A Pending JPS6244838A (en) 1985-08-22 1985-08-22 Instruction fetching device

Country Status (1)

Country Link
JP (1) JPS6244838A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251838A (en) * 1987-04-08 1988-10-19 Nec Corp Instruction extracting device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251838A (en) * 1987-04-08 1988-10-19 Nec Corp Instruction extracting device

Similar Documents

Publication Publication Date Title
JPH0814801B2 (en) Programmable access memory
KR970011208B1 (en) Pipelined register cache
JPS6235949A (en) Memory device
JPS63238646A (en) Microprocessor
US4737908A (en) Buffer memory control system
JPS6244838A (en) Instruction fetching device
EP0108647A2 (en) Data processing apparatus
JPS6236258B2 (en)
JPH0433059B2 (en)
JPH0298754A (en) Main storage control system
JPS59112479A (en) High speed access system of cache memory
JP2531209B2 (en) Channel device
JPH06301600A (en) Storage device
JPH0646381B2 (en) Instruction fetching device
JP2580587B2 (en) Address translation buffer
SU491952A1 (en) Device for exchanging information between RAM and processor
JPS61214039A (en) Cache memory
JPH0371246A (en) Buffer control system
JPH02259945A (en) Storing processing system
JPS55117780A (en) Buffer memory unit
JPH04125747A (en) Cache memory controller
JPS59205645A (en) Information transfer device
JP2000172675A (en) List vector processor
JPS5862886A (en) Storage controlling system
JPS6048789B2 (en) Prefix conversion control method