JPS59157750A - Control system of instruction read - Google Patents

Control system of instruction read

Info

Publication number
JPS59157750A
JPS59157750A JP3071483A JP3071483A JPS59157750A JP S59157750 A JPS59157750 A JP S59157750A JP 3071483 A JP3071483 A JP 3071483A JP 3071483 A JP3071483 A JP 3071483A JP S59157750 A JPS59157750 A JP S59157750A
Authority
JP
Japan
Prior art keywords
instruction
address
read
branch destination
branch
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
JP3071483A
Other languages
Japanese (ja)
Inventor
Shinya Watabe
真也 渡部
Shuichi Abe
秀一 安部
Michitaka Yamamoto
山本 通敬
Kenichi Wada
健一 和田
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 JP3071483A priority Critical patent/JPS59157750A/en
Publication of JPS59157750A publication Critical patent/JPS59157750A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To prevent the degradation of the capacity for branch instructions by suppressing decoding of following instructions and reading out instructions of a branch destination continuously only when these operations are truely necessary in an instruction read controller. CONSTITUTION:A control line 27, which indicates that the instruction stored in an instruction register (IR)5 is a branch instruction, and a control line 29 indicating that the instruction read address indicated by an address adder output latch (AAL)9 is the last 8-byte of a block are inputted to an instruction read control part (IF control part) 15, and the IF control part 15 controls the instruction read operation through IF requests 18 and 19 and selector control signals 22 and 23. If the branch destination instruction address does not exist in the last 8 bytes of the block, 16 is added to the preceding IF address to attain the IF address; and if the branch destination instruction address exists there, 8 is added to the branch destination instruction address to attain the IF address.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は命令読出し制御方式に関する。さらに詳細には
分岐先命令時のアドレス計算に特徴を有する命令読出し
制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to an instruction read control system. More specifically, the present invention relates to an instruction read control method having a feature in address calculation at the time of a branch destination instruction.

〔従来技術〕[Prior art]

一般にデータ処理装置においては、命令レジスタにセッ
トされた命令語のオペランドアドレス部をアドレス加算
器(AA : Address Adder )により
、オペランドアドレスおよび分岐命令時の分岐先命令ア
ドレスを求め、これを記憶制御装置に与える。さらにこ
の分岐先命令アドレスを次サイクルにおいてアドレス増
加器(A I : AddressIncrement
er )に転送し、命令読出し巾だけ増加して分岐先命
令読出しに後続する分岐先後続命令読出しのアドレスを
求めるよう忙している。この方式はAIにおいて分岐先
後続命令のアドレスを求めるまでに1サイクルの空きが
生じ、分岐先命令の読出しと次の分岐先後続命令の読出
しを連続させることができないという欠点がある。この
問題は後でも説明されるが、AAにより求められた分岐
先命令のアドレスがメモリ上のブロック(例えば64バ
イト)の最終8バイトである場合、AAにより求められ
た分岐先命令のアドレスによって読出される8バイト中
に分岐先命令が全て入っておらず、分岐先命令の前半部
分しか得られないケースが有り得る。このため、分岐命
令による分岐が成立した場合、AIの次のアドレス計算
による命令読出しまで分岐先命令の実行開始ができない
という問題がある。
Generally, in a data processing device, the operand address part of the instruction word set in the instruction register is used by an address adder (AA) to obtain the operand address and the branch destination instruction address at the time of a branch instruction, and these are sent to the storage control device. give to Furthermore, this branch destination instruction address is processed by an address incrementer (AI: Address Increment) in the next cycle.
er ), the instruction read width is increased by the instruction read width, and the address of the branch target subsequent instruction read subsequent to the branch target instruction read is busy being obtained. This method has the disadvantage that one cycle is left until the address of the branch destination subsequent instruction is determined in AI, and reading of the branch destination instruction and reading of the next branch destination subsequent instruction cannot be continued. This problem will be explained later, but if the address of the branch destination instruction determined by AA is the last 8 bytes of a block (for example, 64 bytes) in memory, the address of the branch destination instruction determined by AA is read. There may be cases where the entire branch destination instruction is not included in the 8 bytes to be received, and only the first half of the branch destination instruction is obtained. Therefore, when a branch is established by a branch instruction, there is a problem in that execution of the branch destination instruction cannot be started until the instruction is read by the next address calculation by AI.

