JPH11288378A - マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ - Google Patents

マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ

Info

Publication number
JPH11288378A
JPH11288378A JP11062118A JP6211899A JPH11288378A JP H11288378 A JPH11288378 A JP H11288378A JP 11062118 A JP11062118 A JP 11062118A JP 6211899 A JP6211899 A JP 6211899A JP H11288378 A JPH11288378 A JP H11288378A
Authority
JP
Japan
Prior art keywords
interrupt
data processor
memory
instruction
nmi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11062118A
Other languages
English (en)
Inventor
Nat Sesham
セスハン ナト
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH11288378A publication Critical patent/JPH11288378A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining

Landscapes

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

Abstract

(57)【要約】 【課題】 データプロセッサにおいて、マスク不可能イ
ンターラプト(NMI)により最高位優先度インターラ
プトであるリセットインターラプトのサービスルーチン
が中断されないようにする。 【解決手段】 NMIのためのイネーブルフィールドを
含み、リセットに対してサービスを行なう時にこのフィ
ールドを自動的にクリアし、データプロセッサのユーザ
が後のNMIをイネーブルにするためにそのフィールド
を設定状態にすることはできるが、自分でNMIをクリ
アすることはできないように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータプロセッサに
関し、より詳細には、インタラプトに応答するメカニズ
ムに関する。
【0002】
【従来の技術】データプロセッサは所望の機能を行なう
一連の個別の命令を実行することによってプログラムを
処理する。各個別の命令の実行は幾つかの別々のステッ
プあるいはステージを含んでいる。各命令はメモリから
命令を取り出すステップ、取り出された命令を解読する
ステップ、および解読された命令を実行するステップに
切り離されることができる。他のステップも可能であ
る。一般的に、先端的なデータプロセッサは、幾つかの
命令が所定の時間でデータプロセッサにおいて「インフ
ライト(in flight)」の状態となることがで
きるように各ステージに対して専用のロジックを含んで
いる。データプロセッサの異なった部分は命令を次のス
テージに転送する前に典型的には1クロックサイクルの
間で異なった命令を処理する。この設計法はパイプライ
ン方式として知られている。データプロセッサのマイク
ロアーキテクチャ、クロックサイクル長、ロジックの複
雑性およびデータプロセッサへのメモリの集積度といっ
たファクタは各ステージの数および長さに影響してしま
う。
【0003】データプロセッサによる命令の規則的な実
行は時間的に中断される必要がある。例えば、モデムと
かハードディスクドライブのような入力/出力(I/
O)装置はデータブロセッサによって処理されなければ
ならないデータを用意状態にしておくことができる。同
様に、ユーザはキーボードでキーを押すことができる。
このような状況を取り扱うために、データプロセッサに
はインターラプト能力が備わっている。
【0004】今日まで数多くのインターラプト方式が考
案されている。典型的に、データプロセッサへの幾つか
の入力(外部的にあるいは内部的に発生された)はイン
ターラプト信号形成に専用される。各信号は個々の起こ
り得るインターラプトに対応する。装置あるいはプロセ
スがサービスを必要とする時には、その装置あるいはプ
ロセスはそのインターラプトラインを表明する。次い
で、データプロセッサはその通常のルーチンの実行を停
止し、インターラプトに対してサービスを行なう一連の
命令に分岐する。インターラプトサービスルーチンの開
始アドレスがこの目的のためアクセス可能な記憶位置に
記憶されている。例えば、キーボードがインターラプト
を発生する場合には、データプロセッサはキーボードイ
ンターラプトラインに対応する記憶値を読み出し、その
アドレスで開始する命令に分岐する。これらインターラ
プトサービスルーチン命令は押されたキーをそのデータ
バスで読み出し、値をメモリにロードすることができ
る。インターラプトの後に、データプロセッサはインタ
ーラプトが生じなかった場合に実行されたであろう次の
命令に戻る。
【0005】インターラプトの処理はそれらの数および
それらのフレキシビリティで複雑になる。往々単一のデ
ータプロセッサには幾つかの種類のインターラプトがあ
る。インターラプトの各種類には他の各種類に関してあ
る重要さが与えられる。そして、1つの種類に1つ以上
のインターラプトがある場合には、種類番号が互いに関
してランク付けされる。従って、高位の優先順位のイン
ターラプトが低位のインターラプトに割込むことが可能
である。また、あるインターラプトは「マスク可能」で
ある。マスクされると、インターラプトに対してデータ
プロセッサは機能を行なわない。しかしながら、マスク
されたインターラプトは後のサンプリングあるいは「ポ
ーリング」のためデータプロセッサにより支配されてい
る必要がある。
【0006】インターラプト方式のこれらおよび他の特
徴は、表明されかつ全くマスクされていない最も重要な
インターラプトである各サイクルをデータプロセッサが
決定することを要求する。データプロセッサが正しいイ
ンターラプトを決定した後、それが分岐すべき正しいア
ドレスを決定する必要がある。最終的に、データプロセ
ッサは適切なアドレスの命令を取出し始めることができ
る。この結果、インターラプトに対すサービスを行なう
には極めて大きなプロセッサ時間を要することになる。
同時に、データプロセッサは第2のインターラプトの可
能性を考える必要がある。この可能性は通常複雑な制御
回路を必要とする。インターラプトの処理時間を減少す
ると共にそれらの制御回路の複雑化を押えることが、そ
れらの融通性を維持した状態で、所望される。
【0007】
【発明が解決しようとする課題】発明が解決しようとす
る課題は、データプロセッサにおいて、マスク不可能イ
ンターラプト(NMI)により最高位優先度のインター
ラプトであるリセットインターラプトのサービスルーチ
ンが中断されないようにする。
【0008】
【課題を解決するための手段】本発明はマイクロプロセ
ッサのためにインターラプトメカニズムを与える方法を
提供する。第1のフィールドを有する制御レジスタは第
1の状態のみに対してユーザ書込みが可能である。制御
回路は第1および第2のインターラプト信号に応じてイ
ンターラプトサービスルーチンの実行を行なわせる。制
御回路はまた第1のインターラプトに対するインターラ
プトサービスルーチンの実行時に制御レジスタに第2の
状態を書き込む。この制御レジスタが第1の状態に等し
い値を含む場合に第2のインターラプトサービスルーチ
ンを実行する。
【0009】
【発明の実施の形態】本発明の特徴および長所は、同様
の参照番号が同様および対応する要素を表す添付図面に
関連して以下の詳細な記載を読めばより明確に理解する
ことができる。
【0010】図1は本発明が実現されているデータプロ
セッサ100のブロック図である。データプロセッサ1
00は、パイプライン化した動作と集積化メモリおよび
周辺装置を備えた多重実行ユニットへのスーパースカラ
命令ディスパッチとを組み込んでいる先端的な電子装置
である。これらの機能は通常の動作時に命令スループッ
トを向上する。更にまた、データプロセッサ100は非
通常動作時のインターラプトの処理を加速するために非
常に複雑なインターラプト手法を組み入れている。デー
タプロセッサ100はリセットインターラプト、マスク
不可能インターラプト(NMI)および多数のマスク可
能インターラプト(MI〜MI15)をサポートす
る。
【0011】NMIは第2の最高位優先度のインターラ
プトである。通常、NMIはマスク可能ではない。NM
Iがある装置あるいはプロセスにより表明されると、デ
ータプロセッサ100はその動作を停止して、NMIサ
ービスルーチンに分岐する。通常、これはマスク不可能
インターラプトの目的である。しかしながら、この中断
は、データプロセッサ100がリセットインターラプト
を既に処理している場合には好ましくないものとなって
しまう。この場合に、リセット処理を一時停止すること
は好ましくない。逆に、データプロセッサ100のユー
ザがNMIをマスクすることができるようにすることは
好ましくない。ユーザがNMIをマスクできたとした
ら、ユーザは不注意にもNMIをマスクしてしまう恐れ
がある(それをしてしまっては不適切な時に)。本発明
の1つの特徴によれば、データプロセッサ100はそれ
がリセットインターラプトを処理する時にNMIを自動
的に「マスク」する。次いで、ユーザはNMIをマスク
解除してリセットルーチンの間にあるいはその後すなわ
ちリセットルーチンの後にNMI処理ができるようにす
る。しかしながら、ユーザは自分でNMIをマスクする
ことはできない。この手法により、NMIインターラプ
トはリセットルーチンを中断せず、それが不用意に無能
化されることはない。
【0012】図1に戻ると、データプロセッサ100は
中央処理ユニットすなわちコア102と、プログラムメ
モリ104と、データメモリ106と、メモリ周辺装置
108と、他の周辺装置110とを含んでいる。コア1
02はバス112によってプログラムメモリ104に、
バス114および116によってデータメモリ106
に、そしてバス118によって他の周辺装置110に双
方向的に接続されている。メモリ周辺装置108はバス
120によってプログラムメモリ104に、バス122
によってデータメモリ106に、そしてバス124によ
って他の周辺装置110に双方向的に接続されている。
メモリ周辺装置108はバス126によって外部装置に
接続されている。同様に、他の周辺装置110はバス1
28によって外部装置に接続されている。
【0013】コア102はプログラムフェッチロジック
130、命令ディスパッチロジック132、命令デコー
ドロジック134およびデータパスロジック136を含
んでいる。プログラムフェッチロジック130はバス1
12によりによってプログラムメモリ104に、また接
続(図示せず)によって命令ディスパッチロジック13
2に接続されている。同様に、命令ディスパッチロジッ
ク132は命令デコードロジック134に接続され、命
令デコードロジック134はデータパスロジック136
に接続されている。データパスロジック136は第1の
レジスタファイル138と、4つの実行ユニットすなわ
ち単純な演算論理ユニット(ALU)140、複雑なA
LU142、乗算ユニット144およびロード/記憶ユ
ニット146とを含んでいる。レジスタファイル138
および実行ユニット140から146はセットとして動
作し、記号Aを付して示されている。レジスタ138は
実行ユニット140から146のそれぞれと双方向的に
接続されている。データパスロジック136は、また、
第2のレジスタファイル148と、4つの実行ユニット
すなわち単純な演算論理ユニット(ALU)150、複
雑なALU152、乗算ユニット154およびロード/
記憶ユニット156とを含んでいる。レジスタファイル
148および実行ユニット150から156はセットと
して動作し、記号Bを付して示されている。レジスタ1
48は実行ユニット150から156のそれぞれと双方
向的に接続されている。ロード/記憶ユニットAおよび
ロード/記憶ユニットBは、また、レジスタファイルB
およびレジスタファイルAにそれぞれ双方向的に接続さ
れている。コア102は、また、制御レジスタ158お
よび制御ロジック160の組を含んでいる。制御レジス
タ158および制御ロジック160はコア102の残り
の回路に接続されている。
【0014】プログラムメモリ104およびデータメモ
リ106は、例えば、静的ランダムアクセスメモリ(S
RAM)、動的ランダムアクセスメモリ(DRAM)、
読出し専用メモリ(ROM)、消去可能プログラマブル
読出し専用メモリ(EPROM)といった、データプロ
セッサ100が使用のために意図されている特定のアピ
リケーションによって要求される幾つかのメモリ技術の
ものの1つあるいはそれ以上で実現されてもよい。
【0015】メモリ周辺装置126は直接メモリアクセ
ス(DMA)装置と外部メモリインターフェースとを含
んでいる。コア102によってプログラムされると、D
MA装置は大ブロックのデータを外部メモリシステム
(図示せず)とデータメモリ106との間で自動的に転
送することができる。外部メモリインターフェースは
(1)プログラムメモリ104、データメモリ106お
よびDMA装置と(2)外部メモリシステムとの間での
メモリ転送を調節する。メモリ周辺装置126は他のメ
モリ関連装置を含んでもよい。
【0016】他の周辺装置110はタイマー、直列ポー
ト、および特定のアピリケーションによって要求される
ような他の周辺装置を含んでいる。
【0017】データプロセッサ100の一般的な動作は
図2に関連して以下に説明される。データプロセッサ1
00のインターラプト動作は図3から図13に関連して
後に説明される。インターラプトポーリングは図14に
関連して後に説明される。
【0018】一般的動作 図2は図1で示されたデータプロセッサ100によって
実行される命令のタイミング図を示す。上述のように、
データプロセッサ100はパイプライン接続したスーパ
ースカラ装置である。パイプライン接続装置において、
命令は組み立てラインを通る自動車のように種々のステ
ージを通って逐次的に流れる。理想的には、各ステージ
は実行の異なった段階での異なった命令を含んでいる。
スーパースカラ装置において、各ステージは2つあるい
はそれ以上の命令を含んでいる。命令の相互依存性は任
意のステージで同時に処理される命令の数を最大量より
も少なく制限してしまう。ここで説明されている実施例
において、命令の実行は3つのステージ、すなわちフェ
ッチ、デコードおよび実行に分離される。フェッチステ
ージにおいて、データプロセッサ100は実行のための
各命令あるいは命令群をメモリ記憶システムから取り出
す。フェッチステージは4つの相、すなわちプログラム
発生(PG)、プログラム送出(PS)、プログラム待
機(PW)およびプログラム用意(PR)に分割され
る。デコードステージにおいて、データプロセッサ10
0は各命令を正しい実行ユニットに経路決めする。デコ
ードステージは2つの相、すなわちディスパッチ(D
P)およびデコード(DC)に分割される。実行ステー
ジにおいて、データプロセッサ100は命令オプコード
で指定されているように各命令を操作する。データプロ
セッサ100は実行される命令のオペランドとしてレジ
スタフィールド138および148からの値を使用す
る。実行ユニット140から146および150から1
56はそれらの名称で表されているように特定の種類の
命令を実行する。単純なALU140および150はシ
フト動作を除く全ての論理機能を実行する。複雑なAL
U142および152はシフト動作を含む全ての論理機
能を実行する。乗算ユニット144および154は乗算
命令を実行する。ロード/記憶ユニット146および1
56はメモリ転送動作と、アドレス決定モードに関連し
たある論理命令とを実行する。実行ステージは5つの相
E1からE5に分割される。
【0019】フェッチステージ プログラム発生(PG)相 PG相の間に、プログラムフェッチロジック130は実
行する次の命令のアドレスを計算する。制御レジスタ群
158の1つの制御レジスタがこのアドレスのために保
持されている。通常プログラムフェッチロジック130
はこのレジスタの内容を各サイクルで32だけ進める。
(ここで説明している実施例は各サイクルで8つの4バ
イト命令を取り出す)。他の時間で、新たな命令ストリ
ームに分岐するかあるいはインターラプトサービスルー
チンを取り出すため他の値がレジスタに入力されてもよ
い。
【0020】プログラム送出(PS)相 PS相の間に、プログラムフェッチロジック130はP
G相で計算されたアドレスをプログラムメモリ104に
送出する。
【0021】プログラム待機(PW)相 PW相の間に、プログラムメモリ104はPS相で要求
されたデータをアクセスする。ここで説明している実施
例において、プログラムメモリ104はより大きな外部
メモリシステム(図示せず)に含まれているメモリ値の
サブセットを含んでいる。プログラムメモリ104は後
の迅速なアクセスのため新しく使用されたデータメモリ
を「キャッシュ」する。プログラムメモリ104が要求
された命令を含む場合には、次の相でそれら命令をプロ
グラムフェッチロジック130に送出する。プログラム
メモリ104が要求されたデータを含まない場合には、
プログラムメモリ104はデータを外部メモリシステム
からメモリ周辺装置108を介して取り出す必要があ
る。この場合に、データプロセッサ100は、外部メモ
リシステムがデータをプログラムメモリ104に戻す間
に全ての動作を一時停止する。
【0022】プログラム用意(PR)相 プログラム用意相の間に、プログラムメモリ104はP
G相で計算されたアドレスで開始する8つの命令(フェ
ッチパケット)をコア102に戻す。
【0023】デコードステージ ディスパッチ(DP)相 DP相の間に、命令ディスパッチロジック132は、同
一のサイクルで8つの命令のうちのどれほど多くが実行
され得るかを決定する。ここに説明されている実施例に
おいて、各命令はpビットフィールドを含んでおり、こ
れは後続の命令が並列的に実行され得るかどうかを指示
する。命令デコードロジック134はフェッチパケット
を1つあるいはそれ以上の実行パケットに切り離す。実
行パケットは並列的に実行され得る一群の命令である。
他の実施例においては、各フェッチパケットを1つある
いはそれ以上の実行パケットに切り離すプロセスはコア
102でpビットを使用せずに行なわれ得る。
【0024】デコード(DC)相 DC相の間に、命令デコードロジック134は現在の実
行パケットの命令を適切な命令ユニットに経路決めす
る。ここに説明されている実施例において、各命令は宛
先フィールドを含んでおり、これはその宛先実行ユニッ
トを指示する。他の実施例において、各命令を正しい実
行ユニットに向けるプロセスはコアユニット102によ
り宛先フィールドを使用せずに行なわれ得る。
【0025】実行ステージ E1相 E1相の間に、全ての命令のための条件が評価され、オ
ペランドが読み出される。ここに説明されている実施例
において、各命令は条件フィールドを含んでおり、これ
は試験を行なう1つの条件レジスタとこの条件レジスタ
に適用する特定の試験を指示する。条件レジスタに適用
される試験が正しい場合に、命令が実行される。そうで
なければ、命令は放棄され、以後の処理は不用となる。
他の命令は種々の条件レジスタに値を書き入れ、それに
より命令の実行を前の命令の結果とリンクすることがで
きるようになる。ロード/記録ユニット146および1
56はこの相でのそれらのメモリ宛先およびソースのア
ドレスを計算する。非乗算の結果、非ロード/記憶命令
がこの相で計算され、レジスタフィールド138および
148の宛先レジスタに書き込まれる。
【0026】E2相 E2相の間に、ロード/記憶ユニット146および15
6はそれらのアドレスをデータメモリ106に送出す
る。乗算命令のような複雑な命令は終了し、それらの結
果をレジスタフィールド138および148に書き戻
す。全ての命令がE2相を必要とする訳ではない。
【0027】E3相 E3相の間に、データメモリ106はロード/記憶ユニ
ット146および156によって指定されたメモリアク
セスを行なう。ここに説明されている実施例において、
データメモリ106はより大きな外部メモリシステムに
含まれているメモリ値のサブセットを含んでいる。デー
タメモリ106は後の迅速なアクセスのため新しく用さ
れたデータメモリを「キャッシュ」する。データメモリ
106が要求されたデータを含む場合には、データメモ
リ106は高速に応答できる。データメモリ106に存
在するデータに対するロードの場合には、データメモリ
106はそれを後続のサイクルでロード/記憶ユニット
146あるいは156に送出する。データメモリ106
に存在するデータに対する記憶の場合には、データメモ
リ106はロード/記憶ユニット146からのデータを
適切なメモリ位置に記憶する。データメモリ106が要
求されたデータを含んでいない場合には、プログラムメ
モリ106はデータをメモリ周辺装置108を介して外
部メモリシステムから取り出す必要がある。この場合
に、データプロセッサ100は、外部メモリシステムが
データをデータメモリ106に戻す間に全ての動作を一
時停止する。全ての命令がE3相を必要とする訳ではな
い。
【0028】E4相 E4相の間に、ロード動作からのデータがあればこれは
ロード/記憶ユニット146あるいは156に入力され
る。全ての命令がE4相を必要とする訳ではない。
【0029】E5相 E5相の間に、ロード動作からのデータがあればこれは
レジスタファイル138および148のターゲットレジ
スタに記憶される。全ての命令がE5相を必要とする訳
ではない。
【0030】ここに説明されている実施例において、メ
モリ周辺装置108および他の周辺装置110はデータ
プロセッサ100のメモリ空間にマッピングされてい
る。例えば、DMA動作とタイマを始動するために、ロ
ード/記憶ユニット146あるいは156はこれら周辺
装置に関連したメモリアドレスに特定の値を書き込むた
めに使用される。次いで、周辺装置はこれら値をメモリ
転送のための開始アドレスとしてあるいはカウントダウ
ンを始める値として使用する。
【0031】インターラプト動作 データプロセッサ100のインターラプト動作はデータ
プロセッサ100の3つのアーキテクチャの特徴、すな
わち14のインターラプト信号、8つの制御レジスタお
よびインターラプトサービステーブル(IST)の相互
作用によって説明される。
【0032】インターラプト信号 データプロセッサ100はリセット、マスク不可能イン
ターラプト(NMI)、12のマスク可能インターラプ
ト(MI〜MI15)の3つの種類に分けられる14
までの個別のインターラプトをサポートする。これらの
インターラプトは必要に応じて外部あるいは内部装置と
関連付けられる。それぞれの相対優先度は表1で図式的
に表される。
【0033】
【表1】
【0034】リセットは最高位優先度のインターラプト
である。リセットはそれが表明されるとどのような処理
をも中断する。データプロセッサ100内でリセット
は、それが電力減の場合に「表明」されることができる
ようにアクティブ低信号となっている。
【0035】NMIは2番目に高位の優先度のインター
ラプトである。通常、NMIもマスク不可能である。N
MIがある装置あるいはプロセスによって表明される
と、データプロセッサ100はその動作を停止し、NM
Iサービスルーチンを行なう。データプロセッサ100
は、それがリセットインターラプトを処理する時にNM
Iを自動的に「マスク」する。しかしながら、ユーザは
自分でNMIをマスクすることはできない。ユーザはリ
セットサービスルーチンの間にあるいはその後にNMI
をマスク解除することができる。この方式はNMIがリ
セットサービスルーチンを中断しないようにする。NM
Iのマスク操作/マスク解除操作は図4および図10に
関連して後に説明される。
【0036】1つの種類としての12のマスク可能イン
ターラプトは最下位優先度のインターラプトである。イ
ンターラプトMI〜MI15はリセットインターラプ
トおよびNMIの両方にとっては下級のものである。他
のマスク可能インターラプトに関して、MIjはMI
15までMIj+1にとって上級である(ここで、jは
4から14までの範囲の整数の添数である)。MI
MI15のマスク操作/マスク解除操作は図4に関連し
て後に説明される。
【0037】制御レジスタ 図3から図8はインターラプト処理の際に使用される図
1に示されたデータプロセッサ100の種々の制御レジ
スタを図式的に表す。更に2つの他のレジスタ(図示せ
ず)がインターラプトの取り扱いに関与する。
【0038】制御ステータスレジスタ(CSR) 図3において、CSR300はインターラプトの取り扱
いに関連した2つのフィールド、すなわち大域インター
ラプトイネーブルビット(GIE、ビット0)および先
行大域インターラプトイネーブルビット(PGIE、ビ
ット1)を含んでいる。GIE=1の場合には、データ
プロセッサ100はMI〜MI15をラッチしてそれ
に対するサービスを行なう。(NMIE、低も設定され
る必要がある)。データプロセッサ100は図5に関連
して後に説明するようにインターラプトをインターラプ
トフラグレジスタにラッチする。GIE=0の場合に
は、データプロセッサはインターラプトをラッチする
が、それに対するサービスは行なわない。データプロセ
ッサはラッチされたインターラプトを時間的に後にポー
リングすることができる。インターラプトのポーリング
は図14に関連して後に説明される。データプロセッサ
100は、GIEがインターラプトルーチンに分岐する
時にそれをPGIEに自動的に記憶する。データプロセ
ッサ100はインターラプトを終了した後にPGIEを
GIEに自動的に戻す。
【0039】インターラプトイネーブルレジスタ(IE
R) 図4において、IER400は中断の取り扱いに関連し
た13の単一ビットフィールド、すなわちマスク不可能
インターラプトイネーブル(NMIE、ビット1)およ
びインターラプトイネーブル4〜インターラプトイネー
ブル15(IE4〜IE15、ビット4〜ビット15)
を含んでいる。NMI=1である場合には、データプロ
セッサ100はNMIをラッチしてそれに対してサービ
スを行なう。NMIE=0の場合には、データプロセッ
サ100はNMIをラッチするが、それに対するサービ
スは行なわない。データプロセッサ100がリセットイ
ンターラプトに対してサービスする時には、それはNM
IEを0に自動的に設定する。ユーザは自分でNMIE
をクリアすることはできない。ユーザはNMIインター
ラプトをイネーブル状態にするためにNMIEを設定す
ることができる。IEj=1の場合には、データプロセ
ッサ100はj番目のマスク可能インターラプトをラッ
チしてそれに対してサービスを行なう。(GIEも設定
される必要がある)。IEj=1の場合には、データプ
ロセッサ100はj番目のマスク可能インターラプトを
ラッチするが、それに対するサービスは行なわない。ユ
ーザはIEフィールドをクリアすることができ、かつI
ERに書き込みそれから読み出すことによってIEフィ
ールドを設定することができる。
【0040】インターラプトフラグレジスタ(IFR) 図5において、IFR500はインターラプトの取り扱
いに関連した13の単一ビットフィールド、すなわちマ
スク不可能インターラブトフラグ(NMF、ビット1)
およびインターラプトフラグ〜インターラプトフラグ
15(IF4〜IF15、ビット4〜15)を含んでい
る。全てのフィールドはリセット時に0に設定される。
インターラプトを受けると、データプロセッサ100は
1をそのインターラプトに対応するフィールドに自動的
にロードする。ユーザはNMIFおよびIFフィールド
を間接的にクリアしかつ設定することができる。IFフ
ィールドの設定およびクリア操作は図7および図8に関
連して後に説明される。
【0041】インターラプトサービステーブルポインタ
(ISTP) 図6において、ISTP600はインターラプトの取り
扱いに関連した2つのフィールド、すなわちインターラ
プトサービステーブルベースフィールド(ISTB、ビ
ット10〜31)および最高位優先度イネーブルインタ
ーラプトフィールド(HPEINT、ビット5〜9)を
含んでいる。両フィールドはリセットによってクリアさ
れる。ISTBフィールドはユーザがアクセス可能で、
全てのインターラプトサービスルーチンのためのベース
アドレスを定める。データプロセッサ100は各サイク
ルでHPEINTフィールドを自動的に計算する。HP
EINTはインターラプトポーリングを容易にするため
にユーザにより読出し可能である。HPEINTフィー
ルドは各サイクルで最高位優先度イネーブルインターラ
プトを識別する。ISTBおよびHPEINTフィール
ドの連結したものは各インターラプトサービスルーチン
が開始するバイトアドレスを識別する。ここで説明され
ている実施例において、データプロセッサ100は各イ
ンターラプトサービスルーチンに対して32バイトを割
当てる。従って、ISTPも5つの最小桁の0を含んで
いる。
【0042】インターラプト設定レジスタ(ISR) 図7において、ISR700はインターラプト取り扱い
に関連した12の単一ビットフィールド、すなわちイン
ターラプト設定フラグ〜インターラプト設定フラグ
15(IS4〜IS15、ビット4〜15)を含んでい
る。ユーザはこのレジスタに1つあるいはそれ以上の0
を書き込むことができる。次いで、データプロセッサ1
00は対応するインターラプトフラグフィールドに1を
書き込む。どのフィールドにも0を書き込むことは効果
を持たない。
【0043】インターラプトクリアレジスタ(ICR) 図8において、ICR800はインターラプト取り扱い
に関連した12の単一ビットフィールド、すなわちイン
ターラプトクリアフラグ〜インターラプトクリアフラ
15(IS4〜IS15、ビット4〜15)を含んで
いる。ユーザはこのレジスタに1つあるいはそれ以上の
1を書き込むことができる。次いで、データプロセッサ
100は対応するインターラプトフラグフィールドに0
を書き込む。どのフィールドにも0を書き込むことは効
果を持たない。
【0044】インターラプト復帰ポインタ(IRP) データプロセッサ100は、マスク可能インターラプト
のため実行されなかったプログラムの流れの最初の実行
パケットの32ビットアドレスでIRPを自動的にロー
ドする。ユーザもこのレジスタに書込みを行なうことが
できる。IRPを用いる分岐命令はこのマスク可能イン
ターラプトに対するサービスを行なうことに先立って前
のプログラムの流れに復帰する。
【0045】マスク不可能復帰ポインタ(NRP) データプロセッサ100は、NMIのため実行されなか
ったプログラムの流れの最初の実行パケットの32ビッ
トアドレスでNRPを自動的にロードする。ユーザもこ
のレジスタに書込みを行なうことができる。NRPを用
いる分岐命令はNMIに対するサービスを行なうことに
先立って前のプログラムの流れに復帰する。
【0046】インターラプトサービステーブル(IS
T) ISTはインターラプトサービスルーチンすなわちフェ
ッチパケットの規則的な記憶のためのメモリ構成であ
る。ISTは16の継続したメモリブロックから構成さ
れる。各インターラプトは適切なインターラプトサービ
スルーチンを記憶するためにこれらブロック(2つは予
約されている)の1つに割り当てられるかまたは1にリ
ンクされる。リセット後に、ISTはアドレス0で開始
する。その後、ユーザはISTPのISTBフィールド
に書込みを行なうことによってISTを再配置すること
ができる。この場合に、ISTはISTBフィールドと
10の最下位0の連結したものによって定められるメモ
リ位置で開始する。ここで説明されている実施例におい
て、メモリアドレスの長さは32ビットであり、IST
Bフィールドは22ビット長であり、32のインターラ
プトが5ビットHPEINTフィールドで与えられる
(16が予約されている)。従って、各ブロックは前の
ブロックの後2(32−22−5)すなわち2すなわ
ち32バイトで開始する。次の表2はインターラプトブ
ロックの順序および間隔を図式的に示す。全てのアドレ
スは16進フォーマットである。
【0047】
【表2】
【0048】ISTPに関連して上に記載したように、
データプロセッサ100は16のブロックのうちのどれ
がインターラプトの場合にISTPのHPEINTによ
り分岐するかを決定する。各サイクルで、データプロセ
ッサ100はどれが最高位優先度イネーブルインターラ
プトであるかを決定し、そのインターラプトの番号をH
PEINTフィールドに書き込む。ある特定のインター
ラプトに対して、ISTBフィールド、そのインターラ
プトによるHPEINTフィールドおよび5つの最下位
0の連結したものはその特定のインターラプトに割り当
てられたブロックの開始アドレスとなる。例えば、4番
目のマスク可能インターラプトが最高位イネーブルイン
ターラプトである場合に、データプロセッサ100はH
PEINTフィールドに4つの0 0010bを書き込
む。5つの最下位0と連結された2進4は00 010
0 0000bすなわち080hとなる。
【0049】図9は図1に示されたデータプロセッサ1
00の動作の1つの特徴の流れ図900を示す。各サイ
クルで、データプロセッサ100は図9に示されたステ
ップを実行する。最初に、データプロセッサ100はリ
セットが表明されているかどうかを決定する(ステップ
902)。リセットが表明されていれば、データプロセ
ッサはそのリセットを処理する(ステップ904)。ス
テップ904は図10に関連して更に説明される。リセ
ットが表明されていなければ、データプロセッサはNM
Iが表明されていてイネーブル状態となっているかどう
かを決定する(ステップ906)。NMIが表明されて
いれば、データプロセッサはそのNMIを処理する(ス
テップ908)。ステップ908は図11に関連して更
に説明される。NMIが表明されていなければ、データ
プロセッサはMIが表明されていてイネーブル状態と
なっているかどうかを決定する(ステップ910)。M
が表明されていれば、データプロセッサはそのマス
ク可能インターラプトを処理する(ステップ912)。
ステップ912は図12に関連して更に説明される。デ
ータプロセッサ100は各マスク可能インターラプトを
チェックし続け、表明されていれば、その表明されてい
るマスク可能インターラプトを処理する。最後に、デー
タプロセッサ100はMI15が表明されていてイネー
ブル状態となっているかどうかを決定する(ステップ9
14)。MI15が表明されていれば、データプロセッ
サ100はそのマスク可能インターラプトを処理する
(ステップ916)。ステップ916は、MIについ
ての各参照がMI15への参照と置き代っていること
で、ステップ912と実質的に類似している。データプ
ロセッサ100は次のマシンサイクルの開始でステップ
902に戻る。データプロセッサ100は1つ以上のイ
ンターラプトには応じないことを理解されたい。
【0050】図10は図9に示されたステップ904の
流れ図1000を示す。リセットを検出すると、データ
プロセッサ100は0 0000bをISTPのHPE
INTフィールドに書き込む(1002)。次に、デー
タプロセッサ100はNMIを含む全てのインターラプ
トを無能化する(1004)。データプロセッサ100
は0をIERの各インターラプトイネーブルフィールド
に書き込むことによってNMIおよび各マスク可能イン
ターラプトを無能化する。このステップはNMIあるい
は任意のマスク可能インターラプトがリセットサービス
ルーチンを中断しないようにする。最後に、データプロ
セッサ100はISTPによって指定されたアドレスに
分岐することによって疑似命令を実行する(ステップ1
006)。データプロセッサ100はユーザによって書
き込まれたようなリセットサービスルーチンすなわちフ
ェッチパケットを実行する(ステップ1008)。ユー
ザは、リセットサービスルーチンが完了すれば、あるい
は完了しそうな時、またはその中断がシステム性能に影
響を及ぼさない時にNMIEフィールドを設定すること
によってNMIを再イネーブルすることができる。ま
た、ユーザはGIEおよびIERの適切なフィールドを
設定することによってマスク可能インターラプトをイネ
ーブルすることもできる。
【0051】図11は図9に示されたステップ908の
流れ図1100を示す。NMIを検出すると、データプ
ロセッサ100は処理する次の命令のアドレスをNRP
にセーブする(ステップ1102)。次に、データプロ
セッサ100はNMIFフィールドをクリアする(ステ
ップ1104)。このステップにより、同一のインター
ラプトを2度サービスしないようになる。再度、データ
プロセッサ100はNMIを含む全てのインターラプト
を無能化する(ステップ1106)。データプロセッサ
100は0 0001bをISTPのHPEINTフィ
ールドに書き込む(ステップ1108)。最後に、デー
タプロセッサ100はISTPによって指定されるアド
レスに分岐することによって疑似命令を実行する(ステ
ップ1110)。データプロセッサ100はユーザによ
って書き込まれるようなNMIサービスルーチンを実行
する(ステップ1112)。ユーザは上で記載したよう
にNMIおよびマスク可能インターラプトを再イネーブ
ルすることができる。典型的には、NMIサービスルー
チンの最終命令はNRPの内容への分岐となる。次い
で、データプロセッサ100はそれがNMIに先立って
処理していた命令ストリームに戻る。
【0052】図12は図9に示されたステップ912の
流れ図1200を示す。マスク可能インターラプト(こ
こではMI)を検出すると、データプロセッサ100
は処理する次の命令のアドレスをIRPにセーブする
(ステップ1202)。次に、データプロセッサ100
は最高位優先度イネーブルIFフィールドをクリアする
(ステップ1204)。このステップにより、同一のイ
ンターラプトを2度サービスしないようになる。データ
プロセッサ100は全てのマスク可能インターラプトを
無能化する(ステップ1206)。別々のIRPおよび
NRPを用いることによりNMIはマスク可能インター
ラプトを中断できるようになる。次に、データプロセッ
サ100はGIEフィールドの内容を読み出し、それを
PGIEフィールドにセーブする(ステップ120
8)。データプロセッサ100は0 0010bをIS
TPのHPEINTフィールドに書き込む(ステップ1
210)。上に記載したように、データプロセッサ10
0はどの命令が表明されたかに応じて異なった値をHP
EINTフィールドに書き込む。最後に、データプロセ
ッサ100はISTPによって指定されるアドレスに分
岐することによって疑似命令を実行する(ステップ12
12)。データプロセッサ100はユーザによって書き
込まれるようなNMIサービスルーチンを実行する(ス
テップ1214)。ユーザは上で記載したようにマスク
可能インターラプトを再イネーブルすることができる。
典型的には、マスク可能インターラプトサービスルーチ
ンの最終命令はIRPの内容への分岐となる。この命令
はPGIEの内容をGIEに自動的にロードする。次い
で、データプロセッサ100はそれがマスク可能インタ
ーラプトに先立って処理していた命令ストリームに戻
る。
【0053】図13は図1に示されたデータプロセッサ
100の一部のブロック図1300である。ブロック図
1300で示された部分は各サイクルでHPEINTを
発生する。IFR500のビット15から1およびイン
バータ1302の出力はアンドゲート1304でIER
400の16の最下位ビットとビット的にアンド結合さ
れる。インバータ1302の入力は信号リセットを受け
る。アンドゲート1304はイネーブル状態で表明され
ているインターラプトを識別する16ビットベクターを
発生する。高速検出ロジックブロック1306はアンド
ゲート1304の16ビット出力のうちでどれが最も適
正に表明されたビットであるかを決定する。最後に、エ
ンコーダ1308は高速検出ロジックブロック1306
の出力を「1がホット」の形態から2進重み付形態に変
換する。
【0054】インターラプトポーリング図14は図1に
示されたデータプロセッサを動作する方法の流れ図14
00を示す。流れ図1400はマスク可能インターラプ
トを無能化することが所望される時に有用なステップを
示す。ある場合には、マスク可能インターラプトが時間
が重要ではないプロセスと関連していることでデータプ
ロセッサの通常の動作を中断することが望ましくないか
もしれない。これらの場合において、データプロセッサ
100はサービスを必要とするインターラプトがあるか
どうか(そうすることが便利である時に)を決定するだ
けでよい。このプロセスはインターラプト「ポーリン
グ」と呼ばれている。流れ図1400はユーザによって
プログラムされかつデータプロセッサ100によって実
行される命令を表す。
【0055】流れ図1400はステップ1402で開始
する。最初に、データプロセッサ100は最高位優先度
のインターラプトの識別子を抽出する(ステップ140
4)。データプロセッサ100は、ISTPを読み出
し、ISTPの22の最上位ビットをクリアしそしてそ
の結果の5つのディジットを右シフトすることによって
最高位優先度のインターラプトの識別子を抽出する。こ
の結果の値は2進重み付形態の最高位優先度イネーブル
インターラプトとなる。次に、データプロセッサ100
はこのフィールドがゼロに等しいかどうかを決定する
(ステップ1406)。このフィールドが非ゼロであれ
ば、インターラプトはペンディングである。このフィー
ルドがゼロであれば、インターラプトはペンディングで
はない。
【0056】インターラプトがペンディングであれば、
データプロセッサ100はそのインターラプトに対して
サービスを行なう前に幾つかの機能を行なう。最初に、
データプロセッサ100は上級のペンディングインター
ラプトに対応するIFRフィールドをクリアする。デー
タプロセッサ100は、レジスタに1をロードし、その
1をインターラプト番号に対応する場所の数だけ左方に
シフトしそしてこの値をICRに書き込むことによって
インターラプトをクリアする。このステップは同一のイ
ンターラプトが2度サービスされないようにする。次
に、データプロセッサ100はペンディングインターラ
プトに対してサービスを行なった後に復帰すべきアドレ
スを計算する(ステップ1410)。典型的には、この
アドレスはデータプロセッサ100による実行の前にコ
ンパイラによって決定される。データプロセッサ100
はこの復帰アドレスをIRPにロードする(ステップ1
412)。最後に、データプロセッサ100はISTP
によって指定されているアドレスへの分岐命令を実行す
る。データプロセッサ100はこのインターラプトサー
ビスルーチンを図12に関連して上述したようにユーザ
によって書き込まれたように実行する。
【0057】抽出されたフィールドがステップ1406
においてゼロに等しければ、ペンディングインターラプ
トは存在しない。(リセットは常に直ちにサービスされ
ることに注意されたい。ステップ1404からのゼロ出
力はインターラプトがペンディングしていないことを表
す。ゼロフィールドはリセットがペンディングであるこ
とを意味しない)。
【0058】本発明およびその長所を詳細に記載した
が、種々の変更、置換および改善が特許請求の範囲によ
って定められるような発明の精神および適用範囲から逸
脱せずにここにおいてなされ得ることを理解すべきであ
る。
【0059】以上の説明に関して更に以下の項を開示す
る。 (1)命令を実行しかつ第1および第2のインターラプ
トを受けるように動作できるデータプロセッサにおい
て、第1のフィールドを有しており、第1の論理状態に
対してのみ上記データプロセッサのユーザにより書込み
可能な制御レジスタと、上記第1のインターラプトの表
明時に、第1のインターラプトサービスルーチンを実行
しかつ上記制御レジスタに対して第2の論理状態を書き
込むようになっており、上記第2のインターラプトの表
明時に、上記制御レジスタが上記第1の論理状態に等し
い場合に第2のサービスルーチンを実行する制御回路
と、を具備することを特徴とするデータプロセッサ。
【0060】(2)データプロセッサにおいて第1のフ
ィールドを記憶するようになっており、書込み指令に応
じて上記第1のフィールドに第1の倫理状態を記憶する
ように動作できるが、上記書込み指令に応じて第2の論
理状態を記憶するようには動作できないインターラプト
イネーブルレジスタと、実行する命令を取り出すフェッ
チロジックと、上記フェッチロジックに結合されてお
り、上記命令を実行するデータパスロジックと、上記フ
ェッチロジックおよび上記インターラプトイネーブルレ
ジスタに結合されており、取り出す第1の命令の第1の
アドレスを第1のインターラプトの表明時に供給しかつ
上記インターラプトイネーブルレジスタの上記第1のフ
ィールドを上記第2の論理状態に設定するようになって
おり、上記インターラプトイネーブルレジスタの上記第
1のフィールドが上記第1の論理状態に対応する場合
に、取り出す第2の命令の第2のアドレスを第2のイン
ターラプトの表明時に供給する制御ロジックと、を具備
することを特徴とするデータプロセッサ。
【0061】(3)第2項記載のデータプロセッサにお
いて、上記インターラプトイネーブルレジスタは更に第
2のフィールドを備えており、上記インターラプトイネ
ーブルレジスタは書込みに応じて第1の倫理状態あるい
は第2の論理状態を上記第2のフィールドに記憶するよ
うに動作できるようになっており、上記制御ロジックは
上記インターラプトイネーブルレジスタの上記第2のフ
ィールドが上記第1の論理状態に対応する場合に、取り
出す第3の命令の第3のアドレスを第3のインターラプ
トの表明時に更に供給するようになっている、ことを特
徴とするデータプロセッサ。
【0062】(4)第3項記載のデータプロセッサにお
いて、上記制御ロジックもこれが取り出す上記第2の命
令の上記第2のアドレスを供給する時に、上記インター
ラプトイネーブルレジスタの上記第1のフィールドを上
記第2の論理状態に設定するようにすることを特徴とす
るデータプロセッサ。
【0063】(5)第2項記載のデータプロセッサにお
いて、上記制御ロジックもこれが取り出す上記第2の命
令の上記第2のアドレスを供給する時に、上記インター
ラプトイネーブルレジスタの上記第1のフィールドを上
記第2の論理状態に設定するようにすることを特徴とす
るデータプロセッサ。
【0064】(6)データプロセッサのインターラプト
方式はマスク不可能インターラプト(NMI)のための
イネーブルフィールドを含んでいる。このフィールドは
それが最高位優先度インターラプト、すなわちリセット
に対してサービスを行なう時にデータプロセッサによっ
て自動的にクリアされる。ユーザはその後のNMIをイ
ネーブルにするためにそのフィールドを設定することは
できるが、自分でNMIをクリアすることはできない。
この方式はNMIがリセットサービスルーチンを中断し
ないようにする。
【図面の簡単な説明】
【図1】本発明が実施されるデータプロセッサのブロッ
ク図を示す。
【図2】図1に示されたデータプロセッサによって実行
される命令のタイミング図を示す。
【図3】インターラプト処理で使用されるデータプロセ
ッサの制御ステータスレジスタの図式図を示す。
【図4】インターラプト処理で使用されるデータプロセ
ッサのインターラプトイネーブルレジスタの図式図を示
す。
【図5】インターラプト処理で使用されるデータプロセ
ッサのインターラプトフラグレジスタの図式図を示す。
【図6】インターラプト処理で使用されるデータプロセ
ッサのインターラプトサービステーブルポインタの図式
図を示す。
【図7】インターラプト処理で使用されるデータプロセ
ッサのインターラプト設定レジスタの図式図を示す。
【図8】インターラプト処理で使用されるデータプロセ
ッサのインターラプトクリアレジスタの図式図を示す。
【図9】図1に示されたデータプロセッサの動作の1つ
の特徴の流れ図を示す。
【図10】図9に示された1つのステップの流れ図を示
す。
【図11】図9に示された1つのステップの流れ図を示
す。
【図12】図9に示された1つのステップの流れ図を示
す。
【図13】図1に示されたデータプロセッサの一部のブ
ロック図を示す。
【図14】図1に示されたデータプロセッサを動作する
方法の流れ図を示す。
【符号の説明】
100 データプロセッサ 102 中央処理ユニットすなわちコア 104 プログラムメモリ 106 データメモリ 108 メモリ周辺装置 110 他の周辺装置 112 バス 114 バス 116 バス 118 バス 120 バス 122 バス 124 バス 126 バス 128 バス 130 プログラムフェッチロジック 132 命令ディスパッチロジック 134 命令デコードロジック 136 データパスロジック 138 第1のレジスタファイル 140 単純な論理演算ユニット 142 複雑な論理演算ユニット 144 乗算ユニット 146 ロード/記憶ユニット 148 第2のレジスタファイル 150 単純な論理演算ユニット 152 複雑な論理演算ユニット 154 乗算ユニット 156 ロード/記憶ユニット 158 制御レジスタ群 160 制御ロジック 300 制御ステータスレジスタ 400 インターラプトイネーブルレジスタ 500 インターラプトフラグレジスタ 600 インターラプトサービステーブルポインタ 700 インターラプト設定レジスタ 800 インターラプトクリアレジスタ 1302 インバータ 1304 アンドゲート 1306 高速検出ロジック 1308 エンコーダ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 命令を実行しかつ第1および第2のイン
    ターラプトを受けるように動作できるデータプロセッサ
    において、 第1のフィールドを有しており、第1の論理状態に対し
    てのみ上記データプロセッサのユーザにより書込み可能
    な制御レジスタと、 上記第1のインターラプトの表明時に、第1のインター
    ラプトサービスルーチンを実行しかつ上記制御レジスタ
    に対して第2の論理状態を書き込むようになっており、
    上記第2のインターラプトの表明時に、上記制御レジス
    タが上記第1の論理状態に等しい場合に第2のサービス
    ルーチンを実行する制御回路と、 を具備することを特徴とするデータプロセッサ。
