JPS6027418B2 - Instruction preemption control device - Google Patents

Instruction preemption control device

Info

Publication number
JPS6027418B2
JPS6027418B2 JP11532977A JP11532977A JPS6027418B2 JP S6027418 B2 JPS6027418 B2 JP S6027418B2 JP 11532977 A JP11532977 A JP 11532977A JP 11532977 A JP11532977 A JP 11532977A JP S6027418 B2 JPS6027418 B2 JP S6027418B2
Authority
JP
Japan
Prior art keywords
instruction
register
contents
word
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.)
Expired
Application number
JP11532977A
Other languages
Japanese (ja)
Other versions
JPS5448459A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP11532977A priority Critical patent/JPS6027418B2/en
Publication of JPS5448459A publication Critical patent/JPS5448459A/en
Publication of JPS6027418B2 publication Critical patent/JPS6027418B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は、高度な命令の先取り制御方式を採用した情報
処理システムにおける命令先取り制御装置に関するもの
である。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an instruction prefetch control device in an information processing system that employs an advanced instruction prefetch control method.

最近の電子計算機はその利用技術の急速な進歩に伴い、
大型化高速化の煩向が増々強まっている。
With the rapid advancement of technology for the use of modern electronic computers,
The desire to increase size and speed is increasing.

そして高速化のための制御方式では、主記憶装置の速度
と演算処理装置の速度のバランスをとるため、バッファ
リングおよび演算処理装置の並列化による各機能のオー
バラッピングを図る方式、あるいは高速バッファメモリ
を使用することにより主記憶装置の実質的な高速化を図
る方式などが一般に知られている。命令先取り制御方式
は上記の高速制御方式の演算処理速度を向上させる1つ
の手段であって、1つの命令語の処理における命令語講
出しから実行までの各処理段階を可能な限り同時に行う
ことができるよう命令語の先取りを行うものである。
In order to achieve a balance between the speed of the main memory and the speed of the arithmetic processing unit, control methods for increasing speed include a method of overlapping each function through buffering and parallelization of the arithmetic processing unit, or a method using high-speed buffer memory. There are generally known methods for substantially increasing the speed of main storage devices by using . The instruction prefetch control method is one means of improving the arithmetic processing speed of the above-mentioned high-speed control method, and it is possible to perform each processing step from instruction presentation to execution in the processing of one instruction word as simultaneously as possible. It prefetches the command word so that it can be executed.

ただこの方式には先取りした命令が更新された場合はこ
れを新しい命令に書換える必要がある。従来のこの種の
装置においては、あとにやや詳しく説明するように、無
効にされた命令語やオペランド語を実行準備段階で書換
えることが技術的に困難であり、また実行するにしても
装置が複雑となるので、実際には再度主記憶装置または
高速バッファメモリから取出さざるを得なかった。而も
単に無効にされた命令語だけでなくそのあとに先取りし
た分もすべて無効にして再取出しするので、命令の処理
時間に悪影響を与える欠点があった。したがって本発明
の目的は、無効にされた先取り命令議を実行準備段階に
おいて直接更新できる命令先取り装置を提供するにある
。本発明の命令先取り装置は、上記の目的を果すために
、先行する命令により先取りされた命令語が書換えられ
る場合、その制御回路に先取りされた命令語を保持する
命令レジスタ又は命令語バッファを書換える機能を持た
せたものである。
However, in this method, if the prefetched instruction is updated, it is necessary to rewrite it with a new instruction. In conventional devices of this type, it is technically difficult to rewrite disabled instruction words and operand words during preparation for execution, as will be explained in more detail later. In practice, the data had to be retrieved from the main memory or high-speed buffer memory again. However, since not only the invalidated instruction word but also all subsequent prefetched command words are invalidated and re-fetched, there is a drawback that the processing time of the instruction is adversely affected. SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an instruction prefetching device capable of directly updating an invalidated prefetching instruction program during preparation for execution. In order to achieve the above object, the instruction prefetching device of the present invention rewrites the instruction register or instruction word buffer that holds the prefetched instruction word in its control circuit when the instruction word prefetched by the preceding instruction is rewritten. It has the function of