これを解決する方式として、分岐先命令読出しに続く分
岐先後続命令読出しのアドレスも1回だ1iAAを使っ
て求め、それに続く命令読出しのアドレスをAIを使っ
て求める方式がある。この方式は分岐先の命令読出しそ
れに続く命令読出しを連続させることができる利点があ
る。連続する2サイクルにおいて分岐先の命令読出しが
AAを使って行われ、その読出し要求が出されるために
、分岐命令に続く後続命令のデコードが停止し、性能が
低下するという欠点がある。
As a method to solve this problem, there is a method in which the address for reading the subsequent instruction at the branch destination following the reading of the branch destination instruction is found once using 1iAA, and the address for reading the subsequent instruction is found using AI. This method has the advantage that reading of the instruction at the branch destination and subsequent reading of the instruction can be performed consecutively. Since the instruction at the branch destination is read using the AA in two consecutive cycles and the read request is issued, there is a drawback that decoding of the subsequent instruction following the branch instruction is stopped and performance is degraded.

〔発明の目的〕[Purpose of the invention]

本発明の目的は上述の欠点に鑑み、分岐命令時の性能低
下を小さくする館令読出し制御方式を提供することにあ
る。
SUMMARY OF THE INVENTION In view of the above-mentioned drawbacks, an object of the present invention is to provide an instruction read control system that reduces performance degradation during branch instructions.

〔発明の概要〕[Summary of the invention]

本発明は、分岐先命令アトビスを含むオペランドアドレ
スを求める加算器から求められた分岐命令アドレスを再
び上記加算器に与えて命令読出し巾を加算して分岐先後
続命令読出しのアドレスを求め、該分岐先後続命令アド
レスを増加器に与え、かつ増加器に加える命令読出し巾
を変えるか、加算器からの分岐先命令アドレスによって
上記増加器で分岐先後続扁令アドレスを求めるかを選択
することを特徴とする。
The present invention provides the branch instruction address obtained from the adder for obtaining the operand address including the branch destination instruction atbis again to the adder and adds the instruction read width to obtain the address for reading the branch destination subsequent instruction. It is characterized by providing a previous succeeding instruction address to an incrementer and selecting whether to change the instruction read width to be added to the incrementer or to obtain a branch destination subsequent instruction address in the incrementer based on the branch destination instruction address from the adder. shall be.

〔発明の実施例〕[Embodiments of the invention]

以下本発明の実施例を一面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to one side.

第1図はデータ処理装置の命令読出しに関する部分のブ
ロック図を示ず。
FIG. 1 does not show a block diagram of a portion of the data processing device related to instruction reading.

