JPH02236727A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH02236727A JPH02236727A JP1058719A JP5871989A JPH02236727A JP H02236727 A JPH02236727 A JP H02236727A JP 1058719 A JP1058719 A JP 1058719A JP 5871989 A JP5871989 A JP 5871989A JP H02236727 A JPH02236727 A JP H02236727A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- address
- memory
- selector
- 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
- 230000010365 information processing Effects 0.000 claims description 6
- 238000007796 conventional method Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30061—Multi-way branch instructions, e.g. CASE
Abstract
Description
【発明の詳細な説明】
【産業上の利用分野J
本発明は情報処理装置に関し、特に間接分岐命令の実行
時の分岐先の命令の取り出し制御方式に関する.
〔従来の技術]
間接分岐命令の実行時において、従来の情報処理装置で
は、メモリから取り出した分岐先アドレスをアドレス計
算用アダーを通してから論理アドレスレジスタに格納し
、分岐先の命令を取り出していた.
〔発明が解決しようとする課題〕
上述した従来の方式は、間接分岐命令を実行する際、メ
モリから取り出した分岐先アドレスをアドレス計算用ア
ダーを通してから論理アドレスレジスタに格納し、分岐
先の命令を取りにいっていたために,実行速度が遅いと
いう欠点がある.[課題を解決するための千段1
本発明の情報処理装置は、
命令レジスタに保持されている命令をデコードし,間接
分岐命令かどうかを判断するデコーダと、
アドレス計算用アダーで計算されたアドレスまたはメモ
リから取り出された分岐先アドレスを選択するセレクタ
と、
デコーダのデコード結果を前記メモリがアクセスされる
まで持ち廻り、デコード結果が間接分岐命令を示してい
るとき、メモリから取り出された分岐先を選択するよう
にセレクタを制御するレジスタとを有している。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application J] The present invention relates to an information processing device, and particularly to a control method for fetching instructions at a branch destination when an indirect branch instruction is executed. [Prior Art] When executing an indirect branch instruction, in conventional information processing devices, the branch destination address retrieved from memory is passed through an address calculation adder, stored in a logical address register, and the branch destination instruction is retrieved. [Problems to be Solved by the Invention] In the conventional method described above, when executing an indirect branch instruction, the branch destination address retrieved from memory is passed through an address calculation adder and then stored in a logical address register, and the branch destination instruction is executed. The downside is that the execution speed is slow because it has to be retrieved. [1,000 steps to solve the problem] The information processing device of the present invention includes a decoder that decodes an instruction held in an instruction register and determines whether it is an indirect branch instruction, and an address calculated by an address calculation adder. or a selector that selects a branch destination address taken out from memory, and a decoder's decoded result is carried around until the memory is accessed, and when the decoded result indicates an indirect branch instruction, the branch destination taken out from memory is selected. and a register for controlling the selector to make a selection.
メモリから取出された分岐先アドレスをアドレス計算用
アダーを通さずに論理アドレスレジスタに格納するので
、その分実行速度が早くなる。Since the branch destination address taken out from memory is stored in the logical address register without passing through the address calculation adder, the execution speed is increased accordingly.
次に、本発明の実施例について図面を参照して説明する
。Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の情報処理装置の一実施例のブロック図
である。FIG. 1 is a block diagram of an embodiment of an information processing apparatus according to the present invention.
命令語レジスタ1は命令語を保持する命令レジスタであ
る。ペースレジスタファイル2と汎用レジスタファイル
3は命令レジスタ1に保持された命令の出力1−2,l
−3によりその内容が読出され、レジスタ4.5にそれ
ぞれ保持される。レジスタ6は命令レジスタ1が保持し
ている命令のディスプレイスメント部14を保持する。Instruction word register 1 is an instruction register that holds instruction words. The pace register file 2 and the general-purpose register file 3 are used to store the outputs 1-2, l of the instructions held in the instruction register 1.
-3, its contents are read and held in registers 4 and 5, respectively. The register 6 holds the displacement part 14 of the instruction held by the instruction register 1.
アドレス計算用アダー7はレジスタ4,5.6の出力4
−1.5−1. 6−1よりオペランドのアドレス計算
を行ない、結果7−1をセレクタ24を経て論理アドレ
スレジスタ8に格納する。実アドレス変換バッファ9は
論理アドレスレジスタ8の出力8−1でアクセスされ,
取り出された実行アドレス9−1はレジスタlOに格納
される。メモリ11は実アドレスレジスタlOの出力1
0−1でアクセスされ、取り出されたデータ11−1を
アライナ12でアラインし、結果12−1をレジスタ1
3に格納すると同時にセレクタ24にも送る。デコーダ
20は命令レジスタ1に保持されている命令の命令コー
ド1−1をデコードし、命令レジスタ!に保持されてい
た命令が間接分岐命令かどうかを判断し、結果20−1
をレジスタ21, 22. 23を経てセレクタ24を
制御し、間接分岐命令の場合、アライナl2の出力12
−1を選択するようにセレクタ24を制御する。Adder 7 for address calculation is output 4 of register 4, 5.6
-1.5-1. The address of the operand is calculated from 6-1, and the result 7-1 is stored in the logical address register 8 via the selector 24. The real address translation buffer 9 is accessed by the output 8-1 of the logical address register 8,
The extracted execution address 9-1 is stored in register IO. Memory 11 is output 1 of real address register lO
The data 11-1 accessed and retrieved by 0-1 is aligned by the aligner 12, and the result 12-1 is stored in the register 1.
3 and simultaneously sends it to the selector 24. The decoder 20 decodes the instruction code 1-1 of the instruction held in the instruction register 1, and inputs the instruction code 1-1 to the instruction register 1. It is determined whether the instruction held in is an indirect branch instruction, and the result is 20-1.
registers 21, 22. 23 to control the selector 24, and in the case of an indirect branch instruction, the output 12 of the aligner l2
The selector 24 is controlled to select -1.
例えば、Toサイクルで命令レジスタ1に保持されてい
た命令Aが間接分岐命令であったとすると、T,サイク
ルではレジスタ4.5には命令Aによって読出されたペ
ースレジスタファイル2、汎用レジスタファイル3の内
容がそれぞれ格納され、レジスタ6には命令Aのディス
プレイスメント部が格納されている。この時、同時にデ
コーダ20で命令Aの命令コードをデコードし、間接分
岐命令であるという情報(・”l“》をレジスタ2lに
格納しておく。T2サイクルでアドレス計算川アダー7
で論理アドレスを算出し、論理アドレスレジスタ8に格
納する。また、レジスタ2lの情報21−1もレジスタ
22に格納される。T3サイクルで論理アドレスレジス
タ8の出力8−1で実アドレス変換バッファ9をアクセ
スし、取り出した実アドレスをレジスタlOに格納する
。レジスタ23にはレジスタ22の情報22−1が格納
される。T4サイクルで実アドレスレジスタ10の出力
10−1でメモリ11をアクセスし、分岐先アドレスを
取り出し、アライナl2でアラインしてレジスタl3に
格納すると同時にセレクタ24にも送る。この時メモリ
llから取り出されたデータが分岐先アドレスであると
いう情報23−1がレジスタ23からセレクタ24へ送
られ、セレクタ24でアライナl2の出力である+2−
1が選択され論理アドレスレジスタ8に格納される。For example, if instruction A held in instruction register 1 in To cycle is an indirect branch instruction, in T cycle, register 4.5 contains the pace register file 2 and general register file 3 read by instruction A. The contents are stored respectively, and the displacement portion of instruction A is stored in register 6. At this time, the decoder 20 simultaneously decodes the instruction code of instruction A, and stores information (・"l") indicating that it is an indirect branch instruction in the register 2l.In the T2 cycle, the address calculation river adder 7
A logical address is calculated and stored in the logical address register 8. Information 21-1 in the register 2l is also stored in the register 22. In the T3 cycle, the real address translation buffer 9 is accessed using the output 8-1 of the logical address register 8, and the extracted real address is stored in the register IO. Information 22-1 of the register 22 is stored in the register 23. In the T4 cycle, the memory 11 is accessed using the output 10-1 of the real address register 10, the branch destination address is taken out, aligned by the aligner l2, stored in the register l3, and simultaneously sent to the selector 24. At this time, information 23-1 that the data retrieved from memory 1 is the branch destination address is sent from the register 23 to the selector 24, and the selector 24 outputs the output of the aligner 12, 23-1.
1 is selected and stored in the logical address register 8.
第2図は上述した一連の動作をタイムチ゛ヤートにした
もので、同図(a)は従来の方式によるタイムチャート
、同図(b)は本実施例の方式によるタイムチャートで
ある。図中、To ,T,,T2,T,,T4, T,
,T.はマシンサイクルを表わし、Aは命令A,Aoは
命令Aの分岐先アドレスを表わす。同図(a)では命令
Aの分岐先アドレスである八〇が論理アドレスレジスタ
8に格納されるのがTSサイクルであるのに対し、同図
(b)ではT4サイクルで論理アドレスレジスタ8に格
納される。つまり本実施例において間接分岐命令を実行
する場合、従来方式よりも本発明による方式の方が1マ
シンサイクル速く実行できる。FIG. 2 shows a time chart of the series of operations described above, in which (a) is a time chart according to the conventional method, and FIG. 2 (b) is a time chart according to the method of this embodiment. In the figure, To ,T,,T2,T,,T4,T,
,T. represents a machine cycle, A represents the instruction A, and Ao represents the branch destination address of the instruction A. In the figure (a), the branch destination address of instruction A, 80, is stored in the logical address register 8 in the TS cycle, whereas in the figure (b), it is stored in the logical address register 8 in the T4 cycle. be done. In other words, when an indirect branch instruction is executed in this embodiment, the method according to the present invention can be executed one machine cycle faster than the conventional method.
(発明の効果)
以北説明したように本発明は、デコーダとレジスタとセ
レクタを付加し、メモリから取出した分岐先アドレスに
よフて分岐先の命令を直接取りにいくことにより、間接
分岐命令を高速に実行することができる効果がある。(Effects of the Invention) As explained above, the present invention adds a decoder, a register, and a selector, and directly retrieves the branch destination instruction using the branch destination address retrieved from memory, thereby enabling indirect branch instructions. The effect is that it can be executed at high speed.
第1図は本発明の情報処理装置の一実施例を示すブロッ
ク図、第2図(a)は従来方式によるタイムチャート、
第2図(b)は本実施例の方式によるタイムチャートで
ある。
1・・・命令レジスタ、
4.5.6・・・レジスタ、
8・・・論理アドレスレジスタ、
+0. 13, 21, 22. 23・・・レジスタ
、2・・・ペースレジスタファイル、
3・・・汎用レジスタファイル、
7・・・アドレスアダー
9・・・実アドレス変換バッファ、
1l・・・メモリ、
l2・・・アライナ、
zO・・・デコーダ、
24・・・セレクタ。FIG. 1 is a block diagram showing an embodiment of the information processing device of the present invention, FIG. 2(a) is a time chart according to the conventional method,
FIG. 2(b) is a time chart according to the method of this embodiment. 1...Instruction register, 4.5.6...Register, 8...Logical address register, +0. 13, 21, 22. 23...Register, 2...Pace register file, 3...General purpose register file, 7...Address adder 9...Real address translation buffer, 1l...Memory, l2...Aligner, zO ...Decoder, 24...Selector.
Claims (1)
るのではなく、オペランドアドレスで指定されたメモリ
エリア上に予め置かれている分岐先アドレスによって分
岐を行う間接分岐命令を実行する情報処理装置において
、 命令レジスタに保持されている命令をデコードし、間接
分岐命令かどうかを判断するデコーダと、 アドレス計算用アダーで計算されたアドレスまたはメモ
リから取り出された分岐先アドレスを選択するセレクタ
と、 デコーダのデコード結果を前記メモリがアクセスされる
まで持ち廻り、デコード結果が間接分岐命令を示してい
るとき、メモリから取り出された分岐先を選択するよう
にセレクタを制御するレジスタとを有することを特徴と
する情報処理装置。[Claims] 1. Information for executing an indirect branch instruction that does not specify a branch destination address as an operand address, but rather executes a branch based on a branch destination address that is placed in advance in a memory area specified by the operand address. In the processing unit, there are a decoder that decodes the instruction held in the instruction register and determines whether it is an indirect branch instruction, and a selector that selects the address calculated by the address calculation adder or the branch destination address retrieved from memory. , a register that controls a selector to carry around the decoding result of the decoder until the memory is accessed, and to select the branch destination retrieved from the memory when the decoding result indicates an indirect branch instruction. Characteristic information processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1058719A JPH02236727A (en) | 1989-03-10 | 1989-03-10 | Information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1058719A JPH02236727A (en) | 1989-03-10 | 1989-03-10 | Information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02236727A true JPH02236727A (en) | 1990-09-19 |
Family
ID=13092305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1058719A Pending JPH02236727A (en) | 1989-03-10 | 1989-03-10 | Information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02236727A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58214947A (en) * | 1982-06-09 | 1983-12-14 | Nec Corp | Information processor |
-
1989
- 1989-03-10 JP JP1058719A patent/JPH02236727A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58214947A (en) * | 1982-06-09 | 1983-12-14 | Nec Corp | Information processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4954943A (en) | Data processing system | |
EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
JPH02236727A (en) | Information processor | |
JPH10124312A (en) | Central processor | |
JPH0218729B2 (en) | ||
JPS6125166B2 (en) | ||
JP2843844B2 (en) | Parallel processing unit | |
JPS63303432A (en) | System for controlling writing in branching history table | |
JPH0218732B2 (en) | ||
JPS60250438A (en) | Information processor | |
JPS5943440A (en) | Arithmetic control system | |
JPS6389930A (en) | Microprogram controller | |
JPH03204029A (en) | Information processor | |
JPH03164945A (en) | Data processor | |
JPS6375833A (en) | Information processor | |
JPH0353322A (en) | Information processor | |
JPS63205732A (en) | Information processor | |
JPH0424731B2 (en) | ||
JPS59223846A (en) | Arithmetic processor | |
JPS6081646A (en) | Information processor | |
JPH05241825A (en) | Microprocessor | |
JPS60163131A (en) | Information processing unit | |
JPS58114250A (en) | Common microprocessor | |
JPS60168237A (en) | Arithmetic unit | |
JPH0340075A (en) | Microcomputer |