JPH02226423A - マイクロコード制御装置 - Google Patents

マイクロコード制御装置

Info

Publication number
JPH02226423A
JPH02226423A JP1328607A JP32860789A JPH02226423A JP H02226423 A JPH02226423 A JP H02226423A JP 1328607 A JP1328607 A JP 1328607A JP 32860789 A JP32860789 A JP 32860789A JP H02226423 A JPH02226423 A JP H02226423A
Authority
JP
Japan
Prior art keywords
pla
subroutine
state
array
sequence counter
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.)
Pending
Application number
JP1328607A
Other languages
English (en)
Inventor
Fernando Concha
フエルナンド・コンチヤ
John M Loffredo
ジヨン・マリオ・ロツフレード
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 JPH02226423A publication Critical patent/JPH02226423A/ja
Pending 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

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)
  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、マイクロプログラム式のデータ・プロセッサ
及びディジタル計算機において、一連のマイクロワード
を用いて各プロセッサ命令の実行を制御するマイクロコ
ード制御装置に係る。
B、従来の技術とその課題 マイクロプログラム式データ・プロセッサは。
ユーザのソフトウェア・プログラムからのプロセッサ命
令を実行するため、内部記憶装置からマイクロワードな
いしマイクロ命令を読取って、制御レジスタに書込む。
各マイクロワードは複数の2進ビツトから成り、その幾
つか又はすべてのビットは複数の制御グループないしフ
ィールドを構成している。制御レジスタは、データ・プ
ロセッサ内部の種々のデータフロー・レート及びデータ
操作機構を制御する制御点信号を供給する。各マイクロ
ワードは、データ・プロセッサの内部動作を1マイクロ
ワード・サイクルの量制御する。一般に、各プロセッサ
命令を実行するためには複数のマイクロワードが必要で
あり、その数は命令によって異なる。
マイクロワードは、制御記憶装置と呼ばれる別個の記憶
装置或いはプロセッサのメイン・メモリ中のマイクロワ
ード専用の領域に記憶される。制御記憶装置には書込み
可能なものと読取り専用のものとがある。
制御記憶装置及びそのアドレス回路を、シーケンス・カ
ウンタと共に動くプログラム可能論理アレイ(PLA)
で構成することもできる。PLAは、プロセッサ命令の
OPコード及びシーケンス・カウンタからの特定のシー
ケンス・カウントにより駆動され、その出力に特定のマ
イクロワードを発生する。このようなPLA及びシーケ
ンス・カウンタの組合せは、通常の記憶装置に比べて、
データ・プロセッサ内部で占める場所が小さくてすむ、
あるマイクロコードについて何回かの繰返しが必要な場
合は、マイクロコード・ループの数をカウントしてそれ
が所定の値に達した時にループを終らせるための固定容
量のループ・カウンタを必要とする。マイクロコード・
ループの数が異なる様々なタイプのプロセッサ命令があ
ると、それに応じて必要な固定容量ループ・カウンタの
数も変ってくるので、その分データ・プロセッサの負担
が増える。
米国特許筒4556938号明#I書は、実行すべき様
々なプロセッサ命令に応じて所望の初期カウント値をロ
ードできるプログラム可能なループ・カウンタを開示し
ている。それによれば、2以上の異なったプロセッサに
対してマイクロコードのルーピングを行う場合に必要な
回路量を減らすことはできるが、そのようなループ・カ
ウンタと協働するPLAは一時に1つのマイクロワード
しか発生できない。言い換えれば、もしある命令が所与
の動作をX回繰返して実行することを要求していると、
PLAはそれに答えるために、その動作の前(又は後)
のすべてのオペレーションを同じX回だけ繰返す必要が
ある。実際、それらのオペレーションの幾つかが不要で
あるにしても、プロセッサの貴重な時間をとることは事
実である。これは必然的に計算機マイクロコードの非効
率的な処理につながり、その結果、各ジョブを実行する
ための積項(マイクロコードのライン)の数が不必要に
多くなってしまう。
第2図を参照しながら、従来のデータ・プロセッサにつ
いてもう少し詳しく説明する。
図示のデータ・プロセッサ2は、データフロー装置4、
メインメモリ6、入出力(I 10)装置8及び制御装
置1oを含む、データフロー装置4は一般に中央演算処
理装置(CPU)と呼ばれるもので、ALU、種々のハ
ードウェア・レジスタ、記憶装置、及び異なった装置を
相互接続してそれらの間のデータ移動を制御するバス・
システムを含んでいる。基本的に、データフロー装置4
はデータを実際に操作して、所望の結果を生成する。
データフロー装置4はバス12及び14を介してメイン
メモリ6及びI10装置8にそれぞれ接続されており、
それらとの間で情報をやりとりする。
実行すべき命令を含むユーザ・プログラムはメインメモ
リ6にロードされる。ユーザ・プログラムに含まれるプ
ロセッサ命令は一時に1つずつ順にメインメモリ6から
データフロー装置4へ読出される0図示のように、デー
タフロー装置4は複数ビットの命令レジスタ16及び汎
用レジスタ18を含む、命令レジスタ16は実行すべき
各プロセッサ命令を記憶する。命令レジスタ16には命
令の一部だけがロードされることもあるが、その場合命
令のフォーマットが如何なるものであっても、ロードさ
れる部分にはOPコードが含まれている。oPコードは
、データ・プロセッサ2が実行するオペレージ目ンの種
類を一意的に定義するのに必要なすべてのビットを意味
する。
汎用レジスタ18は、計算されたデータ値、アドレス値
等を一時記憶するもので、図には1つしか示していない
が、実際には複数の汎用レジスタが設けられている。
データフロー族M4、メインメモリ6及びI10装置i
!8を制御する制御装置10は、クロック20、PLA
22.シーケンス・カウンタ24及び制御レジスタ26
を有する。制御装置10はこの他にも多くのコンボーネ
ン1−を含んでいるが、それらは本発明とは無関係であ
るため、図には示していない。
制御装置10は、PLA22及びシーケンス・カウンタ
24を使用するマイクロプログラム式の装置である。周
知のように、PLAは固定された規則的な構造を有する
論理回路であって、特定の論理式を実現するよう個性化
される。一般に、PLAは入力ANDアレイ(入力区画
)及びそれに多数の積項(マイクロコードのライン)に
よって接続された出力ORアレイ(出力区画)を含む。
PLAの構造は、スタティックであれダイナミックであ
れ、すべて単一の集積回路チップに形成される。ここで
は、PLA22はスタティック型であるとする。
シーケンス・カウンタ24は複数ビットの2進カウンタ
であり、PLA22の状態(アドレス)を増分するため
の2進信号をバス28を介してPLA22へ供給する。
各コンポーネントのタイミングはクロック20により制
御されるが、簡単のため、クロック線の接続は図示して
いない。制御レジスタ26は複数ビットのレジスタであ
って、PLA22からの出力すなわちマイクロワードを
受取って解読し、対応する信号をそれぞれのコンポーネ
ントへ供給する。普通、マイクロワードの解読にはデコ
ーダが必要であるが、これも簡単のため、第2図には示
していない。
プロセッサ命令がメインメモリ6から命令レジスタ16
ヘロードされた時、そのoPコードはバス30を介して
PLA22へ送られる。PLA22は、バス30上のO
Pコード及びシーケンス・カウンタ24からバス28へ
出力される特定のシーケンス・カウントに応答して、複
数ビットの特定のマイクロワードを出力する。このマイ
クロワードは、それ自体で又は他の制御信号と共に、特
定の機能を実行するために使用されるもので、マイクロ
命令とも言う。実行すべき機能は、各PLA毎に予め決
めておくことができる。回2図には示していないが、バ
ス30からのoPコードはPL A 22のANDアレ
イへ供給され、その出力はPLA22のORアレイから
バス32を介して制御レジスタ26へ供給される。
制御レジスタ26は、バス32から受取った出力信号を
制御点信桂として種々のコンポーネントへ送る。実際に
は、制御レジスタ26が出力するのはマイクロワードで
あるが、ここでは制御レジスタ26の出力を、特定の機
能を実行するための制御点信号として考える。
PLA22は、1つのopコードに応答して一連のマイ
クロワードすなわちマイクロワード・シーケンスを発生
する。各マイクロワードは、シーケンス・カウンタ24
からのタイミングに従って1つずつ順に発生される。そ
の場合、特定のオペレーションでシーケンス中の一部の
マイクロワードが不要であっても、マイクロワード・シ
ーケンス全体が発生される。更に、その特定のオペレー
ションを繰返さなければならない場合、同じOPコード
を繰返しPLA22へ供給することになる。
従って、異なったオペレーションを実行するのに必要な
PLAのサイズは大きいままである。また、PLA22
に必要なマイクロワードの数を減らすだめの繰返し回路
等が既に制御装置10で使用されているにしても、この
ようなオペレーションは極めて効率が悪い。
C0課題を解決するための手段 本発明は、ファームウェア・サブルーチン機構を効果的
にデータ・プロセッサに組込めるようにPLAを構成す
ることによって、計算機マイクロコードの効率的な使用
を可能にする。このPLAを以下「メインラインPLA
Jと呼ぶ。
メインラインPLAは、サブルーチンPLAを制御する
際に、複数のデータ・ビットから成る符号化された数を
その出力区画(ORアレイ)から目的とするサブルーチ
ンPLAの入力区画(ANDアレイ)へ供給する。アド
レスされたサブルーチンPLAは、メインラインPLA
からの符号化数データ・ビットと、その符号化数フィー
ルドにある所与のデータ・ビットとが一致すると動作可
能になる。その時メインラインPLAは休止状態に入り
(ただし制御点信号は依然として出力し続ける)、一方
アドレスされたサブルーチンPLAの状態(すなわちア
ドレス)は、予めプログラムされている動作を実行する
よう増分される。このサブルーチンPLAは、対応する
シーケンス・カウンタによって、これ以上の動作が不要
であること(或いは動作が終了したこと)を示す状態へ
増分されるまで、実行を続け、必要な制御点を出力する
。そのような状態へ増分されると、サブルーチンPLA
は、メインラインP L、 Aの増分を自動的に再開さ
せるためのデータ・ビットをメインラインPLAへ送る
。増分が再開されると、メインラインPLAは別のサブ
ルーチンPLAをアドレスできるようになる。これらの
サブルーチンPLAは、メインラインPLAに対して相
対的に異なったレベルに位置づけることができる。また
、レベルの異なった複数のサブルーチンPLAに対し同
じメインラインPLAから指令を出して、異なった動作
を同時に又は異なった時間に実行させるため、任意の数
のサブルーチンPLAを一緒に入れ子にすることができ
る。従って本発明の目的は、PLAでサブルーチン動作
を実行することによって計算機マイクロコードを効率よ
く使用するマイクロコード制御機構を提供することにあ
る。
D、実施例 本発明の実施例を第1図に示す。本発明は、従来技術に
おける効率の悪さ及び大きなサイズの1〕LAといった
問題を解決するため、図示のように、単一のPLAでは
なくて、複数のPLAを使用する。その1つはメインラ
インPLA34であり。
それに少なくとも1つのPLA(例えばサブルーチンP
LA)36が相互接続されている。各PLAはANDア
レイ及びORアレイを有する。シーケンス・カウンタ(
SEQ  CT)はPLA毎に設けられる。すなわち、
シーケンス・カウンタ38はPLA34用であり、シー
ケンス・カウンタ40はPLA36用である。メインラ
インPLA34は、そのORアレイから線42及びOR
ゲート43を介してシーケンス・カウンタ38へ供給さ
れる制御ビットが増分を示していると増分される。メイ
ンラインPLA34はサブルーチンPLA36からの制
御ビットによっても増分される。
後者の制御ビットは、サブルーチンPLA36のORア
レイから線44及びORゲート43を介してシーケンス
・カウンタ38へ供給される。
サブルーチンPLA36は、そのORアレイから線46
を介してシーケンス・カウンタ40へ供給される制御ビ
ットにより増分される。また、メインラインPLA34
のORアレイからバス48へ出力される複数ビットの符
号化数もサブルーチンPLA36をアドレスするのに用
いられる。各PLAのORアレイはCPで示される付加
的な出力を有する。CPは所与のOPコードに関連する
特定の機能を実行するための制御点を与える出力信号で
ある。そのようなOPコードは、線50からメインライ
ンPLA34のA、 N Dアレイへ入力され、シーケ
ンス・カウンタ38からのシーケンス・カウントと共に
、特定の状態(アドレス)を指定する。サブルーチンP
LA36のORアレイには1点線で示したバス52を別
の出力用に設けることも可能である。このバス52は1
例えば他のサブルーチンPLA(図示せず)への符号化
数を表わすデータ・ビットを供給するのに用いることが
できる。1つのサブルーチンPLAを別のサブルーチン
PLAに接続するこのような入れ子構造については後で
説明する。
第1図の実施例によれば、異なったオペレーションを実
行するための自動分岐を同じOPコードで行うことがで
きる。例えば、従来量しPLAによってj@次行われて
いたように、もし1つのOPコードが(対応する機能の
ための)異なったマイクロワードのシーケンスを発生さ
せるのであれば、本発明は各マイクロワードを個々に発
生させるために単一のPLAを用いることができる。そ
して対応する機能が実行されると、サブルーチンPLA
からメインラインPLAへの戻り分岐が自動的に行われ
る。従って、サブルーチンPLAを繰返し用いることに
よって同じ機能を実行することができる。その際、各機
能が終る度に、当該機能の実行を要求したプロセッサ命
令の部分への戻り分岐を自動的に行うことができる。こ
れは、特別のハードウェアを用いることなく、或いは同
じプロセッサ命令を繰返し実行することなく行える。第
1図の実施例は事実上ファームウェアによるサブルーチ
ン処理を実行するものである。通常の回路或いは読取り
専用記憶装置ii (ROS)を用いたサブルーチン処
理では、電力消費及び金物量が共に多くなり、本発明に
比べて高くつく。
PLA構造における実際のサブルーチン機構を第3図に
示す。図示のように、メインラインPLA34のORア
レイは、バス48を介してサブルーチンPLA36のA
NDアレイへ送られる2ビツトの符号化数を含む。本実
施例では、符号化数フィールドは2ビツトしかないが、
これは必要に応じて拡張することができる。第3図にお
いて、54はメインラインPLA34のORアレイにあ
る符号化数フィールドを示し、56はサブルーチンPL
A36のANDアレイにある符号化数フィールドを示す
PLA34及び36のそれぞれのシーケンス・カウンタ
38及び40は、関連するANDNレアレイ中ビツトだ
けを増分するようになっているが。
上記の符号化数フィールドと同じく、このビット数も増
やすことができる。
さて、メインラインPLA34に注目すると。
そのANDNレアレイ中複数の状M(ROSの場合のア
ドレスと同じと考えてよい)がある。説明を簡単にする
ため、ANDアレイの左側に示すように、それぞれの状
態を、状態O1状態1、状態2のように呼ぶことにする
。各状態は1組のデータ・ビットを含む。例えば、状態
0はOOOで表わされ、状1m2は010で表わされる
。ANDアレイにおける各状態は対応する1組のデータ
・ビットをORアレイ中に持っている。この1組のデー
タ・ビットは、第3図の実施例では、符号化数を表わす
2ビツトと、線42を介してシーケンス・カウンタ38
へ出力される1つの増分ビットとを含んでいる。従って
、例えば状態OはメインラインPLA34のORアレイ
で001として表わされる。
メインラインPLA34のORアレイには3つのデータ
・ビットしか示していないが、実際には特定の機能を実
行するための制御点cpを発生するのに必要な他のデー
タ・ビットも含まれている。
サブルーチンPLA36のANDアレイの各状態は、シ
ーケンス・カウントを表わすデータ・ビットの他に、サ
ブルーチンPLA36のための符号化数を表わすデータ
・ビットを有する。メインラインPLA34のORアレ
イにおける符号化数フィールドが2ビツトのため、サブ
ルーチン36の符号化数を表わすデータ・ビットも2ビ
ツトに制限される。第3図の実施例では、サブルーチン
PLA36は10のデータ・ビットによって表わされる
符号化数を有する。このように、サブルーチンPLA3
6のANDNレアレイ中まれる各状態は5つのデータ・
ビットによって表わされ、状態Oは10000−C−表
され、状滋2は10010で表わされる。サブルーチン
PLA36でも、そのANDNレアレイ中組のデータ・
ビットは対応する1組のデータ・ビットをORアレイに
持っている。第3図の実施例では、サブルーチンPLA
36のORアレイに含まれる各組のデータ・ビットは2
ビツトだけである。その一方のビットはメインラインP
LA34を増分するのに用いられ、他方のビットはサブ
ルーチンPLA36を増分するのに用いられる。メイン
ラインPLA34のORアレイと同じく、サブルーチン
PLA36のORアレイも特定の機能を実行するための
複数組の制御点(図示せず)を有する。
次に、第3図の実施例の動作を説明する。まず、シーケ
ンス・カウンタ38及び40は000 <すなわち初期
状態)にリセットされており、oPコード(第3図には
示していない)は要求する機能の実行のために図示のシ
ーケンスを選択したとする。メインラインPLA34が
状態0及び状態1の間は、そのORアレイから線42へ
1の値を有する増分ビットが出力されるため、シーケン
ス・カウンタ38が1ずつ増分されるが、その時の符号
化数フィールド54の内容はいずれもOOのため、サブ
ルーチンPLA3Gは非活動のままである。ところが、
メインラインPLA34が状態2(010)へ増分され
た時の符号化数フィールド54は、サブルーチンPLA
36のANDNレアレイ中号化数フィールド56にある
データ・ビットの値に対応する1組のデータ・ビット(
1o)を有する。かくしてサブルーチンPLA36が活
動化される。その時メインラインI) L A 34の
ORアレイから線42へ出力される増分ビットの値は0
であるが、これはメインラインPLA34の動作の効果
的な凍結ないし休止を示す。すなわち、サブルーチンP
LA36が動作を引き継ぐ時、メインラインPLA34
は状態2で休止される。ただし、メインラインPLA3
4が休止されるとは言っても、状態2のための制御点を
表わすデータ・ビットは依然としてそのORアレイから
出力される。
サブルーチンPLA36の符号化数フィールドの値が、
メインラインPLA34の状fi2(010)の時の符
号化数フィールドの値と一致すれば、1の値を有するシ
ーケンス・カウンタ制御点が線46を介してシーケンス
・カウンタ40へ供給されるので、サブルーチンPLA
36の増分が開始される。第3図の実施例では、サブル
ーチンPLA36は状態Oから状態3まで進むが、勿論
その間は、特定の機能を実行するための制御点信号CP
をORアレイから発生している。
サブルーチンPLA36が状態3、すなわち10011
を含む位置まで増分されると、シーケンス・カウンタ4
0の増分を表わすデータ・ビット([46)が0になり
、それと同時にシーケンス・カウンタ38の増分を表わ
すデータ・ビット(線44)が1になる。その結果、シ
ーケンス・カウンタ38が活動化されて、メインライン
PLA34を状態2(010)から状態3(011)へ
進ませる。状態3における符号化数フィールドの値はO
Oであるから、サブルーチンPLA3Gは最早アドレス
されない。かくして、サブルーチンPLA36からメイ
ンラインPLA34への戻り分岐が行われたことになる
。この時、サブルーチンPLA36のシーケンス・カウ
ンタ40は次のサブルーチン呼出しに備えてOにリセッ
トすることができる。或いは、次にどのような機能が要
求されるかに応して、シーケンス・カウンタ40をその
ままに保つか、又は他の状態にセットすることも可能で
ある。
メインラインPLA34が動作を再開すると、今までと
は異なった状態が指定されるので、サブルーチンPLA
36とは別のサブルーチンPLAがアドレスされること
もある。その例を第4図に示す。メインラインPLA3
4は種々のレベルにあるサブルーチンPLAと相互接続
される。第4図では、各レベルに2つのサブルーチンP
LAL。
か示していないが、もっと多くのサブルーチンPLAを
それぞれのレベルに割当てることが可能である。
以下の条件に従う限り、成るレベルから次のレベルへと
異なったPLAを無限に入れ子にすることができる。そ
の条件とは、各PLAが自身の対応するシーケンス・カ
ウンタを持っていること、各PLAが対応するシーケン
ス・カウンタを増分するための制御点をそのORアレイ
に持つと共に、当該PLAを活動化したPLAのシーケ
ンス・カウンタを増分するための制御点も持っているこ
と、及び各PLAがそのORアレイ中に符号化数フィー
ルドを持っていて、その中のデータ・ビットが該データ
・ビットを受取るPLAの符号化数フィールド中のデー
タ・ビットと一致した時に、そのPLAが動作可能にな
ること、である。
第4図の実施例では、複数のPLAが同時に動作可能に
なることがある。例えば、OPコードによって要求され
た異なった機能を実行するために、サブルーチンPLA
36及び60が同時に動作し得る。その場合、サブルー
チンPLA36がなお増分されて動作を続けている時に
、サブルーチンPLA60が休止状態まで増分されて、
第2レベルのサブルーチンPLA64に制御を渡してい
る。
といった事態が生じ得る。ただし、メインラインPLA
34を含むとのPLAが休止状態になったとしても(複
数のPLAが休止することもある)。
それらのPLAからの所期の制御点信号を動作状態にあ
るPLAからの@御点信号と組合せて用いることができ
る。かくして、従来技術とは異なり。
本発明ではマイクロワード・シーケンスの各マイクロワ
ードの同時発生が可能である。また、活動化されたPL
Aから該PLAを活動化したPLAへの自動戻り分岐が
可能なので、融通性のある効率的なオペレーションを行
える。
第4図の実施例でメインラインPLA34の凍結を解除
するには、第ルベルの1つのサブルーチンPLAがメイ
ンラインPLA34のシーケンス・カウンタ(SC)を
増分させるデータ・ビットを供給する状態になればよい
。すなわち、第ルベルの1つのサブルーチンPLAがそ
の作業を終ると、メインラインPLA34の増分が再開
される。また、プログラミングによって、第ルベルのす
べてのサブルーチンPLAがそれぞれの機能を終えた後
に、メインラインPLAの動作を再開させるようにする
こともできる。第ルベルの最後のサブルーチンPLAの
動作終了をメインラインPLAの増分再開の条件にして
もよい。
PLAの活動中はハザードや論理的レース条件が生じな
いような信頼性の高いオペレーションを行うため、例え
ば2重ラッチ型のレベル・センシティブ・スキャン設計
(LSSD)機構を用いることができる。
第5図に示すように、LSSD機構では、シーケンス・
カウンタの1ビツトを表わすのに2つのラッチL1及び
L2を使用する。ラッチL1はφ□クロックに応答して
ORアレイからの出力をラッチする。次のφ2クロック
で、ラッチ情報はLlからL2へ転送され、それにより
PLAの状態が次に進んで、そのORアレイから新しい
出力が発生される。この出力は前と同様にラッチL1に
入る。これから明らかなように、状態(アドレス)のデ
ータ・ビット値はφ2クロックが印加されるまでは変化
しない。φ、クロック及びφ2クロックは重なり合うこ
とのない排他的なりロックであり、活動化されたサブル
ーチンPLAからの制御点によって該PLAを活動化し
たPLAを増分する時にどのような論理的レース条件も
生じないようにするためには、両クロック間に適切な間
隔をとっておく必要がある。
第6図は1つのサブルーチンPLAを繰返し動作させる
ための機構を示している。繰返し動作を可能にするため
、サブルーチンPLAのORアレイ中にサブルーチン符
号化数フィールドを設ける。
例えば、メインラインPLAの符号化数フィールドから
のデータ・ビットをゲートするため、サブルーチン活動
化を表わすデータ・ビットが線66からラッチ68へ送
られる。既存の制御フィールドの機能と競合しなければ
、サブルーチン活動化データ・ビットをその制御フィー
ルドに含めることができる。図示のように、このフィー
ルドの論理的な意味を時分割ベースで区別するためには
若干の制御論理が必要である。ハザードのない動作を可
能にするため、第6図の実施例でも第5図と同様のラッ
チ機構を使用している。
各PLAのシーケンス・カウンタの動作は前と同じであ
るから、それらの制御は第6図には示していない、第6
図の実施例によれば、同じサブルーチン活動化内で異な
った場所への自動分岐を行うことができる。第6図の実
施例は、特定の機能を何回も繰返し実行しなければなら
ない場合に有用である。繰返しを終らせる場合は、サブ
ルーチン活動化データ・ビットをオフにすればよい。
E0発明の効果 本発明はサブルーチン動作をPLAで実行するので、そ
の内容を適切に設定することによって計算機マイクロコ
ードを効率よく使用することができる。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図。 第2図はPLAを使用した従来のデータ・プロセッサを
示すブロック図。 第3図はメインラインPLA及びサブルーチンPLAの
相互接続をそれらの各アレイの具体的内容と共に示すブ
ロック図・ 第4図はメインラインPLAと異なったレベルにある複
数のサブルーチンPLAとの関係を示すブロック図。 第5図はPLAの動作に信頼性を持たせるための2重ラ
ッチ機構を示すブロック図。 第6図はサブルーチンPLAの繰返し動作を可能にする
構成を示すブロック図。 出願人  インターナショナル・ビジネスマシーンズ・
コーポレーション 代理人  弁理士  頓  宮  孝 (外1名)

Claims (1)

  1. 【特許請求の範囲】 マイクロコードを用いてプロセッサ命令を実行するデー
    タ・プロセッサにおいて、 プロセッサ命令のOPコードに従って選択される複数の
    状態を含む第1区画、及び該複数の状態に対応する複数
    組のデータ・ビットを含む第2区画を有するプログラム
    可能論理アレイと、 複数の状態を含み、前記第2区画から1組のデータ・ビ
    ットを受取る入力区画、及び該入力区画の複数の状態に
    対応する複数組のデータ・ビットを含む出力区画を有す
    る少なくとも1つの別のプログラム可能論理アレイと、 各プログラム可能論理アレイの状態をそれぞれ独立して
    増分するための増分手段とを具備し、前記第1区画の状
    態の1つがOPコードによって選択された時に前記第2
    区画中の対応するデータ・ビットの組が読出されて前記
    入力区画へ供給され、それに応答して前記プロセッサ命
    令を実行するための制御信号を前記出力区画から発生す
    るようにしたことを特徴とするマイクロコード制御装置
JP1328607A 1989-01-12 1989-12-20 マイクロコード制御装置 Pending JPH02226423A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/296,168 US5043879A (en) 1989-01-12 1989-01-12 PLA microcode controller
US296168 1989-01-12

Publications (1)

Publication Number Publication Date
JPH02226423A true JPH02226423A (ja) 1990-09-10

Family

ID=23140895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1328607A Pending JPH02226423A (ja) 1989-01-12 1989-12-20 マイクロコード制御装置

Country Status (5)

Country Link
US (1) US5043879A (ja)
EP (1) EP0377976B1 (ja)
JP (1) JPH02226423A (ja)
CA (1) CA2006243C (ja)
DE (1) DE68926851D1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174701A (ja) * 1996-12-09 2007-07-05 Pact Xpp Technologies Ag 再構築可能プロセッサ、再構築可能データ処理ユニット、データ処理装置構築可能ユニット、構築可能データプロセッサ
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680600A (en) * 1989-10-13 1997-10-21 Texas Instruments Incorporated Electronic circuit for reducing controller memory requirements
US5189628A (en) * 1991-03-11 1993-02-23 National Semiconductor Corporation System and method for partitioning PLA product terms into distinct logical groups
US5369772A (en) * 1992-05-21 1994-11-29 Compaq Computer Corporation Method of maximizing data pin usage utilizing post-buffer feedback
US5440740A (en) * 1992-10-13 1995-08-08 Chen; Fetchi System and method for managing devices on multiple digital signal processors
JP3068382B2 (ja) * 1993-09-29 2000-07-24 株式会社東芝 プログラマブルロジックアレイ
US5854922A (en) * 1997-01-16 1998-12-29 Ford Motor Company Micro-sequencer apparatus and method of combination state machine and instruction memory
US6163836A (en) 1997-08-01 2000-12-19 Micron Technology, Inc. Processor with programmable addressing modes
JP2005505049A (ja) * 2001-10-01 2005-02-17 ベンジャミン クーパー, 汎用固定命令セット(fis)ビットスライスフィードバックプロセッサユニット/コンピュータシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51852A (ja) * 1974-06-06 1976-01-07 Nat Semiconductor Corp
JPS6226724A (ja) * 1985-07-29 1987-02-04 株式会社東芝 ガス遮断器
JPS63263543A (ja) * 1987-04-21 1988-10-31 Fuji Electric Co Ltd マルチレベルプログラミング方式

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines
US3794980A (en) * 1971-04-21 1974-02-26 Cogar Corp Apparatus and method for controlling sequential execution of instructions and nesting of subroutines in a data processor
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
US3959774A (en) * 1974-07-25 1976-05-25 California Institute Of Technology Processor which sequences externally of a central processor
DE2617485C3 (de) * 1976-04-22 1980-09-18 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE2657404B2 (de) * 1976-12-17 1978-09-28 Siemens Ag, 1000 Berlin Und 8000 Muenchen Steuerwerk
FR2388344A1 (fr) * 1977-04-19 1978-11-17 Cii Honeywell Bull Procede et dispositif de calcul d'adresse d'enchainement des micro-instructions a executer dans une memoire de commande d'un systeme informatique
US4371931A (en) * 1979-06-27 1983-02-01 Burroughs Corporation Linear micro-sequencer for micro-processor system utilizing specialized instruction format
US4323963A (en) * 1979-07-13 1982-04-06 Rca Corporation Hardware interpretive mode microprocessor
US4394736A (en) * 1980-02-11 1983-07-19 Data General Corporation Data processing system utilizing a unique two-level microcoding technique for forming microinstructions
US4398244A (en) * 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
JPS5757345A (en) * 1980-09-24 1982-04-06 Toshiba Corp Data controller
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor
US4399516A (en) * 1981-02-10 1983-08-16 Bell Telephone Laboratories, Incorporated Stored-program control machine
US4450525A (en) * 1981-12-07 1984-05-22 Ibm Corporation Control unit for a functional processor
US4685080A (en) * 1982-02-22 1987-08-04 International Business Machines Corp. Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4594661A (en) * 1982-02-22 1986-06-10 International Business Machines Corp. Microword control system utilizing multiplexed programmable logic arrays
US4509114A (en) * 1982-02-22 1985-04-02 International Business Machines Corporation Microword control mechanism utilizing a programmable logic array and a sequence counter
US4556938A (en) * 1982-02-22 1985-12-03 International Business Machines Corp. Microcode control mechanism utilizing programmable microcode repeat counter
US4493029A (en) * 1982-05-14 1985-01-08 At&T Bell Laboratories Microprocessor with PLA adapted to implement subroutines
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
US4551798A (en) * 1982-11-03 1985-11-05 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling nester subroutines
US4546431A (en) * 1982-11-03 1985-10-08 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
US4488227A (en) * 1982-12-03 1984-12-11 Honeywell Information Systems Inc. Program counter stacking method and apparatus for nested subroutines and interrupts
US4947369A (en) * 1982-12-23 1990-08-07 International Business Machines Corporation Microword generation mechanism utilizing a separate branch decision programmable logic array
US4562538A (en) * 1983-05-16 1985-12-31 At&T Bell Laboratories Microprocessor having decision pointer to process restore position

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51852A (ja) * 1974-06-06 1976-01-07 Nat Semiconductor Corp
JPS6226724A (ja) * 1985-07-29 1987-02-04 株式会社東芝 ガス遮断器
JPS63263543A (ja) * 1987-04-21 1988-10-31 Fuji Electric Co Ltd マルチレベルプログラミング方式

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174701A (ja) * 1996-12-09 2007-07-05 Pact Xpp Technologies Ag 再構築可能プロセッサ、再構築可能データ処理ユニット、データ処理装置構築可能ユニット、構築可能データプロセッサ
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization

Also Published As

Publication number Publication date
EP0377976B1 (en) 1996-07-17
EP0377976A2 (en) 1990-07-18
US5043879A (en) 1991-08-27
DE68926851D1 (de) 1996-08-22
CA2006243A1 (en) 1990-07-12
EP0377976A3 (en) 1993-01-27
CA2006243C (en) 1994-03-15

Similar Documents

Publication Publication Date Title
EP0087011B1 (en) Microcode control mechanism utilizing programmable microcode repeat counter
JPH02226423A (ja) マイクロコード制御装置
US5036453A (en) Master/slave sequencing processor
US4168523A (en) Data processor utilizing a two level microaddressing controller
US4661901A (en) Microprocessor control system utilizing overlapped programmable logic arrays
JPH06103507B2 (ja) パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ
JPH0124655Y2 (ja)
US6587914B2 (en) Non-volatile memory capable of autonomously executing a program
US4258417A (en) System for interfacing between main store memory and a central processor
JPS58158744A (ja) マイクロワ−ド制御装置
US4084229A (en) Control store system and method for storing selectively microinstructions and scratchpad information
US5129079A (en) Computer system having subinstruction surveillance capability
US8200943B2 (en) Microprocessor
US5696920A (en) Stand-alone data driven type information processor
JP2680828B2 (ja) ディジタル装置
US4794527A (en) Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times
JPH0685147B2 (ja) 半導体回路装置
US4931989A (en) Microword generation mechanism utilizing a separate programmable logic array for first microwords
JPS6053898B2 (ja) デ−タ処理システム
US5826063A (en) Apparatus and method for programming the setup, command and recovery time periods within a transaction cycle
US4809165A (en) Apparatus for processing input/output pulses for use in microcomputers
JPH05324383A (ja) マイクロコンピュータ自体に組込まれたマイクロプログラムによってプログラム化マイクロコンピュータのメモリをチェックするプロセス
JPS6323585B2 (ja)
JP2510173B2 (ja) アレ−・プロセツサ
JPH01173132A (ja) マイクロプログラム制御装置