記憶制御装置(SCU: Storage Contr
ol[Jnit ) 1は、記憶装置2より命令を読出
すことカテキる。5CU1は、命令読出しリクエスト(
IFリクエスト)18またはIFリクエスト19によっ
て起動される。IFリクエスト18が出された時、命令
読出しアドレス(IFアドレス)16によって指定され
た8バイトまたは16バイトの命令データが、記憶装置
14より読出される。IFリクエスト19が出された時
、IFアドレス17によって指定された命令データが、
記憶装置2より読出される。
Storage control unit (SCU)
ol[Jnit) 1 is used to read instructions from the storage device 2. 5CU1 sends an instruction read request (
IF request) 18 or IF request 19. When an IF request 18 is issued, 8 bytes or 16 bytes of instruction data specified by an instruction read address (IF address) 16 is read from the storage device 14. When the IF request 19 is issued, the instruction data specified by the IF address 17 is
It is read from the storage device 2.

読出された命令データは、データ線6を介し命令バッフ
ァ3へ送られる。
The read instruction data is sent to the instruction buffer 3 via the data line 6.

第2図は命令読出しアドレスの32ビツトのうち下位の
ビット26〜.31と読出される命令データの関係を示
す図である。5CUIから記憶装置2へのアクセスは、
ブロック例えば64バイトを単位として行われる。命令
読出しアドレスがブロックの最終8バイトにない時、命
令読出しアドレスを含む16バイトの命令データが8バ
イト境界より読出される。命令読出しアドレスがブロッ
クの最終8バイトにある時、最終8バイトの命令データ
が読出される。シ例えば命令読出しアドレスのビットが
〜3工が”0OOxxx” ”110xxx” (x&
!”O’。
FIG. 2 shows the lower bits 26 to 26 of the 32 bits of the instruction read address. 31 is a diagram showing the relationship between command data read out and command data read out. Access to storage device 2 from 5CUI is as follows:
This is done in units of blocks, for example 64 bytes. When the instruction read address is not in the last 8 bytes of the block, 16 bytes of instruction data including the instruction read address are read from the 8-byte boundary. When the instruction read address is in the final 8 bytes of the block, the final 8 bytes of instruction data are read. For example, bits of the instruction read address are "0OOxxx""110xxx"(x&
! "O'.

′1”どちらをとっても読出される命令データは変わら
ないことを示す)の場合は、そのアドレスのバイト位置
を含む16バイト境界内の16バイトの命令データが読
出されることを示し、ブロックの最終8バイトを示す’
IIIXXX”の場合は、そのバイト位置を含む8バイ
ト境界内の8バイトの命令データが読出されることを示
す。1命令の命令長は2バイト、4バイト、6バイト等
種々あるので、命令読出しアドレスのビット26〜31
がパ111X××”の場合は、読出された8バイトの命
令データ中に1命令が全部入っていないケースがある。
``1'' indicates that the instruction data to be read does not change no matter which one is taken) indicates that 16 bytes of instruction data within the 16-byte boundary including the byte position of that address will be read, and the final block of the block will be read. Indicates 8 bytes'
"IIIXXX" indicates that 8 bytes of instruction data within the 8-byte boundary including that byte position will be read. Since the instruction length of one instruction is various such as 2 bytes, 4 bytes, 6 bytes, etc., the instruction read Bits 26-31 of the address
If the command is 111XXX'', there is a case where one instruction is not entirely included in the 8-byte instruction data that has been read.

例えば” 111010 ”から始まる6バイト長命令
は前半の4バイトしか読出すず、アドレス計算後、次の
ブロックからの読出しで1命令揃うことになる。
For example, a 6-byte long instruction starting from "111010" reads only the first 4 bytes, and after address calculation, one instruction is completed by reading from the next block.

再び第1図を参照する罠、命令バッファ(より: In
5truction Buffer ) 3は、5CU
Iより読出した命令データを一時貯えておくためのレジ
スタである。シフタ4は次にデコードを開始すべき命令
を左づめにし、データ線屑を介して命令レジスタ(I 
R: In5truction Register )
5へ転送する。In5はIn3より1命令づつ命令を取
り込み、命令デコードおよびオペランドアドレスの計算
の間命令を保持する。In5の命令のオペレーションフ
ィールドは、データ、1!漢を介してデコーダ6へ送ら
れる。デコーダ6はIn5から命令のオペレーションフ
ィールドを解読し、それに従った制御信号を出力する。
Referring again to Figure 1, the trap, instruction buffer (from: In
5truction Buffer) 3 is 5CU
This is a register for temporarily storing instruction data read from I. The shifter 4 shifts the next instruction to be decoded to the left, and passes the instruction register (I) through the data line waste.
R: Induction Register)
Transfer to 5. In5 takes in instructions one by one from In3 and holds the instructions during instruction decoding and operand address calculation. The operation field of the In5 instruction is data, 1! The signal is sent to the decoder 6 via the Chinese character. The decoder 6 decodes the operation field of the instruction from In5 and outputs a control signal according to it.

