JPH0115093B2 - - Google Patents

Info

Publication number
JPH0115093B2
JPH0115093B2 JP56139865A JP13986581A JPH0115093B2 JP H0115093 B2 JPH0115093 B2 JP H0115093B2 JP 56139865 A JP56139865 A JP 56139865A JP 13986581 A JP13986581 A JP 13986581A JP H0115093 B2 JPH0115093 B2 JP H0115093B2
Authority
JP
Japan
Prior art keywords
output
control
address
register
instruction
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
JP56139865A
Other languages
English (en)
Other versions
JPS5785146A (en
Inventor
Aran Reen Toomasu
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.)
Control Data Corp
Original Assignee
Control Data Corp
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 Control Data Corp filed Critical Control Data Corp
Publication of JPS5785146A publication Critical patent/JPS5785146A/ja
Publication of JPH0115093B2 publication Critical patent/JPH0115093B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

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つはマイクロ命令制御記憶であ
る。マイクロ命令制御記憶はマイクロ命令を格納
するために使用される記憶装置である。マイクロ
命令は制御記憶の1つのアドレスの内容であり、
制御のために使用される複数のビツトを有してい
る。ハードウエアは1クロツクにつき1マイクロ
命令をアクセスすることが出来るように設計され
なけければならない。このことは、最小クロツク
サイクルタイムが少くとも記憶装置チツプと入力
及び出力パイプラインレジスタ全体のアクセスタ
イムと同じ長さでなければならないことを意味す
る。従つて本発明は、クロツク周期が上述のよう
に最小で、与えられた記憶装置チツプに対して時
間決め速度が最大である。パイプライン式コンピ
ユータに於けるマイクロプログラム制御装置の実
施に関する方式と言うことになる。
このような記憶装置の先行技術による実施法は
すべて、パイプラインに於ける各種のレジスタ間
に少くとも1つの付加的な論理レベルを有してい
る。これらの付加的な論理レベルは、クロツクサ
イクルタイム間隔を直接増大する。典型的な例で
は、制御記憶の何ビツトかが次のクロツクサイク
ルタイムに制御記憶アドレスの選択を制御するの
に使用される。この例では、クロツクサイクルタ
イムがメモリアクセスタイム、レジスタ遅延時間
及びマルチプレクサ選択路遅延時間の合計として
計算される。これらの設計はすべて1クロツクの
判断時間を有している。すなわち、現時点のマイ
クロ命令が常に次のマイクロ命令のアドレスを知
つている。1クロツクの判断時間を得るためには
前述のように余分なゲートレベル分だけ費用を要
する。
本発明では1クロツク周期の判断時間を保障し
なくてもよい。ほとんどの応用分野では1クロツ
クの判断時間を実行するであろうが、しかしこの
ことは1クロツク周期の判断時間を保障すること
を意味するわけではない。というのは制御記憶ア
ドレスレジスタへの次のデータを選択するために
制御記憶の何ビツトかを直接送り戻すということ
がないからである。しかしながらここに提案する
本発明はほとんどの場合1クロツク周期の判断時
間を実行することになり、唯一の例外はマイクロ
命令の条件分岐での予測性が悪い場合である。
コンピユータに於けるマイクロプログラム制御
の用途は命令をデコードすることである。より詳
しく言うと、命令レジスタからオペコードを受け
取つて、その命令をコンピユータで実行させるた
めの特定の制御信号を発生するのに使用する。本
発明のマイクロプログラム制御では受け取る命令
を2つの種別に分類する。すなわち単マイクロ命
令と多マイクロ命令である。単マイクロ命令と
は、機械にその命令を完全に実行させるために1
つのマイクロコード命令のみを発する命令であ
る。多マイクロコード命令とは、機械にその命令
を実行させるために複数のマイクロコード命令を
発する必要のある命令である。
命令がマイクロプログラム制御装置に持ち込ま
れると、次の3種類の方法のいづれかによつて実
行される。すなわち、(1)単マイクロ命令、(2)連続
多マイクロ命令、(3)条件分岐を有する連続多マイ
クロ命令である。マイクロコードの順序制御につ
いては、(1)の場合はマイクロ命令の必要とする唯
一の順序制御は次の命令の最初のマイクロ命令に
行くことである。(2)の場合、各マイクロ命令間で
使用される唯一の順序制御は次の命令に進むこと
である。(3)の場合は、次の命令に進むことや、条
件分岐、サブルーチンコール及びリターン、無条
件分岐、及び反復等各種の順序制御が提供され
る。
本発明による方式では、(1)の場合と(2)の場合に
ついては、設計上常に正しい予測を行うので、1
クロツク周期に等しい判断時間で処理する。(3)の
場合のすべての分岐については、分岐が行われな
い場合は1クロツク周期、分岐が行われる場合は
2クロツク周期の判断時間で処理する。これはハ
ードウエアで次のアドレスの予測をするからであ
る。予測が正しい場合は、判断時間が1クロツク
周期であり、予測が正しくない場合は、それを修
正して2クロツク周期の判断時間で正しい進路を
決定する。
コンピユータへの応用では、大部分の命令マイ
クロコードが(1)もしくは(2)の場合に分類される。
(3)の場合の命令のうちの少数は、分岐の予測がつ
く場合は効率よく処理することが可能である。分
岐の予測がつく場合は瀕繁に生じる。本発明を実
施した場合、1クロツク周期間隔の判断時間を確
保する必要のある付加的なゲート遅延を受けず
に、完全に1クロツク周期の判断時間で実行する
状態に非常に近くすることが可能である。
本発明による方式では、制御記憶が2つの独立
した記憶装置から構成される。1つは単マイクロ
命令用であり、もう1つは多マイクロ命令用であ
る。単マイクロ命令記憶装置は多マイクロ命令記
憶装置よりかなり小さい。これは前者が順序制御
フイールドのビツトを必要としないからである。
小さい記憶装置の内部遅延は短いことから、この
場合の両記憶装置は同一の大きさを有する単一の
記憶装置の場合に較べて応答が速いという利点を
有する。多マイクロ命令記憶装置は、次の制御記
憶アドレスの計算法を定めるための順序制御フイ
ールドを持つ必要がある。2つの記憶装置の選択
は制御装置から引出される1ビツトによつてなさ
れる。この1ビツトは単マイクロ命令フリツプフ
ロツプと呼ばれ、新しい命令が開始する度に設定
される。このフリツプフロツプは単マイクロ命令
か多マイクロ命令かを決定し、命令の実行時間の
間記憶装置選択網を制御する。このアドレス命令
は、ハード布線によるANDの必要性やチツプの
可動化の必要性の結果として生ずるゲート遅延を
必要としない。
本発明によるマイクロプログラム制御はパイプ
ライン式コンピユータに内蔵するものであり、従
つてそのマイクロプログラム制御はパイプライン
制御の条件にかなうものでなければならない。第
1の条件はパイプラインが1クロツク周期に1マ
イクロ命令を実行するという最大速度で動作可能
でなければならない。マイクロプログラム制御へ
命令を供給するパイプライン部分は1本で命令を
進める場合と命令の供給を停止する場合を決定し
なければならない。記憶装置の各ビツトは即時に
保持されるので、記憶装置のビツトを直接使用し
て上記の決定を行うわけにはいかず、従つて予測
技術を使用する。すなわちパイプライン制御はそ
れを必要とする時点より1クロツク周期だけ早く
予測されなければならない。単マイクロ命令の場
合は、制御記憶アドレスパイプライン列に於ける
単マイクロ命令フリツプフロツプでこれが行われ
る。このフリツプフロツプビツトは、読み出され
る制御記憶のアドレスが単マイクロ命令である場
合常に1となる。次のクロツク周期で、パイプラ
インは読み出された命令を保持し、次の命令の最
初の制御記憶アドレスを制御記憶アドレスレジス
タへ保持するように進む。多マイクロ命令の場合
は、マイクロ命令の列が発生されている間に命令
のパイプラインへの流れを停止しなければならな
い。命令のパイプラインへの流れの再開は多マイ
クロ命令の順序制御フイールド内の1ビツトによ
つて行われる。このビツトはPREXIT(先出)ビ
ツトと呼ばれ、最後の命令の付近で1に設定され
る。この予測機能により、パイプラインは正確な
時間に、時間遅れを伴わずに次の命令の供給を開
始する。
多マイクロ命令記憶装置の順序制御フイールド
はREPEAT(反復)やSYNCHRONIZE(同期)
を実施するためにも使用される。順序制御フイー
ルデのREPEATビツトは、条件レジスタのテス
トされる条件が真になるまで、プロセツサに対し
て各命令周期の度にマイクロ命令を反復あるいは
再供給する。テスト条件が真になると次の命令が
マイクロコード記憶装置への命令パイプラインに
発生される。
同様に、順序制御フイールドは
SYNCHRONIZEビツトと呼ばれる別のビツトを
有している。これは条件分岐とともに使用され、
プロセツサは同期様式で動作すする。この様式で
は、通常条件分岐を含むと考えられる次の命令
が、特定の分岐条件情報が使用可能もしくは有効
になるまで、保持もしくは休止される。このこと
は分岐条件が有効になるまで、マイクロコードが
分岐条件を使用しないことを保障する。このよう
な実施形態は制御記憶空間を節約し、その結果マ
イクロコード分岐を速める。
第1A図及び第1B図には、本発明によるコン
ピユータ記憶制御装置10を示している。命令は
最初に、命令レジスタ12によつてこの装置に取
り込まれる。命令レジスタ12は命令マツピング
メモリ14に接続され、命令マツピングメモリ1
4はレジスタ16に接続される。最初の有効指示
フリツプフロツプ18が命令レジスタ12と接続
されている。2番目の有効指示フリツプフロツプ
20がレジスタ16と接続されている。マモリマ
ツプを有するレジスタ16の出力は、アドレスマ
ルチプレクサ22に接続される。アドレスマルチ
プレクサ22の出力は制御記憶アドレスレジスタ
24、及び単マイクロ命令フリツプフロツプ26
に接続される。3番目の有効指示フリツプフロツ
プ28が制御記憶アドレスレジスタ24に接続さ
れている。パイプ初期化制御線31がフリツプフ
ロツプ18、20及び28のリセツト入力に接続
される。この線31は同時にフリツプフロツプ7
0へのリセツト入力を制御するORゲート29へ
の入力も提供しているが、これについては後述す
る。
アドレスマルチプレクサ22には、アドレス選
択論理制御網30が接続されている。アドレス選
択制御論理網30はアドレスマルチプレクサ22
の働きを制御する。マルチプレクサ22に対する
第1のアドレス源は前述したようにレジスタ16
からの入力である。第1のアドレス源は、レジス
タ16からデータ路17に提供される。データ路
32上の第2の入力アドレス源はメモリデータレ
ジスタ36の分岐アドレス部から提供される。メ
モリデータレジスタ36の分岐アドレス部34
は、ANDゲート38を介して出力され、データ
路32を形成するように接続される。
アドレスマルチプレクサ22への第3の入力
は、データ路40から供給され、これはアドレス
増分装置42によつて供給される増分されたアド
レスである。
アドレス選択論理制御装置30は3つの制御入
力を受信する。第1の制御入力は制御線44上に
あり、これは単マイクロ命令フリツプフロツプ2
6からの出力である。第2の入力は制御線46上
にあり、これはメモリデータレジスタ36の順序
制御フイールド出力の一部であるPREXITビツ
ト48から来る。レジスタ36のPREXITビツ
ト48は、制御路46を形成する前にANDゲー
ト50を通過する。最後に、アドレス選択制御網
30への第3の制御入力は制御線52上にあり、
これは分岐論理網54からの制御出力である。
パイプラインを含めコンピユータの中央処理装
置から各種の機械状態ビツトが、マイクロコード
分岐条件レジスタ56への入力ビツトとして提供
される。このレジスタ56はその各種のビツトか
らマイクロコード分岐条件オペランドを形成す
る。このマイクロコード分岐条件オペランドは、
分岐論理網54へのオペランド入力として提供さ
れて、条件分岐を実行すべきか否かを判断するた
めに使われ、この出力は網54から出力制御線5
2に供給される。網54への制御入力はANDゲ
ート60から制御線に供給される。ゲート60は
メモリデータレジスタ36の分岐条件部62を入
力として受信する。分岐実行制御線52はメモリ
データレジスタ36を制御する4番目の有効指示
フリツプフロツプ70のリセツト入力に接続され
る。このフリツプフロツプの出力は、前述のよう
に制御情報入力を通すANDゲート38,50及
び60への制御入力を表わす。フリツプフロツプ
70はまた、同期機能と関連して使用される出力
VALID(有効)ビツトであるANDゲート71へ
の入力を提供する。メモリデータレジスタ36の
メモリデータ部74は、ANDゲート80を介し
て中央処理装置への制御信号として接続される。
本発明の制御記憶90は、制御記憶アドレスレ
ジスタ24から入力を受け、メモリ選択網94に
接続された出力を有する単マイクロ命令記憶装置
92を有している。多マイクロ命令記憶装置96
も制御記憶レジスタ24から入力を受け、メモリ
選択網94へ出力を提供する。メモリ選択網94
の出力はメモリデータレジスタ36の入力に接続
される。メモリ選択網は、単マイクロ命令フリツ
プフロツプ26の出力に接続された制御線98に
よつて制御される。前述のようにレジスタ36の
順序制御フイールド部はPREXITビツト48を
有している。さらに無条件分岐ビツト104、サ
ブルーチンコールビツト106、サブルーチンリ
ターンビツト108、SYNCHRONIZEビツト1
10、及びREPEATビツト112が存在する。
順序制御フイールドビツト104,106及び1
08の機能はその名称から明白である。ANDゲ
ート114,116,118,120及び122
はそれぞれビツト104,106,108、11
0及び112から入力を受け、これらのビツトと
組み合わされる。ANDゲート114,116,
118,120及び122への他の入力は、
ANDゲート38,50,60,76,78及び
80と同様にフリツプフロツプ70から供給され
る。ANDゲート114,116及び118は分
岐論理網54への制御入力を提供し、実行するべ
き機能を指示する。ANDゲート120及び12
2はREPEAT/SYNCHRONIZE論理網100
に対して、実行すべき機能を指示する制御入力を
提供する。網100は図に示すように機械状態有
効指示ビツト及び機械反復条件に関連する種々の
条件入力を受ける。これらの条件は各種のフラグ
もしくは命令に特有なその他のハードウエアテス
ト条件である。パイプライン時間決め論理装置1
02は網100から制御入力を受信し、すべての
レジスタに対して適当なクロツク可能信号を送
る。パイプライン有効指示フリツプフロツプも装
置102に接続される。
本発明を一般的に説明する場合は、アドレスマ
ルチプレクサ、制御記憶アドレスレジスタ、単マ
イクロ命令記憶装置、多マイクロ命令記憶装置、
メモリ選択網、アドレス選択論理装置、アドレス
増分装置、及びメモリデータレジスタから成るマ
イクロプログラム装置を有する装置10から構成
されると言うことが出来る。この装置に対する命
令は命令レジスタ12から供給される。命令レジ
スタ12から、命令オペコードがマツピングメモ
リ14のアドレスを与える。マツピングメモリ1
4はその命令を実行するマイクロコードルーチン
の制御記憶アドレスを与える。次にこのアドレス
はレジスタ16に保持され、マイクロプログラム
装置に対して使用可能となる。
マイクロプログラム装置は制御記憶アドレスを
連続して時間決めをすることによつて動作し、適
当な制御信号を発生する。マイクロコードの実行
順序はアドレス選択論理網30、及びアドレスマ
ルチプレクサ22によつて制御される。マイクロ
コード装置はそのアドレスをマツピングメモリ1
4から得ることが出来る。このメモリは1つの命
令についての最初のマイクロ命令のアドレスを供
給するのに使用される。マツピングメモリ14は
また、単マイクロ命令フリツプフロツプ26に書
き込まれるべき正しい値を供給する。レジスタ1
6に保有されたマツピングメモリ出力は、単マイ
クロ命令フリツプフロツプ26が1であるかある
いは、制御路46上の順序制御レジスタビツト4
8からのPREXIT制御信号が1の場合常に選択
される。マイクロコード装置は、分岐を実行する
際にアドレスを供給するのに使用される分岐入力
線32からもアドレスを得ることが出来る。この
分岐アドレスは、制御線52上にある分岐論理網
54の分岐実行出力が1である場合常に選択され
る。
マイクロコード装置はまたアドレス増分装置4
2からもアドレスを得ることが出来る。このよう
にして、マイクロコードはメモリを介して順次的
に進む。アドレス増分選択制御は標準的な選択条
件であり、特別に他の制御が指示されない場合に
無条件に実行される。各々のパイプラインレジス
タ列すなわち命令レジスタ12、マツピングレジ
スタ16、制御記憶アドレスレジスタ24、メモ
リデータレジスタ36等には有効指示ビツトが付
属している。これらの有効指示ビツトの各々は、
それぞれ有効指示フリツプフロツプ18,20,
28及び70によつて提供される。この有効指示
ビツトは、その列に於けるデータが有効なデータ
として使用可能であることを示す。レジスタ36
に於けるマイクロ命令ビツトはすべて有効指示フ
リツプフロツプ70でゲートされ、従つてこの列
が有効でない場合は出力信号が何も現われない。
有効でない状態とは有効指示フリツプフロツプ7
0の出力がゼロである場合の状態である。
説明するべき動作の型式としては3種類の明確
な動作型式がある。最初に説明するのは単マイク
ロ命令型の動作である。この動作では、前の命令
の最後の段階で、アドレスマルチプレクサ22が
線路17上のマツプ入力を選択するようにする。
次のクロツク周期でこのマツプアドレスを制御記
憶アドレスレジスタに保持する。同時に、単マイ
クロ命令フリツプフロツプ26が1にされる。次
のクロツク間隔で、制御記憶から読み出されたデ
ータが出力レジスタ36に保持され、次の命令の
最初のアドレスが制御記憶アドレスレジスタ24
に保持される。次にこの過程が反復する。
次に説明する命令の型式は順次的多マイクロ命
令である。この場合には命令の最初の制御記憶ア
ドレスが制御記憶アドレスレジスタ24に保持さ
れる。この時点で単マイクロ命令フリツプフロツ
プ26がゼロにされる。次にこのアドレスが制御
記憶から読み出され、同時に単マイクロ命令フリ
ツプフロツプにより1だけ増加される。次のクロ
ツク間隔がこのマイクロ命令を出力レジスタ36
に保持し、同時にアドレス増分装置42の出力を
次の制御記憶アドレスとして保持する。このよう
に多マイクロ命令の実行は、供給される最初のア
ドレスから順次的に進むことから構成される。最
後のマイクロ命令の次に制御線46上の
PREXITビツトを1にすることによつて、命令
は終了する。これにより、次のクロツクでアドレ
スマルチプレクサ22がマツプ入力を選択し、従
つて次の命令が始動される。
最後に説明する命令の型式は、条件分岐を有す
る順次的多マイクロ命令である。ある命令では、
その命令を実行するマイクロコードが、機械のあ
る状態ビツトに基いて条件判断をする必要があ
る。本マイクロプログラム装置では、マイクロコ
ード分岐条件レジスタ56の任意のビツトによつ
て分岐することが可能である。マイクロ命令の順
次制御フイールドは、どの分岐条件をテストする
かを指定し、その分岐条件が真である場合は分岐
アドレスを発生する。本発明で使用されている条
件分岐の手法は予測に基いている。すべての多マ
イクロ命令列に於いて、通常次のアドレスは1だ
け増加されたアドレスである。従つて、分岐条件
が解かれている間、マイクロプログラム装置は分
岐が実行されないと予測している。分岐が実行さ
れないということは、次のアドレスが1だけ増加
されたアドレスであるということである。この予
測が真である場合は、分岐が解決されるとマイク
ロコードの順序は遅延することなく単純に持続す
る。
分岐条件が満足されると、この1だけ増加され
たアドレスの予測は誤りであり、いくつかの事が
行われなければならない。最初に、分岐が実行さ
れることから、予測されたアドレスの結果として
出力レジスタ36にクロツクされたマイクロ命令
は取消されなければならない。この取消しは線路
52上の分岐実行信号によつて有効指示フリツプ
フロツプ70をクリアすることによつて行われ
る。ここで注意すべきことは、すべての信号は有
効指示フリツプフロツプ70によつてゲートされ
ているので、それらは完全に取消されることであ
る。また、有効指示フリツプフロツプはレジスタ
をクリアするためにメモリパイプラインに存在す
ることから、何ら付加的な論理を必要としないこ
とにも注意すべきである。同時に、線路32上の
分岐アドレス出力が制御記憶装置アドレスレジス
タ24にゲートされなければならない。これはア
ドレスマルチプレクサ22が線路32上の分岐ア
ドレスを選択することによつて行われる。従つ
て、予測の誤りを意味する分岐の実行は2クロツ
ク周期を必要とする。分岐の可能性を理解するこ
と、及び分岐条件の意味を定める自由を持つこと
によつて、分岐が実行されない場合より高い周波
数、すなわちより速く解決する路を得ることが可
能であることが多い。多マイクロ命令はマツプア
ドレスメモリ14及びマツプアドレスレジスタ1
6から開始する。命令は制御記憶装置90を介し
て順次的に実行する。条件分岐に出合うと、分岐
が実行されない場合は順次的な実行が持続する。
分岐が行われる場合は、分岐アドレスが制御記憶
アドレスレジスタ24に書込まれ、順次的な実行
はそのアドレスから開始する。その手順が完了す
ると、メモリに於けるパイプライン上の命令の流
れは、1に設定された最後のマイクランドの次に
於けるPREXITビツトによつて再開される。こ
の予測機能により、パイプラインは時間遅れを伴
わずに正しい周期時間に次の命令を供給すること
になる。
たとえ分岐が2周期の判断時間をとる場合で
も、ただ1つのマイクロ命令を必要とするだけ
で、2マイクロ命令を必要とするわけではない。
従つて、分岐は単マイクロ命令で指定される。こ
の結果、各々の分岐は2マイクロ命令ではなくた
だ1つの単マイクロ命令を必要とするだけである
ことから、制御記憶の節約をもたらす。さらに、
誤つた推測の結果であるマイクロ命令の取消しは
基本的に余分なハードウエアを必要としない。な
ぜならパイプラインはいずれにしろ有効指示ビツ
トとクリア信号を必要とするからである。
同期ビツト110は条件分岐とともに使用され
る。機械を同期方式の状態にすることがよくあ
る。この状態では、通常条件分岐を有する可能性
のある次のマイクロ命令が、指定された分岐条件
が有効になるまで保持される。これは分岐条件が
有効になるまでマイクロコードがその条件を使用
しないことを保障する。このような実施形態は制
御記憶の位置を節約し、その結果より速いマイク
ロコード分岐をもたらす。反復ビツト112は、
指定した条件が発生するまで、マイクロ命令を反
復して実行させる。反復ビツト112及び同期ビ
ツト110の両ビツトは、網100が入力をテス
トするのを制御することによつてその働きを実行
する。テストする条件が発生すると、対応する制
御に応じて反復制御信号もしくは同期制御信号が
時間決め装置102に送られる。
【図面の簡単な説明】
第1A図と第1B図は左と右に並べつき合わせ
て見るべき図であり、本発明による記憶装置のブ
ロツク機能図である。 12……命令レジスタ、14……命令マツピン
グメモリ、16……マツプレジスタ、18,2
0,28……有効指示フリツプフロツプ、22…
…アドレスマルチプレクサ。

