Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6049339B2 - マイクロプログラム制御方式 - Google Patents
[go: Go Back, main page]

JPS6049339B2 - マイクロプログラム制御方式 - Google Patents

マイクロプログラム制御方式

Info

Publication number
JPS6049339B2
JPS6049339B2 JP14515777A JP14515777A JPS6049339B2 JP S6049339 B2 JPS6049339 B2 JP S6049339B2 JP 14515777 A JP14515777 A JP 14515777A JP 14515777 A JP14515777 A JP 14515777A JP S6049339 B2 JPS6049339 B2 JP S6049339B2
Authority
JP
Japan
Prior art keywords
microinstruction
address
executed
machine cycle
result
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
Application number
JP14515777A
Other languages
English (en)
Other versions
JPS5478046A (en
Inventor
和秀 岩田
茂樹 柴山
信雄 奥田
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP14515777A priority Critical patent/JPS6049339B2/ja
Publication of JPS5478046A publication Critical patent/JPS5478046A/ja
Publication of JPS6049339B2 publication Critical patent/JPS6049339B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 この発明はマイクロプログラム制御方式に係り特にパイ
プライン形のマイクロプログラム制御方式に関する。
マイクロ命令の実行と次に実行するマイクロ命令の読出
しを同時に行なうことによつて高速化を計つたパイプラ
イン形マイクロプログラム計算機のアーキテクチヤを第
1図に示す。
第2図を用いてその動作を説明すると、まずマシンサイ
クルは周期的なので、アドレスコントローラ1の動作開
始点を基準にして、を、時間経過した後アドレス1が出
力されてマイクロプログラムメモリ2からマイクロ命令
1の読出しが開始される。メモリ2からマイクロ命令の
読出しに要する時間をちとする。次のマシンサイクルの
初めで、このマイクロ命令1がパイプラインレジスタ3
にセットされる。このレジスタ3の出力がゲート回路な
どを介して演算器4に到着(転送時間を3)すると演算
の実行が開始する。一方アドレスコントローラ1は前の
マシンサイクルでの演算結果とパイプラインレジスタ3
に入つている次番地情報とにより、次・に実行されるマ
イクロ命令2のアドレス選択が開始される。さて同一の
マシンサイクルにおいて、マイクロ命令1による演算が
終了(演算時間を、)すると、その結果がレジスタやア
ドレスコントローラ1へ転送される(転送時間を5)。
フ 以下同様操作が繰り返されるが、この場合マシンサ
イクルは、max(ti+を2;ち+を、+を5) で決定される。
通常は、(+T2=ち+T4+ζ となるように演算器4とメモリ2の速度を選びコストパ
フォーマンスを高めている。
このようなマイクロプログラム制御方式は、高速1Cの
開発によつて進められてきた。
しかし、最近のように数十Nsで動作するメモリや演算
器が市販されるようになると、実装上の障害が生じて高
速化の限界がうかがえるようになつた。すなわち、上述
のデータやマイクロ命令の転送時間Tl,t3,t5は
ICによる遅れよりもむしろ配線長や配線による浮遊容
量によつて決まつてしまうのでICの高速化による速度
向上の効果が期待できない。例えばメモリと演算器を異
なつた基板に実装してそれぞれにドライバー、レシ−バ
ーを付けて接続すると、配線長やその浮遊容量の増加に
よつて20〜50r1sの遅れが生ずる。この値は高速
メモリ、高速演算器の動作時間に近い値である。本発明
は上記事情に鑑みて為されたものであり、その目的は高
速化されたマイクロプログラム制御方式を提供するにあ
る。本発明の特徴は、分岐命令を処理する場合、次に実
行するマイクロ命令を予測してメモリから読出して準備
しておくだけでなく先に実行させておいて、分岐条件を
テストするときにその結果を採用するかあるいは他のマ
イクロ命令を読出すかど−うかを判定するようにしたこ
とにある。
以下図面を参照して本発明の一実施例を説明する。
第3図は本発明の一実施例を示す図、第4図はその動作
を説明するための図である。第3図において、10はマ
イクロ命令を記憶す!るマイクロプログラムメモリ、1
1はメモリ10から読み出されたマイクロ命令を一時保
持するバイブラインレジスタ、12はメモリ10のアド
レスを保持するアドレスレジスタ、13″はバイブライ
ンレジスタ11からのマイクロ命令を実行する5演算器
、14は次に実行するマイクロ命令のアドレスを選択す
るマルチプレクサ、15はアドレスレジスタ12の出力
アドレスに1を加えるインクリメンタ、16はアドレス
信号の比較を行なうコンパレータ、17はコンパレータ
16の出力に応4じて次に行うべき処理を決定する分岐
処理回路、18はバイブラインレジスタ11からのマイ
クロ命令の解読を行ない、各部分へ制御信号を供給する
インストラクションアドレスデコーダである。
また線19上のアドレス信号をここではカレントアドレ
スと呼び、線20上のアドレス信号をここでジャンプア
ドレスと呼ぶ。また第4図において、バイブラインレジ
スタにおける1,2,3はそれぞれマイクロ命令1、マ
イクロ命令2、マイクロ命令3を表わす。
メモリサイクルにおける選択1、選択2等はマイクロ命
令1のアドレスの選択、マイクロ命令2のアドレス選択
等を意味する。また読出し1、実行1等はフそれぞれマ
イクロ命令1の読出し、マイクロ命令1の実行等を意味
する。更にMTl、KTl等は、それぞれマイクロ命令
1の転送及び解読、マイクロ命令1の実行によつて得ら
れた演算結果の転送等を意味する。次に本実施例の基本
的動作について説明する。
第4図におけるマシンサイクルT2を参照すると、レジ
スタ11の内容すなわちマイクロ命令1は演算器13へ
供給されるとともにインストラクションデコーダ18へ
供給されて次に実行するマ”イクロ命令のアドレスを決
定する制御信号が発生される。前述のようにメモI川0
及び演算器13として高速なものを使用するならば、レ
ジスタ11から演算器13へのマイクロ命令の転送時間
はメモリアクセス時間、演算時間とほぼ等しいものにな
る。したがつてこの転送時間を用いてインストラクショ
ンデコーダ18の制御の基に次に実行するマイクロ命令
のアドレスを選択することができる。すなわち、マイク
ロ命令1の転送時に、インストラクションデコーダ18
はインクリメント15に制御信号を供給し、線19上の
カレントアドレスに1を加えてマイクロ命令2のアドレ
スをマルチプレクサ14へ出力させる。次にインストラ
クションデコーダ18はマイクロ命令1が分岐命令等で
ない場合には、インクリメント15の出力を選択させる
制御信号をマルチプレクサ14に供給する。
マイクロ命令1が演算器13に転送され解読されると、
演算器13はマイクロ命令の実行を開始する。
このときインストラクションデコーダ18がアドレスレ
ジスタ12に制御信号を与えることによつてアドレスレ
ジスタ12には次に実行するマイクロ命令2のアドレス
がセットされる。このようにマイクロ命令1の実行と次
に実行するマイクロ命令2の読出しとが同時に行なわれ
、これらが終了すると1マイクロステップが終了する。
次のマシンサイクルT3ではまずインストラクションデ
コーダ18がバイブラインレジスタ11に制御信号を供
給することによつて、バイブラインレジスタ11にはマ
イクロ命令2がセットされる。しかして前のマシンサイ
クルと同様にこのマイクロ命令2を演算器13へ転送す
るとともに次に実行するマイクロ命令3のアドレスを選
択する。このとき更に、インストラクションデコーダ1
8は演算器13へ制御信号を供給して、マイクJ口命令
1の演算結果を転送させる。すなわち、第2図と第4図
を比較すれば明らかなように本発明によればマシンサイ
クルが約2ノ3に短縮される。このようにマシンサイク
ルをその前半部と後半部に区分し、前半部で次に実行す
るマイクロ命令のアドレス選択、実行するマイクロ命令
の転送及び1つ前のマシンサイクルで実行されたマイク
ロ命令による演算結果の転送を行ない、後半部で次に実
行するマイクロ命令の読出し及び、マイクロ命令の実行
を行なうことによつて高速化した場合、一般には分岐命
令の実行が依然として時間損失になると予想されるが本
実施例によればこの問題は大きく軽減させることがてき
、何ら高速化の妨げとはならない。まず、マイクロプロ
グラムメモリ10に収容されているマイクロ命令のうち
分岐命令には分岐アドレスを指定するビットBASを設
けてあるものとする。
このBASビットが“1゛のときこのマイクロ命令はジ
ャンプアドレスを指定し、゜゜0゛のときは連続アドレ
スを指定する。このBASビットはこの分岐命令を実行
した場合、ジャンプアドレスへ飛ぶ確率と連続アドレス
を実行する確率を比べて確率の高いほうに、予めプログ
ラマによつて決定しておくことができる。いま第4図に
おいて、マイクロ命令1が分岐命令であつたとする。
このマイクロ命令1のBASビットば0゛であり、連続
アドレス(すなわちマイクロ命令2のアドレス)を指定
しているものとすると、まずマシンサイクルT1でマイ
クロ命令1が読出され、マシンサイクルT2でマイクロ
命令1の解読と実行及びマイクロ命令2の先読みが行な
われる。このマイクロ命令2の先読みの際、線19上の
カレントアドレス(すなわちマイクロ命令2のアドレス
)は線20上のジャンプアドレスとコンパレータ16に
おいて比較される。コンパレータ16は一致する場合出
力MACH=1とし、不一致の場合MACH=0とする
。いまMACH=0である。分岐処理回路17はBAS
ビットの内容と出力MACHとのExcIusiveO
R回路であり、いま分岐処理回路17は出力“0゛をイ
ンストラクションデコーダ18に供給する。インストラ
クションデコーダ18は分岐処理回路17からの信号が
“0゛の場合にはそのまま処理を進める。すなわち、マ
シンサイクルT3に入り、マイクロ命令1の結果の転送
、マイクロ命令2の実行及びマイクロ命令3の先読みを
行なう。いまマイクロ命令1は分岐命令であり、マイク
ロ命令1の結果の転送によつて先読みしたマイクロ命令
2が正しかつたか否かを知ることができる。正しかつた
場合にはマシンサイクルT4ではマイクロ命令2の結果
の転送、マイクロ命令3の転送及びマイクロ命令3の実
行を行ない何ら処理は中断されない。一方先読みしたマ
イクロ命令2が誤りであつた場合(すなわちマイクロ命
令1を実行した結果ジャンプアドレスへ飛ぶべきであつ
たとき)には、インストラクションデコーダ18はマシ
ンサイクルT4でマイクロ命令2の結果の転送とマイク
ロ命令3の転送解読を禁止し、正しいジャンプアドレス
のマイクロ命令の読出しを行なう。次にマイクロ命令1
が分岐命令であつてそのBASビットが゜゜1゛である
場合を説明する。マシンサイクルT1でマイクロ命令1
が読出され、マシンサイクルT2でマイクロ命令1の解
読と実行及び次に実行するマイクロ命令の先読みを行な
う。この際コンパレータ16はMACH=0を出力し、
いまBAS=1であるので分岐処理回路17は出力“゜
1゛をインストラクションデコーダ18へ供給する。し
たがつてインストラクシヨンデ5コータ18はマルチプ
レクサ14へ線20上のジャンプアドレスを選ぶような
制御信号を送出する。こうしてマイクロ命令[相]が読
み出され、マシンサイクルT3でマイクロ命令1の結果
の転送、3の先読みを行なう。マイクロ命令1の結果の
転″θ送によつて先読みしたマイクロ命令[相]が正し
かつた場合には、マシンサイクルT4でマイクロ命令[
相]の結果の転送、マイクロ命令◎の実行及びマイクロ
命令◎の先読みを実行する。この状態を第5図に示した
。一方、マイクロ命令1の結果の転送によつて先読みし
たマイクロ命令[相]が誤りであつた場合にはマシンサ
イクルT4でマイクロ命令[相]の結果の転送とマイク
ロ命令(ロ)の転送解読を禁止して正しいマイクロ命令
2の読出しを行なう。
このようにマイクロ命令の先読みを更に一歩進めて、マ
イクロ命令の先実行を行なうことにより、マイクロプロ
グラムが分岐命令を含んでいても時間損失を大きく軽減
させ、高速化を実現することができる。
又、分岐命令の実行結果により先読みしたマイクロ命令
の実行結果を採用するか又は他のマイクロ命令を読み出
すかを判断するので、常に正しいマイクロ命令の実行結
果を得る事が出来る。以上詳細に説明したように、本発
明は特にメモリアクセス時間、演算時間、転送時間がほ
ぼ等しような高速なマイクロプログラム制御システムを
ハードウェアを特別に増加させることなく更に高速化さ
せることができる。
【図面の簡単な説明】
第1図は従来のマイクロプログラム制御の計算機システ
ムのアーキテクチャを示す図、第2図は第1図に示す計
算機システムの動作を説明するための図、第3図は本発
明の一実施例を示す図、第4図及び第5図は本発明の一
実施例の動作を説明するための図である。 10・・・・マイクロプログラムメモl八11・・・バ
イブラインレジスタ、12・・・・アドレスレジスタ、
13・・・・・・演算器。

Claims (1)

    【特許請求の範囲】
  1. 1 1マシンサイクル内でマイクロ命令の実行と次に実
    行するマイクロ命令の読出しをほぼ同時に行なうと共に
    1つ前のマシンサイクルで読出されたマイクロ命令の演
    算器への転送解読とほぼ同時に1つ前のマシンサイクル
    で実行されたマイクロ命令による演算結果の転送を行な
    うマイクロプログラム制御の装置において、第i番目の
    マシンサイクルで実行されたマイクロ命令が分岐命令の
    場合、第(i+1)番目のマシンサイクルで予め予想し
    ておいたマイクロ命令を実行し、前記分岐命令を実行し
    た結果、この予め予想しておいたマイクロ命令が誤りで
    あつたとき第(i+2)番目のマシンサイクルで前記予
    め予想しておいたマイクロ命令による演算結果の転送を
    禁止することを特徴とするマイクロプログラム制御方式
JP14515777A 1977-12-05 1977-12-05 マイクロプログラム制御方式 Expired JPS6049339B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14515777A JPS6049339B2 (ja) 1977-12-05 1977-12-05 マイクロプログラム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14515777A JPS6049339B2 (ja) 1977-12-05 1977-12-05 マイクロプログラム制御方式

Publications (2)

Publication Number Publication Date
JPS5478046A JPS5478046A (en) 1979-06-21
JPS6049339B2 true JPS6049339B2 (ja) 1985-11-01

Family

ID=15378734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14515777A Expired JPS6049339B2 (ja) 1977-12-05 1977-12-05 マイクロプログラム制御方式

Country Status (1)

Country Link
JP (1) JPS6049339B2 (ja)

Also Published As

Publication number Publication date
JPS5478046A (en) 1979-06-21

Similar Documents

Publication Publication Date Title
US4430706A (en) Branch prediction apparatus and method for a data processing system
US7047399B2 (en) Computer system and method for fetching, decoding and executing instructions
US5235686A (en) Computer system having mixed macrocode and microcode
US4409654A (en) Data processor adapted for interruption to an instruction stream
US4179731A (en) Microprogrammed control system
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
US6058471A (en) Data processing system capable of executing groups of instructions in parallel
US5628018A (en) Data processing apparatus handling plural divided interruption
JPS62197830A (ja) デ−タ処理システム
EP0378415A2 (en) Multiple instruction dispatch mechanism
KR920007253B1 (ko) 마이크로 프로그램 제어 장치
EP0164418B1 (en) Microprogram control system
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JP2694948B2 (ja) マイクロプログラム処理装置
JPS6049339B2 (ja) マイクロプログラム制御方式
JPS6049337B2 (ja) パイプライン制御方式
JP2583506B2 (ja) データ処理装置
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
JP2758624B2 (ja) マイクロプログラムの調速方式
JPH06131180A (ja) 命令処理方式および命令処理装置
JPH0221612B2 (ja)
JP3168657B2 (ja) 分岐命令制御回路
JP2545594B2 (ja) オペランドデータ先取り方式
JPS6353643A (ja) 命令制御装置
JPH0561660B2 (ja)