JPH0454254B2 - - Google Patents

Info

Publication number
JPH0454254B2
JPH0454254B2 JP58013865A JP1386583A JPH0454254B2 JP H0454254 B2 JPH0454254 B2 JP H0454254B2 JP 58013865 A JP58013865 A JP 58013865A JP 1386583 A JP1386583 A JP 1386583A JP H0454254 B2 JPH0454254 B2 JP H0454254B2
Authority
JP
Japan
Prior art keywords
pla
register
output
microword
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.)
Expired - Lifetime
Application number
JP58013865A
Other languages
English (en)
Other versions
JPS58172754A (ja
Inventor
Esu Muua Bikutaa
Ei Benesuki Jeraado
Ii Baakaa Tonii
Shii Roodesu Junia Josefu
Aaru Kurafuto Uein
Eru Sutaaru Junia Uiriamu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS58172754A publication Critical patent/JPS58172754A/ja
Publication of JPH0454254B2 publication Critical patent/JPH0454254B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】
〔本発明の技術的分野〕 本発明は各々のプロセツサ命令の実行を制御す
るのにマイクロワードのシーケンスを用いるマイ
クロプログラム式データ・プロセツサおよびデイ
ジタル・コンピユータで使用するマイクロワード
制御システムに係る。本発明はLSIチツプ上に主
要な回路部分を形成するデータ・プロセツサおよ
びデイジタル・コンピユータにおいて特に有用で
ある。 〔本発明の技術的背景〕 マイクロプログラム式デイジタル・コンピユー
タまたはデータ・プロセツサにおいて、使用者ソ
フトウエア・プログラムから得られたプロセツサ
命令を実行するのに必要な内部プロセツサ制御動
作を与える内部記憶装置からマイクロワードが読
出される。マイクロワードは1回に1つ内部記憶
装置から読出されて制御レジスタに送られる。
各々のマイクロワードは複数の2進ビツトから成
り、その1部または全部が複数ビツトの制御グル
ープすなわち制御フイールドを構成することがあ
る。制御レジスタがデコーダ機構を駆動して基本
的な制御点信号が生成され、データ・プロセツサ
内にある各種のデータ・フロー・ゲートおよびデ
ータ操作機構が制御される。各々のマイクロワー
ドはデータ・プロセツサの内部動作を1マイクロ
ワード・サイクルで制御する。1プロセツサ命令
を実行するのに通常、いくつかのマイクロワード
が必要である。あるプロセツサ命令は、その命令
の実行を完了するのに、数マイクロワードを必要
とするだけであるが、他のプロセツサ命令は多数
のマイクロワードを必要とする。 マイクロプログラム式データ・プロセツサの一
例は米国特許第4173041号に記載されており、そ
れに示されているように、マイクロワードは“制
御記憶”と呼ばれる別個の記憶の中に置かれる
か、またはプロセツサ主記憶装置におけるマイク
ロワード専用に指定された部分の中に置かれる。
別個の記憶装置の場合、これらの記憶装置は読
取/書込型または読取専用型のいずれかである。
より小さいデータ・プロセツサでは、いわゆる読
取専用記憶(ROM)にマイクロワードを記憶す
るのが最近の傾向である。いずれにしても、最近
ではランダム・アクセス型のマイクロワード記憶
装置が使用され、それには記憶装置内のいずれか
の希望する1つの記憶位置をアドレス指定する通
例のアドレス指定回路が含まれている。 また、LSIチツプ上にマイクロワード制御記憶
部分を含めてデータ・プロセツサの主要回路部分
を形成するのが最近の傾向である。それによつ
て、単一のICチツプ上に与えるデータ処理機能
数が増大され、単一のチツプ上に完全なデータ・
プロセツサすなわちデイジタル・コンピユータを
形成するという究極的な目標に近づく。現在、単
一のチツプ上に最大数の回路を組込む最良の技術
は、いわゆるMOSFET(MOS形電界効果トラン
ジスタ)技術であり、それによつてICチツプ上
に極めて高密度の回路が得られる。ところが、
MOSFET回路の動作速度は、例えば、いわゆる
バイポーラICのような他のIC技術によつて形成
された回路の動作速度よりも幾分遅い。従つて、
MOSFET回路を使用するデータ・プロセツサの
動作速度を増大する方法を発見することが望まし
い。これはデータ・プロセツサのマイクロワード
制御記憶部分について、それがデータ・プロセツ
サの他の部分の基本的な制御信号を与えることか
ら、特に望ましい。 〔本発明の概要〕 本発明によつて、MOSFET回路技術で容易に
形成可能であり、かつ同等の大きさ(全マイクロ
ワードのビツト容量)で現在入手しうる
MOSFETマイクロワード制御システムで得られ
る動作速度よりもかなり速い動作速度が得られる
すぐれたマイクロワード制御システムが与えられ
る。このマイクロワード制御システムでは、通例
のランダム・アクセス制御記憶装置およびそのア
ドレス指定回路が複数のマルチプレツクス・プロ
グラマブル・ロジツク・アレイに置換えられる。
これらのプログラマブル・ロジツク・アレイ
(PLA)の各々は特定のプロセツサ命令を実行す
るのに必要な1またはそれよりも多くのマイクロ
ワードを生成する。いくつかのPLAの間でマイ
クロワードを分離することによつて、PLAの大
きさを相応に小さくしておくことができる。一般
に、PLAが小さければ小さいほど、その動作速
度すなわちアクセス時間が速くなることから、
PLAは小さい方が望ましい。更に、少なくとも
PLAのいくつかのアクセス時間がオーバーラツ
プされ、新しいマイクロワードが1つのPLAの
場合よりも速い速度で使用可能になる。 本発明の良好な実施例において、それぞれの
PLAからマイクロワードをマルチプレツクスす
る動作は基本的にはマイクロワード自身によつて
制御される。より簡単な場合には、次のマイクロ
ワードを得るPLAを識別する、複数ビツトの符
号化されたPLAストローブ・フイールドが各々
のマイクロワードに与えられる。より複雑な場合
には、2組のPLAが与えられ、各々の組が前記
のように動作する。2組のマイクロワードから生
じる制御点信号はマルチプレツクスされ、順番に
データ・プロセツサの動作を制御する。それによ
つて、データ・プロセツサの高性能制御装置が与
えられる。更に、MOSFET回路技術で形成され
る場合、前記制御装置は1つのICチツプ上に形
成され、少なくともデータ・プロセツサのデー
タ・フロー装置を収容できる十分な余裕をチツプ
上に残すことができる。 〔データ・プロセツサ(第1図)の説明〕 第1図にはLSIチツプ上に構成するのに特に適
合するデイジタル・コンピユータまたはデイジタ
ル・データ・プロセツサの機能ブロツク図が示さ
れている。第1図のデータ・プロセツサ10はデ
ータ・フロー装置11、主記憶装置12、I/O
記憶装置13、制御装置14およびクロツク発生
装置15を含む。データ・フロー装置11は時に
はCPUと呼ばれ、ALU(演算論理機構)、各種ハ
ードウエア・レジスタおよびカウンタ、局所記憶
装置およびこれらを相互接続するバス系統を有す
る。データ・フロー装置11は加算、減算、再配
列およびその他のデータ操作を行なつて所要の結
果を生成する装置である。 制御装置14はデータ・フロー装置11、主記
憶装置12およびI/O装置13の動作を、これ
らの装置に所在する各種の機能素子にそれぞれの
複数ライン制御バス16,17および18を介し
て供給される各種の制御点信号によつて制御す
る。制御装置14は実行されるプロセツサ命令の
各々に対するマイクロワードのシーケンスを生成
するマイクロワード生成機構を含む。これらのマ
イクロワードは他のデータ・プロセツサにおいて
要素動作を制御する制御点信号を生成する。 データ・フロー装置11、I/O装置13およ
び制御装置14は同一のICチツプ上に構成する
ことができる。 データ・プロセツサ10によつて実行される使
用者プログラムは最初、I/Oバス19を介して
I/O装置13に接続された周辺装置(図示せ
ず)の1つから主記憶装置12にロードされる。
この最初のロードはデータ・フロー装置11を介
して行なわれ、その後、使用者プログラムを構成
する各種のプロセツサ命令を順次に主記憶装置1
2から読出すことによつて使用者プログラムは実
行される。各々のプロセツサ命令は順番になると
主記憶装置12から読出され、データ・フロー装
置11にある命令レジスタ20にロードされる。
命令レジスタ20にあるプロセツサ命令、または
少なくともその有効なOPコード部分が複数ライ
ンのバス21を介して制御装置14に供給され、
実行される特定のプロセツサ命令が識別される。 あるプロセツサでは、完全なプロセツサ命令の
一部分だけを命令レジスタ20にロードすること
がある。その場合、命令レジスタ20にロードさ
れた部分は少なくとも、命令の“有効な”OPコ
ード部分を含む。“有効な”OPコードはプロセツ
サ命令によつて実行される動作の種類を特定する
のに必要な、プロセツサ命令の中のすべてのビツ
トを意味する。これはオペランド・アドレス・ビ
ツトおよび長さカウント・ビツトを含まないが、
機能ビツトを含み、修飾ビツトは実行される動作
を完全に定義するのに必要である。 新しいプロセツサ命令の命令レジスタ20への
ロードは、制御ライン22を介して命令レジスタ
20のロード制御端子に供給される制御点信号に
よつて行なわれる。 制御装置14内で行われる動作のタイミングは
クロツク発生装置15によつて制御される。クロ
ツク発生装置15は2相非オーバラツプ・クロツ
ク発生装置で、第2図に示すAおよびBクロツク
信号を発生する。AおよびBクロツク信号は同じ
周波数で、同じ波形を有し、相違点は互いに時間
的位置が偏移していることである。Aクロツクの
正のパルスはBクロツクの正のパルスとオーバラ
ツプしない。第2図に示されている非オーバラツ
プの量は非オーバラツプを明示するため実際より
も大きく示されている。これらの正のパルスは2
つのクロツク信号のアクテイブの期間を表わす。 〔制御装置(第3図)の説明〕 第3図に第1図の制御装置14として使用され
ることがあるマイクロワードの制御装置300の
機能ブロツク図を示す。制御装置300は各々の
プロセツサ命令の実行を制御するマイクロワー
ド・シーケンスを生成する。制御装置300に
は、実行されるプロセツサ命令に応答し、その実
行に必要な異なるマイクロワードを個々に生成す
るPLA機構として4つの別個のPLA機構が含ま
れる。第1のPLA機構はPLA(A)301を含み、
第2のPLA機構はPLA(B)302を含む。第3の
PLA機構はPLA(C)303を含み、第4のPLA機
構はFLA(D)304を含む。 PLA301乃至304の各々は、かなりの数
のプロダクト・ラインを介して出力ORアレイに
結合された入力ANDアレイを含む。本実施例に
おいては、これらのPLA301乃至304はい
わゆる“スタテイツク”PLAであるものとする。
“ダイナミツク”PLAの使用については、後に他
の実施例に関連して説明する。 PLA301ないし304の各々は第1図の命
令レジスタ20に所在するプロセツサ命令に応答
し、その命令を実行するのに必要な1またはそれ
よりも多いマイクロワードを個々に生成する。と
くに、命令レジスタ20の中のプロセツサ命令の
有効なOPコード部分はバス21を介して供給さ
れ、OPコード・レジスタ305にロードされる。
OPコード・レジスタ305の中のOPコード・ビ
ツトはPLA301ないし304の各々にある入
力ANDアレイの第1の入力の組に供給される。 また、PLA機構の各々は複数ビツトの2進数
信号のシーケンスをそれぞれのPLAに供給する
シーケンス・カウント回路を含む。PLA(A)30
1のシーケンス・カウント回路は複数ステージの
カウント・レジスタ(A)306で表わされ、PLA
(B)302のシーケンス・カウント回路は複数ステ
ージのカウント・レジスタ(B)307で表わされ
る。PLA(C)303のシーケンス・カウント回路
は複数ステージのカウント・レジスタ(C)308で
表わされ、PLA(D)304のシーケンス・カウン
ト回路は複数ステージのカウント・レジスタ(D)3
09で表わされる。これらのカウント・レジスタ
306乃至309の各々にある複数ビツトの2進
数はPLA301乃至304のそれぞれにある入
力ANDアレイの第2の入力の組に供給される。
このように、PLA301乃至304の各々はOP
コード・レジスタ305のプロセツサ命令部分
と、カウント・レジスタ306乃至309のそれ
ぞれの2進数信号の両方に応答する。 カウント・レジスタ(A)306は周期的に増分さ
れ、新しい2進数信号をPLA(A)301に供給す
る。また、カウント・レジスタ(A)306の2進数
信号の各々はカウント・レジスタ307乃至30
9に次々と転送される。こうして、新しい2進数
の値はカウント・レジスタ307乃至309の
各々に周期的に現われる。OPコード・レジスタ
305にある特定のOPコードに対して、カウン
ト・レジスタ(A)306は複数回増分され、それに
よつて生じた2進数の値はカウント・レジスタ3
07乃至309に同じ回数だけ転送されることが
ある。このようにして、PLA301乃至304
の各々はプロセツサ命令を実行するのに必要な複
数のマイクロワードを生成できる。OPコード・
レジスタ305にある特定のOPコードに対して
カウント・レジスタ(A)306が増分される回数
は、その特定のプロセツサ命令を実行するのに必
要なマイクロワード数によつて決まる。プロセツ
サ命令によつて多数のマイクロワードを必要とす
ることもあり、少数のマイクロワードですむこと
もある。 カウント・レジスタ(A)306を増分し、カウン
ト・レジスタ307乃至309にロードする動作
は、PLA301乃至304のアクセス時間がオ
ーバーラツプし、単一のPLAの場合よりも速い
速度で新しいマイクロワードが使用可能になるよ
うに制御される。アクセス時間はPLAの入力に
供給された信号値の変化に続く有効な出力マイク
ロワードを得るのに要する時間を意味する。この
アクセス時間は新しい信号状態がPLAを通つて
そのPLAの出力部に達するのに必要な時間を表
わす。 特定のプロセツサ命令において、PLA301
乃至304の各々はOPコード・レジスタ305
からOPコードを、それぞれのカウント・レジス
タ306乃至309から1またはそれよりも多い
値を受取る。要約すると、PLAはマイクロワー
ドの組を記憶し、OPコードと番号の値はこれら
のマイクロワードの中の特定の1つを選択する
“アドレス”を与える。実際、動作コードによつ
てベース・アドレスが与えられ、カウント・レジ
スタによつて変位アドレスのシーケンスが与えら
れ、その特定のプロセツサ命令に必要なマイクロ
ワードのシーケンスが選択される。マイクロワー
ドはPLAのORアレイ部分に記憶され、ANDア
レイ部分はアドレス・デコーダのように動作し、
特定のプロダクト・ラインがアクテイブになつて
ORアレイ部分にある特定のマイクロワードが選
択される。 制御装置300はA−B−C−D−A−B−C
−D−A−B−C−Dの順にマイクロワードを生
成する。その場合、AマイクロワードはPLA(A)
301で、BマイクロワードはPLA(B)302で、
CマイクロワードはPLA(C)303で、Dマイク
ロワードはPLA(D)304でそれぞれ生成される。
各々のプロセツサ命令に対して生成されるマイク
ロワードの全数はその特定の命令を実行するのに
必要な数である。一般に、プロセツサ命令が異な
ると必要なマイクロワード数も異なる。 更に、制御装置300はそれぞれのPLA30
1乃至304からのマイクロワードに対して1回
に1つ応答する制御回路を含み、1マイクロワー
ド制御サイクルでデータ・プロセツサ10の動作
を制御する少なくとも1つの制御点信号をマイク
ロワードごとに生成する。この制御回路には、
L1(レベル1)制御レジスタ310、L2(レベル
2)制御レジスタ311、デコーダ312および
ゲート群313が含まれる。複数ラインのPLA
出力バス314に現われるマイクロワードはAク
ロツク・パルスよつてL1制御レジスタ310に
ロードされる。このマイクロワードは後続するB
クロツク・パルスによつてL2制御レジスタ31
1に転送される。デコーダ312はL2制御レジ
スタ311に所在するマイクロワードに応答し、
1マイクロワード制御サイクルでデータ・プロセ
ツサ10の動作を制御するのに必要な制御点信号
を生成する。デコーダ出力のゲート群313は制
御点信号がデータ・プロセツサ10に供給される
期間を制御する。制御点信号はAクロツク・パル
スの間でのみデータ・プロセツサ10に供給され
るから、Bクロツク・パルスでL2制御レジスタ
311がロードされ、デコーダ312がセツトさ
れることによつて、ゲート群313の出力側に結
合された制御点信号の最終出力ラインにスプリア
ス信号が生成されるのを防ぐ。制御レジスタ31
0および311のカスケード接続によつて必要な
緩衝が与えられ、次のマイクロワードが現在デコ
ーダ312を駆動しているマイクロワードを過早
に変更するのを防止する。 更に、制御装置300はそれぞれの期間におい
てPLA301乃至304のそれぞれから制御回
路310乃至313にマイクロワードを供給する
マルチプレツクス回路を含む。このマルチプレツ
クス回路は選択動作可能な複数のバツフア315
乃至318を含み、それぞれのPLA301乃至
304の出力を制御回路310乃至313の入力
に個々にPLA出力バス314を介して結合する。
PLAの出力バツフア315乃至318の各々は
同時にアクテイブになる、すなわち同時にイネー
ブルされる複数ステージのゲート回路の組から成
り、PLAの出力からPLA出力バス314の複数
ラインに複数のマイクロワードのビツトを並列で
パスする。出力バツフア315乃至318は時に
はゲート、またはゲート回路と呼ばれ、本説明で
は別に指示されない限り同義語として扱われる。 PLA301乃至304の各々で生成された各
マイクロワードは複数ビツトのストローブ・フイ
ールドを含み、これらのストローブ・フイールド
はそのフイールドを生成したPLA以外のPLAを
識別するように符号化される。すなわち、符号化
された複数ビツトのストローブ・フイールドによ
つて識別されたPLAからL1制御レジスタ310
に次のマイクロワードが供給される。デコーダ3
12は各マイクロワードのストローブ・フイール
ドにそれがL2制御レジスタ311に駐在してい
るときに応答し、ストローブ信号ラインSA乃至
SDの特定の1つをアクテイブにする。アクテイ
ブ化される特定のストローブ信号ラインは、その
時点でL2制御レジスタ311に駐在しているマ
イクロワードのストローブ・フイールドのコーデ
イングによつて決定される。本実施例において
は、ストローブ信号ラインSA乃至SDはA−B−
C−Dの順に反復して、1回に1ラインずつアク
テイブになる。例えば、PLA(A)301からの各
マイクロワードのストローブ・フイールドは、そ
れがL2制御レジスタ311に駐在しているとき、
ストローブ信号ラインSBをアクテイブにする。
それによつて、PLA(B)302の出力バツフア3
16がイネーブルされ、PLA(B)302からL1制
御レジスタ310にマイクロワードを供給する。
PLA(B)302からのマイクロワードがL2制御レ
ジスタ311に駐在しているときには、そのスト
ローブ・フイールドによつてストローブ信号ライ
ンSCがアクテイブ化される。それによつて出力
バツフア317がイネーブルされ、PLA(C)30
3からL1制御レジスタ310にマイクロワード
が転送される。PLA(C)303からのマイクロワ
ードがL2制御レジスタ311に駐在していると
きには、そのストローブ・フイールドによつてス
トローブ信号ラインSDがアクテイブ化される。
それによつて出力バツフア318がイネーブルさ
れ、PLA(D)304からL1制御レジスタ310に
マイクロワードが転送される。PLA(D)304か
らのマイクロワードがL2制御レジスタ311に
駐在しているときには、そのストローブ・フイー
ルドによつてストローブ信号ラインSAがアクテ
イブ化される。それによつて出力バツフア315
がイネーブルされ、PLA(A)301からL1制御レ
ジスタ310にマイクロワードが転送される。こ
のように、PLA(A)301のマイクロワードは
PLA(B)302を選択し、PLA(B)302のマイク
ロワードはPLA(C)303を選択し、PLA(C)30
3のマイクロワードはPLA(D)304を選択し、
PLA(D)304のマイクロワードはPLA(A)301
を選択する反復選択動作が行なわれるようにスト
ローブ・フイールドがコーデイングされる。こう
して、PLA301乃至304からのマイクロワ
ードはA−B−C−D順に反復してL1制御レジ
スタ310に供給される。各マイクロワードは、
制御回路の出力を制御する動作において、制御回
路に供給される次のマイクロワードのソースを選
択し、希望するマルチプレツクス動作が行なわれ
る。 更に、制御装置300はそれぞれのPLA30
1乃至304をアクセスし、それらのアクセス時
間がオーバーラツプされる回路を含む。これは、
カウント・レジスタ(A)306を増分し、カウン
ト・レジスタ307乃至309に新しい数値をロ
ードする時間を制御することによつて行なわれ
る。本実施例においては、カウント・レジスタ3
06乃至309のそれぞれにも個々に結合されて
いるストローブ信号ラインSA乃至SDが前記回路
に含まれている。すなわち、ストローブ信号ライ
ンSBはカウント・レジスタ(A)306の増分制御
端子SBに結合され、ストローブ信号ラインSBが
アクテイブのときにカウント・レジスタ(A)306
を増分する。ストローブ信号ラインSCはカウン
ト・レジスタ(B)307のロード制御端子に結合さ
れ、ストローブ信号ラインSDはカウント・レジ
スタ(C)308のロード制御端子に結合され、スト
ローブ信号ラインSAはカウント・レジスタ(D)の
ロード制御端子に結合されている。ストローブ信
号ラインSCのアクテイブ化によつて、カウン
ト・レジスタ(A)306の出力に現われる数値がカ
ウント・レジスタ(B)307にロードされる。スト
ローブ信号ラインSDのアクテイブ化によつて、
カウント・レジスタ(B)307の出力に現われる数
値がカウント・レジスタ(C)308にロードされ
る。ストローブ信号ラインSAのアクテイブ化に
よつて、カウント・レジスタ(C)308の出力に現
われる数値がカウント・レジスタ(D)309にロー
ドされる。ストローブ信号パルスはA−B−C−
D順に生じるから、カウント・レジスタ(A)306
の出力に表われる数値は、カウンタ・レジスタ3
07乃至309の連鎖を一歩一歩進行する。 PLA301乃至304の各々に供給されるシ
ーケンスの数値が、特定のPLAがL1制御レジス
タ310にマイクロワードを供給した直後にカウ
ント1だけ増分されるように、ストローブ信号ラ
インとカウント・レジスタ306乃至309が結
合される。例えば、PLA(A)301はストロー
ブ・パルスSAが現われているとき制御レジスタ
310にマイクロワードを供給する。次のストロ
ーブ・パルス、すなわちストローブ・パルスSB
が現われると、カウント・レジスタ(A)306が増
分される。他のPLA302乃至304について
も同様である。それぞれのケースで、その入力に
供給されたシーケンス番号はL1制御レジスタ3
10にその出力を転送するストローブ・パルスに
続く次のストローブ・パルスによつて更新され
る。 第4図は第3図の制御装置300の代表的なタ
イミングを示す。第4図の上部の“サイクル”は
連続するマイクロワード・サイクルを示す。第4
図ではプロセツサ命令N−1の最後の5マイクロ
ワード・サイクル(サイクル20〜24)および次の
プロセツサ命令Nの最初の6マイクロワード・サ
イクル(サイクル1〜6)が示されている。“ク
ロツク”はクロツク発生装置15からの正のAお
よびBクロツク・パルスの発生時間を示す。下部
の“デコーダ・ゲート・イネーブル”は特定の瞬
間にデータ・プロセツサ10を制御するアクテイ
ブのマイクロワードのソースPLAを示す。PLA
(A)301からのマイクロワードはマイクロワー
ド・サイクル21の前半部でデータ・プロセツサ
10を制御し、PLA(B)302からのマイクロワ
ードはマイクロワード・サイクル22の前半部で
データ・プロセツサ10を制御する。制御点信号
は各マイクロワード・サイクルの後半部では、デ
コーダ出力のゲート群313がデイスエーブルさ
れているので生成されない。第4図のストローブ
SA、SB、SCおよびSDはそれぞれのストローブ
信号ライン上にストローブ・パルスSA、SB、
SCおよびSDが現われる時間を示す。 例えば、PLA(A)301においては、そのマイ
クロワードは1つはL2制御レジスタ311に駐
在し、プロセツサ命令Nのマイクロワード・サイ
クル1の前半部でデコーダ312を駆動し、ゲー
ト群313によつて出力される制御点信号を生成
する。このマイクロワードによつてストローブ信
号ラインSBはアクテイブ化され、カウント・レ
ジスタ(A)306はカウント1だけ増分される。そ
れによつて新しい数値がPLA(A)301の入力に
供給され、PLA(A)301はそれに応答を開始し
次のマイクロワードを出力する。前記次のマイク
ロワードはマイクロワード・サイクル4の前半部
でL1制御レジスタ310への転送に必要であり、
これはPLA(A)301の出力バツフア315に供
給される次のストローブ・パルスSAの発生によ
つて指示される。こうして、PLA(A)301は内
部動作を完了し、かつその出力に有効なマイクロ
ワードを生成する3マイクロワード・サイクル
(サイクル1〜3)を有する。この期間は第4図
で“アクセスA”と呼ばれ、本説明ではPLA(A)
301がもう1つの有効なマイクロワードを生成
するのに必要な時間を表わすものとする。 PLA302乃至合304についても同様にア
クセスB乃至アクセスDが定義される。マイクロ
ワード・サイクル2の前半部でPLA(B)302の
入力に新しい数値が供給され、PLA(B)302は
マイクロワード・サイクル2,3および4の間に
アクセスされる。マイクロワード・サイクル3の
前半部でPLA(C)303の入力に新しい数値が供
給され、PLA(C)303はマイクロワード・サイ
クル3乃至5の間にアクセスされる。マイクロワ
ード・サイクル4の前半部でPLA(D)304の入
力に新しい数値が供給され、PLA(D)304はマ
イクロワード・サイクル4乃至6の間にアクセス
される。このように、PLA301乃至304の
アクセス時間はオーバーラツプされ、新しいマイ
クロワードは単一のPLAの場合よりも速い速度
で使用可能になる。期間TAはPLA(A)301をア
クセスし、その出力をL1制御レジスタ310に
転送するのに必要な時間を表わす。第4図で、実
際に4マイクロワード、すなわちA、B、Cおよ
びDマイクロワードが生成され、1つのPLA(A)
301の期間TAの間で利用されていることが分
る。こうして、オーバーラツプによつてマイクロ
ワードが生成される速度が増加する。 マイクロワード・サイクル1乃至4の間に行な
われたアクセスによつて生成されたマイクロワー
ドは、プロセツサ命令Nのマイクロワード・サイ
クル5乃至8(7、8は図示せず)まではデー
タ・プロセツサ10を制御するのに実際には使用
されない。言い換えれば、PLAのアクセスの開
始時間と、デコーダ出力のゲート群313の出力
に生成された制御点信号によつてそのマイクロワ
ードがデータ・プロセツサ10を制御するのにア
クテイブになる時間との間には4サイクルの遅延
がある。従つて、プロセツサ命令Nのマイクロワ
ード・サイクル1乃至4の間でデータ・プロセツ
サ10を制御するA、B、CおよびDマイクロワ
ードは前のプロセツサ命令N−1のマイクロワー
ド・サイクル21乃至24の間でアクセスされる。 プロセツサ命令NのOPコードはOPコード・レ
ジスタ305にロードされ、カウント・レジスタ
(A)306は前のプロセツサ命令N−1のマイクロ
ワード・サイクル21で生じる制御点信号のパル
スS0によつて0にリセツトされる。これは第4
図では“再開始”で示されている。この再開始信
号S0は適当なマイクロワードのコーデイングに
よつて生成され、それによつてマイクロワード・
サイクル21でデコーダ312によつて出力され
る制御点信号が生成される。一般に、特定の命令
のシーケンスの終りから4番目のマイクロワード
は、次の命令の最初のマイクロワードが現在の命
令の最後のマイクロワードのアクテイブ期間の直
後に使用可能になるようにするため制御点信号ラ
インS0上に再開始パルスS0を生成するようにコ
ーデイングされたビツト位置または複数ビツトの
フイールドを含まなければならない。 実際に、第4図に示すアクセス時間がPLAの
許容最小限のアクセス時間である場合には、1つ
のプロセツサ命令のマイクロワード・シーケンス
の終りと、次のプロセツサ命令のマイクロワー
ド・シーケンスの最初との間にアイドル期間が生
じないようにマイクロワードが生成され、4つの
組で使用されなければならない。特定のプロセツ
サ命令に必要なマイクロワードの全数が4の倍数
でない場内には、1、2または3の、いわゆる冗
長マイクロワードまたはスペーサ・マイクロワー
ドを前記命令に加えることが可能で、その間、デ
ータ・プロセツサ10ではマイクロワードの全数
を4の倍数にされ、新しい動作は行なわれない。 〔制御装置(第5.1および5.2図)の説明〕 第5.1および5.2図には本発明に従つて構
成されたマイクロワード制御システムすなわち制
御装置の第2の実施例の機能ブロツク図が示され
ている。この制御装置は第1図のデータ・プロセ
ツサ10の制御装置14として使用可能である。
第5.1および5.2図に示す素子のすべては、
クロツク発生装置15の一部または全部を除外す
る可能性を含めて、同じLSIチツプ上に構成され
る。 第5.1及び5.2図に関連して、制御装置1
4は各々のプロセツサ命令を実行するのに必要な
マイクロワードを生成するマイクロワード制御記
憶機構を含む。この制御記憶機構は、論理的には
類似しているが、物理的には別個の素子である複
数のPLA24乃至29で構成される。これらの
PLA24乃至29の各々は各プロセツサ命令を
実行するのに必要な1またはそれよりも多くのマ
イクロワードを含む。マイクロワードはそれぞれ
のPLAからマルチプレツクスまたはインタリー
ビングの方法で取込まれる。与えられたプロセツ
サ命令のシーケンスは、 1P、2P、AP、BP、CP、DP、AP、BP、CP、
DP、AP、BP、…… である。1Pは第サイクルPLA24からのマイク
ロワードを示す。2Pは第2サイクルPLA25か
らのマイクロワードを示す。APはAデコード
PLA26からのマイクロワードを示す。BPはB
デコードPLA27からのマイクロワードを示す。
CPはCデコードPLA28からのマイクロワード
を示す。DPはDデコードPLA29からのマイク
ロワードを示す。 各々のプロセツサ命令の第1のマイクロワード
は第1サイクルPLA24で与えられ、各々のプ
ロセツサ命令の第2のマイクロワードは第2サイ
クルPLA25で与えられる。与えられたプロセ
ツサ命令の残りのマイクロワードはA、B、Cお
よびDデコードPLA26乃至29によつて与え
られる。AP、BP、CPおよびDPのシーケンスは
与えられたプロセツサ命令を実行するのに必要な
回数反復される。あるプロセツサ命令は数マイク
ロワードを必要とするが、他のマイクロワードは
比較的多数のマイクロワードを必要とする。一般
に、AデコーダPLA26は各々のプロセツサ命
令に対して複数の異なるマイクロワードを含む。
B、CおよびDデコードPLA27乃至29につ
いても同様である。これに対して、第1および第
2サイクルPLA24および25は各々のプロセ
ツサ命令に対して1マイクロワードのみを含む。 PLA24乃至29の各々はダイナミツクすな
わちクロツク型である。複数のPLAの間でマイ
クロワードを分配することは制御装置14の動作
速度を改善するのに役立つ。1つには、各々の
PLAの大きさが抑えられる。一般的に、PLAの
大きさが小さければ小さいほど、PLAの動作速
度は大きくなる。また、個々のPLAでの解読動
作が互いにオーバーラツプされるから、動作速度
は更に改善される。 PLA24乃至29において、2つのレベルの
マルチプレツクスまたはインタリーブ動作が与え
られる。第1レベルのマルチプレツクスはAゲー
ト群30とBゲート群31の使用によつて与えら
れる。Aゲート群30は第1サイクルPLA24、
AデコードPLA26およびCデコードPLA28
からのマイクロワードをイネーブルし、Aクロツ
ク信号の正のパルス部分の間でのみデータ・プロ
セツサ10を制御する。これに対して、Bゲート
群31は第2サイクルPLA25、Bデコード
PLA27およびDデコードPLA29からのマイ
クロワードをイネーブルし、Bクロツク信号の正
のパルスの部分の間でのみデータ・プロセツサ1
0を制御する。これらの正のパルスのインタリー
ビングは第2図に示されている。マイクロワード
がデータ・プロセツサ10を制御するクロツク・
タイムに合わせて、PLA24,26および28
は時には“Aクロツク”PLAと呼ばれ、PLA2
5,27および29は時には“Bクロツク”
PLAと呼ばれる。 “Aクロツク”PLA24,26および28の
第2レベルのマルチプレツクスは、PLA24,
26および28の各々の出力バツフアである
PLA出力バツフア32,33および34によつ
て与えられる。PLA出力バツフア32,33お
よび34の各々はストローブ信号ラインS1、SA
およびSCの各々に現われる個々のストローブ信
号パルスによつて制御される。これらのストロー
ブ信号ラインS1、SAおよびSCは1回に1つ順次
にアクテイブ化され、それによつて1回に1マイ
クロワードのみがA制御レジスタ機構35に供給
される。A制御レジスタ機構35は互いにカスケ
ード結合された2つのレジスタから成り、第1の
レジスタはレベル1すなわちL1レジスタ35a
で、第2のレジスタはレベル2すなわちL2レジ
スタ35bである。PLA出力バツフア32,3
3および34によつて1回に1つパスされるマイ
クロワードはPLA出力バス36を介してL1レジ
スタ35aに入力される。PLA出力バス36に
現われるマイクロワードはクロツク発生装置15
からのAクロツク・パルスによつてL1レジスタ
35aにロードされる。L1レジスタ35aに駐
在するマイクロワードは後続するBクロツク・パ
ルスによつてL2レジスタ35bにロードされる。
L2レジスタ35bに駐在するマイクロワードは
Aデコーダ37を駆動する。Aデコーダ37はそ
れに応答して、特定のマイクロワード・サイク
ル、すなわち後続するAクロツク・パルスによつ
て定義されるマイクロワード・サイクルにおける
各種の制御点信号を生成する。 “Bクロツク”PLA25,27および29の
第2レベルのマルチプレツクスはPLA出力バツ
フア40,41および42によつて与えられる。
PLA出力バツフア40,41および42の各々
は“Bクロツク”PLA25,27および29の
各々の出力バツフアであり、それぞれのストロー
ブ信号ラインS2、SBおよびSDを介して制御され
る。ストローブ信号ラインS2、SBおよびSDは
個々のストローブ信号パルスによつて1回に1つ
順次にアクテイブ化され、B制御レジスタ機構4
3に1回に1マイクロワードをパスする。B制御
レジスタ機構43は互いにカスケードに結合され
た2つのレジスタから成り、第1のレジスタはレ
ベル1すなわちL1レジスタ43aで、第2のレ
ジスタはレベル2すなわちL2レジスタ43bで
ある。PLA出力バス44を介してマイクロワー
ドがPLA出力バツフア40,41および42か
らL1レジスタ43aに1回に1つ供給される。
PLA出力バス44に現われるマイクロワードは
Bクロツク・パルスによつてL1レジスタ43a
にロードされ、後続するAクロツク・パルスによ
つてL2レジスタ43bにロードされる。L2レジ
スタ43bに駐在するマイクロワードはBデコー
ダ45を駆動し、Bデコーダ45はそれに応答し
て特定のマイクロワード・サイクル、すなわち後
続するBクロツク・パルスによつて定義されるマ
イクロワード・サイクルにおける各種の制御点信
号を生成する。このBクロツク・パルスによつて
Bゲート群31がイネーブルされ、制御ライン群
46に制御点信号がパスされる。制御ライン群4
6のそれぞれのラインは第1図の制御ライン1
6,17および18に含まれており、データ・フ
ロー装置11、主記憶装置12およびI/O装置
13に結合されている。 L1レジスタ35aおよび43a、L2レジスタ
35bおよび43bをロードし、Aゲート群30
およびBゲート群31をイネーブルする動作は第
2図に示すAおよびBクロツク波形の正のパルス
部分の間に行なわれる。従つて、用語“Aクロツ
ク・パルス”はAクロツク波形の正のパルス部分
の1つを意味し、用語“Bクロツク・パルス”は
Bクロツク波形の正のパルス部分の1つを意味す
る。 第6.1乃至6.3図のタイミング図では、プ
ロセツサ命令”N”を実行するのに10制御サイク
ルすなわち10マイクロワード・サイクルを要する
場合にPLA24乃至29の各々からの各種のマ
イクロワードのマルチプレツクスまたはインタリ
ーブ動作を示す。第6.1乃至6.3図の上部に
マイクロワード・サイクル番号、AおよびBクロ
ツク・パルスが示されている。図面の簡略化のた
め、AおよびBクロツク・パルスの間の小間隙は
省略され、両者は互いに隣接して示されている。
例として、各々のマイクロワード・サイクルが50
ナノ秒の持続期間を有するものとすると、前記小
間隙は2また3ナノ秒のオーダーである。 第6.1乃至6.3図のAおよびBクロツク・
パルスの次の部分で、そのマイクロワード・サイ
クルにおいてアクテイブな制御点信号を生成して
データ・プロセツサ10を制御する特定のマイク
ロワードのソースが示されている。従つて、命令
Nのマイクロワード・サイクル1でデータ・プロ
セツサ10を制御する制御点信号は、第1サイク
ルPLA24から得られた1Pマイクロワードによ
つて生成される。同様に、命令Nのマイクロワー
ド・サイクル2でアクテイブの制御点信号は第2
サイクルPLA25から得られた2Pマイクロワー
ドによつて生成される。命令Nのマイクロワード
の残りの部分はA、B、CおよびDデコード
PLA26乃至29からA、B、C、Dの順で得
られる。命令Nを完了するにはA、B、C、Dの
シーケンスが2回必要である。 例として、各々のマイクロワードが60ビツトの
幅を有するものとすれば、PLA26乃至29の
各々は60出力ラインを有し、バツフア33,3
4,41および42の各々は60ステージ・バツフ
アから成り、PLA出力バス36および44の
各々は60バス・ラインから成り、レジスタ35
a,35b,43aおよび43bの各々は60ステ
ージ・レジスタから成る。第1および第2サイク
ルPLA24および25は、A、B、CおよびD
デコードPLA26乃至29に必要とされる完全
な制御動作の範囲を与える必要がないから、必要
な出力ライン数は少ない。PLA出力バツフア3
2および40はそれぞれ、第1および第2サイク
ルPLA24および25の各々の出力ライン数と
同数のステージ・バツフアを有する。 各々のマイクロワード中の60ビツトのセツト全
体は、2ビツトから16ビツトまでの大きさの範囲
内で各種の制御フイールドに分割される。これら
の制御フイールドとして、データ・フロー・ソー
ス制御フイールド、データ・フロー・デステイネ
ーシヨン制御フイールド、データ・フロー装置1
1でALUによつて実行される動作を制御する制
御フイールド、I/O装置13に制御コマンドを
与える制御フイールド等がある。データ・フロ
ー・ソースおよびデステイネーシヨン制御フイー
ルドはデータ・フロー装置11で、特定のマイク
ロワード・サイクルにおいてデータ・ソースおよ
びデータ・デステイネーシヨンとして動作する特
定のレジスタを識別する。60ビツトのマイクロワ
ードにおける制御フイールドの一部分は符号化さ
れた制御フイールドであり、他の部分はビツト有
意の制御フイールドである。符号化された制御フ
イールドはAおよびBデコーダ37および45に
よつて解読される。これに対して、ビツト有意の
フイールドのビツト・ラインはデコーダ37およ
び45によつて変更されることなく、それぞれA
およびBゲート群30および31に直接にパスさ
れる。 代表的なデータ・プロセツサでは、デコーダ3
7および45の各々は全部で約130の出力ライン
を有することがあり、その各々が別個の制御点信
号を与える。この場合、Aゲート群30およびB
ゲート群31の各々はデコーダからの出力ライン
の各々に対して別個のゲート・ステージを有す
る。例えば、各々のゲート・ステージはそれぞ
れ、入力および出力ラインに結合されたドレイン
およびソース端子を有する、いわゆるパス・トラ
ンジスタである。Aゲート群30における130
のパス・トランジスタのすべてのゲート端子はA
クロツク・ラインに結合され、130のパス・ト
ランジスタ全部が各Aクロツク・パルスの間に同
時にイネーブルされる。Bゲート群31も同様の
構成であり、130のパス・トランジスタのゲー
ト端子がBクロツク・ラインに接続されている。 第5.1図および5.2図で、データ・プロセ
ツサ10における他の装置に通じるかなりの数の
制御ライン群46はAゲート群30およびBゲー
ト群31のいずれか一方から制御点信号を受取る
ことができる。従つて、例えば、Aゲート群30
からの制御点ライン47はBゲート群31からの
制御点ライン48に結合され、第1図に示される
装置11,12および13の1つにおける適切な
制御点に通じる共有制御点ライン49が与えられ
る。このようにして、装置11,12および13
における制御点の大部分は、マイクロワールド・
ルーチンを設計するマイクロコーダの希望に応じ
て、AクロツクまたはBクロツクがアクテイブの
期間にアクテイブ化される。もう1つの例はデー
タ・フロー装置11にある命令レジスタ20をロ
ードする動作を制御する制御ライン22である。
第5.1および5.2図に示すように、制御ライ
ン22はAゲート群30からの制御点ライン50
とBゲート群31からの制御ライン51の両方に
結合されている。従つて、命令レジスタ20はA
クロツク・パルスまたはBクロツク・パルスのい
ずれかの間にロードされる。 ここで重要なことは各々のマイクロワードが複
数ビツトのPLA出力ストローブ・フイールドを
含むことである。これはそれぞれのPLA出力バ
ツフア32乃至34および40乃至42の各種の
PLA出力ストローブ信号S1、S2、SA、SB、SC
およびSDを生成するのに使用されるビツト有意
の制御フイールドである。これらのストローブ信
号はそれぞれの制御レジスタ機構に入力される次
のPLAを選択する。“Aクロツク”PLA24,2
6および28からのマイクロワードおよび“Bク
ロツク”PLA25,27および29からのマイ
クロワードは、別個の制御レジスタおよびデコー
ダの機構のそれぞれによつて処理されるから、マ
イクロワードのPLAストローブ・フイールドに
おける同じビツト位置は“Aクロツク”PLAス
トローブおよび“Bクロツク”PLAストローブ
の両方を与えるのに使用できる。特に、“Aクロ
ツク”PLA24,26および28によつて生成
された各々のマイクロワードのPLAストロー
ブ・フイールドの第1のビツト位置はAゲート群
30の出力に現われるS1ストローブ信号を与え
るのに使用される。同様に、“Bクロツク”PLA
25,27および29からのマイクロワードの
各々のPLAストローブ・フイールドの第1のビ
ツト位置はBゲート群31の出力に現われるS2
ストローブ信号を生成するのに使用される。同様
に、“Aクロツク”マイクロワードのストロー
ブ・フイールドの第2のビツト位置はストローブ
信号SAを生成するのに使用され、“Bクロツク”
マイクロワードのストローブ・フイールドの第2
のビツト位置はストローブ信号SBを生成するの
に使用される。同様に、“Aクロツク”および
“Bクロツク”のストローブ・フイールドの第3
のビツト位置はそれぞれ、ストローブ信号SCお
よびSDを生成するのに使用される。 3つの個々のストローブ信号制御点ラインS1、
SAおよびSCはAゲート群30の3つの個々の出
力からPLA出力バツフア32,33および34
のそれぞれの制御端子に通じる。図面を簡単にす
るため、これらの3つの制御点ラインは複数ライ
ン・バス52に含まれているものとして示され
る。同様に、3つの個々のストローブ信号制御点
ラインS2、SBおよびSDはBゲート群31の3つ
の個々の出力からPLA出力バツフア40,41
および42のそれぞれの制御端子に通じる。図面
を簡単にするため、これらの3つの制御点ライン
は複数ライン・バス53に含まれているものとし
て示される。 第6.1〜6.3図で、ストローブ信号制御点
ラインS1、S2、SA、SB、SCおよびSDに加えら
れたPLA出力ストローブ・パルスの相対的タイ
ミング関係が示される。S1ストローブ・パルス
はCデコードPLA28から得られたCPマイクロ
ワードによつて生成される。前の命令N−1のマ
イクロワード・サイクル17の間、このCPマイ
クロワードがアクテイブになり、制御点信号を生
成する。このS1ストローブ・パルスはPLA出力
バツフア32をイネーブルし、第1サイクル
PLA24の出力に現われるマイクロワードをL1
レジスタ35aに供給する。このマイクロワード
は前記マイクロワード・サイクル17の間に生じ
るAクロツク・パルスによつてL1レジスタ35
aにロードされる。次のマイクロワード・サイク
ル、すなわちサイクル18の間に生じるBクロツ
ク・パルスによつて前記マイクロワードはL2レ
ジスタ35bにロードされる。次に、前記マイク
ロワードはAデコーダ37を駆動する。後続する
Aクロツク・パルス(命令Nのマイクロワード・
サイクル1の間に生じる)はAゲート群30をイ
ネーブルし、前記第1サイクルPLAマイクロワ
ードによつて生成された制御点信号がデータ・プ
ロセツサ10を制御するアクテイブな制御点信号
になる。これは第6.1〜6.3図の“アクテイ
ブなマイクロワード”の横列にある1Pで指示さ
れる。 第6.1〜6.3図で示すように、この1Pマ
イクロワードのPLAストローブ・フイールドは
SAストローブ・パルスを生成する。このSAスト
ローブ・パルスはPLA出力バツフア33に加え
られ、AデコードPLA26の出力に現われるマ
イクロワードを選択してL1レジスタ35aにロ
ードする。このマイクロワードが命令Nのマイク
ロワード・サイクル3の間にアクテイブになり、
制御点信号を生成すると、SCストローブ・パル
スが生成され、PLA出力バツフア34に供給さ
れてCデコードPLA28からのマイクロワード
を選択する。このようにして、“Aクロツク”
PLA24,26および28の中の特定の1つか
らのマイクロワードはA制御レジスタ機構35に
送られる次の“Aクロツク”PLAを選択する。
従つて、“Aクロツク”PLAからのマイクロワー
ドのマルチプレツクス動作はマイクロワード自身
によつて制御される。 “Bクロツク”PLA25,27および29か
らのマイクロワードの場合も、対応するタイプの
マイクロワード・マルチプレツクス動作が行なわ
れ、“Bクロツク”のマチプレツクス動作は“A
クロツク”PLA24,26および28のマルチ
プレツクス動作とインタリーブされる。すなわ
ち、“Aクロツク”PLAのストローブ・パルス
S1、SAおよびSCがAクロツクの間に生成される
のに対し、“Bクロツク”PLAのストローブ・パ
ルスS2、SBおよびSDはBクロツクの間に生成さ
れる。各々の“Bクロツク”マイクロワードはB
制御レジスタ機構43に送られる次の“Bクロツ
ク”PLAを選択する。 次に、入力信号を各種のPLA24乃至29に
供給する機構およびPLA24乃至29の各々が
どのようにして出力に異なるマイクロワードを生
成するかについて説明する。データ・フロー装置
11の命令レジスタ20に新しいプロセツサ命令
をロードするところから説明を行なう。これは前
のプロセツサ命令の再開始制御パルスS0の発生
後から、新しいプロセツサ命令の再開始制御パル
スS0発生の2マイクロワード・サイクル前まで
の間の任意の時点で行なうことができる。Bデコ
ーダ45からBゲート群31を介して延びる制御
点ライン54に再開始制御パルスS0が現われる。
第6.1〜6.3図に示すように、この再開始制
御パルスS0は前のプロセツサ命令の最後から2
つ手前のマイクロワード・サイクルの間にアクテ
イブのマイクロワードによつて生成される。プロ
セツサ命令Nの再開始制御パルスS0は前の命令
N−1のマイクロワード・サイクル16の間に生
成される。次のプロセツサ命令N+1の再開始制
御パルスS0はプロセツサ命令Nのマイクロワー
ド・サイクル8の間に生じる。 PLA24乃至29の各々はダイナミツクまた
はクロツクPLAである。これらのPLAの内部ク
ロツク・タイミングは第6.1〜6.3図の下部
に示されており、PLA24乃至29の各々はC1、
C2、C3およびC4からなる、いわゆる4フエー
ズ・クロツクによつて駆動される。これらの
PLAの内部タイミングはPLAの入力を変更する
適当な時間を決定する際に考慮されなければなら
ない。 例として、命令レジスタ20にロードされたプ
ロセツサ命令のワードが16ビツトのワードである
ものとする。複数ワードのプロセツサ命令の場
合、命令レジスタ20にロードされるのは命令の
第1のワードである。命令レジスタ20の命令ワ
ードの16ビツトのすべてはバス21を介して制御
装置14のエンコードPLA55に供給される。
命令レジスタ20の命令ワードの有効なOPコー
ド部分に対応する、より少ないビツト数がバス2
1およびバス56を介して第1および第2サイク
ルPLA24および25の入力に供給される。
PLAの入力はPLAのANDアレイ部分への入力ラ
インを意味する。 第1サイクルPLA24はPLA24の内部C2ク
ロツクの間にバス56に現われる有効なOPコー
ド・ビツトに応答する。第6.1〜6.3図に示
す命令Nの場合、このC2は前の命令N−1のマ
イクロワード・サイクル15間に生じる。第1サ
イクルPLA24の内部タイミングは第6.1〜
6.3図で内部タイミング1Pの右方に表わされ
ている。所要のOPコード・ビツトは1Pすなわち
第1サイクルPLA24に対する前記C2時刻に入
力のバス56上に安定した状態で存在しなければ
ならない。バス56のOPコード・ビツトに応答
して、第1サイクルPLA24は前もつて組込ま
れている多くのマイクロワードの特定の1つを出
力する。出力されたマイクロワードは命令Nの第
1マイクロワード・サイクルで適当な制御動作を
与えるように構成すなわち符号化される。プロセ
ツサ命令セツト全体にある各種のプロセツサ命令
はグループに分類され、全く同じ第1サイクル制
御動作がグループの各構成員に必要であるので、
第1サイクルPLA24にあるマイクロワード数
はプロセツサ命令セツト全体の異なるプロセツサ
命令の全数よりも少ない。 選択されたマイクロワードは第1サイクル
PLA24の内部タイミングC4の間にPLA24の
出力で有効になる。同じ内部のタイミングの間
に、ストローブ・パルスS1がPLA出力バツフア
32に供給され、この選択された第1サイクル・
マイクロワードがL1レジスタ35aにロードさ
れる。前に説明したように、この第1サイクル・
マイクロワードは命令Nのマイクロワード・サイ
クル1の間に(これは制御点信号がAゲート群3
0を通過している時刻である)、有効になつてデ
ータ・プロセツサ10を制御する。 同様に、第2サイクルPLA25はバス56上
のOPコード・ビツトに応答し、命令レジスタ2
0に駐在するプロセツサ命令の第2マイクロワー
ド・サイクルに対する適当なマイクロワードを選
択する。第2サイクルPLA25の内部タイミン
グは第6.1〜6.3図の内部タイミング2Pに
よつて示されている。第2サイクルPLA25は
C2の間に有効なOPコード・ビツトを取込み、こ
れらのOPコード・ビツトによつて選択された特
定のマイクロワードをC4の間に出力する。この
C4の間に生じるストローブ・パルスS2はPLA出
力バツフア40をイネーブルし、選択された第2
サイクル・マイクロワードがL1レジスタ43a
に転送される。第1サイクルPLA24の場合と
同様に、第2サイクルPLA25はプロセツサ命
令セツト全体にある命令数よりも少ない命令数を
含む。 第1および第2サイクルPLA24および25
だけが各々のプロセツサ命令の実行に必要な2つ
のマイクロワードを最初の2つのマイクロワー
ド・サイクルに対して提供する。各々のプロセツ
サ命令のマイクロワードの残りの部分はA、B、
CおよびDデコードPLA26乃至29によつて
提供される。 A、B、CおよびDデコードPLA26乃至2
9はエンコードPLA55およびシーケンス・カ
ウンタ57から入力駆動信号を受取る。シーケン
ス・カウンタ57は複数ステージの2進カウンタ
ーである。説明を簡単にするため、エンコード
PLA55は、いわゆる“スタテイツク”PLAで
あり、内部クロツク信号を必要としないものとす
る。エンコードPLA55によつて、その入力に
供給されたプロセツサ命令にあるビツト数よりも
少ないビツト数を有する命令識別(ID)番号が
出力に生成される。本発明の代表的な実施例で
は、エンコードPLA55の入力に供給されるプ
ロセツサ命令ワードは16ビツトを含むのに対し、
エンコードPLA55の出力に現われる命令ID番
号は11ビツトを含む。このビツト数の減少によつ
て、デコードPLA26乃至29の各々に必要な
ANDアレイ入力ライン数が減少し、従つてデコ
ードPLAのサイズが小さくなる。エンコード
PLA55の出力に生成された命令ID番号の各々
は、それを生成した特定のプロセツサ命令を表わ
し、デコードPLA26乃至29に対して、実行
される特定のプロセツサ命令を識別する。サイズ
に関しては、エンコードPLA55はデコード
PLA26乃至29のどのサイズに比較しても相
対的に小さい。また、プロセツサ命令セツトの符
号化に応じて、エンコードPLA55の使用が、
あるタイプのデータ・プロセツサにとつて必要で
はないことがある。 エンコードPLA55の出力に現われる命令ID
番号は再開始制御パルスS0によつてバツフア・
レジスタ58にロードされる。バツフア・レジス
タ58のID番号はデコードPLA26乃至29に
よるそれぞれのA、B、CおよびDマイクロワー
ド生成の期間中は一定に保持される。シーケン
ス・カウンタ57はバツフア・レジスタ58に命
令ID番号をロードする同じ再開始制御パルスS0
によつて0にリセツトされる。一般に、シーケン
ス・カウンタ57は与えられたプロセツサ命令の
実行の間、一定間隔で増分され、デコードPLA
26乃至29の各々がイネーブルされ、マイクロ
ワードのシーケンスを生成する。一般に、バツフ
ア・レジスタ58の命令ID番号はベース・アド
レス、すなわち与えられたデコードPLAにおけ
るマイクロワードのグループの開始アドレスを与
え、シーケンス・カウンタ57は選択されたグル
ープにおける個々のマイクロワードをアクセスす
る1組の変位アドレスを与える。 デコードPLA26乃至29はマイクロワード
のシーケンスA−B−C−Dを生成するから、シ
ーケンス・カウンタ57はシーケンスA−B−C
−Dごとにカウントが1増分される。本実施例で
は、これはシーケンスA−B−C−DごとにBゲ
ート群31から1回出るPLAストローブ・パル
スによつて行なわれる。 5.1および5.2図に示すように、バツフ
ア・レジスタ58の命令ID番号はA、B、Cお
よびDデコードPLA26乃至29の各々の第1
の入力のセツトに並列に供給される。シーケン
ス・カウンタ57のシーケンス・カウントの値
は、AおよびBデコードPLA26および27の
各々の第2の入力のセツトに直接に供給される。
同じシーケンス・カウントの値はバツフア・レジ
スタ59を介してCおよびDデコードPLA28
および29の各々の第2の入力のセツトに(遅延
して)供給される。複数ステージのバツフア・レ
ジスタ59はシーケンス・カウンタ57を0にリ
セツトする同じリセツト制御パルスS0によつて
全0状態にリセツトされる。シーケンス・カウン
タ57のカウント値すなわち番号値はPLAスト
ローブ・パルスSCによつて一定間隔でバツフ
ア・レジスタ59にロードされる。第6.1〜
6.3図から分るように、このSCストローブ・
パルスはシーケンス・カウンタ57を増分する
SBストローブ・パルスよりも1マイクロワー
ド・サイクル遅く生じる。その結果、新しいシー
ケンス・カウント番号をロードする動作はシーケ
ンス・カウンタ57でこの新しい番号の出現より
も1マイクロワード・サイクル遅れる。この1サ
イクルの遅延によつて、CおよびDデコード
PLA28および29は変更される前の古いシー
ケンス・カウント番号に正しく応答する。 第6.1〜6.3図のPLA内部タイミングAP
で明らかなように、命令Nのマイクロワード・サ
イクル2の間にシーケンス・カウンタ57を増分
するSBストローブ・パルスはAデコードPLA2
6のC1の間に生じる。これはAデコードPLA2
6がシーケンス・カウンタ57からカウント値を
取込むC2の期間よりも1サイクル前である。D
デコードPLA29のPLA内部タイミングDPに関
連して、バツフア・レジスタ59に新しい番号を
ロードするSCストローブ信号(命令Nのサイク
ル3)がDデコードPLA29のC3の間に生じる
ことが分る。これはDデコードPLA29がバツ
フア・レジスタ59からカウント値を取込むC2
の期間の1サイクル後である。従つて、Dデコー
ドPLA29は第2シーケンス・カウント値がバ
ツフア・レジスタ59にロードされる前に第1シ
ーケンス・カウント値を取込むことができる。 また、第5.1および5.2図の制御装置14
には、再開始パルスS0、各種のPLA出力ストロ
ーブ・パルスS1、S2、SA、SB、SCおよびSD、
ならびにAおよびBクルツク・パルスに応答し、
PLA24乃至29の各々の内部タイミング・パ
ルスC1−C2−C3−C4を生成するのに使用
されるPLAクロツク信号PC1乃至PC9を生成す
るPLAクロツク・ロジツク機構60が含まれて
いる。PLAクロツク・ロジツク機構60の出力
バス61はPLAクロツク信号PC1乃至PC9の
各々の個々のバス・ラインを含む。従つて、出力
バス61には9バス・ラインが含まれている。こ
れらのバス・ラインの中の4本がPLA24乃至
29の各々の4つのタイミング・パルス入力に結
合され、異なる4本のバス・ラインのセツトが異
なるPLA24乃至29の各々に使用されている。
第1表はPLA24乃至29の異なる1つに結合
される特定のPLAクロツク・バス・ラインを示
す。従つて、例えば、クロツク・バス・ライン
PC1,PC2,PC3およびPC4は第1サイクル
PLA24に結合され、それに内部タイミング・
パルスC1、C2、C3およびC4をそれぞれ与える。
第1表では更に、クロツク・バス・ラインPC2
乃至PC5が第2サイクルPLA25に、クロツ
ク・バス・ラインPC3乃至PC6がAデコード
PLA26に接続される。以下、同様である。 PLAクロツク・パルスPC1乃至PC9とPLA
内部タイミングC1、C2、C3およびC4の間
の関係は第6.1〜6.3図に示されている。例
えば、第1サイクルPLA24を考えると、クロ
ツク・パルスPC2が内部タイミング・パルスC
2をそれに与えるのに使用される。PC2の波形
と第1サイクルPLA24のタイミングのパター
ン1Pとを比較すると、命令N−1のサイクル1
5および命令Nのサイクル7で生じるパルスPC
2はパターン1PのC2に対応することが分る。
しかしながら、PC2の波形が示すように、命令
Nのサイクル1,3および5でもタイミング・パ
ルスC2が生成されているが、これらのパルスC
2からは何も得られないから、それらは第6.1
〜6.3図に示されない。これらの不要なパルス
C2はマイクロワード・サイクル2,4および6
の間にクロツク・パルスPC1によつて生じたパ
ルスC1によつて直ちに除去される。 他の不要な内部クロツク・パルスはPLA24
乃至29の各々でPLAクロツク信号PC1乃至PC
5によつて生成される。しかしながら、これらの
不要な内部クロツク信号のタイミングによつて、
出力としてそれぞれの制御レジスタ機構(35およ
び43)に転送される瞬間にそれぞれのPLAの出
力部に現われる出力信号の有効性が影響を受ける
ことはない。従つて、不要な内部タイミング・パ
ルスは第6.1〜6.3図に示されていない。 PLAクロツク信号PC1乃至PC9は再開始パル
スS0、ストローブ・パルスS1、S2、SA、SB、
SCおよびSD、ならびにPLAクロツク・ロジツク
機構60にある組合せロジツク回路によるAおよ
びBクロツク・パルスから得られる。この組合せ
ロジツク回路の状態はPC1乃至PC9の個々の波
形とS0乃至SDの波形を比較することによつて識
別可能である。特に、クロツクPC1の波形は再
開始パルスS0およびストローブ・パルスS2が発
生する間に生じるBクロツク・パルスが削除され
る以外はBクロツク波形と同じである。クロツク
PC2の波形はストローブ・パルスS1が発生する
間に生じるAクロツク・パルスが削除される以外
はAクロツク波形と同じである。クロツクPC3
の波形は再開始パルスS0とストローブ・パルス
SBのOR動作によつて得られる。クロツクPC4
の波形はストローブ波形S1およびSCのOR動作に
よつて得られる。クロツクPC5の波形はストロ
ーブ・パルスS2およびSDのOR動作によつて得
られる。クロツクPC6,PC7,PC8およびPC
9の波形はそれぞれ、ストローブ・パルスSA、
SB、SCおよびSDの波形と同じである。 〔ダイナミツクPLAの内部構成(第7.1およ
び7.2図)の説明〕 第7.1および7.2図では、第5.1および
5.2図のダイナミツクPLA24乃至29の
各々に使用される内部構成が示されている。第
7.1および7.2図はダイナミツクPLAの完
全な内部構成を示すものではない。多数のAND
アレイ入力ライン、プロダクト・ラインおよび
ORアレイ出力ラインの一部だけが特に示されて
いるが、ダイナミツクPLAの内部の状態および
動作を理解するのに十分である。 第7.1および7.2図で示すように、ダイナ
ミツク・プログラマブル・ロジツク・アレイはそ
れぞれのプロダクト・ライン64乃至67を介し
て出力のORアレイ63に接続された入力のAND
アレイ62を含む。これらのプロダクト・ライン
64乃至67はANDアレイ62およびORアレイ
63の両方を完全に横切つている。代表的な
ANDアレイ入力ラインは入力ライン68乃至7
3で示されている。これらの入力ライン68乃至
73はプロダクト・ライン64乃至67と直角に
ANDアレイ62を完全に横切つている。代表的
なORアレイ出力ラインは出力ライン74乃至7
7で示されている。これらの出力ライン74乃至
77はプロダクト・ライン64乃至67と直角に
ORアレイ63を完全に横切つている。 第7.1および7.2図に示すPUAはLSIチツ
プ上に形成されている。第7.1および7.2図
に示すトランジスタのすべてはMOSタイプの
FETである。更に、第7.1および7.2図に
示すトランジスタの各々はエンハンスメント形の
MOS FETトランジスタである。 また、第7.1および7.2図のPLAは内部
クロツク・パルスC1に応答する予備充電回路を
含み、ANDアレイ62の入力ライン68乃至7
3の各々を所定の正電圧レベルに予備充電する。
この予備充電回路は正電圧ソース+Vと入力ライ
ン68乃至73と各々の間に直列に個々に接続さ
れているトランジスタ80乃至85を含む。入力
ライン68乃至73の各々が充電される所定の電
圧レベルは、トランジスタ80乃至85の1つの
導通時の電圧降下量を+Vから引いた値にほぼ等
しい。トランジスタ80乃至85は、これらのト
ランジスタのゲート端子の各々に同時に加えられ
る正のクロツク・パルスC1によつて導電状態に
なる。 更に、第7.1および7.2図のダイナミツク
PLAは複数の2進信号の入力ライン88を入力
ライン68乃至73に接続するビツト分解回路8
6および有効化回路87を含む。ビツト分割回路
86には2進信号の入力ライン88のそれぞれの
ラインに個々に結合された複数のインバータ8
9,90および91が含まれ、その入力ラインに
現われる2進信号の補数の2進出力信号が与えら
れる。従つて、入力ライン88の各々は2つの出
力ラインに分かれ、その一方には入力信号の真の
値が現われ、他方には入力信号の補数の値が現わ
れる。従つて、例えば、ビツト1の入力ライン8
8は2つの出力ライン92および93に分かれ、
出力ライン92にはビツト1の入力信号の真の値
が現われ、出力ライン93にはビツト1の入力信
号の補数の値が現われる。このビツト分割の形式
は“シングル・ビツト”分割と呼ばれる。 ビツト分割回路86からの各々の出力ラインは
個々の有効化回路87を介してANDアレイ62
の入力ライン68乃至73の異なる1つに接続さ
れる。ビツト分割回路86の出力ライン92の有
効化回路87は直接接続のトランジスタ94およ
び95で表わされ、トランジスタ95のドレイン
端子は入力ライン68に結合され、トランジスタ
94のソース端子は接地される。ビツト分割回路
86の出力ライン93の有効化回路87は直列接
続のトランジスタ96および97で表わされ、ト
ランジスタ97のドレイン端子は入力ライン69
に接続され、トランジスタ96のソース端子は接
地される。ビツト分割回路86の残りの出力ライ
ンの有効化回路87も前記と同様に構成されてい
る。 有効化回路87はそのPLAに対する正の内部
タイミング・パルスC2によつてアクテイブ化さ
れる。このタイミング・パルスC2は直列接続さ
れた対のトランジスタの中の下位のトランジスタ
のゲート端子に同時に印加され、直列接続された
対のトランジスタの中の上位のトランジスタのゲ
ート端子の2進値が1の場合には、入力ライン6
8乃至73は設置されて放電する。従つて、タイ
ミング・パルスC2の間に、トランジスタ94の
ゲート端子が高い電圧レベルの場合にはANDア
レイ62の入力ライン68は放電される。この場
合、C2の間にトランジスタ94および95はと
もに導電状態となり、入力ライン68を接地して
放電回路が形成される。これに対して、トランジ
スタ94のゲート端子の信号が低い電圧レベルの
場合には、C2の間にトランジスタ94は非導電
状態のままであり、入力ライン68は予備充電さ
れた高い電圧レベルを保持する。 信号レベルの高低によつて、有効化回路87は
信号反転動作を与える。従つて、ANDアレイ6
2の入力ライン68上の信号レベルはビツト分割
回路86の出力ライン92上の信号レベルの反転
された値、すなわち補数値である。このように、
入力ライン69,71および73上の信号レベル
はそれぞれ、ビツト1、ビツト2およびビツト3
の入力信号レベルの真値に相当する。これに対し
て、入力ライン68,72上の信号レベルはそれ
ぞれ、ビツト1、ビツト2およびビツト3の入力
信号レベルの補数値に相当する。 入力ライン68乃至73とプロダクト・ライン
64乃至67の間の論理関係はANDアレイ62
のパターンの具体化によつて決められ、前記具体
化はプロダクト・ライン64乃至67が設置され
る回路を形成するそれぞれのトランジスタの位置
およびゲート接続によつて決められる。ANDア
レイ62を具体化するトランジスタとしてトラン
ジスタ100乃至108が示されている。トラン
ジスタ100乃至108の位置およびゲート接続
はANDアレイ62によつて与えられる論理的機
能を決定する。第7.1および7.2図に示す特
定の具体化パターンは、制御装置14にある与え
られたPLAで生成されたマイクロワードと関連
を有することを意図するものではなく、単に、
PLAの動作の説明上選択された任意のパターン
である。 また、予備充電および有効化(選択放電)のシ
ーケンスがプロダクト・ライン64乃至67に与
えられている。プロダクト・ライン64乃至67
の予備充電回路にはトランジスタ110乃至11
3が含まれ、プロダクト・ライン64乃至67の
それぞれを正電圧ソース+Vに接続する。トラン
ジスタ110乃至113は内部タイミング・パル
スC2によつて同時にイネーブルされ、プロダク
ト・ライン64乃至67の各々を電圧レベル+V
からトランジスタ110乃至113の1つの導電
時の電圧降下分を減じた値にほぼ等しく予備充電
する。 プロダクト・ライン64乃至67の有効化回路
はトランジスタ114および115を含み、トラ
ンジスタ114および115は、導電時、トラン
ジスタ100乃至108を接地する。トランジス
タ114および115は正の内部タイミング・パ
ルスC3によつて導電状態になる、従つて、プロ
ダクト・ライン64乃至67はC3の間有効化さ
れる。 例えば、プロダクト・ライン64の有効化を考
えると、トランジスタ100,101および10
2のいずれかのゲート端子がC3で高いレベル
(予備充電されたレベル)であれば、そのトラン
ジスタおよびトランジスタ114の導電によつて
プロダクト・ライン64は低いレベルに放電され
る。エンハンスメント形FETトランジスタのゲ
ート端子が高いレベルのとき、このトランジスタ
は導電状態になる。それに対して、トランジスタ
100,101および102の各々のゲート端子
がC3で低いレベルの場合には、これらのトラン
ジスタは非導電状態のままであり、プロダクト・
ライン64は放電されない。 プロダクト・ライン上の有効化された信号は、
プロダクト・ラインに結合されているANDアレ
イ・トランジスタのゲート端子に送られた入力信
号のすべてのNORの組合せを表わす。第7.1
および7.2図で、プロダクト・ライン64上の
有効化された信号の値は論理関係を表
わす(1、2および3はビツト1、ビツト2およ
びビツト3の入力信号をそれぞれ表わし、+記号
はOR機能を表わす)。これは論理関係“1・
2・3”と等価である(ドツト記号はAND機能
を表わす)。従つて、ビツト1、2および3がコ
ード・パターン“111”を有する場合、プロダク
ト・ライン64上の有効化された信号レベルは高
いレベルである。ビツト1、2および3の中のど
れかが0の値を有する場合には、プロダクト・ラ
イン64上の有効化された信号レベルは0(低い)
レベルである。 プロダクト・ライン65の論理関係は1・2で
あり、プロダクト・ライン66の論理関係は1で
ある。また、プロダクト・ライン67の論理関係
は1・2・3である。従つて、プロダクト・ライ
ン65の有効化された信号レベルは、入力ビツト
のパターンが“10X”の場合には高いレベルであ
り、そうでない場合には低いレベルである。“X”
は“ドントケア”状態を表わす。“ドントケア”
はこの特定のビツトの値が結果に影響しないこと
を意味し、第7.1および7.2図に示すプロダ
クト・ライン65の場合には、入力ビツト3がプ
ロダクト・ライン65上の有効化された信号値の
決定に関与しないことを示す。 プロダクト・ライン66上では、入力ビツトの
パターンが“0XX”の場合に、有効化された高
い信号レベルが生成される。プロダクト・ライン
67上では、入力ビツトのパターンが“011”の
場合に、有効化された高い信号レベルが生成され
る。これらの入力ビツトのパターンがいずれも存
在しない場合には、プロダクト・ライン66およ
び67の各々はC3で低いレベルに放電される。 ANDアレイ62に関連して重要なことは、入
力ライン88の入力ビツト・パターンが、プロダ
クト・ライン64乃至67のいずれが、もしある
とすれば、アクテイブ状態にされるかを決定する
ということである。例えば、あるプロダクト・ラ
インのアクテイブ状態が高いレベルの状態である
ものとすれば、入力ビツトのコードが、プロダク
ト・ライン64乃至67のいずれが、もしあると
すれば、C3およびその直後の有効化の間に高い
レベルを保持しうるかを決定する。C3でプロダ
クト・ライン64乃至67上に確立された有効化
信号レベルは、プロダクト・ライン64乃至67
の次の予備充填まで有効である。次の予備充電は
後続するタイミング・パルスC2が存在している
間に行なわれる。 ORアレイ63はプロダクト・ライン64乃至
67上の有効化信号値に応答し、ORアレイ63
の出力ライン74乃至77上にマイクロワードの
ビツト・パターンを生成する。これはORアレイ
63の適切な具体化によつて行われる。前記具体
化は出力ライン74乃至77が設置される回路を
形成するそれぞれのトランジスタの位置およびゲ
ート結合によつて決定される。ORアレイ63を
具体化するトランジスタとしてトランジスタ11
6乃至121が示されている。第7.1および
7.2図に示される特定の具体化パターンは単に
説明上のものであり、制御装置14のPLA24
乃至29にずれかによつて生成されたマイクロワ
ードと関連を有することを意図するものではな
い。 また、予備充電および有効化(選択放電)のシ
ーケンスがORアレイ63の出力ライン74乃至
77で使用されている。出力ライン74乃至77
の予備充電回路はトランジスタ122乃至125
を含み、これらのトランジスタのソース端子はそ
れぞれ、出力ライン74乃至77の各々に結合さ
れ、同じくドレイン端子は正電圧ソース+Vに接
続される。トランジスタ122乃至125のゲー
ト端子は内部タイミング・パルスC3によつて同
時にアクテイブ化され、出力ライン74乃至77
の各々を同時に予備充電する。出力ライン74乃
至77の各々は電圧レベル+Vからトランジスタ
122乃至125の1つの導電時の電圧降下を減
じた値にほぼ等しい電圧レベルに予備充電され
る。 出力ライン74乃至77の有効化回路はトラン
ジスタ126および127を含む。トランジスタ
126および127はそれらのゲート端子に同時
に現われる正のタイミング・パルスC4によつて
同時に導電状態になる。トランジスタ126およ
び127は導電中、トランジスタ116乃至12
1に接地放電回路を与える。従つて、例えば出力
ライン74で、トランジスタ116および120
のいずれかがC4で導電状態の場合、出力ライン
74は前記導電中のトランジスタおよびトランジ
スタ126を介して放電される。トランジスタ1
16および120のいずれも導電状態ではない場
合、出力ライン74はC4およびその直後におい
て予備充電された高いレベルに保持される。 出力ライン74乃至77の各々にある出力信号
は、出力ラインに接続されているORアレイ・ト
ランジスタのゲート端子に供給される入力信号の
NORの組合せを表わす。従つて、例えば、出力
ライン74上の出力信号はトランジスタ116お
よび120のゲート端子に供給された入力信号の
NORの組合せを表わす。もちろん、これらの入
力信号はそれぞれ、プロダクト・ライン64およ
び66上に現われる信号である。C4で出力ライ
ン74乃至77上に確立された有効化信号値は、
次のタイミング・パルスC3が現われるまで、出
力ライン74乃至77上に保持され、その時点で
出力ライン74乃至77は再び予備充電される。 出力ライン74乃至77はそれぞれ、第7.1
および7.2図で“PLA出力バス”と表示され
た複数ラインの信号バスのそれぞれのラインに出
力バツフア130乃至133を介して接続され
る。従つて、出力ライン74は出力バツフア13
0を介してPLA出力バスのビツト1のラインに
結合され、出力ライン75は出力バツフア131
を介してPLA出力バスのビツト2のラインに結
合される。以下同様。出力バツフア130乃至1
33の各々は同じ内部構造を有する。出力バツフ
ア130乃至133はストローブ・ライン134
を介して出力バツフア130乃至133の各々に
供給されるPLA出力ストローブ・パルスによつ
て同時にイネーブルされる、出力バツフア130
乃至133は、イネーブルされると、出力ライン
74乃至77上に現われる信号パターンに対応す
る信号パターンをPLA出力バス上に生成する。
これらの出力バツフアの代表的な内部構造および
動作については後に詳細に説明する。 第7.1および7.2図のPLAの内部タイミ
ング・パルスC1,C2,C3およびC4のタイ
ミング関係は第8図に示されている。これらはオ
ーバラツプしないパルスで、C1パルスの後縁と
C2パルスの前縁の間、C2パルスの後縁とC3
パルスの前縁の間、およびC3パルスの後縁とC
4パルスの前縁の間には、それぞれ小さなギヤツ
プがある。C1乃至C4パルスの各々の期間は正
のAおよびBクロツク・パルスの各々の期間と同
じで、約50ナノ秒である。第8図に示すC1,C
2,C3およびC4パルスのシーケンスは第6.
1〜6.3図のタイミング図の下部に示すように
反復実行される。第6.1〜6.3図に示すよう
に、1P乃至DPのそれぞれのPLAに対するC1乃
至C4シーケンスは互いに期間的に変位してい
る。 第2表は内部タイミング、すなわちクロツク・
パルスC1,C2,C3およびC4の各々によつ
て与えられる内部PLA機能を示す。この表に示
すように、オーバラツプしている予備充電および
有効化シーケンスはANDアレイ入力ライン、プ
ロダクトラインおよびORアレイ出力ラインに対
して与えられる。これらの予備充電および有効化
シーケンスはダイナミツクPLAを通じて“デー
タ”を移動する。スタテイツクPLAに比し、ダ
イナミツクPLAの主要な利点は等価的なスタテ
イツクPLAよりも電力消費がかなり少ないこと
である。 第5.1および5.2図に示す制御装置14の
ダイナミツクPLA24乃至29の各々は、一般
に第7.1および7.2図に示すように、同じ内
部構造である。前に説明したように第5.1およ
び5.2図の実際のPLA24乃至29の各々は、
第7.1および7.2図のPLAに示すよりもか
なり多数の入力ライン(ANDアレイの)、プロダ
クト・ラインおより出力ライン(ORアレイの)
を有する。それでも、第2表に示すオーバラツプ
している予備充電および有効化シーケンスを使用
する動作方法は同じである。 第5.1および5.2図に示す制御装置14で
使用するため、第7.1および7.2図に示すよ
うなPLAを構成する直截の方法はANDアレイ
で、PLAへの特定の入力ビツトの各々がプロダ
クト・ラインの異なる1つをアクテイブにするよ
うに、具体化トランジスタを位置決定し、結合す
ることである。出力ORアレイにおける具体化ト
ランジスタは、与えられたプロダクト・ラインが
アクテイブ化されたとき、ORアレイの出力ライ
ンに正しいマイクロワードのビツト・パターンが
生成されるように、位置決定され、結合される。
この方法による場合、個々のプロダクト・ライン
に沿つたORアレイのトランジスタの存在および
不在は、異なるマイクロワードのビツト・パター
ンを与えるものとみなされ、ANDアレイによつ
て特定のプロダクト・ラインをアクテイブにする
ことは、ORアレイの出力ラインに出力するため
ORアレイが定義するマイクロワードの特定の1
つを選択するものとみなされる。従つて、AND
アレイに対する各々の入力ビツト・コードは特定
のプロダクト・ラインを選択し、選択されたプロ
ダクト・ラインによつて特定のマイクロワードが
ORアレイの出力に供給される。 実施例によつては、より複雑なANDアレイお
よびORアレイの具体化パターンを使用してプロ
ダクト・ラインの所要数を減少する、従つて
PLAの全体の大きさを減少することができる。 〔PLA出力バス機構(第9図)の説明〕 第9図はPLA出力バス36、PLA出力バツフ
ア32,33および34、ならびにそれに接続さ
れるA制御レジスタ機構35を詳細に示す。第9
図に示す素子のすべては同じICチツプ上に形成
される。第9図に示す機構は複数のダイナミツク
PLA24,26および28からORアレイの出力
ライン135,136および137の個々のセツ
トを複数ラインのPLA出力バス36の同じバ
ス・ラインのセツト(ビツト1〜N)に結合する
IC機構を含む。PLA出力バス36のバス・ライ
ンは複数ステージ受領レジスタであるL1レジス
タ35aの異なるステージの入力ラインに個々に
接続される。 PLA出力バツフア32,33および34の
各々は複数の出力バツフア・ステージを含む。従
つて、PLA出力バツフア32は複数のバツフ
ア・ステージ140a〜140n、PLA出力バ
ツフア33は複数のバツフア・ステージ141a
〜141n、PLA出力バツフア34は複数のバ
ツフア・ステージ142a〜142nをそれぞれ
含む。PLA出力バス36はバス・ライン143
a〜143nを含む。L1レジスタ35aは複数
のレジスタ・ステージ144a〜144nを含
む。PLA出力バツフア32,33および34の
各々の“a”バツフア・ステージ140a,14
1aおよび142aは同じ1つのPLAバス・ラ
イン、すなわち“a”バス・ライン143aに結
合されている。“a”バス・ライン143aはL
1レジスタ35aのレジスタ・ステージ144a
に結合されている。これらの接続関係は“b”〜
“n”のバツフア・ステージについても同様であ
り、“b”〜“n”のバス・ラインは“b”〜
“n”のレジスタ・ステージに結合される。 また、L1レジスタ35aはバス・ライン143
a〜143nの各々を最初のタイミング・パルス
で予備充電する予備充電回路を含む。すなわち、
個々のレジスタ・ステージ144a〜144nの
各々はそれぞれ、バス・ライン143a〜143
nの対応するラインを予備充電する予備充電回路
を含む。これらの個々の予備充電回路はL1レジ
スタ35aに供給されるBクロツク・パルスによ
つて最初、すなわち予備充電のタイミング・パル
スで同時にアクテイブ化される。バス・ライン1
43a〜143nはPLA24,26および28
のいずれかの出力ラインの有効化の前の期間に予
備充電される。 与えられたPLAの出力のバツフア・ステージ
は前記PLAのストローブ信号に応答し、2番目
の期間に、出力ラインが特定の2進値であるバ
ス・ラインを放電する。従つて、例えば、第1サ
イクルPLA24の出力のバツフア・ステージ1
40a〜140nは前記PLA24のストローブ
信号S1に応答し、出力ライン135a〜13n
が特定の2進値であるバス・ライン(PLA出力
バス36の)を、2番目の期間に放電する。バ
ス・ライン143a〜143nの選択放電はAク
ロツク・パルスの間に行われる。この選択放電に
よつて、第1サイクルPLA24によつて出力中
のものと同じビツト・パターンがPLA出力バス
36上に生成される。PLA出力バス36上のビ
ツト・パターンは、バス・ライン143a〜14
3nが選択放電される同じAクロツク・パルスの
間にL1レジスタ35aにロードされる。 バス・ライン143a〜143nはその後、レ
ジスタ・ステージ144a〜144nの各々にあ
る個々の予備充電回路に並列に供給される後続の
Bクロツク・パルスによつて再び予備充電され
る。これによつて、PLA出力バス36は次の
PLAすなわちAデコードPLA26からマイクロ
ワード・ビツト・パターンを次のAクロツク・パ
ルスの間に受取る。このように、PLA出力バス
では予備充電と選択放電が連続して行なわれる。 レジスタ・ステージ144a〜144nの個々
の出力はL2レジスタ35bのレジスタ・ステー
ジ145a〜145nの対応する1つの入力にそ
れぞれ結合される。Bクロツク・パルスがレジス
タ・ステージ145a〜145nの個々のロード
制御端子に同時並列に供給され、L1レジスタタ
35aに駐在するマイクロワード・ビツト・パタ
ーンはBクロツク・パルスの間にL2レジスタ3
5bにロードされる。レジスタ・ステージ145
a〜145nの各々の真および補数の出力がAデ
コーダ37に接続されている。例えば、レジス
タ・ステージ145aの真および補数の出力は出
力ライン146および147に現われる。 L1およびL2レジスタ35aおよび35bの
ステージの代表的な実施例は後で説明する。これ
らの実施例で、L1レジスタ35aのステージは
ダイナミツク・レジスタのステージで、L2レジ
スタ35bのステージはスタテイツク・レジスタ
のステージである。 PLA出力バス36を構成するバス・ライン数
は完全なマイクロワード中のビツト数に等しい。
例として、このビツト数を60とすれば、PLA出
力バス36は60バス・ラインを有する。同様に、
L1およびL2レジスタ35aおよび35bの
各々は60のレジスタ・ステージを含み、それぞれ
のレジスタ・ステージがPLA出力バス36の
各々のバス・ラインに対応する。AおよびCデコ
ードPLA26および28の各々は完全なマイク
ロワードを供給するように構成されている。従つ
て、PLA26および28の各々は60の出力ライ
ンを有し、PLA出力バツフア33および34の
各々は60のバツフア・ステージを含む。前に説明
したように、第1サイクルPLA24が完全なマ
イクロワードを供給する必要はない。その代り、
第1サイクルPLA24は、完全なマイクロワー
ドの制御フイールドのいくつかが省略されている
部分的マイクロワードを供給する。従つて、第1
サイクルPLA24に必要な出力ライン数は60よ
りも少なく、PLA出力バツフア32のバツフ
ア・ステージ数も60よりも少ない。従つて、
PLA出力バス36のバス・ラインのいくつかは
PLA出力バツフア32から出力を受取らない。
例として、第1サイクルPLA24は20の出力ラ
インを有することがあり、その場合、PLA出力
バツフア32は20のバツフア・ステージを有す
る。 60ビツトを有する完全なマイクロワードの例
は、マイクロワードを生成し、処理する装置の相
対的な大きさの感覚を与えることのみを意図する
ものであつて、60という数に特別の意味はなく、
大きさの異なるマイクロワードを異なるデータ・
プロセツサで使用することは勿論可能である。 本実施例では、PLA出力バス36に負の動作
ロジツクが使用されている。言い換えれば、
PLAのバス・ライン上の低いレベル(放電され
たレベル)が論理値“1”を表わすのに使用さ
れ、高いレベル(予備充電されたレベル)が論理
値“0”を表わすのに使用されている。 第5.1および5.2図の他のPLA出力バス
44の出力バス機構も、異なるPLAクロツク信
号、異なるストローブ信号および異なるAおよび
Bクロツク信号がPLA出力バス44関連の対応
する素子に供給される点を除き、第9図に示すも
のと同じ構成である。前に説明したように、第2
のPLA出力バス44およびその関連バツフアお
よびレジスタの動作は第1のPLA出力バス36
の対応する素子の動作に対して位相が180°異な
る。 〔出力バツフアおよび制御レジスタ(第10.1
および10.2図)の説明〕 第10.1および10.2図では、第9図の出
力バツフア・ステージの1つ、L1レジスタ・ス
テージの1つおよびL2レジスタ・ステージの1
つの内部構成が詳細に示されている。特に、第1
0.1および10.2図では、PLA出力バツフ
ア32のビツト1のバツフア・ステージ140
a、L1レジスタ35aのビツト1のレジスタ・
ステージ144a、およびL2レジスタ35bの
ビツト1のレジスタ・ステージ145aの内部構
成が詳細に示されている。また、第10.1およ
び第10.2図では、他の2つのPLA出力バツ
フア33および34のビツト1のバツフア・ステ
ージ141aおよび142aがブロツクで示さ
れ、ビツト1のバス・ライン143aに結合され
ている。更に、第10.1および10.2図で
は、第1サイクルPLA24を経由する各種の可
能な“信号”経路の1つが詳細に示されている。
第1サイクルPLA24を経由するこの信号経路
に関連する回路素子には、対照のため、第7.1
および7.2図のPLAの対応する回路素子に使
用されているものと同じ参照番号が与えられてい
る。第1サイクルPLA24の代表的な信号経路
を示すことによつて、PLA内部タイミングとバ
ツフア・ステージ140a、レジスタ・ステージ
144aおよび145aのタイミングとを相関す
ることができる。 第10.1および10.2図に示すように、バ
ツフア・ステージ140aによつて出力ライン1
35a(第1サイクルPLA24内では参照番号7
4で示されている)がバス・ライン143aで表
わされる信号転送ラインに結合される。バツフ
ア・ステージ140aは、ICチツプ上に形成さ
れ、各々が第1および第2の電流端子と、そのゲ
ート端子で示されている制御端子を有する第1お
よび第2のトランジスタ150および151を含
む。第2のトランジスタ151の制御すなわちゲ
ート端子は、第1サイクルPLA24の出力ライ
ン135aに接続される。更に、バツフア・ステ
ージ140aはICチツプ上に形成され、第1の
トランジスタ150の第1の電流端子(ドレイン
端子)を第1の電圧供給点+Vに結合する回路導
体を含む。また、これらの回路導体は第1のトラ
ンジスタ150の第2の電流端子(ソース端子)
を第2のトランジスタ151の第1の電流端子
(ドレイン端子)に結合する。更に、これらの回
路導体は第2のトランジスタ151の第2の電流
端子(ソース端子)を接地で示されている第2の
電圧供給点に結合する。 更に、バツフア・ステージ140aは、ICチ
ツプ上に形成され、各々が第1および第2の電流
端子と、そのゲート端子で示されている制御端子
を有する第3および第4のトランジスタ152お
よび153を含む。また、バツフア・ステージ1
40aは、ICチツプ上に形成され、第3のトラ
ンジスタ152の第1の電流端子(ドレイン端
子)をバス・ライン143aで示されている信号
転送ラインに接続する回路導体を含む。更に、こ
れらの回路導体は第3のトランジスタ152の第
2の電流端子(ソース端子)を第4のトランジス
タ153の第1の電流端子(ドレイン端子)に結
合する。また、これらの回路導体は第4のトラン
ジスタ153の第2の電流端子(ソース端子)を
接地で示されている第2の電圧供給点に結合す
る。 更に、バツフア・ステージ140aはICチツ
プ上に形成され、第3および第4のトランジスタ
152および153の一方の制御端子、この場合
は第4のトランジスタ153のゲート端子を、第
1および第2のトランジスタ150および151
の接続点154に結合する回路導体を含む。ま
た、バツフア・ステージ140aはタイミング・
パルスを第1のトランジスタ150の制御(ゲー
ト)端子に結合する回路を含む。この回路は、第
1サイクルPLA24の内部タイミング・パルス
C4のソースに結合されている導体155を含
む。更に、バツフア・ステージ140aは、第3
および第4のトランジスタ152および153の
他方の制御(ゲート)端子、この場合は第3のト
ランジスタ152の制御(ゲート)端子に、スト
ローブ・パルスを供給する回路を含む。この回路
は第1サイクルPLA24のストローブ信号ライ
ンS1に結合されている導体156を含む。 レジスタ・ステージ144aはダイナミツク・
レジスタ・ステージである。レジスタ・ステージ
144aは、ドレイン端子が導体161を介して
バス・ライン143a結合され、ソース端子が導
体162を介してレジスタ・ステージ145aの
入力回路に結合されているバス・トランジスタ
(トランジスタ160)を含む。トランジスタ1
60は導体163を介してそのゲート端子に供給
されるAクロツク・パルスによつて定期的に導電
状態になる。Aクロツク・パルスが存在しないと
き、トランジスタ160は非導電状態であり、導
体162をバス・ライン143aから分離する。 トランジスタ160が非導電状態のとき、半導
体162の固有容量は導体162上の信号値を記
憶する作用がある。従つて、レジスタ・ステージ
145aがロードされるBクロツク・パルスの期
間に、レジスタ・ステージ145aの入力回路に
駆動信号が供給される。トランジスタ160が導
電状態のとき、導体162上の信号値はバス・ラ
イン143a上の信号値に追随する。バス・ライ
ン143aの固有容量は導体162の固有容量よ
りもかなり大きい。本発明の代表的な実施例で
は、バス・ライン143aのようなPLAバス・
ラインは5pF(ピコフアラツド)のオーダの容量
を有し、導体162は0.15pFのオーダの容量を有
する。従つて、バス・ライン143aの固有容量
は導体162の固有容量の約33倍である。よつ
て、トランジスタ160が導電状態のとき、導体
162はバス・ライン143aの信号レベルの変
化に極めて迅速に応答できる。 バス・ライン143aの固有容量は、ある点で
レジスタ・ステージ145aに有効な記憶素子を
提供する。特に、クロツク発生装置15の動作が
短い期間停止した場合、バス・ライン143aの
固有容量はバス・ライン143a上の信号レベル
を記憶する作用があり、それによつて、クロツク
発生装置15の動作が再開されたとき、バス・ラ
イン143a上に有効な信号値が依然として存在
している。バス・ライン143aの固有容量は前
記信号値のひどい劣化を伴なわずに数ミリ秒の範
囲内で信号値を保持できる。CPUのクロツク発
生装置の瞬間的停止は、あるタイプのデータ・プ
ロセツサ、例えば主記憶装置のタイミング信号が
別個のクロツク・ソースが得られるようなデー
タ・プロセツサで発生することがある。 レジスタ・ステージ144aに含まれたPLA
バス・ライン予備充電回路は、ドレイン端子が電
圧ソース+Vに係合され、ソース端子が導体16
1を介してバス・ライン143aに結合されてい
るソース・ホロワ・トランジスタ(トランジスタ
164)で示されている。トランジスタ164
は、導体165を介してそのゲート端子に供給さ
れるBクロツク・パルスによつて定期的に導電状
態になる。トランジスタ164が導電状態のと
き、電圧ソース+Vによつてバス・ライン143
aは高いレベル(+Vから導電時のトランジスタ
164の電圧降下を減じた値にほぼ等しい)に充
電される。Bクロツク・パルスが存在しないと
き、トランジスタ164は非導電状態であり、バ
ス・ライン143aは電圧ソース+Vから分離さ
れる。 トランジスタ164で示される予備充電回路は
レジスタ・ステージ144a内に所在する必要は
なく、唯一の要求事項は予備充電回路がバス・ラ
イン143aに結合されることである。よりコン
パクトなICの場合には、予備充電回路がL1レジ
スタ35のレジスタ・ステージの外に位置するこ
とがありうる。 レジスタ・ステージ145aはスタテイツク・
レジスタ・ステージである。レジスタ・ステージ
145aの中枢はトランジスタ170,171,
172および173を含む双安定回路である。ト
ランジスタ171および173のいずれか一方ま
たは他方が与えられた瞬間に導電状態であり、導
電状態にある特定の1つが、レジスタ・ステージ
145aによつて記憶されている2進値を表わす
ように作用する。前に説明したように、パス・ラ
イン143aは負の動作ロジツクを用いており、
バス・ライン143a上の低いレベルが論理値
“1”を表わす。レジスタ・ステージ145aが
パス・ライン143aからの論理値“1”を記憶
している場合、トランジスタ171が導電状態で
あり、トランジスタ173は非導電状態である。
これに対して、バス・ライン143aからの論理
値“0”(高いレベル)を記憶している場合、ト
ランジスタ173が導電状態であり、トランジス
タ171は非導電状態である。 トランジスタ171および173はエンンスメ
ント形MOSFETトランジスタであり、トランジ
スタ170および172はデプリーシヨン形
MOSFETトランジスタである。デプリーシヨン
形トランジスタ170および172のソース端子
は、それぞれのゲート端子に結合され、所要のプ
ルアツプ動作を与える。トランジスタ171のド
レイン端子とトランジスタ173のゲート端子の
相互結合およびトランジスタ173のドレイン端
子とトランジスタ171のゲート端子の相互結合
によつて所要の双安定動作が得られる。 レジスタ・ステージ144aからの出力の導体
162はトランジスタ174および175から成
るインバータ回路の入力に結合される。トランジ
スタ174はデプリーシヨン形トランジスタであ
り、トランジスタ175はエンハンスメント形ト
ランジスタである。トランジスタ174のソース
はそのゲートに結合され、所要のプルアツプ動作
が得られる。トランジスタ174および175の
接続点はトランジスタ176および177で形成
するNAND回路の第1の入力を駆動する。すな
わち、この接続点はトランジスタ176のゲート
端子に結合される。このNAND回路の第2の入
力はトランジスタ177のゲート端子で示されて
いる。このゲート端子は導体178を介してBク
ロツク・パルスのラインに結合され、レジスタ・
ステージ145aのロードを制御する。また、レ
ジスタ・ステージ144aの出力の導体162は
トランジスタ179および177で形成する
NAND回路の第1の入力に結合され、この
NAND回路の第2の入力はトランジスタ177
のゲート端子であり、導体178によつてBクロ
ツク・パルスのラインに接続されている。 Bクロツク・パルスを受取る導体178がアク
テイブ(高いレベル)のとき、レジスタ・ステー
ジ145aはレジスタ・ステージ144aの出力
の導体162に現われるのと同じ論理値にセツト
され、この論理値はバス・ライン143aに現わ
れる論理値と同じ値である。Bクロツク・パルス
の導体178が非アクテイブになると、この論理
値はレジスタ・ステージ145aによつて記憶さ
れる。 例えば、導体162が低い電圧レベル(論理値
“1”)にあるものとすれば、この低いレベルはト
ランジスタ175で反転され、トランジスタ17
6のゲートに高い電圧値を与える。同時に、導体
162の低い電圧レベルはトランジスタ179の
ゲート端子に供給される。導体178が正のBク
ロツク・パルスが現われている間にアクテイブに
なると、トランジスタ177は導電状態になり、
トランジスタ176はそのゲートの高いレベルに
よつて導電状態になる。これによつて、接続点1
80からトランジタ176および177を介して
接地に至る電経路が形成され、接続点180は低
い電圧レベルになる。接続点180の低い電圧レ
ベルによつて、双安定回路のトランジスタ173
は、それが導電状態にあつた場合に、非導電状態
になる。同時に、トランジスタ179はそのゲー
トの低い電圧レベルによつて非導電状態になる。
トランジスタ173および179がオフの状態に
なると、接続点181に高い電圧レベルが生じ
る。この高い電圧レベルは双安定回路のトランジ
スタ171のゲートに供給され、トランジスタ1
71は、導電状態でなかつた場合に、導電状態に
なる。 導体178上のBクロツク・パルスが終了する
と、トランジスタ177は非導電状態になり、双
安定回路のトランジスタ171および173は、
導体162上の信号によつて影響されないように
分離される。トランジスタ177が非導電状態に
なる直前に存在していた論理状態は双安定回路の
トランジスタ171および173の相互結合によ
つて保持される。前記の例では、この論理値はバ
ス・ライン143a上の論理値“1”に対応し、
トランジスタ171の導電状態、トランジスタ1
73の非導電状態によつて表わされる。 同様に、導体178上にBクロツク・パルスが
現われている間に、導体162が高いレベル(バ
ス・ライン143a上の論理値“0”)であつた
場合、双安定回路のトランジスタ171および1
73はバス・ライン143aの論理状態“0”を
表わすようにセツトされる。これはトランジスタ
173の導電状態、トランジスタ171の非導電
状態によつて表わされる。 レジスタ・ステージ145aの出力ライン14
6および147はそれぞれ双安定回路の接続点1
81および180に結合される。これらの出力ラ
イン146および147は第9図に示すようにA
デコーダ37に結合される。出力ライン146お
よび147のどちらが“真”のラインで、どちら
が“補数”のラインに指定されるかは、Aデコー
ダ37で正論理または負論理のいずれかが使用さ
れるかによる。正論理が使用される場合には、A
デコーダ37で、高いレベルが論理値“1”を表
わし、低いレベルが論理値“0”を表わす。この
場合、出力ライン146が“真”のラインに指定
され、出力ライン147が“補数”のラインに指
定される。勿論、これはバス・ライン143aで
使用された論理と反対の論理を表わす。 次に、バツフア・ステージ140aの動作につ
いて説明する。第1サイクルPLA24の内部タ
イミング・パルスC3が現われている間、ORア
レイ63の出力ライン74はトランジスタ122
を介して無条件に高いレベルに予備充電され、バ
ツフア・ステージ140aのトランジスタ151
が導電状態になる。これによつて、トランジスタ
153はゲートが低いレベルになり、非導電状態
に保持される。同じC3の間にバス・ライン14
3aはレジスタ・ステージ144aのトランジス
タ164を介して高いレベルに予備充電される。 第1サイクルPLA24の内部タイミング・パ
ルスC4が現われている間に、有効化回路のトラ
ンジスタ126が導電状態になつて出力ライン7
4は有効化される。このC4の間に、第1サイク
ルPLA24のANDアレイ62からのプロダク
ト・ライン64によつて駆動されるORアレイ6
3のトランジスタ116および120の状態に応
じて、出力ライン74が低いレベルに放電を開始
することがある。トランジスタ116および12
0のどちらかがC4間に導電状態である場合に
は、出力ライン74は放電され、そうでない場合
には、出力ライン74は予備充電された高いレベ
ルのままである。 出力ライン74がC4で有効化されている間
に、バツフア・ステージ140aのトランジスタ
150のゲートはC4のパルスによつてアクテイ
ブになる。タイミング・パルスC4の最初でトラ
ンジスタ151は常に導電を開始するから、トラ
ンジスタ153のゲートは常に低いレベルで始ま
り、出力ライン74が低いレベルに放電されない
限り、低いレベルを保持する。これに関連して、
トランジスタ150および151は、両者が同時
に導電状態になり、第2のトランジスタ151が
トランジスタ153のゲート端子の電圧レベルを
制御するように整合されている。従つて、出力ラ
イン74がC4の間に放電されない場合、トラン
ジスタ150および151の両者が導電状態であ
つても、トランジスタ153は非導電状態を保持
する。これに対して、出力ライン74がC4の間
に低いレベルに放電される場合、トランジスタ1
51は非導電状態になり、トランジスタ153は
ゲートが高いレベルになつて導電状態になる。 第1サイクルPLA24がPLA出力バス36を
駆動するように選択されている場合、ストロー
ブ・パルスS1が第1サイクルPLA24を有効化
する、ほぼC4の間にS1ストローブ・ラインを
介してトランジスタ152のゲート端子に供給さ
れる。“ほぼ”と表現するのは、PLA内部タイミ
ング・パルスC4とストローブ・パルスS1の間
の調整ずれがありうるからである。また、ストロ
ーブ・パルスS1が現われている間にトランジス
タ153が導電状態(出力74が放電されて)で
ある場合、バス・ライン143aは直列接続され
たトランジスタ152および153を介して接地
され放電される。これに対して、C4の間に出力
ライン74が高いレベルにある場合、トランジス
タ153は非導電状態のままで、このC4の間に
ストローブ・パルスS1が現われても、バス・ラ
イン143aの放電は生じない。その場合、バ
ス・ライン143aは予備充電された高い電位の
ままである。従つて、いずれの場合にも、バス・
ライン143a上の有効化された信号レベルは出
力ライン74上の有効化された信号レベルと同じ
である。出力ライン74が高いレベルであれば、
バス・ライン143aも高いレベルである。出力
ライン74が放電される場合、バス・ライン14
3aも放電される(もちろん、C4の間にストロ
ーブ・パルスS1があるものとして)。 出力ライン74を有効化するC4の間に現われ
るAクロツク・パルスによつて、バス・ライン1
43a上の信号値はレジスタ・ステージ144a
にロードされる。このように、第1サイクル
PLAがストローブ・パルスS1によつて選択され
ているものとすれば、出力ライン74は有効化さ
れ、バツフア・ステージ140aのトランジスタ
150および151ならびにレジスタ・ステージ
144aのトランジスタ160は同一のC4のタ
イミング期間に導電状態になる。前に説明したよ
うに、バス・ライン143aは前のC3タイミン
グ期間に予備充電される。 バツフア・ステージ140aのトランジスタ1
51は常にC4のタイミング期間の最初に導電状
態になるから、トランジスタ153のゲートは常
に、出力ライン74が低いレベルに放電されるま
で、低いレベルに保持される。これによつて、C
4の期間の最初にバス・ライン143aが誤つて
放電されることはない。また、これによつて、ス
トローブ・パルスS1とタイミング・パルスC4
の間の調整ずれに対するバツフア・ステージ14
0aの感受性がなくなる。2つの事象の発生、す
なわちストローブ・パルスS1が出現し出力ライ
ン74が放電するまで、バス・ライン143aは
影響を受けない。このように、バツフア・ステー
ジ140aの構成はバス・ライン143aの確実
な出力を保証する。 PLAのバス・ラインの信号の有効化が2つの
接地されたソースMOSFET装置、すなわち
MOSFETトランジスタ152および153によ
る純粋な容量記憶素子(バス・ラインの固有容
量)の放電から成るので、このPLAバス結合機
構は非常にすぐれた過渡動作を提供する。この配
列は極めて高速な放電動作を行なう。 更に、このPLA出力バス結合機構の利点とし
て、バツフア・ステージ140aの消費電力が最
小になる。1つには、出力ライン74が低いレベ
ルとき、バツフア・ステージ140aでは直流電
力は消費されない。また、出力ライン74が高い
レベルのときでも、トランジスタ150のゲート
にタイミング・パルスC4が現われる期間でのみ
バツフア・ステージ140aで直流電力が消費さ
れる。この期間は、タイミング・パルスC4の期
間が全期間の25%よりもいくらか少ないから、せ
いぜい全期間の25%よりもいくらか少ない。制御
装置14ではこのようなバツフア・ステージが多
数使用されるから、消費電力の節減はかなり重要
である。 第5.1および5.2図に示すPLA出力バツ
フア32,33,34,40,41および42の
各々における個々のバツフア・ステージは、第1
0.1および10.2図に示すバツフア・ステー
ジ140aと同じ構成である。L1レジスタ35
aおよび43aの各々における個々のレジスタ・
ステージは第10.1および10.2図に示すレ
ジスタ・ステージ144aと同じ構成である。L
2レジスタ35bおよび43bの各々における
個々のレジスタ・ステージは第10.1および1
0.2図に示すレジスタ・ステージ145aと同
じ構成である。 〔制御装置(第11.1および11.2図)の説
明〕 第11.1および11.2では、本発明に従つ
て構成されたマイクロワード制御システムすなわ
ち制御装置のもう1つの実施例の機能ブロツク図
が示されている。第11.1および11.2の制
御装置は第1図のデータ・プロセツサの制御装置
14として使用することができる。第11.1お
よび11.2の制御装置は第5.1および5.2
図の制御装置に比し、構成および動作は大体同じ
であるが、主要な相違は第11.1および11.
2図の制御装置はより多数のPLAを使用してい
ることである。関連する相違点は下記の説明で示
す。第11.1および11.2図に示す構成のす
べては、恐らくはクロツク発生装置15の一部ま
たは全部を除いて、1つの同じLSIチツプ上に形
成される。 第11.1および11.2図の制御装置は、
PLA機構の第1および第2のセツトを含み、
各々のPLA機構は実行されるプロセツサ命令に
応答し、前記命令を実行するのに必要な少なくと
も1つのマイクロワードを生成する。PLA機構
の第1のセツトは第1サイクルPLA201、有
効アドレス・デコーダPLA202および203
ならびに実行デコーダPLA204および205
を含む。簡略化のため、これらのPLAはそれぞ
れ、頭字後でP1、PAA、PAC、PXAおよび
PXCと呼ばれることがある、PLA機構の第2の
セツトは第2サイクルPLA206、有効アドレ
ス・デコードPLA207および208ならびに
実行デコーダPLA209および210を含む。
同様に、これらのPLAはそれぞれ頭字後でP2、
PAB、PAD、PXBおよびPXDと呼ばれること
がある。 これらのPLA201乃至210はダイナミツ
クすなわちクロツクPLAで、それぞれが第7.
1および7.2図に示されたPLAと一般的に同
じ構成であり、その内部動作を制御する内部クロ
ツク・パルスC1,C2,C3およびC4を用い
る。 更に、第11.1および11.2図の制御装置
は第1および第2の制御機構を含み、それぞれが
PLA機構の第1および第2のセツトからマイク
ロワードを受取り、各々のマイクロワードに対
し、データ・プロセツサの動作を制御する少なく
とも1つの制御点信号を生成する。第1の制御機
構はA−L1制御レジスタ211、A−L2制御
レジスタ212およびAデコーダ213を含み、
PLA201乃至205の第1セツトから第1PLA
出力ガス214を介してマイクロワードを受取
る。第2の制御機構はB−L1制御レジスタ21
5、B−L2制御レジスタ216およびBデコー
ダ217を含み、PLA206乃至210の第2
のセツトから第2PLA出力バス218を介してマ
イクロワードを受取る。 また、第11.1および11.2図の制御装置
は第1のマルチプレツクス回路を含み、第1セツ
トのPLA201〜205の異なる1つから第1
の制御機構(211〜213)へマイクロワード
を1回に1つ転送する。第1のマルチプレツクス
回路は複数の選択動作可能な出力バツフアとして
動作するゲート群221〜225を含み、それぞ
れのPLA201乃至205の出力を第1PLA出力
バス214を介してA−L1制御レジスタ211
の入力に個々に結合する。これらのバツフアすな
わちゲート群221〜225は、Aデコーダ21
3の出力から得られたPLAストローブS1,
SAA,SAC,SXAおよびSXCのそれぞれによつ
て選択、イネーブルされる。ストローブ信号ライ
ンS1,SAA,SAC,SXAおよびSXCの中の1つ
だけが与えられたマイクロワード・サイルクの間
にアクテイブ化される。アクテイブ化される特定
のストローブ・ラインはA−L2制御レジスタ2
12に駐在するマイクロワードのPLAストロー
ブ・フイールドのコーデイングによつて決定され
る。 更に、第11.1および第11.2の制御装置
は第2のマルチプレツクス回路を含み、第2セツ
トのPLA206〜210の異なる1つから第2
の制御機構(215〜217)へマイクロワード
を1回に1つ転送する。第2のマルチプレツクス
回路は複数の選択動作可能な出力バツフアとして
動作するゲート群226〜230を含み、それぞ
れのPLA206〜210の出力を第2PLA出力バ
ス218を介してB−L1制御レジスタ215の
入力に個々に結合する。これらのバツフアすなわ
ちゲート群226〜230は、Bデコーダ217
の出力から得られたPLA出力ストローブS2,
SAB,SAD,SXBおよびSXDのそれぞれによつ
て選択、イネーブルされる。ストローブ信号ライ
ンS2,SAB,SAD,SXBおよびSXDの中の1つ
だけが与えられたマイクロワード・サイクルの間
にアクテイブ化される。アクテイブ化される特定
のストローブ・ラインは、その特定の制御サイク
ルでB−L2制御レジスタ216に駐在するマイ
クロワードのPLAストローブ・フイードのコー
テイングによつて決定される。 更に、第11.1および11.2図の制御シス
テムは第3のマルチプレツクス回路を含み、第1
制御機構(211〜213)によつて生成された
制御点信号を、第2制御機構(215〜217)
によつて生成された制御点信号とインタリーブ
し、それによつてこれらの2つの制御機構はデー
タ・プロセツサの動作の制御を交互に行なうこと
ができる。第3のマルチプレツクス回路はAデコ
ーダに対する複数ステージのAゲート群231お
よびBデコーダ217に対する複数ステージのB
ゲート群232を含む。Aゲート群231はクロ
ツク発生装置15からの正のAクロツク・パルス
によつて周期的にイネーブルされ、Bゲート群2
32はクロツク発生装置15からの正のBクロツ
ク・パルスによつて周期的にイネーブルされる。
従つて、Aデコーダ213からの制御点信号はA
クロツク・パルスの期間にデータ・プロセツサを
制御し、Bデコーダ217からの制御点信号はB
クロツク・パルスの期間にデータ・プロセツサを
制御する。このように、2つのデコーダ213お
よび217からの制御点信号はデータ・プロセツ
サを交互に制御するようにインタリーブされる。 第5.1および5.2図の実施例のように、第
1および第2サイクルPLA201および206
は第1図のデータ・プロセツサの命令レジスタ2
0から直接に駆動されるので、新しいプロセツサ
命令に極めて迅速に応答できる。これに対して、
4つの有効アドレス・デコーダPLA202,2
03,207および208は、有効アドレス・エ
ンコーダPLA233およびレジスタ234を介
して、プロセツサ命令に従属する入力を受取る。
簡略化のため、有効アドレス・エンコーダPLA
233はスタテイツクPLAであるものとする。
バス21を介して受取つたプロセツサ命令に応答
して、有効アドレス・エンコードPLA233は、
バス21を介して有効アドレス・エンコード
PLA233の入力に供給された、プロセツサ命
令が有するよりも少ないビツト数を有する命令識
別(ID)番号を生成する。この命令ID番号はB
デコーダ217の出力から適当な瞬間に得られた
再開始パルスS0によつてレジスタ234にロー
ドされる。レジスタ234の命令ID番号は、有
効アドレス・デコードPLA202,203,2
07および208の各々にあるANDアレイ部分
の入力の第1のセツトに並列に供給される。 有効アドレス・シーケンス・カウンタ235お
よびレジスタ236は有効アドレス・デコード
PLA202,203,207および208の
ANDアレイ部分の入力の第2のセツトに番号信
号のシーケンスを供給する。有効アドレス・シー
ケンス・カウタ235はレジスタ234に加えら
れた同じ再開始パルスS0よつて0にリセツトさ
れる。有効アドレス・デコーダPLAから必要と
されるマイクロワード数に応じて、有効アドレ
ス・シーケンス・カウンタ235はBデコーダ2
17から得られたストローブ・パルスSABによ
つて1回またはそれよりも多くの回にわたつ増分
される。有効アドレス・シーケンス・カウンタ2
35のシーケンス・カウント値は有効アドレス・
デコードPLA202および207の入力の第2
のセツトに直接供給され、他の2つの有効アドレ
ス・デコードPLA203および208の入力の
第2のセツトに対しては、レジスタ236を介し
て供給される。レジスタ236は再開始パルス
S0によつて0にリセツトされ、Aデコーダ21
3から得られたストローブ・パルスSACによつ
て有効アドレス・シーケンス・カウンタ235か
らのシーケンス・カウント値がレジスタ236に
ロードされる。 4つの実行デコードPLA204,205,2
09および210は同様に、実行エンコード
PLA237および実行シーケンス・カウンタ2
38によつて駆動される。実行エンコードPLA
237によつて命令ID番号が生成され、再開始
パルスS0によつてレジスタ239にロードされ
る。この命令ID番号は実行デコードPLA204,
205,209および210の各々の第1の入力
に供給される。実行シーケンス・カウンタ238
は再開始パルスS0よつて0にリセツトされ、B
デコーダ217から得られるストローブ・パルス
SXBによつて1回またはそれよりも多くの回に
わたつて増分される。実行シーケンス・カウンタ
238のシーケンス・カウント値は実行デコード
PLA204および209の第2の入力に直接に
供給されるとともに、レジスタ240を介して他
の2つの実行コードPLA205および210の
第2の入力に供給される。本実施例においても、
実行エンコードPLA237はスタテイツクPLA
であるものとする。 それぞれのダイナミツクPLA201〜210
の各々の内部タイミング・パルスC1,C2,C
3およびC4はPLAクロツク・ロジツク242
で生成されたPLAクロツク信号PC1〜PC16か
ら得られる。PLAクロツク信号PC1〜PC16の
中の特定の4つの信号から成るセツトが第3表に
示すようにPLA201〜210の各々に供給さ
れる。第3表で、例えば、第1サイクルPLA(P
1)はPLAクロツク信号PC1〜PC4を受取る。
PLAクロツク信号PC1乃至PC4はそれぞれ、P
1で必要な内部タイミング信号C1乃至C4を供
給する。 PLAクロツク・ロジツク242は各種のPLA
出力ストローブS1,S2,SAA,SAB,
SAC,SAD,SXA,SXB,SXCおよびSXDを
入力信号として受取り、更に、クロツク発生装置
15からの正のAおよびBクロツク・パルスなら
びにBデコーダ217からの再開始パルスS0を
入力信号として受取る。PLAクロツク・ロジツ
ク242はこれらの入力信号を使用する各種の組
合せ論理回路を含み、PLAクロツク信号PC1〜
PC16を生成する。PLAクロツク信号PC1〜
PC16の各々を生成するPLAクロツク・ロジツ
ク242の内部における組合せ論理が第4表に示
されている。第4表で、“ドツト”記号はANDを
表わし、“+”記号はORを表わす。第11.1
および11.2図の実施例のPLAクロツク信号
PC1〜PC9は第5.1および5.2図の実施例
のPLAクロツク信号PC1〜PC9の生成と同様の
方法で生成される。 第12図は第1図の命令レジスタ20に駐在す
るプロセツサ命令の各々に対し、第11.1およ
び11.2図の制御装置で生成される制御ワード
すなわちマイクロワード・シーケンスの全体の姿
を表わす。第12図における各々のブロツクはマ
イクロワードを表わす。ブロツク内の頭字語はそ
のマイクロワードが得られたPLA201乃至2
10の特定の1つの頭字語と一致する。各々のプ
ロセツサ命令の第1および第2のマイクロワード
P1およびP2はそれぞれ、第1および第2サイ
クルPLA201および206によつて与えられ
る。その後のマイクロワードPAA,PAB,
PAC,PAD,PAA,PAB,…は有効アドレ
ス・デコードPLA202,203,207およ
び209によつて与えられる。一般に、有効アド
レス・マイクロワードは操作される単数または複
数のオペランドに対する有効アドレスの計算を実
行し、前記オペランドを主記憶装置12から取出
すのに使用される。 有効アドレスを計算するマイクロワード・シー
ケンスの完了に続いて、実行デコードPLA20
4,205,209および210が動作し、“実
行”マイクロワードPXA,PXB,PXC,PXD,
PXA,PXB,…のシーケンスを生成する。これ
らのマイクロワードは一般に、プロセツサ命令を
“実行”する、言い換えれば所要のオペランドの
操作すなわちプロセツサ命令によつて要求された
操作を実行するように作用する。オペランド操作
後、最後のいくつかの“実行”マイクロワードが
段取り作業を実行するのに使用されることがあ
る。段取り作業は全マイクロワード・シーケンス
を完了し、次のプロセツサ命令に備えるのに実施
を必要とすることがある。 一般に、シーケンス全体の有効アドレス部分の
正確なマイクロワード数はプロセツサ命令ごとに
異なる。同様に、シーケンス全体の実行部分の正
確なマイクロワード数もプロセツサ命令ごとに異
なる。有効アドレス・セグメントのAデコーダ2
13を駆動する最後のマイクロワード、第12図
ではマイクロワード245はPLAストローブ
SXAを生成し、Aデコーダ213の次のマイク
ロワードのソースであるPXA(実行デコードPLA
204)を選択する、同様に、有効アドレス・セ
グメントのBデコーダ217を駆動する最後のマ
イクロワード、第12図ではマイクロワード24
6はPLAストローブSXBを生成し、Bデコーダ
217に次のマイクロワードを供給するPXB(実
行デコードPLA209)を選択する。これによ
つて、マイクロワード・シーケンスの有効アドレ
ス・セグメントから実行セグメントへの切換が行
なわれる。その後、実行セグメントの最後の2つ
のマイクロワードまでは、各々の実行デコード
PLAからのマイクロワードはPLAストローブを
生成し、生成されたPLAストローブはそれぞれ
の制御レジスタおよびデコーダ機構に対してマイ
クロワードを供給する次の実行デコードPLAを
選択する。実行セグメントの最後のAデコーダ・
マイクロワード、第12図ではマイクロワード2
47はPLAストローブS1を生成し、P1(第
1サイクルPLA201)を選択する。同様に、
実行セグメントの最後のBデコーダ・マイクロワ
ード、第12図ではマイクロワード248は
PLAストローブS2を生成し、P2(第2サイ
クルPLA206)を選択する。このように、現
在のプロセツサ命令の最後の2つのマイクロワー
ドが、次に実行されるプロセツサ命令の最初の2
つのマイクロワードのソースを選択する。 有効アドレス・マイクロワードと実行マイクロ
ワードによつて与えられたプロセツサ制御動作の
間の差異は極立つたものではない。例えば、ある
プロセツサ命令において、有効アドレスを計算す
るマイクロワードのあるものは実際には実行機能
と分類する方がより適切な機能を実行することが
ある。他のケースでは、実行マイクロワードのあ
るものは有効アドレス機能と分類する方がより適
切な機能を実行することがある。厳密な機能分類
を固守しないのは、アドレスおよび実行デコード
PLAのすべてが大体同じ物理的な大きさを有す
るようにマイクロワードを均一に分布するためで
ある。これによつて、これらのPLAのどれをと
つても、大きさが他のPLAよりもずつと大きく
なることはない。
【表】
【表】
【表】
【表】 【図面の簡単な説明】
第1図は本発明に従つて構成されたマイクロワ
ード制御システムが使用されるデイジタル・デー
タ・プロセツサの機能ブロツク図、第2図は第1
図のデータ・プロセツサの動作を説明するのに用
いられるタイミング図、第3図は本発明に従つて
構成され、かつ第1図のデータ・プロセツサの制
御装置を与えるのに使用されることがあるマイク
ロワード制御システムの第1の実施例の機能ブロ
ツク図、第4図は第3図の制御装置の動作を説明
するのに用いられるタイミング図、第5図は第
5.1および5.2図の配置を示す図、第5.1
および5.2図は本発明に従つて構成され、かつ
第1図のデータ・プロセツサの制御装置を与える
のに使用されることがあるマイクロワード制御シ
ステムの第2の実施例の機能ブロツク図、第6.
1乃至6.3図は第5.1および5.2図の制御
装置の動作を説明するのに使用されるタイミング
図、第7図は第7.1および7.2図の配置を示
す図、第7.1および7.2図は第5.1および
5.2図のダイナミツクPLAの各々の代表的な
構成形式の詳細を示す図、第8図は第7.1およ
び7.2図に示すPLAの動作を説明するのに用
いられるタイミング図、第9図は第5.1および
5.2図の制御装置の部分のPLA出力バツフア、
PLA出力バスおよび制御レジスタの詳細を示す
図、第10図は第10.1および10.2図の配
置を示す図、第10.1および10.2図は第9
図のPLA出力バツフア・ステージの1つ、L1
制御レジスタ・ステージの1つおよびL2制御レ
ジスタ・ステージの1つの代表的な構成形式の詳
細を示す図、第11図は第11.1および11.
2図の配置を示す図、第11.1および11.2
図は本発明に従つて構成され、かつ第1図のデー
タ・プロセツサの制御装置を与えるのに使用され
ることがあるマイクロワード制御システムの第3
の実施例の機能ブロツク図、第12図は第11.
1および11.2図の制御装置の代表的なマイク
ロワード・シーケンスのタイミング図である。 10……データ・プロセツサ、11……デー
タ・フロー装置、12……主記憶装置、13……
I/O装置、14……制御装置、15,15a…
…クロツク発生装置、16,17,18……制御
ライン、19……I/Oバス、20……命令レジ
スタ、21……バス、22……制御ライン、24
……第1サイクルPLA、25……第2サイクル
PLA、26……AデコードPLA、27……Bデ
コードPLA、28……CデコードPLA、29…
…DデコードPLA、30……Aゲート群、31
……Bゲート群、32,33,34……PLA出
力バツフア、35……A制御レジスタ機構、35
a……L1レジスタ、35b……L2レジスタ、
36……PLA出力バス、37……Aデコーダ、
40,41,42……PLA出力バツフア、43
……B制御レジスタ機構、43a……L1レジス
タ、43b……L2レジスタ、44……PLA出
力バス、45……Bデコーダ、46……制御ライ
ン群、47,48……制御点ライン、49……共
有制御点ライン、50,51……制御点ライン、
52,53……複数ライン・バス、54……制御
点ライン、55……エンコードPLA、56……
バス、57……シーケンス・カウンタ、58,5
9……バツフア・レジスタ、60……PLAクロ
ツク・ロジツク機構、61……出力バス、62…
…ANDアレイ、63……ORアレイ、64,6
5,66,67……プロダクト・ライン、68,
69,70,71,72,73……入力ライン、
74,75,76,77……出力ライン、80,
81,82,83,84,85……トランジス
タ、86……ビツト分割回路、87……有効化回
路、88……入力ライン、89,90,91……
インバータ、92,93……出力ライン、94,
95,96,97……トランジスタ、100,1
01,102,103,104,105,10
6,107,108……トランジスタ、110,
111,112,113……トランジスタ、11
4,115……トランジスタ、116,117,
118,119,120,121……トランジス
タ、122,123,124,125……トラン
ジスタ、126,127……トランジスタ、13
0,131,132,133……出力バツフア、
134……ストローブ・ライン、135,13
6,137……出力ライン、135a〜135n
……出力ライン、140a〜140n……バツフ
ア・ステージ、141a〜141n……バツフ
ア・ステージ、142a〜142n……バツフ
ア・ステージ、143a〜143n……バス・ラ
イン、144a〜144n……レジスタ・ステー
ジ、145a〜145n……レジスタ・ステー
ジ、146,147……出力ライン、150,1
51,152,153……トランジスタ、154
……接続点、155,156……導体、160…
…トランジスタ、161,162,163……導
体、164……トランジスタ、165……導体、
170,171,172,173……トランジス
タ、174,175……トランジスタ、176,
177……トランジスタ、178……導体、17
9……トランジスタ、180,181……接続
点、201……第1サイクルPLA、202,2
03……有効アドレス・デコードPLA、204,
205……実行デコードPLA、206……第2
サイクルPLA、207,208……有効アドレ
ス・デコードPLA、209,210……実行デ
コードPLA、211……A−L1制御レジスタ、
212……A−L2制御レジスタ、213……A
デコーダ、214……第1PLA出力バス、215
……BL−L1制御レジスタ、216……B−L
2制御レジスタ、217……Bデコーダ、218
……第2PLA出力バス、221〜225……ゲー
ト群、226〜230……ゲート群、231……
Aゲート群、232……Bゲート群、233……
有効アドレス・エンコーダPLA、234……レ
ジスタ、235……有効アドレス・シーケンス・
カウンタ、236……レジスタ、237……実行
エンコードPLA、238……実行シーケンス・
カウンタ、239,240……レジスタ、242
……PLAクロツク・ロジツク、300……制御
装置、301……PLA(A)、302……PLA(B)、
303……PLA(C)、304……PLA(D)、305
……OPコード・レジスタ、306……カウン
ト・レジスタ(A)、307……カウント・レジスタ
(B)、308……カウント・レジスタ(C)、309…
…カウント・レジスタ(D)、310……L1制御レ
ジスタ、311……L2制御レジスタ、312…
…デコーダ、313……ゲート群、314……
PLA出力バス、315,316,317,31
8……出力バツフア。

Claims (1)

  1. 【特許請求の範囲】 1 マイクロワードのシーケンスを用いて各プロ
    セツサ命令の実行を制御するマイクロプログラム
    式データ・プロセツサにおいて、 実行されるべきプロセツサ命令に応答して該プ
    ロセツサ命令の実行に必要なマイクロワードの
    夫々を個々に発生するように、それぞれのアドレ
    ス信号が並列に与えられ且つそれぞれのアクセス
    時間が重なりあつている複数のプログラマブル・
    ロジツク・アレイ機構と、 マイクロワードに応答して前記データ・プロセ
    ツサの動作を制御する制御回路と、 前記プログラマブル・ロジツク・アレイ機構の
    夫々から発生されたマイクロワードを各マイクロ
    ワード・サイクルに1つずつ前記制御回路へ選択
    的に供給するマルチプレツクス回路とを備え、 前記マイクロワードの各々は当該マイクロワー
    ドを発生したものを除く1つの前記プログラマブ
    ル・ロジツク・アレイ機構を識別するように符号
    化されたストローブ・フイールドを含み、前記制
    御回路は各マイクロワード中の前記ストローブ・
    フイールドに応答して前記マルチプレツクス回路
    ヘストローブ信号を供給する回路を含み、前記マ
    ルチプレツクス回路は該ストローブ信号に応答し
    て前記制御回路へマイクロワードを供給すべき次
    の前記プログラマブル・ロジツク・アレイ機構を
    選択するように構成されていることを特徴とする
    マイクロワード制御装置。
JP58013865A 1982-02-22 1983-02-01 マイクロワ−ド制御装置 Granted JPS58172754A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US350660 1982-02-22
US06/350,660 US4594661A (en) 1982-02-22 1982-02-22 Microword control system utilizing multiplexed programmable logic arrays

Publications (2)

Publication Number Publication Date
JPS58172754A JPS58172754A (ja) 1983-10-11
JPH0454254B2 true JPH0454254B2 (ja) 1992-08-28

Family

ID=23377663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58013865A Granted JPS58172754A (ja) 1982-02-22 1983-02-01 マイクロワ−ド制御装置

Country Status (5)

Country Link
US (1) US4594661A (ja)
EP (1) EP0087009B1 (ja)
JP (1) JPS58172754A (ja)
CA (1) CA1180818A (ja)
DE (1) DE3364296D1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504904A (en) * 1982-06-15 1985-03-12 International Business Machines Corporation Binary logic structure employing programmable logic arrays and useful in microword generation apparatus
US4661901A (en) * 1982-12-23 1987-04-28 International Business Machines Corporation Microprocessor control system utilizing overlapped programmable logic arrays
US4611273A (en) * 1983-12-30 1986-09-09 International Business Machines Corporation Synchronized microsequencer for a microprocessor
GB2161001B (en) * 1984-06-25 1988-09-01 Rational Distributed microcode address apparatus for computer
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
US4791551A (en) * 1985-02-11 1988-12-13 Analog Devices, Inc. Microprogrammable devices using transparent latch
DE3650602T2 (de) * 1985-04-08 1997-06-12 Hitachi Ltd Datenverarbeitungssystem
JPS61237150A (ja) * 1985-04-15 1986-10-22 Hitachi Ltd 入出力演算のデータ処理方式
JPS63317828A (ja) * 1987-06-19 1988-12-26 Fujitsu Ltd マイクロコ−ド読み出し制御方式
US5321845A (en) * 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
US5115510A (en) * 1987-10-20 1992-05-19 Sharp Kabushiki Kaisha Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5151995A (en) * 1988-08-05 1992-09-29 Cray Research, Inc. Method and apparatus for producing successive calculated results in a high-speed computer functional unit using low-speed VLSI components
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
US5412785A (en) * 1990-04-09 1995-05-02 Motorola, Inc. Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA
US5280595A (en) * 1990-10-05 1994-01-18 Bull Hn Information Systems Inc. State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency according to status signals received from different functional sections
US5581717A (en) * 1994-03-01 1996-12-03 Intel Corporation Decoding circuit and method providing immediate data for a micro-operation issued from a decoder
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5600263A (en) * 1995-08-18 1997-02-04 Xilinx, Inc. Configuration modes for a time multiplexed programmable logic device
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US6237101B1 (en) 1998-08-03 2001-05-22 International Business Machines Corporation Microprocessor including controller for reduced power consumption and method therefor
US7342415B2 (en) * 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US7236009B1 (en) * 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
US7428721B2 (en) * 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US7679401B1 (en) * 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
EP2597776A3 (en) * 2007-03-20 2014-08-20 Tabula, Inc. Configurable IC having a routing fabric with storage elements
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4991737A (ja) * 1972-12-26 1974-09-02
JPS5068747A (ja) * 1973-10-22 1975-06-09
JPS51852A (ja) * 1974-06-06 1976-01-07 Nat Semiconductor Corp
JPS55116147A (en) * 1979-01-16 1980-09-06 Digital Equipment Corp Control memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156925A (en) * 1976-04-30 1979-05-29 International Business Machines Corporation Overlapped and interleaved control store with address modifiers
US4394736A (en) * 1980-02-11 1983-07-19 Data General Corporation Data processing system utilizing a unique two-level microcoding technique for forming microinstructions
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4991737A (ja) * 1972-12-26 1974-09-02
JPS5068747A (ja) * 1973-10-22 1975-06-09
JPS51852A (ja) * 1974-06-06 1976-01-07 Nat Semiconductor Corp
JPS55116147A (en) * 1979-01-16 1980-09-06 Digital Equipment Corp Control memory

Also Published As

Publication number Publication date
EP0087009B1 (en) 1986-07-02
EP0087009A1 (en) 1983-08-31
DE3364296D1 (en) 1986-08-07
JPS58172754A (ja) 1983-10-11
CA1180818A (en) 1985-01-08
US4594661A (en) 1986-06-10

Similar Documents

Publication Publication Date Title
JPH0454254B2 (ja)
US5555397A (en) Priority encoder applicable to large capacity content addressable memory
US3800129A (en) Mos desk calculator
US6222757B1 (en) Configuration memory architecture for FPGA
US4506341A (en) Interlaced programmable logic array having shared elements
JPH0158534B2 (ja)
US7688611B2 (en) CAM asynchronous search-line switching
US6662260B1 (en) Electronic circuits with dynamic bus partitioning
EP0086992B1 (en) Microword generation mechanism utilizing separate programmable logic arrays
WO1982002783A1 (en) Stored-program control machine
EP0358955B1 (en) Microprocessor in a redundant configuration with a monitoring mode of operation
EP0082980B1 (en) Signal transfer arrangement using a bus as a storage device
US8513975B2 (en) Device and method for enabling multi-value digital computation and control
JPH0216584B2 (ja)
US3944983A (en) Expandable data storage for a calculator system
US3958223A (en) Expandable data storage in a calculator system
US4931989A (en) Microword generation mechanism utilizing a separate programmable logic array for first microwords
US4004280A (en) Calculator data storage system
US7058832B2 (en) Idle power reduction for state machines
US5724302A (en) High density decoder
US5758167A (en) Interrupt management unit and a method for identifying an interrupt request having the highest priority
JPH04326426A (ja) 命令解読回路
US4858179A (en) Apparatus for determining the minimum number of storage elements required to store the states of a circuit
SU297130A1 (ru) Дешифратор на кг'иотронах
WO1998036498A1 (en) High density decoder