JPH0218732B2 - - Google Patents

Info

Publication number
JPH0218732B2
JPH0218732B2 JP58034073A JP3407383A JPH0218732B2 JP H0218732 B2 JPH0218732 B2 JP H0218732B2 JP 58034073 A JP58034073 A JP 58034073A JP 3407383 A JP3407383 A JP 3407383A JP H0218732 B2 JPH0218732 B2 JP H0218732B2
Authority
JP
Japan
Prior art keywords
instruction
microinstruction
decoder
address
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 - Lifetime
Application number
JP58034073A
Other languages
English (en)
Other versions
JPS59160239A (ja
Inventor
Keiichi Ju
Takashi Tsunehiro
Junji Nakakoshi
Koichi Nakai
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3407383A priority Critical patent/JPS59160239A/ja
Publication of JPS59160239A publication Critical patent/JPS59160239A/ja
Publication of JPH0218732B2 publication Critical patent/JPH0218732B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロプログラム制御の情報処理
装置に関し、特に先行制御によりマイクロ命令ス
テツプ数を短縮した情報処理装置に関するもので
ある。
〔従来技術〕
マイクロプログラム制御の情報処理装置は、処
理装置の基本動作を指定するマイクロ命令セツト
によりプログラミングを行い、これを制御記憶装
置に格納し、これから逐次マイクロ命令を読み出
し実行することにより、処理装置の動作を実現す
る。処理装置の機械語命令を実現するためのマイ
クロプログラム制御部は、大きく3つの部分より
成る。すなわち、次の通りである。
(1) 機械語命令を主記憶装置から読み出す。
(2) 読み出した機械語命令を解読する。
(3) 解読した機械語命令を実行する。
(2)では、機械語命令を解読し、各命令に対応し
たマイクロ命令実行ルーチンへ分岐する処理があ
り、(3)では、各命令に共通なオペランド記述部の
アドレス計算実行後、オペレーシヨン部の実行を
行う処理がある。
機械語命令は、その用途、目的により、効率の
よい処理を行う命令を用意するが、ここでは、第
1図に示す様に、2つの形式の例を示す。
形式1と形式2はともに、オペレーシヨンコー
ド部により、オペランドの属性が異なり、オペラ
ンドはレジスタの内容、レジスタとデイスプレイ
スメントの演算した内容あるいは主記憶装置の内
容に分かれる。形式1は、第1オペランドが暗黙
のうちに特定のレジスタの内容、あるいは、該レ
ジスタで示される主記憶装置の内容に決められて
いるところが形式2と異なる。この例は、第1オ
ペランドと第2オペランドの演算を行う命令であ
るが、形式1は、分岐命令とし、形式2はオペラ
ンド記述部2が、レジスタとデイスプレイスメン
トの演算した結果をアドレスとする主記憶装置の
内容を指し、これを第2オペランドとし、オペラ
ンド記述部1が、レジスタの内容を指し、これを
第1オペランドとする例である。
形式2の機械語命令を1個の演算器で実現する
マイクロ命令の動作フローのタイムチヤートを、
第2図、第3図に示す。第2図は、機械語命令の
処理を、機械語命令の読み出しIF、読み出した
機械語命令の解読D、オペランド記述部2に示す
内容のアドレス計算A、第2オペランドの読み出
しOF、第1オペランドと第2オペランドの演算
Eを繰返し行う動作フローである。この動作フロ
ーでは、アドレス計算A、オペランド間の演算E
以外では、演算器は動作していない。
これを改善して高速処理にしたのが第3図であ
る。第3図は、3つの機械語命令を2マシンサイ
クルずらして、同時に処理を行うマイクロ命令の
動作フローで、主記憶装置の読出し、演算器の使
用を効率よく行うことができる。これを実現する
ためには、ハードウエアは機械語命令を格納する
インストラクシヨンレジスタが少くとも3個必要
であり、また機械語命令解読後に前に読み出した
機械語のオペランド間の演算をする為の演算記憶
制御回路が必要である。
第3図から明らかなように、3命令の処理時間
が15マシンサイクルから10マシンサイクルに短縮
される。第3図に示した動作フローで動く情報処
理装置が形式1の分岐命令の場合には、第4図に
示す動作フローで動作する。すなわち、2番目の
読出した機械語命令が分岐命令の場合には、3番
目に読出した命令は実行してはならず、分岐先の
機械語命令から続行しなければならない。この
為、動作フローに乱れが生じ、演算の処理速度が
低下する。
1個の演算器を最適に動作させた場合、形式2
の機械語命令を連続してn回実行すると、2nマ
シンサイクルで動作するはずである。しかし、従
来の1個の演算器を使用した情報処理装置は、第
3図で示したように、形式2の機械語命令を連続
してn回実行すると、2n+4マシンサイクルの
時間を要し、情報処理装置を最適に動作するには
到らなかつた。
〔発明の目的〕
本発明の目的は、このような従来の問題を解決
し、1個の演算器を最適に動作させて、処理効率
を向上させることが可能な情報処理装置を提供す
ることにある。
〔発明の概要〕
上記目的を達成するため、本発明の情報処理装
置は、単独の演算装置と、主記憶装置から連続し
て読み出された複数の命令を格納する複数の命令
レジスタと、読み出された命令の解読用デコーダ
およびアドレス計算用デコーダとを備えて、先行
制御を行うマイクロプログラム制御の情報処理装
置において、主記憶装置から連続して読み出され
た複数の命令を別個に選択して、それぞれ上記命
令解読用デコーダあるいはアドレス計算用デコー
ダの一方に送出する複数の第1のセレクタと、制
御記憶から読み出されたマイクロ命令中のアドレ
ス計算先行制御指定フイールドの内容で制御され
ることにより、オペランドのアドレス計算を行う
ため、上記アドレス計算用デコーダの出力制御信
号を上記演算装置に送出するか否かを選択する第
2のセレクタと、上記オペランドのアドレス計算
結果を分岐命令のときにプログラムカウンタにセ
ツトするように制御する分岐命令選択デコーダと
を具備したことに特徴がある。
〔発明の実施例〕
以下、本発明の一実施例を説明する。
第5図は、前記形式2の機械語命令のマイクロ
命令の動作フローチヤートであり、第6図は、こ
のマイクロ命令を実現する本発明のハードウエア
の概略構成図である。第5図は、2命令を1マシ
ンサイクルずらして同時に処理を行う動作フロー
である。
本発明では、(i)前記形式2の命令を実行する際
に、オペレーシヨン・コードのデコードDとオペ
ランド記述部のアドレス計算Aを、同一マシン・
サイクルで並行して行うことにより、1命令を4
マシン・サイクルで実行すること、および(ii)前記
形式1(つまり分岐命令)を実行する際には、デ
コードDの前にオペランド記述部のアドレス計算
Aを行つてしまい、分岐先の主記憶装置アドレス
を先に算出することにより、次のマシン・サイク
ルで分岐先の命令を読み出し、分岐がない場合よ
り1マシン・サイクル短縮した時間で実行するこ
と、を可能にしている。
第6図において、1は主記憶装置、2,3はそ
れぞれA側とB側の演算用レジスタ、4はメモ
リ・アドレス・レジスタ、5はプログラム・カウ
ンタ、6はメモリ・バツフア・レジスタ、7,8
はそれぞれ第1と第2のインストラクシヨン・レ
ジスタ、9は計算用セレクタ、10は機械語命令
解読用セレクタ、11はアドレス計算用デコー
ダ、12は機械語命令解読用デコーダ、13は演
算器、14はマイクロプログラム加算回路、15
はマイクロ命令アドレス・セレクタ、16はマイ
クロ命令アドレス・レジスタ、17は制御記憶装
置、18はマイクロ命令レジスタ、19は演算制
御信号用セレクタ、20は分岐命令選択デコーダ
である。
第6図においては、前記(i)に示したデコードD
とオペランド記述部のアドレス計算Aを並行して
実行るするたに、2つのインストラクシヨン・レ
ジスタ7,8に保持された命令のうち、2番目に
読み出された命令を選択し、デコードしてオペラ
ンド記述部のアドレス計算の制御を行う手段9,
11,19を新たに設けるとともに、制御記憶装置1
7から読み出されたマイクロ命令の中にアドレス
計算先行制御指定フイールドCを設けてセレクタ
19を制御するようにしている。また、前記(ii)に
示した分岐命令のときのステツプ短縮のために、
さらに分岐命令選択デコーダ20を新たに設け、
先に求めたオペランド記述部のアドレス計算結果
を、メモリ・アドレス・レジスタ4にセツトする
ことなく、プログラム・カウンタ5にセツトする
ように制御する。これにより、分岐命令による処
理速度の低下を防止し、通常の場合よりさらに1
マシン・サイクル処理を短縮している。
第6図の動作を詳述する。
マイクロ命令が、機械語命令読み出し(命令1
のIF)を指定すると、プログラム・カウンタ5
に対応した命令1を主記憶装置1より読み出し、
インストラクシヨン・レジスタ7にセツトする。
次に、マイクロ命令が、機械語命令読み出し(命
令2のIF)と、命令1の解読Dと命令1のオペ
ランド記述部のアドレス計算Aを指定すると、先
行制御のため、インストラクシヨン・レジスタ8
に主記憶装置1より読み出した命令2をセツトす
る。また、現在実行しようとする命令がセツトさ
れているインストラクシヨンレジスタ7をセレク
タ10により選択し、これに基づいて命令1のマ
イクロ命令実行群の先頭番地へ分岐する為にマイ
クロ命令アドレスを作成するデコーダ12で命令
1のオペレーシヨン・コードをデコードし、その
出力をマイクロ命令アドレス・セレクタ15が選
択して、マイクロ命令アドレス・レジスタ16に
セツトする。16,17,18はマイクロプログ
ラム制御部を構成するもので、マイクロ命令アド
レス・レジスタ16の内容をアドレスとして制御
記憶装置17にアクセスし、そのアドレス・エリ
アからマイクロ命令を読み出して、マイクロ命令
レジスタ18にセツトする。マイクロ命令レジス
タ18にセツトされたマイクロ命令には、特別の
3つのフイールドa,b,cが設けられ、1つは
次のマイクロ命令を読み出すためのアドレス指定
を行うフイールドa、他の1つは演算を実行する
ための制御信号を出力するフイールドb、最後の
1つは次の命令のアドレス計算先行制御指定を行
うフイールドCである。
マイクロ命令レジスタ18にマイクロ命令がセ
ツトされると、これと同時に、命令1をセツトし
たインストラクシヨン・レジスタ7をセレクタ9
により選択して、演算用レジスタと演算内容を指
定するデコーダ11によりデコードし、オペラン
ド記述部のアドレス計算の為の制御信号を出力す
る。この時、マイクロ命令は、先行アドレス計算
指定をし(命令2のA)、演算制御信号をセレク
タ19により、デコーダ11の出力に選択する。
次に、マイクロ命令が命令1のオペランドの読み
出し(OF)と命令2のオペランド記述部のアド
レス計算Aを指定すると、命令1のオペランドア
ドレスがセツトされているアドレスレジスタ4に
対応した内容を主記憶装置1より読み出し、メモ
リバツフアレジスタ6にセツトする。また、命令
2をセツトしたインストラクシヨンレジスタ8を
セレクタ9により選択し、前記のように、命令2
のオペランド記述部のアドレス計算Aを行う制御
信号をセレクタ19より出力し、アドレス計算を
行う。セレクタ9は、前のマイクロ命令で機械語
命令解読Dを指定すると、次に読み出した機械語
命令をセツトするインストラクシヨンレジスタ7
を選択する。
次に、マイクロ命令は、命令1の演算Eの実行
と、命令2のオペランド読み出し(OF)と命令
2の解読Dを指定すると、セレクタ19はマイク
ロ命令レジスタ18が出力する演算用制御信号(b)
を選択し、オペランドをセツトしているメモリ・
バツフア・レジスタ6とレジスタ2で命令1のオ
ペレーシヨンコードに従つた演算を行う。また、
命令2のオペランド・アドレスがセツトされてい
るアドレスレジスタ4に対応した内容を主記憶装
置1より読み出し、メモリバツフアレジスタ6に
セツトする。同時に、命令2の解読Dを行い、前
記の様に命令2に対応するマイクロ命令群の先頭
のマイクロ命令をマイクロ命令レジスタ18にセ
ツトする。
次に、マイクロ命令が次の機械語命令の読み出
し(命令3のIF)と、命令2の演算Eの実行を
指定すると、前記のようにインストラクシヨンレ
ジスタ7に命令3をセツトすると同時に、マイク
ロ命令レジスタ18が出力する演算用制御信号(b)
をセレクタ19が選択し、命令2の演算Eを行
う。以下この動作を繰返す。
この動作を繰返しのタイム・チヤートを、第7
図bに示す。すなわち、第7図bは形式2の命令
を連続して実行した場合であつて、命令1と命令
2を実行する合計時間は5マシン・サイクル、つ
まり2n+1(nは命令数)マシン・サイクルであ
るが、命令3は演算器13が空いていないため、
3マシン・サイクル遅れて読み出されることにな
り、命令1〜命令3の合計時間は8マシン・サイ
クル、つまり2n+2マシン・サイクルかかるこ
とになる。しかし、演算器13を2個設ければ、
2nマシン・サイクルで実行可能である。このよ
うに、本実施例によれば、マイクロ命令でオペラ
ンド記述部のアドレス計算を、機械語命令のオペ
レーシヨンコード解読の前に行う事により、前記
形式2の命令を連続してn回実行するので、2n
マシンサイクの時間で実行でき、処理装置の効率
を上げる効果がある。
次に、本実施例のハードウエアを用いて形式1
の機械語命令を実行するマイクロ命令の動作フロ
ーを第7図aに示す。第7図aが第7図bと異な
る点は、命令2が分岐命令である為、動作フロー
が乱れる点にある。第7図aを実現するハードウ
エアで分岐命令特有のものは、第6図の分岐命令
選択デコーダ20が動作する事であり、読み出し
た機械語命令が分岐命令の場合には、オペランド
記述部のアドレス計算結果をメモリアドレス・レ
ジスタ4にセツトするのではなく、プログラム・
カウンタ5にセツトし、かつ読み出したオペラン
ドをインストラクシヨンレジスタ7にセツトする
様、本デコーダ20が制御する。これにより分岐
命令による処理速度の低下を最小限に留める事が
できる。
すなわち、第7図aに示すように、分岐命令2
がある場合、命令1〜命令3の実行時間の合計は
7マシン・サイクルであり、これは2n+1マシ
ン・サイクルである。
〔発明の効果〕
本発明によれば、機械語命令のオペレーシヨン
コードを解読して、機械語命令に対応したマイク
ロ命令群に分岐する前に、オペランド記述部のア
ドレス計算を行うことができ、かつ全てのステツ
プで単独の演算装置を使用し、メモリアクセスを
実行するので、レジスタ・メモリ演算をn回連続
して行うとほぼ2nマシンサイクルの時間で行う
事ができ、処理装置の高速化の効果がある。
【図面の簡単な説明】
第1図は、機械語命令の2つの命令形式の例を
示す図、第2図は第1図の形式2の機械語命令を
実現したマイクロ命令動作フロー図、第3図は第
2図を改善したマイクロ命令動作フロー図、第4
図は第1図の形式1の機械語命令を実現したマイ
クロ命令動作フロー図、第5図、第7図は本発明
を実施したマイクロ命令の動作フロー図、第6図
は本発明の実施例を示す情報処理装置の概略構成
図である。 1:主記憶装置、2:演算用A側レジスタ、
3:演算用B側レジスタ、4:メモリアドレスレ
ジスタ、5:プログラムカウンタ、6:メモリバ
ツフアレジスタ、7:インストラクシヨンレジス
タ1、8:インストラクシヨンレジスタ2、9:
アドレス計算用セレクタ、10:機械語命令解読
用セレクタ、11:アドレス計算用デコーダ、1
2:機械語命令解読用デコーダ、13:演算器、
14:マイクロプログラム加算回路、15:マイ
クロ命令アドレスセレクタ、16:マイクロ命令
アドレスレジスタ、17:制御用記憶装置、1
8:マイクロ命令レジスタ、19:演算制御信号
用セレクタ、20:分岐命令選択デコーダ。

Claims (1)

    【特許請求の範囲】
  1. 1 単独の演算装置と、主記憶装置から連続して
    読み出された複数の命令を格納する複数の命令レ
    ジスタと、読み出された命令の解読用デコーダお
    よびアドレス計算用デコーダとを備えて、先行制
    御を行うマイクロプログラム制御の情報処理装置
    において、主記憶装置から連続して読み出された
    複数の命令を別個に選択して、それぞれ上記命令
    解読用デコーダあるいはアドレス計算用デコーダ
    の一方に送出する複数の第1のセレクタと、制御
    記憶から読み出されたマイクロ命令中のアドレス
    計算先行制御指定フイールドの内容で制御される
    ことにより、オペランドのアドレス計算を行うた
    め、上記アドレス計算用デコーダの出力制御信号
    を上記演算装置に送出するか否かを選択する第2
    のセレクタと、上記オペランドのアドレス計算結
    果を分岐命令のときにプログラムカウンタにセツ
    トするように制御する分岐命令選択デコーダとを
    具備したことを特徴とする情報処理装置。
JP3407383A 1983-03-02 1983-03-02 情報処理装置 Granted JPS59160239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3407383A JPS59160239A (ja) 1983-03-02 1983-03-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3407383A JPS59160239A (ja) 1983-03-02 1983-03-02 情報処理装置

Publications (2)

Publication Number Publication Date
JPS59160239A JPS59160239A (ja) 1984-09-10
JPH0218732B2 true JPH0218732B2 (ja) 1990-04-26

Family

ID=12404082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3407383A Granted JPS59160239A (ja) 1983-03-02 1983-03-02 情報処理装置

Country Status (1)

Country Link
JP (1) JPS59160239A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583506B2 (ja) * 1987-05-27 1997-02-19 株式会社日立製作所 データ処理装置
JP2646855B2 (ja) * 1991-01-21 1997-08-27 三菱電機株式会社 データ処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6047618B2 (ja) * 1980-08-08 1985-10-22 日本電気株式会社 情報処理装置
JPS5794853A (en) * 1980-12-03 1982-06-12 Hitachi Ltd Data processor
JPS5848144A (ja) * 1981-09-16 1983-03-22 Nec Corp デ−タ処理装置の分岐命令制御方式

Also Published As

Publication number Publication date
JPS59160239A (ja) 1984-09-10

Similar Documents

Publication Publication Date Title
US4179731A (en) Microprogrammed control system
JPS6312029A (ja) 情報処理装置
JPS6313215B2 (ja)
JPH0545985B2 (ja)
JPS61107431A (ja) 演算装置
JPH0248931B2 (ja)
JP3237858B2 (ja) 演算装置
KR100334174B1 (ko) 데이타처리장치
JPH03233630A (ja) 情報処理装置
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
US4812970A (en) Microprogram control system
JPH0218732B2 (ja)
JPH07110769A (ja) Vliw型計算機
JPH0218729B2 (ja)
JPS63141131A (ja) パイプライン制御方式
JP2812610B2 (ja) パイプライン制御方式
JPH0524537B2 (ja)
JP2982129B2 (ja) マイクロプログラム制御装置
JPS58176751A (ja) 命令語解読ユニツト
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH06332701A (ja) 情報処理装置
JPS62295163A (ja) 並列デ−タ処理装置
JPS6375833A (ja) 情報処理装置
JPS62147545A (ja) 情報処理装置における転送命令処理方式
JPS6028014B2 (ja) マイクロプロセツサ