JPH08263285A - 命令をリアル・タイムで処理する装置または方法 - Google Patents

命令をリアル・タイムで処理する装置または方法

Info

Publication number
JPH08263285A
JPH08263285A JP7304772A JP30477295A JPH08263285A JP H08263285 A JPH08263285 A JP H08263285A JP 7304772 A JP7304772 A JP 7304772A JP 30477295 A JP30477295 A JP 30477295A JP H08263285 A JPH08263285 A JP H08263285A
Authority
JP
Japan
Prior art keywords
processor
instruction code
address
signal
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7304772A
Other languages
English (en)
Other versions
JP3098409B2 (ja
Inventor
Dieter E Staiger
データー・イー・スタイガー
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 JPH08263285A publication Critical patent/JPH08263285A/ja
Application granted granted Critical
Publication of JP3098409B2 publication Critical patent/JP3098409B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 リアル・タイム処理に好適なプロセッサを提
供する。 【解決手段】 プロセッサは命令コードを受信し、それ
をブール回路において処理し、その論理結果を生成する
命令コード制御装置とブール回路の論理結果により複数
の入力信号線(A乃至D)のいずれかを選択するマルチ
プレクサを含む次アドレス制御装置とを含む。プロセッ
サはトリガ信号によりトリガされ、各命令コードはプロ
セッサにより連続トリガ信号の間に処理される。トリガ
信号が発生すると、本発明によるプロセッサは処理され
る命令コードのアドレスを含む信号を制御メモリ及びユ
ーザ・データ・メモリに発行する。そのアドレスに対応
する命令コードが制御メモリからプロセッサにロードさ
れ、そこで処理される。この処理の1つの結果は続いて
処理される命令コードのアドレスであり、これが続くト
リガ信号の発生時に処理される。命令コードのこのロー
ド及び処理がプログラムの終りに達するか、割込み信号
が停止ルーチンを呼出すまで連続トリガ信号の間の各サ
イクルにおいて連続的に発生する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は命令コードを処理す
るプロセッサに関し、特に、リアル・タイム・プロセッ
サに関する。
【0002】
【従来の技術】従来技術によるマイクロプロセッサの構
成が、EPO Applied Technology Series、Volume 8、COR
NILLIE、O.、"Microprocessors"に見い出され、図1に
示される。図1の従来のマイクロプロセッサは、命令レ
ジスタに含まれる命令を解読する制御装置を含む。"解
読(deciphering)"はここでは、命令レジスタの内容が
コマンドが実行されるように解釈されることを意味す
る。命令実行のための一連の演算を実行するために必要
な内部接続が、順次マイクロプログラムに従い生成され
る。
【0003】図1のマイクロプロセッサは、データ・バ
スから命令を受信する命令レジスタを含むレジスタ構造
により構成される。インデックス・レジスタは、レジス
タ内容を参照し、外部メモリをアドレス指定するために
使用される。プログラム・カウンタは、続く命令が見い
出されるアドレスを含む。加算、減算及びAND、O
R、NAND、EXORの論理関数がシフト・レジスタ
演算論理装置(ALU)により実行され、同時にワード
のビットが左または右にシフトされる。ALUにより実
行される演算結果はアキュムレータに記憶され、外部装
置に出力されたり、また逆に外部装置からのワードがア
キュムレータに入力されたりする。補助内部レジスタな
どの他のレジスタも、外部メモリのためのインジケータ
("ポインタ")として機能する(レジスタの内容、従っ
てアドレスとして作用する)。
【0004】図1のプロセッサは更にアドレス・バス及
びデータ・バスへの外部接続を含み、これにより演算に
要求される命令コード及び条件コードを含む制御メモリ
(図示せず)がアドレス指定可能になる。
【0005】図1のプロセッサにおいて演算を開始する
ためにプログラム・カウンタが特定の位置にセットさ
れ、プログラムが開始するメモリの適切なアドレスを指
示する。この開始アドレスにおいてマイクロプロセッサ
はその最初の命令を探し出し、それを命令レジスタに転
送するのと同時にメモリ内のプログラムが順番に実行さ
れるようにプログラム・カウンタを1だけ増分する。命
令は復号化され、その後、プロセッサは命令を構成する
バイト数、並びに命令を実行するために内部論理がどの
ように接続されねばならないかを知ることになる。最後
に命令が実行され、同様にしてプログラム全体が実行さ
れる。例えばプログラム・カウンタ値などの演算条件が
プロセッサ内において連続的に提供される。
【0006】既知のマイクロプロセッサは、入来データ
及びアドレスを処理するための複数のクロック同期(cl
ocked)レジスタを含む。入来命令コードは入力レジス
タに最初に登録され、次のクロック信号が発生すると
き、同期してクロック出力される。命令コードの処理の
間、更に別のデータの登録及び同期クロック出力が提供
される。従って、特定の命令コードの処理に必要なクロ
ック・サイクル数はその演算の複雑度に依存する。ここ
でクロック・サイクルは連続するクロック信号の間の時
間である。
【0007】リアル・タイム処理は近年、一層その重要
度を増している。リアル・タイム処理は出力の生成時期
が重要である処理を意味する。これは通常、入力が物質
界における特定の動きに相当し、出力がその同一の動き
に関連しなければならないことによる。第1のリアル・
タイム条件としての入力時刻から出力時刻までの遅れ
は、受諾可能な適時性(timeliness)のために、十分小
さくなければならない。ここで適時性とはトータル・シ
ステムの機能である。リアル・タイム・システムは通
常、その応答時間がミリ秒のオーダのシステムと考えら
れる。それに対して、対話型システムはその応答時間が
秒のオーダであり、バッチ・システムは応答時間が時間
または日のオーダである。
【0008】更に別のリアル・タイム条件は、リアル・
タイム・システムが予測可能で最小の割込み待ち時間を
要求することである。ここで割込み待ち時間とは、割込
み呼出しからその実行の開始までの時間である。割込み
呼出しはプロセッサに対して、非同期事象が発生したこ
とを示す信号である。命令の現シーケンスが一時的に保
留(中断)され、割込みに適切なシーケンスがそこから
開始される。割込み呼出しに対する即時応答はリアル・
タイム・アプリケーションにおける基本的条件である。
【0009】既知のプロセッサ・アーキテクチャによる
リアル・タイム処理では、リアル・タイム処理条件を実
現するために、高速プロセッサ及び高速制御メモリなど
の高速な、従って高価なコンポーネントを要求する。
【0010】リアル・タイム処理のための高速プロセッ
サは一般に、直列データ・アプリケーションによる時間
損失を回避するために、演算に必要な全てのデータの同
時且つ並列アプリケーションを要求する。既知のプロセ
ッサ構造では、従って演算に要求される全てのデータが
それぞれの制御メモリにおいて同時に使用可能であり、
ビット長が約100ビット乃至500ビットの制御メモ
リが一般に使用される。しかしながら、これらの100
ビット乃至500ビット長のメモリのアドレス指定及び
制御の結果、処理速度の損失が次の要因により生じる。
アドレス・ファン・アウト、高い容量性負荷及び広域の
信号外乱による遅延。アドレス指定メモリに要求される
長い伝送路。大きな物理寸法を有する大規模プロセッサ
ASIC。大電力消費。追加のドライバの必要性。
【0011】一方、直列またはパイプライン化データ・
アプリケーションは達成可能な処理速度の明らかな制限
を生じる。
【0012】
【発明が解決しようとする課題】本発明の目的は、リア
ル・タイム処理に好適なプロセッサを提供することであ
る。
【0013】本発明の別の目的は、最小の割込み待ち時
間を有するプロセッサを提供することである。
【0014】更に本発明の別の目的は、低価格コンポー
ネントにより高速処理速度を達成するプロセッサを提供
することである。
【0015】本発明のこれらの目的が、本発明の特許請
求の範囲の請求項1による処理装置または請求項8によ
る方法により達成される。
【0016】
【課題を解決するための手段】トリガ信号(例えばクロ
ック信号)が発生すると、本発明によるプロセッサは、
処理される命令コードのアドレスを含む信号を制御メモ
リまたはユーザ・データ・メモリに発行する。そのアド
レスに相当する命令コードが制御メモリからプロセッサ
にロードされ、そこで処理される。この処理の結果、引
き続いて処理される命令コードのアドレスが生成され、
引き続きトリガ信号が発生するとこのアドレスが処理さ
れる。命令コードのこのロード及び処理は連続トリガ信
号の間の各サイクルにおいて連続的に発生し、これはプ
ログラムの終りに達するか、割込み信号が停止ルーチン
を呼出すまで継続される。
【0017】各命令コードが連続するトリガ信号の間
(または1クロック・サイクル内)に処理され、命令コ
ード・シーケンスのタイミングを予測可能にするので、
上述のリアル・タイム条件が達成される。割込み信号が
割込みルーチンを呼出している時、プロセッサ110に
おける割込み待ち時間(割込み呼出しからその実行の開
始までの時間)は、連続トリガ信号の間の時間(または
同期クロックが提供される場合には、1クロック・サイ
クル)よりも小さい。
【0018】
【発明の実施の形態】図2は、本発明によるプロセッサ
110を含む処理装置100の一般ブロック図を示す。
プロセッサ110の出力は、アドレス信号線115及び
信号線118を介して制御メモリ(CM)120に接続
される。フィードバック・ループ130は更に、制御メ
モリ120の出力とプロセッサ110の入力との間の接
続を提供する。
【0019】制御メモリ120は、プロセッサ110に
おける各演算に対応するコード化機能及び条件を含む命
令コードを含み(例えばハード・ディスク、ディスケッ
トまたはホスト・コンピュータからのプリロード・プロ
グラムとして含む)、プロセッサ110により制御され
る。制御メモリ120はプロセッサ110によりアドレ
ス信号線115を介してアドレス指定され、制御メモリ
120内のデータは信号線118を介して、プロセッサ
110により変更される。追加のユーザ・データ・メモ
リ140は、アドレス信号線115を介して、プロセッ
サ110により制御メモリ120と並列にアドレス指定
され、プロセッサ110による特殊目的機能(例えば、
ALUにおけるアルゴリズム的論理演算、或いは後述の
例のような周波数またはタイミング生成)の実行を可能
にする。ユーザ・データ・メモリ140はまた特殊目的
機能の実行に必要な命令コード及び演算条件を含むデジ
タル情報をプリロードすることができる。ユーザ・デー
タ・メモリ140は、例えば"ステート・マシン"を実行
するプログラムの実行の間に変更データ出力150を介
して、プロセッサ110により変更される。
【0020】プロセッサ110は更に、クロック入力、
ユーザ・データ・フィードバック信号を受信するデータ
・フィードバック入力160、及びプロセッサ・コマン
ド、フラグ及び割込み信号を受信する制御入力170を
含む。
【0021】ここで処理装置100は図2に示される実
施例に限らないことは理解されよう。プロセッサ110
の様々な他の入力及び出力が実際のアプリケーションに
依存して可能である。更に制御メモリ120及びユーザ
・データ・メモリ140が別々のアドレス信号線により
アドレス指定されたり、或いは信号線115及び150
などの追加の変更信号線を必要とせずに、アドレス信号
線を通じて直接変更可能であることが理解されよう。
【0022】一般に、リアル・タイム処理装置100に
おける処理は、図1の処理に従い実質的に実行される。
命令コードが制御メモリ120からロードされ、プロセ
ッサ110において処理される。しかしながら、主な違
いはクロック信号に対する命令コードの異なる処理順序
にある。既に述べたように、従来のプロセッサにおいて
1命令コードの処理に要求されるクロック・サイクル数
は演算の複雑度により決定される。しかしながら、本発
明によるリアル・タイム処理装置100では、1命令コ
ードの処理時間は連続クロック信号の間のサイクル・タ
イムに制限される。このことはプロセッサ110におい
て、それぞれの命令コードの処理に要するクロック・サ
イクル数が1クロック・サイクルに決定されることを意
味する。
【0023】クロック信号が発生すると、プロセッサ1
10はアドレスADDRmを含む信号を、アドレス信号
線115を介して、制御メモリ120及びユーザ・デー
タ・メモリ140に発行する。ここでアドレスADDR
mは、次のクロック信号が発生する以前に、プロセッサ
110により処理される命令コードのアドレスを表す。
同時に制御メモリ120及びユーザ・データ・メモリ1
40において、データがプロセッサ110により、それ
ぞれ信号線118及び信号線150を介して変更され
る。他のユーザ・データまたは制御データはプロセッサ
110により信号線160または170を介して受信さ
れる。アドレス信号線115上のアドレスADDRmが
有効な場合、制御メモリ120に記憶される提供アドレ
スADDRmに対応する命令コードが信号線130を介
してプロセッサ110に提供され、そこで処理される。
提供された命令コードに対するプロセッサ110におけ
る処理の1つの結果は、次のクロック信号の発生時に処
理される次の命令コードのアドレスADDRnである。
【0024】次のクロック信号が発生すると、プロセッ
サ110はアドレスADDRnを含む信号をアドレス信
号線115を介して制御メモリ120及びユーザ・デー
タ・メモリ140に発行する。ここでアドレスADDR
nは続くクロック信号が発生する以前に、プロセッサ1
10により処理される命令コードのアドレスを表す。同
時に制御メモリ120及びユーザ・データ・メモリ14
0において、データがプロセッサ110により、それぞ
れ信号線118及び信号線150を介して変更される。
他のユーザ・データまたは制御データはプロセッサ11
0により信号線160または170を介して受信され
る。アドレス信号線115上のアドレスADDRnが有
効な場合、制御メモリ120に記憶される提供アドレス
ADDRnに対応する命令コードが信号線130を介し
てプロセッサ110に提供され、そこで処理される。再
度、提供された命令コードに対するプロセッサ110に
おける処理の1つの結果は、続くクロック信号の発生時
に処理される次の命令コードのアドレスADDRsであ
る。
【0025】ここでプロセッサ110は、固定クロック
周波数(例えば水晶発振器)により刻時されるか、また
は命令コードの処理が要求される度に、非同期に刻時さ
れることが理解されよう。
【0026】より一般的には、トリガ信号(例えばクロ
ック信号)が発生するとき、プロセッサ110は処理さ
れる命令コードのアドレスを含む信号を制御メモリ12
0(及びユーザ・データ・メモリ140)に発行する。
そのアドレスに対応する命令コードが制御メモリ120
からプロセッサ110にロードされ、そこで処理され
る。この処理の1つの結果は、次のトリガ信号の発生時
に続いて処理される命令コードのアドレスである。命令
コードのこのロード及び処理はプログラムの終りに達す
るか、割込み信号が停止ルーチンを呼出すまで連続トリ
ガ信号の間の各サイクルにおいて連続的に発生する。
【0027】各命令コードが連続トリガ信号の間(また
は1クロック・サイクル内)に処理されるので、本発明
のプロセッサ110は命令コード・シーケンスのタイミ
ングを予測可能にし、従って、上述のリアル・タイム条
件が容易に達成される。割込み信号が割込みルーチンを
呼出す時には、プロセッサ110における割込み待ち時
間(割込み呼出しからその実行の開始までの時間)が連
続トリガ信号の間の時間(または同期クロックが提供さ
れる場合には、1クロック・サイクル)よりも小さい。
【0028】図3は本発明によるプロセッサ110の実
施例を示す。プロセッサ110は条件及び命令コード制
御装置(COC)200、次アドレス制御装置(NA
C)210、及び機能処理装置220を含む。COC2
00及び機能処理装置220は、フィードバック・ルー
プ信号線130を介して、制御メモリ120から命令コ
ードを受信する。機能処理装置220は、提供される命
令コードを処理し(例えばプログラム・カウンタ比較、
フラグ・レジスタ比較など)、その信号(例えばプログ
ラム・カウンタ信号、プログラム・ロード信号、フラグ
信号など)をその出力信号線222及び224上に生成
し、COC200及びNAC210に伝達する。機能処
理装置220により生成される信号は、プロセッサ11
0において命令コードの処理のための機能制御信号とし
て内部的に使用される。
【0029】条件及び命令コード制御装置(COC)2
00は、命令コードをブール・インタロック回路230
において処理し、その論理結果が制御信号線240上に
セットされ、次アドレス制御装置210のマルチプレク
サ250の制御入力として作用する。ここでブール・イ
ンタロック回路230は、AND、OR、EXORまた
はインバータ(ここでは丸印として示される)・ゲート
などの論理ブール要素だけを含むことが理解されよう。
ブール・インタロック回路230における論理ブール要
素のブール関数への組合わせは、処理装置100におけ
る処理に使用されるそれぞれの命令コードにより決定さ
れる。信号線130上の命令コードはブール・インタロ
ック回路230により割込まれ、その結果が制御信号線
240上に出力される。
【0030】図3のマルチプレクサ250は複数の入力
信号線A、B、C、Dなどを含み、これらの各々はマル
チプレクサ250において、制御信号線240により選
択される。入力信号線A、B、C、Dなどは、次に処理
される命令コードを含むアドレスの様々な可能性を表
し、例えば現在有効なアドレス、制御メモリ120から
信号線130を介して提供されるアドレス、またはユー
ザ提供アドレスなどから導出される。制御信号線240
により選択される入力信号線はマルチプレクサ250の
出力E上にセットされ、レジスタ260に登録される。
レジスタ260は更にクロック信号を受信し、クロック
に同期して、アドレス・データを信号線Eからアドレス
信号線115に出力する。ここでマルチプレクサ250
により提供される多重化機能は、既知の任意の種類のス
イッチング回路により確立されることが理解されよう。
【0031】当業者には、マルチプレクサ250に提供
される信号の確実な時間マッチングが提供されなければ
ならないことが明らかであろう。すなわち、最も遅い信
号がマルチプレクサ250に、従ってアドレス・レジス
タ260に間に合って提供されるように、すなわち次の
クロック信号が発生する以前に提供されるように保証す
る必要がある。次の処理アドレスが新たなクロック・サ
イクル毎にアドレス信号線115上で有効となるために
は、ブール・インタロック回路230における論理ブー
ル演算、及びマルチプレクサ250により提供される次
の処理アドレスの選択オペレーションが1クロック・サ
イクル内で実行されなければならない。
【0032】図3の好適な実施例では、次の処理アドレ
スに対応して、4つの異なる分岐オプションが制御信号
線240により選択される。各分岐オプションはそれぞ
れの信号線A乃至Dに提供されるそれぞれのアドレスに
より表され、次の処理アドレスは、信号線A乃至Dのい
ずれかを選択することにより選択される。4つの分岐オ
プションは次のようである。 信号線A:現アドレスに留まる。 信号線B:所与の特定の値だけ、現アドレスから進む
(例えば現アドレスに"1"を加算し、次に高位のアドレ
スの命令コードを選択する)。 信号線C:所与のアドレス、例えば制御メモリからの直
接データ・ビットに分岐する。 信号線D:スタックに記憶されるアドレス(例えば最も
一般的には、サブルーチンで使用されるアドレスを含
む)に分岐する。
【0033】アドレス演算における上記4つのオプショ
ンは、ほとんどのプログラム言語において共通に使用さ
れる分岐可能性を表す。しかしながら、本発明によるア
ドレス演算は上記のアドレス演算に限られるものではな
いことが理解されよう。例えばユーザ・フィードバック
入力からのアドレスなどの、あらゆる可能なアドレス演
算が使用されうる。特定のアプリケーションでは、例え
ば制御メモリ120などの所与のアドレスにプログラム
をロードする必要がある場合、この所与のアドレスが"
プログラム・ロード・モード"が選択されるときに、別
のアドレス・オプションとして作用する。
【0034】図3のプロセッサ110の詳細実施例がプ
ロセッサ110のアプリケーション例として後述されよ
う。
【0035】当業者には、処理装置100において、1
個のクロック同期(またはトリガ式)レジスタすなわち
アドレス・レジスタ260だけが、プロセッサ110、
アドレス信号線115、制御メモリ120及びフィード
バック・ループ130から成る回路ループ内に含まれる
ことが理解されよう。このことは1個のクロック同期
(またはトリガ式)レジスタだけが次に処理される命令
コードのアドレスの受信処理に必要な信号の入力順序に
影響を及ぼすことを意味する。この構成は1命令コード
が1クロック・サイクル内に(または次のトリガ信号が
発生するまでに)完全に処理されることを可能にする。
この回路ループ内における信号の流れは、次の命令コー
ドの有効アドレスがクロック(または別のトリガ)信号
の発生時に制御メモリ120に伝達されるように同期さ
れねばならない。
【0036】プロセッサ110における処理速度を向上
する可能性は命令コードのビット長を減らすことであ
る。制御メモリ120に記憶される命令コードが、従っ
て基本機能コードとサブ機能コードとに分割される。基
本機能コードはオペレーションの間に連続的に使用され
る命令コードを含み、このことは基本機能コードがあら
ゆるオペレーションに対応して要求されることを意味す
る。サブ機能コードは、プロセッサによる処理の間に連
続的には要求されずに特定のサブ機能が要求されるとき
にだけ要求されるデータを含む。例えばカウンタが所定
値までカウントするオペレーションでは、基本機能は所
定値に達するまで単にカウントするカウント機能自体で
ある。このカウンタの例では、典型的なサブ機能は所定
値に達したときにだけ要求されて、カウンタ・レジスタ
に次の値をロードすることである。
【0037】図4は、基本機能コードとサブ機能コード
とに分割される命令コードの実施例を示す。命令コード
の少なくとも1つの第1バイト300が、少なくとも1
つのサブ機能制御ビット305を含む。第1バイト30
0は基本機能コードを含み、命令コードの複数の他のバ
イト310はサブ機能コードを含む。少なくとも1つの
サブ機能制御ビット305の値が、他のバイト310の
意味合いを決定する。
【0038】アプリケーションに応じて必要なサブ機能
制御ビット305の数は、要求されるサブ機能の数によ
り決定される。また、基本機能を含む第1バイト300
の数及びサブ機能を含む他のバイトの数は、複雑度並び
に基本機能及びサブ機能の数により決定される。更に、
所定のサブ機能制御ビット305を提供する代わりに、
他のバイト310の意味が、第1バイト300内の所与
の特定のビットの組合わせにより決定されてもよい。
【0039】好適な実施例では、他のバイト310は通
常、基本機能を処理するために要求されるコードに相当
する拡張基本機能コードとして解釈される。しかしなが
ら、第1バイト300内の所与の特定のビット組合わせ
が認識されるときには、サブ機能制御ビット305が最
終的に、そのサブ機能コードにより表されるサブ機能を
決定する。
【0040】ハイ・ビット長の命令コードにより、全て
の情報を並列に提供する代わりに、図4のデータ構造に
よる情報は命令コード内に隠され、サブ機能制御ビット
305の支援により解釈されねばならない。詳細例につ
いては後述する。
【0041】命令コードを基本機能コードとサブ機能コ
ードとに分割する結果、制御メモリ120は基本機能セ
クションとサブ機能セクションとを含む。オペレーショ
ンに際し、サブ機能呼出し(すなわち基本機能に含まれ
ない追加データの要求)が例えば基本機能コードのサブ
機能制御ビット305により指示されると、基本機能コ
ードがプロセッサ・ジャンプ・オペレーションを生成す
る。プロセッサ・ジャンプ・オペレーションは、次のク
ロック信号の発生時にプロセッサ110が自動的に次に
処理される命令コードが記憶される特定のアドレスに"
ジャンプ"することを意味する。ここでこのアドレス
は、現命令コード内にアドレスとして明示的には提供さ
れない。こうしたプロセッサ・ジャンプ・オペレーショ
ンは、例えば現アドレスを1だけ進める前進オペレーシ
ョンであったりする。好適には、プロセッサ・ジャンプ
・オペレーションはハードウェアにより実行され、この
ことは例えばブール・インタロック回路230に提供さ
れる命令コード(好適には基本機能コード)の特定のビ
ット組合わせが、信号線B上の"前進(advanced)"アド
レスを自動的に選択することを意味する。
【0042】プロセッサ・ジャンプ・オペレーションと
同時に、制御メモリ120のサブ機能セクションからの
現有効データが機能処理装置220の所定のサブ機能レ
ジスタにロードされる。このことはプロセッサ110が
プロセッサ・ジャンプ・オペレーションを実行するのと
並行して、制御メモリ120のサブ機能セクションから
の"隠れ(hidden)"データが機能処理装置220のサブ
機能レジスタに転送されることを意味する。この並行オ
ペレーションにより追加のクロック・サイクルが不要と
なり、プロセッサ・ダミー・サイクルが回避される。
【0043】本発明を更に説明するために、次に周波数
及びタイミング発生器におけるシーケンサ回路としての
プロセッサ110のアプリケーション例について述べ
る。図5は周波数及びタイミング発生器の実施例を示
す。周波数及びタイミング合成器350が図2のユーザ
・データ・メモリ140に、更に信号線160を介して
プロセッサ110に接続される。周波数及びタイミング
合成器350は既知のものであるが、好適には欧州特許
出願番号第94108675.3号で述べられる周波数
及びタイミング合成器である。
【0044】図5の周波数及びタイミング発生器の目的
は、タイミング・エッジの生成を表す所与のタイミング
値(例えばユーザまたは記憶プログラムによる)からタ
イミング・エッジを生成することである。好適には一連
のタイミング値が提供され、それらから一連の直列のタ
イミング・エッジが生成される。タイミング値は、好適
にはユーザ・データ・メモリ140に記憶される。制御
メモリ120はタイミング及び周波数生成に必要な命令
コード及び条件を含む。
【0045】オペレーションに際しタイミング・エッジ
が生成されるべき時、プロセッサ110は有効アドレス
信号を信号線115を介して、制御メモリ120及びユ
ーザ・データ・メモリ140に発行する。アドレス信号
線115上の提供アドレスに対応して、プロセッサ11
0で処理される命令コードが既に述べたように、制御メ
モリ120から信号線130を介して、プロセッサ11
0にロードされる。プロセッサ110は次にこの命令コ
ードを処理し、続いて処理される命令コードのアドレス
を決定する。同時にアドレス信号線115上の提供アド
レスに対応するタイミング値(現在生成されるタイミン
グ・エッジを表す)が、ユーザ・データ・メモリ140
から周波数及びタイミング合成器350にロードされ、
タイミング・エッジが周波数及びタイミング合成器35
0により生成される。
【0046】ユーザ・データ・メモリ140にアドレス
信号を提供し、次にそれぞれのタイミング値を周波数及
びタイミング合成器350にロードする代わりに、現在
生成されるタイミング・エッジのタイミング値と処理さ
れる命令コードのアドレスとを含む信号が使用されても
よい。
【0047】タイミング・エッジが周波数及びタイミン
グ合成器350によりその出力信号線360上に出力さ
れるとき、プロセッサ110は信号線160を介してト
リガされ、次のタイミング値に対応する命令コードが処
理される。プロセッサ110はこの次のタイミング値及
び続いて処理される命令コードのアドレスを、アドレス
信号線115上に発行する。
【0048】図5のアプリケーションの好適な実施例で
は、プロセッサ110は固定周波数の内部クロックによ
ってではなく、タイミング・エッジが処理されるとき
に、周波数及びタイミング合成器350により発行され
る信号線160上のトリガ信号により非同期に刻時され
る。このことは、プロセッサ110の1サイクルが2つ
の連続するタイミング・エッジ間の時間により決定され
ることを意味する。これはプロセッサ110の最小サイ
クル・タイム(プロセッサ110が1つのタイミング値
に対応して1つの命令コードを処理するために要する時
間)が、少なくとも周波数及びタイミング合成器350
の連続するタイミング・エッジ間の最小時間以下である
ことを要求する。この実施例では、プロセッサ110の
1命令サイクルは周波数及びタイミング合成器350の
命令サイクルに等しい。
【0049】前記欧州特許出願番号第9410867
5.3号で述べられる周波数及びタイミング合成器が使
用される場合、一連の複数のタイミング値が並列に処理
される。この場合、次の一連のタイミング値が(並列
に)処理されなければならないときに、トリガ信号が最
初に周波数及びタイミング合成器350から信号線16
0上に発行される。次に、プロセッサ110の1サイク
ルが2つの連続する一連のタイミング値の処理の間に決
定される。このことは、プロセッサ110の要求最小サ
イクル・タイムが周波数及びタイミング合成器350の
連続するタイミング・エッジ間の最小時間よりも大きい
ことを可能にする。
【0050】図5の上述のアプリケーションにおいて要
求される命令コードは、1つの"DOオペレーション"だけ
を要求する。IF if条件がifオペレーションを実行(D
O)する、ELSEIF else条件がelseオペレーションを実行
(DO)する。
【0051】オペレーション(ifオペレーションまたは
elseオペレーション)は次のようである。前進する(ア
ドレス=現アドレス+1)。ラベルに移行する(アドレ
ス nn)。スタックをポップする(スタックに分岐
し、スタックを減分または回転する)。割込みルーチン
を呼出す(割込みルーチンにより、システム割込み。停
止フラグをセット。システム停止。システム停止及び割
込み)。
【0052】図6は、図5のアプリケーションにおける
プロセッサ110の詳細実施例を示す。条件及び命令コ
ード制御装置(COC)200が、その入力信号線13
0において命令コードを受信し、命令コードをブール・
インタロック回路230で処理する。if条件は入力信号
線130A上に、else条件は入力信号線130B上に、
if命令コードは入力信号線130C上に、そしてelse命
令コードは入力信号線130D上にそれぞれ提供され
る。入力信号線130A上のif条件が第1のマルチプレ
クサ400への制御入力として最初に提供され、入力信
号線130B上のelse条件が第2のマルチプレクサ41
0への制御入力として提供される。第1及び第2のマル
チプレクサ400及び410は、機能処理装置220か
ら信号線222を介して提供される期待条件(例えばプ
ログラム・カウンタが経過する場合の分岐)を選択す
る。ここで機能処理装置220により提供される条件
は、プロセッサ110のアプリケーションに依存するこ
とが理解されよう。プロセッサの内部条件を提供する技
術は既知であるので、ここでは触れないことにする。
【0053】第1のマルチプレクサ400における選択
結果と、入力信号線130C上のif命令コードと、信号
線415上のプログラム・ロード信号とが第1の複数の
ANDゲート420に提供される。プログラム・ロード
信号はプログラム・データを制御メモリ120にプリロ
ードし、マルチプレクサ250に信号線Aを選択させ
る。第2のマルチプレクサ410における選択結果と、
入力信号線130D上のelse命令コードと、第1の複数
のANDゲート420の論理結果とが第2の複数のAN
Dゲート430に提供される。
【0054】第1及び第2の複数のANDゲート420
及び430の論理結果は、信号線435上の前進強要
(FORCE ADVANCE)信号と共に複数のOR/NORゲー
ト440に提供される。前進強要信号は、現アドレスの
ハードウェアによる前進を可能にする。複数のOR/N
ORゲート440の論理結果は、最後にマルチプレクサ
250の選択制御信号線240上に提供される。
【0055】ここで第1及び第2の複数のANDゲート
420及び430、複数のOR/NORゲート440に
それぞれ含まれる並列ゲートの数、及びそれらの相互接
続の数は、特定のアプリケーションで使用されるそれぞ
れの命令及び条件コードに依存することが理解されよ
う。しかしながら、この相互接続は既知であるので、こ
こでは触れないことにする。
【0056】ブール・インタロック回路230の好適な
実施例では、プログラム・ロード信号415が高で(こ
れはプログラムがロードされないことを意味する)、且
つ入力信号線130C上に提供されるif命令コードが低
のとき、第1の複数のANDゲート420の出力がサブ
機能イネーブル信号450を提供する。上述したよう
に、この実施例では他のバイト310(図4参照)は通
常、拡張基本機能コードすなわち基本機能の処理に要求
されるコードとして解釈される。しかしながら、入力信
号線130C上に提供される第1バイト300に所与の
特定のビット組合わせが提供される場合にはサブ機能呼
出しが認識され、サブ機能イネーブル信号450が発行
される。図6の実施例では、所与の特定のビット組合わ
せは信号線130C上の全ての信号が低に相当する。
【0057】ブール・インタロック回路230の論理ゲ
ートの詳細な相互接続は、プロセッサ110で使用され
る命令コードに依存することが理解されよう。基本的に
信号線130A及び130B上の条件コードは、機能処
理装置220により提供される条件を選択するように構
成されねばならない。信号線130C及び130D上の
命令コードは、マルチプレクサ400及び410からの
選択条件と組合わされて、マルチプレクサ240により
処理される次のアドレスを選択しなければならない。信
号線130C及び130D上の命令コードは、前進強要
信号及びプログラム・ロード信号と組合わされて、制御
メモリ120に対するプログラム・ロード要求の処理を
高速化することもできる。
【0058】図6に示される実施例の次アドレス制御装
置(NAC)210は、第1のマルチプレクサ250及
びアドレス・レジスタ260の他に第2のマルチプレク
サ460を含む。第2のマルチプレクサ460は、信号
線465上のプログラム・ロード・アドレス、及びアド
レス・レジスタ260からのアドレス信号線115上の
出力フィードバックを入力として有する。プログラム・
ロード・アドレスは、制御メモリ120内のアドレスを
伝達する。プログラムが制御メモリ120にロードされ
る場合には、そこには提供される命令コードが記憶され
る。第2のマルチプレクサ460はプログラム・ロード
信号415により制御され、アドレス信号線115上の
現アドレスを選択するか、プログラムが制御メモリ12
0にロードされる場合には、信号線465上のプログラ
ム・ロード・アドレスを選択し、それを信号線A上に第
1のマルチプレクサ250への入力としてセットする。
【0059】現アドレスを有するアドレス信号線115
は、更に加算器470にも接続され、これは現アドレス
に所定値を加算し、結果を信号線B上に"前進アドレス
(advance address)"として出力する。信号線B、分岐
先のアドレスとしての制御メモリ120からの"分岐ア
ドレス"を有する信号線C、及び現アドレスを有するア
ドレス信号線115が全てスタック480への入力とし
て接続される。信号線Dはスタック480の出力を表
す。信号線B、Cまたは115のどれがスタック480
内でセットされるかは、スタック制御信号線482を介
して提供される命令コードにより決定される。
【0060】図7はマルチプレクサ250の実施例を示
す。各信号線A乃至Dは、選択制御信号線240と共に
それぞれのANDゲート490、492、494及び4
96の入力として作用する。ANDゲート490、49
2、494及び496の出力は信号線Eを出力に有する
ORゲート498の入力として作用する。ここでAND
ゲート490、492、494及び496のどれか1つ
を制御信号線240上の高/低の組合わせにより選択す
るために、それぞれのANDゲートの制御信号線240
に対応する入力が適切に反転されなければならないこと
は明らかであろう。
【0061】本発明の図面で使用される太い線は多重
(n)並列アドレス信号線を表す。このことは、AND
ゲート490、492、494及び496が多重(n)
並列ANDゲートを表さねばならないことを意味し、各
ゲートは制御信号線240及びそれぞれの多重並列アド
レス信号線の1信号線を入力として有する。
【0062】図6の実施例は、1個のクロック同期エッ
ジ・トリガ式レジスタであるアドレス・レジスタ260
を要求する。プロセッサ110、アドレス信号線11
5、制御メモリ120及びフィードバック・ループ13
0により提供されるフィードバック回路ループの発振
が、図6の回路では(エッジ・トリガ式)アドレス・レ
ジスタ260により回避される。
【0063】図8は、追加のレジスタを有さないプロセ
ッサ110の別の実施例を示す。図6の(エッジ・トリ
ガ式)アドレス・レジスタ260が、図8の実施例では
除去されている。図8におけるレジスタ機能はマルチプ
レクサ250をラッチ式マルチプレクサ500により置
換することにより獲得され、それによりフィードバック
回路ループが割込まれる。
【0064】図9はラッチ式マルチプレクサ500の実
施例を示し、これは基本的にマルチプレクサ250と同
様に構成されるが追加の機能を含む。クロック信号がそ
れぞれのANDゲート490、492、494及び49
6に、追加の(反転)入力として接続される。ラッチ式
マルチプレクサ500は更に追加のANDゲート502
を含み、これは(非反転)クロック信号とORゲート4
98の出力信号線Eを入力として有する。ORゲート4
98の出力にはレジスタが必要とされないので、ORゲ
ート498の出力信号線Eはアドレス信号線115を直
接表す。
【0065】ラッチ式マルチプレクサ500は、提供さ
れるクロック信号によりレベル・トリガされる。それぞ
れのAND条件は所定レベルのクロック信号がANDゲ
ート490乃至496及び502の入力に現れたときに
だけ、それぞれのANDゲートにおいて満たされる。こ
のことは、この所定レベルのクロック信号が現れると
き、選択信号線A乃至Dが最初にORゲート498に、
従って信号線115にセットされることを意味する。ま
た、選択信号線A乃至Dは、この所定レベルのクロック
信号が保持される限り、信号線115上で有効である。
ラッチ式マルチプレクサ500のこの機能、すなわち信
号が特定の期間、すなわちクロック信号が所定レベルを
保持する"アクティブ時間"の間、ラッチを介して伝播す
る機能は、"トランスペアレント(tranparent)"とも呼
ばれる。これは時間的な信号伝播が許可されず、それぞ
れのエッジの発生時にのみ信号が伝達されるエッジ・ト
リガ式ラッチとは対照的である。
【0066】図9の実施例では、ラッチ式マルチプレク
サ500は反転クロック信号の故にいわゆるネガティブ
・アクティブ・ラッチである。このことは、所定レベル
のクロック信号が"低"レベルのクロックであることを意
味する。
【0067】ラッチ式マルチプレクサ500によるレジ
スタ機能エミュレーションのための機能条件は、ラッチ
式マルチプレクサ500におけるクロック信号の"アク
ティブ時間"(選択信号線を伝播させる時間)がプロセ
ッサ110、アドレス信号線115、制御メモリ120
及びフィードバック・ループ130から成る様々な任意
の回路ループにおいて可能な最小のフィードバック時間
よりも小さくなければならないことである。換言する
と、アドレス信号線115上に提供される有効アドレス
の応答がこのアドレス自身に影響しないことを確認する
必要がある。さもないと、これはこの回路ループにおい
て制御不能な発振を導出しうる。
【0068】図8の回路では、ラッチ式マルチプレクサ
500によるレジスタ機能エミュレーションのための上
述の機能条件は、ラッチ式マルチプレクサ500におけ
るクロック信号の"アクティブ時間"が、制御メモリ12
0のアクセス時間と、任意の回路ループ内のそれぞれの
ゲートの最短遅延時間との和よりも小さくなければなら
ないことである。制御メモリ120のアクセス時間は、
新たなアドレスを制御メモリ120(例えばアドレス読
出し入力)へ提供した時点から、制御メモリ120のデ
ータ出力において可能な最も早いデータ変化までの時間
に相当する。
【0069】上述の機能条件の結果、プロセッサ11
0、アドレス信号線115、制御メモリ120及びフィ
ードバック・ループ130の様々な回路ループの各々に
おけるフィードバック時間が、好適には、最も遅い回路
ループにおいて可能な最長のフィードバック時間よりも
僅かに小さな特定範囲内に維持される。このことは高速
回路ループにおいて、低速で安価なコンポーネントの使
用により、不必要に高速なフィードバック時間を調整で
きることを意味する。
【0070】実際のレジスタの必要無しにレジスタ機能
をエミュレートする別の可能性は、ブール・インタロッ
ク回路230の第1及び第2の複数のANDゲート42
0及び430と複数のORゲート440とにより、トラ
ンスペアレント・ラッチ510を設計することである。
図10はトランスペアレント・ラッチ510の実施例を
示す。このトランスペアレント・ラッチ510の説明
は、図9のラッチ式マルチプレクサ500に関連して述
べた説明と実質的に同じである。クロック信号が第1及
び第2の複数のANDゲート420及び430のそれぞ
れのANDゲートに、追加の入力(ここでは非反転入
力)として接続される。トランスペアレント・ラッチ5
10は更に複数の追加のANDゲート512を含み、こ
れらはクロック信号(ここでは反転される)と制御ライ
ン240とを入力として有する。
【0071】レジスタ機能のエミュレーションのための
機能条件が、例えば低価格コンポーネントの使用によ
り、ラッチ式マルチプレクサ500またはトランスペア
レント・ラッチ510だけでは達成できない場合には、
ラッチ式マルチプレクサ500及びトランスペアレント
・ラッチ510のマスタスレーブ・ラッチとしての組合
わせが、追加のレジスタの必要無しに要求されるレジス
タ機能を保証する。トランスペアレント・ラッチ510
とラッチ式マルチプレクサ500の両者は、図10の実
施例では、レベル・トリガ式または"トランスペアレン
ト"である。このことは、所定レベルのクロック信号が
トランスペアレント・ラッチ510またはラッチ式マル
チプレクサ500のいずれか一方に現れると、有効出力
がそれぞれの出力信号線にシフトされることを意味す
る。
【0072】トランスペアレント・ラッチ510及びラ
ッチ式マルチプレクサ500のラッチ機能を1クロック
・サイクル内で同期させるために、トランスペアレント
・ラッチ510はポジティブ・アクティブ・ラッチとし
て実現され、ラッチ式マルチプレクサ500はネガティ
ブ・アクティブ・ラッチとして実現される。このことは
クロック信号が"高"の時、トランスペアレント・ラッチ
510が透過であり、ラッチ式マルチプレクサ500は
透過でない(従ってラッチ状態である)ことを意味す
る。クロック信号が"低"の時には、ラッチ式マルチプレ
クサ500が透過であり、トランスペアレント・ラッチ
510が透過でない(従ってラッチ状態である)。この
実施例は、典型的なマスタスレーブ・ラッチを表す。2
つのラッチが直列に相互接続され、1クロック・サイク
ル内で連続的に刻時される。
【0073】図10の回路では、トランスペアレント・
ラッチ510とラッチ式マルチプレクサ500のラッチ
機能の同期が、ラッチ式マルチプレクサ500に対する
クロック信号を反転することにより獲得される。この構
成はレジスタ機能のための追加のハードウェアの必要無
しにプロセッサ110の確実なオペレーションを可能に
する。
【0074】図示の別の実施例では、アドレス・ループ
内の追加のマスタスレーブ構造が、それぞれの入力信号
線A乃至Dをその出力として有するクロック同期(cloc
kable)コンポーネントにより実現される。図10にお
いて、マルチプレクサ460、加算器470及びスタッ
ク480は全て特定レベルのポジティブ・クロック信号
が提供される限り、透過なポジティブ・アクティブのク
ロック同期素子として実現される。更に信号線Cを出力
として有するポジティブ・アクティブのクロック同期ラ
ッチ520が、図10の次アドレス制御装置(NAC)
210に含まれる。
【0075】図8乃至図10におけるアドレス・レジス
タ260の排除は、その過渡時間の排除の結果、プロセ
ッサ110における過渡時間の低減につながる。更にア
ドレス・レジスタ260として一般に使用されるエッジ
・トリガ式Dレジスタのセットアップ時間がもはや必要
でなくなる。これにより、プロセッサ110におけるオ
ペレーションの確実な実行のために要求されるクロック
・サイクル・タイムが著しく低減され、プロセッサ11
0における処理速度の著しい向上が達成され、従ってよ
り高いクロック周波数が使用可能になる。
【0076】また、ここで開示されるプロセッサは制御
装置としても使用することができる。サブシステムとし
ての制御装置は接続装置の機能を統制するが、一般には
それを通過するデータの意味を変更しない。接続装置は
通常、周辺装置または通信チャネルである。制御装置の
機能の1つには、伝送または記録のためのフォーマット
化に対応するデータ・ストリームの処理が含まれる。
【0077】ここで本実施例では説明の都合上、プロセ
ッサ110は単純な構成として示されたが、例えばプロ
セッサ110内のALUなどの、更に別の追加の機能が
提供されてもよい。
【0078】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0079】(1)命令コードを処理するプロセッサを
有する処理装置であって、前記プロセッサが、前記命令
コードを受信し、それをブール回路において処理し、そ
の論理結果を生成する命令コード制御装置と、前記ブー
ル回路の前記論理結果により、複数の入力信号線のいず
れかを選択するマルチプレクサを含む次アドレス制御装
置であって、前記入力信号線が前記プロセッサにより処
理される前記命令コードを含むアドレスの様々な可能性
を表し、選択された前記入力信号線が前記マルチプレク
サの出力に伝達される、前記次アドレス制御装置と、を
含み、前記プロセッサがトリガ信号によりトリガされ、
前記の各命令コードが、連続トリガ信号の間に、前記プ
ロセッサにより処理される、処理装置。 (2)前記提供アドレスに対応する前記命令コードが前
記プロセッサにロードされるように、前記プロセッサに
よりアドレス指定されるアドレス信号線上のメモリを含
み、前記トリガ信号によりトリガされる1個以下のレジ
スタ手段が、前記プロセッサ、前記アドレス信号線、前
記メモリ、及び前記メモリの出力と前記プロセッサの入
力とを接続するフィードバック・ループにより提供され
る回路ループ内に含む、前記(1)記載の処理装置。 (3)前記ブール回路がAND、OR、EXORまたは
インバータ・ゲートなどの論理ブール要素だけを含み、
前記論理ブール要素の前記ブール回路内におけるブール
関数への組合わせが、前記処理装置における処理に使用
されるそれぞれの前記命令コードにより決定される、前
記(1)または(2)に記載の処理装置。 (4)前記命令コードを処理し、その機能制御信号を前
記命令コード制御装置及び前記次アドレス制御装置に生
成する機能処理装置を含む、前記(1)、(2)、また
は(3)に記載の処理装置。 (5)前記次アドレス制御装置の前記マルチプレクサが
前記トリガ信号(クロック)によりトリガされ、前記選
択入力信号線が前記トリガ信号(クロック)の発生時に
のみ、前記マルチプレクサの前記出力に伝達される、前
記(1)、(2)、(3)、または(4)に記載の処理
装置。 (6)前記ブール回路が前記トリガ信号(クロック)に
よりトリガされるラッチ手段を含み、前記ブール回路の
生成論理結果が、前記トリガ信号(クロック)の発生時
にのみ前記マルチプレクサに伝達される、前記(1)、
(2)、(3)、(4)、または(5)に記載の処理装
置。 (7)前記マルチプレクサ及び前記ブール回路が前記ト
リガ信号によりトリガされ、マスタスレーブ・ラッチと
して構成され、前記ブール回路がラッチ状態の時に前記
マルチプレクサがオープン状態となり、前記ブール回路
がオープン状態の時に、前記マルチプレクサがラッチ状
態となる、前記(1)、(2)、(3)、(4)、
(5)、または(6)に記載の処理装置。 (8)プロセッサを含む処理装置において命令コードを
処理する方法であって、第1のトリガ信号の発生時に、
前記プロセッサにより処理される命令コードのアドレス
を含む信号を発行する第1のステップと、前記第1のス
テップにおいて発行されたアドレスに対応する前記命令
コードを前記プロセッサにロードする第2のステップ
と、前記ロードされた命令コードを処理する第3のステ
ップであって、前記処理の1結果が、次のトリガ信号の
発生時に続いて処理される前記命令コードのアドレスで
ある、前記第3のステップと、を含む、方法。 (9)前記最初の3つのステップと同時に、データが前
記プロセッサにより前記メモリにおいて変更され、他の
ユーザ・データまたは制御データが前記プロセッサによ
り受信される、前記(8)記載の方法。 (10)前記トリガ信号が固定周波数を有するクロック
信号(クロック)か、前記命令コードの処理が要求され
る度に発生する非同期信号である、前記(1)、
(2)、(3)、(4)、(5)、(6)、または
(7)に記載の処理装置。 (11)前記トリガ信号が固定周波数を有するクロック
信号(クロック)か、前記命令コードの処理が要求され
る度に発生する非同期信号である、前記(8)または
(9)に記載の方法。 (12)前記命令コードが基本機能コード及びサブ機能
コードを含み、前記基本機能コードが共通に使用される
命令コードを含み、前記サブ機能コードが共通に使用さ
れない命令コードを含む、前記(1)、(2)、
(3)、(4)、(5)、(6)、(7)または(1
0)に記載の処理装置。 (13)前記命令コードが基本機能コード及びサブ機能
コードを含み、前記基本機能コードが共通に使用される
命令コードを含み、前記サブ機能コードが共通に使用さ
れない命令コードを含む、前記(8)、(9)、または
(11)に記載の方法。 (14)前記基本機能コードが、オペレーションの間に
連続的に要求される前記命令コードを含み、前記サブ機
能コードが、前記処理装置における処理の間に連続的に
要求されずに、特定のサブ機能が要求されるときにだけ
要求される、前記プロセッサのためのデータを含む、前
記(12)記載の処理装置。 (15)前記基本機能コードが、オペレーションの間に
連続的に要求される前記命令コードを含み、前記サブ機
能コードが、前記処理装置における処理の間に連続的に
要求されずに、特定のサブ機能が要求されるときにだけ
要求される、前記プロセッサのためのデータを含む、前
記(13)記載の方法。 (16)前記基本機能コードが前記サブ機能コードの意
味を決定する制御コードを含む、前記(12)または
(14)に記載の処理装置。 (17)前記基本機能コードが前記サブ機能コードの意
味を決定する制御コードを含む、前記(13)または
(15)に記載の方法。 (18)前記第3のステップにおいて、前記サブ機能に
対する要求が認識されるとき、前記続いて処理される命
令コードのアドレスが現在処理中の前記命令コードのア
ドレスを所定値だけ進めることにより決定される、前記
(13)、(15)、または(17)に記載の方法。 (19)タイミング信号を生成するタイミング信号生成
手段を含み、前記生成タイミング信号が前記トリガ信号
として使用される、前記(1)、(2)、(3)、
(4)、(5)、(6)、(7)、(10)、(1
2)、(14)、または(16)に記載の処理装置。 (20)タイミング信号を生成するタイミング信号生成
手段を含み、前記生成タイミング信号が前記トリガ信号
として使用される、前記(8)、(9)、(11)、
(13)、(15)、(17)、または(18)に記載
の方法。
【0080】
【発明の効果】以上説明したように、本発明によれば、
リアル・タイム処理に好適なプロセッサを提供すること
ができる。
【0081】更に本発明によれば、最小の割込み待ち時
間を有するプロセッサを提供することができる。
【0082】更に本発明によれば、低価格コンポーネン
トにより高速処理速度を達成するプロセッサを提供する
ことができる。
【図面の簡単な説明】
【図1】従来技術によるマイクロプロセッサの構成図で
ある。
【図2】本発明によるプロセッサ110を含む処理装置
100の一般ブロック図である。
【図3】プロセッサ110の実施例を示す図である。
【図4】基本機能コードとサブ機能コードとに分割され
る命令コードの実施例を示す図である。
【図5】プロセッサ110のアプリケーション例である
周波数及びタイミング発生器を示す図である。
【図6】図5のアプリケーション例におけるプロセッサ
110の第1の詳細実施例を示す図である。
【図7】マルチプレクサ250の実施例を示す図であ
る。
【図8】追加のレジスタを有さないプロセッサ110の
別の実施例を示す図である。
【図9】ラッチ式マルチプレクサ500の実施例を示す
図である。
【図10】トランスペアレント・ラッチ510の実施例
を示す図である。
【符号の説明】
100 処理装置 110 プロセッサ 115 アドレス信号線 118 データ信号線 120 制御メモリ 130 フィードバック・ループ 140 ユーザ・データ・メモリ 200 条件及び命令コード制御装置(COC) 210 次アドレス制御装置(NAC) 220 機能処理装置 230 ブール・インタロック回路 260 アドレス・レジスタ 300 基本機能コード 305 サブ機能制御ビット 310 サブ機能コード 350 周波数及びタイミング合成器 480 スタック

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】命令コードを処理するプロセッサを有する
    処理装置であって、前記プロセッサが、 前記命令コードを受信し、それをブール回路において処
    理し、その論理結果を生成する命令コード制御装置と、 前記ブール回路の前記論理結果により、複数の入力信号
    線のいずれかを選択するマルチプレクサを含む次アドレ
    ス制御装置であって、前記入力信号線が前記プロセッサ
    により処理される前記命令コードを含むアドレスの様々
    な可能性を表し、選択された前記入力信号線が前記マル
    チプレクサの出力に伝達される、前記次アドレス制御装
    置と、 を含み、 前記プロセッサがトリガ信号によりトリガされ、前記の
    各命令コードが、連続トリガ信号の間に、前記プロセッ
    サにより処理される、処理装置。
  2. 【請求項2】前記提供アドレスに対応する前記命令コー
    ドが前記プロセッサにロードされるように、前記プロセ
    ッサによりアドレス指定されるアドレス信号線上のメモ
    リを含み、 前記トリガ信号によりトリガされる1個以下のレジスタ
    手段が、前記プロセッサ、前記アドレス信号線、前記メ
    モリ、及び前記メモリの出力と前記プロセッサの入力と
    を接続するフィードバック・ループにより提供される回
    路ループ内に含む、 請求項1記載の処理装置。
  3. 【請求項3】前記ブール回路がAND、OR、EXOR
    またはインバータ・ゲートなどの論理ブール要素だけを
    含み、前記論理ブール要素の前記ブール回路内における
    ブール関数への組合わせが、前記処理装置における処理
    に使用されるそれぞれの前記命令コードにより決定され
    る、 請求項1または請求項2に記載の処理装置。
  4. 【請求項4】前記命令コードを処理し、その機能制御信
    号を前記命令コード制御装置及び前記次アドレス制御装
    置に生成する機能処理装置を含む、 請求項1、請求項2、または請求項3に記載の処理装
    置。
  5. 【請求項5】前記次アドレス制御装置の前記マルチプレ
    クサが前記トリガ信号(クロック)によりトリガされ、
    前記選択入力信号線が前記トリガ信号(クロック)の発
    生時にのみ、前記マルチプレクサの前記出力に伝達され
    る、 請求項1、請求項2、請求項3、または請求項4に記載
    の処理装置。
  6. 【請求項6】前記ブール回路が前記トリガ信号(クロッ
    ク)によりトリガされるラッチ手段を含み、前記ブール
    回路の生成論理結果が、前記トリガ信号(クロック)の
    発生時にのみ前記マルチプレクサに伝達される、 請求項1、請求項2、請求項3、請求項4、または請求
    項5に記載の処理装置。
  7. 【請求項7】前記マルチプレクサ及び前記ブール回路が
    前記トリガ信号によりトリガされ、マスタスレーブ・ラ
    ッチとして構成され、前記ブール回路がラッチ状態の時
    に前記マルチプレクサがオープン状態となり、前記ブー
    ル回路がオープン状態の時に、前記マルチプレクサがラ
    ッチ状態となる、 請求項1、請求項2、請求項3、請求項4、請求項5、
    または請求項6に記載の処理装置。
  8. 【請求項8】プロセッサを含む処理装置において命令コ
    ードを処理する方法であって、 第1のトリガ信号の発生時に、前記プロセッサにより処
    理される命令コードのアドレスを含む信号を発行する第
    1のステップと、 前記第1のステップにおいて発行されたアドレスに対応
    する前記命令コードを前記プロセッサにロードする第2
    のステップと、 前記ロードされた命令コードを処理する第3のステップ
    であって、前記処理の1結果が、次のトリガ信号の発生
    時に続いて処理される前記命令コードのアドレスであ
    る、前記第3のステップと、 を含む、方法。
  9. 【請求項9】前記最初の3つのステップと同時に、デー
    タが前記プロセッサにより前記メモリにおいて変更さ
    れ、他のユーザ・データまたは制御データが前記プロセ
    ッサにより受信される、請求項8記載の方法。
  10. 【請求項10】前記トリガ信号が固定周波数を有するク
    ロック信号(クロック)か、前記命令コードの処理が要
    求される度に発生する非同期信号である、請求項1、請
    求項2、請求項3、請求項4、請求項5、請求項6、ま
    たは請求項7に記載の処理装置。
  11. 【請求項11】前記トリガ信号が固定周波数を有するク
    ロック信号(クロック)か、前記命令コードの処理が要
    求される度に発生する非同期信号である、請求項8また
    は請求項9に記載の方法。
  12. 【請求項12】前記命令コードが基本機能コード及びサ
    ブ機能コードを含み、前記基本機能コードが共通に使用
    される命令コードを含み、前記サブ機能コードが共通に
    使用されない命令コードを含む、 請求項1、請求項2、請求項3、請求項4、請求項5、
    請求項6、請求項7、または請求項10に記載の処理装
    置。
  13. 【請求項13】前記命令コードが基本機能コード及びサ
    ブ機能コードを含み、前記基本機能コードが共通に使用
    される命令コードを含み、前記サブ機能コードが共通に
    使用されない命令コードを含む、 請求項8、請求項9、または請求項11に記載の方法。
  14. 【請求項14】前記基本機能コードが、オペレーション
    の間に連続的に要求される前記命令コードを含み、 前記サブ機能コードが、前記処理装置における処理の間
    に連続的に要求されずに、特定のサブ機能が要求される
    ときにだけ要求される、前記プロセッサのためのデータ
    を含む、 請求項12記載の処理装置。
  15. 【請求項15】前記基本機能コードが、オペレーション
    の間に連続的に要求される前記命令コードを含み、 前記サブ機能コードが、前記処理装置における処理の間
    に連続的に要求されずに、特定のサブ機能が要求される
    ときにだけ要求される、前記プロセッサのためのデータ
    を含む、 請求項13記載の方法。
  16. 【請求項16】前記基本機能コードが前記サブ機能コー
    ドの意味を決定する制御コードを含む、 請求項12または請求項14に記載の処理装置。
  17. 【請求項17】前記基本機能コードが前記サブ機能コー
    ドの意味を決定する制御コードを含む、 請求項13または請求項15に記載の方法。
  18. 【請求項18】前記第3のステップにおいて、前記サブ
    機能に対する要求が認識されるとき、前記続いて処理さ
    れる命令コードのアドレスが現在処理中の前記命令コー
    ドのアドレスを所定値だけ進めることにより決定され
    る、 請求項13、請求項15、または請求項17に記載の方
    法。
  19. 【請求項19】タイミング信号を生成するタイミング信
    号生成手段を含み、前記生成タイミング信号が前記トリ
    ガ信号として使用される、請求項1、請求項2、請求項
    3、請求項4、請求項5、請求項6、請求項7、請求項
    10、請求項12、請求項14、または請求項16に記
    載の処理装置。
  20. 【請求項20】タイミング信号を生成するタイミング信
    号生成手段を含み、前記生成タイミング信号が前記トリ
    ガ信号として使用される、請求項8、請求項9、請求項
    11、請求項13、請求項15、請求項17、または請
    求項18に記載の方法。
JP07304772A 1994-11-29 1995-11-22 命令をリアル・タイムで処理する装置または方法 Expired - Fee Related JP3098409B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE94118741.1 1994-11-29
EP94118741A EP0715251B1 (en) 1994-11-29 1994-11-29 One cycle processor for real time processing

Publications (2)

Publication Number Publication Date
JPH08263285A true JPH08263285A (ja) 1996-10-11
JP3098409B2 JP3098409B2 (ja) 2000-10-16

Family

ID=8216493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07304772A Expired - Fee Related JP3098409B2 (ja) 1994-11-29 1995-11-22 命令をリアル・タイムで処理する装置または方法

Country Status (4)

Country Link
US (1) US5752065A (ja)
EP (1) EP0715251B1 (ja)
JP (1) JP3098409B2 (ja)
DE (1) DE69425377T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984256B2 (en) * 2006-02-03 2015-03-17 Russell Fish Thread optimized multiprocessor architecture
AU2007212342B2 (en) * 2006-02-03 2011-05-12 Russell H. Fish Iii Thread optimized multiprocessor architecture
US9036026B2 (en) 2009-06-12 2015-05-19 Magna Electronics Scalable integrated electronic control unit for vehicle
US9365162B2 (en) 2012-08-20 2016-06-14 Magna Electronics Inc. Method of obtaining data relating to a driver assistance system of a vehicle
US10406981B2 (en) 2014-03-20 2019-09-10 Magna Electronics Inc. Vehicle vision system with curvature estimation
US10708227B2 (en) 2016-07-19 2020-07-07 Magna Electronics Inc. Scalable secure gateway for vehicle

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US4156279A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Microprogrammed data processing unit including a multifunction secondary control store
US4791551A (en) * 1985-02-11 1988-12-13 Analog Devices, Inc. Microprogrammable devices using transparent latch
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
US5299320A (en) * 1990-09-03 1994-03-29 Matsushita Electric Industrial Co., Ltd. Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
EP0544083A3 (en) * 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
US5553276A (en) * 1993-06-30 1996-09-03 International Business Machines Corporation Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units
IE940855A1 (en) * 1993-12-20 1995-06-28 Motorola Inc Data processor with speculative instruction fetching and¹method of operation

Also Published As

Publication number Publication date
DE69425377D1 (de) 2000-08-31
JP3098409B2 (ja) 2000-10-16
EP0715251B1 (en) 2000-07-26
EP0715251A1 (en) 1996-06-05
DE69425377T2 (de) 2001-02-15
US5752065A (en) 1998-05-12

Similar Documents

Publication Publication Date Title
KR910000364B1 (ko) 이뮬레이션 시스템 및 그 방법
US5511173A (en) Programmable logic array and data processing unit using the same
US5459843A (en) RISC-type pipeline processor having N slower execution units operating in parallel interleaved and phase offset manner with a faster fetch unit and a faster decoder
US5590349A (en) Real time programmable signal processor architecture
CA1145478A (en) High speed synchronous computer
NZ201809A (en) Microprocessor
GB2318194A (en) Power saving in asynchronous data processing apparatus
AU665927B2 (en) Programmable signal processor architecture
JP3098409B2 (ja) 命令をリアル・タイムで処理する装置または方法
US5734927A (en) System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates
US5649174A (en) Microprocessor with instruction-cycle versus clock-frequency mode selection
David et al. Self-timed architecture of a reduced instruction set computer
EP0374598B1 (en) Control store addressing from multiple sources
JP3851008B2 (ja) プロセッサおよびそれを有する半導体集積回路、処理装置ならびに命令処理方法
JP2002182902A (ja) メモリデータアクセス構造およびその方法
JPH0443415A (ja) 中央演算処理装置
KR100343459B1 (ko) 자바 프로세서
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
JP2747353B2 (ja) アドレス発生装置
JP2781973B2 (ja) メモリー内容更新回路
JP2636074B2 (ja) マイクロプロセッサ
JPH04367034A (ja) 割り込み制御装置
JP2000029695A (ja) プロセッサおよび演算処理システム
JPH03255524A (ja) 加算回路
JPS62189535A (ja) マイクロプロセツサ制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees