JP3176093B2 - マイクロプロセッサの割込み制御装置 - Google Patents
マイクロプロセッサの割込み制御装置Info
- Publication number
- JP3176093B2 JP3176093B2 JP22555791A JP22555791A JP3176093B2 JP 3176093 B2 JP3176093 B2 JP 3176093B2 JP 22555791 A JP22555791 A JP 22555791A JP 22555791 A JP22555791 A JP 22555791A JP 3176093 B2 JP3176093 B2 JP 3176093B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- maskable
- program
- level
- flag
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
Description
込み要求を処理するマイクロプロセッサの割込み処理装
置に関する。
テムでは、プログラムを実行中に周辺装置が割込み(I
nterrupt)要求信号を発生した場合に、マイク
ロプロセッサが現在実行中のプログラム実行を中断して
周辺装置の割込み要求信号に対する割込み処理プログラ
ムを実行するための、割込み制御部を備えている。ここ
で割込み要求によって中断されるプログラムをメイン・
プログラムと呼ぶことにする。
込み要求信号が同時に発生する場合、もしくは2)ある
周辺装置の割込み要求信号に対する割込み処理プログラ
ムを実行中に他の周辺装置が割込み要求信号を発生する
場合に、それぞれどの割込み要求を受け付けるのかの多
重割込み処理機能(1)に対応)、割込み要求を一時保
留する割込みマスク機能(2)に対応)が必要になる。
対処するために、各割込み信号要求信号に優先順位を設
定し、優先順位の高い割込み要求信号に対する処理プロ
グラムの実行を優先して行う優先順位制御が用意され
る。
込み処理プログラムに実行制御を移すために、割込み処
理プログラムの実行開始アドレスを得るための機構を持
つこともある。1)割込み要求の種類にしたがって実行
開始アドレスが固定である場合、2)周辺装置より通知
される情報(以下ベクタ番号と呼ぶ)に基づき実行開始
アドレスに変換する場合、3)選択的または同時に
1),2)の双方を持つ場合、がある。
後中断されたメイン・プログラムへ制御を戻す必要があ
る。このため、割込み要求を受け付けてから割込み処理
プログラムに遷移する前に、メイン・プログラムの実行
再開に必要な情報(レジスタ資源の内容)を保存する機
構を備えている。これらの情報の退避先は、メモリ部
(内部または外部)のスタック領域、あるいはレジスタ
・バンク領域であることが多い。
セッサi8086では、2本の割込み要求端子INTお
よびNMIを持つ。INT端子はプログラムによりマス
ク可能な割込み要求端子で、この端子により要求される
割込みマスカブル割込みと呼ばれる。一方、NMI端子
はプログラムによりマスク不可能な割込み要求端子で、
この端子により要求される割込みはノンマスカブル割込
みと呼ばれる。
いたマイクロコンピュータ・システムの一構成例を示
す。i8086マイクロプロセッサ(CPUと称する)
310ではマスカブル割込み要求を受け付けると、次の
処理を行う。
pt Acknowledge)バス・サイクルを発行
し、2回目のバス・サイクルで外部周辺デバイス(I/
Oと称する)330から発行される割込み要求は割込み
コントローラ(INTCと称する)340で多重割込み
要求の優先順位が処理された結果、最も優先順位の高い
割込み要求に対応する8ビットの割込みベクタ番号をデ
ータ・バスから得る。
部メモリ(MEMと称する)320に配置されている割
込みベクタ・テーブルに格納されている該割込みベクタ
番号に対応するエントリのアドレスを計算する。各エン
トリには、前もって割込み処理プログラムの実行開始ア
ドレス(nOffset 322およびnBase 3
23)を格納しておく。
ントリから、割込み処理プログラムの実行開始アドレス
をデータ・バスを介してリードする。実行開始アドレス
は、16ビットのベース値(nBase 323)と1
6ビットのオフセット値(nOffset 322)で
構成される。
ck 321)に、1)マスカブル割込みの許可/不許
可フラグを制御するフラグ(以下割込み許可フラグと呼
ぶ)含むプログラム・ステータス・ワード(以下PSW
と略す)311、2)プログラム・カウンタ(以下PC
と略す)312、3)プログラム・セグメント・レジス
タ(以下PSと略す)313、の3本の16ビット・レ
ジスタ資源をセーブする。
み受付不可状態にセットする。
ドレスに制御を移す。
源供給の瞬断、外部メモリでのエラー発生など、システ
ムへの影響が大きいことから、マスカブル割込みより高
い優先順位を有しており、1)マスカブル割込み要求よ
りも先に処理される、2)割込み許可フラグによるマス
クできない、等の特徴を持つ。
スカブル割込み要求を受け付けると、マスカブル割込み
における前述の処理に対応して、(1)における割込み
応答バス・サイクルの発生および割込みベクタ番号の獲
得がない、(2)におけるエントリのアドレス計算にお
いて固定アドレスを使用する、という差異がある。
ロプロセッサでは、割込み要求を受け付けてから割込み
処理プログラムに遷移するために7回(マスカブル割込
みの場合)または5回(ノンマスカブル割込みの場合)
のバス・サイクルを必要とする(割込み応答に2回、レ
ジスタ資源の退避に3回、割込み処理シーケンスの実行
開始アドレス獲得に2回)。このため、割込み要求を受
け付けてから割込み処理プログラムに制御が移るまで
(これに要する時間を割込み応答時間と称する)、40
クロック以上の実行クロックを要する。メモリの動作速
度が、マイクロプロセッサのそれにより相対的に低速の
場合、各バス・サイクルにウェイト・ステート(基本ク
ロックの整数倍)が挿入され、さらに割込み応答時間が
大きくなる。
機能を説明する。
ロプロセッサMC68000では、割込み応答ならびに
割込み処理プログラムの実行開始アドレス獲得のための
バス・サイクル数の低減とともに、多重割込みに関する
外部回路の低減を図っている。図4にMC68000マ
イクロプロセッサを用いたマイクロコンピュータ・シス
テムの一構成例を示す。
Uと称する)410では、割込み応答バス・サイクルは
1回だけ発行される。このバス・サイクルでは8ビット
の割込みベクタ番号がデータ・バスを介してリードされ
る。i8086マイクロプロセッサの1回目の割込み応
答サイクルは、外部周辺デバイスが複数の割込みの優先
順位を判定し、1本の割込み要求信号(INT端子に接
続される)を生成するために使用される。一方、MC6
8000マイクロプロセッサでは、外部周辺I/O(I
/Oと称す)430から接続される3本の割込み要求端
子IPL2(−)〜IPL0(−)を持つために、この
調停時間を不要にしている。ここで“(−)”は負論理
信号であることを表わす。IPL2(−)〜IPL0
(−)端子は、その入力の組合せ(コード化された値)
でレベル0〜レベル7の8種類の割込み要求を示す。レ
ベル0は、割込み要求が無いことを示し、最低優先順位
の割込み要求と等価である。3本の割込み要求端子を用
いることで、実質7種類の割込みを要求できる。
ログラムで操作可能なステータス・レジスタに割り当て
られる3ビットの割込みマスク値と比較され、この値を
超える場合のみ割込み要求が受け付けられる(マスク値
と等しいか、より小さなレベルの要求は受付を保留され
る)。
よる比較が行われないため、i8086マイクロプロセ
ッサにおけるノンマスカブル割込みに類似した機能を供
する。
は割込み要求を受け付けると、次の処理を行う。
タ(PCと称す)412のうち下位16ビットを、外部
メモリ(MEMと称する)420のスタック領域(st
ack 421)にセーブする。
し、8ビットの割込みベクタ番号をデータ・バスから得
る。得られた割込みベクタ番号あるいは割込み要求レベ
ル(選択的に使い分けられる)から、外部メモリ420
に配置されている割込みベクタ・テーブルに格納されて
いる該割込みベクタに対応するエントリのアドレスを計
算する。各エントリには、前もって割込み処理プログラ
ムの実行開始アドレス(nPC 422)を格納してお
く。
(PSWと称す)411、およびPC 412の上位1
6ビットを外部メモリ(MEMと称する)420のスタ
ック領域(stack 421)にセーブする。
ントリから、割込み処理プログラムの実行開始アドレス
をデータ・バスを介してリードする。実行開始アドレス
は、24ビットで構成され、2回のバス・サイクルを要
する。
みマスクを、受け付けた割込み要求レベルと同一にセッ
トする(現在と同一あるいはより低い要求レベルの割込
みを禁止するため)。
ドレスに制御を移す。
イクロプロセッサでは、割込み要求を受け付けてから割
込み処理プログラムに遷移するために6回のバス・サイ
クルを必要とする(割込み応答に1回、レジスタ資源の
退避に3回、割込み処理シーケンスの実行開始アドレス
獲得に2回)。このため、割込み応答時間はi8086
と同程度の40クロック以上の実行クロックを要する。
に従ってリアルタイムに反応するためには、割込み応答
時間を極力小さくする必要がある。このためには割込み
応答時にバス・サイクルの発行回数を少なくすることが
考えられる。
1)割込みベクタ番号を得るための割込み応答サイク
ル、2)割込み処理プログラムの開始アドレスを得るた
めのリード・サイクル、3)レジスタ資源を退避するた
めのライト・サイクル、に分割される。
て、高速割込み応答性を得ようとする試みが成されてい
る。
ッサR3000は、従来のマイクロプロセッサでは割込
み応答時に発行されていた上記のバス・サイクルを次の
ように排除している。
含め、命令処理で発生した例外に関するすべてのベクタ
を80000000hに固定することで、割込みベクタ
番号の獲得のためのバス・サイクルを必要としない。
従来のマイクロプロセッサでは、ベクタに対応する外部
メモリに割込み処理開始アドレスを格納する、いわゆる
メモリ間接型の分岐動作を実行している。R3000マ
イクロプロセッサでは、固定ベクタ80000000h
に直接分岐することで、間接アドレスを獲得するための
バス・サイクルを必要としない。
操作できる例外プログラム・カウンタを持ち、割込み/
例外が発生するとプログラム・カウンタの内容を自動的
に退避する。また、1本のステータス・レジスタに割込
みに関連するフラグ類を、現在の値と割込み/例外発生
前の値を保持する3組を持ち、退避のためのバス・サイ
クルを必要としない。
いたマイクロコンピュータ・システムの一構成例(部分
的)を示す。
称す)510は、外部周辺I/O(I/Oと称す)53
0から6本のマスカブル割込み要求端子INT5(−)
−INT0(−)を持つ。前述のMC68000マイク
ロプロセッサとは異なり、それぞれの端子は互いに独立
(コード化された値に意味を持たない)であり、6種類
の割込み要求に対応する。
ジスタ内511の割込み制御フラグにより、2段階にマ
スクされる。ステータス・レジスタ内の6ビットのマス
ク・フラグ(以下IntMaskと称する)503は、
6本の割込み要求のそれぞれに対応してマスクを行う。
さらに、ステータス・レジスタ内の現在割込み許可フラ
グ(以下IEcと称する)501は、IntMask5
03でマスクされた割込み要求の論理和に対してマスク
を行う。
受け付けると、直前のIEc 501の値を保持するた
めの直前割込み許可フラグ(以下IEpと称する)50
2に複写されるとともに、二重にマスカブル割込みを受
け付けないようにクリアされる。IEp 502はIE
c 501の複写の前に、直前のIEp502の値を保
持するための過去割込み許可フラグ(以下IEoと称す
る、図面では省略)に複写されるが、ここでの本質的な
説明にはなじまないので、以下IEoについては触れな
い。
み/例外に関連して、前述したステータス・レジスタ5
11および例外プログラム・カウンタ513の他に、割
込み/例外の要因を示すための原因レジスタ514を持
つ。原因レジスタ514には、割込み/例外の種類を大
別する例外コード・フィールド(以下ExcCodeと
称する)504、および処理が保留されているマスカブ
ル割込みの種類を示す保留割込みフィールド(以下IP
と称する)505を持つ。マスカブル割込みが受け付け
られると4ビットのExcCode 504には000
0bがセットされるとともに、6ビットのIPにはIn
tMask 503でマスクされた6本の割込み要求が
セットされる。
スカブル割込みを受け付けた際の動作を整理すると、次
のようになる。
c 501の値をIEp502にコピーした上でIEc
501をクリアし、引続くマスカブル割込み要求をマ
スクする。
e 504に0000bを、IP505にIntMas
k 503でマスクされた6本の割込み要求をセットす
る。
例外プログラム・カウンタ513に複写し、プログラム
・カウンタ512を80000000hにセットし、割
込み処理プログラム(handler)521に制御を
移す。
割込みを受け付けてから割込み処理プログラムに制御が
移るまで、R3000マイクロプロセッサでは最小3ク
ロックで処理できるため、高速な割込み応答時間を得る
ことができる。
は、前述した他の2つのマイクロプロセッサと比較する
た、非常にプリミティブな割込み処理であると言わざる
を得ない。他のマイクロプロセッサと同等の割込み処理
機能を供するためには、次のような処理をプログラム
(以下割込みハンドラと称する)で実現する必要があ
る。
り分け:マスカブル割込み、およびその他の例外に対し
て、単一の処理プログラム(80000000hから始
まる)に制御が移されてしまう。原因レジスタのExc
Codeによる判定が必要。
端子に、複数の割込み要求が発生した場合、原因レジス
タのIPを判定することによって、どの要求を受け付け
るかを判定する必要がある。
グラム内で、現在処理している割込み要求よりも低い割
込み要求をマスクするために、ステータス・レジスタの
IntMaskを再設定する必要がある。
み処理プログラム内で別の割込みを受け付ける場合、例
外プログラム・カウンタの内容をあらかじめ他のレジス
タ資源、または外部メモリに退避する必要がある。ま
た、3重以上の割込みを受け付ける場合には、ステータ
ス・レジスタの退避も必要になる。
割込み応答性が変化してしまうという欠点がある。
来のマイクロプロセッサでは複数のマスク可能な割込み
要求に対応する際に、次に代表される問題点がある。
を必要とする。
するため、割込み応答性が悪い。
重割込みに関してサポートされておらず、割込み応答性
がプログラムに依存する。
カウンタで示される命令を逐次実行し、複数のマスカブ
ル割込み要求を処理するマイクロプロセッサの割込み制
御装置において、外部から割込み要求を所定のコードで
表現された当該割込み要求の優先レベルとともに受ける
受信手段と、割込み許可レベルを示すコード,割込み要
求を禁止するときに立つ第1のフラグおよび割込み要求
を処理中のとき立つ第2のフラグを含むプログラムステ
ータスワードと、複数のマスカブル割込みに共通して実
行されるマスカブル割込み処理ルーチンを含んだ記憶手
段と、優先レベルと割込み許可レベルとを比較して優先
レベルが割込み許可レベル未満のときまたは第1のフラ
グおよび第2のフラグのいずれかが立っているときに割
込み要求をインアクティブ状態とする比較手段と、比較
手段を通過した割込み要求がアクティブ状態のときマス
カブル割込み処理ルーチンを起動する起動手段と、プロ
グラムステータスワードを待避する第1の待避手段と、
プログラム・カウンタを待避する第2の待避手段と、優
先レベルの所定のコードを新たな割込み許可レベルを示
すコードに変換してプログラムステータスワードに保持
する割込み許可レベル設定手段と、優先レベルの所定の
コードを含んだアドレス値を生成してプログラム・カウ
ンタに転送するアドレス生成手段とを有するマイクロプ
ロセッサの割込み制御装置であり、マスカブル割込み処
理ルーチンが起動すると、第1および第2の待避手段を
動作させ、プログラムステータスワードの第1および第
2のフラグを立たせ、割込み許可レベル設定手段を動作
させ、アドレス生成手段を動作させて、割込み処理プロ
グラムの実行を開始するものであり、外部から前記複数
のマスカブル割込み要求より優先レベルの高いノンマス
カブル割込み要求を受ける第2の受信手段と、前記プロ
グラムステータスワードを待避する第3の待避手段と、
前記プログラム・カウンタを待避する第4の待避手段と
をさらに有し、前記プログラムステータスワードはノン
マスカブル割込み要求を受け付けたとき立つ第3のフラ
グをさらに含み、前記第3のフラグが立っているときに
前記ノンマスカブル割込み要求をインアクティブ状態と
するマスク手段を さらに有し、前記記憶手段は前記ノン
マスカブル割込みに対応して実行されるノンマスカブル
割込み処理ルーチンをさらに含み、前記起動手段は前記
マスク手段を通過した前記ノンマスカブル割込み要求が
アクティブ状態のとき前記ノンマスカブル割込み処理ル
ーチンを起動し、前記ノンマスカブル割込み処理ルーチ
ンは、起動すると、前記第3および第4の待避手段を動
作させ、前記プログラムステータスワードの第1および
第3のフラグを立たせ、所定のアドレスを前記プログラ
ムカウンタに転送してノンマスカブル割込み処理プログ
ラムの実行を開始することを特徴とする。
込み制御装置では、1)多重割込み処理機能を持つが、
割込み要求の受付時に内部状態を待避するための内部レ
ジスタ資源を持たず、割込み処理プログラムの開始アド
レスを外部から可変アドレスを供給するか、あるいは
2)待避用レジスタ資源を持つが、多重割込み処理機能
を持たず、割込み処理プログラムの開始アドレスを固定
していたのに対し、本発明では、多重割込み処理機能、
および内部状態を待避するための内部レジスタ群を持
ち、割込み要求に対応した複数の固定された割込み処理
プログラムの開始アドレスを発生している。
ノンマスカブル割込みをサポートする32ビット・マイ
クロプロセッサ100の概略構成を示す図面である。
力端子126に加えられる基準クロック信号CLKに同
期して動作し、パイプライン処理を行うために、命令フ
ェッチ・ユニット(以下IUと称する)101、命令デ
コード・ユニット(以下DUと称する)102、命令実
行ユニット(以下EUと称する)103、実効アドレス
計算ユニット(以下AUと称する)104、バス・イン
タフェース・ユニット(以下BUと称する)105を持
つ。また、IU101、DU102、EU103がそれ
ぞれ処理している命令が格納されているアドレスを保持
するプログラム・カウンタ、PCIU 111,PCD
U 112,PCEU 113を持つ。
制御、およびフェッチ・サイクルで外部より取り込んだ
命令コードを蓄積する。命令コード・キャッシュを含む
ような構成も考えられる。命令コードは、16ビット長
あるいは32ビット長のいずれかである。各命令コード
はメモリのハーフワード境界から(内部アドレスの最下
位ビットが0b)置かれるものとする。
令コードをデコードし、個々の命令に特有な処理を示す
信号を発生させる。代表的な信号としては、1)命令実
行処理の種類、2)オペランドの種類(メモリ/レジス
タの番号)、3)オペランドのデータ・タイプ、4)特
殊な命令の認識、などがある。DU102で発生された
信号は、図面では一部省略されているがその他の各ユニ
ットに対する動作指示信号として与えられる。
用レジスタ、32ビット幅の算術論理演算装置ALU、
バレル・シフタ等を含み、DU102によって指定され
た命令実行処理を行う。また、乗算器、浮動小数点演算
装置を持つ様な構成も考え得る。その内部制御はハード
ワイアド論理によるもの、マイクロプログラムを用いた
もの等が考えられる。
はI/Oに対するアクセスを含む命令であることを検知
すると、オペランドに対するアドレスを計算する。アド
レス計算に使用される要素は、命令コード中に含まれる
ディスプレースメント値、あるいは汎用レジスタの内容
がベース値として用いられる。前者はIU101から、
後者はEU103から供給される。
トのものがあり、16ビット・データはハーフワード境
界(内部アドレスの最下位ビットが0b)から、32ビ
ット・データはワード境界(内部アドレスの最下位2ビ
ットが00b)から配置されるものとする。
るアドレス情報、データ情報、および起動要求に基づい
て、外部バス・サイクルを発生する。バス・サイクルで
外部から読み込まれたデータは、命令コードはIU10
1に、オペランド・データはEU103に供給される。
ス構造で内部接続される。
転送するために、IU101とDU102間は命令コー
ドを転送するために、AU104とIU101間、およ
びAU104とEU103間はアドレス計算に使用され
るアドレス要素を転送するために、EU103とBU1
05間はリード・オペランドまたはライト・オペランド
を双方向的に転送するために、AU104とBU105
間は実行アドレスを転送するために、EU103とBU
105の間は任意のバス・サイクルで使用するアドレス
を転送するために、PCIU 111,PCDU 11
2,PCEU 113とBU105の間はオペランド・
アクセス以外のバス・サイクルで使用するアドレスを転
送するために接続される。
ータ転送に供される専用のデータ・バスID_busを
持つ。
バスは32ビット幅のバス一系統に見せているが、実際
には複数の32ビット・バスで構成される。
31ビットのワード・アドレス(16ビット単位アドレ
ス)を出力するアドレス・バス端子A1−A3112
1、32ビット・データの授受を行うデータ・バス端子
D0−D31 122の他、バス・サイクルの種類(た
とえばメモリ空間に対するものか、I/O空間に対する
ものか)を示すステータス出力端子、バス・サイクルの
開始を示すタイミング出力端子、バス・サイクルで行わ
れるデータ転送の方向(リード/ライト)を示すステー
タス出力端子、バス・サイクルの終了を保留しバス・サ
イクル期間を延長するためのレディ入力端子等を持つ。
usには前述のレジスタ資源の他に、命令実行の結果や
マイクロプロセッサ自身の状態を示すフラグ群で構成さ
れるプログラム・ステータス・ワード(以下PSWと称
する)131、マスカブル割込みまたは例外が発生した
場合にその時点でのPSW 131の内容が待避される
待避レジスタ(以下EIPSWと称する)133、同時
点でPCEU 113の内容が待避される待避レジスタ
(以下EIPCと称する)134、ノンマスカブル割込
みまたは二重例外(例外処理中に別の例外が発生する状
態)が発生した場合にその時点でのPSW 131の内
容が待避される待避レジスタ(以下FEPSWと称す
る)135、同時点でPCEU 113の内容が待避さ
れる待避レジスタ(以下EIPCと称する)136、マ
スカブル割込み/ノンマスカブル割込み/例外が発生し
た場合にその要因をコード化して保持する例外要因レジ
スタ(以下ECRと称する)132が接続される。
ャル・レジスタ(以下Idsrと称する)命令、または
ストア・スペシャル・レジスタ(以下stsrと称す
る)命令の実行によって、汎用レジスタとの間でデータ
転送が可能である。
ア上のフォーマットを示す。PSW131は、大別して
1)整数演算結果の状態を示すフラグ群であるistフ
ィールド、2)浮動小数点演算結果の状態を示すフラグ
群であるfstフィールド、3)割込み/例外関連のフ
ラグ群に分割される。割込み/例外関連のフラグ群につ
いて、その機能を説明しておく。
0フラグは、4ビットのコードとして、マスカブル割込
みの許可レベルを示す。この許可レベル(IE_lev
elで示す)よりも低いレベルの割込み要求(IR_l
evel)は、マスカブル割込みを受け付けない。すな
わちIR_level≧IE_levelの場合に限
り、マスカブル割込みが受け付けられる。また、IR_
levelの割込み要求が受け付けられると、PSW
131全体がEIPSW 133またはFEPSW 1
35に待避された上で、IE_levelはIR_le
velに設定される。
スカブル割込み処理中であることを示す。ノンマスカブ
ル割込みが受け付けられると、本フラグがセットされ、
多重にノンマスカブル割込みを受け付けることをマスク
する。
ブル割込みまたは例外の処理中であることを示す。
が発生すると、本フラグがセットされ、多重にマスカブ
ル割込みを受け付けることをマスクする。
ブル割込みの要求をマスクすることを示す。本フラグが
クリアされた状態でマスカブル割込みが受け付けられる
と、本フラグがセットされ、多重にマスカブル割込みを
受け付けることを禁止する。
本発明の本質的な動作に関連ないので、説明を省略す
る。
マスカブル割込みを受け付けた場合、または例外が発生
した場合に、これらの要因を示す16ビットのコードが
セットされる。同様にFECCフィールドはノンマスカ
ブル割込みを受け付けた場合、または二重例外(マスカ
ブル割込み処理あるいは例外処理中に、例外が発生する
こと)が発生した場合に、これらの要因を示す16ビッ
トのコードがセットされる。これらの16ビット・コー
ドは“例外コード”と呼ばれる。
マスカブル割込みと、ノンマスカブル割込みをサポート
する他、プログラムの実行中に発生する例外的な事象を
検知しプログラムの実行を中断する“例外(Excep
tion)”処理機能を有する。代表的な例外として、
定義されていない命令コードを実行しようとした“不
正命令コード例外”、除算命令でゼロで除算しようと
した“ゼロ除算例外”、浮動小数点演算で不正な演算
が行われた“浮動小数点例外”、などが挙げられる。
込みあるいはノンマスカブル割込みが受け付けられたの
と同様に、PSW 131およびPCEU 113の待
避が行われて、例外処理プログラム(=例外処理ハンド
ラ)に制御が移される。
みを要求するINT端子123、マスカブル割込み要求
に同期してその要求レベルを4ビット(16種類の指定
が可能)のコード(前述のとおりIR_levelで表
わす)で示すINTV3(−)−INTV0(−)端子
124を介して、外部からEU103に対して通知され
る。
れると、PSW 131中のIDフラグがクリアされて
おり(割込み許可状態)、I3/I2/I1/I0フラ
グで示されるマスカブル割込みの許可レベル(前述のと
りIE_levelで表わす)よりも高いレベルの要求
(IR_level≧IE_level)の場合のみ、
マスカブル割込みを受け付ける。
−INTV0(−)端子124の状態は、マイクロプロ
セッサ100がマスカブル要求を検知してから、ソフト
ウェアで要因をクリアするまでアクティブ状態を保持し
ておく必要がある。
ブル割込みを要求するNMI端子125の立ち下がり遷
移によって、外部からEU103に対して通知される。
れると、PSW 131中のIDフラグの状態にかかわ
らず、ノンマスカブル割込みを受け付ける。
関する構成・動作について詳細に説明する。
する構成を示す図面である。EU103は、マイクロプ
ログラムROM(以下MROMと略す)202に格納さ
れ、マイクロプログラム・カウンタ(以下MPCと略
す)201で指定されるアドレスに格納されているマイ
クロ命令で制御されるマイクロマシンである。
デコード結果により、命令実行処理の開始時に特定のマ
イクロプログラムの開始アドレスSTRTVが設定さ
れ、1)分岐フィールド命令が実行されて分岐する場
合、2)EU103あるいは他ユニットからマイクロ命
令の実行待合せが要求され一時的に停止する場合、以外
は1クロック毎に1インクリメントされる。
ロ命令は、マイクロ命令デコーダ(以下MDECと略
す)203でデコードされ、EU103ならびにマイク
ロプロセッサ100その他の部分の制御に必要な信号を
発生する。
ムが起動され、終了マイクロ命令(以下ENDM命令と
称する)が実行されるまでの一連のマイクロ命令を、マ
イクロルーチンと呼ぶ。
一つの命令処理を行うために用意される。
処理を行うためにも用いられる。
す)211は、ENDM命令の実行を検知してMPC
201の実行開始アドレスとして、1)DU102によ
る命令デコード結果により決定されるSTRTV、2)
マスカブル割込みの処理マイクロルーチンに対応した定
数MIV、3)ノンマスカブル割込みの処理マイクロル
ーチンに対応した定数NIV、のそれぞれをセットする
ためのINSS,MIS,NIS信号を発生する。各信
号は、排他的にアクティブとなる。
込み要求信号NIRQ、およびマスカブル割込み要求信
号MIRQが入力され、NIRQ信号が発生していれば
NIS信号が、NIRQ信号が発生しておらずMIRQ
信号が発生していればMIS信号が、NIRQ,MIR
Q信号がともに発生していなければINSS信号が発生
する。このように、マスカブル割込みとノンマスカブル
割込みが同時に要求された場合、先にノンマスカブル割
込み要求を受け付け、ノンマスカブル割込みが優先的に
処理される。
マスカブル割込み要求は、ノンマスカブル割込み要求ラ
ッチ(以下NIRと略す)204で立ち下がり変化が検
出されてラッチされる。NIR 204にラッチされた
ノンマスカブル割込み要求は、ノンマスカブル割込み処
理用のマイクロルーチン中の特定のマイクロ命令の実行
によりクリアされる。NIR 204の出力は、PSW
131中のNPフラグがノンマスカブル割込み処理中
であることを示していれば、2入力ANDゲート205
によって、NIRQ出力の発生がマスクされる。
割込み要求は、2入力ANDゲート206によりマスク
された上で、マスカブル割込み要求ラッチ(以下MIF
Fと略す)210のセット入力に接続され、リセット入
力がアクティブでなければMIFF 210をセット
し、MIRQ信号を発生する。
プ・フロップであり、3入力ORゲート212によりP
SW 131中のNP,EP,IDフラグのいずれかが
セットされていることを検知すれば、セット入力の状態
にかかわらずリセットされる。このように、ノンマスカ
ブル割込み処理中、例外処理中、あるいはマスカブル割
込みが禁止されている状態ではMIRQ信号はインアク
ティブ状態になる。
は、インバータ207を介して4ビット加算器(以下A
DDと略す)209の桁上げ(=キャリ)出力信号CY
に接続され、ADD 209がキャリを発生するとIN
T端子123へのマスカブル割込みはマスクされる。A
DD 209はINTV3(−)−INTV0(−)端
子124に入力される負論理の4ビット割込み要求レベ
ル(not(IR_level))と、PSW 131
中の4ビット割込み許可レベル(I3/I2/I1/I
0=IE_level)を加算し、キャリ出力信号CY
により、IR_level≧IE_levelまたはI
R_level<IE_levelであることを検知す
る。
t(IR_level)+IE_levle>15(=
1111b)の時に発生する。not(IR_leve
l)=−IR_level−1と等価であるから、この
式はIE_level−IR_level>16(=1
0000b)と変換できる。4ビット出力で“16”は
表現できず“0”と等価であるため右辺は0とすると、
結局キャリ出力信号CYはIE_level>IR_l
evelの時に発生することになる。すなわち、IR_
level≧IE_levelの場合にINT端子12
3への入力が2入力ANDゲートを通過し、IR_le
vel<IE_levelの場合にはマスクされる。
略す)213、割込みレベル検出器(以下IVDと略
す)214、2入力4ビット・マルチプレクサ(以下M
PX)215は、受け付けたマスカブル割込み要求より
も1高いレベルをPSW131中の4ビット割込み許可
レベルに設定するための機能を供する。INT端子12
4から通知されインバータ208で正論理に変換された
マスカブル割込みレベル(IR_level)は、IV
R信号を介してINC 213およびIVD 214に
接続される。
1を生成するが、IR_levelが最高レベル(11
11b)である場合1インクリメントすると最低レベル
(0000b)が生成されてしまう。この不合理を避け
るために、IVD214はIR_levelが最高レベ
ル(1111b)であるかを検出し、そうであればMP
X 215に固定的に最高レベル(1111b)を出力
するように指示し、そうでなければINC 213のイ
ンクリメント結果を出力するように指示する。
許可レベルは、PSW 131中のI3/I2/I1/
I0フラグ141にストローブ信号IVSETの発生に
より設定される。IVSET信号は、特定のマイクロ命
令の実行により発生する。
ファ(以下IVBと略す)217を介し、リード信号I
VRRの発生によりID_busに出力される。IVB
217はID_busのビット4から接続され、IR
_levelがnであれば32ビット・データとして0
00000n0hがID_busに得られる。IVRR
信号はIR_levelを読み出す特定のマイクロ命令
の実行により発生する。
グ142は、3ビット同時にNISET信号またはMI
SET信号の発生により更新できる。NISET信号が
発生すると、1)NPフラグは1bにセットされノンマ
スカブル割込み処理を実行中であることを示し、2)E
Pフラグは直前の値が再セットされ現在の値を保持し、
3)IDフラグは1bにセットされマスカブル割込みを
禁止する。NISET信号は、ノンマスカブル割込み処
理用のマイクロルーチン中の特定のマイクロ命令の実行
により発生する。
ラグは直前の値が再セットされ現在の値を保持し、2)
EPフラグは1bにセットされマスカブル割込み処理を
実行中であることを示し、3)IDフラグは1bにセッ
トされマスカブル割込みを禁止する。MISET信号
は、マスカブル割込み処理用のマイクロルーチン中の特
定のマイクロ命令の実行により発生する。
バッファ(以下PSWBと略す)218を介し、リード
信号PSWRの発生によりID_busに出力される。
PSWR信号はPSW 131を読み出す特定のマイク
ロ命令の実行により発生する。
処理用のマイクロルーチンについて述べる。
ブル割込みの発生を検知すると、定数MIVを開始アド
レスとするマイクロルーチン(マスカブル割込み処理ル
ーチンと呼ぶ)が起動される。
103の各部、および他のユニットに対して次の処理を
行うような制御信号を発生する。
処理を行わないように指示する。
sを経由してEIPSW133に転送する。
し、I3/I2/I1/I0フラグ141およびNP,
EP,IDフラグ142を更新する。
の動作が停止したことを確認するまで待ち合わせ、PC
EU 113の値が確定するのを待つ。
(4ビット値nを持つ)をID_busを経由して00
0000n0hを得、定数fffffe00hと論理和
を取り、例外コードとしてfen0hをECR 132
中の下位16ビットのEICCフィールドに転送する。
usを経由してEIPC134に転送する。
ffffen0hを、ID_busを経由してPCIU
111,PCDU 112,PCEU 113に同時
に転送する。
するように指示する。他のユニットは、fffffen
0h番地への分岐命令が実行されたのと同様の動作を行
う。
令は、上記の動作を同時に複数指示できるように、複数
の独立したフィールド命令で構成することが良く知られ
ており、(1)〜(8)までの8つの処理をより少ない
クロック数(8クロック以下)で実行できる。
ル割込みの発生を検知すると、定数NIVを開始アドレ
スとするマイクロルーチン(ノンマスカブル割込み処理
ルーチンと呼ぶ)が起動される。ノンマスカブル割込み
処理ルーチンでは、EU103の各部、および他のユニ
ットに対して次の処理を行うような制御信号を発生す
る。
処理を行わないよいに指示する。
sを経由してFEPSW135に転送する。
P,IDフラグ142を更新する。さらに、NIR 2
04に保持されているノンマスカブル割込み要求をクリ
アする。
の動作が停止したことを確認するまで待ち合わせ、PC
EU 113の値が確定するのを待つ。
例外コードとしてffd0hをECR 132中の上位
16ビットのFECCフィールドに転送する。
usを経由してFEPC136に転送する。
d0hを、ID_busを経由してPCIU 111,
PCDU 112,PCEU 113に同時に転送す
る。
するように指示する。他のユニットは、ffffffd
0h番地への分岐命令が実行されたのと同様の動作を行
う。
ブル割込み、およびノンマスカブル割込みに対する処理
手順を図8(A),(B)にフローチャートに示す。
て、具体的な説明をする。
ると、PSW 131のI3/I2/I1/I0フラ
グ、NP,EP,IDフラグは、それぞれ0000b,
1b,0b,0bに初期化される。NPフラグを1bに
セットすることで、リセットをノンマスカブル割込みと
同様に優先順位の高い例外的処理にみせかけている。図
8(A)からもわかるように、この状態ではマスカブル
割込み要求は無視される。
み許可レベルをI3/I2/I1/I0フラグに設定す
るとともに、NPフラグをクリアする。いずれのレベル
のマスカブル割込み要求も受け付けたくない場合は、I
Dフラグをセットしてリセット処理を終了する。
辺装置の割込み要求と対応するものとし、I3/I2/
I1/I0フラグには1000bをセットするものと仮
定する。リセット処理後、レベル7(0111b)以下
の割込み要求に対しては、マイクロプロセッサ100は
これを無視してメイン・プログラムの実行を続ける。レ
ベル8(1000b)以上の割込み要求が発生すると、
マイクロプロセッサ100はこの要求を受け付け、メイ
ンプログラムの実行を中断する。
み要求されると、図8(A)に示すように1)中断した
メイン・プログラムを再開するためのPCEU 113
の値をEIPC 134に待避、2)PSW 131の
値をEIPSW 133に待避、3)ECR 132の
EICCにfea0hをセット、4)マスカブル割込み
処理中であることを示すためにEPフラグをセット、
5)多重にマスカブル割込み要求を受け付けないように
IDフラグをセット、6)より低位レベルのマスカブル
割込み要求を受け付けないようにI3/I2/I1/I
0フラグをレベル11(1011b)に更新した上で、
レベル10のマスカブル割込み要求に対応する固有の割
込み処理プログラム(以下int_proc10と称す
る)を実行するためにfffffea0h番地に分岐す
る一連の処理を行う。
0では、EP,IDフラグがセットされているためレベ
ル11以上のマスカブル割込み要求が発生しても無視さ
れるが、緊急度の高い処理が必要であればEP,IDフ
ラグをクリアすることもできる。さらに、特定以上のマ
スカブル割込み要求に対してのみ多重割込み処理が必要
であれば(たとえばレベル11は逐次化処理しても良い
が、レベル12以上は多重化処理するような場合)、I
3/I2/I1/I0フラグの値を自動的に更新した値
以上に再設定することも考えられる。
3,EIPC 134の内容を汎用レジスタまたは外部
メモリに待避し、高位レベルの割込み要求を受け付ける
ことによるこれらのレジスタ内容の破壊を避ける必要が
ある。
待避を行うため、他の処理による外部メモリとのデータ
転送が行われないようなタイミングを考慮し、データ転
送ネックを避けることができる。
て、具体的に説明する。
直後はNPフラグがセットされているため、この状態で
はノンマスカブル割込み要求は無視される。リセット処
理が終了する直前にNPフラグをクリアし、ノンマスカ
ブル割込み要求を受け付け可能なようにする。
ラムの実行中ノンマスカブル割込み要求が発生すると、
この要求を受け付け、メインプログラムの実行を中断す
る。
ン・プログラムを再開するためのPCEU 113の値
をFEPC 136に待避、2)PSW 131の値を
FEPSW 135に待避、3)ECR 132のFE
CCにffd0hをセット、4)ノンマスカブル割込み
処理中であることを示すためにNPフラグをセット、
5)マスカブル割込み要求を受け付けないようにIDフ
ラグをセットした上で、ノンマスカブル割込み要求に対
応する固有の割込み処理プログラム(以下nmi_pr
ocと称する)を実行するためにffffffd0h番
地に分岐する一連の処理を行う。
0では、NP,IDフラグがセットされているためレベ
ルの如何にかかわらずマスカブル割込み要求が発生して
も無視される。同様に多重のノンマスカブル割込み要求
も無視される。一般に、ノンマスカブル割込み要求は非
常に緊急度の高い処理を要求しているわけであり、多重
のマスカブル/ノンマスカブル割込み処理をサポートす
る必要がない。
ノンマスカブル割込み要求が発生した場合、マイクロプ
ロセッサ100は次のような多重処理を行う。前述の説
明と同様に、レベル10マスカブル割込み要求を受け付
けたことを前提とする。
けても、NPフラグは直前値と変化ないため、NPフラ
グがクリアされていればノンマスカブル割込み要求を受
け付ける。現在状態の待避のために、マスカブル割込み
ではEIPSW 133,EIPC 134を、ノンマ
スカブル割込みではFEPSW 135,FEPC13
6を使用するため、中断されるマスカブル割込み処理プ
ログラムに関する特別な状態待避は不要である。
カブル割込み要求が同時に発生した場合、MSEQ 2
11によりノンマスカブル割込み要求の受付を優先する
ように処理される。
で、外部回路を必要とせずに複数のマスカブル割込み要
求に対して、高速にしかもフレキシブルに応答できるマ
イクロプロセッサを実現できる。
対して高速なリアルタイム応答性を持つ、マイクロコン
ピュータ・システムの提供が可能になる。
の概要構成図である。
示す図である。
である。
ム図である。
システム図である。
図である。
マット図である。
マスカブル割込み処理を示すフローチャートである。
ンタ 112 命令デコード・ユニット用プログラム・カウ
ンタ 112 命令実行ユニット用プログラム・カウンタ 121 アドレス・バス端子 122 データ・バス端子 123 マスカブル割込み要求入力端子 124 マスカブル割込みレベル入力端子 125 ノンマスカブル割込み要求入力端子 126 クロック入力端子 131 プログラム・ステータス・ワード 132 例外要因レジスタ 133 マスカブル割込み/例外用PSW待避レジス
タ 134 マスカブル割込み/例外用プログラム・カウ
ンタ待避レジスタ 135 ノンマスカブル割込み/二重例外用PSW待
避レジスタ 136 ノンマスカブル割込み/二重例外用プログラ
ム・カウンタ待避レジスタ 141 I3/I2/I1/I0フラグ 142 NP,EP,IDフラグ 201 マイクロプログラム・カウンタ 202 マイクロ命令ROM 203 マイクロ命令デコーダ 204 ノンマスカブル割込み要求ラッチ 205,206 2入力ANDゲート 207,208 インバータ 209 4ビット加算器 210 マスカブル割込み要求ラッチ 211 マイクロプログラム・シーケンサ 212 3入力ORゲート 213 4ビット・インクリメンタ 214 マスカブル割込み要求レベル検出器 215 マルチプレクサ 217,218 リードバッファ 310,410,510 マイクロプロセッサ 320,420,520 外部メモリ 330,430,530 入出力装置 340 割込みコントローラ 311 プログラム・ステータス・ワード 312,412,512 プログラム・カウンタ 313 プログラム・セグメント・レジスタ 321,421 スタック領域 322 割込み処理プログラムの開始アドレス(オフ
セット値) 323 割込み処理プログラムの開始アドレス(ベー
ス値) 422 割込み処理プログラムの開始アドレス 411,511 ステータス・レジスタ 513 例外プログラム・カウンタ 514 原因レジスタ 521 割込みハンドラ 501 現在割込み許可フラグ 502 直前割込み許可フラグ 503 マスク・フラグ 504 例外コード・フィールド 505 保留割込みフィールド
Claims (2)
- 【請求項1】 プログラム・カウンタで示される命令を
逐次実行し、複数のマスカブル割込み要求を処理するマ
イクロプロセッサの割込み制御装置において、 外部から割込み要求を所定のコードで表現された当該割
込み要求の優先レベルとともに受ける受信手段と、割込
み許可レベルを示すコード,割込み要求を禁止するとき
立つ第1のフラグおよび割込み要求を処理中のとき立つ
第2のフラグを含むプログラムステータスワードと、前
記複数のマスカブル割込みに共通して実行されるマスカ
ブル割込み処理ルーチンを含んだ記憶手段と、前記優先
レベルと前記割込み許可レベルとを比較して前記優先レ
ベルが前記割込み許可レベル未満のときまたは前記第1
のフラグおよび前記第2のフラグのいずれかが立ってい
るときに前記割込み要求をインアクティブ状態とする比
較手段と、前記比較手段を通過した前記割込み要求がア
クティブ状態のとき前記マスカブル割込み処理ルーチン
を起動する起動手段と、前記プログラムステータスワー
ドを待避する第1の待避手段と、前記プログラム・カウ
ンタを待避する第2の待避手段と、前記優先レベルの所
定のコードを新たな割込み許可レベルを示すコードに変
換して前記プログラムステータスワードに保持する割込
み許可レベル設定手段と、前記優先レベルの所定のコー
ドを含んだアドレス値を生成して前記プログラム・カウ
ンタに転送するアドレス生成手段とを有するマイクロプ
ロセッサの割込み制御装置であって、 前記マスカブル割込み処理ルーチンは、起動すると、前
記第1および第2の待避手段を動作させ、前記プログラ
ムステータスワードの前記第1および第2のフラグを立
たせ、前記割込み許可レベル設定手段を動作させ、前記
アドレス生成手段を動作させて割込み処理プログラムの
実行を開始するものであり、外部から前記複数のマスカブル割込み要求より優先レベ
ルの高いノンマスカブル割込み要求を受ける第2の受信
手段と、前記プログラムステータスワードを待避する第
3の待避手段と、前記プログラム・カウンタを待避する
第4の待避手段とをさらに有し、前記プログラムステー
タスワードはノンマスカブル割込み要求を受け付けたと
き立つ第3のフラグをさらに含み、前記第3のフラグが
立っているときに前記ノンマスカブル割込み要求をイン
アクティブ状態とするマスク手段を さらに有し、前記記
憶手段は前記ノンマスカブル割込みに対応して実行され
るノンマスカブル割込み処理ルーチンをさらに含み、前
記起動手段は前記マスク手段を通過した前記ノンマスカ
ブル割込み要求がアクティブ状態のとき前記ノンマスカ
ブル割込み処理ルーチンを起動し、前記ノンマスカブル
割込み処理ルーチンは、起動すると、前記第3および第
4の待避手段を動作させ、前記プログラムステータスワ
ードの第1および第3のフラグを立たせ、所定のアドレ
スを前記プログラムカウンタに転送してノンマスカブル
割込み処理プログラムの実行を開始することを特徴とす
る マイクロプロセッサの割込み制御装置。 - 【請求項2】 前記第1および第3の待避手段は、前記
プログラムステータスワードをそれぞれ第1および第2
のレジスタへと待避し、前記第2および第4の待避手段
は、前記プログラム・カウンタをそれぞれ第3および第
4のレジスタへと待避することを特徴とする請求項1記
載のマイクロプロセッサの割込み制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22555791A JP3176093B2 (ja) | 1991-09-05 | 1991-09-05 | マイクロプロセッサの割込み制御装置 |
US07/940,924 US5349667A (en) | 1991-09-05 | 1992-09-08 | Interrupt control system for microprocessor for handling a plurality of maskable interrupt requests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22555791A JP3176093B2 (ja) | 1991-09-05 | 1991-09-05 | マイクロプロセッサの割込み制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0561692A JPH0561692A (ja) | 1993-03-12 |
JP3176093B2 true JP3176093B2 (ja) | 2001-06-11 |
Family
ID=16831164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22555791A Expired - Lifetime JP3176093B2 (ja) | 1991-09-05 | 1991-09-05 | マイクロプロセッサの割込み制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5349667A (ja) |
JP (1) | JP3176093B2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | Nat Semiconductor Corp | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
JP3171925B2 (ja) * | 1992-04-30 | 2001-06-04 | 株式会社日立製作所 | データ処理装置 |
US5412782A (en) | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5530874A (en) * | 1993-02-02 | 1996-06-25 | 3Com Corporation | Network adapter with an indication signal mask and an interrupt signal mask |
US5652837A (en) * | 1993-03-22 | 1997-07-29 | Digital Equipment Corporation | Mechanism for screening commands issued over a communications bus for selective execution by a processor |
EP0621535B1 (en) * | 1993-04-23 | 2000-03-15 | Advanced Micro Devices, Inc. | Interrupt handling |
JPH0713772A (ja) * | 1993-06-29 | 1995-01-17 | Mitsubishi Electric Corp | データ処理装置 |
US5894577A (en) * | 1993-09-22 | 1999-04-13 | Advanced Micro Devices, Inc. | Interrupt controller with external in-service indication for power management within a computer system |
US5745770A (en) * | 1993-12-27 | 1998-04-28 | Intel Corporation | Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor |
DE4406094C2 (de) * | 1994-02-25 | 2000-04-13 | Lp Elektronik Gmbh | Vorrichtung zum Betrieb einer Steuerungsanwendung |
JP3672634B2 (ja) * | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
US5623685A (en) * | 1994-12-01 | 1997-04-22 | Cray Research, Inc. | Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency |
US6012135A (en) * | 1994-12-01 | 2000-01-04 | Cray Research, Inc. | Computer having multiple address ports, each having logical address translation with base and limit memory management |
FR2737590B1 (fr) * | 1995-08-03 | 1997-10-17 | Sgs Thomson Microelectronics | Dispositif de gestion d'interruptions |
DE19700397C1 (de) * | 1997-01-08 | 1998-04-23 | Sgs Thomson Microelectronics | Schutzschaltung für programmgesteuerte elektrische Einrichtungen |
US6108756A (en) * | 1997-01-17 | 2000-08-22 | Integrated Device Technology, Inc. | Semaphore enhancement to allow bank selection of a shared resource memory device |
US6212607B1 (en) | 1997-01-17 | 2001-04-03 | Integrated Device Technology, Inc. | Multi-ported memory architecture using single-ported RAM |
US5751638A (en) * | 1997-01-17 | 1998-05-12 | Integrated Device Technology, Inc. | Mail-box design for non-blocking communication across ports of a multi-port device |
JP3699806B2 (ja) * | 1997-06-20 | 2005-09-28 | 株式会社東芝 | 割込みコントローラ及び制御システム |
US6170033B1 (en) * | 1997-09-30 | 2001-01-02 | Intel Corporation | Forwarding causes of non-maskable interrupts to the interrupt handler |
US6286346B1 (en) * | 1998-04-30 | 2001-09-11 | Medtronic, Inc. | Interruptable multiply and/or divide operations for use with an interrupt in a medical device processor |
US6496902B1 (en) | 1998-12-31 | 2002-12-17 | Cray Inc. | Vector and scalar data cache for a vector multiprocessor |
US6647440B1 (en) | 1999-09-15 | 2003-11-11 | Koninklijke Philips Electronics N.V. | End-of-message handling and interrupt generation in a CAN module providing hardware assembly of multi-frame CAN messages |
JP2002374257A (ja) * | 2001-06-18 | 2002-12-26 | Canon Inc | パケット通信装置、パケット通信制御方法およびプログラム |
US6895460B2 (en) * | 2002-07-19 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Synchronization of asynchronous emulated interrupts |
US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7064915B1 (en) | 2003-03-10 | 2006-06-20 | Marvell International Ltd. | Method and system for collecting servo field data from programmable devices in embedded disk controllers |
US7099963B2 (en) * | 2003-03-10 | 2006-08-29 | Qlogic Corporation | Method and system for monitoring embedded disk controller components |
US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
US7080188B2 (en) | 2003-03-10 | 2006-07-18 | Marvell International Ltd. | Method and system for embedded disk controllers |
JP2005316599A (ja) * | 2004-04-27 | 2005-11-10 | Matsushita Electric Ind Co Ltd | 割込制御装置 |
US7738768B1 (en) | 2005-12-16 | 2010-06-15 | The Directv Group, Inc. | Method and apparatus for increasing the quality of service for digital video services for mobile reception |
DE102008010233A1 (de) | 2008-02-21 | 2009-08-27 | Robert Bosch Gmbh | Anordnung zur Überprüfung eines Programmspeichers einer Recheneinheit |
JP5718600B2 (ja) * | 2010-09-10 | 2015-05-13 | 日本電気通信システム株式会社 | 情報処理システム、および、情報処理方法 |
US9740644B2 (en) * | 2014-09-26 | 2017-08-22 | Intel Corporation | Avoiding premature enabling of nonmaskable interrupts when returning from exceptions |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4023143A (en) * | 1975-10-28 | 1977-05-10 | Cincinnati Milacron Inc. | Fixed priority interrupt control circuit |
JPS5275946A (en) * | 1975-12-22 | 1977-06-25 | Hitachi Ltd | Microprogram control equipment |
JPS5454548A (en) * | 1977-10-08 | 1979-04-28 | Fujitsu Ltd | Central processing unit in information processing system for mocroprogram control |
US4200912A (en) * | 1978-07-31 | 1980-04-29 | Motorola, Inc. | Processor interrupt system |
JPS55123736A (en) * | 1979-03-16 | 1980-09-24 | Hitachi Ltd | Interrupt control system |
US4349873A (en) * | 1980-04-02 | 1982-09-14 | Motorola, Inc. | Microprocessor interrupt processing |
US4631659A (en) * | 1984-03-08 | 1986-12-23 | Texas Instruments Incorporated | Memory interface with automatic delay state |
US4648029A (en) * | 1984-08-27 | 1987-03-03 | International Business Machines Corporation | Multiplexed interrupt/DMA request arbitration apparatus and method |
US4972312A (en) * | 1985-11-04 | 1990-11-20 | U.S. Philips Corporation | Multiprocess computer and method for operating same having context switching in response to a peripheral interrupt |
JPS62205441A (ja) * | 1986-03-05 | 1987-09-10 | Nec Corp | マイクロコンピユ−タ |
JPH0193837A (ja) * | 1987-10-05 | 1989-04-12 | Nec Corp | デバッグ用マイクロプロセッサ |
JP2594600B2 (ja) * | 1988-02-23 | 1997-03-26 | 日本電気株式会社 | シングルチップマイクロコンピュータ |
-
1991
- 1991-09-05 JP JP22555791A patent/JP3176093B2/ja not_active Expired - Lifetime
-
1992
- 1992-09-08 US US07/940,924 patent/US5349667A/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
インターフェース、1987年6月号,P.215〜217 |
Also Published As
Publication number | Publication date |
---|---|
JPH0561692A (ja) | 1993-03-12 |
US5349667A (en) | 1994-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3176093B2 (ja) | マイクロプロセッサの割込み制御装置 | |
EP0464615A2 (en) | Microcomputer equipped with DMA controller | |
US5471620A (en) | Data processor with means for separately receiving and processing different types of interrupts | |
JPH07129413A (ja) | 割込み処理装置 | |
JPS61204758A (ja) | コ・プロセツサ制御方式 | |
JPS63261449A (ja) | デ−タ処理装置 | |
US4764869A (en) | Method and apparatus for controlling interruption in the course of instruction execution in a processor | |
US5680598A (en) | Millicode extended memory addressing using operand access control register to control extended address concatenation | |
EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
US4991130A (en) | Normalization control system for floating point arithmetic operation | |
EP0933705B1 (en) | Data processor with robust interrupt branching and method of operation | |
JP2694948B2 (ja) | マイクロプログラム処理装置 | |
JPH04333141A (ja) | 情報処理装置 | |
EP0573071A2 (en) | A microprocessor | |
US20050216708A1 (en) | Processor for performing context switching, a method for performing context switching, a computer program for perform context switching | |
JPH0377137A (ja) | 情報処理装置 | |
US5987559A (en) | Data processor with protected non-maskable interrupt | |
JP2503210B2 (ja) | マイクロプログラム制御装置 | |
JP2871171B2 (ja) | マイクロコンピュータ | |
JPH05250161A (ja) | マイクロコンピュータ装置 | |
JPH0635716A (ja) | マイクロプロセッサ | |
JPS6393065A (ja) | コ・プロセツサid変換方式 | |
JPH03164945A (ja) | データ処理装置 | |
JPS58115559A (ja) | プログラム暴走検出回路 | |
JPH0659921A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080406 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090406 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100406 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110406 Year of fee payment: 10 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110406 Year of fee payment: 10 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 11 |