本発明によれば、主記憶装置又は高速バッファメモリか
ら読出された実行すべき命令を格納する命令レジスタと
、この命令レジスタから謙出されデコードされた実行す
べき命令を実行して出力を発する命令実行部と、この出
力を受けて動作する出力データレジスタ、命令カウンタ
ならびにオペランドアドレスレジスタとを備え、先取り
した命令が先行する命令によりその内容が更新されるよ
うにした処理装置において、命令レジスタが少なくとも
2つのブロックで構成されており、更に命令カゥンタの
内容に従って少なくとも2つのブロックのうちから空い
たブロックを指定する機能を有する変更ブロック指定回
路を設けて成り、先行する命令が主記憶装置または高速
バッファメモリの内容を変更する動作に応じ、先行する
命令のオペランドアドレスレジスタの内容および命令カ
ウンタの内容から、命令レジスタの内容の変更指示およ
び命令レジスタ内の変更有効ブロックの指定を行うと共
に、指定の行われたブロックだけを出力データレジスタ
の内容で置き換えることを可能とする命令先取り制御装
置が得られる。次に図面を参照して詳細に説明する。
According to the present invention, there is provided an instruction register that stores an instruction to be executed read from the main memory or high-speed buffer memory, and an instruction that executes the instruction to be executed that has been retrieved and decoded from the instruction register and issues an output. In a processing device comprising an execution unit, an output data register, an instruction counter, and an operand address register that operate in response to the output, the contents of which are updated by the preceding instruction of a prefetched instruction, the instruction register is at least It is composed of two blocks, and is further provided with a change block designation circuit having a function of designating a vacant block from among at least two blocks according to the contents of an instruction counter, so that the preceding command is stored in the main memory or in a high-speed buffer. In response to an operation that changes the contents of memory, the contents of the operand address register of the preceding instruction and the contents of the instruction counter are used to instruct the contents of the instruction register to change and specify the change effective block in the instruction register. An instruction prefetch control device is obtained that allows only blocks that have been received to be replaced by the contents of the output data register. Next, a detailed description will be given with reference to the drawings.

第1図は従釆の命令先取り制御装置の構成の一例と主記
憶装置と共にブロックで示した図である。
FIG. 1 is a block diagram showing an example of the configuration of a slave instruction prefetch control device and a main storage device.

はじめに各ブロックの名称を説明しておくと、1 1は
主記憶装置又は高速バッファメモリであり、1「2と1
3はバツフアレジスタ、14〜16は命令レジスタ、1
7と18はデータレジスタ、19と2川まオペランドア
ドレスレジスタをそれぞれ示している。そして破線で囲
んだ12〜20で命令先取り部21を構成している。2
2は命令読出し制御部であって、命令先取り部21と組
になって先取り制御部を形成する。
First, let me explain the names of each block. 1 1 is the main memory or high-speed buffer memory, 1 "2 and 1
3 is a buffer register, 14 to 16 are instruction registers, 1
7 and 18 indicate data registers, and 19 and 2 operand address registers, respectively. 12 to 20 surrounded by broken lines constitute an instruction prefetching section 21. 2
Reference numeral 2 denotes an instruction read control section, which is paired with an instruction prefetch section 21 to form a prefetch control section.

更に24は命令実行部、25は連想メモリ或いは比較器
、216は命令カウンタ(ワーキングレジスタ)、28
はアドレス切替回路をそれぞれ示している。更に又29
と30は入力データレジス夕と出力データレジスタをそ
れぞれ示しており、24〜30までが粗となって演算部
を構成している。以上の構成の先取り制御方式において
は、命令の演算部24〜30での実行と並列に先取り制
御部21一22でその命令に後続する命令語およびこの
命令語からデコードされた命令のオペランド語を主記憶
装置又は高速バッファメモリから取出して命令の実行準
備をあらかじめしておき、演算部24〜30で先行する
命令が実行し終ると直ちに先取り制御部21一22から
演算部へ次の命令を渡す。このとき先取りの数は主記憶
装置又は高速バッファメモリ11からの取出しとの関係
できまる。なお一般に主記憶装置や高速バッファメモリ
11からの取出いこ比して先取り制御が早ければ、先取
り数は多くとれるが、その数は記憶装置などに対する取
出し時間が実質の処理速度には影響を与えない範囲に止
めておく。ところでこの方式では先取り制御部21一2
2と演算部24〜30‘ま同時に動作しており、演算部
で現在実行している命令がストア命令であるとき、先取
り語の数をより多くするような命令先取り制御方式をと
れば、すでに先取りされた命令語やオペランド語の内容
が変更される確率は高くなり、そして実際に変更されれ
ば先取りされた命令語やオペランド語の内容は古くなっ
て使用できない。
Furthermore, 24 is an instruction execution unit, 25 is an associative memory or comparator, 216 is an instruction counter (working register), and 28
indicate address switching circuits, respectively. Yet another 29
and 30 indicate an input data register and an output data register, respectively, and 24 to 30 roughly constitute an arithmetic unit. In the prefetch control system having the above configuration, the prefetch control units 21 to 22 execute the instruction word following the instruction and the operand word of the instruction decoded from this instruction word in parallel with the execution of the instruction in the calculation units 24 to 30. Preparation for execution of the instruction is made in advance by fetching it from the main storage device or high-speed buffer memory, and immediately after the preceding instruction has been executed in the calculation units 24 to 30, the next instruction is passed from the prefetch control unit 21 to 22 to the calculation unit. . At this time, the number of prefetches is determined in relation to the fetching from the main memory or high-speed buffer memory 11. In general, if the prefetch control is faster than the main memory or high-speed buffer memory 11, the number of prefetches can be increased, but the number of prefetch times does not affect the actual processing speed. Stay within range. By the way, in this method, the preemption control unit 21-2
2 and the arithmetic units 24 to 30' are operating simultaneously, and when the instruction currently being executed in the arithmetic unit is a store instruction, if an instruction prefetch control method that increases the number of prefetch words is adopted, There is a high probability that the contents of the prefetched instruction word or operand word will be changed, and if the contents of the prefetched instruction word or operand word are actually changed, the contents of the prefetched instruction word or operand word become obsolete and cannot be used.

