JPH0124655Y2 - - Google Patents
Info
- Publication number
- JPH0124655Y2 JPH0124655Y2 JP1988046919U JP4691988U JPH0124655Y2 JP H0124655 Y2 JPH0124655 Y2 JP H0124655Y2 JP 1988046919 U JP1988046919 U JP 1988046919U JP 4691988 U JP4691988 U JP 4691988U JP H0124655 Y2 JPH0124655 Y2 JP H0124655Y2
- Authority
- JP
- Japan
- Prior art keywords
- microword
- processor
- pla
- microwords
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
〔本考案の技術分野〕
本考案は、一連のマイクロワードがプロセツサ
命令の実行を制御するために使用されるマイクロ
プログラム化データ・プロセツサ及びデイジタ
ル・コンピユータにおけるマイクロワード発生機
構に関する。 本考案は、主たる回路部分が大規模集積
(LSI)回路チツプ上に形成されたデータ・プロ
セツサ及びデイジタル・コンピユータにおいて特
に有用である。 〔背景の技術〕 マイクロプログラム化されたデイジタル・コン
ピユータまたはデータ・プロセツサにおいて、内
部記憶ユニツトからマイクロワードが読出され、
内部プロセツサ制御動作を生じる。この制御動作
は、ユーザーのソフトウエア・プログラムから得
られたプロセツサ命令を実行するために必要とな
るものである。マイクロワードは記憶ユニツトか
ら読出され、1時に1つ宛、制御レジスタへセツ
トされる。各マイクロワードは複数の2進ビツト
を含み、その全てまたは1部は複数ビツトの制御
群または制御フイールドとして組識化されてよ
い。制御レジスタはデコーダ機構を駆動し、デコ
ーダ機構は基本的制御地点信号を発生し、これら
信号はデータ・プロセツサに存在する各種のデー
タ・フロー・ゲート及びデータ操作機構を制御す
る。各マイクロワードは、1つのマイクロワー
ド・サイクルの間、データ・プロセツサの内部動
作を制御する。プロセツサ命令を実行するために
は、通常、いくつかのマイクロワードが必要であ
る。あるプロセツサ命令は少数のマイクロワード
を必要とするのみであるが、プロセツサ命令によ
つては、その実行を完了するために多くのマイク
ロワードを必要とするものがある。 マイクロワードは制御記憶機構と呼ばれる別個
の記憶ユニツトに置かれるか、マイクロワードの
排他的使用のために確保されたプロセツサ・メイ
ン・ストレージ・ユニツトの1部に置かれてよ
い。別個の記憶ユニツトが使用される場合、これ
らのユニツトは読出し/書込み型か読出専用型の
いずれでもよい。小型のデータ・プロセツサの場
合、現在の傾向は、マイクロワードをいわゆる読
取専用記憶(ROS)ユニツトに記憶される方向
にある。いずれにせよ、現在使用されているマイ
クロワード記憶ユニツトはランダム・アクセス型
のものであり、記憶ユニツトにおける所望の記憶
位置をアドレスするための通常のアドレシング回
路を含む。 現在の技術動向は、マイクロワード制御記憶部
分を含む主たる回路部分を、LSI回路チツプ上に
設ける傾向にある。その目的は単一の集積回路チ
ツプ上で実行できるデータ処理機能の数を増大さ
せることであり、究極の目的は、単一のチツプ上
に完全なデータ・プロセツサまたはデイジタル・
コンピユータを形成することである。現在のとこ
ろ、多数の回路を単一のチツプ上に集積する最良
の技術は、いわゆる金属酸化物半導体電界効果ト
ランジスタ(MOSFET)技術である。この技術
は、集積回路チツプ上に非常に稠密な回路を形成
することを可能にする。残念ながら、MOSFET
回路は、他の集積回路技術(例えばバイポーラ集
積回路技術)を使用して製造された回路よりも、
幾分遅い動作速度を有する。従つて、MOSFET
回路を使用するデータ・プロセツサ機構の動作速
度を増大させる手段が望まれる。これは、特に、
データ・プロセツサのマイクロワード制御記憶部
分についていえることである。なぜならば、この
部分は、データ・プロセツサの他の部分に対する
基本的制御信号を発生するところだからである。 〔本考案の要約〕 本考案は、MOSFET回路技術を用いて容易に
製造することができ、かつ現在入手可能な同じ大
きさの(全体のマイクロワード・ビツト容量)
MOSFETマイクロワード発生機構で実現される
動作速度よりもかなり早い動作速度を有するマイ
クロワード発生機構を実現する。これは、マイク
ロワード発生機構の中の通常のランダム・アクセ
ス制御記憶ユニツトと、そのアドレシング回路
を、複数のプログラム可能論理アレイ(PLA)
で置換することによつて可能となる。これら
PLAの最初のものは、実行されるべき各プロセ
ツサ命令に応答して、その命令の実行に必要な最
初のマイクロワードを与える。他のPLAは、同
様に各プロセツサ命令に応答して、その命令の実
行に必要な残りのマイクロワードを与える。 最初のPLAでは、比較的少数のマイクロワー
ドが必要とされるに過ぎない。なぜならば、各種
のプロセツサ命令について、非常に限られた種類
の制御動作が最初のマイクロワードで実行されれ
ばよいからである。特に、各種のプロセツサ命令
をグループに分類し、グループ内では各命令につ
いて最初のマイクロワードが同じであるようにす
ることができる。従つて、必要とされる最初のサ
イクルのマイクロワードの種類の数は、実質的
に、全体的なプロセツサ命令セツト中の異なつた
命令の数よりも小さい。この理由により、最初の
マイクロワードPLAは比較的にサイズが小さく、
従つて比較的に早い動作速度を有する。従つて、
各プロセツサ命令に対する最初のマイクロワード
は、比較的迅速に発生される。これによつて、他
のPLAは、各プロセツサ命令について残りのマ
イクロワードを発生するため、より多くの時間を
有することになる。換言すれば、他のPLAのマ
イクロワードは、最初のマイクロワード・サイク
ルが完了するまで必要とされないから、それらの
PLAは幾分大きくてもよく、また幾分遅くても
よいことになる。 最初のマイクロワードPLAは、各プロセツサ
命令に対するマイクロワード・シーケンスの発生
中、優先発走(head start)のビツトを与える。
これは、特にブランチ型及びジヤンプ型のプロセ
ツサ命令の場合に有用である。なぜならば、プロ
セツサ命令の新しいセツトの上で新しいスタート
を開始しなければならない時、マイクロワード発
生機構はより速い反応を起すことができるからで
ある。大部分のユーザー・プログラムはかなりの
ブランチ命令及びジヤンプ命令を含むので、これ
は全体的処理時間のかなりの節減を意味する。 上記の考えは、各プロセツサ命令の実行に必要
な第2のマイクロワードに拡張することができ
る。第2のPLAは、各プロセツサ命令の実行に
必要な第2のマイクロワードを発生するだけのた
めに設けることができる。概して、この第2のマ
イクロワードPLAは、最初のマイクロワード
PLAよりも幾分大きくかつ遅いものとなる。な
ぜならば、第2のマイクロワード・サイクルで
は、多様な制御動作が必要となるからである。し
かし、この第2のマイクロワードPLAは、第2
サイクルのマイクロワードに続く残りのマイクロ
ワードを発生する残りのPLAよりも、小さくか
つ早いものである。別個にされた第2のマイクロ
ワードPLAを使用することによつて、そのよう
な残りのPLAは、有効なマイクロワードを出力
し始めるに当つて、更に多くの時間を有すること
になる。換言すれば、各プロセツサ命令につい
て、最初の2つのマイクロワード・サイクルが完
了してしまうまで、残りのPLAはマイクロワー
ドを与え始める必要はない。 〔第1図のデータ・プロセツサの説明〕 第1図を参照すると、そこにはLSIチツプ上で
組立てるのに特に適したデータ・プロセツサ(デ
イジタル・コンピユータ)10の機能的ブロツク
図が示される。データ・プロセツサ10はデー
タ・フロー・ユニツト11、主記憶装置12、入
出力(I/O)装置13、制御装置14、及びク
ロツク発生器15を含む。データ・フロー・ユニ
ツト11は中央演算処理装置(CPU)とも呼ば
れ、演算論理機構(ALU)、各種のハードウエ
ア・レジスタ及びカウンタ、局所記憶装置、これ
らの要素を相互に結合する母線システムを含む。
データ・フロー・ユニツト11はデータの加算、
減算、再配列及び他の操作を実行し、所望の結果
を発生する装置である。制御装置14は、各種の
制御点信号によつて、データ・フロー・ユニツト
11、主記憶装置12、I/O装置13の動作を
制御する。上記の制御点信号は、これら装置に設
けられた各種の回路機構へ与えられる。制御装置
14は、実行されるべき各プロセツサ命令につい
て、一連のマイクロワードを発生するマイクロワ
ード発生機構を含む。これらのマイクロワードは
制御点信号を発生し、これらの信号は他の装置に
おける基本動作を制御する。 データ・フロー・ユニツト11は命令レジスタ
16、Aレジスタ17、Bレジスタ18を含む。
Aレジスタ17、Bレジスタ18の双方はそれら
の入力回路及び出力回路を多重導線プロセツサ母
線19へ接続される。それは、複数ビツトの2進
信号を母線19へ与え、かつ複数ビツトの2進信
号を母線19から受取るためである。Aレジスタ
17及びBレジスタ18はALU20を駆動し、
ALU20の出力は1組のゲート回路21を介し
てプロセツサ母線19へ接続される。ALU制御
回路22は、制御装置14から与えられた制御点
信号に応答して、ALU20によつて実行される
べき特定の算術または論理動作を設定する。更
に、データ・フロー・ユニツト11はプログラ
ム・カウンタ23、現命令アドレス・レジスタ2
4、データ・アドレス・カウンタ25を含む。こ
れらの装置は、主記憶装置12のために記憶アド
レスを与えるため、プロセツサ母線19へ接続さ
れる。 更に、データ・フロー・ユニツト11は局所記
憶装置26を含む。装置26には局所記憶アドレ
ス・レジスタ(LSAR)27及び局所記憶デー
タ・レジスタ(LSDR)28が付属している。
LSDR28はプロセツサ母線19へ接続され、複
数ビツトの2進データをプロセツサ母線19から
局所記憶装置26へ(またはその逆方向へ)転送
するために使用される。局所記憶装置26は、デ
ータ・プロセツサ10によつて実行されつつある
ユーザー・プログラムの実行中に、データを一時
的に記憶するために使用される各種の汎用レジス
タを含む。説明を簡単にするため、LSAR27
は、制御装置14から局所記憶アドレスを受取る
ものと仮定する。 更に、データ・フロー・ユニツト11は1組の
プリチヤージ(precharge)/デイスチヤージ
(discharge)(PC/DC)回路29を含む。これ
はプロセツサ母線19の中にある個々の導線を選
択的にプリチヤージしたりデイスチヤージしたり
するために使用される。PC/DC回路29は、制
御装置14から制御点信号母線30及び31を介
して、制御ビツト及びマスク・ビツトを受取る。
制御ビツトのコードは、チヤージングまたはデイ
スチヤージング(またはこれら双方)が実行され
るべきかどうかを決定し、マスク・ビツトは、そ
のプロセツサ母線が影響を受けるかを決定する。 1つのレジスタから他方のレジスタへプロセツ
サ母線19を介してデータを転送するには、先ず
プロセツサ母線19の全ての線をプリチヤージす
る。その後、選択された源のレジスタが能動化さ
れて、論理1の値を有すべき線を選択的にデイス
チヤージする。デイスチヤージされなかつた線は
論理0の値を表わす。適当な宛先レジスタが能動
化されて、プロセツサ母線19上に現われた完全
な2進データ・パターンを受取る。 主記憶装置12は主記憶機構32、記憶アドレ
ス・レジスタ(SAR)33、記憶データ・レジ
スタ(SDR)34を含む。SAR33は、プログ
ラム・カウンタ23及びデータ・アドレス・カウ
ンタ25から記憶アドレスを受取るため、プロセ
ツサ母線19へ接続される。SDR34は、主記
憶機構32からプロセツサ母線19へ(またはそ
の反対方向へ)データ、命令などを転送するた
め、プロセツサ母線19へ接続される。 I/O装置13は入出力(I/O)機構35を
含む。I/O機構35はI/O母線36へ接続さ
れ、I/O母線36はデータ・プロセツサ10に
関連した各種の周辺装置へ接続される。I/O機
構35は、I/Oレジスタ37を介してプロセツ
サ母線19へ接続される。I/Oレジスタ37
は、I/O機構35からプロセツサ母線19へ
(またはその反対方向へ)複数ビツトの2進情報
を転送するために使用される。 実行されるべきユーザー・プログラムは、最
初、I/O母線36へ接続された周辺装置の1つ
から、主記憶機構32へロードされる。これは、
I/O機構35、I/Oレジスタ37、プロセツ
サ母線19及び記憶データ・レジスタ34を介し
て達成される。その後、ユーザー・プログラム
は、主記憶機構32から順次にユーザ・プログラ
ムを構成する各種のプロセツサ命令を読出すこと
によつて実行される。各プロセツサ命令は、順番
に、SDR34及びプロセツサ母線19を介して
命令レジスタ16へ転送される。命令レジスタ1
6に存在するプロセツサ命令(または少なくとも
その実効動作コード部分)は、制御装置14へ実
行されるべき特定のプロセツサ命令を知らせるた
め、多重線母線16aを介して制御装置14へ与
えられる。 命令レジスタ16に存在する各プロセツサ命令
に応答して、制御装置14にあるマイクロワード
発生機構は、各プロセツサ命令のために一連のマ
イクロワードを発生する。制御装置14にあるデ
コーダ機構は、1時に1つ宛マイクロワードに応
答して、各マイクロワードのために複数の制御点
信号を発生する。これら制御点信号のあるもの
は、データ・プロセツサ10にある各種のレジス
タ、カウンタ、及びその他の装置に関してデータ
をロードし、またはデータをゲート・アウトする
ように制御する。図を簡単にするため、各種の入
力ロード制御点線及び出力ゲート制御点線は第1
図に示されていない。制御点信号のあるものは、
局所記憶アドレス・レジスタ27のためにアドレ
スを与え、また他のものは、ALU制御回路22
及びPC/DC回路29に対する制御信号となる。 〔第2図の制御装置の説明〕 ここで第2図を参照すると、そこには第1図の
制御装置14の代表的構成が詳細に示される。こ
の構成は、本考案に従つて構成されるマイクロワ
ード発生機構の第1実施例を含む。このマイクロ
ワード発生機構は第1サイクルPLA40、第2
サイクルPLA41、1組の実効アドレス・デコ
ードPLA42、及び1組の実行デコードPLA4
3によつて表わされる複数のPLAを含む。これ
らPLA40−43の各々は、命令レジスタ16
に存在するプロセツサ命令に応答して、そのよう
な命令を実行するために必要なマイクロワードを
発生する。 PLA40及び41は、それぞれ命令を実行す
るのに必要な第1及び第2のマイクロワードを与
える。次のいくつかのマイクロワードはPLA4
2によつて与えられる。概して、PLA42によ
つて与えられたマイクロワードは、処理されるべ
きオペランドに対する実効アドレスの計算を実行
し、かつ主記憶機構32からそのようなオペラン
ドを取出すために使用される。実効アドレスを計
算するマイクロワードが完了した後、プロセツサ
命令を実行するのに必要なマイクロワードの残り
のものが、PLA43によつて与えられる。これ
らのマイクロワードは、プロセツサ命令を実行す
る。すなわち、それらはプロセツサ命令によつて
要求される所望のオペランドの処理を実行する。
オペランド処理が完了した後、PLA43は、プ
ロセツサ命令の全体的マイクロワード・シーケン
スを完了するのに必要な他のマイクロワードを与
える。 例として、PLA42及び43の各々は、相互
に並列に動作させられる4つのPLAを含むもの
と仮定する。これらのPLAは、所望の数のマイ
クロワードが与えられてしまうまで、反復する1
−2−3−4のシーケンスでマイクロワードを与
える。 PLA40−43からのマイクロワードは1時
に1つ宛、制御レジスタ44へ与えられる。各マ
イクロワードは、制御レジスタ44に存在する
時、デコーダ45を駆動する。駆動されたデコー
ダ45は、1つのマイクロワード制御サイクルの
間、適当な制御点信号を発生する。各マイクロワ
ードは比較的多数のビツトを有し、これらのビツ
トはグループ化されて、いくつかの複数のビツト
より成る制御フイールドにされる。これら制御フ
イールドのあるものは、エンコードされた制御フ
イールドである。これらの制御フイールドは、適
当な個々の制御点信号を発生するため、デコーダ
45によつてデコードされる。他の制御フイール
ドはエンコードされていないビツト有意の制御フ
イールドである。ビツト有意制御フイールドにあ
るビツト位置は、デコーダ45をそのまま通過し
て適当な出力制御点線へ与えられる。クロツク発
生器15はクロツク・パルスを与える。クロツ
ク・パルスは、制御点信号がデコーダ45の出力
に実際に現われる時点を決定する。ある種のデー
タ・プロセツサにおいては、マイクロワード・サ
イクル当り1つのクロツク・パルスが存在する
が、データ・プロセツサによつては、各マイクロ
ワード・サイクルに対して、時間的にスペースを
置かれた1群のクロツク・パルスが存在する。 制御レジスタ44へロードされるべき特定のマ
イクロワードの選択は、PLA出力ゲート46−
49、及びマイクロワード自体によつて発生され
るPLA出力ストローブ・パルス(ストローブ母
線S1−S4上にある)によつて達成される。制
御レジスタ44に存在する各マイクロワードは
PLAストローブ・パルスを発生し、このパルス
は、制御レジスタ44に対して次のマイクロワー
ドを与えるべきPLAを選択する。制御レジスタ
44へマイクロワードを与えるPLAと同じ数の
異なつたPLAストローブ制御点線がデコーダ4
5から出され、それらの各々はPLA出力ゲート
の異なつた1つへ接続される。各マイクロワード
にある制御フイールドの1つは、PLAストロー
ブ制御フイールドである。各マイクロワードにつ
いて、このPLAストローブ制御フイールドはデ
コードされ、PLAストローブ制御点線の特定の
1つが能動化される。それは、特定のPLAに対
する出力ゲートを能動化し、そのPLAから制御
レジスタ44へマイクロワードを通過させるため
である。 このようにして、PLA40から与えられたマ
イクロワードが制御レジスタ44に存在する時、
デコーダ45から母線S2上のPLA出力ストロ
ーブ・パルスが発生される。このパルスはゲート
47を能動化して、PLA41から制御レジスタ
44へマイクロワードを通過させる。PLA41
からのマイクロワードが制御レジスタ44に存在
する時、それはデコーダ45から母線S3中に含
まれる線S3a(図示せず)上にPLAストロー
ブ・パルスを発生する。このパルスは、実効アド
レス・デコードPLAの最初のものから制御レジ
スタ44へマイクロワードを与えさせる。同様
に、最初の実効アドレス・デコードPLAから生
じたマイクロワードは、母線S3中の線S3b
(図示せず)上にPLAストローブ・パルスを発生
する。このパルスは、第2の実効アドレス・デコ
ードPLAからマイクロワードを選択する。以下
同様である。PLA43からの最後のマイクロワ
ードは母線S1上にPLAストローブ・パルスを
発生する。このパルスは、制御レジスタ44へ与
えられるべき他のマイクロワードをPLA40か
ら発生する。このようにして、制御レジスタ44
に存在する各マイクロワードは、制御レジスタ4
4へ与えられるべき次のマイクロワードの源を選
択するように働く。 PLA40,PLA41,PLA42,PLA43の
各々は適当な数の「積」線によつて出力ORアレ
イへ接続された入力ANDアレイを含む。現在の
実施例において、これらPLAの各々は「静的」
PLAである。後の実施例では、「動的」PLAが使
用される場合を説明する。 PLA40の場合、命令レジスタ16にある命
令ビツトは母線16aを介して直後に、PLAの
ANDアレイに対する入力線へ与えられる。命令
ビツトの特定のコードに対応して、ANDアレイ
は特定の「積」線を能動化する。特定の「積」線
の能動化は、PLAのORアレイをして、そのOR
アレイ出力線上に特定のマイクロワード・ビツ
ト・パターンを発生せしめる。ORアレイ出力線
はゲート46の入力へ接続される。PLA40の
ためのORアレイの各「積」線は、異なつたマイ
クロワードを与えるため個性化される。PLA4
0のANDアレイは個性化され、異なつたプロセ
ツサ命令に対する異なつた命令ビツト・コードが
適当な「積」線を能動化するようにされる。
PLA40の場合、比較的に少数のマイクロワー
ドのみが必要である。なぜならば、異なつたプロ
セツサ命令をグループにまとめ、グループ内の各
命令については、1つの同じマイクロワードを使
用するようにすることができるからである。 PLA41は、各種のプロセツサ命令のために
第2マイクロワードを与えるように構成されかつ
接続される。概して、PLA41はPLA40より
も幾分多数のマイクロワードを含む。しかし、
PLA41における異なつたマイクロワードの数
は、プロセツサ命令セツトにおける異なつたフロ
セツサ命令の全数よりも実質的に少ない。 各プロセツサ命令に対する第1及び第2サイク
ルの後では、残りのマイクロワード・サイクルに
対するマイクロワードは、PLA42及び43か
ら得られる。このため、命令レジスタ16から取
られたプロセツサ命令ビツトが、エンコード
PLA50の入力ANDアレイへ与えられる。それ
に応答して、PLA50の出力ORアレイは、PLA
50の入力へ与えられつつあるプロセツサ命令を
独特に表示する命令識別(ID)番号を出力する。
この命令識別番号は、PLA50の入力へ与えら
れたプロセツサ命令ビツトよりも、少ない数のビ
ツトを有する。これは、PLA42及び43で要
求されるANDアレイ入力線の数を減少させる。
現在の実施例において、PLA50は静的PLAで
あり、PLA42及び43と比較して、相対的に
小さなサイズを有する。 前のプロセツサ命令に対するマイクロワード・
シーケンスの終り近くで、新しいプロセツサ命令
に対する命令識別番号が、デコーダ45から与え
られる適当な制御点信号によつて、複数段レジス
タ51へロードされる。この制御点信号は制御点
線52上に現われ、かつシーケンス・カウンタ5
3及び54の各々をゼロ状態へリセツトするた
め、これらカウンタのリセツト端子へ与えられ
る。 レジスタ51から取られた複数ビツトの命令識
別番号は、PLA42の各々におけるANDアレイ
の第1群の入力へ与えられる。シーケンス・カウ
ンタ53から取られた複数ビツトのシーケンス・
カウント番式は、PLA42の各々におけるAND
アレイの第2群の入力へ与えられる。これらの組
合せられた入力、命令識別番号、及びシーケン
ス・カウント番号は、実効アドレス・デコード
PLAの各々をして、特定のマイクロワードを選
択せしめるとともに出力させる。これらのマイク
ロワードは、1時に1つ宛制御レジスタ44へ与
えられる。最後のマイクロワードが制御レジスタ
44へ与えられたとき、シーケンス・カウンタ5
3は1だけ増進される。それは、PLA42へ他
のシーケンス・カウント番号を与えるためであ
る。これは、PLA42の各々をして、他のマイ
クロワードを選択させると共にそれを出力され
る。これらの他のマイクロワードは1時に1つ宛
制御レジスタ44へ与えられ、PLA42の入力
へ更にシーケンス番号を与えるため、再びシーケ
ンス・カウンタ53が増進される。この過程は、
実行されつつあるプロセツサ命令について、所望
の数の実効アドレス・デコード・マイクロワード
が発生されてしまうまで、必要に応じて何度も繰
返される。 PLA43は、現在のプロセツサ命令の実行を
完了するのに必要な残りのマイクロワードを発生
するため、同じように動作する。PLA42から
制御レジスタ44へロードされた最後のマイクロ
ワードは、ストローブ母線S4上に適当なPLA
出力ストローブ信号を発生する。それは、PLA
43からのマイクロワードの選択を開始するため
である。その後、PLA43から発生した各マイ
クロワードは、制御レジスタ44へ与えられるべ
き次の実行デコード・マイクロワードを選択する
ために使用される。最後の実行デコード・マイク
ロワードは、適当なPLAストローブ信号を発生
してPLA40から出力を選択し、次のプロセツ
サ命令のためにマイクロワード・シーケンスを開
始するために使用される。PLA43のためのシ
ーケンス・カウンタ54は、PLA43によつて
与えられたマイクロワードの各組のために、1度
だけ増進される。 現在のプロセツサ命令に対するマイクロワー
ド・シーケンスは、現在のプロセツサ命令を実行
する外に、主記憶機構32から次のプロセツサ命
令を取出し、それを命令レジスタ16へロードす
る。これは、プログラム・カウンタ23を増進さ
せ、主記憶機構32にある次のプロセツサ命令に
アクセスするため、増進されたプログラム・カウ
ントを記憶アドレス・レジスタ33へ与えること
によつて達成される。命令レジスタ16に対する
次のプロセツサ命令のロードは、それが現在のプ
ロセツサ命令の実行完了に影響を与えない時点に
なされる。具体的には、それはPLA40及び4
1が現在の命令についてそれらのマイクロワード
を与え、かつ現在の命令について命令識別番号が
レジスタ51へロードされた後になされる。 〔第2図の制御装置の動作の説明〕 PLA40及び41の各々は比較的小さなサイ
ズで、従つて比較的に早い動作速度を有する。具
体的に説明すれば、PLA40は、命令レジスタ
16からプロセツサ命令ビツトの新しい組を受取
つた後、50ナノ秒以内で有効な出力マイクロワー
ドを発生できるように、十分に小さくかつ十分に
高速である。これによつて、制御装置の構成は、
その中で各マイクロワード制御サイクルが例えば
50ナノ秒の持続時間を有するように作ることがで
きる。他方、PLA41は、PLA40よりも幾分
大きくかつ幾分低速であることができる。これ
は、PLA40へ割当てられた50ナノ秒がPLA4
1へ追加の50ナノ秒を与えて、有効な出力マイク
ロワードを発生させるようにするからである。従
つて、PLA41に対する要件は、それが命令レ
ジスタ16から新しい命令ビツトを受取つた後、
100ナノ秒以内で有効な出力マイクロワードを発
生できることである。 PLA40及び41を使用することによつて、
PLA42は有効な出力マイクロワードを発生し
始めるに当つて、追加的な100ナノ秒を有するこ
とになる。換言すれば、PLA42は、最初の有
効な実効アドレス・マイクロワードを与えるた
め、150ナノ秒までの時間を有することになる。
これは、エンコードPLA50が命令識別番号を
発生し、レジスタ51がその番号を受取つてそれ
をPLA42へ与え、PLA42がそのような番号
に応答して、最初の実効アドレス・マイクロワー
ドを発生するのに必要な時間を与える。 或る種のプロセツサ命令の場合、新しい命令を
命令レジスタ16へロードし、PLA40,41,
50の出力が次の命令のために必要とされる前
に、これらPLAを能動化するための十分の時間
が存在する。しかし、これはいわゆるブランチ命
令及びジヤンプ命令の場合にはあてはまらない。
もしブランチ条件またはジヤンプ条件が満足させ
られるならば、新しい「シーケンス外の」プロセ
ツサ命令が命令レジスタ16へ迅速にロードさ
れ、その実行ができるだけ早く開始されねばなら
ない。PLA40及び41によつて与えられる早
い反応時間及び優先発走が、これを可能にする。
換言すれば、PLA40及び41は、ブランチ型
及びジヤンプ型のプロセツサ命令の効率をかなり
高める。曲型的なユーザー・プログラムは、時間
の60%をブランチ命令及びジヤンプ命令で使用す
るので、これはデータ・プロセツサの効率の点で
大きな改善となる。 PLA40及び41を比較的小さくかつ高速に
することができる理由は、各種のプロセツサ命令
の第1及び第2マイクロワード制御サイクルに対
しては、比較的に少数の異なつたマイクロワード
が必要となるに過ぎないからである。換言すれ
ば、完全なプロセツサ命令セツトを形成する各種
のプロセツサ命令を、第1組のグループへ分類
し、第1サイクルのマイクロワードがグループ内
の各命令について同一になるようにすることがで
きる。同様に、各種のプロセツサ命令を第2組の
グループに分類し、第2のマイクロワードがグル
ープ内の各命令について同一になるようにするこ
とができる。従つて、PLA40及び41の各々
は、特定のプロセツサ命令が帰属する包轄的な種
類又はグループを認識するだけでよい。PLAは、
各命令の具体的ビツトの全てを認識したりそれら
に応答したりする必要はない。
命令の実行を制御するために使用されるマイクロ
プログラム化データ・プロセツサ及びデイジタ
ル・コンピユータにおけるマイクロワード発生機
構に関する。 本考案は、主たる回路部分が大規模集積
(LSI)回路チツプ上に形成されたデータ・プロ
セツサ及びデイジタル・コンピユータにおいて特
に有用である。 〔背景の技術〕 マイクロプログラム化されたデイジタル・コン
ピユータまたはデータ・プロセツサにおいて、内
部記憶ユニツトからマイクロワードが読出され、
内部プロセツサ制御動作を生じる。この制御動作
は、ユーザーのソフトウエア・プログラムから得
られたプロセツサ命令を実行するために必要とな
るものである。マイクロワードは記憶ユニツトか
ら読出され、1時に1つ宛、制御レジスタへセツ
トされる。各マイクロワードは複数の2進ビツト
を含み、その全てまたは1部は複数ビツトの制御
群または制御フイールドとして組識化されてよ
い。制御レジスタはデコーダ機構を駆動し、デコ
ーダ機構は基本的制御地点信号を発生し、これら
信号はデータ・プロセツサに存在する各種のデー
タ・フロー・ゲート及びデータ操作機構を制御す
る。各マイクロワードは、1つのマイクロワー
ド・サイクルの間、データ・プロセツサの内部動
作を制御する。プロセツサ命令を実行するために
は、通常、いくつかのマイクロワードが必要であ
る。あるプロセツサ命令は少数のマイクロワード
を必要とするのみであるが、プロセツサ命令によ
つては、その実行を完了するために多くのマイク
ロワードを必要とするものがある。 マイクロワードは制御記憶機構と呼ばれる別個
の記憶ユニツトに置かれるか、マイクロワードの
排他的使用のために確保されたプロセツサ・メイ
ン・ストレージ・ユニツトの1部に置かれてよ
い。別個の記憶ユニツトが使用される場合、これ
らのユニツトは読出し/書込み型か読出専用型の
いずれでもよい。小型のデータ・プロセツサの場
合、現在の傾向は、マイクロワードをいわゆる読
取専用記憶(ROS)ユニツトに記憶される方向
にある。いずれにせよ、現在使用されているマイ
クロワード記憶ユニツトはランダム・アクセス型
のものであり、記憶ユニツトにおける所望の記憶
位置をアドレスするための通常のアドレシング回
路を含む。 現在の技術動向は、マイクロワード制御記憶部
分を含む主たる回路部分を、LSI回路チツプ上に
設ける傾向にある。その目的は単一の集積回路チ
ツプ上で実行できるデータ処理機能の数を増大さ
せることであり、究極の目的は、単一のチツプ上
に完全なデータ・プロセツサまたはデイジタル・
コンピユータを形成することである。現在のとこ
ろ、多数の回路を単一のチツプ上に集積する最良
の技術は、いわゆる金属酸化物半導体電界効果ト
ランジスタ(MOSFET)技術である。この技術
は、集積回路チツプ上に非常に稠密な回路を形成
することを可能にする。残念ながら、MOSFET
回路は、他の集積回路技術(例えばバイポーラ集
積回路技術)を使用して製造された回路よりも、
幾分遅い動作速度を有する。従つて、MOSFET
回路を使用するデータ・プロセツサ機構の動作速
度を増大させる手段が望まれる。これは、特に、
データ・プロセツサのマイクロワード制御記憶部
分についていえることである。なぜならば、この
部分は、データ・プロセツサの他の部分に対する
基本的制御信号を発生するところだからである。 〔本考案の要約〕 本考案は、MOSFET回路技術を用いて容易に
製造することができ、かつ現在入手可能な同じ大
きさの(全体のマイクロワード・ビツト容量)
MOSFETマイクロワード発生機構で実現される
動作速度よりもかなり早い動作速度を有するマイ
クロワード発生機構を実現する。これは、マイク
ロワード発生機構の中の通常のランダム・アクセ
ス制御記憶ユニツトと、そのアドレシング回路
を、複数のプログラム可能論理アレイ(PLA)
で置換することによつて可能となる。これら
PLAの最初のものは、実行されるべき各プロセ
ツサ命令に応答して、その命令の実行に必要な最
初のマイクロワードを与える。他のPLAは、同
様に各プロセツサ命令に応答して、その命令の実
行に必要な残りのマイクロワードを与える。 最初のPLAでは、比較的少数のマイクロワー
ドが必要とされるに過ぎない。なぜならば、各種
のプロセツサ命令について、非常に限られた種類
の制御動作が最初のマイクロワードで実行されれ
ばよいからである。特に、各種のプロセツサ命令
をグループに分類し、グループ内では各命令につ
いて最初のマイクロワードが同じであるようにす
ることができる。従つて、必要とされる最初のサ
イクルのマイクロワードの種類の数は、実質的
に、全体的なプロセツサ命令セツト中の異なつた
命令の数よりも小さい。この理由により、最初の
マイクロワードPLAは比較的にサイズが小さく、
従つて比較的に早い動作速度を有する。従つて、
各プロセツサ命令に対する最初のマイクロワード
は、比較的迅速に発生される。これによつて、他
のPLAは、各プロセツサ命令について残りのマ
イクロワードを発生するため、より多くの時間を
有することになる。換言すれば、他のPLAのマ
イクロワードは、最初のマイクロワード・サイク
ルが完了するまで必要とされないから、それらの
PLAは幾分大きくてもよく、また幾分遅くても
よいことになる。 最初のマイクロワードPLAは、各プロセツサ
命令に対するマイクロワード・シーケンスの発生
中、優先発走(head start)のビツトを与える。
これは、特にブランチ型及びジヤンプ型のプロセ
ツサ命令の場合に有用である。なぜならば、プロ
セツサ命令の新しいセツトの上で新しいスタート
を開始しなければならない時、マイクロワード発
生機構はより速い反応を起すことができるからで
ある。大部分のユーザー・プログラムはかなりの
ブランチ命令及びジヤンプ命令を含むので、これ
は全体的処理時間のかなりの節減を意味する。 上記の考えは、各プロセツサ命令の実行に必要
な第2のマイクロワードに拡張することができ
る。第2のPLAは、各プロセツサ命令の実行に
必要な第2のマイクロワードを発生するだけのた
めに設けることができる。概して、この第2のマ
イクロワードPLAは、最初のマイクロワード
PLAよりも幾分大きくかつ遅いものとなる。な
ぜならば、第2のマイクロワード・サイクルで
は、多様な制御動作が必要となるからである。し
かし、この第2のマイクロワードPLAは、第2
サイクルのマイクロワードに続く残りのマイクロ
ワードを発生する残りのPLAよりも、小さくか
つ早いものである。別個にされた第2のマイクロ
ワードPLAを使用することによつて、そのよう
な残りのPLAは、有効なマイクロワードを出力
し始めるに当つて、更に多くの時間を有すること
になる。換言すれば、各プロセツサ命令につい
て、最初の2つのマイクロワード・サイクルが完
了してしまうまで、残りのPLAはマイクロワー
ドを与え始める必要はない。 〔第1図のデータ・プロセツサの説明〕 第1図を参照すると、そこにはLSIチツプ上で
組立てるのに特に適したデータ・プロセツサ(デ
イジタル・コンピユータ)10の機能的ブロツク
図が示される。データ・プロセツサ10はデー
タ・フロー・ユニツト11、主記憶装置12、入
出力(I/O)装置13、制御装置14、及びク
ロツク発生器15を含む。データ・フロー・ユニ
ツト11は中央演算処理装置(CPU)とも呼ば
れ、演算論理機構(ALU)、各種のハードウエ
ア・レジスタ及びカウンタ、局所記憶装置、これ
らの要素を相互に結合する母線システムを含む。
データ・フロー・ユニツト11はデータの加算、
減算、再配列及び他の操作を実行し、所望の結果
を発生する装置である。制御装置14は、各種の
制御点信号によつて、データ・フロー・ユニツト
11、主記憶装置12、I/O装置13の動作を
制御する。上記の制御点信号は、これら装置に設
けられた各種の回路機構へ与えられる。制御装置
14は、実行されるべき各プロセツサ命令につい
て、一連のマイクロワードを発生するマイクロワ
ード発生機構を含む。これらのマイクロワードは
制御点信号を発生し、これらの信号は他の装置に
おける基本動作を制御する。 データ・フロー・ユニツト11は命令レジスタ
16、Aレジスタ17、Bレジスタ18を含む。
Aレジスタ17、Bレジスタ18の双方はそれら
の入力回路及び出力回路を多重導線プロセツサ母
線19へ接続される。それは、複数ビツトの2進
信号を母線19へ与え、かつ複数ビツトの2進信
号を母線19から受取るためである。Aレジスタ
17及びBレジスタ18はALU20を駆動し、
ALU20の出力は1組のゲート回路21を介し
てプロセツサ母線19へ接続される。ALU制御
回路22は、制御装置14から与えられた制御点
信号に応答して、ALU20によつて実行される
べき特定の算術または論理動作を設定する。更
に、データ・フロー・ユニツト11はプログラ
ム・カウンタ23、現命令アドレス・レジスタ2
4、データ・アドレス・カウンタ25を含む。こ
れらの装置は、主記憶装置12のために記憶アド
レスを与えるため、プロセツサ母線19へ接続さ
れる。 更に、データ・フロー・ユニツト11は局所記
憶装置26を含む。装置26には局所記憶アドレ
ス・レジスタ(LSAR)27及び局所記憶デー
タ・レジスタ(LSDR)28が付属している。
LSDR28はプロセツサ母線19へ接続され、複
数ビツトの2進データをプロセツサ母線19から
局所記憶装置26へ(またはその逆方向へ)転送
するために使用される。局所記憶装置26は、デ
ータ・プロセツサ10によつて実行されつつある
ユーザー・プログラムの実行中に、データを一時
的に記憶するために使用される各種の汎用レジス
タを含む。説明を簡単にするため、LSAR27
は、制御装置14から局所記憶アドレスを受取る
ものと仮定する。 更に、データ・フロー・ユニツト11は1組の
プリチヤージ(precharge)/デイスチヤージ
(discharge)(PC/DC)回路29を含む。これ
はプロセツサ母線19の中にある個々の導線を選
択的にプリチヤージしたりデイスチヤージしたり
するために使用される。PC/DC回路29は、制
御装置14から制御点信号母線30及び31を介
して、制御ビツト及びマスク・ビツトを受取る。
制御ビツトのコードは、チヤージングまたはデイ
スチヤージング(またはこれら双方)が実行され
るべきかどうかを決定し、マスク・ビツトは、そ
のプロセツサ母線が影響を受けるかを決定する。 1つのレジスタから他方のレジスタへプロセツ
サ母線19を介してデータを転送するには、先ず
プロセツサ母線19の全ての線をプリチヤージす
る。その後、選択された源のレジスタが能動化さ
れて、論理1の値を有すべき線を選択的にデイス
チヤージする。デイスチヤージされなかつた線は
論理0の値を表わす。適当な宛先レジスタが能動
化されて、プロセツサ母線19上に現われた完全
な2進データ・パターンを受取る。 主記憶装置12は主記憶機構32、記憶アドレ
ス・レジスタ(SAR)33、記憶データ・レジ
スタ(SDR)34を含む。SAR33は、プログ
ラム・カウンタ23及びデータ・アドレス・カウ
ンタ25から記憶アドレスを受取るため、プロセ
ツサ母線19へ接続される。SDR34は、主記
憶機構32からプロセツサ母線19へ(またはそ
の反対方向へ)データ、命令などを転送するた
め、プロセツサ母線19へ接続される。 I/O装置13は入出力(I/O)機構35を
含む。I/O機構35はI/O母線36へ接続さ
れ、I/O母線36はデータ・プロセツサ10に
関連した各種の周辺装置へ接続される。I/O機
構35は、I/Oレジスタ37を介してプロセツ
サ母線19へ接続される。I/Oレジスタ37
は、I/O機構35からプロセツサ母線19へ
(またはその反対方向へ)複数ビツトの2進情報
を転送するために使用される。 実行されるべきユーザー・プログラムは、最
初、I/O母線36へ接続された周辺装置の1つ
から、主記憶機構32へロードされる。これは、
I/O機構35、I/Oレジスタ37、プロセツ
サ母線19及び記憶データ・レジスタ34を介し
て達成される。その後、ユーザー・プログラム
は、主記憶機構32から順次にユーザ・プログラ
ムを構成する各種のプロセツサ命令を読出すこと
によつて実行される。各プロセツサ命令は、順番
に、SDR34及びプロセツサ母線19を介して
命令レジスタ16へ転送される。命令レジスタ1
6に存在するプロセツサ命令(または少なくとも
その実効動作コード部分)は、制御装置14へ実
行されるべき特定のプロセツサ命令を知らせるた
め、多重線母線16aを介して制御装置14へ与
えられる。 命令レジスタ16に存在する各プロセツサ命令
に応答して、制御装置14にあるマイクロワード
発生機構は、各プロセツサ命令のために一連のマ
イクロワードを発生する。制御装置14にあるデ
コーダ機構は、1時に1つ宛マイクロワードに応
答して、各マイクロワードのために複数の制御点
信号を発生する。これら制御点信号のあるもの
は、データ・プロセツサ10にある各種のレジス
タ、カウンタ、及びその他の装置に関してデータ
をロードし、またはデータをゲート・アウトする
ように制御する。図を簡単にするため、各種の入
力ロード制御点線及び出力ゲート制御点線は第1
図に示されていない。制御点信号のあるものは、
局所記憶アドレス・レジスタ27のためにアドレ
スを与え、また他のものは、ALU制御回路22
及びPC/DC回路29に対する制御信号となる。 〔第2図の制御装置の説明〕 ここで第2図を参照すると、そこには第1図の
制御装置14の代表的構成が詳細に示される。こ
の構成は、本考案に従つて構成されるマイクロワ
ード発生機構の第1実施例を含む。このマイクロ
ワード発生機構は第1サイクルPLA40、第2
サイクルPLA41、1組の実効アドレス・デコ
ードPLA42、及び1組の実行デコードPLA4
3によつて表わされる複数のPLAを含む。これ
らPLA40−43の各々は、命令レジスタ16
に存在するプロセツサ命令に応答して、そのよう
な命令を実行するために必要なマイクロワードを
発生する。 PLA40及び41は、それぞれ命令を実行す
るのに必要な第1及び第2のマイクロワードを与
える。次のいくつかのマイクロワードはPLA4
2によつて与えられる。概して、PLA42によ
つて与えられたマイクロワードは、処理されるべ
きオペランドに対する実効アドレスの計算を実行
し、かつ主記憶機構32からそのようなオペラン
ドを取出すために使用される。実効アドレスを計
算するマイクロワードが完了した後、プロセツサ
命令を実行するのに必要なマイクロワードの残り
のものが、PLA43によつて与えられる。これ
らのマイクロワードは、プロセツサ命令を実行す
る。すなわち、それらはプロセツサ命令によつて
要求される所望のオペランドの処理を実行する。
オペランド処理が完了した後、PLA43は、プ
ロセツサ命令の全体的マイクロワード・シーケン
スを完了するのに必要な他のマイクロワードを与
える。 例として、PLA42及び43の各々は、相互
に並列に動作させられる4つのPLAを含むもの
と仮定する。これらのPLAは、所望の数のマイ
クロワードが与えられてしまうまで、反復する1
−2−3−4のシーケンスでマイクロワードを与
える。 PLA40−43からのマイクロワードは1時
に1つ宛、制御レジスタ44へ与えられる。各マ
イクロワードは、制御レジスタ44に存在する
時、デコーダ45を駆動する。駆動されたデコー
ダ45は、1つのマイクロワード制御サイクルの
間、適当な制御点信号を発生する。各マイクロワ
ードは比較的多数のビツトを有し、これらのビツ
トはグループ化されて、いくつかの複数のビツト
より成る制御フイールドにされる。これら制御フ
イールドのあるものは、エンコードされた制御フ
イールドである。これらの制御フイールドは、適
当な個々の制御点信号を発生するため、デコーダ
45によつてデコードされる。他の制御フイール
ドはエンコードされていないビツト有意の制御フ
イールドである。ビツト有意制御フイールドにあ
るビツト位置は、デコーダ45をそのまま通過し
て適当な出力制御点線へ与えられる。クロツク発
生器15はクロツク・パルスを与える。クロツ
ク・パルスは、制御点信号がデコーダ45の出力
に実際に現われる時点を決定する。ある種のデー
タ・プロセツサにおいては、マイクロワード・サ
イクル当り1つのクロツク・パルスが存在する
が、データ・プロセツサによつては、各マイクロ
ワード・サイクルに対して、時間的にスペースを
置かれた1群のクロツク・パルスが存在する。 制御レジスタ44へロードされるべき特定のマ
イクロワードの選択は、PLA出力ゲート46−
49、及びマイクロワード自体によつて発生され
るPLA出力ストローブ・パルス(ストローブ母
線S1−S4上にある)によつて達成される。制
御レジスタ44に存在する各マイクロワードは
PLAストローブ・パルスを発生し、このパルス
は、制御レジスタ44に対して次のマイクロワー
ドを与えるべきPLAを選択する。制御レジスタ
44へマイクロワードを与えるPLAと同じ数の
異なつたPLAストローブ制御点線がデコーダ4
5から出され、それらの各々はPLA出力ゲート
の異なつた1つへ接続される。各マイクロワード
にある制御フイールドの1つは、PLAストロー
ブ制御フイールドである。各マイクロワードにつ
いて、このPLAストローブ制御フイールドはデ
コードされ、PLAストローブ制御点線の特定の
1つが能動化される。それは、特定のPLAに対
する出力ゲートを能動化し、そのPLAから制御
レジスタ44へマイクロワードを通過させるため
である。 このようにして、PLA40から与えられたマ
イクロワードが制御レジスタ44に存在する時、
デコーダ45から母線S2上のPLA出力ストロ
ーブ・パルスが発生される。このパルスはゲート
47を能動化して、PLA41から制御レジスタ
44へマイクロワードを通過させる。PLA41
からのマイクロワードが制御レジスタ44に存在
する時、それはデコーダ45から母線S3中に含
まれる線S3a(図示せず)上にPLAストロー
ブ・パルスを発生する。このパルスは、実効アド
レス・デコードPLAの最初のものから制御レジ
スタ44へマイクロワードを与えさせる。同様
に、最初の実効アドレス・デコードPLAから生
じたマイクロワードは、母線S3中の線S3b
(図示せず)上にPLAストローブ・パルスを発生
する。このパルスは、第2の実効アドレス・デコ
ードPLAからマイクロワードを選択する。以下
同様である。PLA43からの最後のマイクロワ
ードは母線S1上にPLAストローブ・パルスを
発生する。このパルスは、制御レジスタ44へ与
えられるべき他のマイクロワードをPLA40か
ら発生する。このようにして、制御レジスタ44
に存在する各マイクロワードは、制御レジスタ4
4へ与えられるべき次のマイクロワードの源を選
択するように働く。 PLA40,PLA41,PLA42,PLA43の
各々は適当な数の「積」線によつて出力ORアレ
イへ接続された入力ANDアレイを含む。現在の
実施例において、これらPLAの各々は「静的」
PLAである。後の実施例では、「動的」PLAが使
用される場合を説明する。 PLA40の場合、命令レジスタ16にある命
令ビツトは母線16aを介して直後に、PLAの
ANDアレイに対する入力線へ与えられる。命令
ビツトの特定のコードに対応して、ANDアレイ
は特定の「積」線を能動化する。特定の「積」線
の能動化は、PLAのORアレイをして、そのOR
アレイ出力線上に特定のマイクロワード・ビツ
ト・パターンを発生せしめる。ORアレイ出力線
はゲート46の入力へ接続される。PLA40の
ためのORアレイの各「積」線は、異なつたマイ
クロワードを与えるため個性化される。PLA4
0のANDアレイは個性化され、異なつたプロセ
ツサ命令に対する異なつた命令ビツト・コードが
適当な「積」線を能動化するようにされる。
PLA40の場合、比較的に少数のマイクロワー
ドのみが必要である。なぜならば、異なつたプロ
セツサ命令をグループにまとめ、グループ内の各
命令については、1つの同じマイクロワードを使
用するようにすることができるからである。 PLA41は、各種のプロセツサ命令のために
第2マイクロワードを与えるように構成されかつ
接続される。概して、PLA41はPLA40より
も幾分多数のマイクロワードを含む。しかし、
PLA41における異なつたマイクロワードの数
は、プロセツサ命令セツトにおける異なつたフロ
セツサ命令の全数よりも実質的に少ない。 各プロセツサ命令に対する第1及び第2サイク
ルの後では、残りのマイクロワード・サイクルに
対するマイクロワードは、PLA42及び43か
ら得られる。このため、命令レジスタ16から取
られたプロセツサ命令ビツトが、エンコード
PLA50の入力ANDアレイへ与えられる。それ
に応答して、PLA50の出力ORアレイは、PLA
50の入力へ与えられつつあるプロセツサ命令を
独特に表示する命令識別(ID)番号を出力する。
この命令識別番号は、PLA50の入力へ与えら
れたプロセツサ命令ビツトよりも、少ない数のビ
ツトを有する。これは、PLA42及び43で要
求されるANDアレイ入力線の数を減少させる。
現在の実施例において、PLA50は静的PLAで
あり、PLA42及び43と比較して、相対的に
小さなサイズを有する。 前のプロセツサ命令に対するマイクロワード・
シーケンスの終り近くで、新しいプロセツサ命令
に対する命令識別番号が、デコーダ45から与え
られる適当な制御点信号によつて、複数段レジス
タ51へロードされる。この制御点信号は制御点
線52上に現われ、かつシーケンス・カウンタ5
3及び54の各々をゼロ状態へリセツトするた
め、これらカウンタのリセツト端子へ与えられ
る。 レジスタ51から取られた複数ビツトの命令識
別番号は、PLA42の各々におけるANDアレイ
の第1群の入力へ与えられる。シーケンス・カウ
ンタ53から取られた複数ビツトのシーケンス・
カウント番式は、PLA42の各々におけるAND
アレイの第2群の入力へ与えられる。これらの組
合せられた入力、命令識別番号、及びシーケン
ス・カウント番号は、実効アドレス・デコード
PLAの各々をして、特定のマイクロワードを選
択せしめるとともに出力させる。これらのマイク
ロワードは、1時に1つ宛制御レジスタ44へ与
えられる。最後のマイクロワードが制御レジスタ
44へ与えられたとき、シーケンス・カウンタ5
3は1だけ増進される。それは、PLA42へ他
のシーケンス・カウント番号を与えるためであ
る。これは、PLA42の各々をして、他のマイ
クロワードを選択させると共にそれを出力され
る。これらの他のマイクロワードは1時に1つ宛
制御レジスタ44へ与えられ、PLA42の入力
へ更にシーケンス番号を与えるため、再びシーケ
ンス・カウンタ53が増進される。この過程は、
実行されつつあるプロセツサ命令について、所望
の数の実効アドレス・デコード・マイクロワード
が発生されてしまうまで、必要に応じて何度も繰
返される。 PLA43は、現在のプロセツサ命令の実行を
完了するのに必要な残りのマイクロワードを発生
するため、同じように動作する。PLA42から
制御レジスタ44へロードされた最後のマイクロ
ワードは、ストローブ母線S4上に適当なPLA
出力ストローブ信号を発生する。それは、PLA
43からのマイクロワードの選択を開始するため
である。その後、PLA43から発生した各マイ
クロワードは、制御レジスタ44へ与えられるべ
き次の実行デコード・マイクロワードを選択する
ために使用される。最後の実行デコード・マイク
ロワードは、適当なPLAストローブ信号を発生
してPLA40から出力を選択し、次のプロセツ
サ命令のためにマイクロワード・シーケンスを開
始するために使用される。PLA43のためのシ
ーケンス・カウンタ54は、PLA43によつて
与えられたマイクロワードの各組のために、1度
だけ増進される。 現在のプロセツサ命令に対するマイクロワー
ド・シーケンスは、現在のプロセツサ命令を実行
する外に、主記憶機構32から次のプロセツサ命
令を取出し、それを命令レジスタ16へロードす
る。これは、プログラム・カウンタ23を増進さ
せ、主記憶機構32にある次のプロセツサ命令に
アクセスするため、増進されたプログラム・カウ
ントを記憶アドレス・レジスタ33へ与えること
によつて達成される。命令レジスタ16に対する
次のプロセツサ命令のロードは、それが現在のプ
ロセツサ命令の実行完了に影響を与えない時点に
なされる。具体的には、それはPLA40及び4
1が現在の命令についてそれらのマイクロワード
を与え、かつ現在の命令について命令識別番号が
レジスタ51へロードされた後になされる。 〔第2図の制御装置の動作の説明〕 PLA40及び41の各々は比較的小さなサイ
ズで、従つて比較的に早い動作速度を有する。具
体的に説明すれば、PLA40は、命令レジスタ
16からプロセツサ命令ビツトの新しい組を受取
つた後、50ナノ秒以内で有効な出力マイクロワー
ドを発生できるように、十分に小さくかつ十分に
高速である。これによつて、制御装置の構成は、
その中で各マイクロワード制御サイクルが例えば
50ナノ秒の持続時間を有するように作ることがで
きる。他方、PLA41は、PLA40よりも幾分
大きくかつ幾分低速であることができる。これ
は、PLA40へ割当てられた50ナノ秒がPLA4
1へ追加の50ナノ秒を与えて、有効な出力マイク
ロワードを発生させるようにするからである。従
つて、PLA41に対する要件は、それが命令レ
ジスタ16から新しい命令ビツトを受取つた後、
100ナノ秒以内で有効な出力マイクロワードを発
生できることである。 PLA40及び41を使用することによつて、
PLA42は有効な出力マイクロワードを発生し
始めるに当つて、追加的な100ナノ秒を有するこ
とになる。換言すれば、PLA42は、最初の有
効な実効アドレス・マイクロワードを与えるた
め、150ナノ秒までの時間を有することになる。
これは、エンコードPLA50が命令識別番号を
発生し、レジスタ51がその番号を受取つてそれ
をPLA42へ与え、PLA42がそのような番号
に応答して、最初の実効アドレス・マイクロワー
ドを発生するのに必要な時間を与える。 或る種のプロセツサ命令の場合、新しい命令を
命令レジスタ16へロードし、PLA40,41,
50の出力が次の命令のために必要とされる前
に、これらPLAを能動化するための十分の時間
が存在する。しかし、これはいわゆるブランチ命
令及びジヤンプ命令の場合にはあてはまらない。
もしブランチ条件またはジヤンプ条件が満足させ
られるならば、新しい「シーケンス外の」プロセ
ツサ命令が命令レジスタ16へ迅速にロードさ
れ、その実行ができるだけ早く開始されねばなら
ない。PLA40及び41によつて与えられる早
い反応時間及び優先発走が、これを可能にする。
換言すれば、PLA40及び41は、ブランチ型
及びジヤンプ型のプロセツサ命令の効率をかなり
高める。曲型的なユーザー・プログラムは、時間
の60%をブランチ命令及びジヤンプ命令で使用す
るので、これはデータ・プロセツサの効率の点で
大きな改善となる。 PLA40及び41を比較的小さくかつ高速に
することができる理由は、各種のプロセツサ命令
の第1及び第2マイクロワード制御サイクルに対
しては、比較的に少数の異なつたマイクロワード
が必要となるに過ぎないからである。換言すれ
ば、完全なプロセツサ命令セツトを形成する各種
のプロセツサ命令を、第1組のグループへ分類
し、第1サイクルのマイクロワードがグループ内
の各命令について同一になるようにすることがで
きる。同様に、各種のプロセツサ命令を第2組の
グループに分類し、第2のマイクロワードがグル
ープ内の各命令について同一になるようにするこ
とができる。従つて、PLA40及び41の各々
は、特定のプロセツサ命令が帰属する包轄的な種
類又はグループを認識するだけでよい。PLAは、
各命令の具体的ビツトの全てを認識したりそれら
に応答したりする必要はない。
【表】
表1は、各種のプロセツサ命令について、最初
のマイクロワード・サイクルの間に必要となる制
御動作の限られた数の種類を示す。表1におい
て、プロセツサ命令のセツトは、第1サイクル・
マイクロワードのために、3つの異なつたグルー
プまたは種類へ分類される。この場合、3つだけ
の異なつたマイクロワードがPLA40によつて
与えられる必要がある。第1のマイクロワードは
グループの命令のために与えられ、第2のマイ
クロワードはグループの命令のために与えら
れ、第3のマイクロワードはグループの命令の
ために与えられる。表1に示されるように、これ
らマイクロワードの各々は、次のマイクロワード
の源を選択するために、PLA出力ストローブ信
号を発生する。更に、これらマイクロワードの
各々は、プログラム・カウンタ(PC)23に存
在しているプログラム命令アドレスを、現命令ア
ドレス・レジスタ(CIAR)24へロードするた
めの制御点信号を発生する。現命令アドレス・レ
ジスタ24は、複数ワード・プロセツサ命令の場
合に使用される。そのような場合、CIAR24
は、複数ワード命令の第1ワードの記憶アドレス
を保持するために使用される。その後、プログラ
ム・カウンタ23は、プロセツサ命令の第2、第
3ワードを順番にアドレスするために更新され
る。複数ワード命令の第1ワードは有効な動作コ
ードを含み、かつそのワードは命令レジスタ16
へロードされるワードである。複数ワード命令の
追加のワードは、データの即値、オペランド・ア
ドレス情報などを与える。 表1に示されるように、グループにおける各
プロセツサ命令の第1マイクロワードは、命令レ
ジスタ(IR)16に存在する命令ワードをAレ
ジスタ17へセツトするように使用される。グル
ープ命令の最初のマイクロワードは、異なつた
動作を与える。グループのマイクロワードは、
複数ビツトの定数KをBレジスタ18へロードさ
せる。定数KはPC/DC回路29によつて発生さ
れ、多重導線19(プロセツサ母線)を介してB
レジスタ18へ転送される。グループにおける
プロセツサ命令の第1マイクロワードは、局所記
憶機構(LS)26で出力されつつある複数ビツ
トの2進値を局所記憶データ・レジスタ
(LSDR)28へ転送するように働く。更に、グ
ループの第1サイクル・マイクロワードは、多
重導線19に含まれる線の全てをプリチヤージす
る。このプリチヤージは、PC/DC回路29によ
つて達成される。前に言及したように、導線19
のブランケツト・プリチヤージは、1つのレジス
タから他のレジスタへ導線19を介して複数ビツ
トの2進値を転送する場合に実行される第1ステ
ツプである。
のマイクロワード・サイクルの間に必要となる制
御動作の限られた数の種類を示す。表1におい
て、プロセツサ命令のセツトは、第1サイクル・
マイクロワードのために、3つの異なつたグルー
プまたは種類へ分類される。この場合、3つだけ
の異なつたマイクロワードがPLA40によつて
与えられる必要がある。第1のマイクロワードは
グループの命令のために与えられ、第2のマイ
クロワードはグループの命令のために与えら
れ、第3のマイクロワードはグループの命令の
ために与えられる。表1に示されるように、これ
らマイクロワードの各々は、次のマイクロワード
の源を選択するために、PLA出力ストローブ信
号を発生する。更に、これらマイクロワードの
各々は、プログラム・カウンタ(PC)23に存
在しているプログラム命令アドレスを、現命令ア
ドレス・レジスタ(CIAR)24へロードするた
めの制御点信号を発生する。現命令アドレス・レ
ジスタ24は、複数ワード・プロセツサ命令の場
合に使用される。そのような場合、CIAR24
は、複数ワード命令の第1ワードの記憶アドレス
を保持するために使用される。その後、プログラ
ム・カウンタ23は、プロセツサ命令の第2、第
3ワードを順番にアドレスするために更新され
る。複数ワード命令の第1ワードは有効な動作コ
ードを含み、かつそのワードは命令レジスタ16
へロードされるワードである。複数ワード命令の
追加のワードは、データの即値、オペランド・ア
ドレス情報などを与える。 表1に示されるように、グループにおける各
プロセツサ命令の第1マイクロワードは、命令レ
ジスタ(IR)16に存在する命令ワードをAレ
ジスタ17へセツトするように使用される。グル
ープ命令の最初のマイクロワードは、異なつた
動作を与える。グループのマイクロワードは、
複数ビツトの定数KをBレジスタ18へロードさ
せる。定数KはPC/DC回路29によつて発生さ
れ、多重導線19(プロセツサ母線)を介してB
レジスタ18へ転送される。グループにおける
プロセツサ命令の第1マイクロワードは、局所記
憶機構(LS)26で出力されつつある複数ビツ
トの2進値を局所記憶データ・レジスタ
(LSDR)28へ転送するように働く。更に、グ
ループの第1サイクル・マイクロワードは、多
重導線19に含まれる線の全てをプリチヤージす
る。このプリチヤージは、PC/DC回路29によ
つて達成される。前に言及したように、導線19
のブランケツト・プリチヤージは、1つのレジス
タから他のレジスタへ導線19を介して複数ビツ
トの2進値を転送する場合に実行される第1ステ
ツプである。
第3図を参照すると、そこには第1図の制御装
置14に対応する制御装置60の構成が詳細に示
される。第3図は本考案に従つて構成されるマイ
クロワード発生機構の第2実施例を示す。 第3図の制御装置60において、各プロセツサ
命令の実行を制御するために使用されるマイクロ
ワードは、PLA61−66によつて与えられる。
第1サイクルPLA61は第2図の第1サイクル
PLA40に対応し、第2サイクルPLA62は第
2図の第2サイクルPLA41に対応する。第3
図において、実効アドレス・デコードPLA及び
実行デコードPLAの別個の組は設けられていな
い。その代りに、実効アドレス計算機能及び実行
機能は、AデコードPLA63、BデコードPLA
64、CデコードPLA65、及びDデコード
PLA66によつて表わされる4つのPLAによつ
て与えられる。 第3図では、制御レジスタ及びデコーダの2つ
の組(A組及びB組)が使用される。A組は、制
御レジスタ67及び68、及びデコーダ69によ
つて表わされる。B組は、制御レジスタ70及び
71及びデコーダ72によつて表わされる。 制御装置60はクロツク発生器73によつて駆
動される。クロツク発生器73は、第1図及び第
2図のクロツク発生器15の代りに使用される。
クロツク発生器73は、2相非重複クロツク発生
器である。それは、インタリーブされかつ重複し
ないクロツク・パルスの2つの組(A組とB組)
を発生する。A組のクロツク・パルスはAゲート
74を定期的に能動化し、B組のクロツク・パル
スはBゲート75を定期的に能動化する。このよ
うな能動化は、インタリーブされかつ重複しない
態様で行なわれる。こうして、Aデコーダ69及
びBデコーダ72は、A−B−A−B−A−Bの
交替する態様で制御点信号を発生するように条件
づけられる。Aデコーダ69から出る制御点線
は、Bデコーダ72から出る対応する制御点線と
OR結合され、第1図のデータ・プロセツサに含
まれる多くの構成要素が、AまたはBのクロツク
位相で、制御点信号を受取ることができる。 PLLA61,63,65は、A制御レジスタ6
7へ1時に1つ宛、それらのマイクロワードを与
える。各マイクロワードは、順番にA制御レジス
タ68へ送られ、Aデコーダ69を駆動して、出
力制御点信号を発生させる。これらの信号は、A
クロツク位相中にAゲート74によつて送出され
る。同様に、時間的にインタリーブされた態様
で、PLA62,64,66は、B制御レジスタ
70へ1時に1つ宛、それらのマイクロワードを
与える。それらのマイクロワードはB制御レジス
タ70からB制御レジスタ71へ転送され、Bデ
コーダ72を駆動して制御点信号を発生する。こ
れらの信号は、Bクロツク位相の間に、Bゲート
75によつて送出される。 第2図と同じように、各マイクロワードは
PLA出力ストローブ信号を発生する。この信号
は次のPLAを選択し、制御レジスタへ与えられ
るべき次のマイクロワードを発生させる。第3図
において、Aデコーダ69からのPLAストロー
ブ信号は、A制御レジスタ67へ与える次のマイ
クロワードを発生させるため、PLA61,63,
65の1つを選択する。PLA61は、所与のプ
ロセツサ命令のために必要な最初のマイクロワー
ドを発生させるためにのみ選択される。その後、
A制御レジスタ67へ与えられるマイクロワード
は、PLA63及び65から交互に取られる。A
デコーダ69から出るPLA出力ストローブ信号
は、S1,SA,SBと表示され、これらは個々に
PLA出力バツフア76,77,78のそれぞれ
へ与えられる。 同様に、Bデコーダ72によつて出力される
PLA出力ストローブ信号S2,SB,SDは、B制
御レジスタ70へ与えられる次のマイクロワード
を発生させるため、PLA62,64,66の1
つを選択する。PLAストローブ信号S2,SB,
SDは、PLA出力バツアフ79,80,81のそ
れぞれへ個別的に与えられる。PLA62のため
のS2ストローブ信号は、所与のプロセツサ命令
について、第2マイクロワード・サイクルに対す
るマイクロワードを発生させるためにのみ能動化
される。その後、残りのマイクロワードは、
PLA64及び66から交互に得られる。 これまで説明したように、マイクロワードの多
重化は、各プロセツサ命令について、PLA61
−66から次の順序で一連のマイクロワードを発
生させる。1,2,A,B,C,D,A,B,
C,D,A,B,……。番号及び文字は源の
PLAを表わす。PLA61及び62は、第1及び
第2のマイクロワードのみを与える。所与のプロ
セツサ命令のための残りのマイクロワードは、A
−B−C−Dの順にA,B,C,Dのそれぞれの
デコードPLAから取られる。追加のマイクロワ
ードの正確な数は、その特定のプロセツサ命令の
実行を完了させるのに必要な数である。 前と同じように、PLA61及び62は、命令
レジスタ16から直接にプロセツサ命令ビツトを
受取る。他方、PLA63−66は、エンコード
PLA82及びレジスタ83を使用する。エンコ
ードPLA82は、命令レジスタ16に存在する
プロセツサ命令を、より少ない数のビツトを有す
る独特の命令識別番号へ変換する。この命令識別
番号は、レジスタ83を介して、PLA63,6
4,65,66の各々の入力へ(第1の入力群
へ)与えられる。これらのA,B,C,Dのデコ
ードPLAは、更にシーケンス・カウンタ84及
びカウンタバツフア・レジスタ85を使用する。
カウンタ84からのシーケンス・カウントは、A
及びBのデコードPLAの第2の入力群へ直接に
与えられるとともに、レジスタ85を介して、C
及びDのデコードPLAの第2の入力群へ与えら
れる。エンコードPLA出力レジスタ83は制御
点信号パルスS0によつてロードされるととも
に、シーケンス・カウンタ84及びレジスタ85
は、同一のパルスによつてゼロへリセツトされ
る。シーケンス・カウンタ84は、PLA出力ス
トローブ・パルスSBによつて、A,B,C,D
マイクロワードの各組のために1回だけ増進され
る。バツフア・レジスタ85は、PLA出力スト
ローブ・パルスSCによつて、A,B,C,Dマ
イクロワードの各組のために1回だけ再ロードさ
れる。 マイクロワードを発生するPLA61−66の
各々は、いわゆる動的PLAまたはクロツク化
PLAである。そのようなものとして、各PLAは、
有効な入力ビツト・パターンに応答して、有効な
出力ビツト・パターンを発生するため、4つの時
間にスペースを置かれたクロツキング・パルスC
1,C2,C3,C4の組を使用する。PLA6
1−66の連続した1つに対するC1−C2−C
3−C4クロツク・パルスの組は、1つのマイク
ロワード・サイクルによつて相互にオフセツトさ
れる。従つて、第2PLAのためのC1パルスは、
第1PLAのためのC2パルスと一致し、第3PLA
のためのC1パルスは、第2PLAのためのC2パ
ルスと一致する。以下同様である。これらのC1
−C4内部クロツキング・パルスは、PLAクロ
ツク論理回路86から得られる。PLAクロツク
論理回路86は、S0制御点信号、及び各種の
PLA出力ストローブ信号S1,S2,SA,SB,
SC,SDによつて駆動される。これらのストロー
ブ信号は、PLA61−66の異なつたものによ
つて必要とされるC1−C4内部クロツキング・
パルスの異なつた組を発生するため、必要にして
十分な情報を含む。 第2図の実施例と同じように、第1サイクル
PLA61及び第2サイクルPLA62は、世のマ
イクロワード発生PLA63−66よりも小さく
かつ速度が早い。PLA61,62はPLA63−
66よりも少ない数のマイクロワードを含む。
置14に対応する制御装置60の構成が詳細に示
される。第3図は本考案に従つて構成されるマイ
クロワード発生機構の第2実施例を示す。 第3図の制御装置60において、各プロセツサ
命令の実行を制御するために使用されるマイクロ
ワードは、PLA61−66によつて与えられる。
第1サイクルPLA61は第2図の第1サイクル
PLA40に対応し、第2サイクルPLA62は第
2図の第2サイクルPLA41に対応する。第3
図において、実効アドレス・デコードPLA及び
実行デコードPLAの別個の組は設けられていな
い。その代りに、実効アドレス計算機能及び実行
機能は、AデコードPLA63、BデコードPLA
64、CデコードPLA65、及びDデコード
PLA66によつて表わされる4つのPLAによつ
て与えられる。 第3図では、制御レジスタ及びデコーダの2つ
の組(A組及びB組)が使用される。A組は、制
御レジスタ67及び68、及びデコーダ69によ
つて表わされる。B組は、制御レジスタ70及び
71及びデコーダ72によつて表わされる。 制御装置60はクロツク発生器73によつて駆
動される。クロツク発生器73は、第1図及び第
2図のクロツク発生器15の代りに使用される。
クロツク発生器73は、2相非重複クロツク発生
器である。それは、インタリーブされかつ重複し
ないクロツク・パルスの2つの組(A組とB組)
を発生する。A組のクロツク・パルスはAゲート
74を定期的に能動化し、B組のクロツク・パル
スはBゲート75を定期的に能動化する。このよ
うな能動化は、インタリーブされかつ重複しない
態様で行なわれる。こうして、Aデコーダ69及
びBデコーダ72は、A−B−A−B−A−Bの
交替する態様で制御点信号を発生するように条件
づけられる。Aデコーダ69から出る制御点線
は、Bデコーダ72から出る対応する制御点線と
OR結合され、第1図のデータ・プロセツサに含
まれる多くの構成要素が、AまたはBのクロツク
位相で、制御点信号を受取ることができる。 PLLA61,63,65は、A制御レジスタ6
7へ1時に1つ宛、それらのマイクロワードを与
える。各マイクロワードは、順番にA制御レジス
タ68へ送られ、Aデコーダ69を駆動して、出
力制御点信号を発生させる。これらの信号は、A
クロツク位相中にAゲート74によつて送出され
る。同様に、時間的にインタリーブされた態様
で、PLA62,64,66は、B制御レジスタ
70へ1時に1つ宛、それらのマイクロワードを
与える。それらのマイクロワードはB制御レジス
タ70からB制御レジスタ71へ転送され、Bデ
コーダ72を駆動して制御点信号を発生する。こ
れらの信号は、Bクロツク位相の間に、Bゲート
75によつて送出される。 第2図と同じように、各マイクロワードは
PLA出力ストローブ信号を発生する。この信号
は次のPLAを選択し、制御レジスタへ与えられ
るべき次のマイクロワードを発生させる。第3図
において、Aデコーダ69からのPLAストロー
ブ信号は、A制御レジスタ67へ与える次のマイ
クロワードを発生させるため、PLA61,63,
65の1つを選択する。PLA61は、所与のプ
ロセツサ命令のために必要な最初のマイクロワー
ドを発生させるためにのみ選択される。その後、
A制御レジスタ67へ与えられるマイクロワード
は、PLA63及び65から交互に取られる。A
デコーダ69から出るPLA出力ストローブ信号
は、S1,SA,SBと表示され、これらは個々に
PLA出力バツフア76,77,78のそれぞれ
へ与えられる。 同様に、Bデコーダ72によつて出力される
PLA出力ストローブ信号S2,SB,SDは、B制
御レジスタ70へ与えられる次のマイクロワード
を発生させるため、PLA62,64,66の1
つを選択する。PLAストローブ信号S2,SB,
SDは、PLA出力バツアフ79,80,81のそ
れぞれへ個別的に与えられる。PLA62のため
のS2ストローブ信号は、所与のプロセツサ命令
について、第2マイクロワード・サイクルに対す
るマイクロワードを発生させるためにのみ能動化
される。その後、残りのマイクロワードは、
PLA64及び66から交互に得られる。 これまで説明したように、マイクロワードの多
重化は、各プロセツサ命令について、PLA61
−66から次の順序で一連のマイクロワードを発
生させる。1,2,A,B,C,D,A,B,
C,D,A,B,……。番号及び文字は源の
PLAを表わす。PLA61及び62は、第1及び
第2のマイクロワードのみを与える。所与のプロ
セツサ命令のための残りのマイクロワードは、A
−B−C−Dの順にA,B,C,Dのそれぞれの
デコードPLAから取られる。追加のマイクロワ
ードの正確な数は、その特定のプロセツサ命令の
実行を完了させるのに必要な数である。 前と同じように、PLA61及び62は、命令
レジスタ16から直接にプロセツサ命令ビツトを
受取る。他方、PLA63−66は、エンコード
PLA82及びレジスタ83を使用する。エンコ
ードPLA82は、命令レジスタ16に存在する
プロセツサ命令を、より少ない数のビツトを有す
る独特の命令識別番号へ変換する。この命令識別
番号は、レジスタ83を介して、PLA63,6
4,65,66の各々の入力へ(第1の入力群
へ)与えられる。これらのA,B,C,Dのデコ
ードPLAは、更にシーケンス・カウンタ84及
びカウンタバツフア・レジスタ85を使用する。
カウンタ84からのシーケンス・カウントは、A
及びBのデコードPLAの第2の入力群へ直接に
与えられるとともに、レジスタ85を介して、C
及びDのデコードPLAの第2の入力群へ与えら
れる。エンコードPLA出力レジスタ83は制御
点信号パルスS0によつてロードされるととも
に、シーケンス・カウンタ84及びレジスタ85
は、同一のパルスによつてゼロへリセツトされ
る。シーケンス・カウンタ84は、PLA出力ス
トローブ・パルスSBによつて、A,B,C,D
マイクロワードの各組のために1回だけ増進され
る。バツフア・レジスタ85は、PLA出力スト
ローブ・パルスSCによつて、A,B,C,Dマ
イクロワードの各組のために1回だけ再ロードさ
れる。 マイクロワードを発生するPLA61−66の
各々は、いわゆる動的PLAまたはクロツク化
PLAである。そのようなものとして、各PLAは、
有効な入力ビツト・パターンに応答して、有効な
出力ビツト・パターンを発生するため、4つの時
間にスペースを置かれたクロツキング・パルスC
1,C2,C3,C4の組を使用する。PLA6
1−66の連続した1つに対するC1−C2−C
3−C4クロツク・パルスの組は、1つのマイク
ロワード・サイクルによつて相互にオフセツトさ
れる。従つて、第2PLAのためのC1パルスは、
第1PLAのためのC2パルスと一致し、第3PLA
のためのC1パルスは、第2PLAのためのC2パ
ルスと一致する。以下同様である。これらのC1
−C4内部クロツキング・パルスは、PLAクロ
ツク論理回路86から得られる。PLAクロツク
論理回路86は、S0制御点信号、及び各種の
PLA出力ストローブ信号S1,S2,SA,SB,
SC,SDによつて駆動される。これらのストロー
ブ信号は、PLA61−66の異なつたものによ
つて必要とされるC1−C4内部クロツキング・
パルスの異なつた組を発生するため、必要にして
十分な情報を含む。 第2図の実施例と同じように、第1サイクル
PLA61及び第2サイクルPLA62は、世のマ
イクロワード発生PLA63−66よりも小さく
かつ速度が早い。PLA61,62はPLA63−
66よりも少ない数のマイクロワードを含む。
第1図は本考案が有利に使用されてよいデイジ
タル・データ・プロセツサの機能的ブロツク図、
第2図は本考案に従つて構成されたマイクロワー
ド発生機構を含むデータ・プロセツサ制御装置の
機能的ブロツク図、第3図は本考案に従つて構成
されたマイクロワード発生機構の他の実施例を示
す機能的ブロツク図である。 14……制御装置、15……クロツク発生器、
40……第1サイクルPLA、41……第2サイ
クルPLA、42……実効アドレス・デコード
PLA、43……実行デコードPLA、44……制
御レジスタ、45……デコーダ、46,47,4
8,49……PLA出力ゲート、50……エンコ
ードPLA、51……複数段レジスタ、53,5
4……シーケンス・カウンタ。
タル・データ・プロセツサの機能的ブロツク図、
第2図は本考案に従つて構成されたマイクロワー
ド発生機構を含むデータ・プロセツサ制御装置の
機能的ブロツク図、第3図は本考案に従つて構成
されたマイクロワード発生機構の他の実施例を示
す機能的ブロツク図である。 14……制御装置、15……クロツク発生器、
40……第1サイクルPLA、41……第2サイ
クルPLA、42……実効アドレス・デコード
PLA、43……実行デコードPLA、44……制
御レジスタ、45……デコーダ、46,47,4
8,49……PLA出力ゲート、50……エンコ
ードPLA、51……複数段レジスタ、53,5
4……シーケンス・カウンタ。
Claims (1)
- 【実用新案登録請求の範囲】 複数のプロセツサ命令の実行を制御するため該
プロセツサ命令の各々に対応する一連のマイクロ
ワードをそれぞれ使用するマイクロプログラム化
データ・プロセツサにおいて、 実行されるべきプロセツサ命令の動作決定部分
に応答して、当該プロセツサ命令の実行に必要な
前記一連のマイクロワードのうち第1のマイクロ
ワードを発生する第1のプログラム可能論理アレ
イと、 前記実行されるべきプロセツサ命令の動作決定
部分に応答して、当該プロセツサ命令の実行に必
要な前記一連のマイクロワードのうち第2のマイ
クロワードを発生する第2のプログラム可能論理
アレイと、 前記実行されるべきプロセツサ命令の動作決定
部分に応答して、当該プロセツサ命令の実行に必
要な前記一連のマイクロワードのうち残りのマイ
クロワードを発生する少くとも1つの追加プログ
ラム可能論理アレイを備え、 前記複数のプロセツサ命令は第1のマイクロワ
ード・サイクルの間に必要となる制御動作の異な
る組合せに応じて第1組の複数グループへ類別さ
れ且つ各グループ内のプロセツサ命令に対応する
前記第1のマイクロワードがそれぞれ同一になる
ようにされており; 前記第1のプログラム論理可能アレイは実行さ
れるべき各プロセツサ命令の動作決定部分を構成
するビツトのうち当該プロセツサ命令が属する前
記第1組の複数グループ内の特定グループを識別
するに必要なビツトのみに応答するように構成さ
れており; さらに前記複数のプロセツサ命令は第2のマイ
クロワード・サイクルの間に必要となる制御動作
の異なる組合せに応じて第2組の複数グループへ
類別され且つ各グループ内のプロセツサ命令に対
応する前記第2のマイクロワードがそれぞれ同一
になるようにされており; 前記第2のプロセツサ論理可能アレイは実行さ
れるべき各プロセツサ命令の動作決定部分を構成
するビツトのうち当該プロセツサ命令が属する前
記第2組の複数グループ内の特定グループを識別
するに必要なビツトのみに応答するように構成さ
れているマイクロワード発生機構。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/350,663 US4685080A (en) | 1982-02-22 | 1982-02-22 | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63163538U JPS63163538U (ja) | 1988-10-25 |
| JPH0124655Y2 true JPH0124655Y2 (ja) | 1989-07-26 |
Family
ID=23377675
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58019025A Pending JPS58146943A (ja) | 1982-02-22 | 1983-02-09 | デ−タ・プロセツサのマイクロワ−ド発生機構 |
| JP1988046919U Expired JPH0124655Y2 (ja) | 1982-02-22 | 1988-04-08 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58019025A Pending JPS58146943A (ja) | 1982-02-22 | 1983-02-09 | デ−タ・プロセツサのマイクロワ−ド発生機構 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4685080A (ja) |
| EP (1) | EP0086992B1 (ja) |
| JP (2) | JPS58146943A (ja) |
| DE (1) | DE3369753D1 (ja) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4574344A (en) * | 1983-09-29 | 1986-03-04 | Tandem Computers Incorporated | Entry control store for enhanced CPU pipeline performance |
| JPS60103452A (ja) * | 1983-11-10 | 1985-06-07 | Fujitsu Ltd | マイクロプログラム制御方式 |
| JPS60105047A (ja) * | 1983-11-11 | 1985-06-10 | Fujitsu Ltd | マイクロプログラムアクセス方式 |
| US4812972A (en) * | 1984-06-20 | 1989-03-14 | Convex Computer Corporation | Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions |
| US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
| JPH01183736A (ja) * | 1988-01-18 | 1989-07-21 | Toshiba Corp | 情報処理装置 |
| US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
| US5043879A (en) * | 1989-01-12 | 1991-08-27 | International Business Machines Corporation | PLA microcode controller |
| KR940003383B1 (ko) * | 1989-08-28 | 1994-04-21 | 니뽄 덴끼 가부시끼가이샤 | 파이프라인 처리 방식으로 동작하는 프리디코더 유니트 및 주 디코더 유니트를 구비한 마이크로프로세서 |
| 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 |
| GB2307072B (en) | 1994-06-10 | 1998-05-13 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
| US6237101B1 (en) | 1998-08-03 | 2001-05-22 | International Business Machines Corporation | Microprocessor including controller for reduced power consumption and method therefor |
| US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
| US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
| US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
| US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1192368A (en) * | 1966-07-11 | 1970-05-20 | Automatic Telephone & Elect | Improvements in or relating to Data Processing Devices |
| US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
| US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
| JPS50153835A (ja) * | 1974-05-30 | 1975-12-11 | ||
| US3949370A (en) * | 1974-06-06 | 1976-04-06 | National Semiconductor Corporation | Programmable logic array control section for data processing system |
| US3959774A (en) * | 1974-07-25 | 1976-05-25 | California Institute Of Technology | Processor which sequences externally of a central processor |
| US4075687A (en) * | 1976-03-01 | 1978-02-21 | Raytheon Company | Microprogram controlled digital computer |
| US4156925A (en) * | 1976-04-30 | 1979-05-29 | International Business Machines Corporation | Overlapped and interleaved control store with address modifiers |
| US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
| US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
| US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
| US4325121A (en) * | 1978-11-17 | 1982-04-13 | Motorola, Inc. | Two-level control store for microprogrammed data processor |
| DE2951040A1 (de) * | 1979-01-16 | 1980-07-24 | Digital Equipment Corp | Steuerspeicher in einem steuerabschnitt eines rechners |
| US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
| US4354228A (en) * | 1979-12-20 | 1982-10-12 | International Business Machines Corporation | Flexible processor on a single semiconductor substrate using a plurality of arrays |
| US4394736A (en) * | 1980-02-11 | 1983-07-19 | Data General Corporation | Data processing system utilizing a unique two-level microcoding technique for forming microinstructions |
| US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
| US4399505A (en) * | 1981-02-06 | 1983-08-16 | Data General Corporaton | External microcode operation in a multi-level microprocessor |
-
1982
- 1982-02-22 US US06/350,663 patent/US4685080A/en not_active Expired - Lifetime
-
1983
- 1983-01-28 DE DE8383100798T patent/DE3369753D1/de not_active Expired
- 1983-01-28 EP EP83100798A patent/EP0086992B1/en not_active Expired
- 1983-02-09 JP JP58019025A patent/JPS58146943A/ja active Pending
-
1988
- 1988-04-08 JP JP1988046919U patent/JPH0124655Y2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| EP0086992A3 (en) | 1984-09-12 |
| DE3369753D1 (en) | 1987-03-12 |
| JPS63163538U (ja) | 1988-10-25 |
| EP0086992B1 (en) | 1987-02-04 |
| EP0086992A2 (en) | 1983-08-31 |
| JPS58146943A (ja) | 1983-09-01 |
| US4685080A (en) | 1987-08-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0124655Y2 (ja) | ||
| US4118773A (en) | Microprogram memory bank addressing system | |
| US4402042A (en) | Microprocessor system with instruction pre-fetch | |
| JPS58144261A (ja) | デ−タ・プロセツサのマイクロワ−ド制御機構 | |
| US4661901A (en) | Microprocessor control system utilizing overlapped programmable logic arrays | |
| EP0377976B1 (en) | Microcode control apparatus utilizing programmable logic array circuits | |
| EP0405495A2 (en) | Instruction unit logic management apparatus included in a pipelined processing unit | |
| JPS6322336B2 (ja) | ||
| US5412785A (en) | 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 | |
| JPH05224929A (ja) | コンピユータ、パイプライン処理方法及び命令処理方法 | |
| JPS6044699B2 (ja) | 特殊アドレス発生装置 | |
| US4346437A (en) | Microcomputer using a double opcode instruction | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| US4402043A (en) | Microprocessor with compressed control ROM | |
| EP0034634A1 (en) | MICRO COMPUTER DESIGNED FOR DIRECT ACCESS TO MEMORY. | |
| JPH0216619B2 (ja) | ||
| US4509114A (en) | Microword control mechanism utilizing a programmable logic array and a sequence counter | |
| US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
| US5161229A (en) | Central processing unit | |
| US4947369A (en) | Microword generation mechanism utilizing a separate branch decision programmable logic array | |
| JPS6112288B2 (ja) | ||
| KR100374401B1 (ko) | 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치 | |
| US4604684A (en) | Digital computer having unique instruction decoding logic | |
| JPH0640303B2 (ja) | デ−タ処理装置 | |
| JPH02162422A (ja) | 優先ブランチ機構を備えたデータ処理システム |