JPH02236727A - Information processor - Google Patents

Information processor

Info

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
Application number
JP1058719A
Other languages
Japanese (ja)
Inventor
Toshiteru Shibuya
渋谷 俊輝
Yuki Date
結城 伊達
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
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno 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 NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP1058719A priority Critical patent/JPH02236727A/en
Publication of JPH02236727A publication Critical patent/JPH02236727A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE

Abstract

PURPOSE:To execute an indirect branch instruction at high speed by adding a decoder, a register, and a selector, and directly taking the instruction of a branch destination by a branch destination address taken out from a memory. CONSTITUTION:The memory 11 can be accessed by the output 10-1 of a real address register 10, and taken out data 11-1 is aligned with an aligner 12, and a result 12-1 is stored in the register 13, and simultaneously, it is sent to the selector 24. The decoder 20 decodes the instruction code 1-1 of an instruction held at an instruction register 1, and judges whether or not the instruction held at the instruction register 1 is the indirect branch instruction, and a result 20-1 is sent via the registers 21-23, which controls the selector 24. When the instruction is the indirect branch instruction, the selector 24 is controlled so as to select the output 12-1 of the aligner 12. Thereby, since the branch destination address taken out from the memory is stored in a logic address register without passing an adder for address calculation, execution speed can be accelerated so much.

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.

〔作用〕[Effect]

メモリから取出された分岐先アドレスをアドレス計算用
アダーを通さずに論理アドレスレジスタに格納するので
、その分実行速度が早くなる。
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.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して説明する
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.

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

第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)

【特許請求の範囲】 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.
JP1058719A 1989-03-10 1989-03-10 Information processor Pending JPH02236727A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58214947A (en) * 1982-06-09 1983-12-14 Nec Corp Information processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
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