この不都合を解決するために、先取り制御部21−22
では先取りした命令語やオペランド語のアドレス命令語
とオペランド語に区別した指標をつけて連想メモリ26
やレジスタなどに保持していて、演算部から主記憶装置
への書込要求があると、書込みアドレスと先取りにより
保持されているアドレスが一致するかどうかのチェック
を行つ。一致するとそのアドレスに対応する先取り語は
無効にして再度主記憶装置または高速バルフアメモリ1
1から取り出す。すなわち命令語で一致が検出されると
、一致した命令語じ汎降の先取りされた命令語はすべて
無効とし、一致したアドレスから再度主記憶装置または
高速バッファメモリ11から取り出す。オペランド語は
一致したオペランド語のみを再度取出すようにしている
。第2図は上記の説明において先取りされた命令・語や
オペランド語が先行するストア命令によりその内容を変
更されると前記の先取り語が無効になる状態を示したも
のである。
In order to solve this inconvenience, the preemption control unit 21-22
Then, the address of the prefetched instruction word or operand word is added to the associative memory 26 with an index that distinguishes the instruction word and the operand word.
When there is a write request from the arithmetic unit to the main memory, a check is made to see if the write address matches the address held by pre-fetching. If a match occurs, the prefetch word corresponding to that address is invalidated and the memory is stored in the main memory or high-speed buffer memory 1 again.
Take it out from 1. That is, when a match is detected in the instruction word, all the prefetched instruction words of the matching instruction word are invalidated, and the instruction words are read out from the main memory device or the high speed buffer memory 11 again from the matching address. Only the matched operand words are retrieved again. FIG. 2 shows a state in which the prefetched instruction/word or operand word in the above description becomes invalid if its contents are changed by a preceding store instruction.

ここに図中の1ないし4の記号は、命令レジスタ読出サ
イクル、命令デコードサィクル、オペランド論出サイク
ルおよび命令実行サイクルをそれぞれあらわしている。
しかし乍らこれら無効となった命令を更新するための前
記の解決法は決して望ましいものではない。それは1つ
には本釆無効にすべき命令は第2図の場合命令○だけで
あるのに、実際にはそのあとに続く命令をGまですべて
無効にするので取出し方法に無駄があることと、第2に
主記憶装置又は高速バッファメモリ1 1から再取出し
する処理時間だけ余計の時間を必要とし、而もこの時間
は命令実行部の再読出しを必要としない場合における処
理時間に比較して相当大きいことであり、したがってこ
れら2つの原因で装置全体としての速度が低下するとい
う欠点がある。上記の欠点は無効とされた命令語に対す
る内容の更新を実行準備段階で行えれば解消できるわけ
であるが、従来の考え方では実用的には実現困難である
Here, symbols 1 to 4 in the figure represent an instruction register read cycle, an instruction decode cycle, an operand logic cycle, and an instruction execution cycle, respectively.
However, the above-mentioned solutions for updating these invalidated instructions are by no means desirable. One reason is that the only instruction that should be invalidated in this button is instruction ○ in the case of Figure 2, but in reality all subsequent instructions up to G are invalidated, so there is no use in the extraction method. , Second, extra time is required for re-fetching from the main memory or high-speed buffer memory 11, and this time is compared to the processing time when re-reading the instruction execution unit is not required. This is quite large, and therefore these two causes have the disadvantage of reducing the overall speed of the device. The above-mentioned drawbacks could be overcome if the contents of the invalidated instruction words could be updated at the execution preparation stage, but this is practically difficult to achieve with the conventional approach.