Claims (1)

  1. 【特許請求の範囲】 1 条件分岐のための一塊とされた制御記憶装置
    であつて、 アドレスマルチプレクサの出力を選択するため
    の論理装置とともに、原始命令を受け入れるため
    の入力装置、分岐命令を受け入れるための入力装
    置、及びインクリメント命令を受け入れるための
    入力装置を有する上記アドレスマルチプレクサ
    と、 前記アドレスマルチプレクサの出力を受け入れ
    る装置としての制御記憶アドレスレジスタ、 前記制御記憶アドレスレジスタからの出力を受
    け記憶出力を発生するための単マイクロ命令記憶
    装置、 前記制御記憶アドレスレジスタからの出力を受
    け出力を発生するための多マイクロ命令記憶装
    置、 前記単マイクロ命令記憶装置及び多マイクロ命
    令記憶装置からの出力を受け、選択された記憶装
    置出力から成る出力を発生するための記憶選択装
    置、 前記記憶選択装置のための出力レジスタ装置、 前記の記憶選択装置を制御するための単マイク
    ロ命令フリツプフロツプであつて前記アドレスマ
    ルチプレクサの出力を受ける前記フリツプフロツ
    プ、 前記アドレスマルチプレクサに供給される制御
    出力を発生するための分岐論理回路網、及び 前記分岐論理回路網へ分岐条件入力を供給する
    ための装置、 を有するマイクロプログラム制御記憶装置。 2 特許請求の範囲第1項記載のマイクロプログ
    ラム制御記憶装置であつて、前記出力レジスタは
    前記アドレスマルチプレクサに接続された先出出
    力制御信号装置を有しており、順次的に発生する
    マイクロ命令列に於いて最後のマイクロ命令の次
    の命令が発生した際に、先出制御信号が働くこと
    によつて、適時に原始命令を前記制御記憶装置に
    ゲートし、出力マイクロ命令の流れの中断を発生
    させないようにしたマイクロプログラム制御記憶
    装置。 3 特許請求の範囲第1項記載のマイクロプログ
    ラム制御記憶装置であつて、前記出力レジスタが
    反復出力制御信号を有し、さらに前記反復出力制
    御信号に応答して所定の条件が発生するまで1つ
    のマイクロ命令を反復するようにパイプラインを
    制御するための論理回路網装置を有するマイクロ
    プログラム制御記憶装置。 4 特許請求の範囲第1項記載のマイクロプログ
    ラム制御記憶装置であつて、前記出力レジスタが
    同期出力制御信号を有しており、さらに前記の同
    期出力制御信号に応答して、所定の条件が発生す
    るまで条件分岐命令を保留するようにパイプライ
    ンを制御するための論理回路網装置を有するマイ
    クロプログラム制御記憶装置。