特に本発明に関係して、分岐命令のとき制御信号nをオ
ンにする。
Particularly relevant to the present invention, the control signal n is turned on at the time of a branch instruction.

アトv、x加算器(AA : Address Add
er ) 8は命令読出し制御部15からのセレクタ制
御信号nがオンのとき、ゲー)20a 、20b 、2
0cは、それぞれ図示左側の入力を選択しアドレス加算
器出力ランチ(AAL :Address Adder
 Latch ) 9のアドレスは、アドレス加算器出
力ランチ10を介し、AA8に入力され、8が加えられ
る。加算結果は、;1再びA、AL9に格納される。セ
レクタ制御信号nがオフのとき、ゲー)20g 、20
b 、20cはそれぞれ図示右側の入力を選択し、IR
sによって指定されたインデックス・レジスタとベース
・レジスタを汎用し・シフタ(G R: Genera
l Register) 7より読出し、これらの値と
In5によって指定されるディスプレイスメント値をA
A8にて加算し、オペランドアドレスあるいは分岐命令
の分岐先アドレスが求められる。加算結果は、AAL9
に格納される。
Atto v, x adder (AA: Address Add
er) 8 is when the selector control signal n from the instruction read control unit 15 is on, game) 20a, 20b, 2
0c selects the input on the left side of the figure and outputs the address adder output launch (AAL: Address Adder
The address of Latch ) 9 is input to AA8 via address adder output launch 10 and 8 is added to it. The addition result is stored in A and AL9 again. When the selector control signal n is off, G) 20g, 20
b, 20c select the inputs on the right side of the diagram, and input the IR
Generates the index register and base register specified by s into a general shifter (GR).
l Register) 7 and set these values and the displacement value specified by In5 to A.
The operand address or the branch destination address of the branch instruction is obtained by addition at A8. The addition result is AAL9
is stored in

ゲート21は命令読出し制御部からの制御信号がオンの
時は図示左側の入力を選択し、オフの時は図示右側の入
力を選択する。命令読出しレジスタ(I F R: I
n5truction Fetch Register
 )11は、命令を連続して読出す場合のアドレスレジ
スタである。命令読出しアドレス増加器(IFAI: 
I F Address Incrementer )
12は、IFRIIで指定される命令読出しアドレスに
命令読出し幅8または16、あるいは2回分の命令読出
し幅スを加え、命令読出しアドレスを更新する。IPA
112の出力は命令読出し増加器出力ラッチ(IFAI
 L : I FA I Latch)13を介し、I
FRIIに格納される。ブロック最終8バイト検出論理
加は検出論理14と同一構成で、IFRll内のアドレ
スがブロック最終8バイトを指していることを検出し、
I F’A I 12は、検出論理(資)出力31がオ
ンのとき、IFRllのアドレスに8を加え、制御信号
nがオンのとき冴を加え、いずれもオンでないとぎ16
を加える。
The gate 21 selects the input on the left side in the figure when the control signal from the instruction readout control section is on, and selects the input on the right side in the figure when it is off. Instruction read register (IFR: I
n5truction Fetch Register
) 11 is an address register for reading out instructions continuously. Instruction read address incrementer (IFAI:
IF Address Incrementer)
12 adds the instruction read width of 8 or 16, or the instruction read width of 2 times, to the instruction read address specified by IFRII, and updates the instruction read address. IPA
The output of 112 is the instruction read incrementer output latch (IFAI
L: I FA I Latch) 13, I
Stored in FRII. The last 8 bytes of the block detection logic has the same configuration as the detection logic 14, and detects that the address in IFRll points to the last 8 bytes of the block.
I F'A I 12 adds 8 to the address of IFRll when the detection logic output 31 is on, adds 8 to the address of IFRll when the control signal n is on, and adds 8 to the address of IFRll when the detection logic output 31 is on;
Add.