JP11062118A 1998-02-02 1999-02-02 マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ Pending JPH11288378A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US017364 1987-02-24
US09/017,364 US5987559A (en) 1998-02-02 1998-02-02 Data processor with protected non-maskable interrupt

Publications (1)

Publication Number Publication Date
JPH11288378A true JPH11288378A (ja) 1999-10-19

Family

ID=21782166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11062118A Pending JPH11288378A (ja) 1998-02-02 1999-02-02 マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ

Country Status (4)

Country Link
US (1) US5987559A (ja)
EP (1) EP0933704B1 (ja)
JP (1) JPH11288378A (ja)
DE (1) DE69938084T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005009874B4 (de) * 2005-03-01 2010-04-15 Infineon Technologies Ag Verfahren zur Signalisierung eines Zustandes oder Ereignisses
JP2015072624A (ja) * 2013-10-03 2015-04-16 株式会社エルイーテック Nmi制御

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2968289B2 (ja) * 1989-11-08 1999-10-25 株式会社リコー 中央演算処理装置
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
DE69228980T2 (de) * 1991-12-06 1999-12-02 National Semiconductor Corp., Santa Clara Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
JP3171925B2 (ja) * 1992-04-30 2001-06-04 株式会社日立製作所 データ処理装置
JPH06230979A (ja) * 1992-06-17 1994-08-19 Cyrix Corp 改良されたシステム管理方法および装置
US5659759A (en) * 1992-09-21 1997-08-19 Kabushiki Kaisha Toshiba Data processing device having improved interrupt controller to process interrupts of different priority levels
US5758170A (en) * 1995-03-20 1998-05-26 Dell Usa, L.P. System for preventing corruption during CPU reset
JPH08305585A (ja) * 1995-05-11 1996-11-22 Matsushita Electric Ind Co Ltd 割込制御装置
JP2625402B2 (ja) * 1995-05-24 1997-07-02 日本電気株式会社 マイクロプロセッサ
US5764999A (en) * 1995-10-10 1998-06-09 Cyrix Corporation Enhanced system management mode with nesting
US5875342A (en) * 1997-06-03 1999-02-23 International Business Machines Corporation User programmable interrupt mask with timeout

