JPS63148329A - Instruction prefetch control system - Google Patents
Instruction prefetch control systemInfo
- Publication number
- JPS63148329A JPS63148329A JP29583686A JP29583686A JPS63148329A JP S63148329 A JPS63148329 A JP S63148329A JP 29583686 A JP29583686 A JP 29583686A JP 29583686 A JP29583686 A JP 29583686A JP S63148329 A JPS63148329 A JP S63148329A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bus
- queue register
- instructions
- fetched
- 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
Links
- 238000000034 method Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は制御装置の並列動作における命令先取り制御方
式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an instruction preemption control system in parallel operation of a control device.
従来のこの種の命令先取り方式を第3図を参照して説明
する。1は命令を記憶する命令記憶回路、2はデータを
記憶するデータ記憶回路、3はフェッチした命令を記憶
するキューレジスタ、4はキューレジスタ3より取り出
した命令を解読して実行する命令実行部、5は命令実行
部4及びキューレジスタ3からのバス使用要求を制御す
るバス制御部、6はキューレジスタ3からのバス使用要
求信号、7は命令実行部4からのバス使用要求信号、8
は記憶回路1及び2を制御するためのアドレス、データ
書き込み/読み出し信号を伝達するためのバス、94よ
キューレジスタ3にフェッチされた命令を命令実行部4
へ送るための信号である。A conventional instruction prefetching method of this type will be explained with reference to FIG. 1 is an instruction storage circuit that stores instructions; 2 is a data storage circuit that stores data; 3 is a queue register that stores fetched instructions; 4 is an instruction execution unit that decodes and executes the instructions taken out from the queue register 3; 5 is a bus control unit that controls bus use requests from the instruction execution unit 4 and the queue register 3; 6 is a bus use request signal from the queue register 3; 7 is a bus use request signal from the instruction execution unit 4; 8
94 is a bus for transmitting addresses for controlling the memory circuits 1 and 2 and data write/read signals;
This is a signal to send to.
バス制御部5はまずバス8を介してキューレジスタ3へ
命令をとり込む。キューレジスタ3に命令がフェッチさ
れると命令実行部4は信号9をとり込みその命令を解読
して、データ記憶回路2とのデータのやりとりが必要で
あればバス制御部5に対して、バス使用要求信号7を送
る。キューレジスタ3は初期状態では有効な命令がない
状態であり、命令がフェッチされるたびに有効な命令で
満たされていき、あきがある限りバス使用要求信号6に
よってバス制御部5に対して命令フェッチを要求するが
、キューレジスタ3が有効な命令で満たされるとそれ以
上のフェッチ要求はしない。The bus control unit 5 first takes in an instruction to the queue register 3 via the bus 8. When an instruction is fetched into the queue register 3, the instruction execution section 4 takes in the signal 9, decodes the instruction, and if data exchange with the data storage circuit 2 is necessary, sends a signal to the bus control section 5 to send the instruction to the bus controller 5. A use request signal 7 is sent. In the initial state, the queue register 3 is in a state where there are no valid instructions, and each time an instruction is fetched, it is filled with valid instructions. A fetch is requested, but once the queue register 3 is filled with valid instructions, no further fetch requests are made.
一方で命令実行部4がフェッチされた順に命令を引き取
っていき、キューレジスタ3は引き取られるごとにあき
状態になっていく。On the other hand, the instruction execution unit 4 receives instructions in the order in which they are fetched, and the queue register 3 becomes empty each time the instructions are received.
バス制御部5はキューレジスタ3からのバス使用要求信
号6に対して、命令実行部4がらのバス使用要求信号7
を優先的に受けつけるが、命令実行部4からのバス使用
要求信号7がなければキューレジスタ3からのバス使用
要求信号6を受けつける。このように、命令実行部4が
らのバス使用要求信号7が優先されるが、一度キューレ
ジスタ3からのバス使用要求を受けっけ、そのバスサイ
クルが始まってしまうと、そのサイクルが終了するまで
は、命令実行部4からのバス使用要求は受付けられない
。The bus control unit 5 receives a bus use request signal 7 from the instruction execution unit 4 in response to the bus use request signal 6 from the queue register 3.
However, if there is no bus use request signal 7 from the instruction execution unit 4, the bus use request signal 6 from the queue register 3 is accepted. In this way, the bus use request signal 7 from the instruction execution unit 4 is given priority, but once a bus use request from the queue register 3 is received and that bus cycle has started, the bus use request signal 7 from the instruction execution unit 4 is given priority. In this case, a bus use request from the instruction execution unit 4 is not accepted.
第4図は従来例でのタイミングを示す。まずT1のタイ
ミングで命令実行部からの第一のバス使用要求EXRQ
Iがあり、その要求をもとにT1〜T3の間命令実行部
のバスサイクルEXIが実行される。T2のタイミング
でキューレジスタからのバス使用要求PFRQがありT
3〜T5の間命令のフェッチサイクルPFが実行される
。T4のタイミングで命令実行部からの第二のバス使用
要求EXRQ2があったが命令のフェッチサイクルが実
行中であるため命令実行部からの第二のバス使用要求は
T5まで待たされ、T5〜7でバスサイクルEX2が実
行される。FIG. 4 shows the timing in the conventional example. First, at timing T1, the first bus use request EXRQ is sent from the instruction execution unit.
There is a bus cycle EXI of the instruction execution unit between T1 and T3 based on the request. There is a bus use request PFRQ from the queue register at timing T2.
The instruction fetch cycle PF is executed from 3 to T5. There was a second bus use request EXRQ2 from the instruction execution unit at timing T4, but since the instruction fetch cycle was being executed, the second bus use request from the instruction execution unit was made to wait until T5, and from T5 to T7. Bus cycle EX2 is executed.
ここで命令フェッチのためのバスサイクルPFによって
フェッチされた命令が無駄な命令であった場合は、バス
サイクルEX2は何の意味もなくT5まで待たされたこ
とになる。If the instruction fetched by bus cycle PF for instruction fetch is a useless instruction, bus cycle EX2 is meaningless and has to wait until T5.
上述した従来の命令先取り制御方式では、先取りした命
令が分岐命令であってもキューレジスタにあきがある限
り命令の先取りを続けるため、結果的に無駄なバスアク
セスを行ってしまい、そのバスに接続されているシステ
ム全体の処理速度を低下させるという欠点がある。In the conventional instruction prefetch control method described above, even if the prefetched instruction is a branch instruction, instructions are continued to be prefetched as long as there is space in the queue register, resulting in unnecessary bus accesses and The disadvantage is that it slows down the processing speed of the entire system.
本発明の命令先取り制御方式は、命令を記憶する記憶手
段と、先取りした命令を記憶するキューレジスタと、命
令を先取りしてキューレジスタに格納するための命令読
み出し手段とを有する命令先取り制御方式に於いて、前
記キューレジスタに格納された命令が特定の命令である
ことを検知する手段と、該検知手段が前記特定の命令を
検知したとき前記キューレジスタからの命令の先取りを
停止する手段とを有することを特徴とする。The instruction prefetch control method of the present invention is an instruction prefetch control method having a storage means for storing instructions, a queue register for storing the prefetched instructions, and an instruction reading means for prefetching the instructions and storing them in the queue register. means for detecting that the instruction stored in the queue register is a specific instruction; and means for stopping prefetching of instructions from the queue register when the detection means detects the specific instruction. It is characterized by having.
次に本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.
第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.
第1図の構成について従来の同じものについては従来例
を示す第3図と同一の番号を付す。10はフェッチした
命令が分岐命令であることを検知するためのデコーダ、
11は従来からのバス制御部の機能に、フェッチを停止
させる機能を加えて制御部5Aとする制御回路、12は
キューレジスタ3に格納されている有効な命令群に分岐
命令が含まれることを判別するために必要なデコーダ情
報信号、13はデコーダ10により分岐命令が検知され
たことをバス制御部5Aに対して知らしめる検知信号で
ある。命令記憶部1からバス8を通してキューレジスタ
3へ命令がフェッチされ、先にフェッチされた命令から
順番に命令実行部4へ転送されていく一連の流れのなか
で、デコーダ10はデコード情報信号12を常時デコー
ドし続けることにより、キューレジスタ3にフェッチさ
れた命令を監視して、もし分岐命令がフェッチされると
、デコーダ10は検知信号13によりバス制御部5Aへ
知らせる。バス制御部5Aは制御回路11により、それ
以降のフェッチ動作を停止する。Components that are the same as those in the conventional structure shown in FIG. 1 are given the same numbers as in FIG. 3, which shows the conventional example. 10 is a decoder for detecting that the fetched instruction is a branch instruction;
Reference numeral 11 denotes a control circuit that adds a function to stop fetch to the conventional bus control unit function to form the control unit 5A. Reference numeral 12 indicates that a branch instruction is included in the valid instruction group stored in the queue register 3. The decoder information signal 13 necessary for the determination is a detection signal that notifies the bus control unit 5A that a branch instruction has been detected by the decoder 10. In a series of steps in which instructions are fetched from the instruction storage unit 1 to the queue register 3 via the bus 8 and transferred to the instruction execution unit 4 in order from the instruction fetched first, the decoder 10 receives the decode information signal 12. By constantly decoding, the instructions fetched into the queue register 3 are monitored, and if a branch instruction is fetched, the decoder 10 notifies the bus control unit 5A with a detection signal 13. The bus control unit 5A uses the control circuit 11 to stop subsequent fetch operations.
その後、命令実行部4により分岐命令が実行されると、
バス制御部5Aは分岐したアドレスをもとにフェッチを
開始する。After that, when the branch instruction is executed by the instruction execution unit 4,
The bus control unit 5A starts fetching based on the branched address.
本実施例によるバス使用要求信号とバスサイクルの関係
を第2図のタイミング図を参照して説明する。The relationship between the bus use request signal and the bus cycle according to this embodiment will be explained with reference to the timing diagram of FIG.
第2図の本実施例のタイミング図によれば、前記キュー
レジスタからのバス使用要求信号PFRQが停止されて
いるため、命令実行部からの第二のバス使用要求EXR
Q2に対するバスサイクルEX2はT4から開始され、
従来例に比較し、明らかにバスの使用効率が向上してい
る。According to the timing diagram of this embodiment shown in FIG. 2, since the bus use request signal PFRQ from the queue register is stopped, the second bus use request EXR from the instruction execution unit
Bus cycle EX2 for Q2 starts from T4,
Compared to the conventional example, bus usage efficiency is clearly improved.
本実施例では請求の範囲で示した特定の命令として分岐
命令の場合で説明したが、それ以降のフェッチを停止さ
せたい命令であれば、本実施例と同様な効果がある。Although this embodiment has been described using a branch instruction as the specific instruction shown in the claims, any instruction to stop subsequent fetches will have the same effect as this embodiment.
以上説明したように本発明では、キューレジスタにフェ
ッチされた命令が例えば分岐命令のようなその命令以降
の連続したアドレスでのフェッチが無意味な場合に、以
降のフェッチを停止することにより、バスの使用効率を
上げ、システムの処理速度を向上できる効果がある。As explained above, in the present invention, when the instruction fetched into the queue register is meaningless to fetch at consecutive addresses after the instruction, such as a branch instruction, the subsequent fetches are stopped. This has the effect of increasing usage efficiency and improving system processing speed.
第1図は本発明の一実施例のブロック図、第2図は第1
図の動作を示すタイミング図、第3図は従来例のブロッ
ク図、第4図は第3図の動作を示すタイミング図である
。
1・・・命令記憶回路、2・・・データ記憶回路、3・
・・キューレジスタ、4・・・命令実行部、5・・・バ
ス制御部、6,7・・・バス使用要求信号、8・・・バ
ス、9・・・命令転送のための信号、10・・・デコー
ダ、11・・・制御回路、12・・−デコード情報信号
、13・・・検知信号。
代理人 弁理士 内 原 音と棒、・ろ1ジ
〈−FIG. 1 is a block diagram of one embodiment of the present invention, and FIG. 2 is a block diagram of an embodiment of the present invention.
FIG. 3 is a block diagram of a conventional example, and FIG. 4 is a timing diagram showing the operation of FIG. 3. 1... Command storage circuit, 2... Data storage circuit, 3.
... Queue register, 4... Instruction execution unit, 5... Bus control unit, 6, 7... Bus use request signal, 8... Bus, 9... Signal for instruction transfer, 10 ... decoder, 11 ... control circuit, 12 ... -decode information signal, 13 ... detection signal. Agent Patent Attorney Uchihara Oto to Bo, Ro1ji〈−
Claims (1)
キューレジスタと、命令を先取りしてキューレジスタに
格納するための命令読み出し手段とを有する命令先取り
制御方式に於いて、前記キューレジスタに格納された命
令が特定の命令であることを検知する手段と、該検知手
段が前記特定の命令を検知したとき前記キューレジスタ
からの命令の先取りを停止する手段とを有することを特
徴とする命令先取り制御方式。In an instruction prefetch control system having a storage means for storing an instruction, a queue register for storing a prefetched instruction, and an instruction reading means for prefetching an instruction and storing the prefetched instruction in the queue register, An instruction prefetch control comprising: means for detecting that the received instruction is a specific instruction; and means for stopping prefetching of instructions from the queue register when the detecting means detects the specific instruction. method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29583686A JPS63148329A (en) | 1986-12-11 | 1986-12-11 | Instruction prefetch control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29583686A JPS63148329A (en) | 1986-12-11 | 1986-12-11 | Instruction prefetch control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63148329A true JPS63148329A (en) | 1988-06-21 |
Family
ID=17825810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29583686A Pending JPS63148329A (en) | 1986-12-11 | 1986-12-11 | Instruction prefetch control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63148329A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5136037A (en) * | 1974-09-21 | 1976-03-26 | Hitachi Ltd | MEMORISEIGYO HOSHIKI |
JPS6074033A (en) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | Instruction readout system |
JPS61133439A (en) * | 1984-12-04 | 1986-06-20 | Nec Corp | Instruction advance fetch control system |
JPS61217834A (en) * | 1985-03-25 | 1986-09-27 | Nec Corp | Data processor |
-
1986
- 1986-12-11 JP JP29583686A patent/JPS63148329A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5136037A (en) * | 1974-09-21 | 1976-03-26 | Hitachi Ltd | MEMORISEIGYO HOSHIKI |
JPS6074033A (en) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | Instruction readout system |
JPS61133439A (en) * | 1984-12-04 | 1986-06-20 | Nec Corp | Instruction advance fetch control system |
JPS61217834A (en) * | 1985-03-25 | 1986-09-27 | Nec Corp | Data processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1421490B1 (en) | Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss | |
EP0391517B1 (en) | Method and apparatus for ordering and queueing multiple memory access requests | |
US6738837B1 (en) | Digital system with split transaction memory access | |
JP3420091B2 (en) | Microprocessor | |
JP2000056970A (en) | Look-ahead method for instruction and data, micro controller, pseudo instruction detection circuit and recording medium | |
US6738867B1 (en) | Disk array system reading ahead operand databackground of the invention | |
JPS63148329A (en) | Instruction prefetch control system | |
JPH02287828A (en) | Prefetch control system | |
JP4111645B2 (en) | Memory bus access control method after cache miss | |
US20040098564A1 (en) | Status register update logic optimization | |
JP2695156B2 (en) | Information processing device | |
US20070198754A1 (en) | Data transfer buffer control for performance | |
CN111782272B (en) | Execution control method and device for repeated program in VLIW processor | |
JPH0342723A (en) | Data processor | |
JPH08286914A (en) | Memory controller | |
JP3476314B2 (en) | Microprocessor | |
JPS6240555A (en) | Prefetch control system | |
JPH0373021A (en) | Microcomputer | |
JPH08272608A (en) | Pipeline processor | |
JPH01230152A (en) | Cache memory | |
JPH027128A (en) | Information processor | |
JPH0361213B2 (en) | ||
JPH0298735A (en) | Instruction pre-fetch system | |
JPH0321941B2 (en) | ||
JP2002007119A (en) | Exception processing system and method for the same and processor |