ブロック最終8バイト検出論理(L、DWDL :La
5t Double Word Detection 
Logic )14の詳細は第3図に示し、AAL9の
示すアドレスがブロックの最終8バイトにはいっている
ことを検出する。命令読出しアドレスが、ブロックの最
終8バイトにはいっていることは、命令読出しアドレス
の下位より6ビツト目から4ビツト目(本実施例では、
ピッ)26〜ビツト28)がすべて1であることにより
検出され、A N Dゲート140で検出し、条件jJ
′−成立した時、出力線29がオンとなる。
Block last 8 byte detection logic (L, DWDL: La
5t Double Word Detection
The details of Logic ) 14 are shown in FIG. 3, and detect that the address indicated by AAL 9 is in the last 8 bytes of the block. The fact that the instruction read address is in the last 8 bytes of the block means that the 6th to 4th bits from the lower order of the instruction read address (in this example,
It is detected that bits 26 to 28) are all 1, and it is detected by the AAND gate 140, and the condition jJ
'- When established, the output line 29 is turned on.

本実施例では、1回目の分岐先命令読出しで読出す有効
な命令長が少なく、2回目の命令読出しをできるだけ早
く行う必要のあることは、1回目の分岐先命令読出しの
読出し幅が8バイトであること、すなわち、分岐命令読
出しアドレスが、ブロックの最終8バイトにあることに
より検出する。
In this embodiment, the effective instruction length to be read in the first branch destination instruction read is small, and the second instruction read must be performed as soon as possible. This is detected by the fact that the branch instruction read address is in the last 8 bytes of the block.