Also Published As

Publication number Publication date
EP0933704A2 (en) 1999-08-04
EP0933704B1 (en) 2008-02-06
US5987559A (en) 1999-11-16
EP0933704A3 (en) 2002-12-04
DE69938084D1 (de) 2008-03-20
DE69938084T2 (de) 2009-01-29

Similar Documents

Publication Publication Date Title
US6842811B2 (en) Methods and apparatus for scalable array processor interrupt detection and response
US5826089A (en) Instruction translation unit configured to translate from a first instruction set to a second instruction set
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
US7020871B2 (en) Breakpoint method for parallel hardware threads in multithreaded processor
US5353418A (en) System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread
JP3663317B2 (ja) コンピュータ・システム
US6718403B2 (en) Hierarchical selection of direct and indirect counting events in a performance monitor unit
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
JPH0758466B2 (ja) ソース命令実行をエミュレートする装置
WO2010004243A2 (en) Interrupt processing
KR100407014B1 (ko) 명령어 히스토리 정보를 갖는 기본 블럭 캐쉬마이크로프로세서
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
CN115904649A (zh) 用户级处理器间中断
KR100402820B1 (ko) 기본 블럭 캐쉬를 이용하는 마이크로프로세서
US7831979B2 (en) Processor with instruction-based interrupt handling
US6061787A (en) Interrupt branch address formed by concatenation of base address and bits corresponding to highest priority interrupt asserted and enabled
GB2461851A (en) Processor, which stores interrupt enable flags in a location used for other functions
JPH11288378A (ja) マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH10283178A (ja) 命令を発行するための方法及びシステム
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP2636074B2 (ja) マイクロプロセッサ
JPH0340013A (ja) 中央演算処理装置
JPH076038A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080815

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090115

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090313