JP56139865A 1980-10-20 1981-09-07 Microprogram control memory Granted JPS5785146A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/198,888 US4390946A (en) 1980-10-20 1980-10-20 Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences

Publications (2)

Publication Number Publication Date
JPS5785146A JPS5785146A (en) 1982-05-27
JPH0115093B2 true JPH0115093B2 (ja) 1989-03-15

Family

ID=22735288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56139865A Granted JPS5785146A (en) 1980-10-20 1981-09-07 Microprogram control memory

Country Status (6)

Country Link
US (1) US4390946A (ja)
EP (1) EP0050404B1 (ja)
JP (1) JPS5785146A (ja)
AU (1) AU539098B2 (ja)
CA (1) CA1165453A (ja)
DE (1) DE3167466D1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58129550A (ja) * 1982-01-27 1983-08-02 Toshiba Corp 演算制御装置
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
US4551798A (en) * 1982-11-03 1985-11-05 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling nester subroutines
US4546431A (en) * 1982-11-03 1985-10-08 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
US4685058A (en) * 1983-08-29 1987-08-04 Amdahl Corporation Two-stage pipelined execution unit and control stores
US4604727A (en) * 1983-08-31 1986-08-05 Texas Instruments Incorporated Memory with configuration RAM
WO1985002278A1 (fr) * 1983-11-10 1985-05-23 Fujitsu Limited Procede de commande par microprogramme
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
GB8416037D0 (en) * 1984-06-22 1984-07-25 Int Computers Ltd Data storage apparatus
US4773035A (en) * 1984-10-19 1988-09-20 Amdahl Corporation Pipelined data processing system utilizing ideal floating point execution condition detection
ATE94999T1 (de) * 1984-11-21 1993-10-15 Harris Corp Mikroprozessor fuer forth-aehnliche sprache.
JPS61131039A (ja) * 1984-11-29 1986-06-18 Yokogawa Electric Corp マイクロプログラム制御装置
JP2539357B2 (ja) * 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US4755966A (en) * 1985-06-28 1988-07-05 Hewlett-Packard Company Bidirectional branch prediction and optimization
US4701842A (en) * 1985-10-04 1987-10-20 International Business Machines Corporation Method and apparatus for avoiding excessive delay in a pipelined processor during the execution of a microbranch instruction
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
US4794527A (en) * 1986-01-29 1988-12-27 Digital Equipment Corporation Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times
JPH0731615B2 (ja) * 1986-04-18 1995-04-10 日本電気株式会社 情報処理装置
US4773041A (en) * 1986-06-02 1988-09-20 Unisys Corporation System for executing a sequence of operation codes with some codes being executed out of order in a pipeline parallel processor
JPH0810553B2 (ja) * 1986-06-13 1996-01-31 松下電器産業株式会社 記憶回路
JP2559382B2 (ja) * 1986-11-05 1996-12-04 株式会社日立製作所 情報処理装置
US5265220A (en) * 1986-12-23 1993-11-23 Nec Corporation Address control device for effectively controlling an address storing operation even when a request is subsequently cancelled
US5235686A (en) * 1987-02-24 1993-08-10 Texas Instruments Incorporated Computer system having mixed macrocode and microcode
US4825356A (en) * 1987-03-27 1989-04-25 Tandem Computers Incorporated Microcoded microprocessor with shared ram
US5134561A (en) * 1987-07-20 1992-07-28 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US4845677A (en) * 1987-08-17 1989-07-04 International Business Machines Corporation Pipelined memory chip structure having improved cycle time
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
GB8728493D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Jump prediction
EP0343171A4 (en) * 1987-12-28 1991-01-30 International Meta Systems, Inc. Microprogrammable language emulation system
US5187799A (en) * 1988-05-17 1993-02-16 Calif. Institute Of Technology Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers
US5590293A (en) * 1988-07-20 1996-12-31 Digital Equipment Corporation Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
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
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
US5127091A (en) * 1989-01-13 1992-06-30 International Business Machines Corporation System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
CA2030404A1 (en) * 1989-11-27 1991-05-28 Robert W. Horst Microinstruction sequencer
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
JPH0659972A (ja) * 1992-08-05 1994-03-04 Oki Electric Ind Co Ltd メモリ制御装置
US5687338A (en) * 1994-03-01 1997-11-11 Intel Corporation Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US11188393B1 (en) * 2021-03-02 2021-11-30 NortonLifeLock Inc. Systems and methods for performing load balancing and distributed high-availability

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
JPS52120640A (en) * 1976-04-02 1977-10-11 Toshiba Corp Micro program control system
US4095265A (en) * 1976-06-07 1978-06-13 International Business Machines Corporation Memory control structure for a pipelined mini-processor system
JPS538034A (en) * 1976-06-30 1978-01-25 Toshiba Corp Electronic computer
US4087857A (en) * 1976-10-04 1978-05-02 Honeywell Information Systems Inc. ROM-initializing apparatus
US4156279A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Microprogrammed data processing unit including a multifunction secondary control store
US4155120A (en) * 1977-12-01 1979-05-15 Burroughs Corporation Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4320453A (en) * 1978-11-02 1982-03-16 Digital House, Ltd. Dual sequencer microprocessor
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
US4310880A (en) * 1979-09-10 1982-01-12 Nixdorf Computer Corporation High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
US4348724A (en) * 1980-04-15 1982-09-07 Honeywell Information Systems Inc. Address pairing apparatus for a control store of a data processing system

