JPS6089249A - マイクロワ−ド生成機構 - Google Patents
マイクロワ−ド生成機構Info
- Publication number
- JPS6089249A JPS6089249A JP20605883A JP20605883A JPS6089249A JP S6089249 A JPS6089249 A JP S6089249A JP 20605883 A JP20605883 A JP 20605883A JP 20605883 A JP20605883 A JP 20605883A JP S6089249 A JPS6089249 A JP S6089249A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- microword
- register
- control
- 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.)
- Granted
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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
〔本発明の技術的分野〕
本発明は、マイクロワードのシーケンスが各々のシステ
ム命令の実行を制御するのに用いられる、マイクロプロ
グラム式ディジタル・データ・プロセッサおよびディジ
タル・コンピュータのような、マイクロプログ5フ〜式
ディジタル・システl−において使用するマイクロワー
ド生成機構に関連する。 本発明は特に、主要回路部分がLSIチップ上に形成さ
れているデータ・プロセッサおよびディジタル・コンピ
ュータにおいて有用である。 〔先行技術の説明〕 マイクロプロゲラ11式ディジタル・コンピュータまた
はデータ・プロセッサに於ては、システム命令又はユー
ザのソフ1へウェア・プロゲラ11がらtHFらJLる
プロセッサ命令を実行するのに必要な内部プロセッサ制
御動作を与えるマイクロワー1・は内部制御記憶から読
出さILる。マイクロワー]・は1回に1つずつ記憶装
置から読出されて制御レジスタにセラ]−される。各々
のマイクロワードは複数の2進ビツトから成り、その一
部分または全部は複数ビットの制御グループすなわち制
御フィールドに配列されることがある。制御レジスタは
データ・プロセッサにある各種のデータ・フロー・ゲー
トおよびデータ処理機構を制御する要素の制御点信号を
生じるデコーダ機能を駆動Jる。各々のマイクロワード
は1マイクロワード・サー(クルの間、データ・プロセ
ッサの内部動作を制御する。 通常は1つのプロセッサ命令を実行するのに数個のマイ
クロワードが必要である。あるプロセッサ命令は少数の
マイクロワードだけを心電・とするが、他のプロセッサ
命令にはその実行を完1′するのに多数のマイクロワー
ドを必要とするものがある。 現在、データ・プロセッサのマイクロ°ノード制御ユニ
ツ1一部分を含む主要な部分はLSIデツプ上に組立て
られる傾向にある。総体的な[J的は単一のチップ上に
与えうるデータ処理機(fl”、の数を増加することで
あり、究極的な目標は単一・チップ上に完全なデータ・
プロセッサまたはディジタル・コンピュータを設けるこ
とである。現在、単一チップ上に最大数の回路をパック
する最良の技術はいわゆるM OS F E T技術で
ある。前記技術はチップ上に極めて高い回路密度を可能
にするが、残念なことにMO3FET回路は、例えば、
いわゆるバイポーラIC技術のような他のIC技術によ
って組立てられた回路よりも動作速度がいくらか低い。 従って、MO8FET回路を使用するデータ処理機構の
動作速度を高める方法を発見することが望ましい。また
、たとえMO8FET回路が高い回路密度を伴えても、
回路スペースを無駄にしないよう注意しなければならな
い。言い換えれば、チップ」二に要求される回路の総数
を減少する回路機構を与えることが望まいしことに変り
はなし1 。 〔本発明の(1■要〕 本発明によって、M OS F E T回路技術によっ
て容8に組立てられ、且つ現在入手しうる(全マイクロ
ワード・ビット容量が)同等の大きさのMO8FETマ
イクロワード生成機構によって与えられる動作速度より
もかなり高速の動作速度を一層えるすぐれたマイクロワ
ード生成機構が与えられる。これは、一般に、在来のラ
ンダム・アクセス制御記憶ユニットおよびそのアドレス
指定回路を複数のPLA(プログラマブル論理アレー0
に置換えたマイクロワード生成機構を与えることによっ
て達成され、特に、条件付き飛越しよiよび条件付き分
岐型のプロセッサ命令の実行を、より効率的で迅速に処
理しうる先例のないP L A 49成を与えることに
よって達成される。大抵のユーザ・プログラムは相当な
数の分岐および飛越し命令を含んでいるから、通常、全
体の処理時間のかなりの節約が可能になる。 条件付き飛越しおよび分岐命令を実行するに当って、最
初(;少なくとも1つの条件標識信シーシを検査して特
定の条件が満たされているかどうかを決定する必要があ
る。それが満たされている場合、順次プロセッサ命令か
らの特定の飛越しまたは分岐が行なわれる。そうでない
場合には、飛越しまたは分岐は行なわれず、ユーザ・プ
ロゲラ11の次の順次プロセッサ命令が実行さ扛る。 本発明に従って、この条件検査は大多数のマイクロワー
ドを生じる他のPLAとは別個のP LΔによって実行
される。この別個の条件検査PLΔは、分既または非分
岐マイクロワード・シーケンスが生成されるかどうかを
決定するのに用いられる、簡単な「イエス」または「ノ
ー」の判断信号を生成する。これにはいくつかの利点が
あり、例えば、主要P L A機構において必要とする
積線の数を減少させ、主要PLA機構の大きさを縮小し
てその動作速度を改善するのに役立つ。同時に、条件検
査PI。への寸法は比較的小さく、その動作速度は非常
に速い。また、別個の条件検査P1−Δのアクセスは主
要p r、へ機構の通′1;(の動作とオーバラップし
うるから、時間の一層のni1約が実現される。 また、本発明に従って、分岐および飛越し命令を実行す
るのに必要なマイクロワードを生成する更に別個のPL
Aを設けることによって、性能を一層すぐれたものにす
ることができる。この別個の分岐コードPLAは分岐型
のプロセッサ命令のマイクロワード・シーケンスを供給
するが、主要P LΔ機構は非分岐型プロセッサ命令の
マイクロワード・シーケンスを与える。この場合、条件
検査P L Aからの判断信号は分岐コードI’LAに
供給され、分岐コードPLAによって生成されるマイク
ロワード・シーケンスの選択を制御する。この条件検査
P L Aと分岐コードPLAの組合せは、非分岐型の
システム命令を実行するためのマイタロワード・シーケ
ンスを与えているPI、Δ構造の残りの部分と並行して
動作する非常に高速な径路を一ダえる。これは分岐マイ
クロワー1−の極めて高速な使用を可能にする。 本明細書で用いる用語「分岐型Jは、データ・プロセツ
リを次の順次プログラム命令以外の命令に行かせる、分
岐命令、飛越し命令おJ、び他のどんな種類のプロクラ
ム命令をも含む化1占的な用語とし、て用いられている
。 〔詳細な説明〕 A−ゲニブプロセッサ 71図 第1図には各々のシステム命令の実行を制御するのにマ
イクロワードのシーケンスが用いられるマイクロプログ
ラム式ディジタル・システムIOの機能ブロック図が示
されている。このディジタル・システム】0はマイクロ
プログラム式ディジタル・コンピュータ即ちディジタル
・データ・プロセッサ(以下、単にプロセッサという)
である。 このプロセッサ10は特にLSIチップ上に組立てるの
に適合する。プロセッサ10には、データ・フロー・ユ
ニツh11.主記憶ユニツ1−12、Ilo (入出力
)ユニツ1〜13、制御ユニツ1−14およびクロック
発生器15が含まれる。データ・フロー・ユニツ1−1
1は時にはCPUと呼ばれ、ΔLU、各種のバー1−ウ
ェアのレジスタおよびカウンタ、局所記憶ユニット、な
らびにこれらを相互接続するバス・システムなどを含む
。データ・フロー・ユニット11はユーザ・データの加
算、減算、再配列および他の処理を行ない、計算機のユ
ーザが要求する結果を生成するユニツ1〜である。 制御ユニット14はデータ・フロー・ユニツ1−11、
主記憶ユニット12、I10ユニツ1−13の動作を、
これらのユニットに存在するに種の動作機構に供給され
る制御点信号によって制御する。 図面をfIi mts化するため、そILぞれのし゛ク
スタ・カウンタ等への制御点信号線の大部分の接続は図
示されていない。 多重導線のプロセッサ・バス16はi:′−夕・フロー
・ユニット11にある各種のレジξり、カウンタおよび
他の動作ユニットを相互接続するのに用いらJしる。こ
こでは、このプロセッリ゛・バス16は16ビツ1−す
なわち16の導線からなるバスであるものとし、それに
合わせて、ブ11セッサ・バス16に接続された各種の
レジスタ、1;よびカウンタは16ビツ1〜のレジスタ
および力菅°ノン夕であるものとする。 データ・フロー・ユニツ1〜11には命令レジスタ17
、Aレジスタ18およびBレジスタI9が含まれ、その
各々はプロセッサ・バス16にその入力回路とその出力
回路がどちらも接続され、それに複数ビットの2進信号
を供給するどともに、それから複数ビットの2進信号を
受取る。Δレジスタ18と、Bレジスタ19はALU2
0を駆動し、A 1.、 U 20の出力は16ビツ1
〜のゲート回路2Iによってプロセッサ・バス16に送
られる。 また、データ・フロー・ユニツ1へ11には、命令アド
レス・カウンタ22、命令アドレス・レジスタ23およ
びデータ・アドレス・カウンタ24が含まれ、こ汎らは
プロセッサ・バス16に接続された主記憶ユニット12
の記憶アドレスを与える。 命令アドレス・レジスタ23は枚数ワード命令の場合に
有用である。その場合、命令の第1のワードのアドレス
は命令ア1−レス・レジスタ23にロー1<されて保管
されるが、命令アドレス・カウンタ22は更新され、状
況によって命令の第2のワードまたは第2および第3の
ワー1くをアドレス指定する。第1のワー1〜には実行
さJしる特定の命令を識別する命令コード・フィールド
が含まれている。 データ・フロー・ユニツ1−IIには更に、局所記憶ユ
ニット25、およびそれに関連するL SへR(局所記
憶アドレス・レジスタ)26ならびにLSDR(局部記
憶データ・レジスタ)27が含まれている。LSDR2
7はプロセッサ゛・バス16に接続されて2進データを
プロセッサ・・バス16から局所記憶ユニツ1〜25へ
、またはその逆に転送するのに用いられる。局所記憶ユ
ニツ1へ25には、各種の汎用レジスタが含まjし、プ
ロセッサ10がユーザ・プログラムを実行している間、
データ等を−++、!的に記憶する。説明を1′IiI
”;t ’tヒ・1−るため、L S A R25は制
御ユニツ1へ14から局所記憶アドレスを受取るものと
する。 主記憶ユニット12には主記憶機構28、SA■マ(記
憶アドレス・レジスタ)29およびSDI之(記憶デー
タ・レジスタ)30が含まAじCいる。 5AR29はプロセッサ・バス1Gに接続され、命令ア
ドレス・カウンタ22とデータ・アドレス・カウンタ2
4から記憶アドレスを受取る。S D 1130もプロ
セッサ・バス1Gに接続さ」し、データ、命令等を主記
憶機構28からプロセッサ・バス16へ、またはその逆
に転送する。 I10ユニツ1〜13には、データ・プロセッサ。 工0に関連する各種の周辺ユニツ1〜に通じる■10バ
ス32に接続されているI10駆動ユニット31が含ま
Jしている。I10駆動ユニツj〜31はI10レジス
タ33によってプロセッサ・バス16に接続されている
。I10レジスタ33はデータをI10駆動ユニツ1−
31からプロセッサ・バス16へ、またはその逆に転送
するのに用いられている。 制御ユニツ1へ14には、マイクロッ−1〜生成機構が
含まれ、各々のシステム命令ごとに、この場合は命令レ
ジスタ17に存在するプロセッサ命令ごとにマイ、タロ
ワードのシーケンスを生成する。 これらのマイクロワードは第1図に示された各種の要素
の動作を制御する制御点信号を順次生成する。例えば、
個々の制御点信号線は制御ユニツ1−14の出力からレ
ジスタおよびカウンタ17.18.19.22.23.
24.27.29.30、および33のロード制御端子
に通している。同様に、各種の他の制御点信号線が制御
ユニツ1〜14の出力から各種のレジスタおよびカウン
タ17.18、19.21、22、23、24、27、
:30および33の出力ゲート端子に通じている。こ
のように、適切な制御点信号線の苅を活性化することに
よって、レジスタの1つはそのデータをプロセッサ・バ
ス16に出力することができ、もう1つのレジスタはプ
ロセッサ・バス16に現わ]しるデータをそのレジスタ
自身」二〇−ドすることかできる。同じ制御目的で、更
に制御点信号線がΔLU20、ゲート回路21およびL
S八へ 2.61:1通じている。図面を簡略化するた
め、第11”’lで、これらの制御点信号線の大部分は
図示され丈いない。例外として、制御点信号線34が、
j二j31!憶機構28から取出されたプロセッサ命令
を命令レジスタ17にロードするために、命令レジスタ
17のロード制御端子に通じている。 プロセッサ10によって実行される:t−41’・プロ
ゲラ11は最初、I10バス32に接続された周辺装置
の1つから主記憶機@’62Bにロー1・さJLる。 この動作はI10駆動ユニツ1〜3J、110レジスタ
33、プロセッサ・バス16およびS r、) R30
を介して行なわれる。その後、ユーザ・プログラムはユ
ーザ・プロゲラ11を構成するそれぞれのシステム命令
またはプロセッサ命令を主記憶機構28から順次に読取
ることによって実行される。 各々のプロセッサ命令は順番に5DR30を介してプロ
セッサ・バス16に転送され、次いて命令レジスタ】7
にロードされ、実行される特定のプロセッサ命令は複数
の導線からなるバス35を介して制御ユニット14て識
別される。 命令レジスタ17にロー1くされたプロセッサ命令は、
例えば、局所記憶ユニツ1〜25に(j在する第1のオ
ペランドを主記憶機構28の特定のアドレスに位置する
第2のオペランドに加え、その結果を局所記憶ユニツt
−25に記憶することを要求することがある。このよう
な命令に応答して、制御ユニツ1−14は適切な制御点
信号を活性化し、データ・フロー・ユニット11は主記
憶機(5128から第2のオペランドを取出してそれを
Δレジスタ18にロードする。次いで、制御ユニツ1〜
14によって第1のオペランドは局所記′I意ユニツ1
−25からBレジスタ19に転送される。ΔLIJ20
はAレジスタ18とBレジスタ19の内容を加えるよう
に命令される。加算の結果がA L U 20の出力に
現わ汎ると、制御ユニット1411前記結果を局所記憶
ユニット25に転送し記憶づる。現在の命令を終了させ
るため、制御ユニツI−1,/lによって次のプロセッ
サ命令が主記憶機構28から取出され、命令レジスタ1
7にロードさ、1−う。 複数ワード命令の場合、命令レジスタl ’7にロード
されるのは第1のワードである。?JJ+Wされている
特定の命令に応じて、その命令の第2のワードおよび、
もし使用されれば、第3のワードはハレジスタ18、B
レジスタ19、チー・り・ア1−レス・カウンタ24ま
たは局所記憶ユニソ1〜25にある適切な汎用レジスタ
の中の少なくと1ノ1つにロードすることができる。 本発明は特に効率的かつ迅速な条件(・1き分岐および
条件付き飛越し型のプロセッサ命令に関連する。これ、
らの命令によってプロセッサ10は、もし分岐または飛
越し命令によって指定さAした特定の条件が満たされれ
ば、シーケンスを外れた命令に飛越し、または分岐する
。もし特定の条件が満たされなければ、プロセッサ10
は単にユーザ・プログラムの次の順次命令の取出しおよ
び実行を継続する。これらの飛越しおよび分岐条件は通
常、ALU20によって実行さJLだ各種の算術および
論理演算の結果に関連する。一般的な前記条件のセラ1
−が第1表に示さ扛ている。そのいずAしかが特定の飛
越しまたは分岐命令によって指定されることになる。 策上人 条件が満足されるかどうかを決定するためには。 ALU20によって実行された算術または論理演算によ
って生じた状態を表示するそれぞれの標識信号を与える
ことが必要である。第1表に示すように、これらの標識
信号はE、C,O,NおよびZ信号である。E信号は「
偶数」標識であって、A L U動作の結果が偶数であ
る(最下位ビットが0である)場合に1の値を得る。C
標識は「キャリ」標識であって、ALU動作の結果が指
定されたオペランドの大きさの範囲内の符号なしの数と
して表示しえない場合に1の値を得る。0信号は「オー
バフロー」信号であって、ALU動作の結果が指定さオ
したAベランドの大きさの範囲内の符号つきの数として
表示しえない場合に1の値を′41する。N信すは[負
Jの標識信号であって、ΔF、(J動作の結果が負数で
ある(最上位ヒラ1〜か1である)場合に1の値を得る
。2信号は「0」標識て、ΔLU動作の結果が全0の場
合に1の値を得る。 −例として、第2のオペランドが算術的に第1のオペラ
ンドよりも小さいかどうかについての決定は、第1表に
示したEC0NZ標識の中の特定の標識を検査すること
によって行なわれろ。この場合には、検査されるのはO
(符号つき数オーバフロー)およびN(負)の標識であ
り、2−)の可能性が存在する。もしOピッ1−がOで
11.1Nピツ1へが1であるか、またはOビットが1
て且−)Nピッ1へがOであれば、指定された条件は満
たされて分岐が行なわれる。この特定の検査の場合、他
の標識ビット、すなわちE、Cおよび2ピツj〜は無視
される。 第1表には、3ビツトの条件フィール1ヘヲ有する命令
フォーマットの場合に用いうる金貨条件コード値のセラ
1−が示さJしている。第1表番コ示さJした条件の半
分は正CP)タイプの条件″C,l;、す、他の半分は
負(N)タイプの条件である。Pタイプは「条件飛越し
」および「条件分岐」命ぐ)に用いられる。Nタイプは
、「条件飛越し一否W1;I;よび「条件分岐−否定」
命令に用いらJ+、る、、二Jしら2つのタイプの命令
に対してそれぞれ異なった命令コードが用いられ制御ユ
ニツ1〜]、 4 Ltこの相違から実行される特定の
タイプを決定する。第1表に示された「算術」条件は符
号つきの数に用いられ、「論理」条件は符号なしの数に
用いらtシる。 考慮されている特定のデータ・プロセッサのアーキテク
チャによって、用語「飛越し」および「分岐」は全(同
一のガ、味を有することもあり、そうではないこともあ
る。相違は、もしあれば、シーケンスを外れた新しい命
令アドレスを計算する方法に関連する。例えば、第1図
のデータ・プロセッサにおいて、飛越し命令の飛越し先
71−レスは、命令アドレス・カウンタ22に存在する
現在の命令アドレスに増分値を加えることによって計算
されるものとする。他方1分岐命令の場合には、分岐先
のアドレスは命令アドレス・カウンタ22に全く新しい
アドレス値をロードすることによって決定されるものと
する。このように、一般に、分岐命令は主記憶機構28
のとのアドレスにも分岐しうるが、飛越し命令は現在の
命令アドレスの前後の比較的限られた距離にあるア1く
レスに飛越すことができる。 EC0NZ標識の値はステータス・レジスタ36の最上
位5ピッ1−・ステージに記憶されでいる。 各々の算術または論理演算がA L U 20によって
完了した後、これらのステータス・レジ入り・ビットは
その演算の正しい標識値を反映づるように更新される。 ステータス・レジスタ36に記憶されたeA識値は複数
の導線からなるバス37を介して制御ユニット14で使
用可能になる5、飛越しまたは分岐が行なわれるべきか
どうかを決定するこれらの標識の検査は制御ユニツl−
14て丈?1さ4t。 る。ステータス・レジスタ36のロード(、(制御点信
号線38によって制御される。 代表的な例として、分岐型ブロセツザ令イ)はしばしば
比較型プロセッサ命令の後に続く。ぞの場合、まず比較
命令が命令レジスタ17にロー1−される。制御ユニッ
1〜14によって生じたマーrタロワード・シーケンス
によって第1オペランドと第2オペラン1くの比較がな
さ4しる。この動f1゛はハLU20が第2オペランド
から第1オペラン1、を引くことによって行なわれる。 そして、ステータス・レジスタ36のEC0NZ標識が
この減算の結果を反映するようにセラ1〜さオしる。次
いて、分岐型プロセッサ命令が主記憶機構28から取出
されて命令レジスタ17にセットされる。そして、制御
ユニット14はステータス・レジスタ36から供給され
たEC0NZ標識信号の中の適切なものを検査し、分岐
型命令の条件フィールドによって指定された条件を満た
すかどうかを調べる。例えは、条件フィールドが「算術
的により小さい場合に分岐するJ条件を指定するものと
する。この場合、もし第2オペランドが第1オペランド
よりも算術的に小さげILば、分岐が行なわJする。用
語「算術的Jは数の符号が考慮され、負数は正数よりも
小さいものとして処理されることを、育、味する。指定
された条イア1が満たされない場合、すなわち、1iS
2オペランドが算術的に第1オペランドよりも小さくな
い場合には、分岐は行なわJしず、次の順次命令が主記
憶機構28から取出され、命令レジスタI7にロードさ
れる・ 8、羽、ワラ、□よ、すL4大差1.Ω1□−1庄)〜
第2図には、第1図の制御ユニツ1〜1・1として用い
ることができる制御ユニツh 14 aの機能ブロック
図が示されており、本発明に従つ′C41η築さノ]、
た、すぐれたマイクロワード生成機(1ηの第1の実施
例が含まれている。とりわけ、この制御ユニット148
にはシステム命令に応答するl) L A装置が含まれ
ており、適切なマイクロワード・シーケンスを生成する
。システム命令は、この場合には、命令レジスタ17に
1度に1つずつ存在するプロセッサ命令である。このP
LA装置市′は制御I)LA40のような少なくとも1
つのp +−,A 登含む。 この制御PLA/10は、かなりの数のR7(ツー1−
)線によって接続された入力ANDアレーrおよび出力
ORアレイを含む。 更に、PLA装置には、シーケンス・カウンタ41が含
まれており、一連の数値信号を制911 P LA40
に供給し命令レジスタ】7に存在するプロセッサ命令の
ためのマイクロワードのシーケンスを生成させる。この
シーケンス・カウンタ4Iは、例えば、複数ピッ1−2
進カウンタの形式をとって、複数ビットのバス42を介
して、制御PLA40の入力ANDプレイの第2の入力
セラ1〜に、複数ビットの2進数信号を供給するもので
よい。命令レジスタ17からの命令ピッ1〜は複数ビッ
トのバス35を介して制御PLA40の入力ANDアレ
イ部分の第1の入力セットに供給される。 バス35−1−の特定の命令コードおよびバス42」二
の1.〒定のシーケンス・カラン1−に応答して、制御
PT−ハ40はその出力に特定の複数ピッ1〜のマイク
ロワードを生成する。このマイクロワードは制御P r
−、AのORアレイ部分から得らJしる。シーケンス・
カウンタ41を増分することによって、マイクロワード
が1つずつ制御1〕■、Δ40の出力に呪われる。要す
るに、制御P LΔ340はマイクロワードを「記憶」
し、一方、命令コード及びシーケンス・カラン1〜はマ
イク[Iワードを選択する「アドレス」を与える。実際
には、命令コードはベース・アドレスを、シーケンス・
カウンタは1組の変位アドレスを与え、その’JW定の
プロセッサ命令を実行するのに必要なマイクロワードの
シーケンスを選択する。 また、制御ユニット14aにはマイ))ロワード応答制
御回路が含まれており、第1図番コ、示すデータ・プロ
セッサ10の動作を制御する。この制御回路には接散ビ
ットの制御レジスタ43およびデコーダ44が含まれる
。制御レジスタ4;3のピッ1〜数は単一マイクロワー
ドのピッ1へ数と同じである。制御PLA40の出力に
呪われるマ・rクロワードは、先行するマイクロワー1
(・サーrクルの終りに制御レジスタ43にロードされ
る。制御レジスタ43に存在するマイクロワードはデニ
1−ダ44を駆動し、デコーダ44はその特定のマイク
ロワードに必要な特定の制御点信号を生成する。タロツ
ク発生器15からのクロック信−号tJテ゛コーダ44
に供給される。 一般に、各々のマイクロワードには数個のコード化され
た複数ピッ1へ制御フィールドが含まれている。デコー
ダ44はこれらのコード化フィールドをデコードし、適
切な個々の制御点も1シ3を生成する。マイクロワード
にある非コード化ピッ1〜、すなわちそれぞれが意味を
持っているピッI〜はデコーダ44によって変更されず
に直接出力される。 クロック発生器I5は制御点信号が実際にデコーダ44
の出力に現われる時点を決定するタロツク・パルスを供
給する。マイクロワード・サイクル当りのタロツク・パ
ルス数はデータ・プロセラ勺によって異なる。デコーダ
44は一般に比較的多数の制御点出力線を有する。代表
的なデータ・プロセッサには、このような出力線が10
0木以上ある。マイクロワード毎に比較的少数(例えば
10数本あるいはそAし以下)の出力線が活性化され、
その1.?定のマイクロワー1くに要求された制御活動
を生しる。 デコーダ44によって生成された制御点4.1号の1つ
は線45を介して制御レジスタ43のローディングを調
時するように供給される。別の制御点信号は制御点信号
線34を介して命令レジスタ17のローディングおよび
シーケンス・カウンタ41のリセッティングを制御する
ように供給される。 更に、別の制御点信号は線46を介してシーケンス・カ
ウンタ41の増分入力端子に供給さJL、、マイクロワ
ード・ザイクルごとに1カウントの1直だけシーケンス
・カウンタ41のカラン1を増分する。タイミングは、
特定のマイクロワー1・が制御レジスタ43にロードさ
れた直後に、シーり″リンスカウンタ4Jが1だけ増分
されて制御1’LA40で次のマイクロワードを生成さ
せる様
ム命令の実行を制御するのに用いられる、マイクロプロ
グラム式ディジタル・データ・プロセッサおよびディジ
タル・コンピュータのような、マイクロプログ5フ〜式
ディジタル・システl−において使用するマイクロワー
ド生成機構に関連する。 本発明は特に、主要回路部分がLSIチップ上に形成さ
れているデータ・プロセッサおよびディジタル・コンピ
ュータにおいて有用である。 〔先行技術の説明〕 マイクロプロゲラ11式ディジタル・コンピュータまた
はデータ・プロセッサに於ては、システム命令又はユー
ザのソフ1へウェア・プロゲラ11がらtHFらJLる
プロセッサ命令を実行するのに必要な内部プロセッサ制
御動作を与えるマイクロワー1・は内部制御記憶から読
出さILる。マイクロワー]・は1回に1つずつ記憶装
置から読出されて制御レジスタにセラ]−される。各々
のマイクロワードは複数の2進ビツトから成り、その一
部分または全部は複数ビットの制御グループすなわち制
御フィールドに配列されることがある。制御レジスタは
データ・プロセッサにある各種のデータ・フロー・ゲー
トおよびデータ処理機構を制御する要素の制御点信号を
生じるデコーダ機能を駆動Jる。各々のマイクロワード
は1マイクロワード・サー(クルの間、データ・プロセ
ッサの内部動作を制御する。 通常は1つのプロセッサ命令を実行するのに数個のマイ
クロワードが必要である。あるプロセッサ命令は少数の
マイクロワードだけを心電・とするが、他のプロセッサ
命令にはその実行を完1′するのに多数のマイクロワー
ドを必要とするものがある。 現在、データ・プロセッサのマイクロ°ノード制御ユニ
ツ1一部分を含む主要な部分はLSIデツプ上に組立て
られる傾向にある。総体的な[J的は単一のチップ上に
与えうるデータ処理機(fl”、の数を増加することで
あり、究極的な目標は単一・チップ上に完全なデータ・
プロセッサまたはディジタル・コンピュータを設けるこ
とである。現在、単一チップ上に最大数の回路をパック
する最良の技術はいわゆるM OS F E T技術で
ある。前記技術はチップ上に極めて高い回路密度を可能
にするが、残念なことにMO3FET回路は、例えば、
いわゆるバイポーラIC技術のような他のIC技術によ
って組立てられた回路よりも動作速度がいくらか低い。 従って、MO8FET回路を使用するデータ処理機構の
動作速度を高める方法を発見することが望ましい。また
、たとえMO8FET回路が高い回路密度を伴えても、
回路スペースを無駄にしないよう注意しなければならな
い。言い換えれば、チップ」二に要求される回路の総数
を減少する回路機構を与えることが望まいしことに変り
はなし1 。 〔本発明の(1■要〕 本発明によって、M OS F E T回路技術によっ
て容8に組立てられ、且つ現在入手しうる(全マイクロ
ワード・ビット容量が)同等の大きさのMO8FETマ
イクロワード生成機構によって与えられる動作速度より
もかなり高速の動作速度を一層えるすぐれたマイクロワ
ード生成機構が与えられる。これは、一般に、在来のラ
ンダム・アクセス制御記憶ユニットおよびそのアドレス
指定回路を複数のPLA(プログラマブル論理アレー0
に置換えたマイクロワード生成機構を与えることによっ
て達成され、特に、条件付き飛越しよiよび条件付き分
岐型のプロセッサ命令の実行を、より効率的で迅速に処
理しうる先例のないP L A 49成を与えることに
よって達成される。大抵のユーザ・プログラムは相当な
数の分岐および飛越し命令を含んでいるから、通常、全
体の処理時間のかなりの節約が可能になる。 条件付き飛越しおよび分岐命令を実行するに当って、最
初(;少なくとも1つの条件標識信シーシを検査して特
定の条件が満たされているかどうかを決定する必要があ
る。それが満たされている場合、順次プロセッサ命令か
らの特定の飛越しまたは分岐が行なわれる。そうでない
場合には、飛越しまたは分岐は行なわれず、ユーザ・プ
ロゲラ11の次の順次プロセッサ命令が実行さ扛る。 本発明に従って、この条件検査は大多数のマイクロワー
ドを生じる他のPLAとは別個のP LΔによって実行
される。この別個の条件検査PLΔは、分既または非分
岐マイクロワード・シーケンスが生成されるかどうかを
決定するのに用いられる、簡単な「イエス」または「ノ
ー」の判断信号を生成する。これにはいくつかの利点が
あり、例えば、主要P L A機構において必要とする
積線の数を減少させ、主要PLA機構の大きさを縮小し
てその動作速度を改善するのに役立つ。同時に、条件検
査PI。への寸法は比較的小さく、その動作速度は非常
に速い。また、別個の条件検査P1−Δのアクセスは主
要p r、へ機構の通′1;(の動作とオーバラップし
うるから、時間の一層のni1約が実現される。 また、本発明に従って、分岐および飛越し命令を実行す
るのに必要なマイクロワードを生成する更に別個のPL
Aを設けることによって、性能を一層すぐれたものにす
ることができる。この別個の分岐コードPLAは分岐型
のプロセッサ命令のマイクロワード・シーケンスを供給
するが、主要P LΔ機構は非分岐型プロセッサ命令の
マイクロワード・シーケンスを与える。この場合、条件
検査P L Aからの判断信号は分岐コードI’LAに
供給され、分岐コードPLAによって生成されるマイク
ロワード・シーケンスの選択を制御する。この条件検査
P L Aと分岐コードPLAの組合せは、非分岐型の
システム命令を実行するためのマイタロワード・シーケ
ンスを与えているPI、Δ構造の残りの部分と並行して
動作する非常に高速な径路を一ダえる。これは分岐マイ
クロワー1−の極めて高速な使用を可能にする。 本明細書で用いる用語「分岐型Jは、データ・プロセツ
リを次の順次プログラム命令以外の命令に行かせる、分
岐命令、飛越し命令おJ、び他のどんな種類のプロクラ
ム命令をも含む化1占的な用語とし、て用いられている
。 〔詳細な説明〕 A−ゲニブプロセッサ 71図 第1図には各々のシステム命令の実行を制御するのにマ
イクロワードのシーケンスが用いられるマイクロプログ
ラム式ディジタル・システムIOの機能ブロック図が示
されている。このディジタル・システム】0はマイクロ
プログラム式ディジタル・コンピュータ即ちディジタル
・データ・プロセッサ(以下、単にプロセッサという)
である。 このプロセッサ10は特にLSIチップ上に組立てるの
に適合する。プロセッサ10には、データ・フロー・ユ
ニツh11.主記憶ユニツ1−12、Ilo (入出力
)ユニツ1〜13、制御ユニツ1−14およびクロック
発生器15が含まれる。データ・フロー・ユニツ1−1
1は時にはCPUと呼ばれ、ΔLU、各種のバー1−ウ
ェアのレジスタおよびカウンタ、局所記憶ユニット、な
らびにこれらを相互接続するバス・システムなどを含む
。データ・フロー・ユニット11はユーザ・データの加
算、減算、再配列および他の処理を行ない、計算機のユ
ーザが要求する結果を生成するユニツ1〜である。 制御ユニット14はデータ・フロー・ユニツ1−11、
主記憶ユニット12、I10ユニツ1−13の動作を、
これらのユニットに存在するに種の動作機構に供給され
る制御点信号によって制御する。 図面をfIi mts化するため、そILぞれのし゛ク
スタ・カウンタ等への制御点信号線の大部分の接続は図
示されていない。 多重導線のプロセッサ・バス16はi:′−夕・フロー
・ユニット11にある各種のレジξり、カウンタおよび
他の動作ユニットを相互接続するのに用いらJしる。こ
こでは、このプロセッリ゛・バス16は16ビツ1−す
なわち16の導線からなるバスであるものとし、それに
合わせて、ブ11セッサ・バス16に接続された各種の
レジスタ、1;よびカウンタは16ビツ1〜のレジスタ
および力菅°ノン夕であるものとする。 データ・フロー・ユニツ1〜11には命令レジスタ17
、Aレジスタ18およびBレジスタI9が含まれ、その
各々はプロセッサ・バス16にその入力回路とその出力
回路がどちらも接続され、それに複数ビットの2進信号
を供給するどともに、それから複数ビットの2進信号を
受取る。Δレジスタ18と、Bレジスタ19はALU2
0を駆動し、A 1.、 U 20の出力は16ビツ1
〜のゲート回路2Iによってプロセッサ・バス16に送
られる。 また、データ・フロー・ユニツ1へ11には、命令アド
レス・カウンタ22、命令アドレス・レジスタ23およ
びデータ・アドレス・カウンタ24が含まれ、こ汎らは
プロセッサ・バス16に接続された主記憶ユニット12
の記憶アドレスを与える。 命令アドレス・レジスタ23は枚数ワード命令の場合に
有用である。その場合、命令の第1のワードのアドレス
は命令ア1−レス・レジスタ23にロー1<されて保管
されるが、命令アドレス・カウンタ22は更新され、状
況によって命令の第2のワードまたは第2および第3の
ワー1くをアドレス指定する。第1のワー1〜には実行
さJしる特定の命令を識別する命令コード・フィールド
が含まれている。 データ・フロー・ユニツ1−IIには更に、局所記憶ユ
ニット25、およびそれに関連するL SへR(局所記
憶アドレス・レジスタ)26ならびにLSDR(局部記
憶データ・レジスタ)27が含まれている。LSDR2
7はプロセッサ゛・バス16に接続されて2進データを
プロセッサ・・バス16から局所記憶ユニツ1〜25へ
、またはその逆に転送するのに用いられる。局所記憶ユ
ニツ1へ25には、各種の汎用レジスタが含まjし、プ
ロセッサ10がユーザ・プログラムを実行している間、
データ等を−++、!的に記憶する。説明を1′IiI
”;t ’tヒ・1−るため、L S A R25は制
御ユニツ1へ14から局所記憶アドレスを受取るものと
する。 主記憶ユニット12には主記憶機構28、SA■マ(記
憶アドレス・レジスタ)29およびSDI之(記憶デー
タ・レジスタ)30が含まAじCいる。 5AR29はプロセッサ・バス1Gに接続され、命令ア
ドレス・カウンタ22とデータ・アドレス・カウンタ2
4から記憶アドレスを受取る。S D 1130もプロ
セッサ・バス1Gに接続さ」し、データ、命令等を主記
憶機構28からプロセッサ・バス16へ、またはその逆
に転送する。 I10ユニツ1〜13には、データ・プロセッサ。 工0に関連する各種の周辺ユニツ1〜に通じる■10バ
ス32に接続されているI10駆動ユニット31が含ま
Jしている。I10駆動ユニツj〜31はI10レジス
タ33によってプロセッサ・バス16に接続されている
。I10レジスタ33はデータをI10駆動ユニツ1−
31からプロセッサ・バス16へ、またはその逆に転送
するのに用いられている。 制御ユニツ1へ14には、マイクロッ−1〜生成機構が
含まれ、各々のシステム命令ごとに、この場合は命令レ
ジスタ17に存在するプロセッサ命令ごとにマイ、タロ
ワードのシーケンスを生成する。 これらのマイクロワードは第1図に示された各種の要素
の動作を制御する制御点信号を順次生成する。例えば、
個々の制御点信号線は制御ユニツ1−14の出力からレ
ジスタおよびカウンタ17.18.19.22.23.
24.27.29.30、および33のロード制御端子
に通している。同様に、各種の他の制御点信号線が制御
ユニツ1〜14の出力から各種のレジスタおよびカウン
タ17.18、19.21、22、23、24、27、
:30および33の出力ゲート端子に通じている。こ
のように、適切な制御点信号線の苅を活性化することに
よって、レジスタの1つはそのデータをプロセッサ・バ
ス16に出力することができ、もう1つのレジスタはプ
ロセッサ・バス16に現わ]しるデータをそのレジスタ
自身」二〇−ドすることかできる。同じ制御目的で、更
に制御点信号線がΔLU20、ゲート回路21およびL
S八へ 2.61:1通じている。図面を簡略化するた
め、第11”’lで、これらの制御点信号線の大部分は
図示され丈いない。例外として、制御点信号線34が、
j二j31!憶機構28から取出されたプロセッサ命令
を命令レジスタ17にロードするために、命令レジスタ
17のロード制御端子に通じている。 プロセッサ10によって実行される:t−41’・プロ
ゲラ11は最初、I10バス32に接続された周辺装置
の1つから主記憶機@’62Bにロー1・さJLる。 この動作はI10駆動ユニツ1〜3J、110レジスタ
33、プロセッサ・バス16およびS r、) R30
を介して行なわれる。その後、ユーザ・プログラムはユ
ーザ・プロゲラ11を構成するそれぞれのシステム命令
またはプロセッサ命令を主記憶機構28から順次に読取
ることによって実行される。 各々のプロセッサ命令は順番に5DR30を介してプロ
セッサ・バス16に転送され、次いて命令レジスタ】7
にロードされ、実行される特定のプロセッサ命令は複数
の導線からなるバス35を介して制御ユニット14て識
別される。 命令レジスタ17にロー1くされたプロセッサ命令は、
例えば、局所記憶ユニツ1〜25に(j在する第1のオ
ペランドを主記憶機構28の特定のアドレスに位置する
第2のオペランドに加え、その結果を局所記憶ユニツt
−25に記憶することを要求することがある。このよう
な命令に応答して、制御ユニツ1−14は適切な制御点
信号を活性化し、データ・フロー・ユニット11は主記
憶機(5128から第2のオペランドを取出してそれを
Δレジスタ18にロードする。次いで、制御ユニツ1〜
14によって第1のオペランドは局所記′I意ユニツ1
−25からBレジスタ19に転送される。ΔLIJ20
はAレジスタ18とBレジスタ19の内容を加えるよう
に命令される。加算の結果がA L U 20の出力に
現わ汎ると、制御ユニット1411前記結果を局所記憶
ユニット25に転送し記憶づる。現在の命令を終了させ
るため、制御ユニツI−1,/lによって次のプロセッ
サ命令が主記憶機構28から取出され、命令レジスタ1
7にロードさ、1−う。 複数ワード命令の場合、命令レジスタl ’7にロード
されるのは第1のワードである。?JJ+Wされている
特定の命令に応じて、その命令の第2のワードおよび、
もし使用されれば、第3のワードはハレジスタ18、B
レジスタ19、チー・り・ア1−レス・カウンタ24ま
たは局所記憶ユニソ1〜25にある適切な汎用レジスタ
の中の少なくと1ノ1つにロードすることができる。 本発明は特に効率的かつ迅速な条件(・1き分岐および
条件付き飛越し型のプロセッサ命令に関連する。これ、
らの命令によってプロセッサ10は、もし分岐または飛
越し命令によって指定さAした特定の条件が満たされれ
ば、シーケンスを外れた命令に飛越し、または分岐する
。もし特定の条件が満たされなければ、プロセッサ10
は単にユーザ・プログラムの次の順次命令の取出しおよ
び実行を継続する。これらの飛越しおよび分岐条件は通
常、ALU20によって実行さJLだ各種の算術および
論理演算の結果に関連する。一般的な前記条件のセラ1
−が第1表に示さ扛ている。そのいずAしかが特定の飛
越しまたは分岐命令によって指定されることになる。 策上人 条件が満足されるかどうかを決定するためには。 ALU20によって実行された算術または論理演算によ
って生じた状態を表示するそれぞれの標識信号を与える
ことが必要である。第1表に示すように、これらの標識
信号はE、C,O,NおよびZ信号である。E信号は「
偶数」標識であって、A L U動作の結果が偶数であ
る(最下位ビットが0である)場合に1の値を得る。C
標識は「キャリ」標識であって、ALU動作の結果が指
定されたオペランドの大きさの範囲内の符号なしの数と
して表示しえない場合に1の値を得る。0信号は「オー
バフロー」信号であって、ALU動作の結果が指定さオ
したAベランドの大きさの範囲内の符号つきの数として
表示しえない場合に1の値を′41する。N信すは[負
Jの標識信号であって、ΔF、(J動作の結果が負数で
ある(最上位ヒラ1〜か1である)場合に1の値を得る
。2信号は「0」標識て、ΔLU動作の結果が全0の場
合に1の値を得る。 −例として、第2のオペランドが算術的に第1のオペラ
ンドよりも小さいかどうかについての決定は、第1表に
示したEC0NZ標識の中の特定の標識を検査すること
によって行なわれろ。この場合には、検査されるのはO
(符号つき数オーバフロー)およびN(負)の標識であ
り、2−)の可能性が存在する。もしOピッ1−がOで
11.1Nピツ1へが1であるか、またはOビットが1
て且−)Nピッ1へがOであれば、指定された条件は満
たされて分岐が行なわれる。この特定の検査の場合、他
の標識ビット、すなわちE、Cおよび2ピツj〜は無視
される。 第1表には、3ビツトの条件フィール1ヘヲ有する命令
フォーマットの場合に用いうる金貨条件コード値のセラ
1−が示さJしている。第1表番コ示さJした条件の半
分は正CP)タイプの条件″C,l;、す、他の半分は
負(N)タイプの条件である。Pタイプは「条件飛越し
」および「条件分岐」命ぐ)に用いられる。Nタイプは
、「条件飛越し一否W1;I;よび「条件分岐−否定」
命令に用いらJ+、る、、二Jしら2つのタイプの命令
に対してそれぞれ異なった命令コードが用いられ制御ユ
ニツ1〜]、 4 Ltこの相違から実行される特定の
タイプを決定する。第1表に示された「算術」条件は符
号つきの数に用いられ、「論理」条件は符号なしの数に
用いらtシる。 考慮されている特定のデータ・プロセッサのアーキテク
チャによって、用語「飛越し」および「分岐」は全(同
一のガ、味を有することもあり、そうではないこともあ
る。相違は、もしあれば、シーケンスを外れた新しい命
令アドレスを計算する方法に関連する。例えば、第1図
のデータ・プロセッサにおいて、飛越し命令の飛越し先
71−レスは、命令アドレス・カウンタ22に存在する
現在の命令アドレスに増分値を加えることによって計算
されるものとする。他方1分岐命令の場合には、分岐先
のアドレスは命令アドレス・カウンタ22に全く新しい
アドレス値をロードすることによって決定されるものと
する。このように、一般に、分岐命令は主記憶機構28
のとのアドレスにも分岐しうるが、飛越し命令は現在の
命令アドレスの前後の比較的限られた距離にあるア1く
レスに飛越すことができる。 EC0NZ標識の値はステータス・レジスタ36の最上
位5ピッ1−・ステージに記憶されでいる。 各々の算術または論理演算がA L U 20によって
完了した後、これらのステータス・レジ入り・ビットは
その演算の正しい標識値を反映づるように更新される。 ステータス・レジスタ36に記憶されたeA識値は複数
の導線からなるバス37を介して制御ユニット14で使
用可能になる5、飛越しまたは分岐が行なわれるべきか
どうかを決定するこれらの標識の検査は制御ユニツl−
14て丈?1さ4t。 る。ステータス・レジスタ36のロード(、(制御点信
号線38によって制御される。 代表的な例として、分岐型ブロセツザ令イ)はしばしば
比較型プロセッサ命令の後に続く。ぞの場合、まず比較
命令が命令レジスタ17にロー1−される。制御ユニッ
1〜14によって生じたマーrタロワード・シーケンス
によって第1オペランドと第2オペラン1くの比較がな
さ4しる。この動f1゛はハLU20が第2オペランド
から第1オペラン1、を引くことによって行なわれる。 そして、ステータス・レジスタ36のEC0NZ標識が
この減算の結果を反映するようにセラ1〜さオしる。次
いて、分岐型プロセッサ命令が主記憶機構28から取出
されて命令レジスタ17にセットされる。そして、制御
ユニット14はステータス・レジスタ36から供給され
たEC0NZ標識信号の中の適切なものを検査し、分岐
型命令の条件フィールドによって指定された条件を満た
すかどうかを調べる。例えは、条件フィールドが「算術
的により小さい場合に分岐するJ条件を指定するものと
する。この場合、もし第2オペランドが第1オペランド
よりも算術的に小さげILば、分岐が行なわJする。用
語「算術的Jは数の符号が考慮され、負数は正数よりも
小さいものとして処理されることを、育、味する。指定
された条イア1が満たされない場合、すなわち、1iS
2オペランドが算術的に第1オペランドよりも小さくな
い場合には、分岐は行なわJしず、次の順次命令が主記
憶機構28から取出され、命令レジスタI7にロードさ
れる・ 8、羽、ワラ、□よ、すL4大差1.Ω1□−1庄)〜
第2図には、第1図の制御ユニツ1〜1・1として用い
ることができる制御ユニツh 14 aの機能ブロック
図が示されており、本発明に従つ′C41η築さノ]、
た、すぐれたマイクロワード生成機(1ηの第1の実施
例が含まれている。とりわけ、この制御ユニット148
にはシステム命令に応答するl) L A装置が含まれ
ており、適切なマイクロワード・シーケンスを生成する
。システム命令は、この場合には、命令レジスタ17に
1度に1つずつ存在するプロセッサ命令である。このP
LA装置市′は制御I)LA40のような少なくとも1
つのp +−,A 登含む。 この制御PLA/10は、かなりの数のR7(ツー1−
)線によって接続された入力ANDアレーrおよび出力
ORアレイを含む。 更に、PLA装置には、シーケンス・カウンタ41が含
まれており、一連の数値信号を制911 P LA40
に供給し命令レジスタ】7に存在するプロセッサ命令の
ためのマイクロワードのシーケンスを生成させる。この
シーケンス・カウンタ4Iは、例えば、複数ピッ1−2
進カウンタの形式をとって、複数ビットのバス42を介
して、制御PLA40の入力ANDプレイの第2の入力
セラ1〜に、複数ビットの2進数信号を供給するもので
よい。命令レジスタ17からの命令ピッ1〜は複数ビッ
トのバス35を介して制御PLA40の入力ANDアレ
イ部分の第1の入力セットに供給される。 バス35−1−の特定の命令コードおよびバス42」二
の1.〒定のシーケンス・カラン1−に応答して、制御
PT−ハ40はその出力に特定の複数ピッ1〜のマイク
ロワードを生成する。このマイクロワードは制御P r
−、AのORアレイ部分から得らJしる。シーケンス・
カウンタ41を増分することによって、マイクロワード
が1つずつ制御1〕■、Δ40の出力に呪われる。要す
るに、制御P LΔ340はマイクロワードを「記憶」
し、一方、命令コード及びシーケンス・カラン1〜はマ
イク[Iワードを選択する「アドレス」を与える。実際
には、命令コードはベース・アドレスを、シーケンス・
カウンタは1組の変位アドレスを与え、その’JW定の
プロセッサ命令を実行するのに必要なマイクロワードの
シーケンスを選択する。 また、制御ユニット14aにはマイ))ロワード応答制
御回路が含まれており、第1図番コ、示すデータ・プロ
セッサ10の動作を制御する。この制御回路には接散ビ
ットの制御レジスタ43およびデコーダ44が含まれる
。制御レジスタ4;3のピッ1〜数は単一マイクロワー
ドのピッ1へ数と同じである。制御PLA40の出力に
呪われるマ・rクロワードは、先行するマイクロワー1
(・サーrクルの終りに制御レジスタ43にロードされ
る。制御レジスタ43に存在するマイクロワードはデニ
1−ダ44を駆動し、デコーダ44はその特定のマイク
ロワードに必要な特定の制御点信号を生成する。タロツ
ク発生器15からのクロック信−号tJテ゛コーダ44
に供給される。 一般に、各々のマイクロワードには数個のコード化され
た複数ピッ1へ制御フィールドが含まれている。デコー
ダ44はこれらのコード化フィールドをデコードし、適
切な個々の制御点も1シ3を生成する。マイクロワード
にある非コード化ピッ1〜、すなわちそれぞれが意味を
持っているピッI〜はデコーダ44によって変更されず
に直接出力される。 クロック発生器I5は制御点信号が実際にデコーダ44
の出力に現われる時点を決定するタロツク・パルスを供
給する。マイクロワード・サイクル当りのタロツク・パ
ルス数はデータ・プロセラ勺によって異なる。デコーダ
44は一般に比較的多数の制御点出力線を有する。代表
的なデータ・プロセッサには、このような出力線が10
0木以上ある。マイクロワード毎に比較的少数(例えば
10数本あるいはそAし以下)の出力線が活性化され、
その1.?定のマイクロワー1くに要求された制御活動
を生しる。 デコーダ44によって生成された制御点4.1号の1つ
は線45を介して制御レジスタ43のローディングを調
時するように供給される。別の制御点信号は制御点信号
線34を介して命令レジスタ17のローディングおよび
シーケンス・カウンタ41のリセッティングを制御する
ように供給される。 更に、別の制御点信号は線46を介してシーケンス・カ
ウンタ41の増分入力端子に供給さJL、、マイクロワ
ード・ザイクルごとに1カウントの1直だけシーケンス
・カウンタ41のカラン1を増分する。タイミングは、
特定のマイクロワー1・が制御レジスタ43にロードさ
れた直後に、シーり″リンスカウンタ4Jが1だけ増分
されて制御1’LA40で次のマイクロワードを生成さ
せる様
【5決められる。この様に、制御PLΔ40は命
令レジスタ17に存在する所与のプロセッサ命令に女、
1してマイクロワー1〜のシーケンスを生成する。シー
ツJ゛ンスにある最後のマイクロワードによって制御ノ
、′−信号線34は活性化されて次の命令を命令レジス
タ17にロードし、シーケンス・カウンタ/I I l
:l最初の開始カラン1−にリセッ1−される。この間
始カウン1−は、説明の都合に、0であるものとする。 制御ユニツh ]、 4 aには更に、条件標識回路が
含まれており、プロセッサの算術および論理演算の結果
が特定のタイプの条件を満たすがどうかを表示する標識
信号を供給する。この条件c1゛1識回路は複数の導線
からなるバス37を含み、ステータス・レジスタ36か
ら制御ユニツh 14 aにE、C,0,NおよびZの
標識(fi号を供給する。 制御ユニツh l 4 aにはまた、条件句き分岐型プ
ロセッサ命令の条件フィールドに応答する分岐判断PL
A47が含まノシテおり、E、C,O,NおよびZの標
識信号の中の適切な単数または複数の標識信号を検査す
るとともに、もし前記命令の条件フィール1−によって
指定された条件が満たさJしるならば、分岐型のマイク
ロワードのシーケンスを生成させる。この分岐判断P
L A 47はバス37を介してステータス・レジスタ
36がらE、C,O,NおよびZの標識信号を受取り、
また主バス35および分岐バス48(主バス35の導線
の一部分を含んでいてもよい)を介して、命令レジスタ
17から命令ピッ1〜の一部分(全部である必要はない
)を受取る。分岐判断p r、Δ/I7に供給さJした
命令ピッ1〜には、検査さオしる特定の条件を識別する
条件コード・フィールドに加えて、分岐命令の型および
その極性(正タイプが負タイプか)を決定するのに必要
なピッ1へだけがきまれでいればよい。いくつかのプロ
セッサ命令せツトにおいては、命令ピッ1)の総数より
も少ンノ・いピッ1、数で十分である。 バス37上の標識ピッ1〜及びバス481−の命令ビッ
トは分岐判断PLA47の入力ANI)アレイ部分の異
なる入力セラ1−に供給さhる。この分岐判PLA47
は単一の出力線49だけを右する。 命令の断条件コード・フィールドによ−)−c指定され
た条件が、ステータス・レジスタ3〔;からのEC0N
Z標識信号の中の適切な1っ又1j複数の標識信号によ
って満足される場合には、出力線49は活性化され、庁
定的な判断信号がその線−1−に生成される。例えば、
もし条件のタイプがP、条件コードがrlolであって
、O及びNの標識ピッi・が夫々0及びIの値を有する
ならば、分11jQ判断PLA47の入力ANDアレイ
はその中のq1′定の導線を活性化し、それによってO
Rアレーrの出力線40を活性化する。ここで簡略化の
為、分岐型の命令が1種類だけあって、第1表には可能
性のある検査条件がすべて示さAしているものとすれば
、分岐判断PLΔ47は合計16本の導線及び1本のO
Rアレイ出力線を有し、第1表に示された夫々の条件ご
とに異なる導線がある。単一のORアレイ出力線は、導
線の各々に接続されるので、第1図に示さjした条件の
どれかがタイプ及び条件コード・ビットによって指定さ
れ、適切な標識ビン1〜によって満足される時はいっで
も活性化される。 第2図の実施例では、判断’fD号の−Qj、−・の出
力線49は制御P L、 A 4.0に接続され、制御
P L A /10は、分岐型の命令が命令レジスタ1
7に存在し旧つ指定さiシた条件が満たされていること
を示す1′?定判断信号を分岐判断PLA47が生成し
ているとき、分岐型のマイクロワーワ・シーケンスを生
成する。この11i′定分岐マイクロワード・シーリン
スによってデータ・プロセッサはシーケンスを外れたプ
ロセッサ命令に分岐する。分岐先のアドレスは分岐型命
令中に含まれているか、または分岐型命令によって間接
的に指定される。分岐判断の出力線49上の信号がI〒
定判断信号ではない(条件が満たされない)場合には、
制@1+ p l A 40は甲、に次の順次プログラ
ム命令を主記1意機構28から取出す非分岐マイクロワ
ード・シーケンスを生成する。 別個の分岐判断PLA47を使用する利点は、それを使
用しない場合に、制御PLA/loの内部で条1′I:
検査を行なうに必要とさ4しるυ目+11の数をかなり
節約できることである。制御P LΔ40の内部で条件
検査を行なう場合には各々のツ)l岐型命令のためのマ
イクロコードは可能性のある条イ′1検査ごとに重複し
て設けておく必要がある。しかし、別個の分岐判断PL
A47の使用によ−IC1このマイクロコードの重複は
回避さAし、制御1〕1.八110【よ任意のIj、え
らhだ分岐命令に苅し゛(−組の導線だけがあればよい
。同時に、分岐判…11) 1.Δ47は非常に小さく
且つ極めて高速なF〕1.Δである。 従って、他のすべての構成が等しい湯治、条件検査が別
個の1)r−Δで行なわれると、チンーノ′面積の節約
および平均動作速度の増加が得ら、11.る。 C,flii梗日三ツ1〜の第2実施例(第3図)第3
図には、第1図の制御ユニツ1〜14として使用可能な
別の制御ユニット14bの内部構造の機能ブロック図が
示されており、本発明に従って構築されたすぐれたマイ
クロワード生成機構の第2の実施例が含まれている。第
2図に示されたものと同し構成要素は同じ参照数字を用
いて第3図に示されている。 第3図において、基本制御P■−Δ50は非分岐型プロ
セッサ命令のためのマイクロワード・シーケンスを生成
し、分岐コードPLA51は分岐型プロセッサ命令のた
めのマイクロワード・シーケンスを生成する。この分岐
コードPLA5]は分岐判断PI、Δ47の甲、−の出
力線49に現われる判断信号に応答して、「イエス」分
岐または「ノー」分岐のマイクロワード・シーケンスの
どちらが生成されるべきかを決定する。また、分岐コー
ドPLΔ51は命令ヒツト線52を介して命令レジスタ
17の少なくとも1つのビットに応答して、飛越し命令
と分岐命令を識別する。これは飛越し命令の要求したマ
イクロワード・シーケンスが分岐命令の要求したマイク
ロワード・シーケンスといくらか異なる場合に必要であ
る。両方の型の命令に同じマイクロワード・シーケンス
が用いられる場合には、命令ビット風52は省略できる
。命令ピッ1−線52が必要な場合、飛越し命令と分岐
命令の相違を見分けるのに必要な数のピッ1〜線だけが
用いられる。 また、分岐コードPLA51はシーケンス・カウンタ5
3から供給さJLる2進数信号に応省する。 このシーケンス・カウンタ53は線54を介してデコー
タ44から供給される制御点信しによって各々の分岐型
マイクロワード・シーケンスの最初にOにリセツ1〜さ
れる。シーケンス・カウンタ53は線55を介して供給
される制御点信号によって分岐型シーケンスの各マイク
ロワード・ザイクルの間に1カウントだけ増分される。 このように、分岐判断の出力線49および命令ピッl−
線52の任意の与えられた条件のセットに対して、シー
ケンス・カウンタ53は複数回増分され、所望のマイク
ロワードのシーケンスを分岐コードP L A 51の
出力に生成する。 飛越し型命令が第1の種類のマイクロワード・シーケン
スを必要とし、分岐型命令が第2の種類のマイクロワー
ド・シーケンスを必要とする場合を想定すると、分岐コ
ー+: p LΔ51は3種類の異なるマイクロワード
・シーケンスを含む。第2のマイクロワード・シーケン
スは指定された条件が満たされたときの飛越し命令の場
合である。第2のマイクロワード・シーケンスは指定さ
れた条件が満たされたときの分岐命令の場合である。第
3のマイクロワード・シーケンスは条件が満たされなか
ったときの飛越しまたは分岐命令のどちらかの場合であ
る。第3のマイクロワード・シーケンスは単に、次の順
次プロクラ11命令を主記憶機構28から取出して、命
令レジスタ17にロードするだけである。 ゲート群56および57はマルチプレクサとして働き、
制御レジスタ43が主制御P L、Δ50または分岐コ
ードPLA5]のどちらか一方からマイクロワードを受
取ることを可能にする。非分岐型プロセッサ命令を実行
している間、ゲート群57は制御点信号線58を介して
活性化され、主制御P L A 50からのマイクロワ
ードが制御レジスタ43に供給されるのを可能にする。 これに対して、分岐型プロセッサ命令を実行している間
、ゲート群56は制御点信号線59を介して活性化され
、分岐コードPLA51によって生成されたマイクロワ
ードを制御レジスタ43に供給ずろことができる。 ゲート群56または57を選択するため、各々のマイク
ロワードにはストローブ・フィールドが与えられる。デ
コーダ44はそれをみ−C1次のマイクロワードが主制
御PLA50から選択される場合は制御点信号線58を
活性化し、次のマイクロワードが分岐コードPLA51
から選択される場合は、代りに制御点信号線59を活性
化する。 分岐型命令が命令レジスタ17にロードされると、その
存在は主制御PLA50によって認識され、それによっ
て生じたマイクロワードのストローブ・フィールドは次
のマイクロワードを分岐コードPLA51から選択する
ことをデコーダ44に命じる。分岐コードP L A
51によって生成されたストローブ・フィールドおよび
マイクロワー1−は、最後の分岐コード・マイクロワー
ドに達するまで、分岐コード・マイクロワードを選択す
ることをデコーダ44に指示し続ける。この最後の分岐
コード・マイクロワードのストローブ・フィールドは次
のマイクロワー1〜を主制御P L A 50から選択
することをデコーダ44に指示する。命令レジスタ17
にロードされた次の命令が非分岐型命令であるものとす
ると、前記命令に関して生成された各々のマイクロワー
ドのストローブ・フィール1くは次のマイクロワードに
対して主制御1)1.、ハ50を選択し続りることをデ
コーダ44に指示することになる。 分岐型のマイクロワード・シーケンスのために別個の分
岐コードPLA51を使用する利点は。 それによって、より大きく且ついくらか遅い主制御PL
Δ50に並列に高速な経路がlj、えらJLることであ
る。この点に関して、分岐コーl:’ I’ 1. A
51は相対的に小さく、従って相対的に短かいアクセ
ス時間を有する。多くの異なるユーザ・プログラムにお
いて分岐型命令はかなり@繁に生じるから、分岐コード
PLΔ51によって−伴えらJした並列高速経路は一般
に、平均命令実行速度を増大させる。 第4A図および第4B図には、第1図の制御ユニット1
4として使用可能な制御ユニツh I 4 cの内部構
造の機能ブロック図が示されており、本発明に従って構
築されたすぐれたマイク■リード生成機構の第3の実施
例が含まれている。この実施例においては、プロセッサ
のクロック発生器J5a(第4B図)は第5図に示され
た△相およびr3相のタロツク信号を生成する。これら
のタロツク信号はどちらも同じ周波数であって、同じ、
波形を持っており、異なっているのは相ηにijr間的
に変位していることである。Aクロックの11−パルス
はBクロックの正パルスとオーバラップしない。 第5図に示された非オーバラツプ部分の長さは説明のた
め誇張して示されている。正パルスはクロック信号のア
クティブな期間を表わす。 第6図は第4A図および第4B図の制御ユニット14c
の代表的な動作を説明するのに用いられるタイミング図
であり、ときどき制御ユニツ1〜140の説明に関連し
て参照される。正のAおよびBクロック・パルスの発生
時間は第6図の2行目、すなわち「タロツク」の行に示
さjしている。図面を簡略化するため、これらのパルス
間のわずかの時間ギャップは第6図には示さ4していな
い。第6図に示さAした各々のクロック・パルス間隔は
1つのマイクロワード・サイクルに相当し、その間、特
定のマイクロワードが第1図のデータ・プロセッサを制
御している。 第6図の命令Nは、条件が満たされた場合の「条件飛越
しJプロセッサ命令の例を表わす。第6図に部分的に示
されている先行命令N−1は。 これも第6図に部分的に示されている後続の命令N+]
と同じように、非分岐型命令を表わ°才。第6図の最上
部の行のサイクル番号によって示されているように、命
令Nの実行には12のマイクロワード・サイクルを必要
とし、従って12のマイクロワードが用いられる。 第4A図および第4B図のすぐれたマrクロワード生成
機構には命令レジスタ17にある各々のプロセッサ命令
に応答する初期PLA機構が含まれており、プロセッサ
命令の実行に必ツzな初期マイクロワードを与える。こ
の初期p r−A 1%構には第1サイクルP L A
60と第2サイクル1)1.八6Jが含まれている。 第1サイクルPL△に(1は各々のプロセッサ命令の実
行に必要な最初のマイクロワードだけを生成する。この
マイクロワードは「IP」マイクロワードとして識別さ
れ、第61(1の3行目、すなわち[アクティブMW(
マイクロワード)」行に表示されているように、命令N
およびN+1のマイクロワード・シーケンスの最初のマ
イクロワードである。 第2サイクルPLA61は各々のプロセッサ命令に必要
な2番目のマイクロワードだけを生成する。このマイク
ロワードは「2P」マイクロワードとして識別さJしる
。 また、第4Δ図および第4B図の制御ユニットには、各
々の非分岐型プロセッサ命令に応答する複数の追加のP
LA機構が含まれており、非分岐型命令を実行するのに
必要なマイクロワードの残余の部分を与える。これらの
追加のPLA機構にはAデコードP L A 62、B
デコードPLA63、CデコードP L、 A 64お
よびDデコードP L A 65が含まれている。それ
らの出力マイクロワードはそれぞれAP、+3.P、C
PおよびDPマイクロワー1−とじて識別される。こ九
らのハ、B、CおよびDデコ〜+: p r、A62〜
65からのマイクロワードは反復するΔ−B−C−Dシ
ーケンスで用いられ、第1図のデータ・プロセッサをf
li制御する。 従って、任意のIj、えられた非分岐型プロセッサ命令
のマイクロワード・シーケンスはl−2−A−B−C−
D−A−B−C−D、、、である。ただし、1および2
は第1および第2サイクルP L A、 60および6
1によって生成さ扛たマイクロワー 1・を表わす。 第1および第2サイクルPLA60よ旨1:び61は比
較的小さく且つ高速動作するPL△でノうっで、命令レ
ジスタ17にあるプロセッサ命令によって直接駆動され
る。これによって各々の命令のための最初の2つのマイ
クロワードは極めて迅速に生成される。こ汎によって他
のP L A、 62〜に5が、所与の非分ρφ型プロ
セッサ命令のための残りのマイクロワードの生成を開始
するのに、より多くの時間が与えられる。 デコー1<’ P L A G 2〜65の′t51の
人力セラ1〜はエンコードP■、Δ6Gおよびレジスタ
に7によってMl#3シて駆動される。エンコードI’
I、八〇〇はぞの出力バス68上に複数ピッ1−の命
で1詭別f、1号を生成し、その識別信号はバス35」
二のプロセッサ命令よりも少ないピッ1−数を右する。 それにもかかわらず、この識別(5号は実行される命令
を−・意的に識別する6 デコードPLA62〜65の第2の人力セラ1〜はシー
ケンス・カウンタ69によって生成された複数ピッ1−
のカウント信号によって駆動さJしる。 最後の2つのデコー1〜P L、 A G 4および6
5に対するシーケンス・カランミル信号はレジスタ7o
から供給さ4しる。こ扛は、異なるデコードPLA使6
2〜65のオーバラップされた動作を考慮してタイミン
グを調節するためにf”jなわれる。 本実施例において、第1および第2す、イクルY)Lへ
60および61ならびにデコードI)LAG2〜65は
タロツク・パルスによって制御されるいわゆるダイナミ
ック1)1.八である。ここでは、各々のP L Aは
オーバラップしない4個のクロック・パルスC1、C2
、C3およびC7Iのセットをf受用して、各々の有効
出力ピッ1〜・パターンを生成する。第6図【「ダイナ
ミックI’ 1. A内部夕rミング」のパターンによ
って示さ、11.でいるように、連続する各ダイナミッ
クP Lへ60〜65のためのCI −C2−C3−C
/lクロック・パルス・セットは1マイクロワード・サ
イクルだけ互いにオフセラ1〜され、そJLによって2
番[1のrl +、八6Iに対するC1パルスは、最初
のPLA60に対するC2パルスに一致し、3番目のI
) L A 62に文JするC1パルスは、2番目のP
LA6]に、2JするC2パルスに一致する。以下同様
である。1このように、ダイナミックP1..A60〜
65の内t4B動作は時間的にオフセットされるがオー
バラップされる。 各々のダイナミックPLAの出方はその(’、/I内部
クロツタの期間を通じて有効である。 ダイナミックPLA6C1〜65に苅づるに1へC4内
部クロック・パルスはダイナミック1°r、Aクロック
論理ユニット7IのrPLA、7r+ツク」出力から得
られる。ダ・rナミックPL、AりLJラック理ユニッ
ト71の内部構造は、例えは1,1がi’l l’(i
58−27128号にかなり詳絹に説明さJしている
。 エンコードP1.八〇Gもダイナミック1)1.Δでよ
いが、木切41117!;ては説明を簡略化するため、
スタティックPLAであるものとする。 第4Δ図および第4B図においてブ[1セツザ10の動
作を制御するマイクロワード応答制御回路には制御レジ
スタおよびデコーダが2七ノド含まれている。「A」セ
ラ1−はマスタ・スレーブ制御レジスタ(A、−L1制
御レジスタ72およびΔ−L2制御レジスタ73)なら
びにAデコーダ74を含み、[BJI!ッ1〜はマスタ
・スレーブ制御レジスタ(B−LI制御レジスタ75
J′;よび13−1.211i11御レジスタ76)な
らびにBデコーダ77を含む。 制御レジスタ72および73のローディングはそれぞ]
しクロック発生H:11571からのΔおよびBクロッ
ク・パルスによって制御されるが、制御レジスタ75お
よび7Gのローティングはそ、!1.ぞれ■3およびΔ
クロック・パルスによって制御される。 こうして、各々のセラ1への最初のレジスタ72および
75は交番的にロー ドされる。 AおよびBデコーダ7/Iおよび77の出力をインタリ
ーフ゛するために、へデコータ゛74に苅してはΔゲー
I−装置78が設けらAし、13デコーダ77に苅して
はBグー1〜装ri79が改番づらJしている。 Aグー1〜装置78はAクロック・パルスによ−)で信
号を通過するように付勢さJしるが、13ゲー1−79
はBクロック・パルスによすて信号を通過するように(
=J勢される。このようにして、ΔデニJ−ダ74およ
びBデコーダ77はΔ−B −A −13と交互に制御
点信号をljえる。Aデコーダ74かI゛、の制御点信
号線の多くは13デコーダ77か1?、の7シ、1応す
る制御点信号線とO,1%結合され、それにj: =+
で、第1図のデータ・プロセッサに才言プる一コS−リ
1−の多くは制御点信号をAまたはBクロック相の間に
受取ることができる。 第1サイクルPLA60、Aデコードl’ 1. A
62およびCデコードI)L A 64はマイツノ【1
リ−1−を1回に1つずっΔ−L1制御レジスし゛/2
にOL給する。各々のマイクロワードは次々にA1,2
制御レジスタ73に転送さIしてΔデコーダ74を駆動
し、出力制御点信号を生成する。二の信号はΔクロック
相の間にへゲー1〜装置78にJ、 7.+で送り出さ
Jしる。第2ザーrクルP LΔ6】、H7コードPL
Δ63およびL)デコードl−’ L A G 5’b
同様に、ただし時間的にインタリーブされで、−′イク
ロワードを1回に1つずつB−L +制御」・ン人タフ
5に供給する。各々のマイクロワードは次々にB−L2
制御レジスタ7Gに転送されてBデコーダ77を駆動し
、出方制御魚信すを生成する。この信号はBクロック相
の間にI3ゲー1〜装置79によって送り出さJLる。 各々のマイクロワードは複数のビットの2進−ノードで
あって、いくっがの制御フ・r−ルドに細分されている
。これらの制御フィールドの1つはrPLΔ出力刈出力
−ブ」フーr−ルトと呼ばJし、それがデコーダにIj
えられると、いわゆる「1)LA出カストローブ」を生
成するのに用いら4しる。 いくつかの制御、、+、、 (−℃線の中の41°定の
豚が活性化される。アクティブなPLA出カ刈−ローブ
は次のマイクロワードを関連制御レジスタに供給するこ
とになっているP L Aを選択する。Δデコーダ74
から(1) r) r、、Δ出カスト[J−ブはl’
I−A G 0162およびG4の中がらΔ−1,1制
セ11ルジスタ72に次のマイクロワードを倶才0′す
る1゛■、八をj巽釈する。第1サイクルP1−Δ6o
は任影、のυえIF>iシたプロセッサ命令に必要な最
初のマーrタロワー1−だけを供給するように選択さJ
Lる3、その後、l\−L、 ]制御レジスタ72に苅
するマイクロワ トはデコード1〕■、Δ62および6
4から交υに取出される。Δデコーダ74によって生成
さJしたI’L八出へストローブはSl、SΔおよびS
Cとして識別され、それぞh P L A出力ゲー1
〜群、J蜀1わちグー1〜装置80.8+および82の
中の関連するゲート装置は供給さ4しる。こJしらのゲ
ート装置80〜82の名々は特定のI) I= A出カ
スI−rj−ブによって同時に付5)される複数のゲー
ト;’)’ ”J III、る。 付勢された特定のグー1〜装置は関連する1・1.への
出力に現われているマイクロワードを共310の複数導
線からなるP[、A出力バス83を介しC八−L1制御
レジスタ72の人力に供給する。 同様に、Bデコーダ77によって生成さAしたPLA出
カスト[1−ブS2、S 13およびS IJ 4;i
P LA6J、63およびG5の中から13−L+制
御レジスタ75に次のマイクロワードをOL給ずニア)
p +−7Δを選択する。これらのP LΔ出カスj−
ローブS2、SBおよびSDはjcしぞれ、1)r−A
出JJ グー1〜群、すなわちグー1〜装置84.8
.5;IJ:び86の巾の関連するグー1−装置に供給
される。i2ザイクルPLA61へのs2ス]−ローブ
線は任意の与えられたプロセッサ命令に対する2番目の
マイクロワードだけを与えるように活性化される。その
後、B−L 1制御レジスタ75への残余のマイクロワ
ードはデコー+: l) 1.、Δ63オンよび65が
ら交互に取出さ4しる。これらのマイクロツー1〜はノ
(通の複数導線からなるY)Lハ出刃バス87を介して
B−L 1制御レジスタ75に供給される。 前述のような種々のマイクロワードの多重化の結果、各
・夕の非分岐型プロセッサ命令に刺し、種々のPLΔ6
0〜65がら得られるマイクロワードのシーケンスは 1.2、Δ、13、c、l)、ハ、13、C21)、Δ
、B19.。 のようになる。このシーケンス中の数字才9よび文字は
ソースとなるI)L Aを表わす7.第J、I;よび第
2サイクルP[、Δ6oおよび61は第1および第2の
マイクロワードだけを供給する。任意のケえられた非分
岐型プロセッサ命令に苅する残りのマイクロワードはそ
の特定のブUセッリ命・aの実行に必要な数だ(ノブコ
ードPL、AG2− 〔jりがらA、13、C,Dの順
に取出される。第1おJ、び第2す・イクルPLΔ60
よ;よび61は分岐型プロセッサ命令の!り合にも用い
らJしる。 Bデコーダ77からの1ltj制御点fa号パルスε;
0に、上ってユーンコート’ rl L A出力レジス
タG7がロードされ、シーケンス・カウンタ69むよび
イ、]Lに関連するレジスタ70が0にリセットさ」し
る。このSOパルスは]J2/i:実行中のブロセッリ
命令に、シ4するマイクロワード・シーケンスの未1こ
が’ 3 a目のマイクロツードによって1成されろ。 シーケンス・カウンタ6っはPL、へ出カスト1」−ブ
・パルスST′3によ−) てA、13、C#−;、J
:び1)ノ゛、′、rりL1ワードのレッ1−ごとに1
回増j)さ]しる。]ジータンスカウンタ69のバッフ
ァとしてト功<レジスタ70はP[、A出カストローブ
・パルス3;(゛にょってA、B、Cおよび■〕のンー
rクロヮー1のセラ1−ごとに1回ロードされる。 ダイナミック1)1.ΔりUツク論理ユ−ツト71はS
O制御点信号、種々のPLΔ出カストCJ−ブS1、S
2、SΔ、A I3、scおよびS l)ならびにクロ
ック発生:!: I 5 aがらのハJ3よび1うクロ
ック・パルスによって駆動さ4しる。l’llJ fi
L!特シ′1出願の明細店・に記述され′Cいるように
、こJしらの種々のパルスは、ダイナミックPT、へ〇
+)〜65の各々に対しj育切なcl・〜に1内ごj
;り[」ツタ・パルスのセラ1−を生成するのに必要が
勺[カ、′J、情報を右する。 づ)岐型ブロヒッリ゛命令を実fjAるため、第4Δ図
および第4B図の制御ユニットに(J更に、各々の分岐
型プロセッサ命令に応省する分岐判断1’ l。 八88が含まれており、バス37を介してステータス・
レジスタ3Gがら倶4′台さJl、たj、’、 CON
’1条イ′1標記/17:;の少メJくとJ)Iっを
依清゛する。分岐型命令の条1′[コード・フィールド
によって指定された条1′1が;lzまたされた場合、
1!定(3℃が分岐判断r)Lへ88の出方線89上に
発生される。指定された条件が満たされない場合には、
出方線8 i) −J−の偕リレベルは否定的判111
iを表示する、。 分岐型(1令ホ115には更に、出力むij 8 ’3
.1:、の庁定判断信号に応答する分岐コードP L
A (3f;措が含まれてJ3す、庁定判IすNo″;
3を生成した分11噛型命令をブこ行するのに必要な残
りのマイクロワード!rO(給する。この分岐コードP
L、A Q Mηには分岐二、+ −14PLA90、
シーケンス・カウンタ91 、tr Jびバッファ・レ
ジスタ92が含まJしている。バッフ)′・レジスタ9
2は分岐判1す1PLA88から出力線89を介して判
断前号を受取り、士た実f−13さ4(る分岐型命令の
′11′定のタイプを識別するの(−1力な数の命令レ
ジスタ・ピッ1−を受取る。バノノ−〕′・[ノジ人り
92の内容ど、シーケンス・カウンタ91によって生成
された複数ピッj・のカランIi、iυどに応答して、
3)岐コードPL A 90はそのとき命令レジスタ1
7に(7在する分岐型命令を実fiするのに必要な残り
のマイクロワードを生成する。各々の分岐型命令に苅す
る最初の2つのマイタロワードは第1および第2ザイク
ルP LΔGOによびに1によってうえられる。 不実/J1!例において、分岐コードPLΔ90は実際
には1回に2つのマイクロワードを生成する。 その1つは「JL」マイクロワードと呼ばれてΔクロッ
ク相の間に使用され、他の1つはrJ BJマイクロワ
ードと呼ば九で次の後続するBクロック相の間に使用さ
汎る。J Bマイクロワードの適切な時間遅延はそJし
をバッファ・レジスタ94にロードすることによって1
+1られる。装−1〜%置95および96は′C,lシ
C71シ、A−1−41制御レジノ、タフ2およびB
−1,1制御レジスタ75J−\のJLおよびJ It
マイクロワードの供精を制御する。Δデコーダ74によ
って生成さJした1](、ハ出カストローブ・パルスS
JΔによってΔクロック相の間、JΔマイクロワードの
ゲート装置95が(=J勢され。 JBマイクロワードのバッファ・レジスタ94がロード
される。1うア°コーダ77によって生成されたPLΔ
出カストローブ・パルスS J BによってBクロック
相の間、JBマイクロワー1〜のグー1−装置96がイ
ーJ勢・さ]Lる。 本実施的において、分岐判断1)■7Δ88および分岐
コードP[、Δ90の各々は比較的小さいスタティック
PLΔである。各々のPLAIJ比較的高速であり且つ
非常に短かいアクセス・タイツ、を右する。従って、ダ
イナミックPLAで、ちり旧つ非分岐型命令のマイクロ
ワードを生成するデコードP L、Δ62へ・65と比
較して、分岐コードl’LA90は極めて迅速にマイク
ロワードを生成することができる。 第6図において、命令Nは分岐型命令を表わす。 すべての命令について云えることであるが、先行する命
令の最後の2つのマイクロワードはそれぞJL、第1お
よび第2す゛イクルP L A 6 oおJ、び61に
対するSlおよびS2ストローブ・パルスを生成する。 先行する命令N−1の間のある切間の時点で、次の命令
、すなわち分岐命令Nが命令レジスタI7にロードさ汎
ている。従って、SlおよびS2出カス1ヘローブの発
生時点までに、第1および第2サイクルPLA60およ
び61は、次の命令Nが分岐型命令であるという事実を
認識して、分岐型命令に対する適切な第1および第2の
マイクロワードを生成できるようになイ)、、同時に、
分岐判断PLA88もこの分岐型命令の条件フィールド
に応答し、ステータス・レジスタ3GからのEC0NZ
標識の中の少なくとも1つの適切な標識を検査して、そ
の出力線89上に適切な判断信号を生成できるようにな
っている。 命令N−1のサイクル17におけるS1ストローブ・パ
ルスの発生によって次の3つの動作が行なわ汎る。第1
に、第1ナイクルP LΔ小出力グー1〜装置80がr
J勢さJし、分岐型命令を実行するだめの最初のマイク
ロワードがバー1,1制御レジスタ72にイI(給され
る。第2に、バッファ・レジスタ92がロードさAし、
分岐コートI) LΔ90を駆動する。第3に、シーケ
ンス・カウンタ91がOカラン1〜状態1こリセツl〜
される。これは分岐コードP L Aのアクセスを開始
する。第6図のr 13 CP(分岐コードPLA)ア
クセス」行に示すように、分岐コードPLA90のアク
セス(ACC)は最後のマイクロワード・サイクル、ず
なわち命令N−1のサイクル18の間に行なわれる。分
岐コードpLA90のアクセス時間はqt−マイクロワ
ード・サイクルの期間よりもいくらか短かい。 従って、命令Nの最初のマイクロワード・サイクルにお
いて、分岐コードPLA90は有効な出力を発生してい
る。これは第6図のr B CP出力」行にrVAL
IDJとして表示さhでいる。 所で、第1サイクルPLAf30からのマイクロワード
はA −L 2制御レジスタ73にロードされており、
こJルは命命N−1のサイクル18の間に生じる。 従って、分岐命令Nのサイクル1の間にハゲ−1〜装匝
78がイ1勢さ九ると、Aグー1−装置78の出力に現
れる制御点信号をAデコーダ74に生成させるのは、第
1サイクルPLA60からのマイクロワードIPである
。これらの制御魚信すの1つはSJAストローブ・パル
スであって、このパルスは分岐コーF l〕L A 9
0からΔ−L1制御レジスタ72に、最初のJAマイク
ロワードを供給する様に分岐コードp ■、 A出力の
ゲート装置95を付勢する。この同じSJAパルスはJ
Bマイクロワードをバッファ・レジスタ94にロードす
る。 この命令Nの同じサイクル1の間、第2ザイクルPLA
61からのマイクロワード2PはB −L2制御レジス
タ76にロードさ1しる。このマイクロワード2PはB
ゲート装置79がイ1勢されると後続するBクロック相
の間アクティブになる。これは命令Nのサイクル2の間
に生じる。このマイクロワード2PはSJBス1ヘロー
ブ・パルスを生成し、このパルスはJBバッファ・レジ
スタ出力のグー1〜装置96をイ]勢し、最初のJ 1
3マイクロワードをB−L]制御レジスタ75に転送す
る。 また、この5J13ストローブ・パルスによってシーケ
ンス・カウンタ91は増分され1分岐コードP L A
90は次のJAおよびJI3マイクロワー1〜の苅の
アクセスを開始する。 命令Nのサイクル3の間に最初のJAマイクロワードが
アクティブになると、もう1つのSJΔストローブ・パ
ルスが生成さJL、第2のJAマイクロワードをA−L
、1制御レジスタ72に転送する。同様に、命令Nのサ
イクル4の間に最初のJBマイクロワードがアクティブ
になると、もう1つのSJBストローブ・パルスが生成
さり、第2のJ13マイクロワードをB−L 1制御レ
ジスタ75に転送する。このように、JAおよび、J[
3マイクロワー1−は命令Nのサイクル11に達するま
で追加のJAおよびJBマイクロワードを選択し続ける
。サイクルJ1はこの特定の例では最後のサイクルの前
のサイクルであるから、この++S点でアクティブにな
るJAマイクロワー1・のス1へローブ・)・r−ルド
は、代りにS1ストローブ・パルスを生成するようにコ
ード化され、第1サイクルPLA60を選択する。同様
に、命令Nのザfクル12の間にアクティブになるJB
マイクし【ワードはS2ストローブ・パルスを生成する
ようにコード化さtL、第2サイクルPLA61を選択
・j−る1、このようにして、次のプロセッサ命令N+
1のためのマイクロワード生成動イ1がUFJ始される
。。 命令Nの勺イクル10の間アクティブCあるjBマイク
ロワードは、SJBストローブ・パルスを生成するのに
加えて、SO再始動パルスをし生成する。このSO再始
動パルスは次の命令Nト1に備えて非分岐命令機構、特
にエンコードPLA出力のレジスタ67、シルケンス・
カウンタ69およびその出力のレジスタ70に供給され
る。 第4A図および第4B図に示された制御ユニット14c
の回路のすべては、なるべく単一のチップ上に形成され
るのがよい。分岐型命令に必要なマイクロワードの大部
分を生成する分岐判断P LA、88および分岐コード
PLA90の使用は、さもなけ汎ばデコー1−’ P
L A 62〜65に必要とされるチップのスペースを
減小する。このデコードp r、、、八62〜G5のチ
ップ・スペースの節約は、分岐判断P1. A 88お
よび分岐コードPLA90に必要な追加チップ・スペー
スよりも大きい。従って、この別個の分岐判断/分岐コ
ード機構は、より速い分岐動作をIjえるほか、デツプ
・スペースの正味の必要量を1威小さぜ、それによって
適瓜な大きさのQi、−・チップ上における制御ユニッ
1−の組立を容易にする。 1Σ、防嵯全会月4if (第7図) 第7図はIBMシリーズ/1のプロセッサを想定して第
4A図および第4B図の分岐命令機イ、カを具体化した
例を示している。これに関連して、第8図および第9図
はIBMシリーズ/1のアーキテクチャで使用される飛
越し命令および分岐命令の命令フォーマットを示す。最
初の2つのマイクロワードを除き、これらの飛越し命令
Jrよび分岐命令を実行するのに必要なマイクロワード
・シーケンスは第7図の機構によって与えら2しる。 第8図の飛越し命令は1ワード(16ビツ1へ)命令で
あって、条件フィールド(ビット5へ・7)によって指
定された条件が満たされた場合、データ・プロセッサは
シーケンス外の命令に飛越す。 この条件フィールドのコード化は第1表に指定されたコ
ード値に従って行なわhる。飛越し先のシーケンスを外
れたプログラム命令のアドレスは、ワード変位フィール
ド(ピッ1〜8〜15)の値を、命令アドレス・カウン
タ22の更新さ、lした値に加えろことによって決定さ
れる。占い換え、1tば、飛越し命令取出し後、命令ア
ドレス・カウンタ22を、それにワード変位値を加える
前に増分することが必要である。シリーズ/1のアーキ
テクチャにおいては、命令アドレス・カウンタ22のア
ドレス値はバイト単位で表わされる。従って、次の16
ビツト・ワードの開始アドレスを得るには命令アドレス
・カウンタ22を2だけ増分することが必要である。ま
た、命令のツー1〜木位のフィールドの数値は、それを
2倍にしてバイ1〜変位値に変換してから、命令アドレ
ス・カウンタ22の更新されたアドレス値に加えること
が必要である。 第9図の分岐命令は実際には2ワード命令であるが、図
面を簡略化するため第2ワードは図示されていない。こ
の第2ワードはのアドレス値を含む。第1ワード(第9
図に示さ扛たワード)の条件フィールド(ピッ1〜5〜
7)は検査される条件を表示する。このフィールドで指
定しうるコード値は第1表に示さ扛ている。指定された
条件が満たさJした場合、分岐先の主記憶アドレスは完
全に新しいアドレス値を命令アドレス・カウンタ22に
入れることによって決定される。この新しいアドレスは
有効分岐アドレスと呼ばれる。この有効分岐アドレスを
生成する方法について次に説明する。最初のステップと
して、分岐命令の第2ワード(図示せず)に含まれたア
ドレス値が分岐命令のR2フィールドによって指定され
た汎用レジスタの内容に加えられ、主記憶アドレスを形
成する。 この汎用レジスタは第1図の局所記憶ユニツ1へ25に
所在している。分岐命令の第2ワードのアドレス値は、
ワードからバイトへの変換を必要としないようにバイ1
〜単位になっている。分岐命令のR2フィールドが0に
等しい場合、どのレジスタもアドレス生成に寄与しない
。その場合には、第2ワードのアドレス値は実際に所望
の主記憶アドレスである。 有効分岐アドレス生成の次のステップとして、分岐命令
の第1ワードのピッ1−11の値が検査され、アドレス
指定が直接か間接かを決定Jる。ピッ1−11の値がO
の場合、最初のステップの結果は直接アドレスであり、
命令アドレス・カウンタ22にロードさ]しる。ピッ1
−11の値が1の場合には、最初のステップの結果は間
接アドレスである。この場合、間接アドレスによって指
定された主記憶位置の内容が命令アドレス・カウンタ2
2にロードされる。 次に、第7図に示さJした分岐判19i P L A
88の入力について説明する。LSRビット0乃至LS
Rビット4の入力線はそ汎ぞれ、ステータス・レジスタ
36からE、C,O,NJEよびZの条件標識ピッ1〜
を供給する。IR(命令レジスタ)ビン1〜入力は命令
レジスタ17における対応する番号のピッ1ル位置から
得られる。これらのピッ1〜番月は第8図および第9図
に示されたピッ1〜番号に対応する。第7図に示されて
いるように、IRビットI、4〜7および13〜15は
分岐判断PLA88が異なるターrブの飛越し命令およ
び分岐命令に正しく応答しうるのに必要である。I R
ピッ1−5〜7は命令の条件コー1く・フィールドを表
ゎず。 IRピッ1〜Jは分岐判断PLΔ88が飛越し命令と分
岐命令を見分けるのをiTJ能にする。IRピッ1−1
は飛越し命令に対しては0の値を有し、分岐命令に対し
ては1の値を有する。1. Rビット4は正のタイプと
負のタイプの飛越し命令を識別するのに用いられる。I
Rピッ1〜4の値が0の場合は、命令は条件飛越し命令
である。IRピッ1−4の値が1の場合は、命令は条件
飛越し一否定命令である。このように、飛越し命令の場
合、【1<ビット4は第1表の条件タイプの欄に対応す
る。 IRビット13〜15は分岐命令の場合に必要である。 それらは機能フィールドにおけるビットを表わし、実行
される特定のタイプの分岐命令を完全に識別するために
命令コード(01)コード)を補足するのに必要である
。 バッファ・レジスタ92は、出力線89」−の分岐判断
ビットの外に、IRビット1および11を受取る。既に
説明したように、IRピッ1−1は飛越し命令と分岐命
令とを児分ける。I Rピッl−11は分岐命令に用い
られ、第9図に関連して説明したように、直接および間
接のアドレス指定モードを識別する。バッファ・レジス
タ92の3つのビットは分岐コードPLA90に供給さ
れ、そこに存在する4種類マイクロワード・シーケンス
の中の1つを選択する。出力線89上の分岐判断信号が
0の場合、「非分岐jマイクロワード・シーケンスが選
択される。この場合、飛越しまたは分岐は行なわhず、
データ・プロセッサは単に次の順次プロゲラ11命令を
取出す。 出力線89上の判断信号が肯定的てIRビット1が0の
場合、飛越し命令のマイクロワード・シーケンスが分岐
コードPLΔ9oにおいて選択される。出力線89上の
’l’!I断信号およびIRビット1がどちらもIで、
IRピッ1−I■が0の場合、直接アドレス指定による
分岐命令を実行するマイクロワード・シーケンスが選択
さオしる。バッファ・レジスタ92への3つのビットが
すべて1の値を有する場合には、間接アドレス指定によ
る分岐命令を実行するマイクロワード・シーケンスが分
岐ml−ドpLh9oにおいて選択される。 どのマイクロワー1−・シーケンスが選択されても、シ
ーケンス・カウンタ91がらの2進カウン1へ信号によ
って分岐コードPjA90は選択すItたマイクロワー
ド・シーケンスの個々のマイクロワードをアクセスする
。前に説明したように、1回に2つのマイクロワードが
分岐コードl) 1. A 90によって生成される。 従って、シーケンス・カウンタ91は3ビット・カウン
タであるので、こ]℃は任意のケえらJしたマイクロワ
ード・シーケンスに対して最大16個までのマイクロワ
ー1−°を与えることができることを意味する。更に、
第1J3よび第2サイクルPLAGOおよび61は名シ
ーケンスにおける最初の2つのマイクロワードを一υえ
る。従って、必要ならば、所与のシーケンスに対して合
計18個のマイクロワードが使用可能である。第6図に
示された命令Nのシーケンスは12の個マイクロワード
を用いる。 第7図の分岐命令機構の人力はゲー1〜さコしないから
、この分岐命令機(13はどのような命令カ;命令レジ
スタ17にロードされてもそれに対して反応する。しか
しながら、非分岐型命令の史α、分岐コード出力のゲー
1へ装置95および96は活性化されず、従って、間違
ったマ・fブロワ−1〜がA−L1制御レジスタ72お
よびB−L 1制i31ルジスタ75に供給されること
はない。 前に述べたように、第6図の命令Nの例は条件が満ださ
九た場合の条(’l’飛越し命令の場合に関するもので
ある。この命令Nのマイクロワード・シーケンスに対し
て第1図のプロセッサ1oて生じる主要な動作は第2表
に示されている。 第2表 マイクロワード1て生じる命令レジスタ17(ピッ1−
8〜15)からAレジスタ18 (ピッ1.7〜14)
へのローディングは飛越し命令のワード変位フィールド
をAレジスタ18に入4し、ワード変位フィールドを1
ピッ1〜位置だ(プ左シフ1〜する。これはワード変位
の値を2 (+;にしてバー(+−変位値に変換するた
めである。 マイクロワー1〜8〜]2のザーf°クルはブロセッザ
のデータ・フロー・ユニツIllが有用な仕事を実行し
ていない遊体間隔を表わず。この遊体間隔はマイクロワ
ード7の間に命令レジスタ17にロードされる新しい命
令に正しく反応する114間をダイナミックPLΔ60
へ・65に−5えるのに必要である。その理由は第6図
において命令Nのマイクロワード8〜12のダイナミッ
ク1)r、ハ内部タイミングを参照すれば理解すること
ができる。、]い換えれば、この特定の設a1において
、次の命令は現在の命令のマイクロワード・シーケンス
の末尾から6番目のマイクロワードよりも遅りずに命令
レジスタ17にロードさAしな番プ]しばならない。 あるタイプのブロセツザ命令の場合、このJ、うなシー
ケンス終結部分において、データ・ノL」−・ユニツ1
〜IIによって実行できる有用な仕事があるが、他の命
令の場合には、前記のように、データ・フロー・ユニッ
ト11において仕・11はfiなわれない。
令レジスタ17に存在する所与のプロセッサ命令に女、
1してマイクロワー1〜のシーケンスを生成する。シー
ツJ゛ンスにある最後のマイクロワードによって制御ノ
、′−信号線34は活性化されて次の命令を命令レジス
タ17にロードし、シーケンス・カウンタ/I I l
:l最初の開始カラン1−にリセッ1−される。この間
始カウン1−は、説明の都合に、0であるものとする。 制御ユニツh ]、 4 aには更に、条件標識回路が
含まれており、プロセッサの算術および論理演算の結果
が特定のタイプの条件を満たすがどうかを表示する標識
信号を供給する。この条件c1゛1識回路は複数の導線
からなるバス37を含み、ステータス・レジスタ36か
ら制御ユニツh 14 aにE、C,0,NおよびZの
標識(fi号を供給する。 制御ユニツh l 4 aにはまた、条件句き分岐型プ
ロセッサ命令の条件フィールドに応答する分岐判断PL
A47が含まノシテおり、E、C,O,NおよびZの標
識信号の中の適切な単数または複数の標識信号を検査す
るとともに、もし前記命令の条件フィール1−によって
指定された条件が満たさJしるならば、分岐型のマイク
ロワードのシーケンスを生成させる。この分岐判断P
L A 47はバス37を介してステータス・レジスタ
36がらE、C,O,NおよびZの標識信号を受取り、
また主バス35および分岐バス48(主バス35の導線
の一部分を含んでいてもよい)を介して、命令レジスタ
17から命令ピッ1〜の一部分(全部である必要はない
)を受取る。分岐判断p r、Δ/I7に供給さJした
命令ピッ1〜には、検査さオしる特定の条件を識別する
条件コード・フィールドに加えて、分岐命令の型および
その極性(正タイプが負タイプか)を決定するのに必要
なピッ1へだけがきまれでいればよい。いくつかのプロ
セッサ命令せツトにおいては、命令ピッ1)の総数より
も少ンノ・いピッ1、数で十分である。 バス37上の標識ピッ1〜及びバス481−の命令ビッ
トは分岐判断PLA47の入力ANI)アレイ部分の異
なる入力セラ1−に供給さhる。この分岐判PLA47
は単一の出力線49だけを右する。 命令の断条件コード・フィールドによ−)−c指定され
た条件が、ステータス・レジスタ3〔;からのEC0N
Z標識信号の中の適切な1っ又1j複数の標識信号によ
って満足される場合には、出力線49は活性化され、庁
定的な判断信号がその線−1−に生成される。例えば、
もし条件のタイプがP、条件コードがrlolであって
、O及びNの標識ピッi・が夫々0及びIの値を有する
ならば、分11jQ判断PLA47の入力ANDアレイ
はその中のq1′定の導線を活性化し、それによってO
Rアレーrの出力線40を活性化する。ここで簡略化の
為、分岐型の命令が1種類だけあって、第1表には可能
性のある検査条件がすべて示さAしているものとすれば
、分岐判断PLΔ47は合計16本の導線及び1本のO
Rアレイ出力線を有し、第1表に示された夫々の条件ご
とに異なる導線がある。単一のORアレイ出力線は、導
線の各々に接続されるので、第1図に示さjした条件の
どれかがタイプ及び条件コード・ビットによって指定さ
れ、適切な標識ビン1〜によって満足される時はいっで
も活性化される。 第2図の実施例では、判断’fD号の−Qj、−・の出
力線49は制御P L、 A 4.0に接続され、制御
P L A /10は、分岐型の命令が命令レジスタ1
7に存在し旧つ指定さiシた条件が満たされていること
を示す1′?定判断信号を分岐判断PLA47が生成し
ているとき、分岐型のマイクロワーワ・シーケンスを生
成する。この11i′定分岐マイクロワード・シーリン
スによってデータ・プロセッサはシーケンスを外れたプ
ロセッサ命令に分岐する。分岐先のアドレスは分岐型命
令中に含まれているか、または分岐型命令によって間接
的に指定される。分岐判断の出力線49上の信号がI〒
定判断信号ではない(条件が満たされない)場合には、
制@1+ p l A 40は甲、に次の順次プログラ
ム命令を主記1意機構28から取出す非分岐マイクロワ
ード・シーケンスを生成する。 別個の分岐判断PLA47を使用する利点は、それを使
用しない場合に、制御PLA/loの内部で条1′I:
検査を行なうに必要とさ4しるυ目+11の数をかなり
節約できることである。制御P LΔ40の内部で条件
検査を行なう場合には各々のツ)l岐型命令のためのマ
イクロコードは可能性のある条イ′1検査ごとに重複し
て設けておく必要がある。しかし、別個の分岐判断PL
A47の使用によ−IC1このマイクロコードの重複は
回避さAし、制御1〕1.八110【よ任意のIj、え
らhだ分岐命令に苅し゛(−組の導線だけがあればよい
。同時に、分岐判…11) 1.Δ47は非常に小さく
且つ極めて高速なF〕1.Δである。 従って、他のすべての構成が等しい湯治、条件検査が別
個の1)r−Δで行なわれると、チンーノ′面積の節約
および平均動作速度の増加が得ら、11.る。 C,flii梗日三ツ1〜の第2実施例(第3図)第3
図には、第1図の制御ユニツ1〜14として使用可能な
別の制御ユニット14bの内部構造の機能ブロック図が
示されており、本発明に従って構築されたすぐれたマイ
クロワード生成機構の第2の実施例が含まれている。第
2図に示されたものと同し構成要素は同じ参照数字を用
いて第3図に示されている。 第3図において、基本制御P■−Δ50は非分岐型プロ
セッサ命令のためのマイクロワード・シーケンスを生成
し、分岐コードPLA51は分岐型プロセッサ命令のた
めのマイクロワード・シーケンスを生成する。この分岐
コードPLA5]は分岐判断PI、Δ47の甲、−の出
力線49に現われる判断信号に応答して、「イエス」分
岐または「ノー」分岐のマイクロワード・シーケンスの
どちらが生成されるべきかを決定する。また、分岐コー
ドPLΔ51は命令ヒツト線52を介して命令レジスタ
17の少なくとも1つのビットに応答して、飛越し命令
と分岐命令を識別する。これは飛越し命令の要求したマ
イクロワード・シーケンスが分岐命令の要求したマイク
ロワード・シーケンスといくらか異なる場合に必要であ
る。両方の型の命令に同じマイクロワード・シーケンス
が用いられる場合には、命令ビット風52は省略できる
。命令ピッ1−線52が必要な場合、飛越し命令と分岐
命令の相違を見分けるのに必要な数のピッ1〜線だけが
用いられる。 また、分岐コードPLA51はシーケンス・カウンタ5
3から供給さJLる2進数信号に応省する。 このシーケンス・カウンタ53は線54を介してデコー
タ44から供給される制御点信しによって各々の分岐型
マイクロワード・シーケンスの最初にOにリセツ1〜さ
れる。シーケンス・カウンタ53は線55を介して供給
される制御点信号によって分岐型シーケンスの各マイク
ロワード・ザイクルの間に1カウントだけ増分される。 このように、分岐判断の出力線49および命令ピッl−
線52の任意の与えられた条件のセットに対して、シー
ケンス・カウンタ53は複数回増分され、所望のマイク
ロワードのシーケンスを分岐コードP L A 51の
出力に生成する。 飛越し型命令が第1の種類のマイクロワード・シーケン
スを必要とし、分岐型命令が第2の種類のマイクロワー
ド・シーケンスを必要とする場合を想定すると、分岐コ
ー+: p LΔ51は3種類の異なるマイクロワード
・シーケンスを含む。第2のマイクロワード・シーケン
スは指定された条件が満たされたときの飛越し命令の場
合である。第2のマイクロワード・シーケンスは指定さ
れた条件が満たされたときの分岐命令の場合である。第
3のマイクロワード・シーケンスは条件が満たされなか
ったときの飛越しまたは分岐命令のどちらかの場合であ
る。第3のマイクロワード・シーケンスは単に、次の順
次プロクラ11命令を主記憶機構28から取出して、命
令レジスタ17にロードするだけである。 ゲート群56および57はマルチプレクサとして働き、
制御レジスタ43が主制御P L、Δ50または分岐コ
ードPLA5]のどちらか一方からマイクロワードを受
取ることを可能にする。非分岐型プロセッサ命令を実行
している間、ゲート群57は制御点信号線58を介して
活性化され、主制御P L A 50からのマイクロワ
ードが制御レジスタ43に供給されるのを可能にする。 これに対して、分岐型プロセッサ命令を実行している間
、ゲート群56は制御点信号線59を介して活性化され
、分岐コードPLA51によって生成されたマイクロワ
ードを制御レジスタ43に供給ずろことができる。 ゲート群56または57を選択するため、各々のマイク
ロワードにはストローブ・フィールドが与えられる。デ
コーダ44はそれをみ−C1次のマイクロワードが主制
御PLA50から選択される場合は制御点信号線58を
活性化し、次のマイクロワードが分岐コードPLA51
から選択される場合は、代りに制御点信号線59を活性
化する。 分岐型命令が命令レジスタ17にロードされると、その
存在は主制御PLA50によって認識され、それによっ
て生じたマイクロワードのストローブ・フィールドは次
のマイクロワードを分岐コードPLA51から選択する
ことをデコーダ44に命じる。分岐コードP L A
51によって生成されたストローブ・フィールドおよび
マイクロワー1−は、最後の分岐コード・マイクロワー
ドに達するまで、分岐コード・マイクロワードを選択す
ることをデコーダ44に指示し続ける。この最後の分岐
コード・マイクロワードのストローブ・フィールドは次
のマイクロワー1〜を主制御P L A 50から選択
することをデコーダ44に指示する。命令レジスタ17
にロードされた次の命令が非分岐型命令であるものとす
ると、前記命令に関して生成された各々のマイクロワー
ドのストローブ・フィール1くは次のマイクロワードに
対して主制御1)1.、ハ50を選択し続りることをデ
コーダ44に指示することになる。 分岐型のマイクロワード・シーケンスのために別個の分
岐コードPLA51を使用する利点は。 それによって、より大きく且ついくらか遅い主制御PL
Δ50に並列に高速な経路がlj、えらJLることであ
る。この点に関して、分岐コーl:’ I’ 1. A
51は相対的に小さく、従って相対的に短かいアクセ
ス時間を有する。多くの異なるユーザ・プログラムにお
いて分岐型命令はかなり@繁に生じるから、分岐コード
PLΔ51によって−伴えらJした並列高速経路は一般
に、平均命令実行速度を増大させる。 第4A図および第4B図には、第1図の制御ユニット1
4として使用可能な制御ユニツh I 4 cの内部構
造の機能ブロック図が示されており、本発明に従って構
築されたすぐれたマイク■リード生成機構の第3の実施
例が含まれている。この実施例においては、プロセッサ
のクロック発生器J5a(第4B図)は第5図に示され
た△相およびr3相のタロツク信号を生成する。これら
のタロツク信号はどちらも同じ周波数であって、同じ、
波形を持っており、異なっているのは相ηにijr間的
に変位していることである。Aクロックの11−パルス
はBクロックの正パルスとオーバラップしない。 第5図に示された非オーバラツプ部分の長さは説明のた
め誇張して示されている。正パルスはクロック信号のア
クティブな期間を表わす。 第6図は第4A図および第4B図の制御ユニット14c
の代表的な動作を説明するのに用いられるタイミング図
であり、ときどき制御ユニツ1〜140の説明に関連し
て参照される。正のAおよびBクロック・パルスの発生
時間は第6図の2行目、すなわち「タロツク」の行に示
さjしている。図面を簡略化するため、これらのパルス
間のわずかの時間ギャップは第6図には示さ4していな
い。第6図に示さAした各々のクロック・パルス間隔は
1つのマイクロワード・サイクルに相当し、その間、特
定のマイクロワードが第1図のデータ・プロセッサを制
御している。 第6図の命令Nは、条件が満たされた場合の「条件飛越
しJプロセッサ命令の例を表わす。第6図に部分的に示
されている先行命令N−1は。 これも第6図に部分的に示されている後続の命令N+]
と同じように、非分岐型命令を表わ°才。第6図の最上
部の行のサイクル番号によって示されているように、命
令Nの実行には12のマイクロワード・サイクルを必要
とし、従って12のマイクロワードが用いられる。 第4A図および第4B図のすぐれたマrクロワード生成
機構には命令レジスタ17にある各々のプロセッサ命令
に応答する初期PLA機構が含まれており、プロセッサ
命令の実行に必ツzな初期マイクロワードを与える。こ
の初期p r−A 1%構には第1サイクルP L A
60と第2サイクル1)1.八6Jが含まれている。 第1サイクルPL△に(1は各々のプロセッサ命令の実
行に必要な最初のマイクロワードだけを生成する。この
マイクロワードは「IP」マイクロワードとして識別さ
れ、第61(1の3行目、すなわち[アクティブMW(
マイクロワード)」行に表示されているように、命令N
およびN+1のマイクロワード・シーケンスの最初のマ
イクロワードである。 第2サイクルPLA61は各々のプロセッサ命令に必要
な2番目のマイクロワードだけを生成する。このマイク
ロワードは「2P」マイクロワードとして識別さJしる
。 また、第4Δ図および第4B図の制御ユニットには、各
々の非分岐型プロセッサ命令に応答する複数の追加のP
LA機構が含まれており、非分岐型命令を実行するのに
必要なマイクロワードの残余の部分を与える。これらの
追加のPLA機構にはAデコードP L A 62、B
デコードPLA63、CデコードP L、 A 64お
よびDデコードP L A 65が含まれている。それ
らの出力マイクロワードはそれぞれAP、+3.P、C
PおよびDPマイクロワー1−とじて識別される。こ九
らのハ、B、CおよびDデコ〜+: p r、A62〜
65からのマイクロワードは反復するΔ−B−C−Dシ
ーケンスで用いられ、第1図のデータ・プロセッサをf
li制御する。 従って、任意のIj、えられた非分岐型プロセッサ命令
のマイクロワード・シーケンスはl−2−A−B−C−
D−A−B−C−D、、、である。ただし、1および2
は第1および第2サイクルP L A、 60および6
1によって生成さ扛たマイクロワー 1・を表わす。 第1および第2サイクルPLA60よ旨1:び61は比
較的小さく且つ高速動作するPL△でノうっで、命令レ
ジスタ17にあるプロセッサ命令によって直接駆動され
る。これによって各々の命令のための最初の2つのマイ
クロワードは極めて迅速に生成される。こ汎によって他
のP L A、 62〜に5が、所与の非分ρφ型プロ
セッサ命令のための残りのマイクロワードの生成を開始
するのに、より多くの時間が与えられる。 デコー1<’ P L A G 2〜65の′t51の
人力セラ1〜はエンコードP■、Δ6Gおよびレジスタ
に7によってMl#3シて駆動される。エンコードI’
I、八〇〇はぞの出力バス68上に複数ピッ1−の命
で1詭別f、1号を生成し、その識別信号はバス35」
二のプロセッサ命令よりも少ないピッ1−数を右する。 それにもかかわらず、この識別(5号は実行される命令
を−・意的に識別する6 デコードPLA62〜65の第2の人力セラ1〜はシー
ケンス・カウンタ69によって生成された複数ピッ1−
のカウント信号によって駆動さJしる。 最後の2つのデコー1〜P L、 A G 4および6
5に対するシーケンス・カランミル信号はレジスタ7o
から供給さ4しる。こ扛は、異なるデコードPLA使6
2〜65のオーバラップされた動作を考慮してタイミン
グを調節するためにf”jなわれる。 本実施例において、第1および第2す、イクルY)Lへ
60および61ならびにデコードI)LAG2〜65は
タロツク・パルスによって制御されるいわゆるダイナミ
ック1)1.八である。ここでは、各々のP L Aは
オーバラップしない4個のクロック・パルスC1、C2
、C3およびC7Iのセットをf受用して、各々の有効
出力ピッ1〜・パターンを生成する。第6図【「ダイナ
ミックI’ 1. A内部夕rミング」のパターンによ
って示さ、11.でいるように、連続する各ダイナミッ
クP Lへ60〜65のためのCI −C2−C3−C
/lクロック・パルス・セットは1マイクロワード・サ
イクルだけ互いにオフセラ1〜され、そJLによって2
番[1のrl +、八6Iに対するC1パルスは、最初
のPLA60に対するC2パルスに一致し、3番目のI
) L A 62に文JするC1パルスは、2番目のP
LA6]に、2JするC2パルスに一致する。以下同様
である。1このように、ダイナミックP1..A60〜
65の内t4B動作は時間的にオフセットされるがオー
バラップされる。 各々のダイナミックPLAの出方はその(’、/I内部
クロツタの期間を通じて有効である。 ダイナミックPLA6C1〜65に苅づるに1へC4内
部クロック・パルスはダイナミック1°r、Aクロック
論理ユニット7IのrPLA、7r+ツク」出力から得
られる。ダ・rナミックPL、AりLJラック理ユニッ
ト71の内部構造は、例えは1,1がi’l l’(i
58−27128号にかなり詳絹に説明さJしている
。 エンコードP1.八〇Gもダイナミック1)1.Δでよ
いが、木切41117!;ては説明を簡略化するため、
スタティックPLAであるものとする。 第4Δ図および第4B図においてブ[1セツザ10の動
作を制御するマイクロワード応答制御回路には制御レジ
スタおよびデコーダが2七ノド含まれている。「A」セ
ラ1−はマスタ・スレーブ制御レジスタ(A、−L1制
御レジスタ72およびΔ−L2制御レジスタ73)なら
びにAデコーダ74を含み、[BJI!ッ1〜はマスタ
・スレーブ制御レジスタ(B−LI制御レジスタ75
J′;よび13−1.211i11御レジスタ76)な
らびにBデコーダ77を含む。 制御レジスタ72および73のローディングはそれぞ]
しクロック発生H:11571からのΔおよびBクロッ
ク・パルスによって制御されるが、制御レジスタ75お
よび7Gのローティングはそ、!1.ぞれ■3およびΔ
クロック・パルスによって制御される。 こうして、各々のセラ1への最初のレジスタ72および
75は交番的にロー ドされる。 AおよびBデコーダ7/Iおよび77の出力をインタリ
ーフ゛するために、へデコータ゛74に苅してはΔゲー
I−装置78が設けらAし、13デコーダ77に苅して
はBグー1〜装ri79が改番づらJしている。 Aグー1〜装置78はAクロック・パルスによ−)で信
号を通過するように付勢さJしるが、13ゲー1−79
はBクロック・パルスによすて信号を通過するように(
=J勢される。このようにして、ΔデニJ−ダ74およ
びBデコーダ77はΔ−B −A −13と交互に制御
点信号をljえる。Aデコーダ74かI゛、の制御点信
号線の多くは13デコーダ77か1?、の7シ、1応す
る制御点信号線とO,1%結合され、それにj: =+
で、第1図のデータ・プロセッサに才言プる一コS−リ
1−の多くは制御点信号をAまたはBクロック相の間に
受取ることができる。 第1サイクルPLA60、Aデコードl’ 1. A
62およびCデコードI)L A 64はマイツノ【1
リ−1−を1回に1つずっΔ−L1制御レジスし゛/2
にOL給する。各々のマイクロワードは次々にA1,2
制御レジスタ73に転送さIしてΔデコーダ74を駆動
し、出力制御点信号を生成する。二の信号はΔクロック
相の間にへゲー1〜装置78にJ、 7.+で送り出さ
Jしる。第2ザーrクルP LΔ6】、H7コードPL
Δ63およびL)デコードl−’ L A G 5’b
同様に、ただし時間的にインタリーブされで、−′イク
ロワードを1回に1つずつB−L +制御」・ン人タフ
5に供給する。各々のマイクロワードは次々にB−L2
制御レジスタ7Gに転送されてBデコーダ77を駆動し
、出方制御魚信すを生成する。この信号はBクロック相
の間にI3ゲー1〜装置79によって送り出さJLる。 各々のマイクロワードは複数のビットの2進−ノードで
あって、いくっがの制御フ・r−ルドに細分されている
。これらの制御フィールドの1つはrPLΔ出力刈出力
−ブ」フーr−ルトと呼ばJし、それがデコーダにIj
えられると、いわゆる「1)LA出カストローブ」を生
成するのに用いら4しる。 いくつかの制御、、+、、 (−℃線の中の41°定の
豚が活性化される。アクティブなPLA出カ刈−ローブ
は次のマイクロワードを関連制御レジスタに供給するこ
とになっているP L Aを選択する。Δデコーダ74
から(1) r) r、、Δ出カスト[J−ブはl’
I−A G 0162およびG4の中がらΔ−1,1制
セ11ルジスタ72に次のマイクロワードを倶才0′す
る1゛■、八をj巽釈する。第1サイクルP1−Δ6o
は任影、のυえIF>iシたプロセッサ命令に必要な最
初のマーrタロワー1−だけを供給するように選択さJ
Lる3、その後、l\−L、 ]制御レジスタ72に苅
するマイクロワ トはデコード1〕■、Δ62および6
4から交υに取出される。Δデコーダ74によって生成
さJしたI’L八出へストローブはSl、SΔおよびS
Cとして識別され、それぞh P L A出力ゲー1
〜群、J蜀1わちグー1〜装置80.8+および82の
中の関連するゲート装置は供給さ4しる。こJしらのゲ
ート装置80〜82の名々は特定のI) I= A出カ
スI−rj−ブによって同時に付5)される複数のゲー
ト;’)’ ”J III、る。 付勢された特定のグー1〜装置は関連する1・1.への
出力に現われているマイクロワードを共310の複数導
線からなるP[、A出力バス83を介しC八−L1制御
レジスタ72の人力に供給する。 同様に、Bデコーダ77によって生成さAしたPLA出
カスト[1−ブS2、S 13およびS IJ 4;i
P LA6J、63およびG5の中から13−L+制
御レジスタ75に次のマイクロワードをOL給ずニア)
p +−7Δを選択する。これらのP LΔ出カスj−
ローブS2、SBおよびSDはjcしぞれ、1)r−A
出JJ グー1〜群、すなわちグー1〜装置84.8
.5;IJ:び86の巾の関連するグー1−装置に供給
される。i2ザイクルPLA61へのs2ス]−ローブ
線は任意の与えられたプロセッサ命令に対する2番目の
マイクロワードだけを与えるように活性化される。その
後、B−L 1制御レジスタ75への残余のマイクロワ
ードはデコー+: l) 1.、Δ63オンよび65が
ら交互に取出さ4しる。これらのマイクロツー1〜はノ
(通の複数導線からなるY)Lハ出刃バス87を介して
B−L 1制御レジスタ75に供給される。 前述のような種々のマイクロワードの多重化の結果、各
・夕の非分岐型プロセッサ命令に刺し、種々のPLΔ6
0〜65がら得られるマイクロワードのシーケンスは 1.2、Δ、13、c、l)、ハ、13、C21)、Δ
、B19.。 のようになる。このシーケンス中の数字才9よび文字は
ソースとなるI)L Aを表わす7.第J、I;よび第
2サイクルP[、Δ6oおよび61は第1および第2の
マイクロワードだけを供給する。任意のケえられた非分
岐型プロセッサ命令に苅する残りのマイクロワードはそ
の特定のブUセッリ命・aの実行に必要な数だ(ノブコ
ードPL、AG2− 〔jりがらA、13、C,Dの順
に取出される。第1おJ、び第2す・イクルPLΔ60
よ;よび61は分岐型プロセッサ命令の!り合にも用い
らJしる。 Bデコーダ77からの1ltj制御点fa号パルスε;
0に、上ってユーンコート’ rl L A出力レジス
タG7がロードされ、シーケンス・カウンタ69むよび
イ、]Lに関連するレジスタ70が0にリセットさ」し
る。このSOパルスは]J2/i:実行中のブロセッリ
命令に、シ4するマイクロワード・シーケンスの未1こ
が’ 3 a目のマイクロツードによって1成されろ。 シーケンス・カウンタ6っはPL、へ出カスト1」−ブ
・パルスST′3によ−) てA、13、C#−;、J
:び1)ノ゛、′、rりL1ワードのレッ1−ごとに1
回増j)さ]しる。]ジータンスカウンタ69のバッフ
ァとしてト功<レジスタ70はP[、A出カストローブ
・パルス3;(゛にょってA、B、Cおよび■〕のンー
rクロヮー1のセラ1−ごとに1回ロードされる。 ダイナミック1)1.ΔりUツク論理ユ−ツト71はS
O制御点信号、種々のPLΔ出カストCJ−ブS1、S
2、SΔ、A I3、scおよびS l)ならびにクロ
ック発生:!: I 5 aがらのハJ3よび1うクロ
ック・パルスによって駆動さ4しる。l’llJ fi
L!特シ′1出願の明細店・に記述され′Cいるように
、こJしらの種々のパルスは、ダイナミックPT、へ〇
+)〜65の各々に対しj育切なcl・〜に1内ごj
;り[」ツタ・パルスのセラ1−を生成するのに必要が
勺[カ、′J、情報を右する。 づ)岐型ブロヒッリ゛命令を実fjAるため、第4Δ図
および第4B図の制御ユニットに(J更に、各々の分岐
型プロセッサ命令に応省する分岐判断1’ l。 八88が含まれており、バス37を介してステータス・
レジスタ3Gがら倶4′台さJl、たj、’、 CON
’1条イ′1標記/17:;の少メJくとJ)Iっを
依清゛する。分岐型命令の条1′[コード・フィールド
によって指定された条1′1が;lzまたされた場合、
1!定(3℃が分岐判断r)Lへ88の出方線89上に
発生される。指定された条件が満たされない場合には、
出方線8 i) −J−の偕リレベルは否定的判111
iを表示する、。 分岐型(1令ホ115には更に、出力むij 8 ’3
.1:、の庁定判断信号に応答する分岐コードP L
A (3f;措が含まれてJ3す、庁定判IすNo″;
3を生成した分11噛型命令をブこ行するのに必要な残
りのマイクロワード!rO(給する。この分岐コードP
L、A Q Mηには分岐二、+ −14PLA90、
シーケンス・カウンタ91 、tr Jびバッファ・レ
ジスタ92が含まJしている。バッフ)′・レジスタ9
2は分岐判1す1PLA88から出力線89を介して判
断前号を受取り、士た実f−13さ4(る分岐型命令の
′11′定のタイプを識別するの(−1力な数の命令レ
ジスタ・ピッ1−を受取る。バノノ−〕′・[ノジ人り
92の内容ど、シーケンス・カウンタ91によって生成
された複数ピッj・のカランIi、iυどに応答して、
3)岐コードPL A 90はそのとき命令レジスタ1
7に(7在する分岐型命令を実fiするのに必要な残り
のマイクロワードを生成する。各々の分岐型命令に苅す
る最初の2つのマイタロワードは第1および第2ザイク
ルP LΔGOによびに1によってうえられる。 不実/J1!例において、分岐コードPLΔ90は実際
には1回に2つのマイクロワードを生成する。 その1つは「JL」マイクロワードと呼ばれてΔクロッ
ク相の間に使用され、他の1つはrJ BJマイクロワ
ードと呼ば九で次の後続するBクロック相の間に使用さ
汎る。J Bマイクロワードの適切な時間遅延はそJし
をバッファ・レジスタ94にロードすることによって1
+1られる。装−1〜%置95および96は′C,lシ
C71シ、A−1−41制御レジノ、タフ2およびB
−1,1制御レジスタ75J−\のJLおよびJ It
マイクロワードの供精を制御する。Δデコーダ74によ
って生成さJした1](、ハ出カストローブ・パルスS
JΔによってΔクロック相の間、JΔマイクロワードの
ゲート装置95が(=J勢され。 JBマイクロワードのバッファ・レジスタ94がロード
される。1うア°コーダ77によって生成されたPLΔ
出カストローブ・パルスS J BによってBクロック
相の間、JBマイクロワー1〜のグー1−装置96がイ
ーJ勢・さ]Lる。 本実施的において、分岐判断1)■7Δ88および分岐
コードP[、Δ90の各々は比較的小さいスタティック
PLΔである。各々のPLAIJ比較的高速であり且つ
非常に短かいアクセス・タイツ、を右する。従って、ダ
イナミックPLAで、ちり旧つ非分岐型命令のマイクロ
ワードを生成するデコードP L、Δ62へ・65と比
較して、分岐コードl’LA90は極めて迅速にマイク
ロワードを生成することができる。 第6図において、命令Nは分岐型命令を表わす。 すべての命令について云えることであるが、先行する命
令の最後の2つのマイクロワードはそれぞJL、第1お
よび第2す゛イクルP L A 6 oおJ、び61に
対するSlおよびS2ストローブ・パルスを生成する。 先行する命令N−1の間のある切間の時点で、次の命令
、すなわち分岐命令Nが命令レジスタI7にロードさ汎
ている。従って、SlおよびS2出カス1ヘローブの発
生時点までに、第1および第2サイクルPLA60およ
び61は、次の命令Nが分岐型命令であるという事実を
認識して、分岐型命令に対する適切な第1および第2の
マイクロワードを生成できるようになイ)、、同時に、
分岐判断PLA88もこの分岐型命令の条件フィールド
に応答し、ステータス・レジスタ3GからのEC0NZ
標識の中の少なくとも1つの適切な標識を検査して、そ
の出力線89上に適切な判断信号を生成できるようにな
っている。 命令N−1のサイクル17におけるS1ストローブ・パ
ルスの発生によって次の3つの動作が行なわ汎る。第1
に、第1ナイクルP LΔ小出力グー1〜装置80がr
J勢さJし、分岐型命令を実行するだめの最初のマイク
ロワードがバー1,1制御レジスタ72にイI(給され
る。第2に、バッファ・レジスタ92がロードさAし、
分岐コートI) LΔ90を駆動する。第3に、シーケ
ンス・カウンタ91がOカラン1〜状態1こリセツl〜
される。これは分岐コードP L Aのアクセスを開始
する。第6図のr 13 CP(分岐コードPLA)ア
クセス」行に示すように、分岐コードPLA90のアク
セス(ACC)は最後のマイクロワード・サイクル、ず
なわち命令N−1のサイクル18の間に行なわれる。分
岐コードpLA90のアクセス時間はqt−マイクロワ
ード・サイクルの期間よりもいくらか短かい。 従って、命令Nの最初のマイクロワード・サイクルにお
いて、分岐コードPLA90は有効な出力を発生してい
る。これは第6図のr B CP出力」行にrVAL
IDJとして表示さhでいる。 所で、第1サイクルPLAf30からのマイクロワード
はA −L 2制御レジスタ73にロードされており、
こJルは命命N−1のサイクル18の間に生じる。 従って、分岐命令Nのサイクル1の間にハゲ−1〜装匝
78がイ1勢さ九ると、Aグー1−装置78の出力に現
れる制御点信号をAデコーダ74に生成させるのは、第
1サイクルPLA60からのマイクロワードIPである
。これらの制御魚信すの1つはSJAストローブ・パル
スであって、このパルスは分岐コーF l〕L A 9
0からΔ−L1制御レジスタ72に、最初のJAマイク
ロワードを供給する様に分岐コードp ■、 A出力の
ゲート装置95を付勢する。この同じSJAパルスはJ
Bマイクロワードをバッファ・レジスタ94にロードす
る。 この命令Nの同じサイクル1の間、第2ザイクルPLA
61からのマイクロワード2PはB −L2制御レジス
タ76にロードさ1しる。このマイクロワード2PはB
ゲート装置79がイ1勢されると後続するBクロック相
の間アクティブになる。これは命令Nのサイクル2の間
に生じる。このマイクロワード2PはSJBス1ヘロー
ブ・パルスを生成し、このパルスはJBバッファ・レジ
スタ出力のグー1〜装置96をイ]勢し、最初のJ 1
3マイクロワードをB−L]制御レジスタ75に転送す
る。 また、この5J13ストローブ・パルスによってシーケ
ンス・カウンタ91は増分され1分岐コードP L A
90は次のJAおよびJI3マイクロワー1〜の苅の
アクセスを開始する。 命令Nのサイクル3の間に最初のJAマイクロワードが
アクティブになると、もう1つのSJΔストローブ・パ
ルスが生成さJL、第2のJAマイクロワードをA−L
、1制御レジスタ72に転送する。同様に、命令Nのサ
イクル4の間に最初のJBマイクロワードがアクティブ
になると、もう1つのSJBストローブ・パルスが生成
さり、第2のJ13マイクロワードをB−L 1制御レ
ジスタ75に転送する。このように、JAおよび、J[
3マイクロワー1−は命令Nのサイクル11に達するま
で追加のJAおよびJBマイクロワードを選択し続ける
。サイクルJ1はこの特定の例では最後のサイクルの前
のサイクルであるから、この++S点でアクティブにな
るJAマイクロワー1・のス1へローブ・)・r−ルド
は、代りにS1ストローブ・パルスを生成するようにコ
ード化され、第1サイクルPLA60を選択する。同様
に、命令Nのザfクル12の間にアクティブになるJB
マイクし【ワードはS2ストローブ・パルスを生成する
ようにコード化さtL、第2サイクルPLA61を選択
・j−る1、このようにして、次のプロセッサ命令N+
1のためのマイクロワード生成動イ1がUFJ始される
。。 命令Nの勺イクル10の間アクティブCあるjBマイク
ロワードは、SJBストローブ・パルスを生成するのに
加えて、SO再始動パルスをし生成する。このSO再始
動パルスは次の命令Nト1に備えて非分岐命令機構、特
にエンコードPLA出力のレジスタ67、シルケンス・
カウンタ69およびその出力のレジスタ70に供給され
る。 第4A図および第4B図に示された制御ユニット14c
の回路のすべては、なるべく単一のチップ上に形成され
るのがよい。分岐型命令に必要なマイクロワードの大部
分を生成する分岐判断P LA、88および分岐コード
PLA90の使用は、さもなけ汎ばデコー1−’ P
L A 62〜65に必要とされるチップのスペースを
減小する。このデコードp r、、、八62〜G5のチ
ップ・スペースの節約は、分岐判断P1. A 88お
よび分岐コードPLA90に必要な追加チップ・スペー
スよりも大きい。従って、この別個の分岐判断/分岐コ
ード機構は、より速い分岐動作をIjえるほか、デツプ
・スペースの正味の必要量を1威小さぜ、それによって
適瓜な大きさのQi、−・チップ上における制御ユニッ
1−の組立を容易にする。 1Σ、防嵯全会月4if (第7図) 第7図はIBMシリーズ/1のプロセッサを想定して第
4A図および第4B図の分岐命令機イ、カを具体化した
例を示している。これに関連して、第8図および第9図
はIBMシリーズ/1のアーキテクチャで使用される飛
越し命令および分岐命令の命令フォーマットを示す。最
初の2つのマイクロワードを除き、これらの飛越し命令
Jrよび分岐命令を実行するのに必要なマイクロワード
・シーケンスは第7図の機構によって与えら2しる。 第8図の飛越し命令は1ワード(16ビツ1へ)命令で
あって、条件フィールド(ビット5へ・7)によって指
定された条件が満たされた場合、データ・プロセッサは
シーケンス外の命令に飛越す。 この条件フィールドのコード化は第1表に指定されたコ
ード値に従って行なわhる。飛越し先のシーケンスを外
れたプログラム命令のアドレスは、ワード変位フィール
ド(ピッ1〜8〜15)の値を、命令アドレス・カウン
タ22の更新さ、lした値に加えろことによって決定さ
れる。占い換え、1tば、飛越し命令取出し後、命令ア
ドレス・カウンタ22を、それにワード変位値を加える
前に増分することが必要である。シリーズ/1のアーキ
テクチャにおいては、命令アドレス・カウンタ22のア
ドレス値はバイト単位で表わされる。従って、次の16
ビツト・ワードの開始アドレスを得るには命令アドレス
・カウンタ22を2だけ増分することが必要である。ま
た、命令のツー1〜木位のフィールドの数値は、それを
2倍にしてバイ1〜変位値に変換してから、命令アドレ
ス・カウンタ22の更新されたアドレス値に加えること
が必要である。 第9図の分岐命令は実際には2ワード命令であるが、図
面を簡略化するため第2ワードは図示されていない。こ
の第2ワードはのアドレス値を含む。第1ワード(第9
図に示さ扛たワード)の条件フィールド(ピッ1〜5〜
7)は検査される条件を表示する。このフィールドで指
定しうるコード値は第1表に示さ扛ている。指定された
条件が満たさJした場合、分岐先の主記憶アドレスは完
全に新しいアドレス値を命令アドレス・カウンタ22に
入れることによって決定される。この新しいアドレスは
有効分岐アドレスと呼ばれる。この有効分岐アドレスを
生成する方法について次に説明する。最初のステップと
して、分岐命令の第2ワード(図示せず)に含まれたア
ドレス値が分岐命令のR2フィールドによって指定され
た汎用レジスタの内容に加えられ、主記憶アドレスを形
成する。 この汎用レジスタは第1図の局所記憶ユニツ1へ25に
所在している。分岐命令の第2ワードのアドレス値は、
ワードからバイトへの変換を必要としないようにバイ1
〜単位になっている。分岐命令のR2フィールドが0に
等しい場合、どのレジスタもアドレス生成に寄与しない
。その場合には、第2ワードのアドレス値は実際に所望
の主記憶アドレスである。 有効分岐アドレス生成の次のステップとして、分岐命令
の第1ワードのピッ1−11の値が検査され、アドレス
指定が直接か間接かを決定Jる。ピッ1−11の値がO
の場合、最初のステップの結果は直接アドレスであり、
命令アドレス・カウンタ22にロードさ]しる。ピッ1
−11の値が1の場合には、最初のステップの結果は間
接アドレスである。この場合、間接アドレスによって指
定された主記憶位置の内容が命令アドレス・カウンタ2
2にロードされる。 次に、第7図に示さJした分岐判19i P L A
88の入力について説明する。LSRビット0乃至LS
Rビット4の入力線はそ汎ぞれ、ステータス・レジスタ
36からE、C,O,NJEよびZの条件標識ピッ1〜
を供給する。IR(命令レジスタ)ビン1〜入力は命令
レジスタ17における対応する番号のピッ1ル位置から
得られる。これらのピッ1〜番月は第8図および第9図
に示されたピッ1〜番号に対応する。第7図に示されて
いるように、IRビットI、4〜7および13〜15は
分岐判断PLA88が異なるターrブの飛越し命令およ
び分岐命令に正しく応答しうるのに必要である。I R
ピッ1−5〜7は命令の条件コー1く・フィールドを表
ゎず。 IRピッ1〜Jは分岐判断PLΔ88が飛越し命令と分
岐命令を見分けるのをiTJ能にする。IRピッ1−1
は飛越し命令に対しては0の値を有し、分岐命令に対し
ては1の値を有する。1. Rビット4は正のタイプと
負のタイプの飛越し命令を識別するのに用いられる。I
Rピッ1〜4の値が0の場合は、命令は条件飛越し命令
である。IRピッ1−4の値が1の場合は、命令は条件
飛越し一否定命令である。このように、飛越し命令の場
合、【1<ビット4は第1表の条件タイプの欄に対応す
る。 IRビット13〜15は分岐命令の場合に必要である。 それらは機能フィールドにおけるビットを表わし、実行
される特定のタイプの分岐命令を完全に識別するために
命令コード(01)コード)を補足するのに必要である
。 バッファ・レジスタ92は、出力線89」−の分岐判断
ビットの外に、IRビット1および11を受取る。既に
説明したように、IRピッ1−1は飛越し命令と分岐命
令とを児分ける。I Rピッl−11は分岐命令に用い
られ、第9図に関連して説明したように、直接および間
接のアドレス指定モードを識別する。バッファ・レジス
タ92の3つのビットは分岐コードPLA90に供給さ
れ、そこに存在する4種類マイクロワード・シーケンス
の中の1つを選択する。出力線89上の分岐判断信号が
0の場合、「非分岐jマイクロワード・シーケンスが選
択される。この場合、飛越しまたは分岐は行なわhず、
データ・プロセッサは単に次の順次プロゲラ11命令を
取出す。 出力線89上の判断信号が肯定的てIRビット1が0の
場合、飛越し命令のマイクロワード・シーケンスが分岐
コードPLΔ9oにおいて選択される。出力線89上の
’l’!I断信号およびIRビット1がどちらもIで、
IRピッ1−I■が0の場合、直接アドレス指定による
分岐命令を実行するマイクロワード・シーケンスが選択
さオしる。バッファ・レジスタ92への3つのビットが
すべて1の値を有する場合には、間接アドレス指定によ
る分岐命令を実行するマイクロワード・シーケンスが分
岐ml−ドpLh9oにおいて選択される。 どのマイクロワー1−・シーケンスが選択されても、シ
ーケンス・カウンタ91がらの2進カウン1へ信号によ
って分岐コードPjA90は選択すItたマイクロワー
ド・シーケンスの個々のマイクロワードをアクセスする
。前に説明したように、1回に2つのマイクロワードが
分岐コードl) 1. A 90によって生成される。 従って、シーケンス・カウンタ91は3ビット・カウン
タであるので、こ]℃は任意のケえらJしたマイクロワ
ード・シーケンスに対して最大16個までのマイクロワ
ー1−°を与えることができることを意味する。更に、
第1J3よび第2サイクルPLAGOおよび61は名シ
ーケンスにおける最初の2つのマイクロワードを一υえ
る。従って、必要ならば、所与のシーケンスに対して合
計18個のマイクロワードが使用可能である。第6図に
示された命令Nのシーケンスは12の個マイクロワード
を用いる。 第7図の分岐命令機構の人力はゲー1〜さコしないから
、この分岐命令機(13はどのような命令カ;命令レジ
スタ17にロードされてもそれに対して反応する。しか
しながら、非分岐型命令の史α、分岐コード出力のゲー
1へ装置95および96は活性化されず、従って、間違
ったマ・fブロワ−1〜がA−L1制御レジスタ72お
よびB−L 1制i31ルジスタ75に供給されること
はない。 前に述べたように、第6図の命令Nの例は条件が満ださ
九た場合の条(’l’飛越し命令の場合に関するもので
ある。この命令Nのマイクロワード・シーケンスに対し
て第1図のプロセッサ1oて生じる主要な動作は第2表
に示されている。 第2表 マイクロワード1て生じる命令レジスタ17(ピッ1−
8〜15)からAレジスタ18 (ピッ1.7〜14)
へのローディングは飛越し命令のワード変位フィールド
をAレジスタ18に入4し、ワード変位フィールドを1
ピッ1〜位置だ(プ左シフ1〜する。これはワード変位
の値を2 (+;にしてバー(+−変位値に変換するた
めである。 マイクロワー1〜8〜]2のザーf°クルはブロセッザ
のデータ・フロー・ユニツIllが有用な仕事を実行し
ていない遊体間隔を表わず。この遊体間隔はマイクロワ
ード7の間に命令レジスタ17にロードされる新しい命
令に正しく反応する114間をダイナミックPLΔ60
へ・65に−5えるのに必要である。その理由は第6図
において命令Nのマイクロワード8〜12のダイナミッ
ク1)r、ハ内部タイミングを参照すれば理解すること
ができる。、]い換えれば、この特定の設a1において
、次の命令は現在の命令のマイクロワード・シーケンス
の末尾から6番目のマイクロワードよりも遅りずに命令
レジスタ17にロードさAしな番プ]しばならない。 あるタイプのブロセツザ命令の場合、このJ、うなシー
ケンス終結部分において、データ・ノL」−・ユニツ1
〜IIによって実行できる有用な仕事があるが、他の命
令の場合には、前記のように、データ・フロー・ユニッ
ト11において仕・11はfiなわれない。
第1図は本発明を適用しうるデータ・プ[1セツサを示
すブロック図、 第2図は制御ユニット14の第1実//i!!例(j爪
ずブロック図、 第3図は制御ユニツ1−14の第2実Jkj例を示すブ
ロック図、 第4図は第4Δ図と第4B図の配置関係4示す図、 第4A図および第4B図は制御ユニット14の第3実施
例を示すブロック図、 第5図はクロック発生器15AからのΔクロックおよび
Bクロックのタイミング関係を示11波形図、 第6図は制御ユニット14の第3実施例の動作例を示す
タイミング図、 第7図は第4A図の分岐判断および分岐コード部分への
入力を具体的に示ずブロック図、第8図は飛越し命令の
ノオーマツ]・を示す図、第9図は分岐命令のフォーマ
ットを示ず図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 ブr理土 頓 習 7γ − (外1名) 手 続 補 正 書(方式) 昭和59年2月10日 特許庁長官蓋 杉 和 夫 殿 1、事件の表示 昭和58年 特許願 第206058 号2、発明の名
称 マイクロワード生成機構 5、補正をする者 事件との関係 特許出願人 住 所 アメリカ合衆国10504、ニューヨーク州ア
ーモンク(番地なし) 4、代理人 住 所 郵便番号 106 東京都港区六本木−丁目4番34月 第21森ビル 日本アイ・ビー・エム株式会社内 5、補正命令の日付 昭和59年1月31日 訂、j 6 補正の対象 ジ1面 7 補正の内容 第6図(FIG、6)を添付図面のとおりに補正する1
、 E図面
すブロック図、 第2図は制御ユニット14の第1実//i!!例(j爪
ずブロック図、 第3図は制御ユニツ1−14の第2実Jkj例を示すブ
ロック図、 第4図は第4Δ図と第4B図の配置関係4示す図、 第4A図および第4B図は制御ユニット14の第3実施
例を示すブロック図、 第5図はクロック発生器15AからのΔクロックおよび
Bクロックのタイミング関係を示11波形図、 第6図は制御ユニット14の第3実施例の動作例を示す
タイミング図、 第7図は第4A図の分岐判断および分岐コード部分への
入力を具体的に示ずブロック図、第8図は飛越し命令の
ノオーマツ]・を示す図、第9図は分岐命令のフォーマ
ットを示ず図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 ブr理土 頓 習 7γ − (外1名) 手 続 補 正 書(方式) 昭和59年2月10日 特許庁長官蓋 杉 和 夫 殿 1、事件の表示 昭和58年 特許願 第206058 号2、発明の名
称 マイクロワード生成機構 5、補正をする者 事件との関係 特許出願人 住 所 アメリカ合衆国10504、ニューヨーク州ア
ーモンク(番地なし) 4、代理人 住 所 郵便番号 106 東京都港区六本木−丁目4番34月 第21森ビル 日本アイ・ビー・エム株式会社内 5、補正命令の日付 昭和59年1月31日 訂、j 6 補正の対象 ジ1面 7 補正の内容 第6図(FIG、6)を添付図面のとおりに補正する1
、 E図面
Claims (1)
- 【特許請求の範囲】 各々のシステム命令の実行を制御するのにマイクロワー
ドのシーケンスが用いられるマイクロプロゲラ11式デ
ィジタル・システムにおいて、前記システム命令に応答
して適切なマイクロワード・シーケンスを生成するプロ
クラマブル論理アレイ装置と、 演算結合が所定の条件を満足するかどうかを示す標識信
号を供給する条件標識回路と、条件付き分岐型システム
命令の条件フィールドに応答して、適切な単数または複
数の標、!11信号を検査し、指定された条件が414
1足される場合にに分岐型マイクロワード・シーケンス
を生成さゼる条件検査プログラマフル論理アレイ装置 とを含むことを特徴とするマイクロワード生成機構。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US45255482A | 1982-12-23 | 1982-12-23 | |
| US452554 | 1982-12-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6089249A true JPS6089249A (ja) | 1985-05-20 |
| JPS6323585B2 JPS6323585B2 (ja) | 1988-05-17 |
Family
ID=23796930
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20605883A Granted JPS6089249A (ja) | 1982-12-23 | 1983-11-04 | マイクロワ−ド生成機構 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0114194B1 (ja) |
| JP (1) | JPS6089249A (ja) |
| CA (1) | CA1199415A (ja) |
| DE (1) | DE3374092D1 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4831573A (en) * | 1987-03-06 | 1989-05-16 | Altera Corporation | Programmable integrated circuit micro-sequencer device |
| JPH01271838A (ja) * | 1988-04-22 | 1989-10-30 | Fujitsu Ltd | マイクロプログラム分岐方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51852A (ja) * | 1974-06-06 | 1976-01-07 | Nat Semiconductor Corp | |
| JPS54105442A (en) * | 1978-02-06 | 1979-08-18 | Mitsubishi Electric Corp | Microprogram control system |
| JPS56152047A (en) * | 1980-04-24 | 1981-11-25 | Mitsubishi Electric Corp | Microprogram controller |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
-
1983
- 1983-10-11 DE DE8383110128T patent/DE3374092D1/de not_active Expired
- 1983-10-11 EP EP19830110128 patent/EP0114194B1/en not_active Expired
- 1983-10-31 CA CA000440045A patent/CA1199415A/en not_active Expired
- 1983-11-04 JP JP20605883A patent/JPS6089249A/ja active Granted
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51852A (ja) * | 1974-06-06 | 1976-01-07 | Nat Semiconductor Corp | |
| JPS54105442A (en) * | 1978-02-06 | 1979-08-18 | Mitsubishi Electric Corp | Microprogram control system |
| JPS56152047A (en) * | 1980-04-24 | 1981-11-25 | Mitsubishi Electric Corp | Microprogram controller |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0114194B1 (en) | 1987-10-14 |
| DE3374092D1 (en) | 1987-11-19 |
| CA1199415A (en) | 1986-01-14 |
| JPS6323585B2 (ja) | 1988-05-17 |
| EP0114194A2 (en) | 1984-08-01 |
| EP0114194A3 (en) | 1984-09-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| US4631663A (en) | Macroinstruction execution in a microprogram-controlled processor | |
| US7793075B2 (en) | Active memory command engine and method | |
| CA1036713A (en) | Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets | |
| CA1093214A (en) | Microprogram address dualing | |
| JPS5935056B2 (ja) | デ−タ処理装置 | |
| EP0114191B1 (en) | Microword control system utilizing overlapped programmable logic arrays | |
| US4980819A (en) | Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system | |
| US3996566A (en) | Shift and rotate circuit for a data processor | |
| US3560933A (en) | Microprogram control apparatus | |
| JPH02226423A (ja) | マイクロコード制御装置 | |
| US4332008A (en) | Microprocessor apparatus and method | |
| US4685080A (en) | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords | |
| JPS60167034A (ja) | Cpuパイプラインの性能向上用補助的制御記憶装置 | |
| JPH0127453B2 (ja) | ||
| US4947369A (en) | Microword generation mechanism utilizing a separate branch decision programmable logic array | |
| US4604684A (en) | Digital computer having unique instruction decoding logic | |
| JPH0640303B2 (ja) | デ−タ処理装置 | |
| JPS6323585B2 (ja) | ||
| JP2680828B2 (ja) | ディジタル装置 | |
| CN114296804B (zh) | 通过双模指令集架构可避免load_use冒险停顿的阵列处理器 | |
| US4931989A (en) | Microword generation mechanism utilizing a separate programmable logic array for first microwords | |
| JPH02183830A (ja) | マイクロプログラム変換機構を有するコンピュータ | |
| EP0232796A2 (en) | Pseudo-microprogramming in microprocessor with compressed control ROM and with strip layout of busses, alu and registers | |
| JPS6155130B2 (ja) |