再び、第1図を参照するに、命令読出し制御部(IF制
御部)15は、In5に格納された命令が分岐命令であ
ることを示す制御?tM27と、AAL9で示す命令読
出しアドレスがブロックの最終8バイトにあることを示
す制御[29を入力とし、■Fリクエスト18.19お
よびセレクタ制御信号η、囚などを介し、命令読出し動
作を制御する。
Referring again to FIG. 1, the instruction read control unit (IF control unit) 15 performs control to indicate that the instruction stored in In5 is a branch instruction. tM27 and the control [29 indicating that the instruction read address indicated by AAL9 is in the last 8 bytes of the block are input, and the instruction read operation is controlled via ■F request 18.19 and the selector control signal η, etc. .

AA8によるAAL9への命令読出しアドレス設定と、
IPAI13によるIFRIIへの命令読出しアドレス
の設定は並列に行うことができる。
Setting the instruction read address to AAL9 by AA8,
Setting of the instruction read address to IFRII by the IPAI 13 can be performed in parallel.

命令読出し制御部15の詳細を第4図に示す。命令読出
し制御部15はデコーダ6からの分岐命令を示す制御f
#A27かもの信号でセットされるフリップフロップ1
50、それに接続されるANDゲートA1Fl”151
〜154の直列接続およびブロック最終8バイト検出論
理14からのブロック最終8バイト検出線四からNOT
ゲー)N、ANDゲートA%FF155〜158の直列
接続より構成される。I F IJクエスト18はF 
F 150とF F 152出力のORゲートORによ
るO R出力である。IFリクエスH”1FF154と
、’F’F158FF151出力ORによるOR出力で
ある。セレクト制御信号22はFF151出力であり、
セレクト制御信号23&”!、 F F 151とFF
155出力のORゲートORによるOR出力である。
Details of the instruction read control section 15 are shown in FIG. The instruction read control unit 15 receives a control f indicating a branch instruction from the decoder 6.
#A27 Flip-flop 1 set by signal
50, AND gate A1Fl”151 connected to it
~154 serial connection and block last 8 byte detection line 4 from block last 8 byte detection logic 14 NOT
It is composed of a series connection of AND gates FF155 to FF158. I F IJ Quest 18 is F
This is the OR output from the OR gate of the F150 and FF152 outputs. This is the OR output of IF request H"1 FF154 and 'F'F158FF151 output OR. The select control signal 22 is the FF151 output,
Select control signal 23&”!, FF 151 and FF
This is an OR output from an OR gate with 155 outputs.

第5図(a)および(b)は命令読出し動作を示す図で
あり、第5図(a)は分岐先命令アドレスがブロックの
最終8バイトにない場合、第5図(b)はブロックの最
終バイトにある場合をそれぞり、示す。
FIGS. 5(a) and 5(b) are diagrams showing the instruction read operation. FIG. 5(a) shows the case where the branch destination instruction address is not in the last 8 bytes of the block, and FIG. 5(b) shows the instruction read operation of the block. Each case in the last byte is shown.

まず第5図(a)によって分岐先命令アドレスがブロッ
クの最終8バイトにない場合を説明する。工R5にセッ
トされた命令が分岐命令であると、制御線27がオンと
なり、F F 150がセットされてIFリクエスト1
8が出される。並列にAA8にて分岐先命令アドレスが
求められ、AAL9からIF’FFレス16が同時に5
CUIに送られる。制御線画はオフであるので、F F
 155がセットされてAAL9の分岐先アドレスはI
FRIIに転送される。
First, the case where the branch destination instruction address is not in the last 8 bytes of the block will be explained with reference to FIG. 5(a). If the instruction set in R5 is a branch instruction, the control line 27 is turned on, F F 150 is set, and IF request 1
An 8 is rolled. In parallel, the branch destination instruction address is obtained in AA8, and IF'FF reply 16 is obtained from AAL9 at the same time as 5.
Sent to CUI. Since the control line drawing is off, F F
155 is set and the AAL9 branch destination address is I.
Transferred to FRII.

FF155リセツトで、FF156.157.158と
順次セットされる。IFAI12は検出論理間の出力お
よび制御線ηが共にオフであるので、IFRIIの内容
を16加算し再びIFRIIにセットする。FF158
のセットでIFリクエス目9が5CUIに送られる。こ
の時のIFFFレスはIFRIIからの出力であるIF
FFレス17であり、先のIFFFレス16に+16u
たアドレスである。第5図(a)に示すように、この場
合はIFリクエスト18と次のIFリクエスト190間
には1サイクルの空きを生じるが、ここで後続命令のデ
コードを開始することができる。
When FF155 is reset, FF156, 157, and 158 are set in sequence. Since both the output between the detection logics and the control line η of IFAI12 are off, the contents of IFRII are added by 16 and set to IFRII again. FF158
With this set, IF request number 9 is sent to 5CUI. The IFFF reply at this time is the IF which is the output from IFRII.
FF less 17, +16u to previous IFFF less 16
address. As shown in FIG. 5(a), in this case, one cycle is left between the IF request 18 and the next IF request 190, but decoding of the subsequent instruction can be started at this time.

次にあ5図(b)により分岐先命令アドレスがブロック
の最終8バイトにある場合を説明する。この場合、F 
F 150のセットによってIFリクエスト18が出さ
れるのは同じであるが、AAL9に求められた分岐先命
令アドレスがブロックの最終8ノくイトにあるので、制
御線画もオンとなり、FF151がセットされる。FF
151のセットで制御線22およびあが共にメンとなり
、AAL9に求められた分岐先命令アドレスはAA8に
より8加算されると共にIFRIIに転送される。F 
F 151のセットでF F 152がセットされ、再
びI’Fリクゴスト18が出され、先の分岐先命令アド
レスに8加算したAAL9の後続分岐先命令読出しのア
ドレスがI I”アドレス16としてSCUへ転送され
る。工F’ A I 12は制御線nがオンになってい
ることにより、IFRIIのアドレス(分岐先命令アド
レス1回目に出されたIFFFレス16に等しい)にム
加鼻し、IFRIIに保持する。FF152のセットに
より、FF153.154とセットされ、IFリクエス
ト19が出され、IFRIIのアドレスがIFFFレス
17として5CUIへ転送される。以降の命令読出しは
、IFRIIのアドレスを逐次更新し、連続して行われ
る。この場合は、後続命令のデコードは第5図(b)の
IFリクエスト19以後になるが、分岐先命令は工Fリ
クエスト18の2回連続した発行により、分岐先命令ア
ドレスがブロックの最終8バイトにあっても、分岐命令
の実行開始が遅れることはない。
Next, the case where the branch destination instruction address is in the last 8 bytes of the block will be explained with reference to FIG. 5(b). In this case, F
IF request 18 is issued by setting F150, but since the branch destination instruction address requested by AAL9 is in the last 8 nodes of the block, the control line drawing is also turned on, and FF151 is set. . FF
With the setting of 151, both the control line 22 and the line A are connected, and the branch destination instruction address obtained from AAL9 is added by 8 by AA8 and transferred to IFRII. F
When F 151 is set, F F 152 is set, and I'F request 18 is issued again, and the address for reading the subsequent branch destination instruction of AAL9, which is added by 8 to the previous branch destination instruction address, is sent to the SCU as I" address 16. Since the control line n is on, the process F' A I 12 modifies the address of IFRII (equal to the IFFF reply 16 issued at the first branch destination instruction address), and transfers IFRII. By setting FF152, FF153.154 is set, IF request 19 is issued, and the address of IFRII is transferred to 5CUI as IFFF reply 17. Subsequent command reading updates the address of IFRII sequentially. In this case, the subsequent instruction is decoded after IF request 19 in FIG. Even if the address is in the last 8 bytes of the block, there is no delay in starting execution of the branch instruction.

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

本発明によれば、後続命令のデコードを抑止し分岐先の
命令読出しを連続して行うのを、真に必要な場合に限定
できるので、後続命令のデコードが止まることによる性
能低下と分岐先の命令または分岐先の後続命令が命令バ
ッファに不在でデコードが遅れることによる性能低下の
2つを同時に最小にすることができる。これにより、命
令読出し御制装置全体として、性能を向上することがで
る。
According to the present invention, it is possible to suppress the decoding of subsequent instructions and to continuously read instructions at the branch destination only when it is truly necessary. It is possible to simultaneously minimize two types of performance degradation caused by a delay in decoding due to the absence of an instruction or a subsequent instruction at a branch destination in the instruction buffer. This makes it possible to improve the performance of the instruction readout control device as a whole.

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

第1図は本発明の一実施例を示すブロック図、第2図は
命令読出しアドレスと読出す命令データの関係を説明す
る図、第3図は第1図のブロック最終8バイト検出論理
の詳細を示す図、第4図は第1図の命令読出し制御部の
詳細を示す図、第5図は本発明の一実施例を説明するた
めの図である。 1・・・記憶制御装置、 2・・・記憶装置、 3・・
・命令バッファ、  4・・・シフタ、  5・・・命
令レジスタ、  6・・・デコーダ、  7・・・汎用
レジスタ、8・・・アドレス加算器、  9・・・アド
レス加算器出力ラッチ、 11・・・命令読出しレジス
タ、 12・・・命令読出しアドレス増加器、 14・
・・ブロック最終8バイト検出論理、 15・・・命令
読出し制御部、16〜17・・・命令読出しアドレス、
 18〜19・・・命令読出しリクエスト。 第1図 第2図 第3図 第5図 (α) (1))
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a diagram explaining the relationship between the instruction read address and the instruction data to be read, and FIG. 3 is the details of the logic for detecting the last 8 bytes of the block in FIG. 1. FIG. 4 is a diagram showing details of the instruction read control section of FIG. 1, and FIG. 5 is a diagram for explaining an embodiment of the present invention. 1... Storage control device, 2... Storage device, 3...
- Instruction buffer, 4... Shifter, 5... Instruction register, 6... Decoder, 7... General purpose register, 8... Address adder, 9... Address adder output latch, 11. ...Instruction read register, 12...Instruction read address incrementer, 14.
...Block final 8 byte detection logic, 15...Instruction readout control unit, 16-17...Instruction readout address,
18-19...Instruction read request. Figure 1 Figure 2 Figure 3 Figure 5 (α) (1))