それは1つには命令語は一般に先取り制御により命令ご
とにデコードされて命令の実行準備が行われているので
、この段階における変更は技術的に複雑なものとなり、
これを実現するためには装置の論理ゲート数が相当増大
するからである。特に先取り‘こよるステップが多数あ
る場合、たとえば第1図の場合には実行準備段階まで先
取りが進む数は10を越えることもあるが、実現のため
の論理ゲート数が膨大なものとなるものであり、したが
って実用的には実現が困難となるのである。したがって
従来においては、先に述べたような欠点があるにも拘ら
ず、先取りされた命令語で無効になった分は再度主記憶
装置または高速バッファメモリから取り出すという方式
を探っていたものである。
One reason is that instruction words are generally decoded for each instruction using prefetch control to prepare for instruction execution, so changes at this stage are technically complex.
This is because in order to realize this, the number of logic gates in the device increases considerably. Particularly when there are many prefetch steps, for example in the case of Figure 1, the number of prefetch steps that advance to the execution preparation stage may exceed 10, but the number of logic gates required to realize it is enormous. Therefore, it is difficult to realize it practically. Therefore, in the past, despite the above-mentioned drawbacks, a method was sought in which the instructions that were prefetched and became invalid were retrieved again from the main memory or high-speed buffer memory. .

なお以上の説明は命令語を中心にして述べたもので、オ
ペランド語に対してはデコードなどの動作を必要としな
いのでそれほど問題とならない。第3図は本発明の一実
施例の構成をブロックであらわした図である。
Note that the above explanation has focused on instruction words, and since operations such as decoding are not required for operand words, this does not pose much of a problem. FIG. 3 is a block diagram showing the configuration of an embodiment of the present invention.

この装置において、命令語は主記憶装置または高速バッ
ファメモリ11から切替スイッチ31を通して命令レジ
スタ32に格納される。ところでこの動作は命令が命令
実行部24で行われるより前に実施されていなければな
らない。いま1つの命令が命令実行部24で実行される
とき、命令読出制御部22にはこの実行命令の次の命令
が命令レジスタ32から読出されデコードされている。
そしてデコードされた信号は信号線221を通って命令
実行部22に送られる。命令実行部では実行中の命令が
終了すると前記の送られてきた命令を受取る。このとき
命令カウンタ26は信号線261および241を通して
カウンタの内容を更新する。更新された内容で次にデコ
ードされる命令を読出すために命令カウンタ26の下位
4ビットが信号線262を通って命令レジスタ32に送
られる。命令レジスタ32は4つのブロックで形成され
ており、命令実行部24で1つの命令の終了するとき命
令レジスタ32の空の条件をチェックし、4つのブロッ
クのうち2つのブロックが空であると信号線242を通
して命令読出し制御部22へ書込み指令を送ると同時に
信号線243を通してオペランドアドレスレジスタ27
へ命令語読出しのためのアドレスを送り、更に信号線2
71を通して主記憶装置または高速バッファメモリ11
へ図示してない線×一×を経て命令議出しの要求を出す
In this device, an instruction word is stored in an instruction register 32 from a main memory device or a high-speed buffer memory 11 through a changeover switch 31. However, this operation must be executed before the instruction is executed by the instruction execution unit 24. When another instruction is executed by the instruction execution unit 24, the instruction reading control unit 22 has the instruction next to this executed instruction read from the instruction register 32 and decoded.
The decoded signal is then sent to the instruction execution unit 22 through the signal line 221. The instruction execution section receives the sent instruction when the instruction being executed is completed. At this time, the instruction counter 26 updates the contents of the counter through signal lines 261 and 241. The lower four bits of the instruction counter 26 are sent to the instruction register 32 through the signal line 262 in order to read the next instruction to be decoded with the updated contents. The instruction register 32 is formed of four blocks, and when one instruction ends in the instruction execution unit 24, the empty condition of the instruction register 32 is checked, and if two blocks out of the four blocks are empty, a signal is sent. A write command is sent to the instruction read control unit 22 through the line 242, and at the same time, the operand address register 27 is sent through the signal line 243.
Send the address for reading the command word to the signal line 2.
71 to the main memory or high-speed buffer memory 11
A request for issuing an order is issued through the unillustrated line x1x.

この動作に応じて主記憶装置又は高速バッファメモリか
ら2つのブロック分の命令語が謙出されると、切替スイ
ッチ31を通して命令読出制御部22からの信号222
により所定のブロックへ命令語が格納される。このよう
に命令語の謙出し‘ま命令実行部24での命令レジスタ
32の空のチェックなどを命令の実行と同時に行うこと
により命令の先取り制御を行なっている。続いて先取り
制御を行ないながら命令を実施することについて更に説
明する。
When two blocks of instruction words are retrieved from the main storage device or high-speed buffer memory in accordance with this operation, a signal 222 from the instruction read control unit 22 is sent through the changeover switch 31.
The instruction word is stored in a predetermined block. In this way, instruction prefetch control is performed by checking the empty space of the instruction register 32 in the instruction execution section 24 at the same time as the execution of the instruction. Next, execution of a command while performing prefetch control will be further explained.