Also Published As

Publication number Publication date
CA1165453A (en) 1984-04-10
DE3167466D1 (en) 1985-01-10
EP0050404B1 (en) 1984-11-28
AU539098B2 (en) 1984-09-13
JPS5785146A (en) 1982-05-27
EP0050404A1 (en) 1982-04-28
US4390946A (en) 1983-06-28
AU7402781A (en) 1982-04-29

Similar Documents

Publication Publication Date Title
JPH0115093B2 (ja)
EP0689131B1 (en) A computer system for executing branch instructions
US6338136B1 (en) Pairing of load-ALU-store with conditional branch
US6430674B1 (en) Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time
US8413086B2 (en) Methods and apparatus for adapting pipeline stage latency based on instruction type
EP0939364A2 (en) Paired instruction processor branch recovery mechanism
JPH03116233A (ja) データプロセッサの命令処理システム
JPH02224025A (ja) コンピューターシステム
JPH09171463A (ja) ディジタル命令プロセッサ制御装置によってインターラプトルーチンを処理する方法
JPH06236267A (ja) スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム
US5241637A (en) Data processor microsequencer having multiple microaddress sources and next microaddress source selection
EP0649083B1 (en) A microcontrol unit for a superpipelined, superscalar microprocessor
EP0164418A1 (en) Microprogram control system
US5644741A (en) Processor with single clock decode architecture employing single microROM
US4803615A (en) Microcode control of a parallel architecture microprocessor
JP2003263313A (ja) デジタルプロセッサおよび命令の選択方法
JP3144004B2 (ja) 条件分岐処理装置
JPH06131180A (ja) 命令処理方式および命令処理装置
JPS59183434A (ja) 命令先取り制御方式
JP2861234B2 (ja) 命令処理装置
JPH0559450B2 (ja)
GB2081944A (en) Microinstruction sequence control
JPH08320787A (ja) パイプライン計算機
JPH11327929A (ja) プログラム制御装置
JPH0793150A (ja) 情報処理装置