JP2867798B2 - Advance control unit - Google Patents
Advance control unitInfo
- Publication number
- JP2867798B2 JP2867798B2 JP15716392A JP15716392A JP2867798B2 JP 2867798 B2 JP2867798 B2 JP 2867798B2 JP 15716392 A JP15716392 A JP 15716392A JP 15716392 A JP15716392 A JP 15716392A JP 2867798 B2 JP2867798 B2 JP 2867798B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- address
- program
- register
- 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 - Fee Related
Links
- 230000010365 information processing Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は先行制御装置、特に、一
部のソフトウェア命令を、主記憶に置かれたソフトウェ
ア命令群によりなるプログラムにより実現し、命令を先
取りし、先取りした命令をデコードした結果に基づいて
オペランドの先取りを行うパイプライン構成の情報処理
装置に設ける先行制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a precedence controller, in particular, some software instructions are realized by a program consisting of a software instruction group stored in a main memory, the instructions are prefetched, and the prefetched instructions are decoded. The present invention relates to a precedence control device provided in an information processing device having a pipeline configuration that prefetches operands based on a result.
【0002】[0002]
【従来の技術】従来のこの種の先行制御装置は、プログ
ラムを起動する時は、プログラムの開始アドレスを命令
の実行により起動されるマイクロプログラム中で指定し
たり、主記憶にテーブルを用意してマイクロプログラム
によりテーブルを索引することによって求め、次に、求
めた開始アドレスをマイクロプログラムにより先行制御
装置に設定し、命令取り出し指示を行なっている。2. Description of the Related Art In this type of prior art control device, when starting a program, a start address of the program is designated in a microprogram started by executing an instruction, or a table is prepared in a main memory. The start address is obtained by indexing the table by the microprogram , and the obtained start address is set in the preceding control device by the microprogram to issue an instruction fetch instruction.
【0003】[0003]
【発明が解決しようとする課題】上述した従来の先行制
御装置では、最初にプログラムの開始アドレスを求める
迄に、マイクロプログラム中で指定する場合、主記憶に
用意したテーブルをマイクロプログラムで索引する場合
のいずれの場合も時間を要してしまう。また、プログラ
ムの開始アドレスを求めた後にも、プログラムを起動す
る迄に開始アドレスをマイクロプログラムにより先行制
御装置に設定し、命令の取り出し指示を行うために、さ
らに時間を要してしまい性能が低下してしまうという問
題点があった。In the above-mentioned prior-art control device, when the program start address is specified in the microprogram before the start address is obtained, the table prepared in the main memory is indexed by the microprogram. In either case, time is required. Also, after obtaining the start address of the program, it sets the starting address until the start of the program to the preceding control unit by a microprogram, in order to perform an instruction for extracting the instruction, poor performance would be needed more time There was a problem of doing it.
【0004】[0004]
【課題を解決するための手段】本発明の装置は、一部の
ソフトウェア命令を主記憶に置かれたソフトウェア命令
群よりなるプログラムにより実現し、命令を先取りし、
先取りした命令をデコードした結果に基づいてオペラン
ドの先取りを行うパイプライン構成の情報処理装置に於
ける先行制御装置に於いて、前記先取りした命令が前記
主記憶に置かれたソフトウェア命令群よりなるプログラ
ムにより実現する命令であった場合に、主記憶に置かれ
たソフトウエア命令群よりなるプログラムの主記憶の開
始アドレスを出力する命令デコーダを有することを特徴
とする。According to the present invention, there is provided an apparatus wherein software instructions are partially stored in a main memory.
Realized by a program consisting of groups , pre-fetching instructions,
In a preceding control device in an information processing device having a pipeline configuration for prefetching an operand based on a result of decoding a prefetched instruction, a program comprising a software instruction group in which the prefetched instruction is stored in the main storage. And an instruction decoder that outputs a start address of a main memory of a program including a software instruction group stored in the main memory when the instruction is realized by the following.
【0005】[0005]
【実施例】次に、本発明の実施例について図面を参照し
ながら説明する。Next, embodiments of the present invention will be described with reference to the drawings.
【0006】図3は本発明が適用されるパイプライン構
成図である。[0006] FIG. 3 is a pipeline diagram to which the present invention is applied.
【0007】図3において、ステージ3−1は、命令を
取り出すステージであり、命令キャッシュより命令語を
読み出し1命令毎にステージ3−2に供給する。ステー
ジ3−2は命令のデコード及びメモリオペランドを有す
る命令の場合はメモリアドレスの論理アドレスを計算
(即ちアドレスシラブル展開)するステージである。In FIG. 3, a stage 3-1 is a stage for fetching an instruction. An instruction word is read from an instruction cache and supplied to a stage 3-2 for each instruction. The stage 3-2 is a stage for decoding an instruction and calculating a logical address of a memory address (that is, address syllable expansion) in the case of an instruction having a memory operand.
【0008】ステージ3−3はステージ3−2で求めら
てた論理アドレスを絶対アドレスに変換する全体アドレ
ス計算ステージであり、アドレス変換バッファを索引す
るステージである。The stage 3-3 is a whole address calculation stage for converting the logical address obtained in the stage 3-2 into an absolute address, and a stage for indexing the address conversion buffer.
【0009】ステージ3−4はオペランドキャッシュを
索引するステージであり、ステージ3−3の出力である
全体アドレスの基づいてオペランドキャッシュを索引
し、メモリオペランドを読み出す。Stage 3-4 is a stage for indexing the operand cache. The operand cache is indexed based on the entire address output from stage 3-3, and memory operands are read.
【0010】ステージ3−5は、命令を実行するステー
ジであり、ステージ3−4で求められたメモリオペラン
ドやレジスタオペランドを入力として演算を行う。ま
た、この演算の制御はマイクロプログラムで制御され
る。各命令のマイクロプログラムは制御記憶に格納され
ており、ステージ3−2の命令デコードにより制御記憶
のアドレスが求められ、ステージ3−4制御記憶から読
み出されてステージ3−5で実行される。ステージ3−
6はステージ3−5で実行された演算結果をメモリまた
はレジスタに書き込みためのステージである。The stage 3-5 is a stage for executing an instruction, and performs an operation by using the memory operand and the register operand obtained in the stage 3-4 as inputs. The control of this operation is controlled by a microprogram. The microprogram of each instruction is stored in the control storage. The address of the control storage is obtained by the instruction decoding of the stage 3-2, read from the control storage of the stage 3-4, and executed in the stage 3-5. Stage 3-
Reference numeral 6 denotes a stage for writing the operation result executed in the stage 3-5 to a memory or a register.
【0011】プログラムが滞りなく流れる場合はステー
ジ3−1→3−2→3−3→3−4→3−5→3−6を
順番に実行し、プログラム中に分岐命令がある場合に
は、ステージ3−3で求められる分岐先の絶対アドレス
がステージ3−1に戻されて分岐先のプログラムがステ
ージ3−1より順に実行される。If the program flows smoothly, the stages 3-1 → 3-2 → 3-3 → 3-4 → 3-5 → 3-6 are executed in order, and if there is a branch instruction in the program, , The absolute address of the branch destination obtained in the stage 3-3 is returned to the stage 3-1 and the programs of the branch destination are sequentially executed from the stage 3-1.
【0012】また、プログラムあるいはタスクを起動し
たり、プログラムあるいはタスクのアドレス空間が切り
替わり、切り替わったアドレスがステージ3−5のマイ
クロプログラムの実行でしかわからないような場合に
は、マイクロプログラムの指示でステージ3−5より論
理アドレスがステージ3−2に入力されステージ3−2
→3−3→3−1の順で実行され、以下通常の処理の流
れに入る。If the program or task is started, or the address space of the program or task is switched and the switched address can be known only by executing the microprogram in stage 3-5, the stage is controlled by the instruction of the microprogram. The logical address is input to the stage 3-2 from the stage 3-5 and the stage 3-2
It is executed in the order of → 3-3 → 3-1, and then enters a normal processing flow.
【0013】図1は本発明の第1の実施例を示し、図3
におけるステージ3−2を実行する先行制御装置のブロ
ック図である。FIG. 1 shows a first embodiment of the present invention, and FIG.
3 is a block diagram of a preceding control device that executes a stage 3-2 in FIG.
【0014】図1において、命令レジスタ1−1は、ス
テージ3−1により供給される命令語を保持する命令レ
ジスタである。命令デコーダ1−2はRAMで構成され
る命令デコーダであり、命令レジスタ1−1に保持され
た命令語のうち、命令コードの部分がアドレスとして与
えられ、命令デコーダ1−2の出力は、レジスタ1−3
およびレジスタ1−4にセットされる。In FIG. 1, an instruction register 1-1 is an instruction register for holding an instruction word supplied by the stage 3-1. The instruction decoder 1-2 is an instruction decoder composed of a RAM. Among instruction words held in the instruction register 1-1, an instruction code portion is given as an address, and an output of the instruction decoder 1-2 is a register. 1-3
And registers 1-4.
【0015】また、命令レジスタ1−1の命令語のオペ
ランドのアドレスを指示する部分、即ちアドレスシラブ
ルのフィールドのうち、ベースレジスタ、インデクスレ
ジスタを指定するフィールドが各々レジスタファイル1
−5およびレジスタファイル1−6の読み出しアドレス
として与えられ、各々の出力が3入力加算器1−7に入
力される。また、3入力加算器1−7の残りの1入力に
は、アドレスシラブル中のディスプレースメントのフィ
ールドが与えられる。A portion indicating the address of the operand of the instruction word of the instruction register 1-1, that is, of the fields of the address syllable, the fields specifying the base register and the index register are respectively stored in the register file 1.
-5 and a read address of the register file 1-6, and the respective outputs are input to a three-input adder 1-7. The remaining one input of the three-input adder 1-7 is provided with a displacement field in the address syllable.
【0016】3入力加算器1−7で加算された結果はオ
ペランドの論理アドレスとなり、レジスタ1−8にセッ
トされ、セレクタ1−9を経由してステージ3−3に送
られる。リクエストデコーダ1−10はオペランドの先
取りを行うリクエストの種類(リード/ライト/分岐
等)、即ちリクエストデコーダを保持するRAMで構成
されるデコーダであり、そのアドレスは、レジスタ1−
3の出力がセレクタ1−11を経由して与えられ、読み
出されたリクエストコードは先に説明した論理アドレス
と共にステージ3−3に送られる。The result added by the three-input adder 1-7 becomes the logical address of the operand, is set in the register 1-8, and sent to the stage 3-3 via the selector 1-9. Request type request decoder 1-10 to perform a prefetch operands (read / write / branching, etc.), i.e., the decoder consists of RAM to hold the request decoders, its address, register 1-
The output of the request code 3 is given via the selector 1-11, and the read request code is sent to the stage 3-3 together with the logical address described above.
【0017】命令の取り出しの開始をステージ3−5の
マイクロプログラムにより指示する場合には、論理アド
レスをアドレス信号線1−12よりセレクタ1−9に於
いてアドレス信号線1−12をセレクトし、またセレク
タ1−11に於いてリクエストデコーダ1−10より分
岐のリクエストコードを読み出すための固定アドレスを
セレクトすることにより、命令の開始アドレスと命令の
取り出しを意味する分岐のリクエストをステージ3−3
に送出する。[0017] When instructed by the instruction fetch start the stage 3 -5 microprogram of the selection of the address signal lines 1-12 at the logical address to the selector 1-9 from address signal lines 1-12, The selector 1-11 selects a fixed address for reading the request code of the branch from the request decoder 1-10, so that the start address of the instruction and the request for the branch which means the fetch of the instruction are transmitted to the stage 3-3.
To send to.
【0018】命令デコーダ1−2に記憶される内容は、
リクエストデコーダ1−10のアドレスとは別に、デコ
ードする命令が、主記憶に置かれたソフトウェア命令プ
ログラムにより実現する命令である場合に、プログラム
の主記憶上の開始アドレスもあり、レジスタ1−4は、
その開始アドレスを保持するレジスタである。The contents stored in the instruction decoder 1-2 are as follows:
Apart from the address of the request decoder 1-10, when the instruction to be decoded is an instruction realized by a software instruction program stored in the main memory, there is also a start address of the program in the main memory, and the register 1-4 is ,
This is a register that holds the start address.
【0019】プログラムの開始は、該命令がパイプライ
ンの各ステージで処理され、ステージ3−5まで来たと
きに、マイクロプログラムの指示でセレクト信号線1−
13よりセレクタ1−9において、レジスタ1−4をセ
レクトし、セレクタ1−11に於いて、固定値をセレク
トすることにより、該命令を実現するためのプログラム
の開始アドレスを、分岐のリクエストコードとして、ス
テージ3−3に送出することにより行われる。At the start of the program, the instruction is processed in each stage of the pipeline, and when the instruction reaches the stage 3-5 , the select signal line 1-
13, the selector 1-9 selects the register 1-4, and the selector 1-11 selects a fixed value, so that the start address of the program for realizing the instruction is set as a branch request code. , Stage 3-3.
【0020】図2は本発明の第2の実施例を示し、図3
におけるステージ3−2を実行する先行制御装置のブロ
ック図である。図1と共通な構成要素には共通な番号が
付されている。FIG. 2 shows a second embodiment of the present invention, and FIG.
3 is a block diagram of a preceding control device that executes a stage 3-2 in FIG. Components common to those in FIG. 1 are denoted by common numbers.
【0021】本実施例においては、命令デコーダ2−2
に記憶される内容として、ソフトウェア命令プログラム
により実現する命令であることを示すビッドが定義さ
れ、このビットは命令デコーダ2−2より読み出された
後、フリップフロップ2−100に保持される。In this embodiment, the instruction decoder 2-2
Is defined as a content that is an instruction realized by a software instruction program. This bit is read by the instruction decoder 2-2 and then held in the flip-flop 2-100.
【0022】そして、オペランドの先取りのためにレジ
スタ2−8が保持する論理アドレスと、対応するリクエ
ストコードをリクエストデコーダ2−10を索引してス
テージ3−3に送出するのに続いて、フリップフロップ
2−100の出力を論理回路2−102に入力し、セレ
クタ2−9,2−11のセレクト信号2−102,2−
103により、論理アドレスとして、プログラムの開始
アドレスを保持するレジスタ2−4を、またリクエスト
デコーダ2−10のアドレスとして固定値をセレクトと
することにより、プログラムの開始指示をマイクロプロ
グラムの制御を介さずに行う。Then, the logical address held by the register 2-8 for prefetching the operand and the corresponding request code are indexed by the request decoder 2-10 and sent to the stage 3-3. receives an output of 2-100 to the logic circuit 2-10 2 select signal of the selector 2-9,2-11 2-102,2-
According to 103, the register 2-4 holding the program start address is selected as the logical address and the fixed value is selected as the address of the request decoder 2-10, so that the program start instruction is not performed via the control of the microprogram. To do.
【0023】本実施例によると、オペランドの先取り処
理に続いて、保持しているプログラムの開始アドレスで
次命令の取り出し処理を行うため、マイクロプログラム
による次命令の取り出し開始指示を行う時間を短縮する
ことができる。According to this embodiment, following the prefetching of the operands, the next instruction is fetched at the start address of the stored program, so that the time for issuing the instruction to start fetching the next instruction by the microprogram is reduced. be able to.
【0024】[0024]
【発明の効果】以上説明したように、本発明は主記憶に
置かれたソフトウエア命令群よりなるプログラムにより
実現する命令をデコード時に、プログラムの開始アドレ
スを出力して保持することにより、マイクロプログラム
でプログラムの開始アドレスを求める時間を短縮し、性
能を向上させる効果がある。As described above, according to the present invention, when an instruction realized by a program consisting of a software instruction group stored in the main memory is decoded, the start address of the program is output and held, whereby the This has the effect of shortening the time required to find the program start address in the program and improving the performance.
【図1】本発明が適用される情報処理装置のパイプライ
ン構成図である。FIG. 1 is a pipeline configuration diagram of an information processing apparatus to which the present invention is applied.
【図2】本発明の第1の実施例を示す先行制御装置のブ
ロック図である。FIG. 2 is a block diagram of a preceding control device showing a first embodiment of the present invention.
【図3】本発明の第2の実施例を示す先行制御装置のブ
ロック図である。FIG. 3 is a block diagram of a preceding control device showing a second embodiment of the present invention.
1−1 命令レジスタ 1−2 命令デコーダ 1−3 レジスタ 1−4 レジスタ 1−5 レジスタファイル 1−6 レジスタファイル 1−7 3入力加算器 1−8 レジスタ 1−9 セレクタ 1−10 リクエストコードデコーダ 1−11 セレクタ 1−12 アドレス信号線 1−13 セレクト信号線 2−1 命令レジスタ 2−2 命令デコーダ 2−3 レジスタ 2−4 レジスタ 2−5 レジスタファイル 2−6 レジスタファイル 2−7 3入力加算器 2−8 レジスタ 2−9 セレクタ 2−10 リクエストコードデコーダ 2−11 セレクタ 2−12 アドレス信号線 2−13 セレクト信号 2−100 フリップフロップ 2−101 論理回路 2−102,2−103 セレクト信号 1-1 Instruction Register 1-2 Instruction Decoder 1-3 Register 1-4 Register 1-5 Register File 1-6 Register File 1-7 3-Input Adder 1-8 Register 1-9 Selector 1-10 Request Code Decoder 1 -11 Selector 1-12 Address signal line 1-13 Select signal line 2-1 Instruction register 2-2 Instruction decoder 2-3 Register 2-4 Register 2-5 Register file 2-6 Register file 2-7 3-input adder 2-8 Register 2-9 Selector 2-10 Request Code Decoder 2-11 Selector 2-12 Address Signal Line 2-13 Select Signal 2-100 Flip-flop 2-101 Logic Circuit 2-102, 2-103 Select Signal
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/38 G06F 9/30 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/38 G06F 9/30
Claims (2)
れたソフトウエア命令群よりなるプログラムにより実現
し、命令を先取りし、先取りした命令をデコードした結
果に基づいてオペランドの先取りを行うパイプライン構
成の情報処理装置に於ける先行制御装置に於いて、前記
先取りした命令が前記主記憶に置かれたソフトウエア命
令群よりなるプログラムにより実現する命令であった場
合に、主記憶に置かれたソフトウェア命令群よりなるプ
ログラムの主記憶の開始アドレスを出力する命令デコー
ダを有することを特徴とする先行制御装置。1. A pipe for realizing a part of software instructions by a program consisting of a software instruction group stored in a main memory, prefetching instructions, and prefetching operands based on a result of decoding the prefetched instructions. In the preceding control device of the line-structured information processing device, if the prefetched instruction is an instruction realized by a program consisting of a software instruction group stored in the main memory, the instruction is stored in the main memory. A predecessor control device having an instruction decoder for outputting a start address of a main storage of a program comprising a group of software instructions.
理に続いて、前記命令デコードにより出力した主記憶の
開始アドレスに基づいて、次命令の先取りを開始する手
段を設けたことを特徴とする請求項1記載の先行制御装
置。2. The apparatus according to claim 1, further comprising means for starting prefetching of a next instruction based on a start address of a main memory output by the instruction decoding, following prefetching of operands of the fetched instruction. 2. The preceding control device according to 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15716392A JP2867798B2 (en) | 1992-06-17 | 1992-06-17 | Advance control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15716392A JP2867798B2 (en) | 1992-06-17 | 1992-06-17 | Advance control unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683620A JPH0683620A (en) | 1994-03-25 |
JP2867798B2 true JP2867798B2 (en) | 1999-03-10 |
Family
ID=15643568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15716392A Expired - Fee Related JP2867798B2 (en) | 1992-06-17 | 1992-06-17 | Advance control unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2867798B2 (en) |
-
1992
- 1992-06-17 JP JP15716392A patent/JP2867798B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0683620A (en) | 1994-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000222206A (en) | Data processor | |
JP3449186B2 (en) | Data processing device having pipeline bypass function | |
US6687808B2 (en) | Data processor using indirect register addressing | |
JP3510729B2 (en) | Instruction execution method and instruction execution device | |
JPH03233630A (en) | Information processor | |
US7134000B2 (en) | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information | |
JP2867798B2 (en) | Advance control unit | |
US20080065870A1 (en) | Information processing apparatus | |
KR19980024622A (en) | Program execution method and device using the method | |
US6363469B1 (en) | Address generation apparatus | |
US6115805A (en) | Non-aligned double word fetch buffer | |
JPH0218729B2 (en) | ||
JPH0524537B2 (en) | ||
JP3511691B2 (en) | Arithmetic processing unit | |
JP2545594B2 (en) | Operand data prefetching method | |
JP4151497B2 (en) | Pipeline processing equipment | |
JPH0241770B2 (en) | ||
JPS63293638A (en) | data processing equipment | |
JP2000003279A (en) | Vliw processor, program generator and recording medium | |
JPH0752402B2 (en) | Data processing device | |
JPH06332701A (en) | Information processor | |
JPH024011B2 (en) | ||
JPS6394334A (en) | Pipeline processing system | |
JPH11119995A (en) | Device and method for processing data | |
JPH04255995A (en) | Instruction cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19981124 |
|
LAPS | Cancellation because of no payment of annual fees |