JPS623461B2 - - Google Patents
Info
- Publication number
- JPS623461B2 JPS623461B2 JP57011121A JP1112182A JPS623461B2 JP S623461 B2 JPS623461 B2 JP S623461B2 JP 57011121 A JP57011121 A JP 57011121A JP 1112182 A JP1112182 A JP 1112182A JP S623461 B2 JPS623461 B2 JP S623461B2
- Authority
- JP
- Japan
- Prior art keywords
- stage
- register
- instruction
- bus
- microinstruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はパイプライン処理を行なうマイクロプ
ログラム制御方式の演算制御装置に関する。
ログラム制御方式の演算制御装置に関する。
一般にこの種の演算制御装置は第1図に示され
ているように構成されている。図中、1は命令読
み出しステージ(以下IFステージと称する)に
おいて主メモリ(図示せず)から読み出された命
令語がIFステージの最後で置数される命令レジ
スタである。命令レジスタ1に置数された命令語
はオペランドアドレス計算ステージ(以下、Aス
テージと称する)の最後で命令レジスタ2に置数
される。そして、命令レジスタ2に置数された命
令語はオペランド読み出しステージ(以下、OF
ステージと称する)の最後で命令レジスタ3に置
数される。このように命令レジスタ1〜3には、
主メモリから読み出された命令語がパイプライン
処理の進行状態に応じて順次転送され置数され
る。第1図の場合、パイプライン処理のステージ
数(段数)は4ステージ(4段)であり、命令の
処理順序に従つて上述のIFステージ、Aステー
ジ、OFステージ、更に命令実行ステージ(以下
Eステージと称する)に分けられる。上記命令語
は、この命令語がRX型命令であれば、命令レジ
スタ1内に図示されている如く、命令コード
OP、第1オペランドレジスタR1、およびイン
デクスレジスタXとデイスプレイスメントDとで
表現される第2オペランドアドレスなどで構成さ
れる。また命令語がRR型命令の場合には、上記
Xに代えて第2オペランドレジスタR2が設けら
れる。
ているように構成されている。図中、1は命令読
み出しステージ(以下IFステージと称する)に
おいて主メモリ(図示せず)から読み出された命
令語がIFステージの最後で置数される命令レジ
スタである。命令レジスタ1に置数された命令語
はオペランドアドレス計算ステージ(以下、Aス
テージと称する)の最後で命令レジスタ2に置数
される。そして、命令レジスタ2に置数された命
令語はオペランド読み出しステージ(以下、OF
ステージと称する)の最後で命令レジスタ3に置
数される。このように命令レジスタ1〜3には、
主メモリから読み出された命令語がパイプライン
処理の進行状態に応じて順次転送され置数され
る。第1図の場合、パイプライン処理のステージ
数(段数)は4ステージ(4段)であり、命令の
処理順序に従つて上述のIFステージ、Aステー
ジ、OFステージ、更に命令実行ステージ(以下
Eステージと称する)に分けられる。上記命令語
は、この命令語がRX型命令であれば、命令レジ
スタ1内に図示されている如く、命令コード
OP、第1オペランドレジスタR1、およびイン
デクスレジスタXとデイスプレイスメントDとで
表現される第2オペランドアドレスなどで構成さ
れる。また命令語がRR型命令の場合には、上記
Xに代えて第2オペランドレジスタR2が設けら
れる。
IFステージで主メモリから読み出された命令
語がIFステージの最後で命令レジスタ1に置数
されてAステージに入るとオペランドアドレスの
計算が行なわれる。例えば命令レジスタ1に置数
されている命令語がRX型命令の場合、前記Xで
指定されるインデクスレジスタの内容とデイスプ
レイスメントDとに基づいてアドレス計算が行な
われる。そして、Aステージの最後に命令レジス
タ1の内容が命令レジスタ2に転送され、OFス
テージに入る。このOFステージでは、Aステー
ジで求められたオペランドアドレスを用いて主メ
モリがアクセスされ、オペランド(第2オペラン
ド)の読み出しが行なわれる。主メモリから読み
出されたオペランドは、メモリデータレジスタ
(以下、MDRと称する)にOFステージの最後で
置数される。このとき、同時に命令レジスタ2の
内容が命令レジスタ3に転送される。
語がIFステージの最後で命令レジスタ1に置数
されてAステージに入るとオペランドアドレスの
計算が行なわれる。例えば命令レジスタ1に置数
されている命令語がRX型命令の場合、前記Xで
指定されるインデクスレジスタの内容とデイスプ
レイスメントDとに基づいてアドレス計算が行な
われる。そして、Aステージの最後に命令レジス
タ1の内容が命令レジスタ2に転送され、OFス
テージに入る。このOFステージでは、Aステー
ジで求められたオペランドアドレスを用いて主メ
モリがアクセスされ、オペランド(第2オペラン
ド)の読み出しが行なわれる。主メモリから読み
出されたオペランドは、メモリデータレジスタ
(以下、MDRと称する)にOFステージの最後で
置数される。このとき、同時に命令レジスタ2の
内容が命令レジスタ3に転送される。
また、OFステージでは、命令レジスタ2に置
数されている命令語中のR1により第1オペラン
ドの読み出しが行なわれる。なお、RR型命令の
場合には、命令語中のR2(Xのフイールドと同
じ)による第2オペランドの読み出しも行なわれ
る。この第1オペランド(第2オペランド)は汎
用レジスタ(以下、GRと称する)5から読み出
される。GR5は複数のレジスタから構成される
レジスタ群であり、一般にオペランドレジスタ、
インデクスレジスタ更にはアキユムレータとして
使用される。GR5は2ポートA,Bの記憶素子
から成り、各ポートA,Bに対応してa,bのア
ドレス入力部を有する。また、GR5は書き込み
データ入力部wを有している。そして、OFステ
ージにおいて、命令レジスタ2に置数されている
命令語中のR1またはX(R2)の内容がGR5
のアドレス入力部a,bにアドレス(それぞれa
アドレス、bアドレスと称する)として入力され
ることにより、GR5の対応するポートA,Bか
ら指定されたレジスタの内容が読み出される。こ
のGR5から読み出されたデータはOFステージの
最後にレジスタ6,7に置数される。
数されている命令語中のR1により第1オペラン
ドの読み出しが行なわれる。なお、RR型命令の
場合には、命令語中のR2(Xのフイールドと同
じ)による第2オペランドの読み出しも行なわれ
る。この第1オペランド(第2オペランド)は汎
用レジスタ(以下、GRと称する)5から読み出
される。GR5は複数のレジスタから構成される
レジスタ群であり、一般にオペランドレジスタ、
インデクスレジスタ更にはアキユムレータとして
使用される。GR5は2ポートA,Bの記憶素子
から成り、各ポートA,Bに対応してa,bのア
ドレス入力部を有する。また、GR5は書き込み
データ入力部wを有している。そして、OFステ
ージにおいて、命令レジスタ2に置数されている
命令語中のR1またはX(R2)の内容がGR5
のアドレス入力部a,bにアドレス(それぞれa
アドレス、bアドレスと称する)として入力され
ることにより、GR5の対応するポートA,Bか
ら指定されたレジスタの内容が読み出される。こ
のGR5から読み出されたデータはOFステージの
最後にレジスタ6,7に置数される。
更にOFステージでは、命令レジスタ2に置数
されている命令語中の命令コードOPに基づいて
制御記憶8がアクセスされる。これにより制御記
憶8から上記命令語(ユーザ命令)に対応したマ
イクロ命令が読み出される。このマイクロ命令は
マイクロ命令レジスタ(以下MIRと称する)9に
OFステージの最後で置数される。MIR9の内容
はマイクロ命令バス(以下、MIバスと称する)
10に出力される。
されている命令語中の命令コードOPに基づいて
制御記憶8がアクセスされる。これにより制御記
憶8から上記命令語(ユーザ命令)に対応したマ
イクロ命令が読み出される。このマイクロ命令は
マイクロ命令レジスタ(以下MIRと称する)9に
OFステージの最後で置数される。MIR9の内容
はマイクロ命令バス(以下、MIバスと称する)
10に出力される。
OFステージが終了するとEステージに入る。
Eステージでは、MIバス10上のマイクロ命令
に従つて演算器11が動作する。すなわち演算器
11はデータバス12におけるAバス13、Bバ
ス14上の各データ(ソースデータ)にマイクロ
命令中のFフイールドで指定されている演算を施
し、データバス12におけるSバス15上に送出
する。第2図は上記マイクロ命令のフオーマツト
の一例を示すもので、Tは命令のタイプを指定す
るフイールド、Fは(演算器11の)演算モード
を指定するフイールドである。複数の演算器が
MIバスに接続される構成の場合には、Fフイー
ルドの一部は演算器の選択指定情報として使用さ
れる。Dはデステイネーシヨンレジスタを指定す
るフイールド、B,AはそれぞれBバス14,A
バス13に出力されるべきソースレジスタを指定
するフイールドである。なお、Tフイールドで指
定される命令のタイプによつて第2図とは一部異
なるフオーマツトがあるが、これについては説明
を省略する。演算器11によつて演算が施される
データ(ソースデータ)は、MDR4、レジスタ
6,7、およびワーキングレジスタ(以下、WR
と称する)16から与えられる。レジスタ6,7
の内容は前述したように命令語中のR1,X(R
2)に応じてGR5から読み出されたもので、MI
バス10上のマイクロ命令のそれぞれAフイール
ド、Bフイールドをデコードして得られる信号に
よりAバス13,Bバス14上に出力される。ま
た、MDR4の内容は前述したようにOFステージ
で主メモリより得られたもので、同じくマイクロ
命令のBフイールドをデコードして得られる信号
によりBバス14上に出力される(マイクロ命令
のAフイールドのドコード信号によつてAバス1
3上に出力される構成もある)。一方、WR16
の内容はGR5と異なりMIバス10上のマイクロ
命令の指定によつて読み出され、Aバス13、B
バス14上に出力される。WR16はGR5と同
一構成であり、そのアドレス入力部a,bに上記
マイクロ命令のAフイールド、Bフイールドの内
容がアドレスとして入力されることにより、WR
16の対応するポートA,Bから指定されたレジ
スタの内容が読み出される。
Eステージでは、MIバス10上のマイクロ命令
に従つて演算器11が動作する。すなわち演算器
11はデータバス12におけるAバス13、Bバ
ス14上の各データ(ソースデータ)にマイクロ
命令中のFフイールドで指定されている演算を施
し、データバス12におけるSバス15上に送出
する。第2図は上記マイクロ命令のフオーマツト
の一例を示すもので、Tは命令のタイプを指定す
るフイールド、Fは(演算器11の)演算モード
を指定するフイールドである。複数の演算器が
MIバスに接続される構成の場合には、Fフイー
ルドの一部は演算器の選択指定情報として使用さ
れる。Dはデステイネーシヨンレジスタを指定す
るフイールド、B,AはそれぞれBバス14,A
バス13に出力されるべきソースレジスタを指定
するフイールドである。なお、Tフイールドで指
定される命令のタイプによつて第2図とは一部異
なるフオーマツトがあるが、これについては説明
を省略する。演算器11によつて演算が施される
データ(ソースデータ)は、MDR4、レジスタ
6,7、およびワーキングレジスタ(以下、WR
と称する)16から与えられる。レジスタ6,7
の内容は前述したように命令語中のR1,X(R
2)に応じてGR5から読み出されたもので、MI
バス10上のマイクロ命令のそれぞれAフイール
ド、Bフイールドをデコードして得られる信号に
よりAバス13,Bバス14上に出力される。ま
た、MDR4の内容は前述したようにOFステージ
で主メモリより得られたもので、同じくマイクロ
命令のBフイールドをデコードして得られる信号
によりBバス14上に出力される(マイクロ命令
のAフイールドのドコード信号によつてAバス1
3上に出力される構成もある)。一方、WR16
の内容はGR5と異なりMIバス10上のマイクロ
命令の指定によつて読み出され、Aバス13、B
バス14上に出力される。WR16はGR5と同
一構成であり、そのアドレス入力部a,bに上記
マイクロ命令のAフイールド、Bフイールドの内
容がアドレスとして入力されることにより、WR
16の対応するポートA,Bから指定されたレジ
スタの内容が読み出される。
演算器11によつてSバス15上に送出された
演算結果は、MIバス10上のマイクロ命令中の
Dフイールドで指定されているデステイネーシヨ
ンレジスタに格納される。GR5がデステイネー
シヨンレジスタとして用いられる場合、(GR5
の)レジスタのアドレスは命令レジスタ3に置数
されている命令語中のR1による間接指定とな
り、R1の内容がGR5のbアドレスとして与え
られる。また、WR16がデステイネーシヨンレ
ジスタとして用いられる場合、MIバス10上の
マイクロ命令中のDフイールドの内容がWR16
のbアドレスとして与えられる。一方、Sバス1
5上の演算結果はGR5またはWR16の書き込
みデータ入力部wに入力される。これにより、演
算器11による演算結果は指定されたデステイネ
ーシヨンレジスタ(GR5またはWR16)に格
納される。このようにして、IFステージ、Aス
テージ、OFステージ、Eステージが行なわれる
ことにより1命令語の処理が終了する。そして、
この処理が各命令語について、1ステージずつ順
次後方にずらされて行なわれることにより命令の
パイプライン処理が行なわれる。第3図はこのパ
イプライン処理のタイミングチヤートの一例を命
令語I1〜I3を実行する場合について示したもので
ある。なお、命令語によつては、Aステージ、
OFステージが不要な場合、或いはEステージが
2周期以上となる場合などもあるが、ここでは説
明を省略する。
演算結果は、MIバス10上のマイクロ命令中の
Dフイールドで指定されているデステイネーシヨ
ンレジスタに格納される。GR5がデステイネー
シヨンレジスタとして用いられる場合、(GR5
の)レジスタのアドレスは命令レジスタ3に置数
されている命令語中のR1による間接指定とな
り、R1の内容がGR5のbアドレスとして与え
られる。また、WR16がデステイネーシヨンレ
ジスタとして用いられる場合、MIバス10上の
マイクロ命令中のDフイールドの内容がWR16
のbアドレスとして与えられる。一方、Sバス1
5上の演算結果はGR5またはWR16の書き込
みデータ入力部wに入力される。これにより、演
算器11による演算結果は指定されたデステイネ
ーシヨンレジスタ(GR5またはWR16)に格
納される。このようにして、IFステージ、Aス
テージ、OFステージ、Eステージが行なわれる
ことにより1命令語の処理が終了する。そして、
この処理が各命令語について、1ステージずつ順
次後方にずらされて行なわれることにより命令の
パイプライン処理が行なわれる。第3図はこのパ
イプライン処理のタイミングチヤートの一例を命
令語I1〜I3を実行する場合について示したもので
ある。なお、命令語によつては、Aステージ、
OFステージが不要な場合、或いはEステージが
2周期以上となる場合などもあるが、ここでは説
明を省略する。
このようにパイプライン処理を行なう従来の演
算制御装置では、Eステージに着目した場合、ソ
ースデータ(Aバス13またはBバス14上のデ
ータ)は、Eステージに入つてMIバス10上に
マイクロ命令が出力された後、このマイクロ命令
によつてGR5の内容の一時データ保持レジスタ
であるレジスタ6,7または主メモリから読み出
されたオペランドの一時データ保持レジスタであ
るMDR4から読み出されるか、或いは上記マイ
クロ命令に従つてWR16がアクセスされること
によりWR16から読み出されるようになつてい
た。このため、Eステージに入つてから演算器1
1によつて演算が開始されるまで長時間を要し、
この分Eステージの実行時間に余裕を見込まなけ
ればならなかつた。周知のように、パイプライン
処理では、各ステージの時間(周期)は、処理時
間の最も長いステージに合せるのが一般的であ
り、したがつて上述のEステージのように処理に
長時間を要する場合、他のステージもEステージ
の所要時間に合せなければならず、命令の処理速
度が低下する問題があつた。
算制御装置では、Eステージに着目した場合、ソ
ースデータ(Aバス13またはBバス14上のデ
ータ)は、Eステージに入つてMIバス10上に
マイクロ命令が出力された後、このマイクロ命令
によつてGR5の内容の一時データ保持レジスタ
であるレジスタ6,7または主メモリから読み出
されたオペランドの一時データ保持レジスタであ
るMDR4から読み出されるか、或いは上記マイ
クロ命令に従つてWR16がアクセスされること
によりWR16から読み出されるようになつてい
た。このため、Eステージに入つてから演算器1
1によつて演算が開始されるまで長時間を要し、
この分Eステージの実行時間に余裕を見込まなけ
ればならなかつた。周知のように、パイプライン
処理では、各ステージの時間(周期)は、処理時
間の最も長いステージに合せるのが一般的であ
り、したがつて上述のEステージのように処理に
長時間を要する場合、他のステージもEステージ
の所要時間に合せなければならず、命令の処理速
度が低下する問題があつた。
本発明は上記事情に鑑みてなされたものでその
目的は、パイプライン処理におけるEステージ
(命令実行ステージ)の実行時間が短縮でき、も
つて他のステージの実行時間も短縮でき、命令の
処理速度が著しく向上する演算制御装置を提供す
ることにある。
目的は、パイプライン処理におけるEステージ
(命令実行ステージ)の実行時間が短縮でき、も
つて他のステージの実行時間も短縮でき、命令の
処理速度が著しく向上する演算制御装置を提供す
ることにある。
パイプライン処理を行なうマイクロプログラム
制御方式の演算制御装置において、OFステージ
(オペランド読み出しステージ)の少なくとも1
つ前のステージにおいて処理すべき命令語に対応
するマイクロ命令を制御記憶から読み出してお
き、上記OFステージにおいて上記マイクロ命令
およびデータ(ソースデータ)をそれぞれマイク
ロ命令バスおよびデータバス上に送出し、次のE
ステージ(命令実行ステージ)の開始時までに上
記データバス上のデータ(ソースデータ)および
上記マイクロ命令バス上のマイクロ命令がそれぞ
れ第1レジスタおよび第2レジスタに置数される
構成とし、Eステージの開始時より直ちに演算器
による演算が行なえるようにしたものである。
制御方式の演算制御装置において、OFステージ
(オペランド読み出しステージ)の少なくとも1
つ前のステージにおいて処理すべき命令語に対応
するマイクロ命令を制御記憶から読み出してお
き、上記OFステージにおいて上記マイクロ命令
およびデータ(ソースデータ)をそれぞれマイク
ロ命令バスおよびデータバス上に送出し、次のE
ステージ(命令実行ステージ)の開始時までに上
記データバス上のデータ(ソースデータ)および
上記マイクロ命令バス上のマイクロ命令がそれぞ
れ第1レジスタおよび第2レジスタに置数される
構成とし、Eステージの開始時より直ちに演算器
による演算が行なえるようにしたものである。
以下、本発明の一実施例を図面を参照して説明
する。なお、第1図と同一部分には同一符号を付
して詳細な説明を省略し、第1図と異なる部分に
ついてのみ説明する。本実施例では、GR5およ
び制御記憶8に対する読み出しアドレスとして、
命令レジスタ1に置数されている命令語中のそれ
ぞれ命令コードOPおよびR1,X(R2)が与
えられる。すなわち、第1図の場合には、GR
5、制御記憶8はOFステージでアクセスされて
いたが、本実施例ではOFステージの1つ前のス
テージであるAステージでアクセスされるように
なつている。21は第1図のMDR4に代えて用
いられている出力ゲート(以下、Gと称する)で
ある。G21はOFステージで主メモリから読み
出されたオペランドを上記MDR4のように一旦
格納せずに、(MIバス10上のマイクロ命令に従
つて)Bバス14上に直接送出する。22,23
はそれぞれAバス13、Bバス14上のデータ
(ソースデータ5が例えばOFステージの終了時に
置数される(Eステージの開始時までに置数され
ていればよい)レジスタ(第1レジスタ)であ
る。24はMIバス10上のマイクロ命令が例え
ばOFステージの終了時に置数される(Eステー
ジの開始時までに置数されていればよい)レジス
タ(第2レジスタ)である。しかして演算器11
は第1図の場合と異なり、レジスタ24に置数さ
れているマイクロ命令に従つてレジスタ22,2
3に置数されている各データ間に演算を施す。2
5はMIバス10上のマイクロ命令のDフイール
ドが例えばOFステージの終了時に置数されるレ
ジスタである。レジスタ25の内容はWR16の
例えばアドレス入力部bに書き込みアドレスとし
て与えられる。
する。なお、第1図と同一部分には同一符号を付
して詳細な説明を省略し、第1図と異なる部分に
ついてのみ説明する。本実施例では、GR5およ
び制御記憶8に対する読み出しアドレスとして、
命令レジスタ1に置数されている命令語中のそれ
ぞれ命令コードOPおよびR1,X(R2)が与
えられる。すなわち、第1図の場合には、GR
5、制御記憶8はOFステージでアクセスされて
いたが、本実施例ではOFステージの1つ前のス
テージであるAステージでアクセスされるように
なつている。21は第1図のMDR4に代えて用
いられている出力ゲート(以下、Gと称する)で
ある。G21はOFステージで主メモリから読み
出されたオペランドを上記MDR4のように一旦
格納せずに、(MIバス10上のマイクロ命令に従
つて)Bバス14上に直接送出する。22,23
はそれぞれAバス13、Bバス14上のデータ
(ソースデータ5が例えばOFステージの終了時に
置数される(Eステージの開始時までに置数され
ていればよい)レジスタ(第1レジスタ)であ
る。24はMIバス10上のマイクロ命令が例え
ばOFステージの終了時に置数される(Eステー
ジの開始時までに置数されていればよい)レジス
タ(第2レジスタ)である。しかして演算器11
は第1図の場合と異なり、レジスタ24に置数さ
れているマイクロ命令に従つてレジスタ22,2
3に置数されている各データ間に演算を施す。2
5はMIバス10上のマイクロ命令のDフイール
ドが例えばOFステージの終了時に置数されるレ
ジスタである。レジスタ25の内容はWR16の
例えばアドレス入力部bに書き込みアドレスとし
て与えられる。
次に本発明の一実施例の動作を説明する。IF
ステージにおいて主メモリから読み出された命令
語I1がIFステージの最後で命令レジスタ1に置数
され(命令語I1の処理に対する)Aステージに入
つたものとする。このAステージでは従来例で述
べたようにオペランドアドレスの計算が行なわれ
る。また、Aステージでは、命令レジスタ1に置
数されている命令語(I1)中の命令コードOPの内
容が制御記憶8の読み出しアドレスとして与えら
れる。これにより制御記憶8から命令語(I1)に
対応するマイクロ命令が読み出される。このマイ
クロ命令はAステージの最後でMIR9に置数され
る。更にAステージでは命令レジスタ1に置数さ
れている命令語(I1)中のR1(RR型命令であれ
ばR1およびR2)がGR5のbアドレス(RR型
命令であればbアドレスおよびaアドレス)とし
て与えられる。これによりGR5のポートB(RR
型命令であればポートBおよびポートA)から第
1オペランド(RR型命令であれば第1オペラン
ドおよび第2オペランド)が読み出される。この
第1オペランド(第1オペランドおよび第2オペ
ランド)はAステージの最後でレジスタ7(レジ
スタ7およびレジスタ6)に置数される。このよ
うに、制御記憶8から読み出されたマイクロ命
令、更にGR5から読み出されたデータが、それ
ぞれMIR9、レジスタ6,7にAステージの最後
で置数されることに注意されたい。なお、従来例
では、上述の内容はOFステージの最後で置数さ
れていた。
ステージにおいて主メモリから読み出された命令
語I1がIFステージの最後で命令レジスタ1に置数
され(命令語I1の処理に対する)Aステージに入
つたものとする。このAステージでは従来例で述
べたようにオペランドアドレスの計算が行なわれ
る。また、Aステージでは、命令レジスタ1に置
数されている命令語(I1)中の命令コードOPの内
容が制御記憶8の読み出しアドレスとして与えら
れる。これにより制御記憶8から命令語(I1)に
対応するマイクロ命令が読み出される。このマイ
クロ命令はAステージの最後でMIR9に置数され
る。更にAステージでは命令レジスタ1に置数さ
れている命令語(I1)中のR1(RR型命令であれ
ばR1およびR2)がGR5のbアドレス(RR型
命令であればbアドレスおよびaアドレス)とし
て与えられる。これによりGR5のポートB(RR
型命令であればポートBおよびポートA)から第
1オペランド(RR型命令であれば第1オペラン
ドおよび第2オペランド)が読み出される。この
第1オペランド(第1オペランドおよび第2オペ
ランド)はAステージの最後でレジスタ7(レジ
スタ7およびレジスタ6)に置数される。このよ
うに、制御記憶8から読み出されたマイクロ命
令、更にGR5から読み出されたデータが、それ
ぞれMIR9、レジスタ6,7にAステージの最後
で置数されることに注意されたい。なお、従来例
では、上述の内容はOFステージの最後で置数さ
れていた。
命令レジスタ1に置数されていた命令語(I1)
は(当該命令語に対する)Aステージの最後で命
令レジスタ2に転送さて置数され、しかる後OF
ステージに入る。このOFステージでは上記Aス
テージで求められたオペランドアドレスを用いて
主メモリがアクセスされ、オペランド(第2オペ
ランド)の読み出しが行なわれる。この主メモリ
から読み出されたオペランドはG21に入力され
る。明らかなようにOFステージでは、Aステー
ジの最後でMIR9に置数されたマイクロ命令が
MIバス10上に出力されている。この結果、G
21に入力されているオペランドは、MIバス1
0上のマイクロ命令(のデコード信号)に応じて
OFステージの間にBバス14上に出力制御され
る。またOFステージでは、MIバス10上のマイ
クロ命令(のデコード信号)に応じてレジスタ
6,7の内容のAバス13、Bバス14への出力
が許可される。更にOFステージでは、MIバス1
0上のマイクロ命令のA,Bフイールドの内容が
WR16のa,bアドレスとして与えられる。こ
れによりWR16から読み出されるデータはOF
ステージの間にAバス13、Bバス14に出力さ
れる。このように本実施例によれば、処理対象と
なる命令語に対するEステージで使用されるマイ
クロ命令、並びにソースデータは、OFステージ
の期間中にそれぞれMIバス10、Aバス13、
Bバス14(データバス12)に送出されてい
る。そして、MIバス10上のマイクロ命令はOF
ステージの最後でレジスタ24に置数される。ま
た、Aバス13、Bバス14上の各データ(ソー
スデータ)は同じくOFステージの最後でそれぞ
れレジスタ22,23に置数される。このとき
MIバス10上のマイクロ命令のDフイールドの
内容はレジスタ25に置数される。更に命令レジ
スタ2に置数されていた命令語(I1)は同じくOF
ステージの最後で命令レジスタ3に転送されて置
数される。このとき、命令レジスタ1には命令語
I1の次の命令語I2が置数されており、この命令語
I2は命令語I1の移動と共に命令レジスタ2に転送
され命令レジスタ2に置数される。
は(当該命令語に対する)Aステージの最後で命
令レジスタ2に転送さて置数され、しかる後OF
ステージに入る。このOFステージでは上記Aス
テージで求められたオペランドアドレスを用いて
主メモリがアクセスされ、オペランド(第2オペ
ランド)の読み出しが行なわれる。この主メモリ
から読み出されたオペランドはG21に入力され
る。明らかなようにOFステージでは、Aステー
ジの最後でMIR9に置数されたマイクロ命令が
MIバス10上に出力されている。この結果、G
21に入力されているオペランドは、MIバス1
0上のマイクロ命令(のデコード信号)に応じて
OFステージの間にBバス14上に出力制御され
る。またOFステージでは、MIバス10上のマイ
クロ命令(のデコード信号)に応じてレジスタ
6,7の内容のAバス13、Bバス14への出力
が許可される。更にOFステージでは、MIバス1
0上のマイクロ命令のA,Bフイールドの内容が
WR16のa,bアドレスとして与えられる。こ
れによりWR16から読み出されるデータはOF
ステージの間にAバス13、Bバス14に出力さ
れる。このように本実施例によれば、処理対象と
なる命令語に対するEステージで使用されるマイ
クロ命令、並びにソースデータは、OFステージ
の期間中にそれぞれMIバス10、Aバス13、
Bバス14(データバス12)に送出されてい
る。そして、MIバス10上のマイクロ命令はOF
ステージの最後でレジスタ24に置数される。ま
た、Aバス13、Bバス14上の各データ(ソー
スデータ)は同じくOFステージの最後でそれぞ
れレジスタ22,23に置数される。このとき
MIバス10上のマイクロ命令のDフイールドの
内容はレジスタ25に置数される。更に命令レジ
スタ2に置数されていた命令語(I1)は同じくOF
ステージの最後で命令レジスタ3に転送されて置
数される。このとき、命令レジスタ1には命令語
I1の次の命令語I2が置数されており、この命令語
I2は命令語I1の移動と共に命令レジスタ2に転送
され命令レジスタ2に置数される。
命令語I1に対するOFステージ(すなわち命令
語I2に対するAステージ)が終了すると命令語I1
に対するEステージ(命令語I2に対するOFステ
ージ)に入る。本実施例では、このEステージで
使用されるマイクロ命令、ソースデータが当該E
ステージの開始時までにレジスタ22〜24に置
数されているため、Eステージの開始時点から演
算器11の演算動作が行なわれる。したがつて、
Eステージに入つてMIバス10に対するマイク
ロ命令の出力が行なわれ、このマイクロ命令に応
じてAバス13、Bバス14に対するソースデー
タの出力が行なわれ、しかる後これらマイクロ命
令、ソースデータを用いた演算器11による演算
が行なわれる従来例に比べ、本実施例によるEス
テージの所要時間は著しく短縮される。この結
果、パイプライン処理を構成する他のステージ
(IFステージ、Aステージ、OFステージ)の実
行時間もEステージに合せて短縮でき、全体の命
令処理時間が一層短縮できる。
語I2に対するAステージ)が終了すると命令語I1
に対するEステージ(命令語I2に対するOFステ
ージ)に入る。本実施例では、このEステージで
使用されるマイクロ命令、ソースデータが当該E
ステージの開始時までにレジスタ22〜24に置
数されているため、Eステージの開始時点から演
算器11の演算動作が行なわれる。したがつて、
Eステージに入つてMIバス10に対するマイク
ロ命令の出力が行なわれ、このマイクロ命令に応
じてAバス13、Bバス14に対するソースデー
タの出力が行なわれ、しかる後これらマイクロ命
令、ソースデータを用いた演算器11による演算
が行なわれる従来例に比べ、本実施例によるEス
テージの所要時間は著しく短縮される。この結
果、パイプライン処理を構成する他のステージ
(IFステージ、Aステージ、OFステージ)の実
行時間もEステージに合せて短縮でき、全体の命
令処理時間が一層短縮できる。
ところで演算器11の演算結果のレジスタ書き
込み動作はGR5については第1図の従来例と同
じであるが、WR16に関しては第1図の場合と
異なる。すなわち本実施例では、演算器11の演
算結果のWR16への書き込みはレジスタ25に
置数されているマイクロ命令のDフイールドの内
容がbアドレスとして与えられることによつて行
なわれる。これは、命令語I1に対するEステージ
において、MIバス10上の内容が前述したよう
に次の(命令語I2に対する)Eステージで使用さ
れるマイクロ命令に変わるため、命令語I1に対す
るEステージの開始時までに命令語I1に対する
OFステージでMIバス10上に送出されるマイク
ロ命令(のDフイールド)をレジスタ25に保持
しておくためである。以上の説明から明らかなよ
うに、本実施例では、現在実行中のEステージで
使用されるマイクロ命令、ソースデータはレジス
タ22〜25に保持され、このEステージすなわ
ち次の命令語に対するOFステージの間に、MIバ
ス10、(データバス12内の)Aバス13,B
バス14上には上記次の命令語に対するEステー
ジで使用されるマイクロ命令、ソースデータが送
出されていることを特徴としている。
込み動作はGR5については第1図の従来例と同
じであるが、WR16に関しては第1図の場合と
異なる。すなわち本実施例では、演算器11の演
算結果のWR16への書き込みはレジスタ25に
置数されているマイクロ命令のDフイールドの内
容がbアドレスとして与えられることによつて行
なわれる。これは、命令語I1に対するEステージ
において、MIバス10上の内容が前述したよう
に次の(命令語I2に対する)Eステージで使用さ
れるマイクロ命令に変わるため、命令語I1に対す
るEステージの開始時までに命令語I1に対する
OFステージでMIバス10上に送出されるマイク
ロ命令(のDフイールド)をレジスタ25に保持
しておくためである。以上の説明から明らかなよ
うに、本実施例では、現在実行中のEステージで
使用されるマイクロ命令、ソースデータはレジス
タ22〜25に保持され、このEステージすなわ
ち次の命令語に対するOFステージの間に、MIバ
ス10、(データバス12内の)Aバス13,B
バス14上には上記次の命令語に対するEステー
ジで使用されるマイクロ命令、ソースデータが送
出されていることを特徴としている。
なお、前記実施例では命令語の全てのフイール
ドの内容が命令レジスタ1〜3に順次転送される
ものとして説明したが、各ステージにおいて使用
されるフイールドの内容だけ選択的に転送するよ
うにしてもよい。また前記実施例ではGR5は命
令レジスタ1に置数されている命令語中のR1な
どによつてAステージの間にアクセスされるもの
として説明したが、命令レジスタ2に置数されて
いる命令語中のR1などによつてOFステージの
間にアクセスされる構成であつてもよい。ただ
し、この場合には、レジスタ6,7に代えてG2
1と同様の出力ゲートを用い、OFステージにお
いてGR5から読み出されたデータを、MIバス1
0上のマイクロ命令(のデコード信号)によつて
同じOFステージの間にAバス13、Bバス14
上に送出しておく必要がある。
ドの内容が命令レジスタ1〜3に順次転送される
ものとして説明したが、各ステージにおいて使用
されるフイールドの内容だけ選択的に転送するよ
うにしてもよい。また前記実施例ではGR5は命
令レジスタ1に置数されている命令語中のR1な
どによつてAステージの間にアクセスされるもの
として説明したが、命令レジスタ2に置数されて
いる命令語中のR1などによつてOFステージの
間にアクセスされる構成であつてもよい。ただ
し、この場合には、レジスタ6,7に代えてG2
1と同様の出力ゲートを用い、OFステージにお
いてGR5から読み出されたデータを、MIバス1
0上のマイクロ命令(のデコード信号)によつて
同じOFステージの間にAバス13、Bバス14
上に送出しておく必要がある。
更に前記実施例ではパイプライン処理のステー
ジ数(段数)がIFステージ、Aステージ、OFス
テージおよびEステージの4ステージ(4段)で
ある場合について説明したがそれ以上(例えばA
ステージを論理アドレス生成ステージおよび物理
アドレス生成ステージに分けた場合など)のステ
ージ数であつてもよく、要はOFステージにおい
て次のEステージで使用されるマイクロ命令、ソ
ースデータをMIバス、データバスに送出し、上
記次のEステージの開始時までに上記マイクロ命
令、ソースデータをレジスタに保持しておく構成
であればよい。
ジ数(段数)がIFステージ、Aステージ、OFス
テージおよびEステージの4ステージ(4段)で
ある場合について説明したがそれ以上(例えばA
ステージを論理アドレス生成ステージおよび物理
アドレス生成ステージに分けた場合など)のステ
ージ数であつてもよく、要はOFステージにおい
て次のEステージで使用されるマイクロ命令、ソ
ースデータをMIバス、データバスに送出し、上
記次のEステージの開始時までに上記マイクロ命
令、ソースデータをレジスタに保持しておく構成
であればよい。
以上詳述したように本発明の演算制御装置によ
れば、パイプライン処理におけるEステージ(命
令実行ステージ)の実行時間が短縮できるので、
他のステージの実行時間も短縮でき、命令の処理
速度が著しく向上する。
れば、パイプライン処理におけるEステージ(命
令実行ステージ)の実行時間が短縮できるので、
他のステージの実行時間も短縮でき、命令の処理
速度が著しく向上する。
第1図は従来例を示すブロツク図、第2図はマ
イクロ命令のフオーマツトの一例を示す図、第3
図はパイプライン処理を示すタイミングチヤー
ト、第4図は本発明の一実施例を示すブロツク図
である。 1,2,3……命令レジスタ、5……汎用レジ
スタ(GR、レジスタ群)、8……制御記憶、9…
…マイクロ命令レジスタ(MIR)、10……マイ
クロ命令バス(MIバス)、11……演算器、12
……データバス、16……ワーキングレジスタ
(WR、レジスタ群)、21……出力ゲート
(G)、22,23……レジスタ(第1レジス
タ)、24……レジスタ(第2レジスタ)。
イクロ命令のフオーマツトの一例を示す図、第3
図はパイプライン処理を示すタイミングチヤー
ト、第4図は本発明の一実施例を示すブロツク図
である。 1,2,3……命令レジスタ、5……汎用レジ
スタ(GR、レジスタ群)、8……制御記憶、9…
…マイクロ命令レジスタ(MIR)、10……マイ
クロ命令バス(MIバス)、11……演算器、12
……データバス、16……ワーキングレジスタ
(WR、レジスタ群)、21……出力ゲート
(G)、22,23……レジスタ(第1レジス
タ)、24……レジスタ(第2レジスタ)。
Claims (1)
- 1 主メモリから読み出された命令語またはその
一部がパイプライン処理を構成するオペランド読
み出しステージ、命令実行ステージを含む各ステ
ージの進行に応じて順次移動して置数される命令
レジスタ群と、各種マイクロプログラムが貯蔵さ
れており、上記オペランド読み出しステージの少
なくとも1つ前の特定ステージにおいて上記命令
レジスタ群内の上記特定ステージに対応する命令
レジスタに置数されている命令語またはその一部
に基づいてマイクロ命令を読み出し出力する制御
記憶と、この制御記憶から読み出されたマイクロ
命令が置数されるマイクロ命令レジスタと、この
マイクロ命令レジスタに置数されているマイクロ
命令の転送路としてのマイクロ命令バスと、この
マイクロ命令バス上のマイクロ命令に応じてデー
タバス上へのデータ出力が制御されるレジスタ群
と、上記オペランド読み出しステージで上記主メ
モリから読み出されたオペランドを上記マイクロ
命令バス上のマイクロ命令に応じて上記データバ
スに出力する出力ゲートと、上記データバス上の
データが上記命令実行ステージの開始時までに置
数される第1レジスタと、上記マイクロ命令バス
上のマイクロ命令が上記命令実行ステージの開始
時までに置数される第2レジスタと、この第2レ
ジスタに置数されているマイクロ命令に従つて上
記第1レジスタに置数されているデータに演算を
施す演算器とを具備することを特徴とする演算制
御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57011121A JPS58129550A (ja) | 1982-01-27 | 1982-01-27 | 演算制御装置 |
| US06/459,989 US4631672A (en) | 1982-01-27 | 1983-01-21 | Arithmetic control apparatus for a pipeline processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57011121A JPS58129550A (ja) | 1982-01-27 | 1982-01-27 | 演算制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58129550A JPS58129550A (ja) | 1983-08-02 |
| JPS623461B2 true JPS623461B2 (ja) | 1987-01-24 |
Family
ID=11769175
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57011121A Granted JPS58129550A (ja) | 1982-01-27 | 1982-01-27 | 演算制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4631672A (ja) |
| JP (1) | JPS58129550A (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5621242A (en) * | 1979-07-28 | 1981-02-27 | Fujitsu Ltd | Pipeline control method for computer operation |
| WO1985002278A1 (fr) * | 1983-11-10 | 1985-05-23 | Fujitsu Limited | Procede de commande par microprogramme |
| US5187782A (en) * | 1986-02-26 | 1993-02-16 | Hitachi, Ltd. | Data processing system |
| JP2554050B2 (ja) * | 1986-02-26 | 1996-11-13 | 株式会社日立製作所 | デ−タ処理方法 |
| JPS63170736A (ja) * | 1987-01-09 | 1988-07-14 | Toshiba Corp | マイクロプロセツサ |
| CA1327080C (en) * | 1987-05-26 | 1994-02-15 | Yoshiko Yamaguchi | Reduced instruction set computer (risc) type microprocessor |
| GB8817911D0 (en) * | 1988-07-27 | 1988-09-01 | Int Computers Ltd | Data processing apparatus |
| US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
| JPH0769806B2 (ja) * | 1988-10-14 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
| US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
| EP0398371A3 (de) * | 1989-05-19 | 1992-04-22 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren und Anordnung zur Steuerung von mikroprogrammierten Maschinenbefehlsabläufen in Datenverarbeitungsanlagen |
| CN101916180B (zh) * | 2010-08-11 | 2013-05-29 | 中国科学院计算技术研究所 | Risc处理器中执行寄存器类型指令的方法和其系统 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
| US3875391A (en) * | 1973-11-02 | 1975-04-01 | Raytheon Co | Pipeline signal processor |
| US4305124A (en) * | 1978-06-09 | 1981-12-08 | Ncr Corporation | Pipelined computer |
| US4346435A (en) * | 1979-03-23 | 1982-08-24 | Burroughs Corporation | Pipelined interpretive digital data processor comprised of a multi-level hierarchy of processors |
| US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
| CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
| US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
| US4390946A (en) * | 1980-10-20 | 1983-06-28 | Control Data Corporation | Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences |
| US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
-
1982
- 1982-01-27 JP JP57011121A patent/JPS58129550A/ja active Granted
-
1983
- 1983-01-21 US US06/459,989 patent/US4631672A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58129550A (ja) | 1983-08-02 |
| US4631672A (en) | 1986-12-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4334269A (en) | Data processing system having an integrated stack and register machine architecture | |
| JPH0374434B2 (ja) | ||
| JPS59501684A (ja) | 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像 | |
| JPS6351287B2 (ja) | ||
| JPH0248931B2 (ja) | ||
| JPS623461B2 (ja) | ||
| JPH0414385B2 (ja) | ||
| JPH0412503B2 (ja) | ||
| US5019969A (en) | Computer system for directly transferring vactor elements from register to register using a single instruction | |
| JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
| JPH034936B2 (ja) | ||
| KR910001708B1 (ko) | 중앙처리장치 | |
| JPH0222413B2 (ja) | ||
| JPS6055911B2 (ja) | 主記憶装置 | |
| JPH07110769A (ja) | Vliw型計算機 | |
| JPS6223891B2 (ja) | ||
| JP3182796B2 (ja) | 中央演算処理装置 | |
| JP2883488B2 (ja) | 命令処理装置 | |
| JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
| JP2819753B2 (ja) | パイプライン・マイクロプロセッサ | |
| JP2883489B2 (ja) | 命令処理装置 | |
| JPS61161560A (ja) | メモリ装置 | |
| JPS5835660A (ja) | マイクロプロセツサ | |
| JPS6028014B2 (ja) | マイクロプロセツサ | |
| JPH0234058B2 (ja) |