いま命令読出制御部22によりデコードされ命令実行部
24へ送られた命令が主記憶装置11への議出し命令の
とき、命令実行部24では直ちに信号線243を通して
オペランドアドレスレジスタ27へ読出しアドレスを送
り、更に主記憶装置または高速バッファメモリ11への
議出し要求を出す。このとき高速バッファメモリ11に
要求したデータがあれば、講出しデータが1サイクルで
信号線111を通して入力レジスタ29に入る。次いで
信号線291により命令実行部24へ送り所定の汎用レ
ジスタ(図示せず)にデータを格納する。命令カウンタ
26は、命令実行部24がデコードされた命令を受け取
ったときに、命令実行部24により信号線261と24
1を通して命令カウンタ自身の内容を更新する。また命
令カウンタ26の下位4ビット信号線262を通して命
令レジスタ32の読出アドレスになっている。命令カウ
ンタ26の内容が更新されると、その結果次に実行さる
べき命令が命令レジスタ31から信号線311を通して
命令読出制御部22へ議出され、ここでデコードされて
命令実行部24へデコード結果を渡す準備を終了する。
これが命令実行の1サイクルである。次に命令制御部2
2によりデコードされ命令実行部24へ送られた上記の
命令が主記憶装置11へのストア命令のときは、書込み
アドレスは信号線243を通してアドレスレジスタ27
に送られ、書込みデータは信号線244を遜して出力デ
ータレジスタ30‘こ送られる。
When the instruction that has been decoded by the instruction read control unit 22 and sent to the instruction execution unit 24 is an instruction to issue to the main storage device 11, the instruction execution unit 24 immediately sends a read address to the operand address register 27 through the signal line 243. , and further issues a request to the main storage device or high-speed buffer memory 11. At this time, if the requested data is available in the high-speed buffer memory 11, the proposed data enters the input register 29 through the signal line 111 in one cycle. The data is then sent to the instruction execution unit 24 via a signal line 291 and stored in a predetermined general-purpose register (not shown). When the instruction execution section 24 receives a decoded instruction, the instruction counter 26 outputs signals to the signal lines 261 and 24 by the instruction execution section 24.
1 to update the contents of the instruction counter itself. Further, the read address of the instruction register 32 is passed through the lower 4 bit signal line 262 of the instruction counter 26. When the contents of the instruction counter 26 are updated, the next instruction to be executed is sent from the instruction register 31 to the instruction read control unit 22 through the signal line 311, decoded here, and sent to the instruction execution unit 24 as a result of the decoding. Finish preparing to pass.
This is one cycle of instruction execution. Next, the instruction control unit 2
When the above instruction decoded by 2 and sent to the instruction execution unit 24 is a store instruction to the main memory 11, the write address is sent to the address register 27 through the signal line 243.
The write data is sent to the output data register 30' via the signal line 244.

そのあと書込みアドレスと書込みデータが信号線271
×および301Yを速して主記憶装置11に送られる。
このときオペランドアドレスレジス夕27の内容と命令
カゥンタ26の内容が比較器33により比較される。こ
の比較により両内容の一致が検出されると、先取りして
命令レジスタ32に取込んだ命令の一部は無効となって
しまう。従来はこの無効になったものを更新することが
困難なために更めて主記憶装置又は高速バッファメモリ
11から謙出していたのであるが、本発明においてはこ
れを次のようにして行う。
After that, the write address and write data are sent to the signal line 271.
x and 301Y and then sent to the main storage device 11.
At this time, the contents of the operand address register 27 and the contents of the instruction counter 26 are compared by a comparator 33. If a match between the two contents is detected by this comparison, a part of the instruction fetched in advance into the instruction register 32 becomes invalid. Conventionally, it was difficult to update this invalidated data, so it was further removed from the main storage device or high-speed buffer memory 11, but in the present invention, this is done as follows.

