JPS6232504B2 - - Google Patents
Info
- Publication number
- JPS6232504B2 JPS6232504B2 JP57065821A JP6582182A JPS6232504B2 JP S6232504 B2 JPS6232504 B2 JP S6232504B2 JP 57065821 A JP57065821 A JP 57065821A JP 6582182 A JP6582182 A JP 6582182A JP S6232504 B2 JPS6232504 B2 JP S6232504B2
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- signal
- circuit
- inhibition
- arithmetic
- 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
- 230000005764 inhibitory process Effects 0.000 claims description 43
- 230000002401 inhibitory effect Effects 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 2
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 23
- 230000006870 function Effects 0.000 description 14
- 102100032312 Brevican core protein Human genes 0.000 description 13
- 101000731086 Homo sapiens Brevican core protein Proteins 0.000 description 13
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 12
- 230000001629 suppression Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 5
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 5
- 241001135893 Themira Species 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
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)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はそれぞれ固有の演算機能を有する複数
の演算要素を備え、マイクロ命令の指令に従つて
該当する演算要素が起動される演算制御装置に関
する。
の演算要素を備え、マイクロ命令の指令に従つて
該当する演算要素が起動される演算制御装置に関
する。
〔発明の技術的背景〕
一般にこの種の演算制御装置は、第1図に示さ
れるように構成されている。図中、10は制御部
であり、制御記憶11や各種レジスタ類を備えて
いる。201,202,………20oは演算要素
(演算エレメント、演算実行部)であり、それぞ
れ固有の演算機能を有している。演算要素20
1,202,20oはそれぞれ例えば乗算、固定
小数点加減算、浮動小数点加減算を実行するエレ
メントである。30は制御部10内の制御記憶1
1から読み出されたマイクロ命令の転送路として
のマイクロ命令バス、40はデータバスである。
データバス40は、制御部10内のレジスタ類か
ら演算要素201,202,………20oへデー
タを転送したり、或いは演算要素201,20
2,………20oの演算結果を制御部10内のレ
ジスタ類に転送したりするためのデータ転送路で
ある。データバス40は演算結果の転送路として
のデータバスと、ソースデータの転送路としての
2種のデータバスとから成つているが、便宜上1
本で図示されている。50はエレメントビジーラ
イン(以下、EBSYラインと称する)である。
EBSYライン50は演算要素20i(i=1、
2、………n)において1つのマイクロ命令の処
理に複数クロツク(システムクロツク)分必要と
する場合に当該演算要素20iから出力されるエ
レメントビジー信号(以下信号EBSYと称する)
の転送路である。この信号EBSYは後続するマイ
クロ命令の実行を抑止するための抑止信号であ
り、EBSYライン50を介して制御部10に伝達
される。
れるように構成されている。図中、10は制御部
であり、制御記憶11や各種レジスタ類を備えて
いる。201,202,………20oは演算要素
(演算エレメント、演算実行部)であり、それぞ
れ固有の演算機能を有している。演算要素20
1,202,20oはそれぞれ例えば乗算、固定
小数点加減算、浮動小数点加減算を実行するエレ
メントである。30は制御部10内の制御記憶1
1から読み出されたマイクロ命令の転送路として
のマイクロ命令バス、40はデータバスである。
データバス40は、制御部10内のレジスタ類か
ら演算要素201,202,………20oへデー
タを転送したり、或いは演算要素201,20
2,………20oの演算結果を制御部10内のレ
ジスタ類に転送したりするためのデータ転送路で
ある。データバス40は演算結果の転送路として
のデータバスと、ソースデータの転送路としての
2種のデータバスとから成つているが、便宜上1
本で図示されている。50はエレメントビジーラ
イン(以下、EBSYラインと称する)である。
EBSYライン50は演算要素20i(i=1、
2、………n)において1つのマイクロ命令の処
理に複数クロツク(システムクロツク)分必要と
する場合に当該演算要素20iから出力されるエ
レメントビジー信号(以下信号EBSYと称する)
の転送路である。この信号EBSYは後続するマイ
クロ命令の実行を抑止するための抑止信号であ
り、EBSYライン50を介して制御部10に伝達
される。
第2図は第1図の制御部10および演算要素2
0i(i=1、2、………n)の内部構成を示す
ものである。制御部10内の制御記憶11から読
み出されたマイクロ命令はシステムクロツク
CLKに同期した第1タイミングクロツクCLK1
に応じてAマイクロ命令レジスタ(以下、MIRA
と称する)12に一旦置数される。このMIRA1
2に置数されたマイクロ命令はマイクロ命令バス
30上に送出される。制御部10には演算結果等
の各種データが格納されるレジスタフアイル13
が設けられており、マイクロ命令バス30上に送
出された上記マイクロ命令の所定フイールドの内
容によつてレジスタ指定がなされる。そして、レ
ジスタフアイル13から上記マイクロ命令により
指定されたレジスタの内容がデータバス40上に
送出される。また、マイクロ命令バス30上のマ
イクロ命令は各演算要素20i(i=1、2、…
……n)に転送される。
0i(i=1、2、………n)の内部構成を示す
ものである。制御部10内の制御記憶11から読
み出されたマイクロ命令はシステムクロツク
CLKに同期した第1タイミングクロツクCLK1
に応じてAマイクロ命令レジスタ(以下、MIRA
と称する)12に一旦置数される。このMIRA1
2に置数されたマイクロ命令はマイクロ命令バス
30上に送出される。制御部10には演算結果等
の各種データが格納されるレジスタフアイル13
が設けられており、マイクロ命令バス30上に送
出された上記マイクロ命令の所定フイールドの内
容によつてレジスタ指定がなされる。そして、レ
ジスタフアイル13から上記マイクロ命令により
指定されたレジスタの内容がデータバス40上に
送出される。また、マイクロ命令バス30上のマ
イクロ命令は各演算要素20i(i=1、2、…
……n)に転送される。
演算要素20iにはマイクロ命令バス30を介
して転送されるマイクロ命令をデコードするデコ
ード部21iが設けられている。デコード部21
iはマイクロ命令バス30上のマイクロ命令(ま
たはマイクロ命令の一部)を保持した後デコード
して該当する演算要素20iが選択されているこ
とを判断すると、上記マイクロ命令(またはマイ
クロ命令の所定フイールド)をBマイクロ命令レ
ジスタ(以下、MIRBと称する)22iに渡す一
方、以後デコード部21iに対するマイクロ命令
バス30上のマイクロ命令の入力を禁止する。こ
の禁止が解除されるのは、当該マイクロ命令の実
行終了時である。デコード部21iからMIRB2
2iに渡されたマイクロ命令はシステムクロツク
CLKに応じてMIRB22iに置数される。これと
同時にデータバス40上の内容が演算器23iに
入力される。演算器23iは前述した各演算要素
201,202,………20oの機能から明らか
なように、演算要素201の場合には乗算器、演
算要素202の場合には、加算器、………演算要
素20oの場合には加算器やシフタなどから構成
される。MIRB22iの内容は制御回路24iに
出力され、これにより制御回路24iは演算器2
3iに対してモード指定を行なつたり、演算のシ
ーケンス制御を行なう。そして演算器23iの演
算結果はデータバス40上に送出される。このデ
ータバス40上のデータ(演算結果)は(マイク
ロ命令バス30上の)マイクロ命令の所定フイー
ルドにより指定されたレジスタフアイル13内の
レジスタに格納される。以上で1つのマイクロ命
令に対応する動作が終了する。
して転送されるマイクロ命令をデコードするデコ
ード部21iが設けられている。デコード部21
iはマイクロ命令バス30上のマイクロ命令(ま
たはマイクロ命令の一部)を保持した後デコード
して該当する演算要素20iが選択されているこ
とを判断すると、上記マイクロ命令(またはマイ
クロ命令の所定フイールド)をBマイクロ命令レ
ジスタ(以下、MIRBと称する)22iに渡す一
方、以後デコード部21iに対するマイクロ命令
バス30上のマイクロ命令の入力を禁止する。こ
の禁止が解除されるのは、当該マイクロ命令の実
行終了時である。デコード部21iからMIRB2
2iに渡されたマイクロ命令はシステムクロツク
CLKに応じてMIRB22iに置数される。これと
同時にデータバス40上の内容が演算器23iに
入力される。演算器23iは前述した各演算要素
201,202,………20oの機能から明らか
なように、演算要素201の場合には乗算器、演
算要素202の場合には、加算器、………演算要
素20oの場合には加算器やシフタなどから構成
される。MIRB22iの内容は制御回路24iに
出力され、これにより制御回路24iは演算器2
3iに対してモード指定を行なつたり、演算のシ
ーケンス制御を行なう。そして演算器23iの演
算結果はデータバス40上に送出される。このデ
ータバス40上のデータ(演算結果)は(マイク
ロ命令バス30上の)マイクロ命令の所定フイー
ルドにより指定されたレジスタフアイル13内の
レジスタに格納される。以上で1つのマイクロ命
令に対応する動作が終了する。
一方、演算要素20iの動作が1クロツク(1
システムクロツク)で終了せず、多クロツクに渡
る場合には、制御回路24iから信号EBSY(論
理“0”で有効)がEBSYライン50上に送出さ
れる。EBSYライン50上の信号EBSYは制御部
10内の抑止回路14に供給される。抑止回路1
4にはMIRA12にマイクロ命令を置数するため
の第1タイミングクロツクCLK1の出力を制御
する抑止ゲート(以下、Aと称する)15と、レ
ジスタフアイル13にデータを書き込むための第
2タイミングクロツクCLK2の出力を制御する
A(抑止ゲート)16とが設けられている。A1
5はシステムクロツクCLK、抑止条件としての
上記信号EBSY、信号17(この信号はメモリビ
ジー信号であるが本発明に直接関係しないので説
明を省略する)が入力される例えばアンドゲート
であり、信号EBSY、信号17の少なくともいず
れか一方が有効(論理“0”)である期間中、シ
ステムクロツクCLKを第1タイミングクロツク
CLK1としてMIRA12に出力するのを抑止す
る。したがつて、上述のように演算要素20iの
制御回路24iからの論理“0”の信号EBSYが
EBSYライン50上に送出されると、A15の働
きにより第1タイミングクロツクCLK1がMIRA
12に供給されるのが抑止され、次のマイクロ命
令のMIRA12への取り込み、すなわち次のマイ
クロ命令の実行が禁止される。また、A16はシ
ステムクロツクCLK、抑止条件としての上記信
号EBSY、信号18(この信号は演算結果のレジ
スタフアイル13への格納、すなわちデステイネ
ーシヨンを禁止するいわゆるDNULL指定情報の
デコード信号である)が入力される例えばアンド
ゲートであり、信号EBSY、信号18の少なくと
もいずれか一方が有効(論理“0”)である期間
中、システムクロツクCLKを第2タイミングク
ロツクCLK2としてレジスタフアイル13に出
力するのを抑止する。
システムクロツク)で終了せず、多クロツクに渡
る場合には、制御回路24iから信号EBSY(論
理“0”で有効)がEBSYライン50上に送出さ
れる。EBSYライン50上の信号EBSYは制御部
10内の抑止回路14に供給される。抑止回路1
4にはMIRA12にマイクロ命令を置数するため
の第1タイミングクロツクCLK1の出力を制御
する抑止ゲート(以下、Aと称する)15と、レ
ジスタフアイル13にデータを書き込むための第
2タイミングクロツクCLK2の出力を制御する
A(抑止ゲート)16とが設けられている。A1
5はシステムクロツクCLK、抑止条件としての
上記信号EBSY、信号17(この信号はメモリビ
ジー信号であるが本発明に直接関係しないので説
明を省略する)が入力される例えばアンドゲート
であり、信号EBSY、信号17の少なくともいず
れか一方が有効(論理“0”)である期間中、シ
ステムクロツクCLKを第1タイミングクロツク
CLK1としてMIRA12に出力するのを抑止す
る。したがつて、上述のように演算要素20iの
制御回路24iからの論理“0”の信号EBSYが
EBSYライン50上に送出されると、A15の働
きにより第1タイミングクロツクCLK1がMIRA
12に供給されるのが抑止され、次のマイクロ命
令のMIRA12への取り込み、すなわち次のマイ
クロ命令の実行が禁止される。また、A16はシ
ステムクロツクCLK、抑止条件としての上記信
号EBSY、信号18(この信号は演算結果のレジ
スタフアイル13への格納、すなわちデステイネ
ーシヨンを禁止するいわゆるDNULL指定情報の
デコード信号である)が入力される例えばアンド
ゲートであり、信号EBSY、信号18の少なくと
もいずれか一方が有効(論理“0”)である期間
中、システムクロツクCLKを第2タイミングク
ロツクCLK2としてレジスタフアイル13に出
力するのを抑止する。
第3図は上述した従来例の動作を示すタイミン
グチヤートであり、マイクロ命令M1、マイクロ
命令M2、マイクロ命令M3の順でマイクロ命令
が実行される場合が示されている。この場合、マ
イクロ命令M1は演算処理に複数クロツク分を必
要とする命令、例えば乗算命令である。そして、
マイクロ命令M1では、乗算結果がレジスタフア
イル13に取り込まれないように前述した
DNULL指定がされている。この例では、上記乗
算結果は次のマイクロ命令M2の指定に従つてレ
ジスタフアイル13に格納されるようになつてい
る。前述した説明から明らかなように、複数クロ
ツクを要するマイクロ命令M1を実行する場合、
有効な信号EBSYが該当する演算要素20iの制
御回路24i(この例では命令M1は乗算命令で
あり、従つて乗算機能を有する演算要素、例えば
演算要素201の制御回路である)から出力され
る(第3図のフローチヤート参照)。この信号
EBSYはマイクロ命令M1の処理期間中、出力さ
れており、当該マイクロ命令M1がクロツク1か
らクロツク6までの6クロツクを要する場合、こ
の6クロツクの期間中、抑止回路14(のA1
5,16)の抑止機能が働く。この結果、第3図
のフローチヤートに示されるように第1タイミン
グクロツクCLK1の出力が抑止され、制御記憶
11から読み出される次のマイクロ命令M2が
MIRA12に置数されることが禁止される。すな
わち信号EBSYに基づく抑止回路14の働きによ
つて他のマイクロ命令の実行が禁示される。そし
て、マイクロ命令M1の処理が終了するシステム
クロツクCLKのクロツク6の或る時点におい
て、制御回路24iが信号EBSYの状態を論理
“1”に戻すと、A15は抑止状態から解放さ
れ、クロツク7以降A15から第1タイミングク
ロツクCLK1が再び出力される(第3図参照)。
一方、A16には、マイクロ命令M1による
DNULL指定に対応したデコード信号18が入力
されており、したがつてA16が抑止状態から解
放されてA16から第2タイミングクロツク
CLK2が出力されるのは、次のマイクロ命令M
2が実行されるクロツク(クロツク7)の次のク
ロツクからとなる。
グチヤートであり、マイクロ命令M1、マイクロ
命令M2、マイクロ命令M3の順でマイクロ命令
が実行される場合が示されている。この場合、マ
イクロ命令M1は演算処理に複数クロツク分を必
要とする命令、例えば乗算命令である。そして、
マイクロ命令M1では、乗算結果がレジスタフア
イル13に取り込まれないように前述した
DNULL指定がされている。この例では、上記乗
算結果は次のマイクロ命令M2の指定に従つてレ
ジスタフアイル13に格納されるようになつてい
る。前述した説明から明らかなように、複数クロ
ツクを要するマイクロ命令M1を実行する場合、
有効な信号EBSYが該当する演算要素20iの制
御回路24i(この例では命令M1は乗算命令で
あり、従つて乗算機能を有する演算要素、例えば
演算要素201の制御回路である)から出力され
る(第3図のフローチヤート参照)。この信号
EBSYはマイクロ命令M1の処理期間中、出力さ
れており、当該マイクロ命令M1がクロツク1か
らクロツク6までの6クロツクを要する場合、こ
の6クロツクの期間中、抑止回路14(のA1
5,16)の抑止機能が働く。この結果、第3図
のフローチヤートに示されるように第1タイミン
グクロツクCLK1の出力が抑止され、制御記憶
11から読み出される次のマイクロ命令M2が
MIRA12に置数されることが禁止される。すな
わち信号EBSYに基づく抑止回路14の働きによ
つて他のマイクロ命令の実行が禁示される。そし
て、マイクロ命令M1の処理が終了するシステム
クロツクCLKのクロツク6の或る時点におい
て、制御回路24iが信号EBSYの状態を論理
“1”に戻すと、A15は抑止状態から解放さ
れ、クロツク7以降A15から第1タイミングク
ロツクCLK1が再び出力される(第3図参照)。
一方、A16には、マイクロ命令M1による
DNULL指定に対応したデコード信号18が入力
されており、したがつてA16が抑止状態から解
放されてA16から第2タイミングクロツク
CLK2が出力されるのは、次のマイクロ命令M
2が実行されるクロツク(クロツク7)の次のク
ロツクからとなる。
以上の説明から明らかなように、従来の演算制
御装置では、複数クロツクを要するマイクロ命令
の実行処理中は、信号EBSYによつて抑止回路1
4が働き、後続するマイクロ命令が実行されるこ
とが禁止される。これは、後続するマイクロ命令
が例えば上記複数クロツクを要するマイクロ命令
の実行結果を用いる命令の場合などに有効であ
る。ところで、複数クロツクを要するマイクロ命
令の実行中に他のマイクロ命令が実行されること
を禁止するためには、制御記憶11において複数
クロツクを要するマイクロ命令の後にダミーのマ
イクロ命令(例えばNOPマイクロ命令すなわち
ノーオペレーシヨンマイクロ命令)を幾つか挿入
するようにしてもよい。こうすることにより抑止
回路14を不要とすることができる。しかし、上
述のようにダミーのマイクロ命令を制御記憶11
内の各所に挿入しなければならないため、制御記
憶11の記憶容量が大きくなつてしまう不都合が
生じる。
御装置では、複数クロツクを要するマイクロ命令
の実行処理中は、信号EBSYによつて抑止回路1
4が働き、後続するマイクロ命令が実行されるこ
とが禁止される。これは、後続するマイクロ命令
が例えば上記複数クロツクを要するマイクロ命令
の実行結果を用いる命令の場合などに有効であ
る。ところで、複数クロツクを要するマイクロ命
令の実行中に他のマイクロ命令が実行されること
を禁止するためには、制御記憶11において複数
クロツクを要するマイクロ命令の後にダミーのマ
イクロ命令(例えばNOPマイクロ命令すなわち
ノーオペレーシヨンマイクロ命令)を幾つか挿入
するようにしてもよい。こうすることにより抑止
回路14を不要とすることができる。しかし、上
述のようにダミーのマイクロ命令を制御記憶11
内の各所に挿入しなければならないため、制御記
憶11の記憶容量が大きくなつてしまう不都合が
生じる。
このように従来の演算制御装置では、抑止回路
14を設け、複数クロツクを必要とするマイクロ
命令の実行中に抑止回路14の抑止機能が働くよ
うな構成とすることにより、上述したダミーのマ
イクロ命令を制御記憶11内の各所に挿入するこ
となくすなわち制御記憶11の記憶容量を大きく
することなく、複数クロツクを必要とするマイク
ロ命令の実行中に他のマイクロ命令が実行されて
正しい演算結果が得られなくなることを防止する
ようにしていた。
14を設け、複数クロツクを必要とするマイクロ
命令の実行中に抑止回路14の抑止機能が働くよ
うな構成とすることにより、上述したダミーのマ
イクロ命令を制御記憶11内の各所に挿入するこ
となくすなわち制御記憶11の記憶容量を大きく
することなく、複数クロツクを必要とするマイク
ロ命令の実行中に他のマイクロ命令が実行されて
正しい演算結果が得られなくなることを防止する
ようにしていた。
しかし、従来の演算制御装置では、上述の効果
はあるものの、抑止回路14の抑止機能により、
複数クロツクを必要とするマイクロ命令の実行期
間中は、例え後続するマイクロ命令との並列動作
が可能なサイクルが存在したとしても、他のマイ
クロ命令は完全に実行禁止となる欠点があつた。
このため、他の演算要素は休止状態となり、貴重
なハードウエア資源が有効に使用されないと共
に、処理速度の高速化を図ることが困難であつ
た。
はあるものの、抑止回路14の抑止機能により、
複数クロツクを必要とするマイクロ命令の実行期
間中は、例え後続するマイクロ命令との並列動作
が可能なサイクルが存在したとしても、他のマイ
クロ命令は完全に実行禁止となる欠点があつた。
このため、他の演算要素は休止状態となり、貴重
なハードウエア資源が有効に使用されないと共
に、処理速度の高速化を図ることが困難であつ
た。
本発明は上記事情に鑑みてなされたものでその
目的は、複数クロツクを要するマイクロ命令の実
行期間中において、当該マイクロ命令との並列動
作が不可能なサイクルには抑止回路の働きによつ
てダミーのマイクロ命令の挿入などを行なわなく
ても他のマイクロ命令の実行を禁止することがで
き、上記並列動作が可能なサイクルには極めて簡
単に抑止回路の働きを解徐して他のマイクロ命令
との並列処理が行なえ、もつて演算処理の高速化
が図れる演算制御装置を提供することにある。
目的は、複数クロツクを要するマイクロ命令の実
行期間中において、当該マイクロ命令との並列動
作が不可能なサイクルには抑止回路の働きによつ
てダミーのマイクロ命令の挿入などを行なわなく
ても他のマイクロ命令の実行を禁止することがで
き、上記並列動作が可能なサイクルには極めて簡
単に抑止回路の働きを解徐して他のマイクロ命令
との並列処理が行なえ、もつて演算処理の高速化
が図れる演算制御装置を提供することにある。
本発明は、複数クロツクを要するマイクロ命令
の実行期間中に対応する演算要素から出力される
信号EBSY(抑止信号)が抑止回路に供給され、
これによつてシステムクロツクに同期した第1タ
イミング信号CLK1がマイクロ命令レジスタ
(MIRA12)に出力されることが抑止され、次
のマイクロ命令が上記複数クロツクを要するマイ
クロ命令と並列に処理されることを禁止するよう
に構成されている演算制御装置において、抑止回
路の前段に抑止制御回路を設け、演算要素から出
力される信号が上記抑止回路に供給されることを
制御することにしたものである。そして、本発明
では、この制御条件をマイクロ命令バス上のマイ
クロ命令の所定フイールドで与えることにより、
マイクロ命令レベルで抑止回路の抑止動作並びに
抑止解除を指定するようにしている。
の実行期間中に対応する演算要素から出力される
信号EBSY(抑止信号)が抑止回路に供給され、
これによつてシステムクロツクに同期した第1タ
イミング信号CLK1がマイクロ命令レジスタ
(MIRA12)に出力されることが抑止され、次
のマイクロ命令が上記複数クロツクを要するマイ
クロ命令と並列に処理されることを禁止するよう
に構成されている演算制御装置において、抑止回
路の前段に抑止制御回路を設け、演算要素から出
力される信号が上記抑止回路に供給されることを
制御することにしたものである。そして、本発明
では、この制御条件をマイクロ命令バス上のマイ
クロ命令の所定フイールドで与えることにより、
マイクロ命令レベルで抑止回路の抑止動作並びに
抑止解除を指定するようにしている。
以下、本発明の一実施例を図面を参照して説明
する。なお、第2図と同一部分には同一符号を付
して詳細な説明を省略する。第4図において10
0は制御部である。制御部100は従来例の制御
部10と基本構成はほぼ同様である。制御部10
0の制御部10と異なる点はEBSYライン50と
抑止回路14との間に介挿された抑止制御回路2
00を備えていることである。抑止制御回路20
0にはデコーダ201、インバータ(以下、Iと
称する)202、およびナンドゲート(以下、N
と称する)203が設けられている。デコーダ2
01はマイクロ命令バス30上のマイクロ命令の
所定フイールド例えばCMDフイールドの内容を
デコードし、当該CMDフイールドで後述するビ
ジーキヤンセル指定(以下、BCAN指定と称す
る)が定義されている場合有効(論理“0”)な
抑止解除信号204を出力する。I202は
EBSYライン50上の信号EBSYのレベルを反転
する。I202の出力およびデコーダ201の出
力(抑止解除信号204)はN203に入力さ
れ、N203の出力は第2図の信号EBSYに代わ
る信号EBSY1として抑止回路14に入力され
る。なお、第4図では演算要素は第2図と同様に
符号20iで示されているが、第1図と同様に演
算要素201,202,………20nがマイクロ
命令バス30、データバス40、EBSYライン5
0に接続されているものとする。そして、これら
の演算要素201〜20oの一つを演算要素20
iとして代表させているものとする。
する。なお、第2図と同一部分には同一符号を付
して詳細な説明を省略する。第4図において10
0は制御部である。制御部100は従来例の制御
部10と基本構成はほぼ同様である。制御部10
0の制御部10と異なる点はEBSYライン50と
抑止回路14との間に介挿された抑止制御回路2
00を備えていることである。抑止制御回路20
0にはデコーダ201、インバータ(以下、Iと
称する)202、およびナンドゲート(以下、N
と称する)203が設けられている。デコーダ2
01はマイクロ命令バス30上のマイクロ命令の
所定フイールド例えばCMDフイールドの内容を
デコードし、当該CMDフイールドで後述するビ
ジーキヤンセル指定(以下、BCAN指定と称す
る)が定義されている場合有効(論理“0”)な
抑止解除信号204を出力する。I202は
EBSYライン50上の信号EBSYのレベルを反転
する。I202の出力およびデコーダ201の出
力(抑止解除信号204)はN203に入力さ
れ、N203の出力は第2図の信号EBSYに代わ
る信号EBSY1として抑止回路14に入力され
る。なお、第4図では演算要素は第2図と同様に
符号20iで示されているが、第1図と同様に演
算要素201,202,………20nがマイクロ
命令バス30、データバス40、EBSYライン5
0に接続されているものとする。そして、これら
の演算要素201〜20oの一つを演算要素20
iとして代表させているものとする。
第5図は本発明の一実施例で適用されるマイク
ロ命令のフオーマツトの一部を示すもので、ES
は複数個の演算要素の一つを選択指定するための
フイールドである。Fは選択指定した演算要素の
演算モードを指定するフイールド、Rはデータが
格納されるレジスタフアイル13の中のレジスタ
を指定するフイールドである。Rフイールドは演
算結果の格納先レジスタを指定するD(デステイ
ネーシヨン)フイールド、演算すべきデータ(ソ
ースデータ)の格納先レジスタを指定するB並び
にAフイールドから成つている。CMDは各種の
ハードウエア制御を司るフイールドであり、例え
ば制御フリツプフロツプのセツト/リセツトや主
メモリ(いずれも図示せず)に対する読み出し/
書き込みの指定等に使用される。またCMDは前
述したようにBCAN指定にも使用される。この
BCAN指定は、複数クロツクを要するマイクロ命
令の実行期間中に該当演算要素20i(の制御回
路24i)から出力される有効な信号EBSYの無
効化を指示するものである。
ロ命令のフオーマツトの一部を示すもので、ES
は複数個の演算要素の一つを選択指定するための
フイールドである。Fは選択指定した演算要素の
演算モードを指定するフイールド、Rはデータが
格納されるレジスタフアイル13の中のレジスタ
を指定するフイールドである。Rフイールドは演
算結果の格納先レジスタを指定するD(デステイ
ネーシヨン)フイールド、演算すべきデータ(ソ
ースデータ)の格納先レジスタを指定するB並び
にAフイールドから成つている。CMDは各種の
ハードウエア制御を司るフイールドであり、例え
ば制御フリツプフロツプのセツト/リセツトや主
メモリ(いずれも図示せず)に対する読み出し/
書き込みの指定等に使用される。またCMDは前
述したようにBCAN指定にも使用される。この
BCAN指定は、複数クロツクを要するマイクロ命
令の実行期間中に該当演算要素20i(の制御回
路24i)から出力される有効な信号EBSYの無
効化を指示するものである。
次に本発明の一実施例の動作を第6図のタイミ
ングチヤートを参照して説明する。第6図のマイ
クロ命令バス30の内容として示されているマイ
クロ命令M1,M2,M3については基本的に従
来例で説明したマイクロ命令と同じものとする。
ただし、本実施例では、マイクロ命令M1の
CMDフイールドでBCAN指令がなされている点
が従来例と異なつている。今、制御記憶11から
読み出されたマイクロ命令M1が、システムクロ
ツクCLKのクロツク1に同期した第1タイミン
グクロツクCLK1によつて従来例と同様にMIRA
12に置数されたものとする。MIRA12に置数
されたマイクロ命令M1は第6図のフローチヤー
トに示されているようにマイクロ命令バス30上
に送出される。このマイクロ命令M1は従来例で
示したように複数クロツクを要する乗算命令であ
り、例えば演算要素20i(i=1)で処理され
る。
ングチヤートを参照して説明する。第6図のマイ
クロ命令バス30の内容として示されているマイ
クロ命令M1,M2,M3については基本的に従
来例で説明したマイクロ命令と同じものとする。
ただし、本実施例では、マイクロ命令M1の
CMDフイールドでBCAN指令がなされている点
が従来例と異なつている。今、制御記憶11から
読み出されたマイクロ命令M1が、システムクロ
ツクCLKのクロツク1に同期した第1タイミン
グクロツクCLK1によつて従来例と同様にMIRA
12に置数されたものとする。MIRA12に置数
されたマイクロ命令M1は第6図のフローチヤー
トに示されているようにマイクロ命令バス30上
に送出される。このマイクロ命令M1は従来例で
示したように複数クロツクを要する乗算命令であ
り、例えば演算要素20i(i=1)で処理され
る。
マイクロ命令M1がマイクロ命令バス30上に
送出されると、当該マイクロ命令M1のBフイー
ルド、Aフイールドで被乗数、乗数が格納される
レジスタフアイル13の各レジスタが指定され
る。一方、Dフイールドでは従来例と同様に
DNULL指定がなされており、乗算結果の格納が
禁止されている。本実施例において、この(マイ
クロ命令M1の実行による)乗算結果は、従来例
と同様にマイクロ命令M2を実行することでレジ
スタフアイル13内に格納されるようになつてい
る。また、マイクロ命令M1のCMDフイールド
ではBCAN指定が定義されている。抑止制御回路
200内のデコーダはマイクロ命令バス30上の
マイクロ命令のCMDフイールドの内容をデコー
ドしており、当該CMDフイールドでBCAN指定
が定義されている場合、論理“0”の有効な抑止
解除信号204を出力する。また、マイクロ命令
M1のESフイールドで例えば演算要素20i
(i=1)が指定され、Fフイールドで乗算が指
定される。
送出されると、当該マイクロ命令M1のBフイー
ルド、Aフイールドで被乗数、乗数が格納される
レジスタフアイル13の各レジスタが指定され
る。一方、Dフイールドでは従来例と同様に
DNULL指定がなされており、乗算結果の格納が
禁止されている。本実施例において、この(マイ
クロ命令M1の実行による)乗算結果は、従来例
と同様にマイクロ命令M2を実行することでレジ
スタフアイル13内に格納されるようになつてい
る。また、マイクロ命令M1のCMDフイールド
ではBCAN指定が定義されている。抑止制御回路
200内のデコーダはマイクロ命令バス30上の
マイクロ命令のCMDフイールドの内容をデコー
ドしており、当該CMDフイールドでBCAN指定
が定義されている場合、論理“0”の有効な抑止
解除信号204を出力する。また、マイクロ命令
M1のESフイールドで例えば演算要素20i
(i=1)が指定され、Fフイールドで乗算が指
定される。
演算要素20i(i=1)がマイクロ命令M1
のESフイールドで指定されて起動され、動作を
開始すると演算要素20i(i=1)内の制御回
路24i(i=1)から第6図に示されるように
論理“0”の有効な信号EBSYが出力される。こ
の信号EBSYはEBSY50を介して抑止制御回路
200内のI202に入力され、I202でレベ
ル反転されてN203の一方の入力端子に入力さ
れる。N203の他方の入力端子にはデコーダ2
04の出力である抑止解除信号204が入力され
ている。CMDフイールドでBCAN指定されてい
るマイクロ命令M1がマイクロ命令バス30上に
送出されている場合、上記抑止解除信号204は
論理“0”(有効)であり、したがつてN203
の出力(信号EBSY1)はI202の出力の状態
に無関係に論理“1”となる。すなわち、マイク
ロ命令のCMDフイールドでBCAN指定が定義さ
れている場合、当該マイクロ命令のCMDフイー
ルドがデコーダ201でデコードされることによ
り、たとえ演算要素20iから論理“1”の有効
な信号EBSYが出力されていても、この論理
“0”の信号EBSYがそのまま論理“0”の信号
EBSY1として抑止回路14に供給されることが
禁止される。この結果、抑止回路14の抑止機能
が一部解除され、次のクロツク2においてA15
からシステムクロツクCLKに同期した第1タイ
ミングクロツクCLK1が出力される(第6図参
照)。これにより制御記憶11から読み出されて
いる次のマイクロ命令m1がMIRA12に置数さ
れる。一方、マイクロ命令M1のDNULL指定に
より信号18が有効(論理“0”)となつている
ため、A16の抑止条件は完全には解除されず、
第5図に示されるように第2タイミングクロツク
CLK2の出力は抑止される。
のESフイールドで指定されて起動され、動作を
開始すると演算要素20i(i=1)内の制御回
路24i(i=1)から第6図に示されるように
論理“0”の有効な信号EBSYが出力される。こ
の信号EBSYはEBSY50を介して抑止制御回路
200内のI202に入力され、I202でレベ
ル反転されてN203の一方の入力端子に入力さ
れる。N203の他方の入力端子にはデコーダ2
04の出力である抑止解除信号204が入力され
ている。CMDフイールドでBCAN指定されてい
るマイクロ命令M1がマイクロ命令バス30上に
送出されている場合、上記抑止解除信号204は
論理“0”(有効)であり、したがつてN203
の出力(信号EBSY1)はI202の出力の状態
に無関係に論理“1”となる。すなわち、マイク
ロ命令のCMDフイールドでBCAN指定が定義さ
れている場合、当該マイクロ命令のCMDフイー
ルドがデコーダ201でデコードされることによ
り、たとえ演算要素20iから論理“1”の有効
な信号EBSYが出力されていても、この論理
“0”の信号EBSYがそのまま論理“0”の信号
EBSY1として抑止回路14に供給されることが
禁止される。この結果、抑止回路14の抑止機能
が一部解除され、次のクロツク2においてA15
からシステムクロツクCLKに同期した第1タイ
ミングクロツクCLK1が出力される(第6図参
照)。これにより制御記憶11から読み出されて
いる次のマイクロ命令m1がMIRA12に置数さ
れる。一方、マイクロ命令M1のDNULL指定に
より信号18が有効(論理“0”)となつている
ため、A16の抑止条件は完全には解除されず、
第5図に示されるように第2タイミングクロツク
CLK2の出力は抑止される。
本実施例において制御記憶11におけるマイク
ロ命令M1が格納されている位置の後続する位置
には、マイクロ命令m1、マイクロ命令m2、マ
イクロ命令m3、マイクロ命令m4、マイクロ命
令M2、マイクロ命令M3………が順に格納され
ている。上記マイクロ命令m1〜m3は複数クロ
ツクを要するマイクロ命令M1実行中に休止状態
にある他の演算要素例えば演算要素20i(i=
n)を動作させる命令である。更にマイクロ命令
m1〜m3はそれぞれCMDフイールドでBCAN
指定されている。
ロ命令M1が格納されている位置の後続する位置
には、マイクロ命令m1、マイクロ命令m2、マ
イクロ命令m3、マイクロ命令m4、マイクロ命
令M2、マイクロ命令M3………が順に格納され
ている。上記マイクロ命令m1〜m3は複数クロ
ツクを要するマイクロ命令M1実行中に休止状態
にある他の演算要素例えば演算要素20i(i=
n)を動作させる命令である。更にマイクロ命令
m1〜m3はそれぞれCMDフイールドでBCAN
指定されている。
前述したように演算要素20i(i=1)から
論理“0”の信号EBSYが出力されているにもか
かわらず、クロツク2においてMIRA12に置数
されたマイクロ命令m1はマイクロ命令バス30
上に送出される。これにより演算要素20i(i
=n)が選択され、演算要素20i(i=n)に
おいてマイクロ命令m1が実行される。このと
き、演算要素20i(i=1)においてマイクロ
命令M1が実行されていることは勿論である。上
記マイクロ命令m1は上述したようにこのCMD
フイールドでBCAN指定されているため、少なく
とも次のマイクロ命令がマイクロ命令バス30上
に送出されるまで、抑止制御回路200は論理
“0”の有効な信号EBSYがそのまま論理“0”
の信号EBSY1として抑止回路14に供給される
ことを禁止する。この結果、次のクロツク3にお
いてマイクロ命令m2が、同様にクロツク4にお
いてマイクロ命令m3が演算要素20i(i=
n)で実行される。また、同じくクロツク5では
マイクロ命令m4がMIRA12に置数されてマイ
クロ命令バス30上に送出される。このマイクロ
命令m4はマイクロ命令M1と同様にDNULL指
定された命令であり、タイミングの調整用に実行
される。ただし、DNULL指定が可能であれば、
すなわち比較命令などのように演算結果をレジス
タフアイル13に取り込む必要がないマイクロ命
令であれば、マイクロ命令m4も他のマイクロ命
令m1〜m3と同様に並列演算としての意味をも
つ。
論理“0”の信号EBSYが出力されているにもか
かわらず、クロツク2においてMIRA12に置数
されたマイクロ命令m1はマイクロ命令バス30
上に送出される。これにより演算要素20i(i
=n)が選択され、演算要素20i(i=n)に
おいてマイクロ命令m1が実行される。このと
き、演算要素20i(i=1)においてマイクロ
命令M1が実行されていることは勿論である。上
記マイクロ命令m1は上述したようにこのCMD
フイールドでBCAN指定されているため、少なく
とも次のマイクロ命令がマイクロ命令バス30上
に送出されるまで、抑止制御回路200は論理
“0”の有効な信号EBSYがそのまま論理“0”
の信号EBSY1として抑止回路14に供給される
ことを禁止する。この結果、次のクロツク3にお
いてマイクロ命令m2が、同様にクロツク4にお
いてマイクロ命令m3が演算要素20i(i=
n)で実行される。また、同じくクロツク5では
マイクロ命令m4がMIRA12に置数されてマイ
クロ命令バス30上に送出される。このマイクロ
命令m4はマイクロ命令M1と同様にDNULL指
定された命令であり、タイミングの調整用に実行
される。ただし、DNULL指定が可能であれば、
すなわち比較命令などのように演算結果をレジス
タフアイル13に取り込む必要がないマイクロ命
令であれば、マイクロ命令m4も他のマイクロ命
令m1〜m3と同様に並列演算としての意味をも
つ。
マイクロ命令m4はそのCMDフイールドで
BCAN指定がなされていない。この結果、当該マ
イクロ命令m4がマイクロ命令バス30上に送出
されるようになると、抑止制御回路200内のデ
コーダ201の出力である抑止解除信号204が
論理“1”となる。これにより論理“0”の有効
な信号EBSYはそのまま論理“0”の信号EBSY
1として抑止回路14に供給され、少なくとも次
のクロツク6における第1タイミングクロツク
CLK1、第2タイミングクロツクCLK2の出力
が抑止される。このため、クロツク6ではマイク
ロ命令m4の次の命令(この例ではマイクロ命令
M2)の実行は行なわれず、正しくタイミング
(時間)調整が行なわれる。すなわちダミーのマ
イクロ命令を挿入することなく信号EBSYに従つ
てタイミング調整が行なわれる。そして、クロツ
ク6において、マイクロ命令M1の実行終了前に
演算要素20i(i=1)によつて信号EBSYが
論理“1”にされる。これにより第6図に示され
るように信号EBSY1も論理“1”となり、抑止
回路14に対する一つの抑止条件が解除される。
この結果、クロツク7において第1タイミングク
ロツクCLK1が出力され、マイクロ命令M2が
MIRA12に置数される。
BCAN指定がなされていない。この結果、当該マ
イクロ命令m4がマイクロ命令バス30上に送出
されるようになると、抑止制御回路200内のデ
コーダ201の出力である抑止解除信号204が
論理“1”となる。これにより論理“0”の有効
な信号EBSYはそのまま論理“0”の信号EBSY
1として抑止回路14に供給され、少なくとも次
のクロツク6における第1タイミングクロツク
CLK1、第2タイミングクロツクCLK2の出力
が抑止される。このため、クロツク6ではマイク
ロ命令m4の次の命令(この例ではマイクロ命令
M2)の実行は行なわれず、正しくタイミング
(時間)調整が行なわれる。すなわちダミーのマ
イクロ命令を挿入することなく信号EBSYに従つ
てタイミング調整が行なわれる。そして、クロツ
ク6において、マイクロ命令M1の実行終了前に
演算要素20i(i=1)によつて信号EBSYが
論理“1”にされる。これにより第6図に示され
るように信号EBSY1も論理“1”となり、抑止
回路14に対する一つの抑止条件が解除される。
この結果、クロツク7において第1タイミングク
ロツクCLK1が出力され、マイクロ命令M2が
MIRA12に置数される。
次に本発明の他の実施例を第7図のブロツク
図、第8図のタイミングチヤートを参照して説明
する。第7図は前記実施例における抑止制御回路
200と同様の機能を有する抑止制御回路のブロ
ツク図である。本発明の他の実施例の説明におい
て抑止制御回路300以外の部分が必要となる場
合には、第4図の抑止制御回路200を抑止制御
回路300に置き換え、第4図をも参照しながら
説明する。すなわち、本発明の他の実施例の前記
実施例と異なる構成は、抑止制御回路の内部構成
である。第7図において第4図と同一部分には同
一符号を付して詳細な説明は省略する。図中30
1はデコーダである。デコーダ301はマイクロ
命令バス30上のマイクロ命令のCMDフイール
ドの内容をデコードする。本実施例ではマイクロ
命令のCMDフイールドに2つの指令を定義して
いる。一つはフリツプフロツプセツト指定(以
下、F/Fセツト指定と称する)であり、他の一
つはフリツプフロツプリセツト指定(以下F/F
リセツト指定と称する)である。デコーダ301
は上記CMDフイールドでF/Fセツト指定が定
義されている場合にセツト信号SETを出力し、
同じくF/Fリセツト指定が定義されている場合
にリセツト信号RESETを出力する。302はJK
フリツプフロツプなどのフリツプフロツプ(以
下、F/Fと称する)である。F/F302はデ
コーダ301からセツト信号SETが出力されて
いる場合、システムクロツクCLKの例えば立下
りでセツトされる。またF/F302はセツト状
態においてデコーダ301からリセツト信号
RESETが出力されている場合、システムクロツ
クCLKの立下りでリセツトされる。F/F30
2の出力は(第4図のデコーダ200の出力と
同じ)抑止解除信号204として用いられる。
図、第8図のタイミングチヤートを参照して説明
する。第7図は前記実施例における抑止制御回路
200と同様の機能を有する抑止制御回路のブロ
ツク図である。本発明の他の実施例の説明におい
て抑止制御回路300以外の部分が必要となる場
合には、第4図の抑止制御回路200を抑止制御
回路300に置き換え、第4図をも参照しながら
説明する。すなわち、本発明の他の実施例の前記
実施例と異なる構成は、抑止制御回路の内部構成
である。第7図において第4図と同一部分には同
一符号を付して詳細な説明は省略する。図中30
1はデコーダである。デコーダ301はマイクロ
命令バス30上のマイクロ命令のCMDフイール
ドの内容をデコードする。本実施例ではマイクロ
命令のCMDフイールドに2つの指令を定義して
いる。一つはフリツプフロツプセツト指定(以
下、F/Fセツト指定と称する)であり、他の一
つはフリツプフロツプリセツト指定(以下F/F
リセツト指定と称する)である。デコーダ301
は上記CMDフイールドでF/Fセツト指定が定
義されている場合にセツト信号SETを出力し、
同じくF/Fリセツト指定が定義されている場合
にリセツト信号RESETを出力する。302はJK
フリツプフロツプなどのフリツプフロツプ(以
下、F/Fと称する)である。F/F302はデ
コーダ301からセツト信号SETが出力されて
いる場合、システムクロツクCLKの例えば立下
りでセツトされる。またF/F302はセツト状
態においてデコーダ301からリセツト信号
RESETが出力されている場合、システムクロツ
クCLKの立下りでリセツトされる。F/F30
2の出力は(第4図のデコーダ200の出力と
同じ)抑止解除信号204として用いられる。
今、制御記憶11における連続する領域に、マ
イクロ命令M1,m1,m2,m3,M2,M3
が順に格納されているものとする。また、これら
のマイクロ命令は基本的に前記実施例のマイクロ
命令M1,m1,m2,m3,M2,M3とほぼ
同じものとする。ただし、本実施例のマイクロ命
令M1はCMDフイールドでF/Fセツト指定が
定義され、同じくマイクロ命令m2はCMDフイ
ールドでF/Fリセツト指定が定義されている。
また本実施例はCMDフイールドでBCAN指定を
定義することは行なつていない。また、本実施例
のマイクロ命令m3はDNULL指定が定義されて
いる。
イクロ命令M1,m1,m2,m3,M2,M3
が順に格納されているものとする。また、これら
のマイクロ命令は基本的に前記実施例のマイクロ
命令M1,m1,m2,m3,M2,M3とほぼ
同じものとする。ただし、本実施例のマイクロ命
令M1はCMDフイールドでF/Fセツト指定が
定義され、同じくマイクロ命令m2はCMDフイ
ールドでF/Fリセツト指定が定義されている。
また本実施例はCMDフイールドでBCAN指定を
定義することは行なつていない。また、本実施例
のマイクロ命令m3はDNULL指定が定義されて
いる。
第8図に示されているように複数クロツクを要
するマイクロ命令M1がクロツク1でマイクロ命
令バス30上に送出されたものとする。このマイ
クロ命令M1は乗算命令であり前記実施例と同様
に演算要素20i(i=1)で命令実行が行なわ
れる。演算要素20i(i=1)内の制御回路2
4i(i=1)は、マイクロ命命M1が複数クロ
ツクを要する命令であることから、論理“0”の
有効な信号EBSYをEBSYライン50上に送出す
る(第8図参照)。
するマイクロ命令M1がクロツク1でマイクロ命
令バス30上に送出されたものとする。このマイ
クロ命令M1は乗算命令であり前記実施例と同様
に演算要素20i(i=1)で命令実行が行なわ
れる。演算要素20i(i=1)内の制御回路2
4i(i=1)は、マイクロ命命M1が複数クロ
ツクを要する命令であることから、論理“0”の
有効な信号EBSYをEBSYライン50上に送出す
る(第8図参照)。
マイクロ命令M1のCMDフイールドでは、上
述したようにF/Fセツト指定が定義されてい
る。したがつて、抑止制御回路300内のデコー
ダ301はマイクロ命令バス30上のマイクロ命
令M1のCMDフイールドのデコード結果として
セツト信号SETを出力する。この結果、F/F
302は次のクロツク2の立下りのタイミングで
セツトされ、出力端子より論理“0”の抑止解
除信号204を出力する。これにより、演算要素
20i(i=1)から出力されている論理“0”
の信号EBSYがそのまま論理“0”の信号EBSY
1として抑止回路14に供給されることが禁示さ
れる(第8図参照)。この状態はF/F302が
リセツトされ、抑止解除信号204が論理“1”
となるまで続く。このため、マイクロ命令M1に
後続するマイクロ命令m1〜m3のマイクロ命令
M1との並列実行が可能となる。マイクロ命令m
2のCMDフイールドでは前述したようにF/F
リセツト指定が定義されている。したがつてマイ
クロ命令m2がマイクロ命令バス30上に送出さ
れた場合、当該マイクロ命令m2のCMDフイー
ルドのデコード結果としてリセツト信号RESET
を出力する。この結果F/F302は次のクロツ
ク5の立下りのタイミングでリセツトされる。こ
れにより抑止解除信号204は論理“1”とな
り、論理“0”の信号EBSYがそのまま論理
“0”の信号EBSY1として抑止回路14に供給
される。このため、抑止回路14の抑止機能が働
き、次のクロツク6におけるマイクロ命令の取り
込みが禁止される。クロツク5ではDNULL指定
のマイクロ命令m3がマイクロ命令M1と並列に
実行されており、当該マイクロ命令m3は信号
EBSYが論理“1”となつて(すなわちマイクロ
命令M1の実行が終了して)次のクロツクで後続
するマイクロ命令(この例ではマイクロ命令M
2)が取り出されるまでのタイミング調整に実行
される。
述したようにF/Fセツト指定が定義されてい
る。したがつて、抑止制御回路300内のデコー
ダ301はマイクロ命令バス30上のマイクロ命
令M1のCMDフイールドのデコード結果として
セツト信号SETを出力する。この結果、F/F
302は次のクロツク2の立下りのタイミングで
セツトされ、出力端子より論理“0”の抑止解
除信号204を出力する。これにより、演算要素
20i(i=1)から出力されている論理“0”
の信号EBSYがそのまま論理“0”の信号EBSY
1として抑止回路14に供給されることが禁示さ
れる(第8図参照)。この状態はF/F302が
リセツトされ、抑止解除信号204が論理“1”
となるまで続く。このため、マイクロ命令M1に
後続するマイクロ命令m1〜m3のマイクロ命令
M1との並列実行が可能となる。マイクロ命令m
2のCMDフイールドでは前述したようにF/F
リセツト指定が定義されている。したがつてマイ
クロ命令m2がマイクロ命令バス30上に送出さ
れた場合、当該マイクロ命令m2のCMDフイー
ルドのデコード結果としてリセツト信号RESET
を出力する。この結果F/F302は次のクロツ
ク5の立下りのタイミングでリセツトされる。こ
れにより抑止解除信号204は論理“1”とな
り、論理“0”の信号EBSYがそのまま論理
“0”の信号EBSY1として抑止回路14に供給
される。このため、抑止回路14の抑止機能が働
き、次のクロツク6におけるマイクロ命令の取り
込みが禁止される。クロツク5ではDNULL指定
のマイクロ命令m3がマイクロ命令M1と並列に
実行されており、当該マイクロ命令m3は信号
EBSYが論理“1”となつて(すなわちマイクロ
命令M1の実行が終了して)次のクロツクで後続
するマイクロ命令(この例ではマイクロ命令M
2)が取り出されるまでのタイミング調整に実行
される。
このように本発明の他の実施例によれば複数ク
ロツクを要するマイクロ命令M1のCMDフイー
ルドでF/Fセツト指定を定義しておくだけで、
後続する各マイクロ命令のCMDフイールドで特
別の指定(例えば前記実施例におけるBCAN指
定)を行うことなく、後続のマイクロ命令を並列
実行させることができる。したがつて本実施例に
よれば、複数クロツクを要するマイクロ命令と並
行して他のマイクロ命令を実行させる場合、ハー
ドウエア制御を司るCMDフイールドを演算制御
のために有効に利用することができる。
ロツクを要するマイクロ命令M1のCMDフイー
ルドでF/Fセツト指定を定義しておくだけで、
後続する各マイクロ命令のCMDフイールドで特
別の指定(例えば前記実施例におけるBCAN指
定)を行うことなく、後続のマイクロ命令を並列
実行させることができる。したがつて本実施例に
よれば、複数クロツクを要するマイクロ命令と並
行して他のマイクロ命令を実行させる場合、ハー
ドウエア制御を司るCMDフイールドを演算制御
のために有効に利用することができる。
以上詳述したように本発明の演算制御装置によ
れば、複数クロツクを要するマイクロ命令の実行
期間中において、当該マイクロ命令との並列動作
が不可能なサイクルには抑止回路の働きによつて
ダミーのマイクロ命令などを行なわなくても他の
マイクロ命令の実行を禁止することができ、上記
並列動作が可能なサイクルには極めて簡単に抑止
回路の働きを解除して他のマイクロ命令との並列
処理ができるので、演算処理の高速化が図れる。
れば、複数クロツクを要するマイクロ命令の実行
期間中において、当該マイクロ命令との並列動作
が不可能なサイクルには抑止回路の働きによつて
ダミーのマイクロ命令などを行なわなくても他の
マイクロ命令の実行を禁止することができ、上記
並列動作が可能なサイクルには極めて簡単に抑止
回路の働きを解除して他のマイクロ命令との並列
処理ができるので、演算処理の高速化が図れる。
第1図は一般的な演算制御装置の概略構成を示
すブロツク図、第2図は従来例を示すブロツク
図、第3図は従来例の動作を説明するためのタイ
ミングチヤート、第4図は本発明の一実施例を示
すブロツク図、第5図はマイクロ命令のフオーマ
ツトを示す図、第6図は上記実施例の動作を説明
するためのタイミングチヤート、第7図は本発明
の他の実施例を示すブロツク図、第8図は上記他
の実施例の動作を説明するためのタイミングチヤ
ートである。 10,100……制御部、11……制御記憶、
12……マイクロ命令レジスタ(MIRA)、13
……レジスタ群(レジスタフアイル)、14……
抑止回路、20i……演算要素、30……マイク
ロ命令バス、40……データバス、50……エレ
メントビジーライン(EBSYライン)、200,
300……抑止制御回路、201,301……デ
コーダ、203……ナンドゲート(N、ゲート回
路)、302……フリツプフロツプ(F/F)。
すブロツク図、第2図は従来例を示すブロツク
図、第3図は従来例の動作を説明するためのタイ
ミングチヤート、第4図は本発明の一実施例を示
すブロツク図、第5図はマイクロ命令のフオーマ
ツトを示す図、第6図は上記実施例の動作を説明
するためのタイミングチヤート、第7図は本発明
の他の実施例を示すブロツク図、第8図は上記他
の実施例の動作を説明するためのタイミングチヤ
ートである。 10,100……制御部、11……制御記憶、
12……マイクロ命令レジスタ(MIRA)、13
……レジスタ群(レジスタフアイル)、14……
抑止回路、20i……演算要素、30……マイク
ロ命令バス、40……データバス、50……エレ
メントビジーライン(EBSYライン)、200,
300……抑止制御回路、201,301……デ
コーダ、203……ナンドゲート(N、ゲート回
路)、302……フリツプフロツプ(F/F)。
Claims (1)
- 【特許請求の範囲】 1 各種マイクロプログラムが貯蔵されている制
御記憶と、この制御記憶から読み出されるマイク
ロ命令がシステムクロツクに同期した第1タイミ
ングクロツクに応じて置数されるマイクロ命令レ
ジスタと、このマイクロ命令レジスタに置数され
ているマイクロ命令の転送路としてのマイクロ命
令バスと、各種データの転送路としてのデータバ
スと、このデータバス上のデータが上記システム
クロツクに同期した第2タイミングクロツクに応
じて格納されるレジスタ群と、上記データバスお
よびマイクロ命令バスに接続され、上記マイクロ
命令バス上のマイクロ命令に基づいて選択されて
指定された演算処理を行なう演算要素であつて、
複数のシステムクロツクを要する演算処理中に後
続するマイクロ命令の実行を抑止するための抑止
信号を出力する複数の演算要素と、上記抑止信号
が供給された場合に少なくとも上記第1タイミン
グクロツクの発生を抑止する抑止回路と、上記演
算要素から出力される上記抑止信号が上記抑止回
路に供給されることを上記マイクロ命令バス上の
マイクロ命令の所定フイールドの解読結果に応じ
て制御する抑止制御回路とを具備することを特徴
とする演算制御装置。 2 上記抑止制御回路が、上記マイクロ命令の所
定フイールドを解読し当該所定フイールドで特定
指令が指定されている場合に上記抑止信号が上記
抑止回路に供給されることを禁止するための信号
を発生するデコーダを備えていることを特徴とす
る特許請求の範囲第1項記載の演算制御装置。 3 上記抑止制御回路が、上記マイクロ命令の所
定フイールドを解読し、当該所定フイールドで第
1特定指令が指定されている場合に第1デコード
信号を発生し、第2特定指令が指定されている場
合に第2デコード信号を発生するデコーダと、こ
のデコーダから発生される上記第1デコード信号
に応じて状態遷移し、上記第2デコード信号に応
じて旧状態に復帰するフリツプフロツプと、この
フリツプフロツプの状態に応じて上記抑止信号が
上記抑止回路に供給されることを禁止または許可
するゲート回路とを備えていることを特徴とする
特許請求の範囲第1項記載の演算制御装置。 4 上記抑止回路は上記抑止信号が供給された場
合に上記第1および第2タイミングクロツクの発
生を抑止することを特徴とする特許請求の範囲第
1項、第2項または第3項に記載の演算制御装
置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57065821A JPS58182758A (ja) | 1982-04-20 | 1982-04-20 | 演算制御装置 |
US06/484,260 US4642757A (en) | 1982-04-20 | 1983-04-12 | Microinstruction controlled arithmetic control unit |
GB08309933A GB2120425B (en) | 1982-04-20 | 1983-04-13 | Arithmetic control unit |
DE19833314139 DE3314139A1 (de) | 1982-04-20 | 1983-04-19 | Mikrobefehlgesteuerte arithmetische steuereinheit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57065821A JPS58182758A (ja) | 1982-04-20 | 1982-04-20 | 演算制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58182758A JPS58182758A (ja) | 1983-10-25 |
JPS6232504B2 true JPS6232504B2 (ja) | 1987-07-15 |
Family
ID=13298071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57065821A Granted JPS58182758A (ja) | 1982-04-20 | 1982-04-20 | 演算制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4642757A (ja) |
JP (1) | JPS58182758A (ja) |
DE (1) | DE3314139A1 (ja) |
GB (1) | GB2120425B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07147201A (ja) * | 1993-11-25 | 1995-06-06 | Nec Corp | チップ部品 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5053989A (en) * | 1986-08-27 | 1991-10-01 | Minolta Camera Kabushiki Kaisha | Digital image processing apparatus having a microprogram controller for reading microinstructions during a vacant period of the image processing circuit |
JP2558831B2 (ja) * | 1988-09-06 | 1996-11-27 | 富士通株式会社 | パイプライン制御方式 |
US5519873A (en) * | 1990-08-31 | 1996-05-21 | International Business Machines Corporation | Apparatus for switching digital command execution between a general purpose microprocessor and dedicted execution logic |
JP3055999B2 (ja) * | 1992-03-16 | 2000-06-26 | 日本電気株式会社 | マイクロプログラム制御装置群 |
US5619408A (en) * | 1995-02-10 | 1997-04-08 | International Business Machines Corporation | Method and system for recoding noneffective instructions within a data processing system |
JP3323045B2 (ja) * | 1995-11-20 | 2002-09-09 | 東芝マイクロエレクトロニクス株式会社 | 情報処理装置 |
US7743232B2 (en) * | 2007-07-18 | 2010-06-22 | Advanced Micro Devices, Inc. | Multiple-core processor with hierarchical microcode store |
CN107783917B (zh) * | 2016-08-26 | 2024-05-17 | 北京忆芯科技有限公司 | 生成nvm芯片接口命令的方法与装置 |
US11467838B2 (en) | 2018-05-22 | 2022-10-11 | Advanced Micro Devices, Inc. | Fastpath microcode sequencer |
US11016763B2 (en) | 2019-03-08 | 2021-05-25 | Advanced Micro Devices, Inc. | Implementing a micro-operation cache with compaction |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS49113542A (ja) * | 1973-02-26 | 1974-10-30 | ||
JPS5729150A (en) * | 1980-07-30 | 1982-02-17 | Toshiba Corp | Method and device for arithmetic control |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573852A (en) * | 1968-08-30 | 1971-04-06 | Texas Instruments Inc | Variable time slot assignment of virtual processors |
US4558411A (en) * | 1969-05-19 | 1985-12-10 | Burroughs Corp. | Polymorphic programmable units employing plural levels of sub-instruction sets |
US3656123A (en) * | 1970-04-16 | 1972-04-11 | Ibm | Microprogrammed processor with variable basic machine cycle lengths |
US4077060A (en) * | 1976-12-27 | 1978-02-28 | International Business Machines Corporation | Asymmetrical multiprocessor system |
GB1581650A (en) * | 1977-04-20 | 1980-12-17 | Hughes Aircraft Co | Synchronous data processor |
-
1982
- 1982-04-20 JP JP57065821A patent/JPS58182758A/ja active Granted
-
1983
- 1983-04-12 US US06/484,260 patent/US4642757A/en not_active Expired - Fee Related
- 1983-04-13 GB GB08309933A patent/GB2120425B/en not_active Expired
- 1983-04-19 DE DE19833314139 patent/DE3314139A1/de active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS49113542A (ja) * | 1973-02-26 | 1974-10-30 | ||
JPS5729150A (en) * | 1980-07-30 | 1982-02-17 | Toshiba Corp | Method and device for arithmetic control |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07147201A (ja) * | 1993-11-25 | 1995-06-06 | Nec Corp | チップ部品 |
Also Published As
Publication number | Publication date |
---|---|
US4642757A (en) | 1987-02-10 |
DE3314139C2 (ja) | 1988-11-17 |
DE3314139A1 (de) | 1983-10-27 |
JPS58182758A (ja) | 1983-10-25 |
GB8309933D0 (en) | 1983-05-18 |
GB2120425B (en) | 1986-04-16 |
GB2120425A (en) | 1983-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4507728A (en) | Data processing system for parallel processing of different instructions | |
JP2748822B2 (ja) | 情報処理装置 | |
US5590294A (en) | Method and apparatus for retarting pipeline processing | |
JPS6243764A (ja) | バス・ステ−ト制御回路 | |
EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
JPS6232504B2 (ja) | ||
US4152763A (en) | Control system for central processing unit with plural execution units | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
EP2278453B1 (en) | Processor system with coprocessor | |
US5931942A (en) | Pipeline data processing apparatus of reduced circuit scale | |
US4566062A (en) | Timing control system in data processor | |
EP0898226B1 (en) | Data processor with register file and additional substitute result register | |
JPS60178580A (ja) | 命令制御方式 | |
EP0573071A2 (en) | A microprocessor | |
US6032249A (en) | Method and system for executing a serializing instruction while bypassing a floating point unit pipeline | |
JPS6259829B2 (ja) | ||
JP2636074B2 (ja) | マイクロプロセッサ | |
JPH0561660B2 (ja) | ||
JP4021590B2 (ja) | 浮動小数点演算装置 | |
JP2869414B1 (ja) | データ処理装置 | |
JPS6250855B2 (ja) | ||
JPS6149695B2 (ja) | ||
JPH07182066A (ja) | Lsiおよびそのクロック信号制御方法 | |
JPH04353928A (ja) | 演算処理装置 | |
JPH0782434B2 (ja) | マイクロプログラム制御装置 |