JPS6230651B2 - - Google Patents
Info
- Publication number
- JPS6230651B2 JPS6230651B2 JP56121314A JP12131481A JPS6230651B2 JP S6230651 B2 JPS6230651 B2 JP S6230651B2 JP 56121314 A JP56121314 A JP 56121314A JP 12131481 A JP12131481 A JP 12131481A JP S6230651 B2 JPS6230651 B2 JP S6230651B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- overlap
- command
- cycle
- macro
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
概 要
マクロ指令の予定レパートリーを有するデイジ
タル・データ処理システムにおいて、マクロ指令
遂行をオーバラツプするための制御は、第1およ
び第2制御蓄積手段を利用することによつて与え
られる。これら第1および第2制御蓄積手段の
各々は、そのレパートリーにおける各マクロ指令
を遂行するために要求されるマイクロ指令セツト
を蓄積する。制御蓄積手段の各々は、関連するマ
クロ指令によつてエントリーアドレスにアドレス
可能であり、それからマイクロ指令の中味によつ
てアドレス可能であるので、関連するマクロ指令
に対する一連のマイクロ指令は遂行のために順次
に読取られ、コンデイシヨナル・ブランチングの
準備がなされる。次の順次の指令が進行できる前
に遂行されねばならない現在のマクロ指令のマイ
クロ指令の数を決定するためにマクロ指令の全て
の可能な順次の発生に対してサイクル・カウント
情報を蓄積するために、オーバラツプ・カウント
蓄積手段が設けられる。1つのマイクロ指令が各
クロツク・サイクルに遂行され、マイクロ指令は
それらが遂行される時カウントされ、そのカウン
トは、マクロ指令のシーケンスに対する蓄積カウ
ントと比較される。指令の可変シーケンス部分が
完了されたことを示す信号が受取られ、それから
マイクロ指令カウンテイングが進行することを許
されるまで、マイクロ指令遂行のカウントを停止
することにより、可変遂行シーケンスを有する指
令を遂行し且つオーバラツプするための準備がな
される。現在のマクロ指令に対するマイクロ指令
が、次のマクロ指令によつて制御される機能と相
互に排他的である機能を示す時、マクロ指令遂行
のオーバラツプが生ずることを許される。
タル・データ処理システムにおいて、マクロ指令
遂行をオーバラツプするための制御は、第1およ
び第2制御蓄積手段を利用することによつて与え
られる。これら第1および第2制御蓄積手段の
各々は、そのレパートリーにおける各マクロ指令
を遂行するために要求されるマイクロ指令セツト
を蓄積する。制御蓄積手段の各々は、関連するマ
クロ指令によつてエントリーアドレスにアドレス
可能であり、それからマイクロ指令の中味によつ
てアドレス可能であるので、関連するマクロ指令
に対する一連のマイクロ指令は遂行のために順次
に読取られ、コンデイシヨナル・ブランチングの
準備がなされる。次の順次の指令が進行できる前
に遂行されねばならない現在のマクロ指令のマイ
クロ指令の数を決定するためにマクロ指令の全て
の可能な順次の発生に対してサイクル・カウント
情報を蓄積するために、オーバラツプ・カウント
蓄積手段が設けられる。1つのマイクロ指令が各
クロツク・サイクルに遂行され、マイクロ指令は
それらが遂行される時カウントされ、そのカウン
トは、マクロ指令のシーケンスに対する蓄積カウ
ントと比較される。指令の可変シーケンス部分が
完了されたことを示す信号が受取られ、それから
マイクロ指令カウンテイングが進行することを許
されるまで、マイクロ指令遂行のカウントを停止
することにより、可変遂行シーケンスを有する指
令を遂行し且つオーバラツプするための準備がな
される。現在のマクロ指令に対するマイクロ指令
が、次のマクロ指令によつて制御される機能と相
互に排他的である機能を示す時、マクロ指令遂行
のオーバラツプが生ずることを許される。
本発明の背景
本発明はプログラム可能なデイジタル・データ
処理装置、特に演算処理装置(AP)に対する遂
行におけるマクロ指令のオーバラツプに関する。
データ処理システムの開発および進歩において、
常に重要視されていることはデータ処理速度の増
加である。
処理装置、特に演算処理装置(AP)に対する遂
行におけるマクロ指令のオーバラツプに関する。
データ処理システムの開発および進歩において、
常に重要視されていることはデータ処理速度の増
加である。
計算速度の増加は、ハードウエアおよびハード
ウエアの機能化に関する物理的技術の進歩によつ
て達成された。集積回路の出現は、非常に高速の
計酸速度にて作動できる回路素子を且つ経済的可
能性を保ちながら複雑な機能を遂行できる回路素
子を生じた。メモリのアクセスおよびサイクル時
間もまた著しく増加した。
ウエアの機能化に関する物理的技術の進歩によつ
て達成された。集積回路の出現は、非常に高速の
計酸速度にて作動できる回路素子を且つ経済的可
能性を保ちながら複雑な機能を遂行できる回路素
子を生じた。メモリのアクセスおよびサイクル時
間もまた著しく増加した。
ハードウエアの変化および発展に加えて、各種
のデータ処理コンポーネントの常に増加する利用
をもたらすデータ処理システムの構成の絶えざる
進歩があつた。データ処理システムを構成するコ
ンポーネントの利用の最適化の多くの実例を説明
できるが、マクロ指令遂行のオーバラツプを行な
うことによつて、データ処理速度を増加できるこ
とが注目される。
のデータ処理コンポーネントの常に増加する利用
をもたらすデータ処理システムの構成の絶えざる
進歩があつた。データ処理システムを構成するコ
ンポーネントの利用の最適化の多くの実例を説明
できるが、マクロ指令遂行のオーバラツプを行な
うことによつて、データ処理速度を増加できるこ
とが注目される。
存在する指令がメモリから取得され且つ現在の
指令が遂行へと進められると、メモリが次の指令
をアクセスするのに役立つように、指令取得およ
び指令デコーデイング、指令動作および結果の蓄
積のステツプを基本的に与えるデータ処理システ
ムにおける指令はオーバラツプされうることは知
られていた。指令のこの許容されるオーバラツプ
は、メモリ・ユニツトへのアクセスの有用性に主
として基づく。この型の指令オーバラツプは、い
わゆるハードワイヤド指令レパートリーおよび制
御を含んだデータ処理装置において最も一般的で
あつた。
指令が遂行へと進められると、メモリが次の指令
をアクセスするのに役立つように、指令取得およ
び指令デコーデイング、指令動作および結果の蓄
積のステツプを基本的に与えるデータ処理システ
ムにおける指令はオーバラツプされうることは知
られていた。指令のこの許容されるオーバラツプ
は、メモリ・ユニツトへのアクセスの有用性に主
として基づく。この型の指令オーバラツプは、い
わゆるハードワイヤド指令レパートリーおよび制
御を含んだデータ処理装置において最も一般的で
あつた。
後者の発展は、データ処理システムにおける予
定の機能を各々が遂行したマクロ指令のレパート
リーを利用したデータ処理システムに通じる。ユ
ーザーレベルにおいて特徴的であるマクロ指令
は、特定プログラムが進行する時にリトリーバル
および遂行に対してプログラムされ且つメモリ・
ユニツトに蓄積される。この型のシステムにおい
て、制御蓄積はマイクロ指令のセツトを蓄積する
ために利用され、蓄積されたセツトの各々は、マ
クロ指令の関連する1つと関係する。選択された
マクロ指令の遂行は、その対応するセツトにおけ
るマイクロ指令の各々の遂行によつて達成され
る。各マイクロ指令の遂行において、制御信号が
発生され且つ演算処理装置に供給されて、上記マ
イクロ指令の各々によつて指定される制御に従つ
てデータの処理を制御する。現在の技術におい
て、制御蓄積はランダム・アクセス・メモリ
(RAM)またはリード・オンリーメモリ
(ROM)である。ROMは、RAMの再発生サイク
ルが要求されない点で比較的速い動作速度を有す
る利点があるが、各マイクロ指令を明示するコン
デイシヨンは製作の間決定されるるので、マイク
ロ指令の予定セツトは製作に先立つて総体的に且
つ完全に明示されねばならない欠点がある。
RAMは、各読取動作に追従する再発生サイクル
のための時間が要求されるので、全体の動作速度
において多少遅くなる欠点がある。然しながら、
RAMは、マイクロ指令のセツトが新しい制御マ
イクロ指令を制御メモリに単に書込むことによつ
て変化されうる点で制御蓄積の反転性を与える利
点がある。
定の機能を各々が遂行したマクロ指令のレパート
リーを利用したデータ処理システムに通じる。ユ
ーザーレベルにおいて特徴的であるマクロ指令
は、特定プログラムが進行する時にリトリーバル
および遂行に対してプログラムされ且つメモリ・
ユニツトに蓄積される。この型のシステムにおい
て、制御蓄積はマイクロ指令のセツトを蓄積する
ために利用され、蓄積されたセツトの各々は、マ
クロ指令の関連する1つと関係する。選択された
マクロ指令の遂行は、その対応するセツトにおけ
るマイクロ指令の各々の遂行によつて達成され
る。各マイクロ指令の遂行において、制御信号が
発生され且つ演算処理装置に供給されて、上記マ
イクロ指令の各々によつて指定される制御に従つ
てデータの処理を制御する。現在の技術におい
て、制御蓄積はランダム・アクセス・メモリ
(RAM)またはリード・オンリーメモリ
(ROM)である。ROMは、RAMの再発生サイク
ルが要求されない点で比較的速い動作速度を有す
る利点があるが、各マイクロ指令を明示するコン
デイシヨンは製作の間決定されるるので、マイク
ロ指令の予定セツトは製作に先立つて総体的に且
つ完全に明示されねばならない欠点がある。
RAMは、各読取動作に追従する再発生サイクル
のための時間が要求されるので、全体の動作速度
において多少遅くなる欠点がある。然しながら、
RAMは、マイクロ指令のセツトが新しい制御マ
イクロ指令を制御メモリに単に書込むことによつ
て変化されうる点で制御蓄積の反転性を与える利
点がある。
本発明は上述のマクロ指令のオーバラツプ問題
にアドレスし、マクロ指令のオーバラツプを達成
することによつてシステム動作を増進させるシス
テムを与える。
にアドレスし、マクロ指令のオーバラツプを達成
することによつてシステム動作を増進させるシス
テムを与える。
本発明の要約
本発明の背景を記憶すると、本発明に従えば、
マクロ指令の予定レパートリーを有し且つ順次の
マクロ指令の遂行のオーバラツプを制御するため
のデイジタル・データ処理システムにおける改良
が与えられる。2つの別々の制御蓄積デバイスが
利用され、各々は、システムのマクロ指令のレパ
ートリーの遂行のため要求されるマイクロ指令の
セツトを蓄積する。各制御蓄積は、演算処理装置
の基本的機能または動作を制御するために利用さ
れるマイクロ指令の第1部分と、次のマイクロ指
令の選択のためのアドレスおよびブランチ・コン
デイシヨンを指示するマイクロ指令の第2部分を
読取ることができる。その全動作はクロツクの制
御下にあり、1つのマイクロ指令が1クロツク・
サイクルに演算処理装置の制御のため移送され
る。サイクル・カウンタは各制御蓄積デバイスと
関連し、特定のマクロ指令遂行の間生じた個々の
マイクロ指令遂行であるサイクルの数のカウント
を与える。オーバラツプ・カウント蓄積デバイス
は、全レパートリーのマクロ指令のシーケンスの
全ての可能な結合に対するサイクル・カウント情
報を蓄積するために利用される。マクロ指令の発
生の各シーケンスに対するカウント情報は、次の
引続くマクロ指令が開始されうる前に生じねばな
らない現在のマクロ指令遂行におけるサイクルの
数を明示する。1対の比較器は、蓄積デバイスか
ら読取られる制御サイクル・カウントを比較する
ために作用する。蓄積デバイスはカウントを保持
し、そのカウントと上述の2サイクル・カウンタ
の結果による読取と比較する。マクロ指令の遂行
の制御における制御蓄積デバイスのサイクル・カ
ウンタが制御カウントに等しいか又は制御カウン
トを超えたかを決定される時、交代の制御蓄積デ
バイスが活動化され、次の引続くマクロ指令が進
むことを許容される。
マクロ指令の予定レパートリーを有し且つ順次の
マクロ指令の遂行のオーバラツプを制御するため
のデイジタル・データ処理システムにおける改良
が与えられる。2つの別々の制御蓄積デバイスが
利用され、各々は、システムのマクロ指令のレパ
ートリーの遂行のため要求されるマイクロ指令の
セツトを蓄積する。各制御蓄積は、演算処理装置
の基本的機能または動作を制御するために利用さ
れるマイクロ指令の第1部分と、次のマイクロ指
令の選択のためのアドレスおよびブランチ・コン
デイシヨンを指示するマイクロ指令の第2部分を
読取ることができる。その全動作はクロツクの制
御下にあり、1つのマイクロ指令が1クロツク・
サイクルに演算処理装置の制御のため移送され
る。サイクル・カウンタは各制御蓄積デバイスと
関連し、特定のマクロ指令遂行の間生じた個々の
マイクロ指令遂行であるサイクルの数のカウント
を与える。オーバラツプ・カウント蓄積デバイス
は、全レパートリーのマクロ指令のシーケンスの
全ての可能な結合に対するサイクル・カウント情
報を蓄積するために利用される。マクロ指令の発
生の各シーケンスに対するカウント情報は、次の
引続くマクロ指令が開始されうる前に生じねばな
らない現在のマクロ指令遂行におけるサイクルの
数を明示する。1対の比較器は、蓄積デバイスか
ら読取られる制御サイクル・カウントを比較する
ために作用する。蓄積デバイスはカウントを保持
し、そのカウントと上述の2サイクル・カウンタ
の結果による読取と比較する。マクロ指令の遂行
の制御における制御蓄積デバイスのサイクル・カ
ウンタが制御カウントに等しいか又は制御カウン
トを超えたかを決定される時、交代の制御蓄積デ
バイスが活動化され、次の引続くマクロ指令が進
むことを許容される。
2つのマクロ指令に対して生じるマイクロ指令
間の制御機能が干渉しない時遂行のオーバラツプ
は生じることを許容されるのみである。すなわ
ち、オーバラツプの点から及び最終マイクロ指令
の遂行に至るまで、制御信号は相互に排他的でな
ければならない。出力レジスタは各制御蓄積デバ
イスの出力に接続され、オーバラツプの間マイク
ロ指令の対を受取ることができるので、2つのマ
イクロ指令における各ビツト位置は、マイクロ遂
行制御レジスタにおける関連する位置をセツトす
るために一緒にオアされる。
間の制御機能が干渉しない時遂行のオーバラツプ
は生じることを許容されるのみである。すなわ
ち、オーバラツプの点から及び最終マイクロ指令
の遂行に至るまで、制御信号は相互に排他的でな
ければならない。出力レジスタは各制御蓄積デバ
イスの出力に接続され、オーバラツプの間マイク
ロ指令の対を受取ることができるので、2つのマ
イクロ指令における各ビツト位置は、マイクロ遂
行制御レジスタにおける関連する位置をセツトす
るために一緒にオアされる。
各マクロ指令はデコード・レジスタに順次に読
込まれる。マクロ指令の1部分は、遂行されるべ
き特定のマクロ指令のエントリーポイント・アド
レスとして利用される。エントリーポイント・ア
ドレスは、制御蓄積デバイスのうちの選択された
1つに指向され、そのマクロ指令の遂行の開始に
おいて、引続くマイクロ指令およびブランチ指令
のアドレツシングは、制御蓄積デバイスの制御を
受ける。マクロ指令のフアンクシヨン・コード部
分は、マクロ指令のその特定シーケンスに対して
生じねばならないオーバラツプ・サイクル・カウ
ントを明示するアドレスを選択するための次の引
続くマクロ指令フアンクシヨン・コードとともに
利用される。
込まれる。マクロ指令の1部分は、遂行されるべ
き特定のマクロ指令のエントリーポイント・アド
レスとして利用される。エントリーポイント・ア
ドレスは、制御蓄積デバイスのうちの選択された
1つに指向され、そのマクロ指令の遂行の開始に
おいて、引続くマイクロ指令およびブランチ指令
のアドレツシングは、制御蓄積デバイスの制御を
受ける。マクロ指令のフアンクシヨン・コード部
分は、マクロ指令のその特定シーケンスに対して
生じねばならないオーバラツプ・サイクル・カウ
ントを明示するアドレスを選択するための次の引
続くマクロ指令フアンクシヨン・コードとともに
利用される。
このシステムは、データ依存または満足されね
ばならない外部フアクタに基づく可変遂行時間長
さ要求を有しうるマクロ指令の遂行の適合を許容
する。データ依存および可変時間長さシーケンス
の発生を感知するための制御システムが設けら
れ、フアンクシヨン・マクロ指令の可変部分が完
了されたことが信号されるまで、関連するサイク
ル・カウンタの進行を阻止する。可変部分が完了
された時、オーバラツプ制御は上述のように進行
することを許容される。
ばならない外部フアクタに基づく可変遂行時間長
さ要求を有しうるマクロ指令の遂行の適合を許容
する。データ依存および可変時間長さシーケンス
の発生を感知するための制御システムが設けら
れ、フアンクシヨン・マクロ指令の可変部分が完
了されたことが信号されるまで、関連するサイク
ル・カウンタの進行を阻止する。可変部分が完了
された時、オーバラツプ制御は上述のように進行
することを許容される。
マイクロ指令のシーケンスが完了される時、関
連するサイクル・カウンタのカウンテイングを停
止するための信号が発生され、制御セクシヨン
は、第2の引続くマクロ指令のオーバラツプの考
察を開始できることを信号される。
連するサイクル・カウンタのカウンテイングを停
止するための信号が発生され、制御セクシヨン
は、第2の引続くマクロ指令のオーバラツプの考
察を開始できることを信号される。
上述の説明から、マクロ指令オーバラツプ制御
は、共通に役立つ機能の利用能力を与え、データ
処理システムの能率を高め、このシステムの処理
能力(through−put)の速度を有効に増大させ
る。
は、共通に役立つ機能の利用能力を与え、データ
処理システムの能率を高め、このシステムの処理
能力(through−put)の速度を有効に増大させ
る。
目 的
本発明の背景および本発明の要約を想起する
と、本発明の目的は、データ処理システムにおけ
るマクロ指令のオーバラツプされる遂行を制御
し、各マクロ指令はマイクロ指令の関連するセツ
トの遂行によつて実施されるシステムを提供する
ことである。
と、本発明の目的は、データ処理システムにおけ
るマクロ指令のオーバラツプされる遂行を制御
し、各マクロ指令はマイクロ指令の関連するセツ
トの遂行によつて実施されるシステムを提供する
ことである。
本発明の他の目的は、1対の制御蓄積デバイス
を設けることによつてマクロ指令の遂行をオーバ
ラツプさせるためのシステムと、引続くマクロ指
令のオーバラツプされる遂行が生じうるポイント
を決定するためのシステムを提供し、上記制御蓄
積デバイスの各々は、別個にアドレス可能であ
り、同一のアドレスに蓄積される各マクロ指令に
対するマイクロ指令のセツトを有するシステムを
提供することである。
を設けることによつてマクロ指令の遂行をオーバ
ラツプさせるためのシステムと、引続くマクロ指
令のオーバラツプされる遂行が生じうるポイント
を決定するためのシステムを提供し、上記制御蓄
積デバイスの各々は、別個にアドレス可能であ
り、同一のアドレスに蓄積される各マクロ指令に
対するマイクロ指令のセツトを有するシステムを
提供することである。
本発明の更に他の目的は、個々のマクロ指令が
可変長さシーケンスを含みうる場合マクロ指令の
遂行のオーバラツプを有効に与えることである。
可変長さシーケンスを含みうる場合マクロ指令の
遂行のオーバラツプを有効に与えることである。
本発明の他の目的および利点は、図面を参照す
る次の説明から明瞭になるであろう。
る次の説明から明瞭になるであろう。
実施例の説明
第1図を参照すると、本発明を利用するデータ
処理システムのブロツク図が示される。この第1
図は、データ処理システムに関する本発明の構成
および機能動作を説明するために使用される。
処理システムのブロツク図が示される。この第1
図は、データ処理システムに関する本発明の構成
および機能動作を説明するために使用される。
第1図のデータ処理システムは、メモリ・ユニ
ツト(MU)10を含む。メモリ・ユニツト
(MU)10は通常の性質であり、有用な各種の
メモリから選択されうる。メモリ・ユニツト10
はオペランドおよびマクロ指令を蓄積するために
利用される。このシステムに対する処理を与える
演算処理装置(AP)12もまた含まれる。メモ
リ・ユニツト10は演算処理装置12にケーブル
14を経てオペランドを与え、そしてケーブル1
6を経て演算処理装置12から蓄積のためオペラ
ンドを受取る。このデータ処理システムは、デー
タ処理システムによる指令の遂行のための制御機
能を遂行するために制御ユニツト(CU)22を
利用する。制御ユニツト22はまたクロツク・タ
イミングを与える。制御ユニツト22はケーブル
24を経てメモリ・ユニツト10からマクロ指令
を制御信号と共に受取り、ケーブル26を経てメ
モリ・ユニツト10に制御信号を与える。制御ユ
ニツト22により読取られるマクロ指令は、翻訳
され、ケーブル28上の出力として役立てられ
る。マクロ指令オーバラツプ制御ユニツト
(MOCU)30は、演算処理装置12および制御
ユニツト22と相互に密接な関係にあり、ケーブ
ル28を経てマクロ指令を受取るために機能し、
ケーブル32を経てマクロ指令のシーケンスを演
算処理装置12に与える。MOCU30はケーブ
ル34を経て演算処理装置12から制御信号を受
取る。MOCU30はケーブル36を経て制御ユ
ニツト22から受取られる制御信号に応答して作
動し、後に詳しく説明する如く順次に受取られる
マクロ指令の遂行のオーバラツプを与える。演算
処理装置12はケーブル38を経て制御ユニツト
22から制御信号を受取り、ケーブル40を経て
制御ユニツト22にブランチ制御信号を与える。
ツト(MU)10を含む。メモリ・ユニツト
(MU)10は通常の性質であり、有用な各種の
メモリから選択されうる。メモリ・ユニツト10
はオペランドおよびマクロ指令を蓄積するために
利用される。このシステムに対する処理を与える
演算処理装置(AP)12もまた含まれる。メモ
リ・ユニツト10は演算処理装置12にケーブル
14を経てオペランドを与え、そしてケーブル1
6を経て演算処理装置12から蓄積のためオペラ
ンドを受取る。このデータ処理システムは、デー
タ処理システムによる指令の遂行のための制御機
能を遂行するために制御ユニツト(CU)22を
利用する。制御ユニツト22はまたクロツク・タ
イミングを与える。制御ユニツト22はケーブル
24を経てメモリ・ユニツト10からマクロ指令
を制御信号と共に受取り、ケーブル26を経てメ
モリ・ユニツト10に制御信号を与える。制御ユ
ニツト22により読取られるマクロ指令は、翻訳
され、ケーブル28上の出力として役立てられ
る。マクロ指令オーバラツプ制御ユニツト
(MOCU)30は、演算処理装置12および制御
ユニツト22と相互に密接な関係にあり、ケーブ
ル28を経てマクロ指令を受取るために機能し、
ケーブル32を経てマクロ指令のシーケンスを演
算処理装置12に与える。MOCU30はケーブ
ル34を経て演算処理装置12から制御信号を受
取る。MOCU30はケーブル36を経て制御ユ
ニツト22から受取られる制御信号に応答して作
動し、後に詳しく説明する如く順次に受取られる
マクロ指令の遂行のオーバラツプを与える。演算
処理装置12はケーブル38を経て制御ユニツト
22から制御信号を受取り、ケーブル40を経て
制御ユニツト22にブランチ制御信号を与える。
ケーブルを参照する時、これらはワイヤー接続
を含むが、ワイヤーは構造上ケーブル内にあるこ
とを必ずしも意味しないことを理解すべきであ
る。
を含むが、ワイヤーは構造上ケーブル内にあるこ
とを必ずしも意味しないことを理解すべきであ
る。
機能的に、MOCU30は、それがマクロ指令
オーバラツプに対する制御機能を遂行する点にお
いて制御ユニツト22に最も関係するが、図面で
は分離され、制御ユニツト22と演算処理装置1
2の中間にある。
オーバラツプに対する制御機能を遂行する点にお
いて制御ユニツト22に最も関係するが、図面で
は分離され、制御ユニツト22と演算処理装置1
2の中間にある。
本発明のタイミングは制御ユニツト22から得
られ、第2図の如く4つのフエーズ・クロツクか
ら成る。各クロツク・パルスは30ナノ秒の名目サ
イクルにて5.5±0.5ナノ秒の時間長さを有する。
タイミングおよび制御は、クロツク・サイクル当
り1マイクロ指令の遂行を与え、オーバラツプさ
れる遂行の場合に、クロツク・サイクルの間遂行
されているオーバラツプされるマクロ指令に対し
て2つのマイクロ指令を実際に生じる。これは後
に詳しく説明する。
られ、第2図の如く4つのフエーズ・クロツクか
ら成る。各クロツク・パルスは30ナノ秒の名目サ
イクルにて5.5±0.5ナノ秒の時間長さを有する。
タイミングおよび制御は、クロツク・サイクル当
り1マイクロ指令の遂行を与え、オーバラツプさ
れる遂行の場合に、クロツク・サイクルの間遂行
されているオーバラツプされるマクロ指令に対し
て2つのマイクロ指令を実際に生じる。これは後
に詳しく説明する。
第3図は本発明の詳細なブロツク図である。既
述の素子と同様な機能および説明を有する素子
は、同一の参照数字を有する。メモリ・ユニツト
10はケーブル24によつて制御ユニツト22に
結合され、マクロ指令をマクロ指令選択44に与
えるのに適する。マクロ指令選択44は、マクロ
指令の一部分ケーブル28aを経てMOCU30
に与える。これは後に詳しく説明する。タイミン
グ・シーケンス制御46は、ケーブル36を経て
MOCU30にタイミングおよび制御信号を与え
る。このタイミングは後に詳しく説明する如く、
クロツク信号、シーケンス信号、制御蓄積選択信
号を含む。ブランチ制御48はケーブル40を経
て演算処理装置12から信号を受取り、MOCU
30においてブランチング・コンデイシヨンが要
求される時を示す。ブランチ制御信号はケーブル
28bを経てMOCU30に向けられる。
述の素子と同様な機能および説明を有する素子
は、同一の参照数字を有する。メモリ・ユニツト
10はケーブル24によつて制御ユニツト22に
結合され、マクロ指令をマクロ指令選択44に与
えるのに適する。マクロ指令選択44は、マクロ
指令の一部分ケーブル28aを経てMOCU30
に与える。これは後に詳しく説明する。タイミン
グ・シーケンス制御46は、ケーブル36を経て
MOCU30にタイミングおよび制御信号を与え
る。このタイミングは後に詳しく説明する如く、
クロツク信号、シーケンス信号、制御蓄積選択信
号を含む。ブランチ制御48はケーブル40を経
て演算処理装置12から信号を受取り、MOCU
30においてブランチング・コンデイシヨンが要
求される時を示す。ブランチ制御信号はケーブル
28bを経てMOCU30に向けられる。
演算処理装置12は、大型デイジタル処理シス
テムの通常の演算および論理機能を遂行するため
に種々の回路を利用する。特色として、これらの
機能は固定点および浮動点算術演算、加算、減
算、乗算、除算、位取り、論理機能および所望の
このような他の機能を含む。これらの目的のため
に、各種の機能回路が含まれる。説明のため、オ
ア機能50、アダー機能52、スケーラー機能5
4、アンド機能56および全ての他の機能58が
示される。演算処理装置は、サイン、無意味なゼ
ロ、大きさ、レジスタ・オーバフロウのようなコ
ンデイシヨンおよび専門家に良く知られた多くの
他のコンデイシヨンを感知するための回路を利用
する。テストされる各種のコンデイシヨンは、指
令の遂行においてブランチ・コンデイシヨンにし
ばしば達する。テスト・コンデイシヨン60の出
力はケーブル40を経てブランチ制御48に供給
される。マイクロ指令のセツトにおける機能ブラ
ンチングは、特定のブランチ・コンデイシヨンが
存在することが決定される時遂行されねばならな
いもう一つのシーケンスの選択を通常含む。制御
蓄積のアドレツシングおよびブランチ・アドレツ
シングの決定は後に詳細に説明されるであろう。
テムの通常の演算および論理機能を遂行するため
に種々の回路を利用する。特色として、これらの
機能は固定点および浮動点算術演算、加算、減
算、乗算、除算、位取り、論理機能および所望の
このような他の機能を含む。これらの目的のため
に、各種の機能回路が含まれる。説明のため、オ
ア機能50、アダー機能52、スケーラー機能5
4、アンド機能56および全ての他の機能58が
示される。演算処理装置は、サイン、無意味なゼ
ロ、大きさ、レジスタ・オーバフロウのようなコ
ンデイシヨンおよび専門家に良く知られた多くの
他のコンデイシヨンを感知するための回路を利用
する。テストされる各種のコンデイシヨンは、指
令の遂行においてブランチ・コンデイシヨンにし
ばしば達する。テスト・コンデイシヨン60の出
力はケーブル40を経てブランチ制御48に供給
される。マイクロ指令のセツトにおける機能ブラ
ンチングは、特定のブランチ・コンデイシヨンが
存在することが決定される時遂行されねばならな
いもう一つのシーケンスの選択を通常含む。制御
蓄積のアドレツシングおよびブランチ・アドレツ
シングの決定は後に詳細に説明されるであろう。
MOCU30は制御蓄積1(CS−1)62と制
御蓄積2(CS−2)64を含む。CS−1および
CS−2の各々はそれら自体のアドレツシング回
路を含み且つマクロ指令のレパートリーに対する
マイクロ指令のセツトを蓄積するのに適したメモ
リ・デバイスを含む。それらはマイクロ指令のセ
ツトに対する各制御蓄積において同一であるマイ
クロ指令の各セツトに対するアドレスと同様に配
列される。更に、制御蓄積システム62および6
4は、それら自体の独立的なアドレツシング回路
を含み、後に詳細に説明するサイクル・カウンタ
および制御をも含む。ブロツク66に示されるマ
クロ指令オーバラツプ制御および制御蓄積アドレ
ツシングはMOCU30の数種の動作を制御す
る。それはマクロ指令選択回路44からケーブル
28aを経てマイクロ指令アドレスを受取り、線
路68を経てCS−1およびCS−2へのマイクロ
指令シーケンスへのイニシアル・エントリーのた
めにこれらのアドレスを与える。タイミング・シ
ーケンス制御46は、制御蓄積デバイスが作動的
であるイニシアル選択を与える。マイクロ指令の
特定セツトにおけるイニシアル指令に対するエン
トリーアドレスがセツトされ且つシーケンスが進
行することを許容されるならば、CS−1はオア
回路72へのケーブル70上にマイクロ指令出力
を与える。オア回路72はマイクロ指令をケーブ
ル74を経てマイクロ遂行レジスタ76に進行さ
せる。同様に、CS−2が制御ユニツト22によ
つて選択されるならば、それはオア回路72への
出力ケーブル上にマイクロ指令を読取る。マイク
ロ遂行レジスタ76へ読取られる選択されたマイ
クロ指令の部分は、ケーブル32を経て演算処理
装置12に伝達され、その特定のクロツク・サイ
クルの間遂行される各種の機能を明示する。
御蓄積2(CS−2)64を含む。CS−1および
CS−2の各々はそれら自体のアドレツシング回
路を含み且つマクロ指令のレパートリーに対する
マイクロ指令のセツトを蓄積するのに適したメモ
リ・デバイスを含む。それらはマイクロ指令のセ
ツトに対する各制御蓄積において同一であるマイ
クロ指令の各セツトに対するアドレスと同様に配
列される。更に、制御蓄積システム62および6
4は、それら自体の独立的なアドレツシング回路
を含み、後に詳細に説明するサイクル・カウンタ
および制御をも含む。ブロツク66に示されるマ
クロ指令オーバラツプ制御および制御蓄積アドレ
ツシングはMOCU30の数種の動作を制御す
る。それはマクロ指令選択回路44からケーブル
28aを経てマイクロ指令アドレスを受取り、線
路68を経てCS−1およびCS−2へのマイクロ
指令シーケンスへのイニシアル・エントリーのた
めにこれらのアドレスを与える。タイミング・シ
ーケンス制御46は、制御蓄積デバイスが作動的
であるイニシアル選択を与える。マイクロ指令の
特定セツトにおけるイニシアル指令に対するエン
トリーアドレスがセツトされ且つシーケンスが進
行することを許容されるならば、CS−1はオア
回路72へのケーブル70上にマイクロ指令出力
を与える。オア回路72はマイクロ指令をケーブ
ル74を経てマイクロ遂行レジスタ76に進行さ
せる。同様に、CS−2が制御ユニツト22によ
つて選択されるならば、それはオア回路72への
出力ケーブル上にマイクロ指令を読取る。マイク
ロ遂行レジスタ76へ読取られる選択されたマイ
クロ指令の部分は、ケーブル32を経て演算処理
装置12に伝達され、その特定のクロツク・サイ
クルの間遂行される各種の機能を明示する。
実施例のため、個々のマイクロ指令は並列制御
を実質的に与えるように配列される。すなわち、
マイクロ指令における各ビツト位置は、他の翻訳
またはデコーデイングなしに特定機能を制御する
ために配置される。すなわち、制御機能は他のタ
イミング制御を要求し得ないとは言えないまで
も、マイクロ指令の実質的なデコーデイングが要
求されないことを指示しようとする。しかしなが
ら、これは制限と解釈すべきではない。何故なら
ば、演算処理装置12における各種機能の相互排
他的制御がマイクロ指令の引続く対の遂行のオー
バラツプ部分の間達成されるように、マイクロ指
令フオーマツトが配置されうるならば、マイクロ
指令のデコーデイングが要求される場合と同等に
本発明の概念は作用する。
を実質的に与えるように配列される。すなわち、
マイクロ指令における各ビツト位置は、他の翻訳
またはデコーデイングなしに特定機能を制御する
ために配置される。すなわち、制御機能は他のタ
イミング制御を要求し得ないとは言えないまで
も、マイクロ指令の実質的なデコーデイングが要
求されないことを指示しようとする。しかしなが
ら、これは制限と解釈すべきではない。何故なら
ば、演算処理装置12における各種機能の相互排
他的制御がマイクロ指令の引続く対の遂行のオー
バラツプ部分の間達成されるように、マイクロ指
令フオーマツトが配置されうるならば、マイクロ
指令のデコーデイングが要求される場合と同等に
本発明の概念は作用する。
マイクロ指令ワードの各々は、次の引続くマイ
クロ指令のアドレスを明示する部分を含む。次の
マイクロ指令のアドレスは線路80を経てCS−
1から移送される。次のマイクロ指令のアドレス
は、ブランチ・コンデイシヨンが特定のマイクロ
指令の間生じうる時それらの周囲状況のためにそ
の制御ビツトを伴なう。これらの制御ビツトもま
たケーブル80を経てCS−1からブロツク66
に移送される。ケーブル40を経てブランチ制御
48に信号を与えることにより、処理装置が特定
のブランチ・コンデイシヨンが満たされたことを
決定するするならば、指定された次のアドレスよ
りもむしろブランチ・アドレスが次のマイクロ指
令を得るために利用されることを示す信号がケー
ブル28bを経てブロツク66によつて受取られ
る。選択されたアドレスは、適当なマイクロ指令
をケーブル70を経てマイクロ遂行レジスタ76
に読出させる。同様にして、次のアドレスおよび
ブランチ・コンデイシヨンはケーブル82を経て
CS−2からブロツク66に指向される。このア
ドレツシングおよびブランチ制御は後に詳しく説
明する。
クロ指令のアドレスを明示する部分を含む。次の
マイクロ指令のアドレスは線路80を経てCS−
1から移送される。次のマイクロ指令のアドレス
は、ブランチ・コンデイシヨンが特定のマイクロ
指令の間生じうる時それらの周囲状況のためにそ
の制御ビツトを伴なう。これらの制御ビツトもま
たケーブル80を経てCS−1からブロツク66
に移送される。ケーブル40を経てブランチ制御
48に信号を与えることにより、処理装置が特定
のブランチ・コンデイシヨンが満たされたことを
決定するするならば、指定された次のアドレスよ
りもむしろブランチ・アドレスが次のマイクロ指
令を得るために利用されることを示す信号がケー
ブル28bを経てブロツク66によつて受取られ
る。選択されたアドレスは、適当なマイクロ指令
をケーブル70を経てマイクロ遂行レジスタ76
に読出させる。同様にして、次のアドレスおよび
ブランチ・コンデイシヨンはケーブル82を経て
CS−2からブロツク66に指向される。このア
ドレツシングおよびブランチ制御は後に詳しく説
明する。
現在作動中のマクロ指令と関連して線路28a
を経て受取られるマクロ指令をエバリユエートし
且つマクロ指令のシーケンスに基づいて遂行のオ
ーバラツプが許されるかどうかを選択および決定
し、現在のマクロ指令が進行することを許される
最終マクロ指令の遂行における点を決定する回路
をブロツク66は含む。マイクロ遂行レジスタ7
6の適当な段階をセツトするためにケーブル70
および78を経て同時にオア回路72にマイクロ
指令を与えることが許されることを示す制御が、
ケーブル68を経てCS−1およびCS−2に与え
られる。
を経て受取られるマクロ指令をエバリユエートし
且つマクロ指令のシーケンスに基づいて遂行のオ
ーバラツプが許されるかどうかを選択および決定
し、現在のマクロ指令が進行することを許される
最終マクロ指令の遂行における点を決定する回路
をブロツク66は含む。マイクロ遂行レジスタ7
6の適当な段階をセツトするためにケーブル70
および78を経て同時にオア回路72にマイクロ
指令を与えることが許されることを示す制御が、
ケーブル68を経てCS−1およびCS−2に与え
られる。
マイクロ指令の各セツトにおける最終マイクロ
指令は、停止(Halt)ビツトとして知られる制御
ビツト位置を含む。停止ビツトの機能は、関連す
るサイクル・カウンタをしてそのカウンテイング
を停止させる信号をマイクロ遂行レジスタ76か
ら線路84を経てブロツク66に与え且つ他のサ
イクル・カウンタをしてそのカウンテイングを停
止させるマイクロ遂行レジスタ76からの信号を
線路86を経てブロツク66に与え且つ線路88
を経てタイミング・シーケンス制御46に信号を
与え、1つのマクロ指令が完了されたこと及び他
のシーケンシングが生じうることをその制御ユニ
ツトに知らせることである。これらの機能動作
は、関連する回路と共に後に詳しく説明する。同
様に、シーケンスの可変またはデータ依存部分を
含むマイクロ指令のオーバラツプを与える機能動
作も後に説明する。
指令は、停止(Halt)ビツトとして知られる制御
ビツト位置を含む。停止ビツトの機能は、関連す
るサイクル・カウンタをしてそのカウンテイング
を停止させる信号をマイクロ遂行レジスタ76か
ら線路84を経てブロツク66に与え且つ他のサ
イクル・カウンタをしてそのカウンテイングを停
止させるマイクロ遂行レジスタ76からの信号を
線路86を経てブロツク66に与え且つ線路88
を経てタイミング・シーケンス制御46に信号を
与え、1つのマクロ指令が完了されたこと及び他
のシーケンシングが生じうることをその制御ユニ
ツトに知らせることである。これらの機能動作
は、関連する回路と共に後に詳しく説明する。同
様に、シーケンスの可変またはデータ依存部分を
含むマイクロ指令のオーバラツプを与える機能動
作も後に説明する。
第4図はMOCU30に供給されるマクロ指令
のフオーマツトを例示する。ビツト位置表示の規
約は、0が最高位デイジツトであり、数が増加す
るにつれて低位デジツトになる。ビツト位置0な
いし5は指令グループ・フイールドを表示し、遂
行されるべき特定のマクロ指令を明示する。この
フイールドは、アドレツシングの一部分を形成す
ることによりオーバラツプ・サイクル・カウント
の選択のために利用される。前述の如く、オーバ
ラツプ・サイクル・カウント制御ワードはマクロ
指令の全てのシーケンス・コンビネーシヨンのた
め確立される。従つて、マクロ指令の指令グルー
プ・フイールドが遂行されるために待つている
時、それはアドレツシング・ワードの最低位部分
を形成する。マクロ指令が遂行される段階に移動
する時、指令グループ・フイールドは位をシフト
し、オーバラツプ・カウントのためアドレツシン
グ・ワードの最高位部分になる。これは詳細な回
路の考察において更に詳しく説明する。
のフオーマツトを例示する。ビツト位置表示の規
約は、0が最高位デイジツトであり、数が増加す
るにつれて低位デジツトになる。ビツト位置0な
いし5は指令グループ・フイールドを表示し、遂
行されるべき特定のマクロ指令を明示する。この
フイールドは、アドレツシングの一部分を形成す
ることによりオーバラツプ・サイクル・カウント
の選択のために利用される。前述の如く、オーバ
ラツプ・サイクル・カウント制御ワードはマクロ
指令の全てのシーケンス・コンビネーシヨンのた
め確立される。従つて、マクロ指令の指令グルー
プ・フイールドが遂行されるために待つている
時、それはアドレツシング・ワードの最低位部分
を形成する。マクロ指令が遂行される段階に移動
する時、指令グループ・フイールドは位をシフト
し、オーバラツプ・カウントのためアドレツシン
グ・ワードの最高位部分になる。これは詳細な回
路の考察において更に詳しく説明する。
ビツト位置6はマクロ指令ワードの最小遅延ビ
ツトであり、0にセツトされる時、現在のマクロ
指令の開始後直ちに次のマクロ指令が開始できる
ことを示す。このコンデイシヨンに対して、引続
くマクロ指令は演算処理装置12において全く異
なる機能を利用し同時に機能できるので、オーバ
ラツプ・サイクル・カウントを確立することは不
要である。かわりに、それは、現在に指令が1ク
ロツク・サイクルにおいて遂行されうることを示
す。最小遅延ビツトが1にセツトされる時、それ
は、次のマクロ指令の進行を許す前に少なくとも
遅延の1クロツク・サイクルが存在しなければな
らないことをMOCU30に示す。これは、マク
ロ指令コンビネーシヨンに対して存在しなければ
ならない実際のオーバラツプ・サイクル・カウン
トのルツク・アツプを遂行するための適当な時間
をMOCUに与える。
ツトであり、0にセツトされる時、現在のマクロ
指令の開始後直ちに次のマクロ指令が開始できる
ことを示す。このコンデイシヨンに対して、引続
くマクロ指令は演算処理装置12において全く異
なる機能を利用し同時に機能できるので、オーバ
ラツプ・サイクル・カウントを確立することは不
要である。かわりに、それは、現在に指令が1ク
ロツク・サイクルにおいて遂行されうることを示
す。最小遅延ビツトが1にセツトされる時、それ
は、次のマクロ指令の進行を許す前に少なくとも
遅延の1クロツク・サイクルが存在しなければな
らないことをMOCU30に示す。これは、マク
ロ指令コンビネーシヨンに対して存在しなければ
ならない実際のオーバラツプ・サイクル・カウン
トのルツク・アツプを遂行するための適当な時間
をMOCUに与える。
ビツト位置7ないし16はマイクロ指令エントリ
ーアドレスを含む。このアドレスはCS−1およ
びCS−2におけるマイクロ指令のセツトの開始
アドレスを表わす。
ーアドレスを含む。このアドレスはCS−1およ
びCS−2におけるマイクロ指令のセツトの開始
アドレスを表わす。
マクロ指令の残りのnビツト位置は、本発明に
関連しない他の用途に対するものである。
関連しない他の用途に対するものである。
第5図はこのレパートリーにおけるマクロ指令
のシーケンスの各コンビネーシヨンに対して確立
されるオーバラツプ・カウント・ワードのフオー
マツトを示す。ビツト位置0はデータ依存ビツト
(DDB)である。DDBが0にセツトされる時それ
は、開始されるマクロ指令は一定の遂行シーケン
スを有し、オーバラツプは直ちに決定されうるこ
とを示す。DDBが1にセツトされる時それは、
開始される指令はデータ依存のため可変遂行シー
ケンスを有することを示す。これは、シーケンス
の可変部分が完了したことが決定されるまで遂行
サイクルのカウンテイングを禁止するために用い
られる制御を与える。DDBは、開始されるマク
ロ指令の指令シーケンスにおいて利用される。ビ
ツト1ないし5はマクロ指令シーケンスに対する
オーバラツプ・ポイント・サイクル・カウントを
示す。これらのワードの各々は、後に詳しく説明
する特殊メモリ・デバイスに蓄積される。第4図
の説明から、マクロ指令ワードの最小遅延ビツト
は、次の指令が進行できる前に少なくとも1クロ
ツク・サイクルが進行しなければならないことを
示したことを思い出すであろう。これはオーバラ
ツプ・ポイント・サイクル・カウント・ワードの
ルツク・アツプを与える。各シーケンスに対して
確立されるオーバラツプ・ポイント・サイクル・
カウントは、オーバラツプに対して許容されうる
実際のサイクル・カウントよりも実際は1サイク
ル・カウント少ない。これは、オーバラツプ制御
をルツク・アツプし且つ確立するために利用され
るサイクルを受入れる。
のシーケンスの各コンビネーシヨンに対して確立
されるオーバラツプ・カウント・ワードのフオー
マツトを示す。ビツト位置0はデータ依存ビツト
(DDB)である。DDBが0にセツトされる時それ
は、開始されるマクロ指令は一定の遂行シーケン
スを有し、オーバラツプは直ちに決定されうるこ
とを示す。DDBが1にセツトされる時それは、
開始される指令はデータ依存のため可変遂行シー
ケンスを有することを示す。これは、シーケンス
の可変部分が完了したことが決定されるまで遂行
サイクルのカウンテイングを禁止するために用い
られる制御を与える。DDBは、開始されるマク
ロ指令の指令シーケンスにおいて利用される。ビ
ツト1ないし5はマクロ指令シーケンスに対する
オーバラツプ・ポイント・サイクル・カウントを
示す。これらのワードの各々は、後に詳しく説明
する特殊メモリ・デバイスに蓄積される。第4図
の説明から、マクロ指令ワードの最小遅延ビツト
は、次の指令が進行できる前に少なくとも1クロ
ツク・サイクルが進行しなければならないことを
示したことを思い出すであろう。これはオーバラ
ツプ・ポイント・サイクル・カウント・ワードの
ルツク・アツプを与える。各シーケンスに対して
確立されるオーバラツプ・ポイント・サイクル・
カウントは、オーバラツプに対して許容されうる
実際のサイクル・カウントよりも実際は1サイク
ル・カウント少ない。これは、オーバラツプ制御
をルツク・アツプし且つ確立するために利用され
るサイクルを受入れる。
第6図は制御デバイスに蓄積される制御ワード
のフオーマツトを例示し、このようなワードの
各々は、関連するマクロ指令の遂行における1ス
テツプを含む。実際のマイクロ指令はマイクロ指
令フイールドに示され、長さはjビツトである。
個々のクロツク・サイクルの間に演算処理装置1
2における実際の機能を制御するためにマイクロ
遂行レジスタ76に進行するのは制御ワードのこ
の部分である。
のフオーマツトを例示し、このようなワードの
各々は、関連するマクロ指令の遂行における1ス
テツプを含む。実際のマイクロ指令はマイクロ指
令フイールドに示され、長さはjビツトである。
個々のクロツク・サイクルの間に演算処理装置1
2における実際の機能を制御するためにマイクロ
遂行レジスタ76に進行するのは制御ワードのこ
の部分である。
制御ワードは、次の制御ワードすなわち次のマ
イクロ指令の次のアドレスを指定し、このため、
aビツトから成る次のアドレス・フイールドを有
する。この実施例では、次のアドレス・フイール
ドは9ビツトの長さである。全体のアドレスは長
さが10ビツトである。次のマイクロ指令のアドレ
スにおける最低位ビツトは、ブランチ・コンデイ
シヨンの発生によつて決定されることがわかる。
これは詳細なハードウエアの構成において詳しく
説明する。
イクロ指令の次のアドレスを指定し、このため、
aビツトから成る次のアドレス・フイールドを有
する。この実施例では、次のアドレス・フイール
ドは9ビツトの長さである。全体のアドレスは長
さが10ビツトである。次のマイクロ指令のアドレ
スにおける最低位ビツトは、ブランチ・コンデイ
シヨンの発生によつて決定されることがわかる。
これは詳細なハードウエアの構成において詳しく
説明する。
ブランチ・コンデイシヨンは、ブランチ・コン
デイシヨンと記されるフイールドによる特定の制
御ワードに対して示され、bビツトの長さであ
る。適当なブランチング信号が受取られ、ブラン
チ・コンデイシヨン・フイールドからの翻訳され
たコードがそれがこのマイクロ指令クロツク・サ
イクルの間選択されるべき適当なブランチ・コン
デイシヨンであることを示す時、ブランチ・コン
デイシヨンが満足されるように、ブランチ・コン
デイシヨン・フイールドはセレクタにおいて翻訳
されるので、唯一のブランチ・コンデイシヨンの
みが任意の個々の制御ワードに対して許されう
る。この実施例のため、ブランチ・コンデイシヨ
ン・フイールドは長さが5ビツトであり、このマ
イクロ指令サイクルに対する特定のブランチ・コ
ンデイシヨンの選択のために十分な容量を有す
る。ブランチ・コンデイシヨンが満足されたこと
がわかると、後に説明する論理回路は、ブランチ
ング・コンデイシヨンの満足に際し生ずべきであ
るマイクロ指令のアドレスを選択するために次の
マイクロ指令のアドレスの最低位ビツト位置にお
ける適当なビツト設定を与える。
デイシヨンと記されるフイールドによる特定の制
御ワードに対して示され、bビツトの長さであ
る。適当なブランチング信号が受取られ、ブラン
チ・コンデイシヨン・フイールドからの翻訳され
たコードがそれがこのマイクロ指令クロツク・サ
イクルの間選択されるべき適当なブランチ・コン
デイシヨンであることを示す時、ブランチ・コン
デイシヨンが満足されるように、ブランチ・コン
デイシヨン・フイールドはセレクタにおいて翻訳
されるので、唯一のブランチ・コンデイシヨンの
みが任意の個々の制御ワードに対して許されう
る。この実施例のため、ブランチ・コンデイシヨ
ン・フイールドは長さが5ビツトであり、このマ
イクロ指令サイクルに対する特定のブランチ・コ
ンデイシヨンの選択のために十分な容量を有す
る。ブランチ・コンデイシヨンが満足されたこと
がわかると、後に説明する論理回路は、ブランチ
ング・コンデイシヨンの満足に際し生ずべきであ
るマイクロ指令のアドレスを選択するために次の
マイクロ指令のアドレスの最低位ビツト位置にお
ける適当なビツト設定を与える。
制御ワードの一部分はMOCU30の内部制御
のため利用され、kビツトを含む制御フイールド
として示される。種々の制御信号を後に説明す
る。それらは、例えばマイクロ指令のセツトの完
了を示すビツト位置を含む。これは停止位置と称
されるビツト位置を有し、適当なサイクル・カウ
ントを止めるように作動して、特定のマクロ指令
の完了を指示する。
のため利用され、kビツトを含む制御フイールド
として示される。種々の制御信号を後に説明す
る。それらは、例えばマイクロ指令のセツトの完
了を示すビツト位置を含む。これは停止位置と称
されるビツト位置を有し、適当なサイクル・カウ
ントを止めるように作動して、特定のマクロ指令
の完了を指示する。
要するに、制御ワードは基本的には2つの型の
制御からなる。一方は演算処理装置におけるクロ
ツク・サイクルの間機能を制御するために
MOCU30の外部に移送されるjビツトであ
り、他方は内部の制御および機能のために
MOCUの内部にて利用される。これらの制御お
よびフイールドの種々の相互関係は、次の詳細な
回路の説明からわかるであろう。
制御からなる。一方は演算処理装置におけるクロ
ツク・サイクルの間機能を制御するために
MOCU30の外部に移送されるjビツトであ
り、他方は内部の制御および機能のために
MOCUの内部にて利用される。これらの制御お
よびフイールドの種々の相互関係は、次の詳細な
回路の説明からわかるであろう。
第7図の如く配置される第7a図〜第7e図
は、MOCUを作動させるために利用される回路
を例示する詳しい論理図である。回路の全ては有
用なものから選択され、それらの各動作の説明に
よつて他の回路を選択できること及び個々の回路
の詳しい説明は不要であることがわかる。FOデ
コード・レジスタ90は並列伝送にてケーブル2
8aを経て制御ユニツトからマクロ指令を受取
る。FOデコード・レジスタは17ビツト段階(各
ビツト段階は単一ビツトを蓄積できる)と、本発
明と関係ない用途のための多数の他のビツト段階
から成る。マクロ指令ワードのフイールドは第4
図と関連して説明した。
は、MOCUを作動させるために利用される回路
を例示する詳しい論理図である。回路の全ては有
用なものから選択され、それらの各動作の説明に
よつて他の回路を選択できること及び個々の回路
の詳しい説明は不要であることがわかる。FOデ
コード・レジスタ90は並列伝送にてケーブル2
8aを経て制御ユニツトからマクロ指令を受取
る。FOデコード・レジスタは17ビツト段階(各
ビツト段階は単一ビツトを蓄積できる)と、本発
明と関係ない用途のための多数の他のビツト段階
から成る。マクロ指令ワードのフイールドは第4
図と関連して説明した。
オーバラツプ制御はブロツク92によつて示さ
れ、マクロ指令のシーケンスに対して適当なオー
バラツプ制御ワードを選択する機能を分割する。
この実施例のオーバラツプ制御において、94と
して示されるオーバラツプRAM1、96として示
されるオーバラツプRAM2、98として示される
オーバラツプRAM3および100として示される
オーバラツプRAM4の4つのオーバラツプ制御蓄
積デバイスがある。各RAMは1024のアドレス可
能メモリ位置を有するランダム・アクセス・メモ
リを含み、各メモリ位置は第5図にて説明した形
式にて6ビツト・オーバラツプ制御ワードを保持
できる。オーバラツプ制御は、単一のオーバラツ
プRAMを利用できるか又は受入れられねばなら
ない指令シーケンスの数に依存して4つよりも多
い又は少ないRAMを使用できることを理解すべ
きである。
れ、マクロ指令のシーケンスに対して適当なオー
バラツプ制御ワードを選択する機能を分割する。
この実施例のオーバラツプ制御において、94と
して示されるオーバラツプRAM1、96として示
されるオーバラツプRAM2、98として示される
オーバラツプRAM3および100として示される
オーバラツプRAM4の4つのオーバラツプ制御蓄
積デバイスがある。各RAMは1024のアドレス可
能メモリ位置を有するランダム・アクセス・メモ
リを含み、各メモリ位置は第5図にて説明した形
式にて6ビツト・オーバラツプ制御ワードを保持
できる。オーバラツプ制御は、単一のオーバラツ
プRAMを利用できるか又は受入れられねばなら
ない指令シーケンスの数に依存して4つよりも多
い又は少ないRAMを使用できることを理解すべ
きである。
指令グループ・フイールドはケーブル102を
経て現在指令レジスタ104に伝送され、クロツ
ク・サイクルのフエーズ3の間役立てられ且つ蓄
積される。現在指令はケーブル106を経て最終
指令レジスタA108に進行し且つオーバ・ラツ
プRAMデバイス94,96,98および100
の各々の読取アドレス位置4ないし9にケーブル
110を経て進行する。ケーブル110を進行す
る信号は、適当なオーバラツプ制御ユニツトを選
択するためにアドレツシングの最低位部分を形成
する。最終指令レジスタA108の出力は、ケー
ブル112を経て最終指令レジスタB114に進
行する。最終指令の指令グループ・フイールドの
ビツト位置2ないし5は、オーバラツプRAMデ
バイス94,96,98および100の各々に対
するアドレス位置0ないし3にケーブル116を
経て進行する。最終指令の指令グループ・フイー
ルドの最低位4ビツトは、現在指令の指令グルー
プ・フイールドと共に読取アドレスを決定するた
めにオーバラツプ・カウント選択のアドレスを形
成する。更に、全ての4つのオーバラツプRAM
デバイスにアドレスが供給されることがわかる。
経て現在指令レジスタ104に伝送され、クロツ
ク・サイクルのフエーズ3の間役立てられ且つ蓄
積される。現在指令はケーブル106を経て最終
指令レジスタA108に進行し且つオーバ・ラツ
プRAMデバイス94,96,98および100
の各々の読取アドレス位置4ないし9にケーブル
110を経て進行する。ケーブル110を進行す
る信号は、適当なオーバラツプ制御ユニツトを選
択するためにアドレツシングの最低位部分を形成
する。最終指令レジスタA108の出力は、ケー
ブル112を経て最終指令レジスタB114に進
行する。最終指令の指令グループ・フイールドの
ビツト位置2ないし5は、オーバラツプRAMデ
バイス94,96,98および100の各々に対
するアドレス位置0ないし3にケーブル116を
経て進行する。最終指令の指令グループ・フイー
ルドの最低位4ビツトは、現在指令の指令グルー
プ・フイールドと共に読取アドレスを決定するた
めにオーバラツプ・カウント選択のアドレスを形
成する。更に、全ての4つのオーバラツプRAM
デバイスにアドレスが供給されることがわかる。
オーバラツプRAMユニツトの各々からの出力
ワードは、オーバラツプ・レジスタ120に指向
される。最終指令レジスタB114の段階0およ
び1から線路122にて受取られるゲーテイング
信号によつて適当な入力が選択されるように、オ
ーバラツプ・レジスタは、ゲートされるオア入力
を有するレジスタを含む。指令の2ビツト位置が
利用されるので、それは4入力の1つを選択する
ことができる。
ワードは、オーバラツプ・レジスタ120に指向
される。最終指令レジスタB114の段階0およ
び1から線路122にて受取られるゲーテイング
信号によつて適当な入力が選択されるように、オ
ーバラツプ・レジスタは、ゲートされるオア入力
を有するレジスタを含む。指令の2ビツト位置が
利用されるので、それは4入力の1つを選択する
ことができる。
オーバラツプ・レジスタ120の段階0におけ
るDDBビツトは、ブロツク126にて示される
可変シーケンス制御に線路124を経て進行す
る。。カウント制御KOは線路128を経てサイ
クル・カウント比較130に進行する。オーバラ
ツプ・レジスタ120の全出力はケーブル132
を経てオーバラツプRAMユニツト94,96,
98および100に対する書込ユニツトに進行す
る。ケーブル132上の出力は通常の動作の間利
用されない、それで書込は禁止される。それは、
システム配置における変化に対して要求されうる
オーバラツプ制御ワードを変化するためにのみ利
用され且つ本発明に関係ない保守制御過程の下で
なされる。
るDDBビツトは、ブロツク126にて示される
可変シーケンス制御に線路124を経て進行す
る。。カウント制御KOは線路128を経てサイ
クル・カウント比較130に進行する。オーバラ
ツプ・レジスタ120の全出力はケーブル132
を経てオーバラツプRAMユニツト94,96,
98および100に対する書込ユニツトに進行す
る。ケーブル132上の出力は通常の動作の間利
用されない、それで書込は禁止される。それは、
システム配置における変化に対して要求されうる
オーバラツプ制御ワードを変化するためにのみ利
用され且つ本発明に関係ない保守制御過程の下で
なされる。
FOデコード・レジスタ90からの最小遅延ビ
ツト位置は、線路136によつて遅延制御回路1
38に接続される。現在指令の最小遅延ビツトは
指令最小遅延指示回路140を通して供給され
る。この回路は入力信号を受取り、それをクロツ
ク・サイクルのフエーズ3において保持する。そ
れから、出力信号は、最終指令最小遅延指示A回
路144への入力として線路142において役立
つ。これらの回路は良く知られた型式の回路であ
り、それらに供給される入力信号に対する一時的
な保持機能を与え、商業上有用な回路から選択さ
れうる。マクロ指令の特定シーケンスにおける第
1マクロ指令の遂行の間、制御ユニツト24は、
第1マクロ指令が直ちに進行できるように、最終
指令最小遅延指示器Aを0出力ならしめるために
線路146に強制的0を供給する回路(詳細に図
示しない)を有する。回路144からの出力は線
路148を経てN回路150に進行する。N回路
150は、その信号をインバートし、そのインバ
ートされた信号を線路152を経て最終指令最小
遅延指示器B154に進行させるために作動す
る。この後者の回路154からの出力はサイク
ル・カウント比較回路130への入力信号の1つ
として線路156を進行する。イニシアル指令に
おいて、回路144に強制的に入れられる0は、
最終指令最小遅延指示器B154を、次のマクロ
指令が直ちに進行できることを制御回路に指示す
るコンデイシヨンにセツトするために作動する。
これは第1指令が直ちに進行することを許す。そ
れから、各々の引続くマクロ指令の最小遅延ビツ
トは、次の引続くマクロ指令の開始を決定するた
めに読取られ、蓄積される。遅延制御回路138
の機能は、後に詳しく説明するサイクル・カウン
ト比較回路130を考察すると明らかになるであ
ろう。前述の如く、最小遅延は、指令のオーバラ
ツプが生じうる前に経過しなければならないサイ
クルの実際数を決定するためにオーバラツプ制御
回路92によつてオーバラツプ制御ワードのルツ
ク・アツプを遂行するために1クロツク・サイク
ル時間を与えるために作用する。
ツト位置は、線路136によつて遅延制御回路1
38に接続される。現在指令の最小遅延ビツトは
指令最小遅延指示回路140を通して供給され
る。この回路は入力信号を受取り、それをクロツ
ク・サイクルのフエーズ3において保持する。そ
れから、出力信号は、最終指令最小遅延指示A回
路144への入力として線路142において役立
つ。これらの回路は良く知られた型式の回路であ
り、それらに供給される入力信号に対する一時的
な保持機能を与え、商業上有用な回路から選択さ
れうる。マクロ指令の特定シーケンスにおける第
1マクロ指令の遂行の間、制御ユニツト24は、
第1マクロ指令が直ちに進行できるように、最終
指令最小遅延指示器Aを0出力ならしめるために
線路146に強制的0を供給する回路(詳細に図
示しない)を有する。回路144からの出力は線
路148を経てN回路150に進行する。N回路
150は、その信号をインバートし、そのインバ
ートされた信号を線路152を経て最終指令最小
遅延指示器B154に進行させるために作動す
る。この後者の回路154からの出力はサイク
ル・カウント比較回路130への入力信号の1つ
として線路156を進行する。イニシアル指令に
おいて、回路144に強制的に入れられる0は、
最終指令最小遅延指示器B154を、次のマクロ
指令が直ちに進行できることを制御回路に指示す
るコンデイシヨンにセツトするために作動する。
これは第1指令が直ちに進行することを許す。そ
れから、各々の引続くマクロ指令の最小遅延ビツ
トは、次の引続くマクロ指令の開始を決定するた
めに読取られ、蓄積される。遅延制御回路138
の機能は、後に詳しく説明するサイクル・カウン
ト比較回路130を考察すると明らかになるであ
ろう。前述の如く、最小遅延は、指令のオーバラ
ツプが生じうる前に経過しなければならないサイ
クルの実際数を決定するためにオーバラツプ制御
回路92によつてオーバラツプ制御ワードのルツ
ク・アツプを遂行するために1クロツク・サイク
ル時間を与えるために作用する。
ブロツク160にて示されるサイクル・カウン
タ1は、ブロツク162にて示される制御蓄積1
の一定シーケンス動作の間マイクロ指令の遂行の
サイクル数のカウンテイングを制御する。同様
に、ブロツク164にて示されるサイクル・カウ
ンタ2は、ブロツク166にて示される制御蓄積
2に対するマイクロ指令遂行の数をカウントす
る。1マイクロ指令は各クロツク・サイクルに遂
行されるので、サイクル・カウンタ1およびサイ
クル・カウンタ2は、最終指令が可変シーケンス
の種類はないならば、各クロツク・サイクルに1
回それぞれインクリメントされうることを思出す
であろう。最終指令がシーケンスの可変部分にあ
る時サイクル・カウンタはそれらの状態において
進むことを禁止されることを思出すであろう。ブ
ロツク126にて示される可変シーケンス制御
は、一定シーケンス・サイクルの間前進するため
及び指令の可変シーケンス部分の間前進を禁止す
るためサイクル・カウンタの制御を行なう。
タ1は、ブロツク162にて示される制御蓄積1
の一定シーケンス動作の間マイクロ指令の遂行の
サイクル数のカウンテイングを制御する。同様
に、ブロツク164にて示されるサイクル・カウ
ンタ2は、ブロツク166にて示される制御蓄積
2に対するマイクロ指令遂行の数をカウントす
る。1マイクロ指令は各クロツク・サイクルに遂
行されるので、サイクル・カウンタ1およびサイ
クル・カウンタ2は、最終指令が可変シーケンス
の種類はないならば、各クロツク・サイクルに1
回それぞれインクリメントされうることを思出す
であろう。最終指令がシーケンスの可変部分にあ
る時サイクル・カウンタはそれらの状態において
進むことを禁止されることを思出すであろう。ブ
ロツク126にて示される可変シーケンス制御
は、一定シーケンス・サイクルの間前進するため
及び指令の可変シーケンス部分の間前進を禁止す
るためサイクル・カウンタの制御を行なう。
可変シーケンス制御は、線路124を経てオー
バラツプ・レジスタ120からの0ビツト位置か
らデータ依存ビツト(DDB)を受取り、そし
て、可変シーケンスを指示する1つのコンデイシ
ヨンにある時、データ依存指示器168をセツト
するために作動する。DDBは線路170を経て
アンド回路172に進行する。シーケンス信号が
制御回路(図示せず)からオア回路176への線
路173において及びデータ依存カウンタ指示器
178のDDB入力への174aにおいて制御ユ
ニツトから得られる時、オア回路176の出力
は、データ依存カウンタ指示器のクロツク・イン
エーブルへの線路180において信号を与える。
0DDBの発生は出力線路182に信号を生じる。
この信号は、0はシーケンスがデータ依存でなく
可変でないことを示すので、各クロツク・サイク
ルにサイクル・カウンタの進行を許す。代りに、
1DDBの発生は、サイクル・カウンタの進行を禁
止するコンデイシヨンに保持される線路182の
出力信号を生じる。カウンテイングが一度禁止さ
れると、それは、可変シーケンスの特定コンデイ
シヨンが満足されたデータ処理システムからの信
号を可変シーケンス制御が受取るまで進行するこ
とを許されない。例えば、整数デイバイド・シー
ケンスは可変であり、一度過ぎさると、シーケン
スの可変部分は、オア回路176をスイツチする
ために線路184上に信号を与える。この信号は
クロツク・インエーブルを有効にデイスエーブル
し、データ依存カウンタ指示器178をスイツチ
し、線路182上に信号を与える。その信号はカ
ウンテイングが進行することを許す。同様に、蓄
積リクエストが満足される時、クリア/リジユー
ム信号が線路186において受取られ、同一シー
ケンスが反復される。オア回路176への全部の
入力がデイスエーブル状態にある限り、データ依
存カウンタ指示器178はサイクル・カウンタの
進行を禁止させるように、オア回路176はデー
タ処理システムにおける可変シーケンス・コンデ
イシヨンの全部からの入力信号を受取るように配
置され且つ作動する。任意の入力オア回路176
におけるクリア/リジユームの発生は、カウンテ
イングをしてサイクルごとのベースにおいて進行
せしめる。1つの可変シーケンス・コンデイシヨ
ンのみが特定データ依存ビツト・コンデイシヨン
に対して優勢であることを注目すべきである。
バラツプ・レジスタ120からの0ビツト位置か
らデータ依存ビツト(DDB)を受取り、そし
て、可変シーケンスを指示する1つのコンデイシ
ヨンにある時、データ依存指示器168をセツト
するために作動する。DDBは線路170を経て
アンド回路172に進行する。シーケンス信号が
制御回路(図示せず)からオア回路176への線
路173において及びデータ依存カウンタ指示器
178のDDB入力への174aにおいて制御ユ
ニツトから得られる時、オア回路176の出力
は、データ依存カウンタ指示器のクロツク・イン
エーブルへの線路180において信号を与える。
0DDBの発生は出力線路182に信号を生じる。
この信号は、0はシーケンスがデータ依存でなく
可変でないことを示すので、各クロツク・サイク
ルにサイクル・カウンタの進行を許す。代りに、
1DDBの発生は、サイクル・カウンタの進行を禁
止するコンデイシヨンに保持される線路182の
出力信号を生じる。カウンテイングが一度禁止さ
れると、それは、可変シーケンスの特定コンデイ
シヨンが満足されたデータ処理システムからの信
号を可変シーケンス制御が受取るまで進行するこ
とを許されない。例えば、整数デイバイド・シー
ケンスは可変であり、一度過ぎさると、シーケン
スの可変部分は、オア回路176をスイツチする
ために線路184上に信号を与える。この信号は
クロツク・インエーブルを有効にデイスエーブル
し、データ依存カウンタ指示器178をスイツチ
し、線路182上に信号を与える。その信号はカ
ウンテイングが進行することを許す。同様に、蓄
積リクエストが満足される時、クリア/リジユー
ム信号が線路186において受取られ、同一シー
ケンスが反復される。オア回路176への全部の
入力がデイスエーブル状態にある限り、データ依
存カウンタ指示器178はサイクル・カウンタの
進行を禁止させるように、オア回路176はデー
タ処理システムにおける可変シーケンス・コンデ
イシヨンの全部からの入力信号を受取るように配
置され且つ作動する。任意の入力オア回路176
におけるクリア/リジユームの発生は、カウンテ
イングをしてサイクルごとのベースにおいて進行
せしめる。1つの可変シーケンス・コンデイシヨ
ンのみが特定データ依存ビツト・コンデイシヨン
に対して優勢であることを注目すべきである。
ブロツク160にて示されるサイクル・カウン
タ1は、容量が少なくとも5ビツトである和を与
え且つ和K1を与える既知の型式のアダー190
であるサイクル・カウンタ・アダーRAM Aを含
む。アダー190は、RAM Aサイクル・カウン
タBレジスタ194からの線路192において受
取られるオペランドに1を加算するため又は1を
加算しないための信号から成る線路182Aにお
ける1入力を受取る。その和はRAM Aサイク
ル・カウンタAレジスタ198への線路196に
おいて与えられる。このレジスタはまた線路20
0を経て制御信号を受取り且つ線路202を経て
制御ユニツトから強制された0を受取る。線路2
00上の制御信号は後に詳しく説明する停止信号
であり、停止信号が存在する時、RAM Aサイク
ル・カウンタAレジスタ198をクリアするため
に強制された0をインエーブルするために作動す
る。停止信号の不存在は、線路196に送出され
る和がレジスタ198にセツトされることを許
す。レジスタ198からの出力は、クロツク・サ
イクルのフエーズ4の間、RAM Aサイクル・カ
ウントBレジスタ194をセツトするための入力
として線路204を進行し、それによつて、カウ
ントK1は、出力としてのクロツク・サイクルの
フエーズ2の間カウントK1は役立つ。この出力
は、サイクル・カウンタアダーRAM A190へ
のオペランド入力の1つとして線路192上に与
えられ且つサイクル・カウント比較回路130へ
の線路192a上の1組の入力信号のセツトとし
て与えられる。
タ1は、容量が少なくとも5ビツトである和を与
え且つ和K1を与える既知の型式のアダー190
であるサイクル・カウンタ・アダーRAM Aを含
む。アダー190は、RAM Aサイクル・カウン
タBレジスタ194からの線路192において受
取られるオペランドに1を加算するため又は1を
加算しないための信号から成る線路182Aにお
ける1入力を受取る。その和はRAM Aサイク
ル・カウンタAレジスタ198への線路196に
おいて与えられる。このレジスタはまた線路20
0を経て制御信号を受取り且つ線路202を経て
制御ユニツトから強制された0を受取る。線路2
00上の制御信号は後に詳しく説明する停止信号
であり、停止信号が存在する時、RAM Aサイク
ル・カウンタAレジスタ198をクリアするため
に強制された0をインエーブルするために作動す
る。停止信号の不存在は、線路196に送出され
る和がレジスタ198にセツトされることを許
す。レジスタ198からの出力は、クロツク・サ
イクルのフエーズ4の間、RAM Aサイクル・カ
ウントBレジスタ194をセツトするための入力
として線路204を進行し、それによつて、カウ
ントK1は、出力としてのクロツク・サイクルの
フエーズ2の間カウントK1は役立つ。この出力
は、サイクル・カウンタアダーRAM A190へ
のオペランド入力の1つとして線路192上に与
えられ且つサイクル・カウント比較回路130へ
の線路192a上の1組の入力信号のセツトとし
て与えられる。
ブロツク164にて示されるサイクル・カウン
タ2は、同様な素子および動作を有し、サイク
ル・カウンタ・アダーRAM B、208を含む。
このサイクル・カウンタ・アダーRAM、208
は、線路182bにおいて受取られるアドバン
ス・カウントと、ケーブル212を経てRAM B
サイクル・カウンタ・レジスタ210から受取ら
れるオペランドとの和を形成する。このレジスタ
の中味は、サイクル・カウントK2を含む。サイ
クル・カウントK2は、サイクル・カウント比較
回路130への入力の如くケーブル212a上の
入力として与えられる。RAM Bサイクル・カウ
ンタAレジスタ214は、ケーブル216上のア
ダー208からの出力を受取り、この出力をケー
ブル218に与える。停止信号は線路220にお
いて受取られ且つ強制的0入力は線路224にお
いて受取られ、RAM Bサイクル・カウンタAレ
ジスタ214をクリアする。
タ2は、同様な素子および動作を有し、サイク
ル・カウンタ・アダーRAM B、208を含む。
このサイクル・カウンタ・アダーRAM、208
は、線路182bにおいて受取られるアドバン
ス・カウントと、ケーブル212を経てRAM B
サイクル・カウンタ・レジスタ210から受取ら
れるオペランドとの和を形成する。このレジスタ
の中味は、サイクル・カウントK2を含む。サイ
クル・カウントK2は、サイクル・カウント比較
回路130への入力の如くケーブル212a上の
入力として与えられる。RAM Bサイクル・カウ
ンタAレジスタ214は、ケーブル216上のア
ダー208からの出力を受取り、この出力をケー
ブル218に与える。停止信号は線路220にお
いて受取られ且つ強制的0入力は線路224にお
いて受取られ、RAM Bサイクル・カウンタAレ
ジスタ214をクリアする。
サイクル・カウント比較回路130は基本的
に、2つのサイクル・カウントK1およびK2対オ
ーバラツプ・レジスタ120から受取れる制御サ
イクル・カウントK0の比較を遂行するために作
動する。比較器RAM Aオーバラツプ230およ
び比較器RAM Bオーバラツプ232は、市場で
得られる各比較器回路であり、2つの9ビツト・
オペランドの比較を行なう。サイクル・カウント
K1およびK2とオーバラツプ制御カウントK0はそ
れぞれ5ビツト容量であり、この実施例について
説明したものよりもカウント容量を大きくできる
ことを示すために、付加的な4ビツトが与えられ
る。更に遅延制御138は、付加的なビツト位
置、すなわち各々の右ビツト第3位置を利用し、
既知の比較出力をして1クロツク・サイクルの最
小の遅延を生ぜしめる。オーバラツプ・レジスタ
120の出力は、ケーブル128aを経て比較器
230のK0部分のビツト位置4ないし8に伝送
され且つ線路128bを経て比較器232のK0
部分のビツト位置4ないし8に伝送される。それ
らはこの実施例のために利用されないので、0信
号は回路(図示せず)によつて制御ユニツトから
強制的に線路234を経て比較器230のK0部
分の0ないし3ビツト位置に及び比較器230の
K2部分のビツト位置0ないし2に及び比較器2
32のK1部分の0ないし2ビツト位置に送られ
る。サイクル・カウントK1は、ケーブル192
aを経て比較器232のK1部分の4ないし8ビ
ツト位置に接続される。同様に、K2カウントを
含むサイクル・カウンタ2の出力は、ケーブル2
12aを経て比較器230のK2部分のビツト位
置4ないし8に進行する。最小遅延ビツト選択
は、線路156における遅延制御の出力において
与えられ且つ比較器232および230のそれぞ
れK1部分およびK2部分の3ビツト位置への入力
として与えられる。比較器230は線路240を
経てアンド・オア回路242に出力を与える。カ
ウントK0がサイクル・カウントK2に等しいか又
はそれより大きいコンデイシヨンをカウント比較
が満足することを決定されるような時間まで、そ
の信号は実質的にブロツキング信号である。アン
ド・オア242からの信号は、RAM Aブロツク
遂行指示器246をセツトするために線路244
を経て入力として進行する。回路246は広く知
られた型のラツチング回路であり、ブロツキング
状態にセツトされ、線路248を経て回路(図示
せず)の制御ユニツトからシーケンス信号を受取
る場合にそのコンデイシヨンに保持され、セツト
される時ブロツク出力信号を線路250上に発生
する。ブロツキング信号の使用については後に詳
しく説明するであろう。K0がK2に等しいか又は
それより大きいかを比較器RAM Aオーバラツプ
230が決定する時、線路244に与えられる信
号は、RAM Aブロツク遂行指示器246のブロ
ツキング・コンデイシヨンをクリアし、線路25
0の信号はブロツキング信号よりもむしろインエ
ーブリング信号である。比較器RAM Bオーバラ
ツプ232およびその関連回路の機能は上述と同
様であるが、制御オーバラツプ・カウントK0対
サイクル・カウントK1の値に対して比較がなさ
れることが相違する。K0がオーバラツプ・カウ
ントK1に等しいか又はそれより大であると比較
器232が決定する時、信号がアンド・オア回路
254への線路252に与えられる。アンド・オ
ア回路254は、RAM Bブロツク遂行指示器2
58の動作を制御するために線路256にその信
号を与える。シーケンス信号が制御ユニツトから
の線路260において受取られる時、K0がK1に
等しいか又はそれより大きいというコンデイシヨ
ンが満足されることを比較器232が決定するよ
うな時間までブロツキング信号が線路262にお
いて得ららる。その時間にブロツキング信号が除
去され、インエーブリング信号が得られる。
に、2つのサイクル・カウントK1およびK2対オ
ーバラツプ・レジスタ120から受取れる制御サ
イクル・カウントK0の比較を遂行するために作
動する。比較器RAM Aオーバラツプ230およ
び比較器RAM Bオーバラツプ232は、市場で
得られる各比較器回路であり、2つの9ビツト・
オペランドの比較を行なう。サイクル・カウント
K1およびK2とオーバラツプ制御カウントK0はそ
れぞれ5ビツト容量であり、この実施例について
説明したものよりもカウント容量を大きくできる
ことを示すために、付加的な4ビツトが与えられ
る。更に遅延制御138は、付加的なビツト位
置、すなわち各々の右ビツト第3位置を利用し、
既知の比較出力をして1クロツク・サイクルの最
小の遅延を生ぜしめる。オーバラツプ・レジスタ
120の出力は、ケーブル128aを経て比較器
230のK0部分のビツト位置4ないし8に伝送
され且つ線路128bを経て比較器232のK0
部分のビツト位置4ないし8に伝送される。それ
らはこの実施例のために利用されないので、0信
号は回路(図示せず)によつて制御ユニツトから
強制的に線路234を経て比較器230のK0部
分の0ないし3ビツト位置に及び比較器230の
K2部分のビツト位置0ないし2に及び比較器2
32のK1部分の0ないし2ビツト位置に送られ
る。サイクル・カウントK1は、ケーブル192
aを経て比較器232のK1部分の4ないし8ビ
ツト位置に接続される。同様に、K2カウントを
含むサイクル・カウンタ2の出力は、ケーブル2
12aを経て比較器230のK2部分のビツト位
置4ないし8に進行する。最小遅延ビツト選択
は、線路156における遅延制御の出力において
与えられ且つ比較器232および230のそれぞ
れK1部分およびK2部分の3ビツト位置への入力
として与えられる。比較器230は線路240を
経てアンド・オア回路242に出力を与える。カ
ウントK0がサイクル・カウントK2に等しいか又
はそれより大きいコンデイシヨンをカウント比較
が満足することを決定されるような時間まで、そ
の信号は実質的にブロツキング信号である。アン
ド・オア242からの信号は、RAM Aブロツク
遂行指示器246をセツトするために線路244
を経て入力として進行する。回路246は広く知
られた型のラツチング回路であり、ブロツキング
状態にセツトされ、線路248を経て回路(図示
せず)の制御ユニツトからシーケンス信号を受取
る場合にそのコンデイシヨンに保持され、セツト
される時ブロツク出力信号を線路250上に発生
する。ブロツキング信号の使用については後に詳
しく説明するであろう。K0がK2に等しいか又は
それより大きいかを比較器RAM Aオーバラツプ
230が決定する時、線路244に与えられる信
号は、RAM Aブロツク遂行指示器246のブロ
ツキング・コンデイシヨンをクリアし、線路25
0の信号はブロツキング信号よりもむしろインエ
ーブリング信号である。比較器RAM Bオーバラ
ツプ232およびその関連回路の機能は上述と同
様であるが、制御オーバラツプ・カウントK0対
サイクル・カウントK1の値に対して比較がなさ
れることが相違する。K0がオーバラツプ・カウ
ントK1に等しいか又はそれより大であると比較
器232が決定する時、信号がアンド・オア回路
254への線路252に与えられる。アンド・オ
ア回路254は、RAM Bブロツク遂行指示器2
58の動作を制御するために線路256にその信
号を与える。シーケンス信号が制御ユニツトから
の線路260において受取られる時、K0がK1に
等しいか又はそれより大きいというコンデイシヨ
ンが満足されることを比較器232が決定するよ
うな時間までブロツキング信号が線路262にお
いて得ららる。その時間にブロツキング信号が除
去され、インエーブリング信号が得られる。
制御蓄積デバイス162および166は同様に
形成される。それらの各々は、内部動作制御のた
めに必要なマイクロ・コード制御信号と共に、そ
のレパートリーにおける各マクロ指令を遂行する
ためにマイクロ指令のセツトを蓄積するために配
置される。RAM Aマイクロ・コード蓄積270
およびRAM Bマイクロ・コード蓄積272の
各々は、市販の素子として得られるランダム・ア
クセス・メモリ・デバイスであり且つアドレシン
グおよび読取回路と関連の書込回路を含む。その
容量は、そこの蓄積位置をアドレスするために10
ビツト・アドレスが利用されるような大きさであ
る。各アドレス可能位置のマイクロ指令およびマ
イクロ制御部分は、第6図について既に説明し
た。
形成される。それらの各々は、内部動作制御のた
めに必要なマイクロ・コード制御信号と共に、そ
のレパートリーにおける各マクロ指令を遂行する
ためにマイクロ指令のセツトを蓄積するために配
置される。RAM Aマイクロ・コード蓄積270
およびRAM Bマイクロ・コード蓄積272の
各々は、市販の素子として得られるランダム・ア
クセス・メモリ・デバイスであり且つアドレシン
グおよび読取回路と関連の書込回路を含む。その
容量は、そこの蓄積位置をアドレスするために10
ビツト・アドレスが利用されるような大きさであ
る。各アドレス可能位置のマイクロ指令およびマ
イクロ制御部分は、第6図について既に説明し
た。
アドレス・レジスタRAM A274は、RAM
A270に対するアドレス蓄積レジスタである。
それは、アドレス信号の交互のゲートされるソー
スを有する10段階レジスタである。マイクロ指令
の各セツトが開始される時、エントリーアドレス
が線路276aを経てF0デコード・レジスタ9
0から受取られる。このエントリーアドレスは、
線路276aを経てアドレス・レジスタRAM A
274に供給され且つ線路276bを経てアドレ
ス・レジスタRAM B278に供給される。制御
ユニツトは、マイクロ指令のその特定セツトのた
めにその制御デバイスが活動化される回路(図示
せず)によつて選択する。これらの選択信号は線
路280を経てアドレス・レジスタRAM Aに供
給され且つ線路282を経てアドレス・レジスタ
RAM Bに供給される。そのアドレス・レジスタ
はまた適当なブロツク遂行指示器246および2
58の出力によつてゲートされる。そのブロツキ
ング信号は線路250aを経てアドレス・レジス
タRAM Aに供給され、またそのブロツキング信
号は線路262aを経てアドレス・レジスタ
RAM Bに供給される。RAM Aに対するアドレ
スは、線路286を経てアドレツシング回路に供
給され、クロツクの適当なフエーズにおいて、ア
ドレスされるマイクロ・コードをして読出させ
る。次のマイクロ・コード・ワードのアドレス
は、次のアドレス・フイールドおよびブランチ・
フイールドを見ることによつて、マイクロ・コー
ド・ワードの部分から決定される。次のアドレス
は、ビツト、この実施例では9ビツトから成り、
線路288を経てRAM A次のアドレス・レジス
タ290に進行する。これらの9ビツトは、次の
指令のアドレスの最高位部分から成り、アドレツ
シング情報がアドレス・レジスタRAM A274
への入力として線路292を進行する。ブラン
チ・コンデイシヨンが存在するならば、最低位デ
イジツトは強制的に1にされ、それによつて、代
わりのアドレスが得られる。ブランチングのコン
デイシヨンは、RAM Aブランチ指示器296を
制御する線路294の出力によつて選択される。
この回路は、制御ユニツトからの線路28b上の
全てのブランチ・コンデイシヨン信号を受取るゲ
ート配列である。この構成ではブランチ・フイー
ルドはbビツトであり、この実施例ではbは5で
ある。それ故、5ビツト・コードによつて定めら
れるブランチ・コンデイシヨンが入力側に存在す
る時、RAM Aブランチ指示器は線路298に対
する出力を選択する。
A270に対するアドレス蓄積レジスタである。
それは、アドレス信号の交互のゲートされるソー
スを有する10段階レジスタである。マイクロ指令
の各セツトが開始される時、エントリーアドレス
が線路276aを経てF0デコード・レジスタ9
0から受取られる。このエントリーアドレスは、
線路276aを経てアドレス・レジスタRAM A
274に供給され且つ線路276bを経てアドレ
ス・レジスタRAM B278に供給される。制御
ユニツトは、マイクロ指令のその特定セツトのた
めにその制御デバイスが活動化される回路(図示
せず)によつて選択する。これらの選択信号は線
路280を経てアドレス・レジスタRAM Aに供
給され且つ線路282を経てアドレス・レジスタ
RAM Bに供給される。そのアドレス・レジスタ
はまた適当なブロツク遂行指示器246および2
58の出力によつてゲートされる。そのブロツキ
ング信号は線路250aを経てアドレス・レジス
タRAM Aに供給され、またそのブロツキング信
号は線路262aを経てアドレス・レジスタ
RAM Bに供給される。RAM Aに対するアドレ
スは、線路286を経てアドレツシング回路に供
給され、クロツクの適当なフエーズにおいて、ア
ドレスされるマイクロ・コードをして読出させ
る。次のマイクロ・コード・ワードのアドレス
は、次のアドレス・フイールドおよびブランチ・
フイールドを見ることによつて、マイクロ・コー
ド・ワードの部分から決定される。次のアドレス
は、ビツト、この実施例では9ビツトから成り、
線路288を経てRAM A次のアドレス・レジス
タ290に進行する。これらの9ビツトは、次の
指令のアドレスの最高位部分から成り、アドレツ
シング情報がアドレス・レジスタRAM A274
への入力として線路292を進行する。ブラン
チ・コンデイシヨンが存在するならば、最低位デ
イジツトは強制的に1にされ、それによつて、代
わりのアドレスが得られる。ブランチングのコン
デイシヨンは、RAM Aブランチ指示器296を
制御する線路294の出力によつて選択される。
この回路は、制御ユニツトからの線路28b上の
全てのブランチ・コンデイシヨン信号を受取るゲ
ート配列である。この構成ではブランチ・フイー
ルドはbビツトであり、この実施例ではbは5で
ある。それ故、5ビツト・コードによつて定めら
れるブランチ・コンデイシヨンが入力側に存在す
る時、RAM Aブランチ指示器は線路298に対
する出力を選択する。
その配置はRAM Bに対するのと同一であり、
アドレス・レジスタRAM Bは、読出されるべき
アドレスを選択するために線路300上にアドレ
ツシング情報を与える。読出される指令の次のア
ドレスは、RAM B次のアドレス・レジスタ30
4に対する入力として線路302上で得られる。
次のアドレス・レジスタ304は、アドレス・レ
ジスタ278への入力バツクとして線路306上
に9ビツト・アドレツシング・コードを与える。
ブランチ・フイールドはRAM Bブランチ指示器
310への選択コードとして線路308を進行す
る。選択されるブランチ・コンデイシヨンが入力
として存在する時、RAM Bブランチ指示器31
0は線路312に信号を与える。
アドレス・レジスタRAM Bは、読出されるべき
アドレスを選択するために線路300上にアドレ
ツシング情報を与える。読出される指令の次のア
ドレスは、RAM B次のアドレス・レジスタ30
4に対する入力として線路302上で得られる。
次のアドレス・レジスタ304は、アドレス・レ
ジスタ278への入力バツクとして線路306上
に9ビツト・アドレツシング・コードを与える。
ブランチ・フイールドはRAM Bブランチ指示器
310への選択コードとして線路308を進行す
る。選択されるブランチ・コンデイシヨンが入力
として存在する時、RAM Bブランチ指示器31
0は線路312に信号を与える。
マイクロ指令遂行レジスタ320は、容量がj
ビツトであり、各段階に2つのゲーテツド・オア
入力を有する。そのゲーテイングは2つのアンド
回路によつて示される。RAM Aからのマイクロ
指令は線路322において受取られ、線路250
bにおけるRAM Aブロツク遂行指示器からの出
力に依存してブロツクまたはゲートされる。ゲー
トされる時、マイクロ指令の中味は、マイクロ指
令レジスタ320の関連する段階をセツトする。
同様にして、RAM Bから線路324に読取られ
るマイクロ指令は同じレジスタに供給される。線
路362bにおけるRAM Bブロツク遂行指示器
からのゲーテイング信号またはブロツキング信号
は、特定のマイクロ指令がマイクロ指令遂行レジ
スタ内にゲートされるかどうかを決定する。オー
バラツプが生じないならば、2つの可能なマイク
ロ指令のうちの1つのみがこのレジスタ内にゲー
トされる。然しながら、オーバラツプ動作の間、
両方のマイクロ指令はマイクロ指令遂行レジスタ
320内にゲートされる。次の実例は、演算処理
装置への線路330において得られる出力信号の
決定を例示する。この演算処理装置において、出
力における0は、マイクロ指令のこれらの段階に
よつて制御される特定の活動化されないことを示
し、1は関連する機能が活動化されることを示
す。次の実例の第1行はjビツト容量に対するレ
ジスタ段階を指示する。第2の2つの行はRAM
AおよびRAM Bからそれぞれ読取られるマイク
ロ指令を表示する。出力は、RAM Aまたは
RAM Bから受取られる何れかの指令に1が存在
する各段階に対して1を含む。
ビツトであり、各段階に2つのゲーテツド・オア
入力を有する。そのゲーテイングは2つのアンド
回路によつて示される。RAM Aからのマイクロ
指令は線路322において受取られ、線路250
bにおけるRAM Aブロツク遂行指示器からの出
力に依存してブロツクまたはゲートされる。ゲー
トされる時、マイクロ指令の中味は、マイクロ指
令レジスタ320の関連する段階をセツトする。
同様にして、RAM Bから線路324に読取られ
るマイクロ指令は同じレジスタに供給される。線
路362bにおけるRAM Bブロツク遂行指示器
からのゲーテイング信号またはブロツキング信号
は、特定のマイクロ指令がマイクロ指令遂行レジ
スタ内にゲートされるかどうかを決定する。オー
バラツプが生じないならば、2つの可能なマイク
ロ指令のうちの1つのみがこのレジスタ内にゲー
トされる。然しながら、オーバラツプ動作の間、
両方のマイクロ指令はマイクロ指令遂行レジスタ
320内にゲートされる。次の実例は、演算処理
装置への線路330において得られる出力信号の
決定を例示する。この演算処理装置において、出
力における0は、マイクロ指令のこれらの段階に
よつて制御される特定の活動化されないことを示
し、1は関連する機能が活動化されることを示
す。次の実例の第1行はjビツト容量に対するレ
ジスタ段階を指示する。第2の2つの行はRAM
AおよびRAM Bからそれぞれ読取られるマイク
ロ指令を表示する。出力は、RAM Aまたは
RAM Bから受取られる何れかの指令に1が存在
する各段階に対して1を含む。
01234567…j レジスタ段階
10011000…1 RAM A01000010…0
RAM B
11011010…1 出力
遂行されるべきオーバラツプ動作に対して、活
動化されるべきマイクロ指令における各段階によ
つて制御される機能は、相互に排他的でなければ
ならないか、又は処理装置は、同時に2つの別々
のマクロ指令に対して同様な機能を遂行しようと
することがわかる。
動化されるべきマイクロ指令における各段階によ
つて制御される機能は、相互に排他的でなければ
ならないか、又は処理装置は、同時に2つの別々
のマクロ指令に対して同様な機能を遂行しようと
することがわかる。
RAM Aの制御フイールドは線路332を経て
RAM Aマイクロ制御レジスタ334に進行す
る。制御フイールドはKビツトであり、そのシス
テムの内部制御信号を蓄積する。例えば、マクロ
指令に対するマイクロ指令のセツトにおける最終
マイクロ指令は、停止(Halt)ビツトとして知ら
れており、線路200を経てサイクル・カウンタ
1に進行する。このレジスタ334の入力はまた
線路250cにおいて受取られる信号によつてゲ
ートまたはブロツクされる。RAM B制御フイー
ルドは線路336を経てRAM Bマイクロ制御レ
ジスタ338に進行し、線路262cの信号によ
つてゲートされる時このレジスタのセツテイング
を生じる。
RAM Aマイクロ制御レジスタ334に進行す
る。制御フイールドはKビツトであり、そのシス
テムの内部制御信号を蓄積する。例えば、マクロ
指令に対するマイクロ指令のセツトにおける最終
マイクロ指令は、停止(Halt)ビツトとして知ら
れており、線路200を経てサイクル・カウンタ
1に進行する。このレジスタ334の入力はまた
線路250cにおいて受取られる信号によつてゲ
ートまたはブロツクされる。RAM B制御フイー
ルドは線路336を経てRAM Bマイクロ制御レ
ジスタ338に進行し、線路262cの信号によ
つてゲートされる時このレジスタのセツテイング
を生じる。
この説明を通して、クロツク・フエーズを参照
することによつてクロツキングを参照した。回路
図に示されるクロツキングは、その回路を制御す
るクロツク・フエーズを表わす数によつて追従さ
れるφによつて表示される。各クロツク回路によ
つて示されるクロツキングがどのようにして達成
されるかは接続回路を図示しなくても専門家には
理解される。
することによつてクロツキングを参照した。回路
図に示されるクロツキングは、その回路を制御す
るクロツク・フエーズを表わす数によつて追従さ
れるφによつて表示される。各クロツク回路によ
つて示されるクロツキングがどのようにして達成
されるかは接続回路を図示しなくても専門家には
理解される。
システムの動作
詳細な回路および回路素子の機能的関係につい
て考察したが、実例の次の説明および応用は動作
の理解を更に助けるであろう。第8a図および第
8b図、第8図の如く配置される時、加算、減
算、アンドおよび、オアのマクロ指令を含むマク
ロ指令のシーケンスのシーケンス・タイミング実
例である。この実例は、既に説明した指令の型式
に対して、各マクロ指令の最小遅延ビツトは、1
つの指令が直ちに次の指令に追従できることを示
す0である簡単な例を示す。更に、機能は固定さ
れデータ依存しないように、オーバラツプ制御ワ
ードにおけるデータ依存ビツト(DDB)を使用
しない。更に、可変シーケンスは含まれない。第
8a図および第8b図は、既に説明したレジスタ
および指示器への参照を含む。
て考察したが、実例の次の説明および応用は動作
の理解を更に助けるであろう。第8a図および第
8b図、第8図の如く配置される時、加算、減
算、アンドおよび、オアのマクロ指令を含むマク
ロ指令のシーケンスのシーケンス・タイミング実
例である。この実例は、既に説明した指令の型式
に対して、各マクロ指令の最小遅延ビツトは、1
つの指令が直ちに次の指令に追従できることを示
す0である簡単な例を示す。更に、機能は固定さ
れデータ依存しないように、オーバラツプ制御ワ
ードにおけるデータ依存ビツト(DDB)を使用
しない。更に、可変シーケンスは含まれない。第
8a図および第8b図は、既に説明したレジスタ
および指示器への参照を含む。
エントリーアドレスEはサイクル1のクロツ
ク・フエーズ3において得られ、次のRAM Aア
ドレス E+1はクロツク・サイクル2のフエー
ブ3において得られる。既に説明した如く、各制
御蓄積からの次のアドレスは、次のアドレス・フ
イールドによつて選択され、次の順次のアドレス
可能位置であり得ない。表示E+1は、それが次
の指令アドレスであることを示すのみである。
ク・フエーズ3において得られ、次のRAM Aア
ドレス E+1はクロツク・サイクル2のフエー
ブ3において得られる。既に説明した如く、各制
御蓄積からの次のアドレスは、次のアドレス・フ
イールドによつて選択され、次の順次のアドレス
可能位置であり得ない。表示E+1は、それが次
の指令アドレスであることを示すのみである。
この実例はまた制御ユニツトが加算指令を開始
するためにCS−1を選択したと仮定する。
するためにCS−1を選択したと仮定する。
サイクル・カウンタの機能はブロツキング指示
器のクリアリングおよびセツテイングであるよう
に図示される。
器のクリアリングおよびセツテイングであるよう
に図示される。
その結果は、加算指令が遂行され、サイクル2
のクロツク・フエーズ2に開始しサイクル4のク
ロツク・フエーズ1に終了することが記されるマ
イクロ指令遂行レジスタに示される。減算指令
は、加算指令にオーバラツプし、クロツク・サイ
クル3のクロツク・フエーズ2において開始す
る。アンド指令は減算指令にオーバラツプし、サ
イクル4のクロツク・フエーズ2において開始す
る。最後に、オア指令はアンド指令にオーバラツ
プし、サイクル5のクロツク・フエーズ2におい
て開始する。
のクロツク・フエーズ2に開始しサイクル4のク
ロツク・フエーズ1に終了することが記されるマ
イクロ指令遂行レジスタに示される。減算指令
は、加算指令にオーバラツプし、クロツク・サイ
クル3のクロツク・フエーズ2において開始す
る。アンド指令は減算指令にオーバラツプし、サ
イクル4のクロツク・フエーズ2において開始す
る。最後に、オア指令はアンド指令にオーバラツ
プし、サイクル5のクロツク・フエーズ2におい
て開始する。
比較的複雑な実例は第9a図ないし第9d図に
示される。第9a図ないし第9b図は第9図の如
く配置される。この実例は、加算指令、減算指
令、アンド指令、オア指令の指令のシーケンスを
再び計画する。この実例は、オーバラツプ・カウ
ントK0のルツク・アツプを許すために、特定の
指令が最小遅延ビツト選択を利用することを計画
する。
示される。第9a図ないし第9b図は第9図の如
く配置される。この実例は、加算指令、減算指
令、アンド指令、オア指令の指令のシーケンスを
再び計画する。この実例は、オーバラツプ・カウ
ントK0のルツク・アツプを許すために、特定の
指令が最小遅延ビツト選択を利用することを計画
する。
この実例のために、任意のオーバラツプが許容
され得る前に、少なくとも3サイクルすなわち3
マイクロ指令が遂行されねばならないことが確立
される。従つて、K0はこれらのオーバラツプ・
シーケンスの各々に対して2である。
され得る前に、少なくとも3サイクルすなわち3
マイクロ指令が遂行されねばならないことが確立
される。従つて、K0はこれらのオーバラツプ・
シーケンスの各々に対して2である。
この実例はまたデータ依存カウンタ指示器を画
く線路からわかる如く、DDBが利用されること
を示す。
く線路からわかる如く、DDBが利用されること
を示す。
既に説明した如く、制御蓄積アドレツシング
は、エントリーアドレスEを参照し、その後、エ
ントリーアドレスとカウントの指定数の和を参照
する。これは、引続くアドレス可能位置の数を計
画するのでなく、マイクロ制御ワードから決定さ
れるアドレツシングを再び簡単に参照することを
理解すべきである。もちろん、プログラム・アド
レス・カウンタは、制御ワードと共に蓄積される
アドレスを有するよりもむしろ利用され得るが、
この実施例は融通性のために蓄積アドレスの使用
を好むことが専門家には明らかである。
は、エントリーアドレスEを参照し、その後、エ
ントリーアドレスとカウントの指定数の和を参照
する。これは、引続くアドレス可能位置の数を計
画するのでなく、マイクロ制御ワードから決定さ
れるアドレツシングを再び簡単に参照することを
理解すべきである。もちろん、プログラム・アド
レス・カウンタは、制御ワードと共に蓄積される
アドレスを有するよりもむしろ利用され得るが、
この実施例は融通性のために蓄積アドレスの使用
を好むことが専門家には明らかである。
回路およびその動作の詳細な説明と関連して示
されたこれらの実例は、本発明の意向および目的
がかなえられたことを明瞭に示す。
されたこれらの実例は、本発明の意向および目的
がかなえられたことを明瞭に示す。
第1図はマクロ指令の遂行のオーバラツプのた
め本発明を利用するデータ処理システムのシステ
ム・ブロツク図、第2図は本発明において利用さ
れる4フエーズ・クロツキング・システムを示
す。第3図はマクロ指令のレパートリーに関連す
るマイクロ指令の同一セツトを蓄積するための並
列制御蓄積デバイスと、マクロ指令の遂行のオー
バラツプを制御するためのシステムを例示する本
発明の論理ブロツク図であり、第4図はマクロ指
令ワードのフオーマツトを例示し、第5図はその
レパートリーにおけるマクロ指令のシーケンスの
各コンビネーシヨンに対して確立されるオーバラ
ツプ・カウント・ワードのフオーマツトを例示
し、第6図は制御デバイスに蓄積されるマイク
ロ・コード制御ワードのフオーマツトを例示し、
第7a図なしい第7e図は第7図の如く配置さ
れ、マクロ指令オーバラツプ制御システムを形成
するために利用される回路を例示する詳細な論理
図を示し、第8a図および第8b図は第8図の如
く配置され、最小遅延およびデータ依存が利用さ
れないマクロ指令のシーケンスのタイミング例を
示し、第9a図ないし第9d図は第9図の如く配
置され、最小遅延要求を利用し且つデータ依存の
実施例を含む指令のシーケンスのタイミング例を
示す。 符号の説明、10:メモリ・ユニツト、12:
演算処理装置、14,16,18,20:ケーブ
ル、22:制御ユニツト、24,26,28:ケ
ーブル、30:マクロ指令オーバラツプ制御ユニ
ツト、32,34,36,38,40:ケーブ
ル、44:マクロ指令選択、46:タイミング・
シーケンス制御、48:ブランチ制御、50:オ
ア機能、52:アダー機能、54:スケーラー機
能、56:アンド機能、60:テスト・コンデイ
シヨン、62:制御蓄積1、64:制御蓄積2、
66:マクロ指令オーバラツプ制御および制御蓄
積アドレツシング、72:オア回路、76:マク
ロ遂行レジスタ、90:F0デコード・レジス
タ、92:オーバラツプ制御、94:オーバラツ
プRAM1、96:オーバラツプRAM2、98:オ
ーバラツプRAM3、100:オーバラツプ
RAM4、104:現在指令レジスタ、108:最
終指令レジスタA、114:最終指令レジスタ
B。
め本発明を利用するデータ処理システムのシステ
ム・ブロツク図、第2図は本発明において利用さ
れる4フエーズ・クロツキング・システムを示
す。第3図はマクロ指令のレパートリーに関連す
るマイクロ指令の同一セツトを蓄積するための並
列制御蓄積デバイスと、マクロ指令の遂行のオー
バラツプを制御するためのシステムを例示する本
発明の論理ブロツク図であり、第4図はマクロ指
令ワードのフオーマツトを例示し、第5図はその
レパートリーにおけるマクロ指令のシーケンスの
各コンビネーシヨンに対して確立されるオーバラ
ツプ・カウント・ワードのフオーマツトを例示
し、第6図は制御デバイスに蓄積されるマイク
ロ・コード制御ワードのフオーマツトを例示し、
第7a図なしい第7e図は第7図の如く配置さ
れ、マクロ指令オーバラツプ制御システムを形成
するために利用される回路を例示する詳細な論理
図を示し、第8a図および第8b図は第8図の如
く配置され、最小遅延およびデータ依存が利用さ
れないマクロ指令のシーケンスのタイミング例を
示し、第9a図ないし第9d図は第9図の如く配
置され、最小遅延要求を利用し且つデータ依存の
実施例を含む指令のシーケンスのタイミング例を
示す。 符号の説明、10:メモリ・ユニツト、12:
演算処理装置、14,16,18,20:ケーブ
ル、22:制御ユニツト、24,26,28:ケ
ーブル、30:マクロ指令オーバラツプ制御ユニ
ツト、32,34,36,38,40:ケーブ
ル、44:マクロ指令選択、46:タイミング・
シーケンス制御、48:ブランチ制御、50:オ
ア機能、52:アダー機能、54:スケーラー機
能、56:アンド機能、60:テスト・コンデイ
シヨン、62:制御蓄積1、64:制御蓄積2、
66:マクロ指令オーバラツプ制御および制御蓄
積アドレツシング、72:オア回路、76:マク
ロ遂行レジスタ、90:F0デコード・レジス
タ、92:オーバラツプ制御、94:オーバラツ
プRAM1、96:オーバラツプRAM2、98:オ
ーバラツプRAM3、100:オーバラツプ
RAM4、104:現在指令レジスタ、108:最
終指令レジスタA、114:最終指令レジスタ
B。
Claims (1)
- 【特許請求の範囲】 1 制御メモリに保持されたマイクロ命令のセツ
トのうち所定のシーケンスのマイクロ命令を実行
することにより、それぞれのマイクロ命令を実行
する、プログラム制御デジタルデータ処理装置に
おいて、 2つの制御メモリ162,166が設けられて
おり、それぞれの制御メモリは、マイクロ命令の
同じ全セツトを保持しており、それぞれの制御メ
モリは、実行したマイクロ命令の数を計数するサ
イクルカウンタ160,164を有し、マイクロ
命令のそれぞれ可能なシーケンスに関するオーバ
ーラツプの計数値を蓄積するオーバーラツプ制御
メモリ92が設けられており、かつそれぞれの制
御メモリ162,166に対して比較器230,
232が設けられており、それぞれの比較器は、
当該の制御メモリのサイクル計数値とオーバーラ
ツプ計数値を比較し、かつ一致を検出した場合、
他方の制御メモリ166,162を起動し、かつ
次のマクロ命令の実行を開始させることを特徴と
する、プログラム制御デジタルデータ処理装置。 2 実行されたマイクロ命令の制御ビツトが、サ
イクル計数値比較器130の信号250,262
に応答して、ゲートを通過し、マイクロ命令実行
レジスタ320の段に達し、オーバーラツプが生
じたかどうかに応じて、両方または片方だけのマ
イクロ命令の制御ビツトが、ゲートを通過し、こ
のレジスタに達するようにした、特許請求の範囲
第1項記載の装置。 3 それぞれのシーケンスの最後のマイクロ命令
の「ホルト」ビツト200、220に応答して、サイク
ルカウンタ160または164がクリアされる、
特許請求の範囲第1または2項記載の装置。 4 オーバーラツプ制御メモリ92のデータ依存
ビツト(DDB)に応答して、可変長マイクロ命
令のシーケンス部分の間、サイクルカウンタ16
0,164の計数を禁止する可変シーケンス制御
手段126が設けられている、特許請求の範囲第
1−3項の1つに記載の装置。 5 マクロ命令の最小遅延ビツト(6、第4図)
に応答して、次のマクロ命令の実行に1サイクル
の最小遅延を生じ、オーバーラツプ制御メモリ9
2のアドレス指定を可能にする遅延制御手段13
8が設けられている、特許請求の範囲第1−4項
の1つに記載の装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/174,035 US4376976A (en) | 1980-07-31 | 1980-07-31 | Overlapped macro instruction control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5771050A JPS5771050A (en) | 1982-05-01 |
| JPS6230651B2 true JPS6230651B2 (ja) | 1987-07-03 |
Family
ID=22634520
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56121314A Granted JPS5771050A (en) | 1980-07-31 | 1981-07-31 | Overlapped microinstruction control system |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4376976A (ja) |
| EP (1) | EP0045634B1 (ja) |
| JP (1) | JPS5771050A (ja) |
| DE (1) | DE3166481D1 (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3271123D1 (en) * | 1982-06-08 | 1986-06-19 | Ibm Deutschland | Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions |
| US4594658A (en) * | 1983-04-05 | 1986-06-10 | Burroughs Corporation | Hierarchy of control stores for overlapped data transmission |
| US4586133A (en) * | 1983-04-05 | 1986-04-29 | Burroughs Corporation | Multilevel controller for a cache memory interface in a multiprocessing system |
| EP0121372A3 (en) * | 1983-04-05 | 1988-03-02 | Unisys Corporation | Hierarchy of control stores for overlapped data transmission |
| US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
| USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
| US4791560A (en) * | 1985-07-31 | 1988-12-13 | Unisys Corporation | Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program |
| JPH0743648B2 (ja) * | 1985-11-15 | 1995-05-15 | 株式会社日立製作所 | 情報処理装置 |
| US5001624A (en) * | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
| US5185870A (en) * | 1987-04-10 | 1993-02-09 | Tandem Computers, Inc, | System to determine if modification of first macroinstruction to execute in fewer clock cycles |
| US5005118A (en) * | 1987-04-10 | 1991-04-02 | Tandem Computers Incorporated | Method and apparatus for modifying micro-instructions using a macro-instruction pipeline |
| EP0295646B1 (en) * | 1987-06-19 | 1996-09-11 | Hitachi, Ltd. | Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus |
| JP2982875B2 (ja) * | 1987-12-28 | 1999-11-29 | 株式会社日立製作所 | スレーブ制御装置 |
| JP2806524B2 (ja) * | 1988-03-04 | 1998-09-30 | 日本電気株式会社 | ベクトル演算命令発行制御方法 |
| WO1991011765A1 (en) * | 1990-01-29 | 1991-08-08 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
| EP0477599A3 (en) * | 1990-09-26 | 1993-11-10 | Siemens Ag | Control store for a processor comprising several processing elements |
| EP0498067A2 (en) * | 1991-02-08 | 1992-08-12 | International Business Machines Corporation | Microcode generation for a scalable compound instruction set machine |
| US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
| US5426783A (en) * | 1992-11-02 | 1995-06-20 | Amdahl Corporation | System for processing eight bytes or less by the move, pack and unpack instruction of the ESA/390 instruction set |
| CA2123442A1 (en) * | 1993-09-20 | 1995-03-21 | David S. Ray | Multiple execution unit dispatch with instruction dependency |
| US5630083A (en) * | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
| US5537629A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Decoder for single cycle decoding of single prefixes in variable length instructions |
| US5559974A (en) * | 1994-03-01 | 1996-09-24 | Intel Corporation | Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation |
| US5673427A (en) * | 1994-03-01 | 1997-09-30 | Intel Corporation | Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue |
| US5566298A (en) * | 1994-03-01 | 1996-10-15 | Intel Corporation | Method for state recovery during assist and restart in a decoder having an alias mechanism |
| US5600806A (en) * | 1994-03-01 | 1997-02-04 | Intel Corporation | Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer |
| US5586277A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders |
| US5758116A (en) * | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
| US5867701A (en) * | 1995-06-12 | 1999-02-02 | Intel Corporation | System for inserting a supplemental micro-operation flow into a macroinstruction-generated micro-operation flow |
| US5815724A (en) * | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
| US6789186B1 (en) * | 2000-02-18 | 2004-09-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus to reduce penalty of microcode lookup |
| US7698539B1 (en) * | 2003-07-16 | 2010-04-13 | Banning John P | System and method of instruction modification |
| US9122465B2 (en) * | 2011-12-06 | 2015-09-01 | International Business Machines Corporation | Programmable microcode unit for mapping plural instances of an instruction in plural concurrently executed instruction streams to plural microcode sequences in plural memory partitions |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5415388B2 (ja) * | 1974-12-11 | 1979-06-14 | ||
| JPS51144142A (en) * | 1975-06-06 | 1976-12-10 | Hitachi Ltd | Information processing |
| US4107774A (en) * | 1976-10-04 | 1978-08-15 | Honeywell Information Systems Inc. | Microprogram splatter return apparatus |
| JPS53108254A (en) * | 1977-03-02 | 1978-09-20 | Nec Corp | Information processor |
-
1980
- 1980-07-31 US US06/174,035 patent/US4376976A/en not_active Expired - Lifetime
-
1981
- 1981-07-30 DE DE8181303503T patent/DE3166481D1/de not_active Expired
- 1981-07-30 EP EP81303503A patent/EP0045634B1/en not_active Expired
- 1981-07-31 JP JP56121314A patent/JPS5771050A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| US4376976A (en) | 1983-03-15 |
| JPS5771050A (en) | 1982-05-01 |
| EP0045634B1 (en) | 1984-10-03 |
| EP0045634A1 (en) | 1982-02-10 |
| DE3166481D1 (en) | 1984-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6230651B2 (ja) | ||
| US4430706A (en) | Branch prediction apparatus and method for a data processing system | |
| EP0149213B1 (en) | Vector processor | |
| US3702988A (en) | Digital processor | |
| US4310880A (en) | High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit | |
| US4443848A (en) | Two-level priority circuit | |
| JPS5812606B2 (ja) | デ−タ処理システム | |
| US4656578A (en) | Device in the instruction unit of a pipeline processor for instruction interruption and repetition | |
| JPS5921056B2 (ja) | ジユンカンテキニケタイドウスル デ−タシヨリホウホウ オヨビ ソウチ | |
| JPH06105460B2 (ja) | マルチプロセッサのプロセッサ切換え装置 | |
| US4320454A (en) | Apparatus and method for operand fetch control | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| EP0164418B1 (en) | Microprogram control system | |
| JPS62145435A (ja) | コンカレント処理命令を有するマイクロプロセツサ | |
| EP0079995B1 (en) | Information handling apparatus having an instruction-executing function at a high speed | |
| JPH0522935B2 (ja) | ||
| US4141077A (en) | Method for dividing two numbers and device for effecting same | |
| JPS63141131A (ja) | パイプライン制御方式 | |
| JPS6223892B2 (ja) | ||
| JPS62164138A (ja) | コンカレントル−プを有するマイクロプロセツサ | |
| JPS61285540A (ja) | 情報処理装置 | |
| JPH05334084A (ja) | 中央演算処理装置 | |
| JPS6019018B2 (ja) | デ−タ処理システム | |
| JPS62271022A (ja) | マイクロプログラム制御装置 | |
| JPH0659933U (ja) | 中央演算処理装置 |