すなわち本発明では比較器33において、命令レジスタ
32の4ブロック分のアドレスに相当するアドレス、す
なわち命令カウンタ26およびオペランドアドレスレジ
スタ27の下の4ビットを除くアドレスで比較して一致
したとき、信号線331,332および333を通して
命令実行部24、命令読出制御部22および切替スイッ
チ31に信号を送る。なお今まで各アドレスの構成につ
いてはいちいち断らなかったが、次にまとめて説明する
。第4図は上記のアドレスの構成を示したもので、命令
レジスタ32の読出アドレスは最下位ビットを除く下位
4ビットにより構成され、書込みアドレスは各ブ。ック
毎に下位2ビットを除くアドレスにより構成される。但
し命令レジスタ32への書込み時は、本実施例において
は主記憶装置または高速バッファメモリ11から読出し
た命令語は2ブロック分を1書込み動作とする。なお先
に述べた比較器33における比較は、下位の4ビットを
除くアドレスで行われており、また下位4ビット中の上
位2ビットは命令議出し制御部22を制御するのに用い
られる。なお各ビットは2進表示となっている。ここで
前述の比較器33で一致を検出したときに出力される3
つの信号について説明すると、信号線333に出る信号
は切替スイッチ31において書込データ(命令語)を主
記憶装置又は高速バッファメモリ11側から出力データ
レジスタ30側に切替えるものであり、信号線332に
出る信号は命令レジスタ32の変更要求信号と変更する
ブロックアドレスすなわちアドレスレジスタ26の下位
4ビット中の上位2ビット(第4図参照)を命令謙出制
御部22へ送り出させるためのものであり、信号線33
1に出る信号は命令実行部24への一致報告信号であっ
て、命令論出制御部22から命令実行部24へ信号線2
21を通して送られてくるデコード信号を命令レジスタ
32の変更が終了するまでの間無効にするものである。
That is, in the present invention, when the comparator 33 compares addresses corresponding to four blocks of addresses in the instruction register 32, that is, addresses excluding the lower 4 bits of the instruction counter 26 and the operand address register 27, and they match, the signal line is A signal is sent to the instruction execution unit 24, instruction read control unit 22, and changeover switch 31 through 331, 332, and 333. Up until now, we have not discussed the structure of each address individually, but we will explain it all together next. FIG. 4 shows the structure of the above address. The read address of the instruction register 32 is made up of the lower 4 bits excluding the least significant bit, and the write address is made up of each block. Each block consists of an address excluding the lower two bits. However, when writing to the instruction register 32, in this embodiment, two blocks of instruction words read from the main storage device or high-speed buffer memory 11 are treated as one write operation. The comparison in the comparator 33 described above is performed using addresses excluding the lower 4 bits, and the upper 2 bits of the lower 4 bits are used to control the instruction issuing control section 22. Note that each bit is expressed in binary. Here, when the aforementioned comparator 33 detects a match, the 3
To explain the two signals, a signal outputted to the signal line 333 is used to switch the write data (instruction word) from the main storage device or high-speed buffer memory 11 side to the output data register 30 side at the changeover switch 31, and the signal outputted to the signal line 332 The output signals are for sending the instruction register 32 change request signal and the block address to be changed, that is, the upper 2 bits of the lower 4 bits of the address register 26 (see FIG. 4) to the instruction output control unit 22. Signal line 33
The signal outputted from 1 is a coincidence report signal to the instruction execution section 24, and is passed from the instruction output control section 22 to the instruction execution section 24 via the signal line 2.
The decode signal sent through the instruction register 32 is made invalid until the modification of the instruction register 32 is completed.

命令カウンタ26の出力で信号線262に送られる信号
は、命令レジスタ32の諸出アドレスになると共に変更
ブロック指定回路34に送られて変更有効ブロック指行
を行う。第5図は上記の変更有効ブロック指定回路34
の一例を詳細に示した図であり、先に説明し又第4図に
示した命令レジスタの読出アドレスに使われる4ビット
中の上位の第1および第2の2ビットを2進表示するこ
とによって第1ないし第4のブロックのいずれかを指定
する信号を発生する構成となっている。
The signal sent to the signal line 262 as the output of the instruction counter 26 becomes the various addresses of the instruction register 32, and is also sent to the change block designation circuit 34 to designate a change effective block. FIG. 5 shows the above change effective block designation circuit 34.
This is a diagram showing an example in detail, in which the upper first and second two bits of the four bits used for the read address of the instruction register described earlier and shown in FIG. 4 are expressed in binary. The configuration is such that a signal specifying any one of the first to fourth blocks is generated by the following.

また第6図は前記の構成によって指定されるブロックを
示すもので、命令カウンタが図の黒い三角印の位置を示
しているときに斜線部分が有効ブロックとして指定され
ることをa〜dの4つの場合について示したものである
FIG. 6 shows the blocks specified by the above configuration, and when the instruction counter indicates the position of the black triangle mark in the figure, the shaded area is specified as a valid block. This example shows two cases.

