JPH083791B2 - データプロセッサ制御装置 - Google Patents

データプロセッサ制御装置

Info

Publication number
JPH083791B2
JPH083791B2 JP62500354A JP50035487A JPH083791B2 JP H083791 B2 JPH083791 B2 JP H083791B2 JP 62500354 A JP62500354 A JP 62500354A JP 50035487 A JP50035487 A JP 50035487A JP H083791 B2 JPH083791 B2 JP H083791B2
Authority
JP
Japan
Prior art keywords
instruction
interrupt
address
program
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62500354A
Other languages
English (en)
Other versions
JPS63501454A (ja
Inventor
エル クロッカー・ケビン
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPS63501454A publication Critical patent/JPS63501454A/ja
Publication of JPH083791B2 publication Critical patent/JPH083791B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は一般にデータ処理回路に関し、より詳細には
データプロセッサにおける割込みの実行に関する。
背景技術 データプロセッサは代表的には一連のプログラムステ
ップの実行中、周辺装置によって非同期式に割込みがな
される。割込み要求は2つの方法のうち1つまたはその
変形により通常は処理される。プロセッサにより通常実
行される第1の方式はプログラムカウンタの置換えによ
るベクトル式割込みである。この方式では割込み要求は
即時に処理されず、命令実行の境界が生ずるまでは保留
される。従って、現在の命令は割込みの処理の前に確実
に実行される。命令の境界で、プログラムカウンタは戻
りアドレスを含み、この戻りアドレスは、割込みが生じ
なければ定常に実行されるべき次の命令を示す。戻りア
ドレスと量が変化する他の情報は次に自動的にスタック
メモリに保存される。保存可能な他の情報は条件コード
レジスタと、データレジスタと、アドレスレジスタとを
含む。次に割込みサービスルーチンの開始アドレスが前
のプログラムカウンタに代えて使用され割込みサービス
ルーチンへと流れを変更する。プログラムカウンタ用の
置換え値は種々の方法で作成可能である。通常の方法は
プロセッサが割込み肯定信号(interrupt acknowledge
signal)を発生することである。割込み肯定信号に応答
して、割込み用周辺装置はプロセッサに対してメモリ表
内の割込みサービスルーチンの開始アドレスを探索する
よう指示する割込みベクトル番号を提供する。割込みサ
ービスルーチンの開始アドレスはプログラムカウンタへ
とロードされ、割込みルーチンの第1の命令がプロセッ
サによって取出され、デコードされ、かつ実行される。
割込みからの戻り(RTI)命令の実行によって割込みサ
ービスルーチンは完了する。RTI命令はプロセッサの前
の状態を復元し、定常のプログラムの実行が復帰する前
にプログラムカウンタに戻りアドレスを再ロードする。
前述の割込み実行方法は、割込みの処理に必要な付加
的なオーバヘッドサイクルが存在するため迅速ではな
い。現在の命令が実行を完了するのを待機する不特定の
量の遅延が割込みの処理に常につきまとう。初期割込み
アドレスの確定も、割込みベクトル情報を回復するのに
必要な時間の故に有効ではない。さらに、プログラムカ
ウンタに開始アドレスをロードした後、実行の開始が可
能になる前に割込みサービスルーチンの最初の命令を取
出しかつデコードするのに時間がかかる。プログラムカ
ウンタの置換えに帰因する流れを変更する動作中、プロ
セッサはアイドル状態にとどまることを余儀なくされる
のでプロセッサの効率は低下する。最後に、プロセッサ
の前の状態を復元しかつ定常の命令の流れに流れを変更
するために時間を要するので、PTI命令を実行する際に
遅延が生ずる。
別の方法は割込みが生じた時に保存されるレジスタの
数を減少することによって前記の割込み処理の方法に伴
なうオーバヘッドを最小限にしたものである。また、別
の方法は割込みサービスルーチンの開始アドレスを得る
のに必要なステップを簡略化したものである。割込みサ
ービスルーチンのアドレスを計算する機構を用いる代り
に、別の方法はプログラムメモリ内の固定記憶位置に開
始アドレスを記憶し、または単にプロセッサが固定記憶
位置に即座に飛越すようにしている。このような諸技術
は割込みによるオーバヘッド時間を縮小するものの、効
率の悪さはなお存在している。最近のプロセッサの命令
取出し、デコードおよび実行の機構はしばしばパイプラ
イン化されているので、命令先取り機構は先行する命令
の取出しおよびデコードのための命令の実行と重複する
ことがある。その結果、命令パイプラインは、割込み要
求を受けた時には通常はふさがっている。従って前記パ
イプライン内の命令は割込みの実行時には放棄されなけ
ればならず、また、割込みサービスルーチンと関連する
異なるアドレスにおける命令の取出し、デコードおよび
実行は遅延する。この流れ変更動作はパイプライン式デ
ータプロセッサにおいて実行サイクルが失われる原因と
なる。
割込みを実行する第2の通例の方法は命令ジャミング
(jamming:押込み)として知られている。この方法では
割込み要求は即座に処理されるのではなく命令実行の境
界にくるまで保留される。現在の命令が完了すると、プ
ロセッサは周辺装置に割込み肯定信号を供給する。これ
に応答して、割込み要求している周辺装置は命令レジス
タに押込まれるサブルーチン命令への飛越しのような単
一命令を付与する。サブルーチン命令への飛越しの実行
によりプログラムカウンタには割込みサービスルーチン
の開始アドレスがロードされる。割込みサービスルーチ
ンが完了すると、RTI命令は戻りアドレスを再びプログ
ラムカウンタへとロードする。押込まれた命令がサブル
ーチン命令への飛越しでない場合は、押込まれた命令は
割込みからの戻り(RTI)命令を含む単一の命令サービ
スルーチンとして実行される。命令のジャミング中、プ
ログラムカウンタの旧い内容と一時的に一定に保持され
る。これによって定常のプログラムは戻りアドレスなし
で実行の継続が可能である。
命令ジャミング技術においては、プロセッサは割込み
肯定信号が押込まれた割込みサービスルーチン命令を取
出すまで現在の命令が完了するまで待機する。プロセッ
サはまた、定常プログラムの次の命令を取出す前に、押
込まれた割込みサービスルーチン命令の実行が終了する
まで待機する。これらの流れを変更する動作はいずれも
無駄なオーバヘッドサイクルを伴なう。さらに、命令ジ
ャミング割込み方式では、割込む周辺装置は妥当な押込
まれた割込み命令に正しい電気的タイミングを付与する
ため、特定のプロセッサ向けに設計されなければならな
い。これによっていくつかの市販されているプロセッサ
と各種の周辺装置との互変性が制限される。
発明の概要 従って本発明の目的はデータプロセッサに命令先取り
再指令(instruction prefetch redirection)を用いて
改良された割込みサービスを提供することである。
本発明の別の目的はデータプロセッサのプログラムの
実行を中断して要求する装置にサービスを行なう改良さ
れた手段を提供することである。
本発明のさらに別の目的はデータプロセッサにより実
行される主プログラムに割込みかつ復帰する間、命令の
取出しとデコードの際にデータプロセッサ内で失われる
オーバヘッド実行サイクルを最小限にする改良された手
段を提供することである。
本発明の上記の目的および他の諸目的を達成するた
め、一つの実施形態では、データプロセッサに実行用の
命令を付与するための制御装置が設けられる。この制御
装置は周辺装置からの割込み要求がない場合は選択的に
先取りされた定常命令を付与する。割込み要求に応じて
先取りされた所定数の割込み命令が付与される。先取り
された命令はデータプロセッサに付与される前にデコー
ドされる。本発明においては、データプロセッサにより
命令が実行されないオーバヘッド実行サイクルを除去す
るために1つの方法が実施される。オーバヘッドは割込
み要求に応じて割込みサービスルーチンを実行するため
の割込み命令の流れと関連している。要求は割込み制御
回線により受けられ、制御装置からデータプロセッサへ
の定常の命令の流れに割込む。定常命令の先取りは再指
令され少なくとも1つの割込み命令の先取りをもたら
す。割込み命令の先取り(単数または複数)は、先取り
された定常命令が実行を完了する前に、また、最も新た
に先取りされた定常命令が完全に先取りされていない多
重語命令であるか否かをデコードする前に開始される。
次に割込み命令の先取りが指示され、その次に定常命令
の先取りを継続する。定常命令の先取りは、先取りされ
た割込み命令(単数または複数)が実行を完了する前
に、また、先取りされた割込み命令(単数または複数)
が、最も新たに先取りされた割込み命令が、完全に先取
りされていない多重語命令であるか否かを判定するため
デコードされる前に開始される。
上記の目的、特徴および利点およびその他の目的、特
徴および利点は添付図面を参照した以下の詳細な説明に
より明確になるであろう。
図面の簡単な説明 第1図は公知のデータプロセッサにおける命令処理の流
れを図表形式で示し、 第2図は別の公知のデータプロセッサにおける命令処理
の流れを図表形式で示し、 第3図はさらに別の公知のデータプロセッサにおける命
令処理の流れを図表形式で示し、 第4図は本発明に基づく命令先取り再指示を用いたデー
タプロセッサをブロック図で示し、かつ、 第5図は本発明に基づくデータプロセッサの命令処理の
流れを図表形式で示すものである。
第6図は、本発明に基づくデータプロセッサの命令処理
の流れを図表形式で示したものであり、割込み命令実行
前に命令レジスタ24内の多重語命令の第1語が実行され
ずに放棄された場合の処理の流れを表す。
発明の詳細な説明 第1図には多くの市販のデータプロセッサで用いられ
る、命令先取りなしの公知のデータプロセッサの命令の
流れ図である。18の命令サイクルが示され、そこでは命
令n−1,n,n+1およびn+2の実行中、割込み命令i
が実行される。割込み要求は定常のプログラム命令の実
行中任意の時点で周辺装置から受けることができる。説
明目的のためだけに、命令n(命令サイクル6)の実行
サイクル中のある時点で割込み要求が受けられるものと
想定する。第1図のデータプロセッサシステムは、割込
み要求は命令実行の境界が始まるまで保留され、それゆ
え現在の命令の実行が完了することが保証される態様に
て機能する。命令サイクルの境界で割込みを処理するこ
とにより、プロセッサの状態を各命令の終りで規定する
ことができる。機械の状態が知られていることにより、
割込みが処理される前に保存されるべき情報は簡略化さ
れる。しかし、割込み要求が実際に肯定されるまでは数
サイクルの遅延が生ずる。各命令に関連して3つの個別
動作、すなわち取出し、デコードおよび実行の動作があ
る。容易に了解されるように、命令が実行される各サイ
クルにつき、それぞれ“X"のマークを付した2つのサイ
クルがあり、その間は命令の実行はなされない。実行さ
れるべき割込みプログラムに対応する割込み開始アドレ
スまたはベクトル数(第1図には示さず)の取出しによ
って割込みの実行にも遅延が伴なう。“X"で表わされる
遊びの(idle)各実行サイクル中、次の命令の取出しま
たは次の命令のデコードのいずれかが行なわれる。割込
み命令(i)および割込みからの戻り(RTI)は他の全
ての定常のプログラム命令と同様に機械によって処理さ
れることが通例である。割込み要求に関連する遅延に加
えて、第1図のデータプロセッサはあらゆる実行サイク
ルと関連する2サイクルのオーバヘッドを伴なってお
り、著しく効率が悪い。
第2図には命令ジャミング割込みとして知られた別の
割込み技術を利用した命令先取りなしの別の公知のデー
タプロセッサの命令流れ図が示されている。容易に了解
される通り、命令ジャミングによって、第1図では18の
命令サイクルで行なわれるものと同数のプログラム命令
および割込み命令を実行するのに、15の命令サイクルし
か必要ではない。説明上の目的のためだけに、非同期割
込み要求は、命令nの実行サイクル(6番目の命令サイ
クル)中のある時点で受けられるものと想定する。この
場合も、現在の命令の実行が終了するまで割込み要求は
保留される。命令ジャミングを用いたプロセッサでは、
割込み周辺装置は、プロセッサに割込み命令を押込むに
は、プロセッサの命令レジスタに妥当な命令を付与しな
ければならない。プロセッサは割込み状態コードによっ
て周辺装置を肯定するであろう。従って、割込み周辺装
置はプロセッサに特有のものでなければならない。3つ
の命令サイクルごとに1つの命令が実行されるだけであ
るが、割込み命令が命令レジスタに押込まれると、割込
みからの戻り命令は実行される必要がない。従って、第
1図のプロセッサと比較すると同一の数の命令を実行す
るのにサイクルは3つ少なくてよい。しかし、割込み命
令は命令サイクルの境界まで取出されずデコードされな
いので、また、定常のプログラム命令は割込みサービス
ルーチンの完了まで取出されずデコードされないので、
この技術の場合もオーバヘッドサイクルが存在する。
第3図には命令の先取りを有する命令パイプライン構
造のさらに別の形式の公知のデータプロセッサの流れ図
が示してある。第3図のデータプロセッサにおいては、
命令は先取りされるので、命令がデコードされる必要が
ある時に該命令が得られる。この先取り技術は命令の取
出しとデコードに関連する遅延を除去する。それにより
命令は順次実行される。第1図と第2図のプロセッサの
それぞれにより実行される同数の命令を実行するのにわ
ずか12の命令サイクルしか必要としない。説明目的のた
め、周辺装置からの割込み要求が命令nの実行サイクル
(第4の命令サイクル)の間のある時点に発生するもの
と想定する。この場合も割込み命令は即座には取出され
ず、現行の命令完了後に取出される。先取り能力を有す
ることにより、別の命令がデコードされ、さらに別の命
令が取出されている間に命令の実行が可能である。しか
し、第1の割込み命令が取出され、デコードされている
サイクルには、命令は実行され得ない。その結果、割込
み命令の実行の周りには全部で4つの命令が実行されな
いサイクルが存在する。命令の先取りは流れを変更する
動作中はオーバヘッドサイクルを除去するのに有効では
ない。それにもかかわらず命令の先取りは、第1図と第
2図のプロセッサが同数の命令を実行するのに必要な命
令サイクル数を相当減少せしめる。
第4図には本発明に基づくデータプロセッサ用のプロ
グラム制御装置10が示してある。プログラムカウンタ14
はプログラムアドレス母線16を経てプログラムメモリ15
の入力に連結された第1端子を有する。プログラムメモ
リ15はプログラムデータ母線19を経て先取りレジスタ18
の第1入力に連結された出力を有している。先取りレジ
スタ18の第1出力は命令デコーダ22の第1入力に接続さ
れている。命令デコーダ22の出力は命令レジスタ24の第
1入力に接続されている。先取りレジスタ18の第2出力
は命令デコーダ22と命令レジスタ24の双方の第2入力に
接続されている。命令レジスタ24の制御出力はプログラ
ムカウンタ14の第1入力に接続されている。スタックメ
モリレジスタ26はプログラムカウンタ14の第1入力/出
力端子に接続された入力/出力端子を有している。プロ
グラムカウンタ14の第2入力は増分回路28の入力とプロ
グラムアドレス母線16の双方に接続されている。増分回
路28の出力は再取りカウンタ30の第1入力に接続されて
いる。先取りカウンタ30の出力はプログラムアドレス母
線16に接続されている。割込み要求信号は割込み先取り
制御回路34の入力と割込みアドレス発生回路36の第1入
力とに結合される。割込み先取り制御回路34の出力は割
込み取出し信号を供給し、かつ割込みアドレス発生回路
36の第2入力と、先取りカウンタ30の第2入力と、先取
りレジスタ18の第2入力とに接続されている。
以下、動作について説明する。制御装置10の動作の理
解を容易にするために、単一語命令だけからなる連続し
た命令を処理すると仮定した場合において、ある時刻に
各レジスタ等が保持している命令サイクル番号(第5図
に示すn,n+1,n+2等)を括弧を付して以下の説明中に
挿入してあるが、これは限定的なものではない。
割り込み要求が無いとき 最初に、割込み要求が無いときの制御装置10の機能に
つき説明する。命令レジスタ24は、データプロセッサに
より次に実行されるべき命令(n)を記憶する。その命
令(n)は、命令レジスタ24内でデータプロセッサによ
る実行を待っている。プログラムカウンタ14は、命令レ
ジスタ24内の命令(n)の直後の命令(n+1)用の命
令アドレスを記憶し、かつプログラムアドレス母線16を
経由してプログラムメモリ15へと供給することができ
る。プログラムメモリ15は、供給されたプログラムアド
レスに対応するプログラム命令を供給するメモリであ
り、その命令がデータプロセッサにより実行される。ス
タック26は、プログラムカウンタ14のアドレス内容を選
択的に記憶しかつ供給することができる記憶レジスタで
ある。先取りカウンタ30は、プログラムカウンタ14と同
様な機能を果たすが、相違点はプログラムカウンタ14よ
り1つ先の命令アドレス(n+2)を指示することであ
る。したがって、先取りカウンタ30は、その1つ先の命
令アドレス(n+2)をプログラムアドレス母線16を介
してプログラムメモリ15に供給する機能を果たす。先取
りカウンタ30は、アドレス母線16を経由して次の命令取
出しアドレス(n+2)をプログラムメモリ15に供給す
ると同時に、その命令取出しアドレス(n+2)をプロ
グラムカウンタ14および増分器28にも供給する。増分器
28は取出された命令アドレス(n+2)を1命令アドレ
ス分だけ増分し、増分した命令アドレス(n+3)を先
取りカウンタ30へ供給して、先取りカウンタ30を更新す
る。このようにして先取りカウンタ30は常に、データプ
ロセッサにより実行される命令(n)よりも2命令アド
レス分だけ進んだ命令アドレス(n+2)を指示する機
能を果たす。先取りカウンタ30は、各命令が順序通り処
理される場合における通常の命令取出しアドレスの発生
源である。プログラムカウンタ14は、流れ変更動作が生
じる場合における命令取出しアドレスの代替発生源であ
る。プログラムメモリ15からの命令は、命令レジスタ24
に記憶される前に先取りレジスタ18および命令デコーダ
22へと供給される。先取りレジスタ18と命令デコーダ22
は連携して、命令(n+1)を選択的に記憶し、かつ、
デコードした命令を命令レジスタ24へと供給する機能を
果たす。このようにして制御装置10は、データプロセッ
サによる実行用に所定のプログラムの命令を処理しかつ
供給する機能を果たす。
割込み要求があるとき さて次に、データプロセッサに連結された周辺装置が
データプロセッサの動作に割込んで、データプロセッサ
による処理を要求するものと想定する。周辺装置が供給
する割込み要求信号は、割込み先取り制御回路34と割込
みアドレス発生回路36の双方に供給される。割込み先取
り制御回路34は、周辺装置からの割込み要求がいかなる
割込み要求であるかを認識し、割込みアドレス長に応じ
て一定期間、割込みアドレス発生器36を起動し、かつ、
先取りカウンタ30による命令の取出しを禁止する機能を
果たす。この機能を果たすために割込み先取り制御回路
34は、所望の割込み命令アドレスの個数に応じた時間の
間割込み取出し信号を供給して、所定数の命令語取出し
についての取出しの指示を行ない、先取り機構を制御す
る。割込み取出し信号は、割込みアドレス発生器36と、
先取りカウンタ30と、先取りレジスタ18とに供給され
る。
割込みアドレス発生器の動作 割込み要求信号と割込み取出し信号の双方に応答し
て、割込みアドレス発生器36は割込みアドレス(単数ま
たは複数)を発生して、割込み命令(単数または複数)
がプログラムメモリ15内のどの位置にあるかを指示す
る。割込み命令は単数であっても複数であっても、その
処理は基本的に同じである。割込み要求信号は割込みア
ドレス発生器36に対して、アドレス発生器36に予め設定
されている割込みルーチンのうちどの1つが実際に要求
されたのかを指示する。指示された割込みルーチンは単
数アドレスの場合もあるし、複数アドレスからなる場合
もある。割込み要求信号の指示に従って、割込みアドレ
ス発生器36は所定の割込みアドレス(単数または複数)
をプログラムアドレス母線16上に供給する。割込み取出
し信号は、割込みアドレス発生器36がプログラムアドレ
ス母線16に対していつからいつまで割込みアドレス(単
数または複数)を供給して良いかという時期を制御す
る。割込みアドレス発生器36が起動されるときに、割込
み取出し信号はまた、先取りカウンタ30がプログラムア
ドレス母線16に定常命令アドレス(n+3)を供給する
ことを一定期間禁止する。この結果、先取りカウンタ30
の内容はそのまま保持される。従って、先取りカウンタ
30内のアドレスは退避させたり回復したりする必要はな
い。
割込み命令の処理 所定数の割込み命令アドレスを、プログラムアドレス
母線16とプログラムメモリ15を経由して命令の流れ中に
押込むことができる。割込みアドレス(i)が割込みア
ドレス発生器36により実際に供給されても、命令レジス
タ24および先取りレジスタ18内にあるいつくかの命令
(n+1,n+2)は割込みルーチン実行前にデータプロ
セッサにより実行可能である。これは、割込み命令
(i)を取出してデコードするのに時間がかかるからで
ある。割込み先取り制御回路34と割込みアドレス発生器
36は、任意の種類の割込みを処理するのに必要な所定数
の命令アドレスを選択的に命令の流れ中に押込むことが
可能である。割込みアドレス(i)が命令の流れに押込
まれて命令レジスタ24に供給されると、プログラムカウ
ンタ14の内容(n+3)は、割込み信号に応答して命令
レジスタ24により供給される保持信号によって、一定
(n+3)に保持される。留意すべき点は、プログラム
カウンタ14は割込み要求信号の受信直後に一定に保持さ
れるのではなく、割込みルーチン(i)実行前の最後の
定常命令(n+2)が終了するまで増分を継続すること
である。割込み取出し信号はまた、先取りレジスタ18内
に記憶される命令が割込み命令であることを指示する機
能も果たす。先取りレジスタ18は、割込み取出し信号を
受信すると、割込み信号を命令デコーダ22および命令レ
ジスタ24へと供給する。こうして、先取りレジスタ18内
の割込み命令の内容と割込み信号の指示の双方が、命令
デコーダ22、そして次に命令レジスタ24へと供給され
る。命令レジスタ24は、割込み信号を受けるとプログラ
ムカウンタ14に保持信号を供給する。
割込みからの復帰 所定個数の割込みアドレス(単数又は複数)が全てア
ドレス発生器36により供給されたらすぐに、割込み取出
し信号が割込みアドレス発生器36を使用不能にし、先取
りカウンタ30を使用可能にする。割込みルーチンが実行
を完了すると、原則的に先取りカウンタ30が通常(定
常)プログラムの次の命令アドレス(n+3)を指示す
ることになり、通常プログラムの処理がデータプロセッ
サにより再開継続される。この際、次の命令アドレス
(n+3)が先取りカウンタ30内に存在しているので、
特に他のレジスタから回復させる必要はない。先取りカ
ウンタ30は再びプログラムアドレス母線16へと定常のプ
ログラム命令アドレスを供給することが可能となり、プ
ログラムカウンタ14の記憶はもはや保持されることはな
い。先取りカウンタ30から供給されたアドレスはプログ
ラムメモリ15に入力され、そこからの命令が先取りレジ
スタ18、命令デコーダ22および命令レジスタ24に供給さ
れ実行されるので、最後の割込み命令の実行直後におい
て命令の実行損失はない。割込み命令実行前に命令レジ
スタ24内の多重語命令の第1語(第6図の命令n+2)
が実行されずに放棄された場合には、割込みアドレス発
生器36が使用不能にされたらすぐにプログラムカウンタ
14からその第1語のアドレスがプログラムアドレス母船
16上に供給される。
割込み先取り制御回路の構成 第4図の制御装置10を構成する回路はそれぞれ公知の
市販の回路により容易に実現可能である。割込み先取り
制御回路34は多くの方法で実現可能である。割込み先取
り制御回路34は、1つまたは2つなどの固定数の取出し
サイクルの間だけ、一時的に命令取出しの流れを変化さ
せるように設計することも可能である。割込み先取り制
御回路34はまた、各割込みに対して所定数の取出しをプ
ログラムできるようにレジスタを使用して実現可能であ
る。あるいは、所定数の割込み命令取出しをカウントす
るように制御回路34内でカウンタを利用することもでき
る。制御回路34とアドレス発生器36に必要な上記の機能
は他の多くの方法で達成することが可能である。
命令サイクル実行の流れ 第5図には第4図の制御装置10を用いた命令サイクル
実行の流れ図の1例を示す。容易に理解されるように、
複数個の連続した命令(n−3,n−2,n−1,n,n+1,n+
2)が割込み要求の直前で実行可能である。割込み要求
(i)は、命令nの実行サイクル(4番目の命令サイク
ル)中のある時期に発生している。従来の回路とは異な
り、本発明はいずれの命令サイクルもオーバヘッドとし
て失うことなく、定常のプログラム命令(n−3,n−2,n
−1,n,n+1)と非同期割込み要求(i)を実行する機
能を有している。割込み要求(i)が制御装置10によっ
て認識されると、制御装置10は命令境界の終りまで待機
することなく即座に割込み命令取出しを指示する。割込
み要求(i)は1つの命令アドレスとして示している
が、(i)が複数個の割込み命令アドレスを含むと解釈
しても何ら差しつかえない。同様に、割込みサービスル
ーチンの取出しが完了すると、命令取出しの流れは即座
に定常のプログラム命令へと復帰され、定常プログラム
(n+3,n+4)が割込みサービスルーチンの実行完了
前に取出されかつデコードされる。命令の境界で余分な
命令アドレス取出しが行なわれないので、割込みサービ
ス開始前の現行の命令実行が完了するまでの間のオーバ
ヘッドは最少限になる。
本発明においてオーバヘッドが減少されるが、その最
大の理由は命令の先取りが現在実行中の命令の完了を待
たずに達成できるからである。割込み要求後できるだけ
早く割込み命令がパイプライン化された命令の流れに押
込まれるので、いくつかの必要な制約が回路動作に生ず
る。このような制約条件は本発明を実現するために選択
される特定の回路に大きく依存し、それに従って変化す
る。
命令語長 第1に、割込み実行前に定常命令のいかなる部分も実
行されないまま残されあるいは失われてしまうというこ
となく、現在処理中の命令が全て実行を完了できること
を保証するためには、全ての命令は、プログラムメモリ
15とデータプロセッサとの間の命令パイプライン内に配
置されるレジスタの数より大きくない命令語でなければ
ならない。それによって、実行を開始したいずれの命令
も実行の完了が保証されるが、それは前記命令用の命令
取出しが全て完了しているからである。第4図に示した
形態の制御装置10においては、プログラムメモリ15とデ
ータプロセッサとの間のレジスタの数はレジスタ18と24
との2個である。従って2語より大きい命令は、割込み
実行直前に制御装置10により処理できない。しかしなが
ら、命令サイズのこの制約は、一般に単一語命令を使用
するマイクロプロセッサ(MPU)、縮小命令セットコン
ピュータ(RISC)またはデジタル信号プロセッサ(DS
P)のようなデータプロセッサにおいては不可避のもの
ではない。2語より大きな命令語サイズを要求する用途
に対しては、命令パイプライン内に追加的記憶レジスタ
を設けることができる。
OPコード 第2に、一般に処理すべき命令は全てOPコード(演算
コード)部と情報部を有するのが通例である。OPコード
部は常に命令の第1語に存在する。情報部は、第1命令
語内、および存在する場合には後続の命令語内に含まれ
る。命令レジスタ24は、命令レジスタ内に存在するOPコ
ードが実行を開始すべきか中止すべきかを判定しなけれ
ばならない。命令レジスタ24は、命令デコーダ22からデ
コードされた命令長を受信し、かつ、先取りレジスタ18
からの割込み信号によって先取りレジスタ18内に割込み
命令が存在するか否かを知ることができる。もし命令レ
ジスタ24内に完全に命令が含まれているならば、命令の
実行を開始できる。一方、命令が命令レジスタ24内に完
全に包含されておらず、先取りレジスタ18からの後続の
命令語を必要とする場合において、先取りレジスタ18か
らの割込み信号によって、先取りレジスタ18が後続の命
令語を含んでいるか否かが分かる。割込み信号が後続の
定常命令が含まれることを示す場合は、全ての命令語が
既に取出されているのでその新しい命令の実行を開始可
能である。逆に、割込み信号が割込み命令の取出しを示
す場合は、その新しい命令(第6図の命令n+2)は実
行を中止され、割込み命令の取出しが完了した後、中止
された最初の命令語が再取出しされなければならない。
この例では中止された最初の定常命令語を再取出しする
ため、先取りカウンタ30の代りにプログラムカウンタ14
が使用される。このために、割込み先取り制御回路34が
保持信号をモニターしており、割込みアドレス発生器36
の使用不能の直後に1サイクルだけ先取りカウンタ30の
代わりにプログラムカウンタ14を使用可能にする。その
後は通常どおり先取りカウンタ30から定常命令アドレス
が供給される。割込み実行前の定常命令の中止は1つの
実行サイクル喪失を生じせしめるが、大抵の命令の長さ
はわずか1語であるので、全体として性能にはさしたる
影響を及ぼさない。もし全ての命令の長さが1語である
ならば命令が中止されることはない。
流れ変更命令 第3に、定常の命令の流れ中で生じる命令のいくつか
が流れ変更命令であり、命令の流れの方向を変更するも
のであると想定してみる。例えば、流れ変更命令はプロ
グラムの実行をプログラムメモリ15内の所定のサブルー
チンへと飛越させることができる。通例、流れ変更命令
において、データプロセッサが先取りレジスタ18の内容
を放棄し、かつ、飛越しアドレスをプログラムアドレス
母線16を経由してプログラムカウンタ14に供給するよう
にさせる。先取りカウンタ30は定常命令の通常のアドレ
ス発生源であり、プログラムカウンタ14は流れ変更が生
じたときの命令アドレス発生源である。命令が流れ変更
命令であるか定常命令であるかは、命令デコーダ22によ
り命令のOPコード部から容易に判定できる。流れ変更命
令が命令レジスタ24内にある場合において、もし命令レ
ジスタ24が割込み信号を受信すると、先取りレジスタ18
の内容は前述したように定常命令処理のために放棄する
ことができない。そうでないと、先取りレジスタ18内に
ある割込み命令は永久に放棄され、割込み命令が無視さ
れてしまうからである。
サブルーチンへの飛越し 最後に、サブルーチンの飛越しのような流れ変更命令
を、割込み命令の流れの中に置くこともできる。好適な
形態では通例、割込み命令取出し個数はわずか1つか2
つである。従って1つの命令が割込み周辺装置へのサー
ビスを十分満たす場合には、迅速な割込みサービスルー
チンが可能である。より長い割込みサービスルーチン用
には、割込み命令の流れの中の第1の命令としてサブル
ーチンへの飛越し命令を置くことができる。これによっ
て、定常命令の流れとして実行できる、長い割込みサー
ビスルーチンへの流れの変更を達成できる。命令レジス
タ24内にある命令OPコードが流れ変更命令でありかつ割
込み命令である場合において、先取りレジスタ18が定常
命令を含んでいるときは、該先取りレジスタ18の内容は
放棄できる。先取りレジスタ18が割込み命令を含んでい
るときは、先取りレジスタ18の内容は放棄できない。こ
うすることによって、前述したように、割込み要求が放
棄されないことが確実に保証される。
以上より、オーバヘッドを最小限にするプロセッサ用
制御装置が実現されたことは明白であろう。前記制御プ
ロセッサは各命令サイクル中、関連するプロセッサの機
能を最大限に活用するのに役立つ。このようにしてMP
U、RISCおよびDSPデータプロセッサで一般に使用されて
いる1語または2語命令セットと共に用いる極めて迅速
な割込みサービスを効率よる実現可能である。
これまで特定の想定のパラメータを用いて実施例を説
明したきたが、回路または所与のパラメータの修正は当
業者には自明であり、本発明の範囲は添付の請求の範囲
によってのみ限定されるべき旨が了解されよう。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データプロセッサにより実行される先取り
    した定常命令を提供するためのデータプロセッサ制御装
    置(10)であり、前記定常命令は少なくとも1つの先取
    りした割込み命令を導く割込み要求信号によって割込み
    が可能であるデータプロセッサ制御装置であって: 定常命令アドレスと割込み命令アドレスを通信するため
    のプログラムアドレス母線(16); プログラムアドレス母線に接続され、定常命令アドレス
    を選択的に受け、記憶しかつ供給するプログラムアドレ
    ス記憶手段(14); プログラムアドレス母線に接続され、定常命令アドレス
    を選択的に記憶しかつ供給する先取りアドレス記憶手段
    (30); プログラムアドレス母線に接続された入力と、先取りア
    ドレス記憶手段(30)に接続された出力とを有する増分
    器(28); 割込み要求信号の検出に応じて、前記のすでに供給され
    た定常命令が実行を完了する前に、かつ、最近に先取り
    した定常命令が完全に先取りされていない多重語命令で
    あるか否かをデコードする前に、割込み取出し制御信号
    を供給する割込み制御回路(34)であり、前記割込み取
    出し制御信号は複数個の割込みアドレスのうちの所定の
    割込みアドレス(単数又は複数)がプログラムアドレス
    母線に供給される時期を制御しかつ前記先取りアドレス
    記憶手段(30)の定常命令アドレス供給を禁止するとこ
    ろの、割込み制御回路(34); プログラムアドレス母線(16)と割込み制御回路(34)
    の双方に接続され、割込み要求信号と割込み取出し信号
    の双方に応答して、複数個の割込みアドレスのうちの所
    定の割込みアドレス(単数又は複数)を、プログラムア
    ドレス母線に選択的に供給する割込みアドレス発生器
    (36); プログラムアドレス母線(16)に接続された入力と、出
    力とを有し、定常命令アドレスと割込み命令アドレスに
    それぞれ応答して先取りした定常命令と先取りした割込
    み命令とを供給するプログラムメモリ(15); プログラムメモリ(15)および割込み制御回路(34)に
    接続された入力を有し、命令を選択的に受け、記憶しか
    つ供給し、かつ割込み命令が記憶されていることを示す
    割込み肯定信号(割込み)を供給する第1の命令記憶手
    段(18); 割込み肯定信号を受けるため第1の命令記憶手段(18)
    に接続された第1の入力と、命令を選択的に受けるため
    第1の命令記憶手段(18)に接続された第2の入力と、
    デコードした命令を選択的に供給するための出力とを有
    する命令デコーダ(22);ならびに 命令デコーダ(22)の出力に接続された第1の入力と、
    割込み肯定信号(割込み)を受けるための第2の入力
    と、デコードされた命令をデータプロセッサに選択的に
    供給するための第1の出力であって、割込み取出制御信
    号の供給前にすでに先取りされた定常命令が完全に先取
    りされていない多重語命令である場合にはそのすでに先
    取りされた定常命令をデータプロセッサに供給しない第
    1の出力と、保持信号(保持)を選択的に供給するため
    の第2の出力とを有する第2の命令記憶手段(24)であ
    り、割込み肯定信号(割込み)を受信している間に前記
    保持信号がプログラムアドレス記憶手段(14)の内容の
    変更を禁止するところの、第2の命令記憶手段(24); を具備することを特徴とするデータプロセッサ制御装
    置。
JP62500354A 1985-11-27 1986-11-10 データプロセッサ制御装置 Expired - Lifetime JPH083791B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/802,491 US4709324A (en) 1985-11-27 1985-11-27 Data processor control unit having an interrupt service using instruction prefetch redirection
PCT/US1986/002466 WO1987003394A1 (en) 1985-11-27 1986-11-10 A data processor control unit having an interrupt service using instruction prefetch redirection
US802491 1991-12-05

Publications (2)

Publication Number Publication Date
JPS63501454A JPS63501454A (ja) 1988-06-02
JPH083791B2 true JPH083791B2 (ja) 1996-01-17

Family

ID=25183841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62500354A Expired - Lifetime JPH083791B2 (ja) 1985-11-27 1986-11-10 データプロセッサ制御装置

Country Status (13)

Country Link
US (1) US4709324A (ja)
EP (1) EP0247175B1 (ja)
JP (1) JPH083791B2 (ja)
KR (1) KR940009100B1 (ja)
CN (1) CN1009396B (ja)
AU (1) AU6779687A (ja)
CA (1) CA1265873A (ja)
DE (1) DE3681733D1 (ja)
FI (1) FI90804C (ja)
HK (1) HK5294A (ja)
IL (1) IL80499A (ja)
SG (1) SG130093G (ja)
WO (1) WO1987003394A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
JPH0740225B2 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
JPS6398737A (ja) * 1986-10-15 1988-04-30 Mitsubishi Electric Corp デ−タ処理装置
EP0306644B1 (en) * 1987-07-06 1997-11-12 Hitachi, Ltd. Data processor having a break function
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
EP0349124B1 (en) * 1988-06-27 1996-10-09 Digital Equipment Corporation Operand specifier processing
JPH07120278B2 (ja) * 1988-07-04 1995-12-20 三菱電機株式会社 データ処理装置
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US5590293A (en) * 1988-07-20 1996-12-31 Digital Equipment Corporation Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
JP2504149B2 (ja) * 1988-12-02 1996-06-05 三菱電機株式会社 命令キュ―管理装置
JPH0640316B2 (ja) * 1989-04-20 1994-05-25 工業技術院長 演算レジスタ上でのデータ待ち合せ実現方法
CA2019299C (en) * 1989-06-22 2002-01-15 Steven Frank Multiprocessor system with multiple instruction sources
JPH0437927A (ja) * 1990-06-01 1992-02-07 Sony Corp プロセッサの処理方法
US5287522A (en) * 1990-06-29 1994-02-15 Bull Hn Information Systems, Inc. External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
JP2556182B2 (ja) * 1990-08-29 1996-11-20 三菱電機株式会社 デ−タ処理装置
JPH04318654A (ja) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> マイクロプロセッサへの割り込みのリダイレクションシステム
JP2677719B2 (ja) * 1991-05-08 1997-11-17 富士通株式会社 情報処理装置
JP2682264B2 (ja) * 1991-05-21 1997-11-26 日本電気株式会社 プログラムカウンタ装置
JPH04346127A (ja) 1991-05-23 1992-12-02 Sony Corp 電子装置
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
WO1993006549A1 (en) * 1991-09-19 1993-04-01 Chips And Technologies, Inc. A system for performing input and output operations to and from a processor
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
JP3230262B2 (ja) * 1992-01-24 2001-11-19 ソニー株式会社 電子装置及びその固定情報修正方法
US5805902A (en) * 1993-07-02 1998-09-08 Elonex I.P. Holdings, Ltd. Structure and method for issuing interrupt requests as addresses and for decoding the addresses issued as interrupt requests
GB2281986B (en) * 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
US5475822A (en) * 1993-11-15 1995-12-12 Motorola, Inc. Data processing system for resuming instruction execution after an interrupt and method therefor
JPH07244649A (ja) * 1994-03-08 1995-09-19 Fujitsu Ltd 割込処理分散方式
US5889973A (en) * 1995-03-31 1999-03-30 Motorola, Inc. Method and apparatus for selectively controlling interrupt latency in a data processing system
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5687339A (en) * 1995-09-14 1997-11-11 Elan Microelectronics Corp. Pre-reading and pre-decoding of instructions of a microprocessor within single cycle
US5954819A (en) * 1996-05-17 1999-09-21 National Semiconductor Corporation Power conservation method and apparatus activated by detecting programmable signals indicative of system inactivity and excluding prefetched signals
US6785803B1 (en) * 1996-11-13 2004-08-31 Intel Corporation Processor including replay queue to break livelocks
US5907712A (en) * 1997-05-30 1999-05-25 International Business Machines Corporation Method for reducing processor interrupt processing time by transferring predetermined interrupt status to a system memory for eliminating PIO reads from the interrupt handler
US5905880A (en) * 1997-09-29 1999-05-18 Microchip Technology Incorporated Robust multiple word instruction and method therefor
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US6044430A (en) * 1997-12-17 2000-03-28 Advanced Micro Devices Inc. Real time interrupt handling for superscalar processors
US6275924B1 (en) * 1998-09-15 2001-08-14 Texas Instruments Incorporated System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time
US7401205B1 (en) * 1999-08-13 2008-07-15 Mips Technologies, Inc. High performance RISC instruction set digital signal processor having circular buffer and looping controls
US6889279B2 (en) * 2000-12-11 2005-05-03 Cadence Design Systems, Inc. Pre-stored vector interrupt handling system and method
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
GB2400198B (en) 2003-04-04 2006-04-05 Advanced Risc Mach Ltd Controlling execution of a block of program instructions within a computer processing system
US7200719B2 (en) * 2003-07-31 2007-04-03 Freescale Semiconductor, Inc. Prefetch control in a data processing system
JP4247132B2 (ja) 2004-01-29 2009-04-02 株式会社ルネサステクノロジ 情報処理装置
CN102141904B (zh) * 2011-03-31 2014-02-12 杭州中天微系统有限公司 支持中断屏蔽指令的数据处理器
US9378164B2 (en) * 2011-12-22 2016-06-28 Intel Corporation Interrupt return instruction with embedded interrupt service functionality
CN111190658B (zh) * 2020-01-08 2023-02-28 乐鑫信息科技(上海)股份有限公司 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57130998A (en) * 1981-02-04 1982-08-13 Japan Found Cancer Human interferon-beta-gene
EP0088622A2 (en) * 1982-03-08 1983-09-14 Genentech, Inc. Animal interferons, processes involved in their production, compositions containing them, DNA sequences coding therefor and expression vehicles containing such sequences and cells transformed thereby
JPS5925689A (ja) * 1982-05-28 1984-02-09 ドクトル・カ−ル・ト−メ−・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツンク 微生物により生産されるα−およびβ−インタ−フエロン

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
EP0020931B1 (fr) * 1979-06-21 1984-10-10 International Business Machines Corporation Dispositif exécutant des opérations d'interruption de programme pour processeur du type à appel anticipé des instructions
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
US4402042A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor system with instruction pre-fetch
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
EP0134831B1 (de) * 1983-09-16 1987-01-07 Ibm Deutschland Gmbh Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57130998A (en) * 1981-02-04 1982-08-13 Japan Found Cancer Human interferon-beta-gene
EP0088622A2 (en) * 1982-03-08 1983-09-14 Genentech, Inc. Animal interferons, processes involved in their production, compositions containing them, DNA sequences coding therefor and expression vehicles containing such sequences and cells transformed thereby
JPS5925689A (ja) * 1982-05-28 1984-02-09 ドクトル・カ−ル・ト−メ−・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツンク 微生物により生産されるα−およびβ−インタ−フエロン

Also Published As

Publication number Publication date
WO1987003394A1 (en) 1987-06-04
JPS63501454A (ja) 1988-06-02
KR880700969A (ko) 1988-04-13
US4709324A (en) 1987-11-24
FI90804B (fi) 1993-12-15
AU6779687A (en) 1987-07-01
EP0247175A4 (en) 1988-03-22
HK5294A (en) 1994-01-28
IL80499A (en) 1990-06-10
FI873030A (fi) 1987-07-08
CA1265873A (en) 1990-02-13
SG130093G (en) 1994-02-25
CN86107934A (zh) 1987-08-12
IL80499A0 (en) 1987-02-27
KR940009100B1 (ko) 1994-09-29
FI873030A0 (fi) 1987-07-08
FI90804C (fi) 1994-03-25
EP0247175A1 (en) 1987-12-02
DE3681733D1 (de) 1991-10-31
EP0247175B1 (en) 1991-09-25
CN1009396B (zh) 1990-08-29

Similar Documents

Publication Publication Date Title
JPH083791B2 (ja) データプロセッサ制御装置
EP0207665B1 (en) Bidirectional branch prediction and optimization
US4875160A (en) Method for implementing synchronous pipeline exception recovery
US7213137B2 (en) Allocation of processor bandwidth between main program and interrupt service instruction based on interrupt priority and retiring micro-ops to cache
US4775927A (en) Processor including fetch operation for branch instruction with control tag
JPH02224055A (ja) 命令の多機能ユニットへの同時ディスパッチのための方法及び装置
US6976158B2 (en) Repeat instruction with interrupt
US6108768A (en) Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
US5687381A (en) Microprocessor including an interrupt polling unit configured to poll external devices for interrupts using interrupt acknowledge bus transactions
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US6275903B1 (en) Stack cache miss handling
US6446143B1 (en) Methods and apparatus for minimizing the impact of excessive instruction retrieval
US5948093A (en) Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
US20030028696A1 (en) Low overhead interrupt
US6721878B1 (en) Low-latency interrupt handling during memory access delay periods in microprocessors
US6704863B1 (en) Low-latency DMA handling in pipelined processors
US6170050B1 (en) Length decoder for variable length data
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
EP0933705B1 (en) Data processor with robust interrupt branching and method of operation
EP0933704B1 (en) Data processor with protected non-maskable interrupt
EP0270873A2 (en) Single ALU computer system
JPH0659916A (ja) 命令プリフェッチ装置
US20140372729A1 (en) Processor with execution unit wait control
JPH04145531A (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term