Claims (1)

【特許請求の範囲】[Claims] (11分岐先命令アドレスを含むオペランドアドレスを
加算器で求めて読出しアドレスとすると共に、該加算器
からのアドレスを受け、分岐先命令に後続する分岐先後
続命令読出しなど連続して命令を読出すためのアドレス
を増加器で求めて読出しアドレスとする命令読出し制御
装置において、上記加算器から求められた分岐先命令ア
ドレスに応答する選択手段を設け、上記選択手段によっ
て、上記加算器から求められた分岐先命令アドレスを再
び上記加算器に与えて命令読出し巾を加算して上記分岐
先後続命令読出しのアドレスを求め、該分岐先後続命令
アドレスを上記増加器に与え、かつ上記増加器に加える
命令読出し巾を変えるか、上記加算器からの分岐先命令
アドレスによって上記増加器で上記分岐先後続命令アド
レスを求めるかを選択することを特徴とする命令読出し
制御方式。
(11) Obtain the operand address including the branch destination instruction address using an adder and use it as the read address, and receive the address from the adder to read instructions continuously, such as reading the branch destination subsequent instruction following the branch destination instruction. In an instruction read control device that uses an incrementer to obtain an address for a branch destination as a read address, a selection means responsive to the branch destination instruction address obtained from the adder is provided, and the selection means causes the instruction address obtained from the adder to be read. An instruction to give the branch destination instruction address again to the adder, add the instruction read width to obtain the address for reading the branch destination subsequent instruction, and give the branch destination subsequent instruction address to the incrementer, and add it to the incrementer. An instruction read control system characterized in that it is selected whether to change the read width or to obtain the branch destination subsequent instruction address in the incrementer based on the branch destination instruction address from the adder.
JP3071483A 1983-02-28 1983-02-28 Control system of instruction read Pending JPS59157750A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3071483A JPS59157750A (en) 1983-02-28 1983-02-28 Control system of instruction read

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3071483A JPS59157750A (en) 1983-02-28 1983-02-28 Control system of instruction read

Publications (1)

Publication Number Publication Date
JPS59157750A true JPS59157750A (en) 1984-09-07

Family

ID=12311306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3071483A Pending JPS59157750A (en) 1983-02-28 1983-02-28 Control system of instruction read

Country Status (1)

Country Link
JP (1) JPS59157750A (en)

Similar Documents

Publication Publication Date Title
EP0208870B1 (en) Vector data processor
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US4471433A (en) Branch guess type central processing unit
US3868649A (en) Microprogram control system
US5088030A (en) Branch address calculating system for branch instructions
US6715065B1 (en) Micro program control method and apparatus thereof having branch instructions
EP0223150B1 (en) Information processing apparatus
EP0164418B1 (en) Microprogram control system
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
US5276853A (en) Cache system
JPS59157750A (en) Control system of instruction read
EP0292188B1 (en) Cache system
JPS5890247A (en) Pipeline controlling system of information processor
US5704056A (en) Cache-data transfer system
JPS6236258B2 (en)
JPH0472253B2 (en)
JP2778610B2 (en) Pipeline operation control method and system
JPS60186964A (en) Vector processor
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JP2687765B2 (en) Branch prediction method
JPH0248733A (en) Information processor
JPS6145359A (en) Information processor
JP2559416B2 (en) Information processing device
JPS63231627A (en) Advanced control system
JPH024025B2 (en)