このような性質を持った変更有効ブロック指定信号は信
号線341を通して命令論出制御部22に送出され、こ
こで先に説明した信号線332からの変更要求信号およ
び変更ブロックアドレスと共に信号線222を通して命
令レジスタ32に送り込まれる。このとき切替スイッチ
31は先に述べたように信号線333により命令レジス
タ32へ書込むデータすなわち命令語を出力データレジ
スタ30側に切替えてあるので、書込みデータは信号線
301から信号線31 1を通して命令レジスタ32の
変更すべきブロックへ書込まれる。書込みが終了すると
、書込み終了信号が信号線221を通して命令実行部2
4へ送られ、次の命令実行のためのデコードされた信号
は信号線242を通して命令実行部24で有効となり、
命令の実行が始まる。第7図は以上述べた本発明の装置
において、命令レジスタ32に先取りされた命令語が、
命令実行部24で実行される先行のストア命令によって
変更される状態を示した図である。
A change valid block designation signal having such characteristics is sent to the instruction logical output control unit 22 through the signal line 341, and is sent through the signal line 222 together with the change request signal and the change block address from the signal line 332 described above. It is sent to the instruction register 32. At this time, the changeover switch 31 has switched the data to be written to the instruction register 32 via the signal line 333, that is, the instruction word, to the output data register 30 side as described above, so the write data is passed from the signal line 301 to the signal line 311. The instruction register 32 is written to the block to be changed. When writing is completed, a write end signal is sent to the instruction execution unit 2 through the signal line 221.
4, the decoded signal for executing the next instruction becomes valid in the instruction execution unit 24 through the signal line 242,
Execution of the command begins. FIG. 7 shows that in the apparatus of the present invention described above, the instruction word prefetched into the instruction register 32 is
3 is a diagram showing a state changed by a preceding store instruction executed by an instruction execution unit 24. FIG.

この場合、第2図の従来装置の場合と違って、全内容を
無効にすることなく、且つ命令変更後も主記憶装置また
は高速バッファメモリ11に謙出動作することなく直ち
に変更された命令語を実行可動にすることができる。而
もこのような利点があるにも拘らず従来の装置と異る点
の主なものは変更有効ブロック指定回路の追加だけであ
り、これにこの回路の追加に伴う他回路の若干の変更だ
けで済むことである。なお上述の実施例においては、命
令レジスタ32が4ブロックで構成されているとしたが
、これは単なる一例であって、2ブロック以上あればい
くつでもよく、ただ数の変更に伴って比較するビッド数
および変更有効ブロック指定回路の数をブロック数に応
じたものにすればよい。
In this case, unlike the case of the conventional device shown in FIG. can be made movable. However, despite these advantages, the main difference from conventional devices is only the addition of a change effective block designation circuit, and the addition of this circuit requires only slight changes in other circuits. It is enough. In the above embodiment, the instruction register 32 is made up of four blocks, but this is just an example, and any number of blocks may be used as long as there are two or more blocks. The number and the number of change effective block designation circuits may be set according to the number of blocks.

以上説明したように、本発明の命令先取り制御装置によ
れば、命令の実行準備段階において、先取りされた命令
語を全部無効にするということもなくまた主記憶装置へ
の再取出しも行うことなく命令更新に対処でき、命令の
実質的な処理速度を更に高速化することができる。
As explained above, according to the instruction prefetch control device of the present invention, in the instruction execution preparation stage, the prefetched instruction words are neither invalidated nor re-fetched to the main memory. It is possible to deal with instruction updates, and the actual processing speed of instructions can be further increased.

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

第1図は従来の命令先取り制御装置の構成の一例を主記
憶装置と共にブロックであらわした図、第2図は第1図
の装置において先取り語が先行するストア命令のために
先取り語が無効になる状態を示した図、第3図は本発明
の命令先取り制御装置の−実施をブロックで示した図、
第4図は本発明におけるアドレスの構成の一例を示した
図、第5図は本発明の装置に用いる変更有効ブロック指
定回路の一例を示した図、第6図は第5図の回路によっ
て指定されるブロックを示した図、第7図は本発明の装
置において先取りされた命令語が先行のストア命令によ
って変更される状態を示した図である。 記号の説明:11は主記憶装置又は高速バッファメモリ
、22は命令議出し制御部、24は命令実行部、26は
命令カウンタ、27はオペランドアドレスレジス夕、2
9は入力データレジスタ、30は出力データレジスタ、
31は切替回路、32は命令レジスタ、33は比…鮫淳
溝、34は変更有効ブロック指定回路をそれぞれ示して
いる。 第1図第2図 第3図 弟ム図 第5図 第7図 第6図
FIG. 1 is a block diagram showing an example of the configuration of a conventional instruction prefetch control device together with a main memory, and FIG. 2 is a block diagram showing an example of the configuration of a conventional instruction prefetch control device, and FIG. FIG. 3 is a block diagram showing the implementation of the instruction prefetch control device of the present invention.
FIG. 4 is a diagram showing an example of the address structure in the present invention, FIG. 5 is a diagram showing an example of a change effective block designation circuit used in the device of the present invention, and FIG. FIG. 7 is a diagram showing a state in which a prefetched instruction word is changed by a preceding store instruction in the apparatus of the present invention. Explanation of symbols: 11 is the main storage device or high-speed buffer memory, 22 is the instruction issuing control section, 24 is the instruction execution section, 26 is the instruction counter, 27 is the operand address register, 2
9 is an input data register, 30 is an output data register,
31 is a switching circuit, 32 is an instruction register, 33 is a ratio, and 34 is a change effective block designation circuit. Figure 1 Figure 2 Figure 3 Younger brother Figure 5 Figure 7 Figure 6

