JPH07234786A - マイクロプログラム制御型情報処理装置 - Google Patents
マイクロプログラム制御型情報処理装置Info
- Publication number
- JPH07234786A JPH07234786A JP2713494A JP2713494A JPH07234786A JP H07234786 A JPH07234786 A JP H07234786A JP 2713494 A JP2713494 A JP 2713494A JP 2713494 A JP2713494 A JP 2713494A JP H07234786 A JPH07234786 A JP H07234786A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- address
- instruction
- counter
- flag
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims description 14
- 230000010365 information processing Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000005764 inhibitory process Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
る。 【構成】マイクロ命令を格納する制御記憶1と、この制
御記憶1のアドレスを生成するアドレス生成回路2と、
制御記憶1からのマイクロ命令により制御されるカウン
タ5と、このカウンタ5を更新するマイクロ命令の実行
時にパイプラインの各ステージ対応にカウンタ5を更新
するためにセットされ、各ステージの処理の終了に応答
してリセットされるフラグ格納手段6および7とを含
む。
Description
イクロプログラム制御型情報処理装置に関する。
は、条件分岐命令と無条件分岐命令が存在する。無条件
分岐命令は、必ず分岐するので、制御はそれぼど複雑で
はない。一方、条件分岐命令は、条件が成立した場合に
分岐を行うので、その条件が成立したかどうかの判定が
必要であり、制御は複雑である。
パイプライン方式プロセッサにおいても同様である。
分岐命令を実行する従来のプロセッサにおいては、分岐
命令はプロセッサ内のカウンタの値により分岐するの
で、そのカウンタの値が確定するまで、その分岐命令の
実行において、分岐するかどうかの判定はできないの
で、制御が複雑となっていた。
は、コントロールストアから読み出されたマイクロ命令
をデコードすることによって制御が行われる。1つの命
令は、通常複数のマイクロ命令によって実現される。分
岐命令も例外ではない。分岐命令は、使用頻度が高いた
め高性能が要求される。したがって、分岐命令を実現す
るマイクロ命令であることを示す情報は、分岐命令を実
現するマイクロ命令の最初のマイクロ命令である場合が
多い。そしてこの最初のマイクロ命令の実行により、分
岐するか、しないかが判定される。
ウンタの更新が完了しないうちに、そのカウンタの値に
より分岐する分岐命令の実行が開始されてしまう。ある
マイクロプログラム制御のパイプライン方式プロセッサ
において、分岐命令を実現するマイクロ命令であること
を示すマイクロ命令がプロセッサに取りこまれた時、カ
ウンタの更新が終了するまで、そのマイクロ命令の実行
を抑止する制御、すなわち、ステージを止める制御を行
っていた。かつ、次のマイクロ命令を取り込むことを抑
止する制御となっていた。また、別のプロセッサでは、
カウンタの更新が完了しないうちに、分岐するかしない
かを予測して、どちらかの処理をすすめ、予測がはずれ
た場合には、やり直すという制御を行っていた。
ラムの先頭のマイクロ命令において分岐判断以外の動作
を実施していた。分岐命令で用いられる計数値として、
分岐命令で用いられるカウンタの値をそのまま使用して
いた。
カウンタの値をそのまま使用しようとすると回路の遅延
時間を増加させ、プロセッサのサイクルタイムを増加さ
せるという欠点がある。また、上述の制御や分岐判断以
外の動作を実施では制御が複雑となり、ハードウェア量
を増加させるという欠点がある。
抑止するようなマイクロプログラム制御型情報処理装置
を提供することにある。
イクロプログラム制御型情報処理装置を提供することに
ある。
ルの増加を防止するようにしたマイクロプログラム制御
型情報処理装置を提供することにある。
マイクロ命令群を格納する制御記憶手段(以下制御記
憶)と、この制御記憶のアドレスを格納するアドレス格
納手段(以下アドレスレジスタ)と、この制御記憶から
読出されたマイクロ命令により制御される計数手段(以
下カウンタ)と、このカウンタの値を更新する命令を実
現するマイクロプログラム中のマイクロ命令実行時に前
記カウンタの更新を示すためにセットされ、パイプライ
ンの各ステージにおける処理終了に応答してリセットさ
れるフラグを格納するための各ステージ対応に設けられ
たフラグ格納手段と、前記カウンタの特定の値に応答し
て分岐する分岐命令を実現するマイクロプログラムの最
初のマイクロ命令実行時に前記フラグ格納手段のフラグ
のセット中、前記アドレスレジスタに格納された前記最
初のマイクロ命令のアドレスを選択して生成するアドレ
ス生成手段とを含む。
読み出されるマイクロ命令のうち分岐命令を実現するマ
イクロプログラムの先頭のマイクロ命令の分岐命令であ
ることを示すフィールド以外のフィールドの内容を動作
させない内容として格納するマイクロ命令格納手段を含
む。
の少なくとも一部が特定の値になっているか否かを検出
する検出手段(以下検出回路)と、この検出回路での検
出結果をマシンサイクル毎に格納するフラグ格納手段と
を含む。
ム制御のパイプライン方式プロセッサにおいて、マイク
ロ命令群を格納する制御記憶と、この制御記憶から所望
のマイクロ命令を読出すため、その記憶位置を示すアド
レスを生成するアドレス生成手段(以下アドレス生成回
路)と、このアドレス生成回路からのアドレスを各マシ
ンサイクル毎に格納するアドレス格納手段(以下アドレ
スレジスタ)と、前記アドレス生成回路からのアドレス
で指示された前記制御記憶から読出されたマイクロ命令
により制御されるカウンタと、このカウンタの値を更新
する命令を実現するマイクロプログラム中のマイクロ命
令の実行時にパイプラインの各ステージ対応に設けら
れ、前記カウンタの更新を示すためにセットされ、各ス
テージにおける処理終了に応答してリセットされるフラ
グを格納するフラグ格納手段とを備え、前記アドレス生
成回路は、前記カウンタの値が特定の値になると分岐す
る分岐命令を実現するマイクロプログラムの最初のマイ
クロ命令実行時に、前記フラグ格納手段に格納されたフ
ラグ群の少なくとも1つのフラグセット中、次に実行す
べきマイクロ命令ではなく、前記アドレスレジスタに格
納された前記最初のマイクロ命令のアドレスを選択し、
前記制御記憶に前記最初のマイクロ命令のアドレスを出
力することを特徴とする。
て詳細に説明する。図2を参照すると、本発明の対象と
なる情報処理装置のうち、プロセッサ26はマイクロプ
ログラム制御型のプロセッサであり、制御記憶(コント
ロールストア)1内のマイクロ命令により制御される。
プロセッサ10からは、制御記憶1に対してアドレスが
与えられ、制御記憶1からマイクロ命令が読み出されプ
ロセッサ26に転送される。プロセッサ26は転送され
たマイクロ命令により制御される。本発明の情報処理装
置は好ましくはパイプライン方式であるのが望ましい。
は制御記憶1からのマイクロ命令をプロセッサ26内の
マイクロ命令レジスタ3に格納するマイクロ命令取出し
ステージ下、マイクロ命令レジスタ3内のマイクロ命令
を解読し、各命令に対応した制御信号を作成するマイク
ロ命令デコードステージD,各命令で指定された演算が
実行されその演算実行結果が制御レジスタに格納され、
分岐命令において分岐するかしないかの判定が行われ、
カウンタを更新する命令の実行においてカウンタが更新
される演算実行ステージE,およびこの演算実行ステー
ジでの演算結果がソフトウェア可視のレジスタに格納さ
れる結果格納ステージWの各ステージを備えている。
参照して詳細に説明する。
は、分岐命令を実行するマイクロプログラム,またはマ
イクロ命令群を格納する制御記憶(コントロールスト
ア)1,この制御記憶1から所望のマイクロ命令を読出
すため制御記憶1の格納位置を示すアドレスを生成する
アドレス生成回路2,このアドレス生成回路2で生成さ
れたアドレスを格納するアドレスレジスタ4,アドレス
生成回路2からアドレスにより指示された制御記憶の格
納位置から読出されたマイクロ命令を格納するマイクロ
命令レジスタ3,このマイクロ命令レジスタ3に格納さ
れたマイクロ命令の一部を解読するデコード9,このデ
コーダ9の解読結果をパイプラインの演算実行ステージ
Eにおいて格納するレジスタ10,このレジスタ10か
らの内容で制御されるカウンタ5,前記マイクロ命令レ
ジスタ3に格納されたマイクロ命令の他の一部を解読す
るデコーダ8,このデコーダ8の解読結果に基いてカウ
ンタ5を更新する命令を実現するマイクロ命令Aの実行
時に、パイプラインの演算実行ステージE対応にカウン
タ5の更新を示すためセットされ、演算実行ステージE
の処理が終了するとリセットされるフラグを格納するフ
リップフロップまたはレジスタ(以下、フラグ格納手
段)6,およびこのフラグ格納手段6のフラグ設定に応
答して動作し、カウンタ5を更新する命令を実現するマ
イクロ命令Aの実行時にパイプラインの演算結果格納ス
テージWに対するカウンタ5の更新を示すためセットさ
れ、演算結果格納ステージWの処理が終了するとリセッ
トされるフラグを格納するフリップフロップ、またはレ
ジスタ(以下、フラグ格納手段7)を含む。アドレス生
成回路2は、カウンタ5の値が特定の値になると分岐す
る分岐命令を実現するマイクロプログラムの最初のマイ
クロ命令Bの実行時に、フラグ格納手段6または7のフ
ラグのいずれか1つでもセットされていると、その間、
次マイクロ命令のアドレスでなく、アドレスレジスタ4
に格納されたマイクロ命令Bのアドレスを選択し、制御
記憶1にマイクロ命令Bのアドレスを出力する。カウン
タ5は分岐命令で使用されるもので、フラグ6がセット
されていると演算実行ステージEにおいて更新される。
および図3を参照して詳細に説明する。
理開始に応答してアドレス生成回路2は、分岐命令を実
行するためのマイクロプログラムの先頭のマイクロ命令
を読出すため制御記憶1内の該先頭のマイクロ命令の記
憶位置を示すアドレスを生成する。マイクロ命令取出ス
テージFにおいて、このアドレス生成回路2で生成され
たアドレスにより制御記憶1から読出されたマイクロ命
令がマイクロ命令レジスタ3に格納される。この格納動
作と並行して、アドレス生成回路2の内容がアドレスレ
ジスタ4に格納される。もし、この処理される命令がカ
ウンタ5の更新命令であれば、その更新命令を実現する
マイクロ命令によってフラグ格納手段6のフラグがマイ
クロ命令デコードステージDにおいてセットされる。ま
た、演算実行ステージEにおいてフラグ格納手段6のフ
ラグセット状態に応答して、フラグ格納手段7のフラグ
がセットされる。カウンタ5の更新命令を実行するマイ
クロプログラムのマイクロ命令の実行では、演算実行ス
テージEにおけるカウンタ5の更新が行われる。
命令の実行においてマイクロ命令デコードステージDで
カウンタ5の計数値が確定しているかどうかが調べら
れ、確定していれば分岐するかどうかが判定される。こ
の時、フラグ格納手段6または7のフラグがセットされ
ていると、アドレスレジスタ4の内容がアドレス生成回
路2で選択されて次のマイクロ命令のアドレスとなる。
すなわち、カウンタ5の更新が所定の回数まで終了して
いなければ、分岐命令対応のマイクロプログラムの最初
のマイクロ命令と同じアドレスが生成される。このよう
にして、フラグ格納手段6および7のフラグのセット
中、分岐命令を実現する最初のマイクロ命令が読出され
る。
命令で使用するカウンタの更新が完了するまで、分岐命
令対応マイクロプログラムの先頭マイクロ命令を実行し
続けることにより、制御が複雑とならず、ハードウェア
量の増加を防止できるという効果がある。
参照して詳細に説明する。
は、第1の実施例においてマイクロ命令Bを処理するマ
イクロプログラムの先頭のマイクロ命令において分岐命
令であることを示すフィールド以外のフィールドを動作
させないように構成する。すなわち、マイクロ命令レジ
スタ3に格納されたマイクロ命令の各フィールドの内容
の解読による制御信号の発生および実行の抑止を示す。
マイクロ命令レジスタ3に格納されたマイクロ命令のフ
ィールドAの内容は、カウンタ5の値により分岐するか
どうかを判定する動作を指示する。該マイクロ命令のフ
ィオールドBの内容は、カウンタ5の更新を指示する。
該マイクロ命令のフィールドCの内容は、演算結果の格
納指示および格納先を示す。該マイクロ命令のフィール
ドDの内容は、演算結果の格納指示および格納先を示
す。これらマイクロ命令のフィールドB,CおよびDの
内容は、デコーダ19,20および21で解読され、カ
ウンタ5の更新指示信号,演算結果格納指示信号,およ
び演算実行指示信号として送出される。従来であれば、
図4において破線で示されるように、フラグ格納手段6
からのフラグとフラグ格納手段7からのフラグとの論理
和が論理和回路22でとられる。この論理和回路22の
出力は、抑止回路23,24および25に与えられ、デ
コーダ19,20および21からの更新指示信号,演算
結果格納指示信号および演算実行指示信号を抑止回路2
3,24および25で抑止する。このため論理和回路2
2および抑止回路23,24および25が必要であっ
た。本発明の第2の実施例では、分岐命令を実現するマ
イクロプログラムの先頭のマイクロ命令のフィールド
B,CおよびDに非動作(ノーオペレーション)コード
を示すコードにしてマイクロ命令レジスタ3に格納す
る。このようなマイクロ命令がマイクロ命令レジスタ3
に格納されることにより、フラグ格納手段6および7の
フラグセット中に、分岐命令が実行された場合、この分
岐命令で実行する動作を抑止する抑止回路23,24お
よび25を設けなくてよい。
命令対応のマイクロプログラムの先頭マイクロ命令の動
作を分岐判定に限定することにより、カウンタの更新が
完了するまでの先頭マイクロ命令の動作を抑止する回路
が不要となり、ハードウェア量の増加を防止できる。
よび図6を参照して詳細に説明する。
容が特定の値であるかどうかが毎マシンサイクルでセッ
トされるフラグを持つことを特徴とする。
において分岐命令のビット0から5は、望ましくは16
ビットを判定したカウンタ5の値により分岐する命令で
あることを示すオペレーションコードである。分岐命令
のビット6および7は、カウンタ5のどの部分の値によ
って分岐するかを示すフィールドである。分岐命令のビ
ット8から15は、分岐アドレスを構成する。
であれば、カウンタ5のビット12〜15の値により分
岐するかしないかが判定される。
であれば、カウンタ5のビット8〜11の値により分岐
するかしないかが判定される。
であれば、カウンタ5のビット8〜15の値により分岐
するかしないかが判定される。
であれば、カウンタ5のビット0〜15の値により分岐
するかしないかが判定される。
タ5のビット12〜15の値が“0”であるか否かを検
出する回路であり、その検出結果は、毎サイクルフラグ
格納手段15にセットされる。
1の値が“0”であるか否かを検出する回路であり、そ
の検出結果は毎サイクルフラグ格納手段16にセットさ
れる。
5の値が“0”であるか否かを検出する回路であり、そ
の結果は毎サイクルフラグ格納手段17にセットされ
る。
5の値が“0”であるか否かを検出する回路であり、そ
の結果は毎サイクルフラグ格納手段18にセットされ
る。これらフラグ格納手段15,16,17および18
に格納されたフラグは、分岐命令により分岐するかしな
いかの判定に使用される。本発明の第3の実施例は、カ
ウンタの内容が特定の値かどうかを毎サイクルフラグ格
納手段にセットすることにより、分岐するかどうかの判
定の時間を短縮でき、分岐命令の実行によるマシンサイ
クルの増加をせずにすむ。
プログラム制御型情報処理装置の制御を複雑にせず、ハ
ードウェア量の増加を防止できるという効果がある。本
発明はさらに分岐命令の実行において分岐するかどうか
の判定の時間を短縮でき、分岐命令の実行によるマシン
サイクルの増加をせずにすむという効果がある。
関係を示す図である。
ジを示す図である。
形式を示す図である。
Claims (3)
- 【請求項1】 マイクロ命令群を格納する制御記憶手段
と、 この制御記憶手段のアドレスを格納するアドレス格納手
段と、 前記制御記憶手段からのマイクロ命令により制御される
計数手段と、 この計数手段の値を更新する命令を実現するマイクロプ
ログラム中のマイクロ命令実行時に前記計数手段の更新
を示すためにセットされ、パイプラインの各ステージに
おける処理終了に応答してリセットされるフラグを格納
するため、各ステージ対応に設けられたフラグ格納手段
と、 前記計数手段の特定の値に応答して分岐する分岐命令を
実現するマイクロプログラムの最初のマイクロ命令実行
時に、前記フラグ格納手段のフラグのセット中前記アド
レス格納手段に格納された前記最初のマイクロ命令のア
ドレスを選択し、前記制御記憶手段に前記最初のマイク
ロ命令のアドレスを出力するアドレス生成手段とを含む
ことを特徴とするマイクロプログラム制御型情報処理装
置。 - 【請求項2】 前記制御記憶手段から読出されるマイク
ロ命令のうち、分岐命令を実現するマイクロプログラム
の先頭のマイクロ命令の分岐命令であることを示すフィ
ールド以外のフィールドの内容を動作させない内容とし
て格納するマイクロ命令格納手段を含むことを特徴とす
る請求項1記載のマイクロプログラム制御型情報処理装
置。 - 【請求項3】 前記計数手段の値の少なくとも一部が特
定の値になっているか否かを検出する検出手段と、 この検出手段での検出結果をマシンサイクル毎に格納す
るフラグ格納手段とを含むことを特徴とする請求項1ま
たは請求項2記載のマイクロプログラム制御型情報処理
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6027134A JP2689894B2 (ja) | 1994-02-25 | 1994-02-25 | マイクロプログラム制御型情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6027134A JP2689894B2 (ja) | 1994-02-25 | 1994-02-25 | マイクロプログラム制御型情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07234786A true JPH07234786A (ja) | 1995-09-05 |
| JP2689894B2 JP2689894B2 (ja) | 1997-12-10 |
Family
ID=12212587
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6027134A Expired - Fee Related JP2689894B2 (ja) | 1994-02-25 | 1994-02-25 | マイクロプログラム制御型情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2689894B2 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02227730A (ja) * | 1989-01-13 | 1990-09-10 | Internatl Business Mach Corp <Ibm> | データ処理システム |
| JPH04188323A (ja) * | 1990-11-22 | 1992-07-06 | Nec Corp | マイクロ命令読み出し方式 |
| JPH04255028A (ja) * | 1991-02-06 | 1992-09-10 | Sharp Corp | マイクロプロセッサ |
-
1994
- 1994-02-25 JP JP6027134A patent/JP2689894B2/ja not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02227730A (ja) * | 1989-01-13 | 1990-09-10 | Internatl Business Mach Corp <Ibm> | データ処理システム |
| JPH04188323A (ja) * | 1990-11-22 | 1992-07-06 | Nec Corp | マイクロ命令読み出し方式 |
| JPH04255028A (ja) * | 1991-02-06 | 1992-09-10 | Sharp Corp | マイクロプロセッサ |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2689894B2 (ja) | 1997-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1157329B1 (en) | Methods and apparatus for branch prediction using hybrid history with index sharing | |
| US20020133689A1 (en) | Method and apparatus for executing coprocessor instructions | |
| JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
| JPH01310441A (ja) | データ処理装置 | |
| JPH056894B2 (ja) | ||
| JPH03129432A (ja) | 分岐制御回路 | |
| US5142630A (en) | System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching | |
| JP2689894B2 (ja) | マイクロプログラム制御型情報処理装置 | |
| US6044455A (en) | Central processing unit adapted for pipeline process | |
| JP2694948B2 (ja) | マイクロプログラム処理装置 | |
| US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
| JPH11345121A (ja) | プログラム制御ユニット用の命令取り出し装置および方法 | |
| JP3057732B2 (ja) | 情報処理装置 | |
| JPS5953942A (ja) | マイクロプログラム制御方式 | |
| JP3490191B2 (ja) | 計算機 | |
| JP2004062427A (ja) | マイクロプロセッサ | |
| JP2597744B2 (ja) | 分岐制御方法 | |
| JP2503223B2 (ja) | 先行制御方式 | |
| JP2856703B2 (ja) | プロセッサ | |
| JP2541940B2 (ja) | マイクロプログラム制御装置 | |
| JP3074790B2 (ja) | マイクロプロセッサ | |
| JPS6411973B2 (ja) | ||
| JP3651099B2 (ja) | プログラマブルコントローラ | |
| JPS62154036A (ja) | アドレス・トレ−ス回路 | |
| JPH05181671A (ja) | ソフトウェア命令のエミュレーション方式 |
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: 19970729 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070829 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 14 |
|
| LAPS | Cancellation because of no payment of annual fees |