Claims (1)

【特許請求の範囲】[Claims] 1 主記憶装置又は高速バツフアメモリから読出された
実行すべき命令を格納する命令レジスタと、この命令レ
ジスタから読出されデコードされた実行すべき命令を実
行して出力を発する命令実行部と、前記出力を受けて動
作する出力データレジスタ、命令カウンタならびにオペ
ランドアドレスレジスタとを備え、先取りした命令が先
行する命令によりその内容が更新されるようにした処理
装置において、前記命令レジスタが少なくとも2つのブ
ロツクで構成されており、更に前記命令カウンタの内容
に従つて前記少なくとも2つのブロツクのうちから空い
たブロツクを指定する機能を有する変更ブロツク指定回
路を設けて成り、前記先行する命令が前記主記憶装置ま
たは高速バツフアメモリの内容を変更する動作に応じ、
前記先行する命令の前記オペランドアドレスレジスタの
内容および前記命令カウンタの内容から、前記命令レジ
スタの内容の変更指示および前記命令レジスタ内の変更
有効ブロツクの指定を行うと共に、前記指定の行われた
ブロツクだけを前記出力データレジスタの内容で置き換
えることを可能とする命令先取り制御装置。
1: an instruction register that stores an instruction to be executed read from the main storage device or high-speed buffer memory; an instruction execution unit that executes the instruction to be executed that has been read and decoded from the instruction register and issues an output; A processing device comprising an output data register, an instruction counter, and an operand address register that operate in response to a prefetched instruction, the contents of which are updated by a preceding instruction, wherein the instruction register is composed of at least two blocks. and further comprising a change block designation circuit having a function of designating a vacant block from among the at least two blocks according to the contents of the instruction counter, wherein the preceding instruction is stored in the main storage device or the high-speed buffer memory. Depending on the action of changing the contents of
Based on the contents of the operand address register of the preceding instruction and the contents of the instruction counter, an instruction to change the contents of the instruction register and a change effective block in the instruction register are specified, and only the specified block is specified. An instruction prefetch control device that allows replacing the output data register with the contents of the output data register.
JP11532977A 1977-09-26 1977-09-26 Instruction preemption control device Expired JPS6027418B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11532977A JPS6027418B2 (en) 1977-09-26 1977-09-26 Instruction preemption control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11532977A JPS6027418B2 (en) 1977-09-26 1977-09-26 Instruction preemption control device

Publications (2)

Publication Number Publication Date
JPS5448459A JPS5448459A (en) 1979-04-17
JPS6027418B2 true JPS6027418B2 (en) 1985-06-28

Family

ID=14659860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11532977A Expired JPS6027418B2 (en) 1977-09-26 1977-09-26 Instruction preemption control device

Country Status (1)

Country Link
JP (1) JPS6027418B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61192414U (en) * 1985-05-22 1986-11-29

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5795545A (en) * 1996-05-20 1998-08-18 Motorola Inc. Integrated ceramic exhaust gas sensors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61192414U (en) * 1985-05-22 1986-11-29

Also Published As

Publication number Publication date
JPS5448459A (en) 1979-04-17

Similar Documents

Publication Publication Date Title
US4725947A (en) Data processor with a branch target instruction storage
JP3203401B2 (en) Data processing device
JP3045952B2 (en) Full associative address translator
EP0094535B1 (en) Pipe-line data processing system
JPS6125169B2 (en)
US3768080A (en) Device for address translation
US4779193A (en) Data processing apparatus for writing calculation result into buffer memory after the writing of the beginning word of the read data
JP3732234B2 (en) Method for selecting non-blocking load from load / store unit and load / store buffer realizing non-blocking load for superscalar microprocessor
JPS6027418B2 (en) Instruction preemption control device
JPH0363092B2 (en)
US3644900A (en) Data-processing device
JPH02214937A (en) Data processor
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPH0760384B2 (en) Instruction execution method and data processing device
JPH0510694B2 (en)
JPH0552534B2 (en)
JPS6232508B2 (en)
JP2685713B2 (en) Data processing device
JPH01177145A (en) Information processor
JP2542565B2 (en) Branch predictive control method
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2902847B2 (en) Self-modifying code execution method
JPH0239253A (en) Data store control system for buffer memory
JPH0248733A (en) Information processor
JPS6252334B2 (en)