JPH0713772A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0713772A
JPH0713772A JP5158827A JP15882793A JPH0713772A JP H0713772 A JPH0713772 A JP H0713772A JP 5158827 A JP5158827 A JP 5158827A JP 15882793 A JP15882793 A JP 15882793A JP H0713772 A JPH0713772 A JP H0713772A
Authority
JP
Japan
Prior art keywords
interrupt
request
instruction
address
interrupt request
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
JP5158827A
Other languages
English (en)
Inventor
Toru Shimizu
徹 清水
Shunichi Iwata
俊一 岩田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5158827A priority Critical patent/JPH0713772A/ja
Priority to US08/257,844 priority patent/US5471620A/en
Publication of JPH0713772A publication Critical patent/JPH0713772A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

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

Abstract

(57)【要約】 【目的】 優先レベルを有する割り込み要求に対して、
優先レベルの高い割り込み要求は割り込み禁止状態を経
ずに直ちに受け付けられるようにする。 【構成】 全ての割り込み要求の受け付けに対して禁止
/許可を記憶するフラグをPSW116に備え、優先レベルを
有する割り込み要求が受け付けられた場合にはフラグを
許可状態にし、優先レベルを有していない割り込み要求
が受け付けられた場合にはフラグを禁止状態にするよう
に命令実行制御部114 が制御する。 【効果】 優先レベルを有する割り込み要求に対して
は、割り込み禁止状態を経ることなく、より高い割り込
み要求を受け付けることが可能となる。デバッガ用割り
込み等のような優先レベルを有していない割り込み要求
に対しては、多重割り込み処理を行う必要が無くなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置に関し、
特に割り込み要求を受け付けてそれに対応する割り込み
処理を実行するデータ処理装置に関する。
【0002】
【従来の技術】図10は従来のデータ処理装置の特にプロ
セッサと割り込み制御回路との構成を示すブロック図で
ある。以下、従来のデータ処理装置の特に割り込み処理
を行うための構成及び動作について説明する。
【0003】図10において、参照符号101 はアドレスバ
スを、102 はデータバスを、103 はメモリを、110 はプ
ロセッサを、130 は割り込み制御回路をそれぞれ示して
いる。なお、メモリ103 とプロセッサ110 と割り込み制
御回路130 とはアドレスバス101 及びデータバス102 で
相互に接続されている。
【0004】プロセッサ110 内には命令実行制御部114
及びPSW(Processor Status Word)116 等が備えられてい
る。なお、プロセッサ110 内部の信号線は省略してあ
る。命令実行制御部114 は、プロセッサ110 内での命令
実行及び割り込み処理の制御を行う。具体的には、命令
実行制御部114 は命令実行終了時あるいは割り込み処理
終了時に後述する割り込み要求信号236 の信号の状態を
調べて割り込み要求の有無をチェックし、割り込み要求
がある場合には割り込み処理を起動する。
【0005】PSW116は、プロセッサ110 の状態を表すレ
ジスタであり、図11に示されているように、プロセッサ
割り込み優先レベルのフィールド及び割り込み禁止フラ
グのフィールド等が設定されている。プロセッサ割り込
み優先レベルのフィールドには、プロセッサ110 が現在
有する割り込み優先レベルが設定されている。プロセッ
サ110 の命令実行制御部114はこのPSW116に設定されて
いるプロセッサ割り込み優先レベルの値より高い優先レ
ベルを有する割り込み要求が割り込み要求信号236 とし
て与えられた場合にそれを受け付ける。
【0006】なお、このプロセッサ割り込み優先レベル
のフィールドに設定されている値はプロセッサ割り込み
優先レベル信号213 として後述する割り込み制御回路13
0 のマスカブル割り込み要求発生決定部133 に与えられ
ている。
【0007】一方、割り込み禁止フラグのフィールドに
は、”1”が設定されている場合にマスカブル割り込み
要求の受け付けを禁止し、”0”が設定されている場合
にマスカブル割り込み要求の受け付けを許可する割り込
み禁止フラグが設定されている。この割り込み禁止フラ
グの設定値は割り込み禁止フラグ信号214 として割り込
み制御回路130 のマスカブル割り込み要求発生決定部13
3 に与えられる。
【0008】割り込み制御回路130 は、割り込みレベル
優先順位判定部131,マスカブル割り込み要求発生決定部
133,ノンマスカブル要因判定部134,割り込み要求保持部
235,割り込み情報レジスタ137 等を備えている。割り込
みレベル優先順位判定部131 はマスカブル割り込み(EI)
の内のEI0,EI1…のいずれの割り込み要求が発生して
いるか、また発生しているマスカブル割り込みEI0,EI
1…の要求の内でいずれが最も高い割り込み優先レベル
であるかを判断し、最も高い割り込み優先レベルを有す
るいずれかのマスカブル割り込みを選択する。
【0009】具体的には、割り込みレベル優先順位判定
部131 は複数の割り込み制御レジスタ132(132-0, 132-1
…) を備えており、それぞれに各マスカブル割り込みEI
0,EI1…の要求があることを示すマスカブル割り込み
要求信号238(238-0, 238-1…) が与えられている。各割
り込み制御レジスタ132-0, 132-1…はマスカブル割り込
みEI0,EI1…の要因それぞれについて割り込み要求の
有無と割り込みレベルとを保持するためのレジスタであ
り、図12に示されているように、割り込み要求ビットの
フィールドと割り込み優先レベルのフィールドとが設定
されている。
【0010】マスカブル割り込みEI0,EI1…の内のい
ずれかの割り込み要求があった場合には、その割り込み
要因に対応する割り込み制御レジスタ132-0,132-1…
の割り込み要求ビットに”1”がセットされる。また、
各割り込み制御レジスタ132には固有のアドレスが割り
付けられており、外部から個々の割り込み制御レジスタ
132 の値をリード/ライトすることが可能である。従っ
て、各割り込み制御レジスタ132 の割り込み優先レベル
のフィールドには予めそれぞれの割り込み要因に対応し
た優先レベルを設定し、また変更することが可能であ
る。
【0011】マスカブル割り込み要求発生決定部133
は、割り込み禁止フラグ信号214 としてプロセッサ110
から与えられる割り込み禁止フラグのセット値が”0”
であり、且つ割り込みレベル優先順位判定部131 で選択
されたマスカブル割り込み(EI)の優先レベルがプロセッ
サ割り込み優先レベル信号213 として与えられているプ
ロセッサ割り込み優先レベルよりも高い優先度である場
合にのみ割り込みを受け付け、その割り込み要求をノン
マスカブル要因判定部134 へ出力する。但し、割り込み
禁止フラグのセット値が”1”である場合及び割り込み
レベル優先順位判定部131 で選択された割り込み優先レ
ベルがプロセッサ割り込み優先レベル以下である場合に
は、マスカブル割り込み要求発生決定部133 からノンマ
スカブル要因判定部134 へ割り込み要求が出力されるこ
とはない。
【0012】ノンマスカブル要因判定部134 は、WDTI要
求信号139 DBI要求信号141 からノンマスカブル割り込
み(ウォッチドッグタイマ割り込み(WDTI)またはデバッ
ガ専用割り込み(DBI) のいずれか) の要求が与えられた
場合には、その割り込みの要求を出力する。つまり、ノ
ンマスカブル割り込みWDTI, DBI は、常にマスカブル割
り込み(EI)より優先度が高く、PSW116に設定されている
プロセッサ割り込み優先レベルあるいは割り込み禁止フ
ラグによってもマスクされることはない。なお、ノンマ
スカブル割り込みWDTI, DBI の要求がない場合には、ノ
ンマスカブル要因判定部134 は前述のマスカブル割り込
み要求発生決定部133 から与えられるマスカブル割り込
み(EI)の割り込み要求をそのまま出力する。
【0013】割り込み要求保持部235 はノンマスカブル
要因判定部134 から与えられる割り込みの要求の有無を
示す情報を保持し、その値を割り込み要求信号236 とし
てプロセッサ110 の命令実行制御部114 へ出力する。割
り込み情報レジスタ137 は、プロセッサ110 に対して割
り込み要求を出している割り込みの優先レベル、あるい
はベクタアドレス等を保持する。なおこの割り込み情報
レジスタ137 には固有のアドレスが割り付けられてお
り、その内容を割り込み制御回路130 の外部、たとえば
プロセッサ110 から読み出すことができる。
【0014】以下、割り込み制御回路130 の動作につい
て説明する。割り込みレベル優先順位判定部131 では、
割り込み要求のあるマスカブル割り込みEI0,EI1…の
内の最も優先レベルの高い要求を割り込み制御レジスタ
(132-0, 132-1 …の内容を参照して選択し、そのベクタ
アドレスと割り込み優先レベルとをマスカブル割り込み
要求発生決定部133 へ出力する。マスカブル割り込み要
求発生決定部133 では、割り込みレベル優先順位判定部
131 から与えられた割り込み優先レベルをその時点でプ
ロセッサ110 のPSW116にセットされているプロセッサ割
り込み優先レベルを表すプロセッサ割り込み優先レベル
信号213 と比較し、プロセッサ割り込み優先レベルより
高ければその割り込みを受け付ける。割り込みを受け付
けた場合、マスカブル割り込み要求発生決定部133 はノ
ンマスカブル要因判定部134 へ割り込み要求を出力する
と共にそのベクタアドレス,割り込み優先レベルをも出
力する。
【0015】ノンマスカブル要因判定部134 では、デバ
ッガ専用割り込み(DBI) またはウォッチドッグタイマ割
り込み(WDTI)の要求があれば、その割り込み要求を出力
すると共にそのベクタアドレス, 割り込み優先レベル
(=0) を出力する。但し、両方共に要求があった場合
にはデバッガ専用割り込み(DBI) が優先的に受け付けら
れる。また、いずれの要求もない場合には、ノンマスカ
ブル要因判定部134 はマスカブル割り込み要求発生決定
部133 から送られてくる値をそのまま割り込み要求保持
部235 へ出力する。割り込み要求の有無は一旦割り込み
要求保持部235 に保持され、その値が割り込み要求信号
236 としてプロセッサ110 へ出力される。なお、ベクタ
アドレスと割り込み優先レベルとはノンマスカブル要因
判定部134 から割り込み情報レジスタ137 に入力されて
保持される。
【0016】以下、プロセッサ110 側の動作について説
明する。命令実行制御部114 では、命令実行が終了する
都度、または割り込み処理が終了する都度、割り込み制
御回路130 から与えられている割り込み要求信号236 を
調べて割り込み要求の有無を検出し、割り込み要求があ
れば割り込み処理を起動する。
【0017】プロセッサ110 の命令実行制御部114 によ
る割り込み処理は、以下のような処理が全てハードウェ
ア制御で行われる。 (1) 割り込み情報レジスタのリード 割り込み要求を受け付けた場合、命令実行制御部114 は
アドレスバス101 及びデータバス102 を使用して割り込
み情報レジスタ137 の内容をリードする。なお、割り込
み情報レジスタ137 の値が命令実行制御部114 によりリ
ードされると、割り込みレベル優先順位判定部131 で
は、受け付けられた割り込み要因に対応する割り込み制
御レジスタ132 の割り込み要求ビットが”0”にクリア
される。
【0018】(2) プロセッサ情報のスタックへの退避 命令実行制御部114 は、PSW116の値(以下、 PSW値とい
う),図示されていないプログラムカウンタの値(以下、
PC値という)等のプロセッサ情報をメモリ103内に設定
されているスタックへ退避させる。
【0019】(3) PSW値の更新 命令実行制御部114 は、 (2)の処理によりその内容が一
旦スタックへ退避されたPSW116の割り込み禁止フラグ
を”1”にセットすると共に、プロセッサ割り込み優先
レベルを受け付けた割り込みの優先レベルに置き換え
る。なお、両者はそれぞれ割り込み禁止フラグ信号214,
プロセッサ割り込み優先レベル信号213 としてマスカブ
ル割り込み要求発生決定部133 に与えられるので、マス
カブル割り込み要求発生決定部133 ではこれらの信号に
従ってその後のマスカブル割り込み(EI)の受け付けを決
定する。
【0020】(4) 割り込みハンドラの先頭アドレスの獲
得 割り込み要因に対応した処理を行うソフトウェアプログ
ラムが割り込みハンドラである。命令実行制御部114
は、割り込み情報レジスタ137 から先に得たベクタアド
レスをアドレスとしてメモリ103 をリードすることによ
り、割り込みハンドラの先頭アドレスを獲得する。
【0021】(5) 割り込みハンドラの起動 命令実行制御部114 は、 (4)の処理で得られた割り込み
ハンドラの先頭アドレスに処理シーケンスをジャンプす
る。但し、この際にも割り込み受け付けのチェック、即
ち命令実行制御部114 による割り込み要求信号236 のチ
ェックは行われる。割り込みハンドラの実行に際して
は、その最後に割り込みハンドラからの復帰命令が実行
されることにより、命令実行制御部114 は先にスタック
に退避しておいた PSW値とPC値とをそれぞれPSW116とPC
(図示せず) とに復帰させて割り込み前の状態に戻る。
【0022】以上のように従来のデータ処理装置では、
割り込み要求が受け付けられると、割り込み禁止フラグ
を”有効”にすることにより他の優先レベルを有する全
ての割り込み要求の受け付けを禁止している。そして、
この割り込み禁止状態は、その時点で処理されている割
り込みハンドラにより割り込み禁止フラグがクリアされ
るまで継続する。
【0023】但し、割り込み禁止フラグは優先レベルを
有する割り込み要求であるマスカブル割り込みEI0,EI
1…にのみ有効である。即ち、割り込み禁止フラグがセ
ットされている場合に受け付けられないのは優先レベル
を有するマスカブル割り込みEI0,EI1…のみである。
従って、優先レベルを有していないたとえばデバッガ専
用割り込み(DBI),ウォッチドッグタイマ割り込み(WDTI)
等の割り込み要求はPSW116の割り込み禁止フラグがセッ
トされていても受け付けられる。換言すれば、優先レベ
ルを有していない割り込み要求は常時必ず受け付けられ
る。
【0024】
【発明が解決しようとする課題】従来のデータ処理装置
は上述のように、優先レベルを有する割り込み(マスカ
ブル割り込み)要求を受け付けると、その割り込み処理
中に割り込み禁止フラグを”有効”にすることにより他
の全ての優先レベルを有する割り込み要求の受け付けを
禁止する。このため、ある割り込み要求に従って割り込
み処理を行っている間に他のより優先レベルの高い割り
込み要求が発生した場合にも、割り込み処理終了後直ち
には受け付けられず、割り込みハンドラの処理により割
り込み禁止フラグが”無効”にされるまで受け付けが遅
れるという問題点があった。
【0025】また、従来のデータ処理装置では、優先レ
ベルを有していない割り込み(ノンマスカブル割り込
み)要求については必ず受け付けられるように構成され
ており、その受け付けを禁止するようには構成されてい
ない。このため、優先レベルを有していない割り込み要
求が同時に複数発生した場合には、一つの割り込み処理
終了後直ちに他の割り込み処理が起動されて多重割り込
み処理が行われる。従って、従来のデバッガ用割り込み
等のような優先レベルを有していない割り込みを複数種
類受け付けることが可能なデータ処理装置では、多重割
り込み処理を考慮した割り込み処理を行う必要があり、
制御方法が複雑になるという問題点があった。
【0026】本発明はこのような問題点を解決するため
になされたものであり、優先レベルを有する割り込み要
求に対して、優先レベルの高い割り込み要求は割り込み
禁止状態を経ずに直ちに受け付けられるようにしたデー
タ処理装置の提供を目的とする。また、デバッガ用割り
込み等のような優先レベルを有していない割り込み要求
に対しては、多重の割り込み処理を行う必要のないデー
タ処理装置の提供を目的とする。
【0027】
【課題を解決するための手段】本発明に係るデータ処理
装置は、全ての割り込み要求の受け付けに対して禁止/
許可を制御するフラグを備え、優先レベルを有する割り
込み要求が受け付けられた場合にはこのフラグを許可状
態にし、優先レベルを有していない割り込み要求が受け
付けられた場合にはこのフラグを禁止状態にするように
制御する。
【0028】
【作用】本発明に係るデータ処理装置では、優先レベル
を有する割り込み要求の割り込み処理後には、より高い
優先レベルの割り込み要求は受け付けられるが、優先レ
ベルを有していない割り込み要求の割り込み処理後に
は、一切の割り込み要求は受け付けられない。
【0029】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。図1は本発明のデータ処理装置の特にプ
ロセッサと割り込み制御回路との構成を示すブロック図
である。なお、この図1においては、前述の従来例の説
明で参照した図10と同一の参照符号は同一又は相当部分
を示している。以下、本発明のデータ処理装置の特に割
り込み処理を行うための構成及び動作について説明す
る。
【0030】図1において、参照符号101 はアドレスバ
ス (32ビット) を、102 はデータバス (32ビット) を、
103 はメモリを、110 はプロセッサを、130 は割り込み
制御回路をそれぞれ示している。なお、メモリ103 とプ
ロセッサ110 と割り込み制御回路130 とはアドレスバス
101 及びデータバス102 で相互に接続されている。ま
た、本実施例のプロセッサ110 はいわゆるマイクロプロ
グラム制御方式を採用している。
【0031】プロセッサ110 には、バスインタフェイス
部(バスI/F 部)111, 命令フェッチ部112,命令デコード
部113,命令実行制御部114,命令実行部115 等が備えられ
ている。更に、命令実行制御部114 には、マイクロシー
ケンサ124,マイクロアドレスレジスタ125,マイクロROM
126,マイクロデコーダ127 等が備えられており、また命
令実行部115 にはPSW(Processor Status Word)116,プロ
グラムカウンタ(PC)119,命令ブレイクポイントレジスタ
(XBP)120, スタックポインタ(SP)121,割り込み用スタッ
クポインタ(SPI)122, 比較器128 等が備えられている。
【0032】バスI/F 部111 はプロセッサ110 をアドレ
スバス101 及びデータバス102 と接続するためのハード
ウェアであり、命令あるいはデータのメモリアクセス等
のようなプロセッサ110 外部との信号の入出力を制御す
る。命令フェッチ部112 は、バスI/F 部111 に対する命
令フェッチ要求を発生し、それに応じてバスI/F 部111
がメモリ103 からフェッチした命令を取り込んで一旦保
持し、これを命令デコード部113 へ出力する。
【0033】命令デコード部113 は、命令フェッチ部11
2 から命令を受け取ってデコードし、その命令の実行に
必要な情報(マイクロプログラムアドレス, レジスタ番
号等) を命令実行制御部114 へ出力する。命令実行制御
部114 は、命令デコード部113 から出力された情報及び
割り込み要求信号136 に基づいて、命令実行部115 を制
御する制御信号を出力するが、詳細は後述する。
【0034】命令実行部115 は、命令実行制御部114 か
ら出力される制御信号に従って、命令を実行する。この
命令実行部115 には前述の如く、PSW116, プログラムカ
ウンタ(PC)119,命令ブレイクポイントレジスタ(XBP)12
0, スタックポインタ(SP)121,割り込み用スタックポイ
ンタ(SPI)122, 比較器128 等が備えられている。以下、
命令実行部115 について詳細に説明する。
【0035】PSW116は、プロセッサ110 の状態を表すレ
ジスタであり、本実施例では32ビット構成を採ってい
る。なお、PSW116の構成は図2に示されており、各ビッ
トは以下の意味を有している。 ・ビット0:スタックモード(SM) 0:通常のスタックポインタ(SP 121)を使用する。 1:外部割り込み用スタックポインタ(SPI122)を使用す
る。
【0036】・ビット1〜11:0固定 ・ビット12:割り込み許可フラグ 0:全割り込み要求を受け付けない。 1:全割り込み要求を受け付ける。
【0037】・ビット13〜15:割り込みマスク 0:マスカブル割り込み要求は全て受け付けられない。 1:割り込みレベル0のマスカブル割り込みを受け付け
る。 2:割り込みレベル0〜1のマスカブル割り込みを受け
付ける。 3:割り込みレベル0〜2のマスカブル割り込みを受け
付ける。 4:割り込みレベル0〜3のマスカブル割り込みを受け
付ける。 5:割り込みレベル0〜4のマスカブル割り込みを受け
付ける。 6:割り込みレベル0〜5のマスカブル割り込みを受け
付ける。 7:割り込みレベル0〜6のマスカブル割り込みを受け
付ける。
【0038】・ビット16〜25:0固定 ・ビット26〜31:演算フラグ オーバーフローフラグ,ゼロフラグ等演算結果を示す各
種フラグ。
【0039】なお、PSW116のビット13〜15である割り込
みマスクの値はそのまま3ビットの割り込みマスク信号
117 として出力され、割り込み制御回路130 のマスカブ
ル割り込み要求発生決定部133 に入力されている。ま
た、PSW116のビット12である割り込み許可フラグの値は
そのまま1ビットの割り込み許可信号118 として出力さ
れ、マイクロシーケンサ124 に入力されている。
【0040】PC 119は、命令実行部115 において現在実
行中の命令アドレスを保持するレジスタであり、本実施
例では32ビット構成が採られている。なお、このPC 119
の内容、即ち命令アドレスはそれぞれの命令終了時には
次に実行する命令のアドレスに切り替わる。
【0041】命令ブレイクポイントレジスタ(XBP)120は
デバッグ用のレジスタであり、本実施例では32ビット構
成を採っている。この命令ブレイクポイントレジスタ(X
BP)120に設定された値とPC 119の値とは比較器128 によ
り比較される。
【0042】なお、命令ブレイクポイントレジスタ(XB
P)120の構成は図3の模式図に示されており、各ビット
は以下の意味を有している。 ・ビット0〜30:ブレイクポイントアドレス 命令実行をブレイクさせる際のターゲットのPC 119値の
上位31ビットを設定する。 ・ビット31:PBI(PCブレイク割り込み) 有効フラグ 0: PBI要求は無効。 1: PBI要求は有効。
【0043】比較器128 は上述の如く、命令ブレイクポ
イントレジスタ(XBP)120の値の上位31ビットとPC 119の
値の上位31ビットとを常時比較している。この比較器12
8 による比較結果が一致すればPCブレイク割り込み要求
が発生したとしてその時点で実行されている命令、換言
すればPC 119に保持されている値をアドレスとする命令
の終了後に割り込み要求(PCブレイク割り込み=PBI)が
発生する。具体的には、比較器128 の一致検出信号とし
てPCブレイク割り込み(PBI) の要求信号であるPBI要求
信号123 が発生されて命令実行制御部114 のマイクロシ
ーケンサ124 に与えられる。
【0044】SP 121は通常のスタックポインタであり、
本実施例では32ビット構成を採っている。なお、このSP
121はPSW116のスタックモードが”1”に設定されてい
る場合に使用される。SPI122は外部割り込み用のスタッ
クポインタであり、本実施例では32ビット構成を採って
いる。なおこのSPI122はPSW116のスタックモードが”
0”に設定されている場合に使用される。
【0045】マイクロシーケンサ124 は命令デコード部
113 から与えられる情報, マイクロROM 126 から読み出
されるマイクロ命令から与えられる指示, 各割り込み要
求 (前述の PBI要求信号123,後述する割り込み許可信号
118,EI要求信号136, DBI要求信号141 等) に基づいて、
マイクロプログラムの実行制御、具体的には次に実行す
べきマイクロ命令のアドレスを発生する。なお、本実施
例ではデバッガ専用割り込み(DBI) は DBI発生回路142
により発生されてバスI/F 部111 を経由して直接マイク
ロシーケンサ124 に入力されている。
【0046】マイクロアドレスレジスタ125 は、次にマ
イクロROM126から読み出して実行すべきマイクロ命令の
アドレスをマイクロシーケンサ124 から与えられて保持
する。マイクロROM 126 はマイクロ命令を格納してお
り、マイクロアドレスレジスタ125 に保持されているア
ドレスのマイクロ命令を出力する。マイクロデコーダ12
7 は、マイクロROM126から出力されたマイクロ命令及び
マイクロシーケンサ124 から与えられている信号をデコ
ードして制御信号を生成し、命令実行部115 へ出力す
る。
【0047】割り込み制御回路130 は、前述のように、
割り込みレベル優先順位判定部131,マスカブル割り込み
要求発生決定部133,ノンマスカブル要因判定部134,EI要
求保持部135,割り込み情報レジスタ137 等を備えてい
る。
【0048】割り込みレベル優先順位判定部131 は複数
の割り込み制御レジスタ132(132-0,132-1…) を備えて
おり、それぞれにユーザ用マスカブル割り込みEI0,EI
1…の要求があることを示すマスカブル割り込み要求信
号138-0, 138-1…が与えられている。割り込みレベル優
先順位判定部131 は、これらの割り込み制御レジスタ13
2-0, 132-1…の内容を比較することにより、割り込み要
求があったユーザ用マスカブル割り込みEI0,EI1, EI
2…の内から最も優先度の高い割り込み要求を選択す
る。
【0049】各割り込み制御レジスタ132-0, 132-1…は
本実施例では8ビット構成であり、割り込みの要因それ
ぞれに対応して割り込み要求ビットと割り込みレベルを
保持する。各割り込み制御レジスタ132-0, 132-1…には
それぞれアドレスが割り付けられており、外部、たとえ
ばプロセッサ110 等から各割り込み制御レジスタ132の
値をリード/ライトすることが可能となっている。
【0050】図4は割り込み制御レジスタ132-0, 132-1
…の構成を示す模式図であり、各ビットは以下の意味を
有している。 ・ビット0〜3:0固定 ・ビット4:割り込み要求ビット 0:割り込み要求なし 1:割り込み要求あり ・ビット5〜7:割り込みレベル 0:マスカブル割り込み:割り込みマスク=1〜7の時
受け付けられる。 ノンマスカブル割り込み:割り込みマスク=0〜7の時
受け付けられる。 1:割り込みマスク=2〜7の時受け付けられる。 2:割り込みマスク=3〜7の時受け付けられる。 3:割り込みマスク=4〜7の時受け付けられる。 4:割り込みマスク=5〜7の時受け付けられる。 5:割り込みマスク=6〜7の時受け付けられる。 6:割り込みマスク=7の時に受付けられる。 7:受け付けられない。割り込み要求なしと同じ。 但し、ビット5〜7は値が小さいほど優先度が高い。ノ
ンマスカブル割り込みは、このフィールドは0固定。
【0051】マスカブル割り込み要求発生決定部133
は、割り込みレベル優先順位判定部131 で選択された割
り込みレベルをプロセッサ110 から出力された割り込み
マスク信号117 、即ちPSW116の割り込みマスクの値と比
較し、”割り込みレベルの値<割り込みマスクの値”で
あれば割り込み要求を受け付けて割り込み要求をノンマ
スカブル要因判定部134 へ出力する。
【0052】ノンマスカブル要因判定部134 には前述の
割り込みレベル優先順位判定部131と同様の構成の割り
込み制御レジスタ132(132-139, 132-140) が備えられて
おり、それぞれにユーザ用ノンマスカブル割り込みであ
るウォッチドッグタイマ割り込み(WDTI)の要求があるこ
とを示すWDTI要求信号139 と、ユーザ用の最も優先度が
高いノンマスカブル端子割り込み(NMI) の要求があるこ
とを示す NMI要求信号140 が与えられている。ノンマス
カブル要因判定部134 はこれらの割り込み制御レジスタ
132(132-139, 132-140) にそれぞれ信号線139, 140を介
してウォッチドッグタイマ割り込み(WDTI)あるいはユー
ザ用ノンマスカブル端子割り込み(NMI) の要求が与え
られた場合には、その割り込み要求を出力する。つま
り、ウォッチドッグタイマ割り込み(WDTI), ユーザ用ノ
ンマスカブル端子割り込み(NMI)は常にユーザ用マスカ
ブル割り込みEI0,EI1…より優先度が高く、割り込み
マスクによってマスクされることはない。但し、ユーザ
用ノンマスカブル割り込みWDTI, NMI の要求がなかい場
合には、ノンマスカブル要因判定部134 はマスカブル割
り込み要求発生決定部133 から与えられた値を出力す
る。
【0053】EI要求保持部135 は、ユーザ用マスカブル
割り込みEI0,EI1…及びユーザ用ノンマスカブル割り
込みWDTI, NMI 等の要求の有無を保持する。この値はEI
要求信号136 としてプロセッサ110 のマイクロシーケン
サ124 へ出力される。即ち、EI要求信号136 はユーザ用
割り込み(EI)の要求があることをマイクロシーケンサ12
4 に伝える信号である。
【0054】割り込み情報レジスタ137 は本実施例では
32ビット構成であり、プロセッサ110 に対して現在割り
込み要求を行っている割り込み要求の割り込みレベル,
ベクタアドレス等を保持する。この割り込み情報レジス
タ137 にはアドレス0が割り付けられており、その内容
を外部、たとえばプロセッサ110 等から読み出すことが
できる。
【0055】図5は割り込み情報レジスタ137 の構成を
示す模式図であり、各ビットは以下の意味を有する。 ・ビット0〜11:0固定 ・ビット12〜15:1固定 ・ビット13〜15:割り込みレベル ・ビット16〜31:ベクタアドレスの下位16ビット。 32ビットに符号拡張して使用する。
【0056】図6は割り込みの要因毎のベクタアドレス
とPSW116の更新値との関係を示す一覧表である。本発明
のデータ処理装置が受け付ける割り込み要求は、デバッ
ガ専用割り込み, ユーザ用ノンマスカブル割り込み, ユ
ーザ用マスカブル割り込みの3種類に大分類されてい
る。
【0057】大分類のデバッガ専用割り込みは更に、PC
ブレイク割り込み(PBI) とデバッガ専用割り込み(DBI)
との二つの小分類(要因名)に分類されている。PCブレ
イク割り込み(PBI) は、命令ブレイクポイントレジスタ
(XBP)120に予めプログラムで設定されている値とPC 119
の値、即ちその時点で実行されている命令のアドレスと
が一致した場合に行われる割り込みである。具体的に
は、比較器128 がPC 119の値(PC値) と命令ブレイクポ
イントレジスタ(XBP)120の値との一致を検出した場合に
PBI要求信号123 を発生してマイクロシーケンサ124 に
与えることにより、マイクロシーケンサ124 が割り込み
処理を開始する。
【0058】また、デバッガ専用割り込み(DBI) は、本
発明のデータ処理装置のデバッグを行う際に使用される
割り込みである。このデバッガ専用割り込み(DBI) を要
求する DBI要求信号141 は DBI発生回路142 から発生す
ることが可能であり、 DBI要求信号141 はバスI/F 部11
1 から直接マイクロシーケンサ124 に与えられることに
より、マイクロシーケンサ124 が割り込み処理を開始す
る。
【0059】PCブレイク割り込み(PBI) のベクタアドレ
スとしては”FFFFFFF4 (16進) ”が、デバッガ専用割り
込み(DBI) のベクタアドレスとしては”80000000 (16
進) ”がそれぞれ設定されている。また、PCブレイク割
り込み(PBI),デバッガ専用割り込み(DBI) 共にPSW116の
更新値はスタックモード(SM), 割り込み許可フラグ, 割
り込みマスクのいずれも”0”である。
【0060】大分類のユーザ用ノンマスカブル割り込み
は更に、ノンマスカブル端子割り込み(NMI) とウォッチ
ドッグタイマ割り込み(WDTI)との二つの小分類に分類さ
れている。ノンマスカブル端子割り込み(NMI) は、ユー
ザ用の割り込みの内でPSW116の割り込みマスクによって
もマスクすることが出来ない優先度が最も高い割り込み
である。このユーザ用のノンマスカブル端子割り込み(N
MI) を要求する NMI要求信号140 は図示されていない専
用の端子からノンマスカブル要因判定部134 に入力され
ている。また、ウォッチドッグタイマ割り込み(WDTI)は
図示されていないウォッチドッグタイマからの割り込み
であり、このウォッチドッグタイマ割り込み(WDTI)を要
求するするWDTI要求信号139 はノンマスカブル要因判定
部134 に入力されている。
【0061】ノンマスカブル端子割り込み(NMI) のベク
タアドレスとしては”FFFFFFA8 (16進) ”が、ウォッチ
ドッグタイマ割り込み(WDTI)のベクタアドレスとして
は”FFFFFFA4 (16進) ”がそれぞれ設定されている。ま
た、ノンマスカブル端子割り込み(NMI),ウォッチドッグ
タイマ割り込み(WDTI)共にPSW116の更新値はスタックモ
ード(SM), 割り込み許可フラグ, 割り込みマスクの順
に”0”, ”1”, ”0”である。
【0062】大分類のユーザ用マスカブル割り込みは更
に、マスカブル割り込み0,1,2…に分類されてい
る。これらのユーザ用マスカブル割り込みはユーザがプ
ログラム上で任意に設定可能な割り込みであり、それら
の要求はマスカブル割り込み要求信号138(138-0, 138-1
…) として割り込みレベル優先順位判定部131 の各割り
込み制御レジスタ132(132-0, 132-1…) に与えられる。
【0063】ユーザ用マスカブル割り込みのベクタアド
レスとしてはEI0,EI1…の順に”FFFFFFA0 (16進)
”, ”FFFFFFBC (16進) ”…が設定されている。ま
た、各ユーザ用マスカブル割り込みのPSW116の更新値は
スタックモード(SM), 割り込み許可フラグの順にいずれ
も”0”, ”1”であり、割り込みマスクはそれぞれの
割り込みレベルである。
【0064】図7は割り込み処理に際してプロセッサ情
報、即ちPSW116の値(PSW値) 及びPC119の値である次命
令のアドレス (次命令PC値) をスタックに退避した場合
のスタックフォーマットを示す模式図である。スタック
はメモリ103 内に32ビット(4バイト) 幅の領域として設
定されており、割り込み処理前のSPI122の値(SPI値) の
アドレス下位側に割り込み処理後の SPI値をアドレスと
して PSW値及びPC値が退避される。
【0065】以下、割り込み制御回路130 の動作につい
て説明する。割り込みレベル優先順位判定部131 は、各
割り込み制御レジスタ132(132-0, 132-1…) の割り込み
要求フラグの内容を参照して、割り込み要求のあるユー
ザ用マスカブル割り込みEI0,EI1…の内の最も優先度
の高い要求を選択し、そのベクタアドレスと割り込みレ
ベルとを割り込み要求発生決定部133 に送る。割り込み
要求がない場合の優先レベルは7(=要求なし) であ
る。
【0066】マスカブル割り込み要求発生決定部133 で
は、割り込みレベル優先順位判定部131 から送られてき
た割り込みレベルをプロセッサ110 のPSW116から割り込
みマスク信号117 として与えられている割り込みマスク
の値と比較する。割り込みレベルが割り込みマスクの値
より小さければその割り込みは受け付けられ、ノンマス
カブル要因判定部134 に割り込み要求を出力すると共に
その割り込み要因のベクタアドレス及び割り込みレベル
MO出力する。
【0067】ノンマスカブル要因判定部134 では、ユー
ザ用ノンマスカブル割り込みであるノンマスカブル端子
割り込み(NMI) またはウォッチドッグタイマ割り込み(W
DTI)の要求があれば、それらの割り込み要求を出力する
と共にそのベクタアドレスと割り込みレベル(=0) と
を割り込み情報レジスタ137 へ出力する。但し、同時に
両方の要求があった場合にはノンマスカブル端子割り込
み(NMI) よりもウォッチドッグタイマ割り込み(WDTI)が
優先して受け付けられる。また、いずれの要求もない場
合には、ノンマスカブル要因判定部134 はマスカブル割
り込み要求発生決定部133 から送られてくる値をそのま
まEI要求保持部135 及び割り込み情報レジスタ137 へ出
力する。
【0068】ノンマスカブル要因判定部134 からの割り
込み要求の有無は一旦EI要求保持部135 に保持され、そ
の値がEI要求信号136 としてプロセッサ110 のマイクロ
シーケンサ124 へ出力される。ベクタアドレス及び割り
込みレベルはノンマスカブル要因判定部134 から割り込
み情報レジスタ137 へ出力されて保持される。
【0069】以下、プロセッサ110 側の動作について説
明する。命令実行制御部114 では、命令実行が終了する
都度、または割り込み処理が終了する都度、マイクロシ
ーケンサ124 がEI要求信号136, PBI要求信号123, DBI要
求信号141 の状態をチェックする。PSW116の割り込み許
可フラグの値が”0”である場合は、マイクロシーケン
サ124 は割り込み要求の有無には拘わらず一切の割り込
み要求を受け付けない。しかし、PSW116の割り込み許可
フラグの値が”1”である場合は、マイクロシーケンサ
124 は割り込み要求がひとつでもあればそれを受け付
け、対応する割り込み処理用のマイクロプログラムアド
レスを生成して割り込み処理を起動する。
【0070】なお、複数の割り込み要求が同時に発生し
た場合の優先順位は、” PBI>DBI>EI”、即ちPCブレ
イク割り込み>デバッガ専用割り込み>ユーザ用マスカ
ブル割り込みの順である。
【0071】割り込み処理は、以下のような手順で全て
ハードウェア制御で処理される。 (1) 割り込み情報レジスタのリード 割り込み情報レジスタ137 の内容は受け付けられた割り
込み要求がユーザ用マスカブル割り込みEI1,EI2…の
いずれかである場合にのみマイクロシーケンサ124 によ
り読み出される。割り込み要求を受け付けた場合、マイ
クロシーケンサ124 はアドレスバス101及びデータバス1
02 を使用して割り込み情報レジスタ137 の内容、即ち
ベクタアドレス及び割り込みレベルをリードする。
【0072】なお、割り込み情報レジスタ137 の内容が
マイクロシーケンサ124 によりリードされると、割り込
み制御回路130 では、受け付けられた割り込み要因に対
応する割り込み制御レジスタ132-0, 132-1…の割り込み
要求ビットを”0”にクリアする。
【0073】(2) プロセッサ情報のスタックへの退避 命令実行制御部114 は、プロセッサ情報、即ちPSW116の
値(PSW値),PC 119の値(PC値)を図5に示されているよ
うなスタックフォーマットに従ってメモリ103に退避す
る。
【0074】(3) PSW値の更新 命令実行制御部114 は、 (2)の処理によりその内容が一
旦スタック等へ退避された後のPSW116の割り込み禁止フ
ラグを”1”にセットすると共に、プロセッサ割り込み
優先レベルを受け付けた割り込みの優先レベルに置き換
える。なお、両者はそれぞれ割り込み禁止フラグ信号21
4,プロセッサ割り込み優先レベル信号213 としてマスカ
ブル割り込み要求発生決定部133 に与えられるので、マ
スカブル割り込み要求発生決定部133 ではこれらの信号
に従ってその後の割り込み要求の受け付けを決定する。
【0075】EIの場合:受け付けられた割り込み要求が
ユーザ用マスカブル割り込みEI0,EI1…のいずれかで
ある場合、マイクロシーケンサ124 はPSW116の割り込み
許可フラグを”1”にセットし、割り込みマスクを割り
込み情報レジスタ137 から得た割り込みレベルに置換す
る。PBI, DBIの場合:受け付けられた割り込み要求がPC
ブレイク割り込み(PBI) またはデバッガ専用割り込み(D
BI) である場合、マイクロシーケンサ124 はPSW116の割
り込み許可フラグを”0”に、割り込みマスクを”0”
にする。
【0076】(4) 割り込みハンドラの先頭アドレスの獲
得 EIの場合:受け付けられた割り込み要求がユーザ用マス
カブル割り込みEI0,EI1…のいずれかである場合、マ
イクロシーケンサ124 は割り込み情報レジスタ137 から
得たベクタアドレスを32ビットに符号拡張し、それをア
ドレスとしてメモリ103 をリードする。PBIの場合:受
け付けられた割り込み要求がPCブレイク割り込み(PBI)
である場合、マイクロシーケンサ124 はメモリ103 のア
ドレス”FFFFFFF4(16進) ”をリードする。DBIの場
合:受け付けられた割り込み要求がデバッガ専用割り込
み(DBI) である場合、マイクロシーケンサ124 はメモリ
103 のアドレス”80000000(16進) ”をリードする。
【0077】(5) 割り込みハンドラの起動 マイクロシーケンサ124 は (4)の処理で得られた割り込
みハンドラの先頭アドレスに処理シーケンスをジャンプ
する。但し、この際にも割り込み受け付けのチェック、
即ち命令実行制御部114 による割り込み要求信号236 の
チェックは行われる。割り込み要因に対応した処理を行
うソフトウェアプログラムが割り込みハンドラである。
割り込みハンドラでは、その最後に割り込みハンドラか
らの復帰命令であるREIT命令を実行することにより、マ
イクロシーケンサ124 は先にスタックに退避していた P
SW値とPC値とをそれぞれPSW116及びPC 119とに復帰させ
て割り込み前の状態に戻る。
【0078】このように、本発明のデータ処理装置は、
割り込みレベルを有するユーザ用の割り込みと、割り込
みレベルを有していない2種類のデバッガ用の割り込み
とを用意し、全ての割り込み要求を禁止するフラグを備
えている。そして、割り込みレベルを有するユーザ用の
割り込み要求が受け付けられた場合には”割り込み許
可”状態であり、割り込みレベルを有していないデバッ
ガ用の割り込み要求が受け付けられた場合には”割り込
み禁止”状態になるよう制御することにより、割り込み
レベルを有する割り込み要求に対しては優先度の高い割
り込み要求が高速に受け付けられるようにし、割り込み
レベルを有していないデバッガ用割り込みに対しては、
他の割り込み要求と多重に割り込み処理とならないよう
に制御できる。
【0079】次に、割り込みレベルを有する割り込み要
求に対して、優先度の低い割り込み処理中に優先度の高
い割り込み要求が発生した場合の実行シーケンスについ
て説明する。ここでは一例として、ユーザ用マスカブル
割り込みの内のEI1(割り込みレベル=1) の割り込み
処理中に、同じくユーザ用マスカブル割り込みの内のEI
0(割り込みレベル=0) の割り込み要求が発生した場
合について、図8のフローチャートを参照して説明す
る。
【0080】(1) ユーザ用マスカブル割り込みEI1要求
の発生 命令A,B,Cを順に実行する際の命令Bの実行中に、
割り込みレベル=1のユーザ用マスカブル割り込みEI1
要求が発生したとする。命令B実行終了時のPSW116の値
(PSW値) は以下のようになる。 スタックモード :1 割り込み許可フラグ:1 割り込みレベル :7
【0081】(2) ユーザ用マスカブル割り込みEI1の割
り込み処理の実行 命令B終了後に、ユーザ用マスカブル割り込みEI1の割
り込み処理が実行される。そして、この間にユーザ用マ
スカブル割り込みEI0(割り込みレベル=0)要求が発
生したとする。形成されるスタックの内容は以下のよう
になる。 旧 PSW値 :命令B実行終了時の PSW値 次命令PC値:命令CのPC値 新 PSW値は以下のようになる。 スタックモード :0 割り込み許可フラグ:1 割り込みレベル :1
【0082】(3) ユーザ用マスカブル割り込みEI0の割
り込み処理の実行 ユーザ用マスカブル割り込みEI1の割り込み処理終了後
に、ユーザ用マスカブル割り込みEI0の割り込み処理が
実行される。EI1のスタックの上に更に形成されるスタ
ックは以下のようになる。 旧 PSW値 :EI1割り込み処理直後の PSW値 次命令PC値:EI1用の割り込みハンドラの先頭命令のPC
値 新 PSW値は以下のようになる。 スタックモード :0 割り込み許可フラグ:1 割り込みレベル :0
【0083】(4) ユーザ用マスカブル割り込みEI0用の
割り込みハンドラの実行 ユーザ用マスカブル割り込みEI0の割り込み処理終了後
に、ユーザ用マスカブル割り込みEI0用の割り込みハン
ドラが実行される。 (5) ユーザ用マスカブル割り込みEI1用の割り込みハン
ドラの実行 ユーザ用マスカブル割り込みEI0用の割り込みハンドラ
終了後に、ユーザ用マスカブル割り込みEI1用の割り込
みハンドラが実行される。 (6) 命令Cの実行 ユーザ用マスカブル割り込みEI1用の割り込みハンドラ
の実行終了後に、命令Cが実行される。
【0084】このように、本発明のデータ処理装置で
は、割り込みレベルを有する割り込み要求に対しては、
優先度の低い割り込み処理中に更に優先度の高い割り込
み要求が発生した場合には、優先度の低い割り込み処理
が終了した後直ちに優先度の高い割り込み処理に移る。
【0085】次に、割り込みレベルを有していないデバ
ッガ用の割り込みが、他の割り込み要求と同時に発生し
た場合の実行シーケンスについて、図9のフローチャー
トを参照して説明する。
【0086】(1) PBIの要求と NMIの要求とが同時に発
生 命令A,B,Cを順に実行する際の命令B実行中に、PB
I(PCブレイク割り込み) の要求とNMI(ノンマスカブル端
子割り込み) の要求とが同時に発生したとする。命令B
実行終了時の PSW値は以下のようになる。 スタックモード :1 割り込み許可フラグ:1 割り込みレベル :7
【0087】(2) PBI割り込み処理の実行 命令B終了後に、PCブレイク割り込み(PBI) の処理(PBI
割り込み処理) が実行される。形成されるスタックは以
下のようになる。 旧 PSW値 :命令B実行終了時の PSW値 戻り先PC値:命令CのPC値 新 PSW値は以下のようになる。 スタックモード :0 割り込み許可フラグ:0 割り込みレベル :0 割り込み許可フラグが”0”になるので、割り込み終了
後に割り込み要求が受け付けられることはない。
【0088】(3) PBI割り込みハンドラの実行 PCブレイク割り込み(PBI) 処理終了後に、PCブレイク割
り込み(PBI) 用の割り込みハンドラ(PBI割り込みハンド
ラ) が実行される。PBI割り込みハンドラの終了後は、
命令B終了時の状態に戻る。 (4) NMI割り込み処理の実行 PBI割り込みハンドラの終了後に、ノンマスカブル端子
割り込み(NMI) の処理(NMI割り込み処理) が実行され
る。形成されるスタックは以下のようになる。 旧 PSW値 :命令B実行終了時の PSW値 戻り先PC値:命令CのPC値 新 PSW値値は以下のようになる。 スタックモード :0 割り込み許可フラグ:1 割り込みレベル :0
【0089】(5) ユーザ用マスカブル割り込みEI割り込
みハンドラの実行 NMI割り込み処理の終了後に、ユーザ用マスカブル割り
込みEI用の割り込みハンドラが実行される。 (6) 命令Cの実行 NMIハンドラの終了後に、命令Cが実行される。
【0090】このように、本発明のデータ処理装置で
は、割り込みレベルを有していない割り込み要求に関し
ては、その割り込み処理後に他の割り込み処理が起動さ
れることはない。
【0091】なお、本実施例のPCブレイク割り込み(PB
I) は、そのターゲットを実行中の命令としてるが、PC
119に次命令アドレスを格納するようにすれば次命令を
ターゲットにすることが出来る。
【0092】
【発明の効果】以上に詳述したように、本発明のデータ
処理装置によれば、優先レベルを有する割り込み要求に
関しては、その割り込み処理に際して割り込み許可フラ
グを”許可”状態に設定するため、その間に優先度の高
い割り込み要求が発生していた場合には割り込み処理後
直ちにその割り込み要求受け付けることが可能になる。
また、デバッグ用等の優先レベルを有していない割り込
み要求については、その割り込み処理に際して割り込み
許可フラグを”禁止”状態に設定するため、割り込み処
理後に他の割り込み要求を受け付けることがない。換言
すれば、多重に割り込み要求を受け付けることがないの
で、複雑な制御を行う必要がなくなる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の一実施例の構成を示
すブロック図である。
【図2】本発明のデータ処理装置の一実施例のPSW のビ
ット構成を示す模式図である。
【図3】本発明のデータ処理装置の一実施例の命令ブレ
イクポイントレジスタ(XBP) のビット構成を示す模式図
である。
【図4】本発明のデータ処理装置の一実施例の割り込み
制御レジスタのビット構成を示す模式図である。
【図5】本発明のデータ処理装置の一実施例の割り込み
情報レジスタのビット構成を示す模式図である。
【図6】本発明のデータ処理装置の一実施例の割り込み
の要因毎のベクタアドレスとPSW6の更新値との関係を示
す表である。
【図7】本発明のデータ処理装置の一実施例の割り込み
処理時にプロセッサ情報をスタックに退避する際のスタ
ックフォーマットを示す模式図である。
【図8】本発明のデータ処理装置の一実施例の優先レベ
ルの低い割り込みの割り込み処理中に、優先レベルの高
い割り込み要求が発生した場合の実行シーケンスを示す
フローチャートである。
【図9】本発明のデータ処理装置の一実施例のPCブレイ
ク割り込みと NMI端子割り込みが同時に発生した場合の
実行シーケンスを示すフローチャートである。
【図10】従来のデータ処理装置の構成例を示すブロッ
ク図である。
【図11】従来のデータ処理装置のPSW の内容を示す模
式図である。
【図12】従来のデータ処理装置の割り込み制御レジス
タの内容を示す模式図である。
【符号の説明】
110 プロセッサ 114 命令実行制御部 115 命令実行部 116 PSW 117 割り込みマスク信号 118 割り込み許可信号 119 PC 120 XBP 121 SP 122 SPI 123 PBI要求信号 124 マイクロシーケンサ 125 マイクロアドレスレジスタ 126 マイクロROM 130 割り込み制御回路 131 割り込みレベル優先順位判定部 132 割り込み制御レジスタ 133 マスカブル割り込み要求発生決定部 134 ノンマスカブル要因判定部 135 EI要求保持部 136 EI要求信号 138 マスカブル割り込み要求信号 139 WDTI要求信号 140 NMI要求信号 141 DBI要求信号
【手続補正書】
【提出日】平成5年11月29日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正内容】
【0035】PSW116は、プロセッサ110 の状態を表すレ
ジスタであり、本実施例では32ビット構成を採ってい
る。なお、PSW116の構成は図2に示されており、各ビッ
トは以下の意味を有している。 ・ビット0:スタックモード(SM)0:外部割り込み用スタックポインタ(SPI122)を使用す
る。 1:通常のスタックポインタ(SP 121)を使用する。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正内容】
【0064】図7は割り込み処理に際してプロセッサ情
報、即ちPSW116の値(PSW値) 及びPC119の値である次命
令のアドレス (次命令PC値) をスタックに退避した場合
のスタックフォーマットを示す模式図である。スタック
はメモリ103 内に32ビット(4バイト) 幅の領域として設
定されており、割り込み処理前のSPI122の値(SPI値)
ら−4のアドレスに次命令PC値を、 SPI値から−8のア
ドレスに PSW値をそれぞれ退避する。従って、割り込み
処理後の SPI値は割り込み処理前の SPI値から8を減じ
た値になる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】なお、複数の割り込み要求が同時に発生し
た場合の優先順位は、” PBI>DBI>EI”、即ちPCブレ
イク割り込み>デバッガ専用割り込み>ユーザ用割り込
みの順である。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正内容】
【0071】割り込み処理は、以下のような手順で全て
ハードウェア制御で処理される。 (1) 割り込み情報レジスタのリード 割り込み情報レジスタ137 の内容は受け付けられた割り
込み要求がユーザ用割り込みNMI, WDTI,EI0,EI1…
いずれかである場合にのみマイクロシーケンサ124 によ
り読み出される。割り込み要求を受け付けた場合、マイ
クロシーケンサ124 はアドレスバス101及びデータバス1
02 を使用して割り込み情報レジスタ137 の内容、即ち
ベクタアドレス及び割り込みレベルをリードする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正内容】
【0073】(2) プロセッサ情報のスタックへの退避 命令実行制御部114 は、プロセッサ情報、即ちPSW116の
値(PSW値),PC 119の値(PC値)を図7に示されているよ
うなスタックフォーマットに従ってメモリ103に退避す
る。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正内容】
【0074】(3) PSW値の更新 命令実行制御部114 は、 (2)の処理によりその内容が一
旦スタック等へ退避された後のPSW116の割り込み禁止フ
ラグと割り込み優先マスクの設定とを行なう。なお、両
者はそれぞれ割り込み禁止フラグ信号214,プロセッサ割
り込み優先レベル信号213 としてマスカブル割り込み要
求発生決定部133 に与えられるので、マスカブル割り込
み要求発生決定部133 ではこれらの信号に従ってその後
の割り込み要求の受け付けを決定する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0075
【補正方法】変更
【補正内容】
【0075】EIの場合:受け付けられた割り込み要求が
ユーザ用割り込みNMI, WDTI,EI0,EI1…のいずれかで
ある場合、マイクロシーケンサ124 はPSW116の割り込み
許可フラグを”1”にセットし、割り込みマスクを割り
込み情報レジスタ137 から得た割り込みレベルに置換す
る。PBI, DBIの場合:受け付けられた割り込み要求がPC
ブレイク割り込み(PBI) またはデバッガ専用割り込み(D
BI) である場合、マイクロシーケンサ124 はPSW116の割
り込み許可フラグを”0”に、割り込みマスクを”0”
にする。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】変更
【補正内容】
【0076】 (4) 割り込みハンドラの先頭アドレスの獲得 EIの場合:受け付けられた割り込み要求がユーザ用割り
込みNMI, WDTI,EI0,EI1…のいずれかである場合、マ
イクロシーケンサ124 は割り込み情報レジスタ137 から
得たベクタアドレスを32ビットに符号拡張し、それをア
ドレスとしてメモリ103 をリードする。PBIの場合:受
け付けられた割り込み要求がPCブレイク割り込み(PBI)
である場合、マイクロシーケンサ124 はメモリ103 のア
ドレス”FFFFFFF4(16進) ”をリードする。DBIの場
合:受け付けられた割り込み要求がデバッガ専用割り込
み(DBI) である場合、マイクロシーケンサ124 はメモリ
103 のアドレス”80000000(16進) ”をリードする。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0089
【補正方法】変更
【補正内容】
【0089】(5) NMI割り込みハンドラの実行 NMI割り込み処理の終了後に、 NMI割り込み用の割り込
みハンドラが実行される。 (6) 命令Cの実行 NMIハンドラの終了後に、命令Cが実行される。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 第1の割り込み要因に基づいて発生し、
    第1の割り込み処理の起動を要求する第1の割り込み要
    求を通知する第1の割り込み要求手段と、 第2の割り込み要因に基づいて発生し、第2の割り込み
    処理の起動を要求する第2の割り込み要求を通知する第
    2の割り込み要求手段と、 第3の割り込み要因に基づいて発生し、第3の割り込み
    処理の起動を要求する第3の割り込み要求を通知する第
    3の割り込み要求手段と、 前記第1,第2及び第3の割り込み処理を実行する命令
    実行手段と、 前記第1,第2及び第3の割り込み要求を受け付け、そ
    れぞれに対応した割込処理の前記命令実行手段による実
    行を起動する制御手段と、 前記制御手段が割り込み要求を受け付ける許可状態であ
    るかまたは割り込み要求を受け付けない禁止状態である
    かの二つの状態を記憶する記憶手段とを備えたデータ処
    理装置において、 前記制御手段は、 前記記憶手段が禁止状態を記憶している場合には、前記
    第1,第2及び第3の割り込み処理のいずれも起動せ
    ず、 前記記憶手段が許可状態を記憶しており且つ前記第1の
    割り込み要求が発生している場合には、前記第2の割り
    込み要求及び第3の割り込み要求の発生の有無に拘わら
    ず前記記憶手段に禁止状態を記憶させると共に、前記第
    1の割り込み処理を起動し、 前記記憶手段が許可状態を記憶しており且つ前記第1の
    割り込み要求が発生しておらず、前記第2の割り込み要
    求が発生している場合には、前記第3の割り込み要求の
    発生の有無に拘わらず前記記憶手段に禁止状態を記憶さ
    せると共に、前記第2の割り込み処理を起動し、 前記記憶手段が許可状態を記憶しており且つ前記第1の
    割り込み要求,第2の割り込み要求が共に発生せず、前
    記第3の割り込み要求が発生している場合には、前記記
    憶手段に許可状態を記憶させたままとすると共に、前記
    第3の割り込み処理を起動すべくなしてあることを特徴
    とするデータ処理装置。
  2. 【請求項2】 制御手段は、 記憶手段の記憶内容の変更を制御すると共に前記第1,
    第2または第3の割り込み処理を実行するためのマイク
    ロ命令を格納したマイクロプログラムメモリと、 前記第1,第2及び第3の割り込み要求手段からの割り
    込み要求の有無及び前記記憶手段の記憶内容に対応した
    マイクロ命令を前記マイクロプログラムメモリから読み
    出すためのアドレスを指定するマイクロシーケンサとを
    備えたことを特徴とする請求項1に記載のデータ処理装
    置。
  3. 【請求項3】 命令実行手段は、実行すべき命令列中の
    任意の命令のアドレスを指定する命令アドレス指定手段
    と、実行中の命令のアドレスを保持する命令アドレス保
    持手段とを備え、 第1の割り込み要求手段は、前記命令アドレス指定手段
    が指定するアドレスと前記命令アドレス保持手段が保持
    するアドレスとを比較し、一致した場合に第1の割り込
    み要求を通知すべくなしてあることを特徴とする請求項
    1に記載のデータ処理装置。
  4. 【請求項4】 命令実行手段は、実行すべき命令列中の
    任意の命令のアドレスを指定する命令アドレス指定手段
    と、実行中の命令の次の命令のアドレスを保持する命令
    アドレス保持手段とを備え、 第1の割り込み要求手段は、前記命令アドレス指定手段
    が指定するアドレスと前記命令アドレス保持手段が保持
    するアドレスとを比較し、一致した場合に第1の割り込
    み要求を通知すべくなしてあることを特徴とする請求項
    1に記載のデータ処理装置。
  5. 【請求項5】 命令実行手段は、第3の割り込み要求を
    抑制するためのマスクレベルを記憶するマスクレベル記
    憶手段を備え、 第3の割り込み要求手段は、 それぞれに優先レベルが付与された複数の第4の割り込
    み要因に基づいて発生し、それぞれ異なる第4の割り込
    み処理の起動を要求する第4の割り込み要求をそれぞれ
    通知する複数の第4の割り込み要求手段と、 前記複数の第4の割り込み要因に対応する優先レベルを
    それぞれ保持する複数の優先レベル保持手段と、 前記第4の割り込み要求が発生した場合にそれらの内の
    最も高い優先レベルを判定する優先順位判定手段と、 前記優先順位判定手段によって判定された優先レベルが
    前記マスクレベル記憶手段に記憶されているマスクレベ
    ルよりも高い場合にそれを検知し、検知された優先レベ
    ルに対応する第4の割り込み要求を前記第3の割り込み
    要求として通知する第3の割り込み要求決定手段とを備
    えたことを特徴とする請求項1に記載のデータ処理装
    置。
  6. 【請求項6】 制御手段は、 第1,第2の割り込み処理が起動された場合に、マスク
    レベル記憶手段に最高レベルのマスクレベルを記憶さ
    せ、 第3の割り込み処理が起動された場合に、前記マスクレ
    ベル記憶手段に優先順位判定手段によって判定された優
    先レベルを記憶させるべくなしてあることを特徴とする
    請求項5に記載のデータ処理装置。
JP5158827A 1993-06-29 1993-06-29 データ処理装置 Pending JPH0713772A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5158827A JPH0713772A (ja) 1993-06-29 1993-06-29 データ処理装置
US08/257,844 US5471620A (en) 1993-06-29 1994-06-10 Data processor with means for separately receiving and processing different types of interrupts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5158827A JPH0713772A (ja) 1993-06-29 1993-06-29 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0713772A true JPH0713772A (ja) 1995-01-17

Family

ID=15680253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5158827A Pending JPH0713772A (ja) 1993-06-29 1993-06-29 データ処理装置

Country Status (2)

Country Link
US (1) US5471620A (ja)
JP (1) JPH0713772A (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4406094C2 (de) * 1994-02-25 2000-04-13 Lp Elektronik Gmbh Vorrichtung zum Betrieb einer Steuerungsanwendung
US6002877A (en) * 1994-03-23 1999-12-14 Fujitsu Limited Interrupt control method for controlling an interrupt from a peripheral device to a processor
KR0129820B1 (ko) * 1994-06-30 1998-04-15 김주용 인터럽트처리장치 및 그 방법
JP2734992B2 (ja) * 1994-07-25 1998-04-02 日本電気株式会社 情報処理装置
JPH0895798A (ja) * 1994-09-29 1996-04-12 Fujitsu Ltd データ処理装置
US5623603A (en) * 1994-11-02 1997-04-22 Fls Acquistion Corporation Method of transferring data at adjustable levels of priorities to provide optimum response to user demands
US5862389A (en) * 1995-02-27 1999-01-19 Intel Corporation Method and apparatus for selectively invoking a particular interrupt service routine for a particular interrupt request
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
KR100218675B1 (ko) * 1996-12-04 1999-09-01 정선종 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법
US5919255A (en) * 1997-03-12 1999-07-06 Texas Instruments Incorporated Method and apparatus for processing an interrupt
US6249881B1 (en) 1997-07-01 2001-06-19 National Semiconductor Corporation Method for enabling and servicing critical interrupts while running an interrupt based debug monitor
US6170033B1 (en) * 1997-09-30 2001-01-02 Intel Corporation Forwarding causes of non-maskable interrupts to the interrupt handler
US6298410B1 (en) * 1997-12-31 2001-10-02 Intel Corporation Apparatus and method for initiating hardware priority management by software controlled register access
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
US6526514B1 (en) * 1999-10-11 2003-02-25 Ati International Srl Method and apparatus for power management interrupt processing in a computing system
WO2001063416A1 (en) * 2000-02-24 2001-08-30 Bops Incorporated Methods and apparatus for scalable array processor interrupt detection and response
US6606677B1 (en) 2000-03-07 2003-08-12 International Business Machines Corporation High speed interrupt controller
JP2002055830A (ja) 2000-05-29 2002-02-20 Seiko Epson Corp 割込信号生成装置及び割込信号の生成方法
US6880021B2 (en) * 2001-09-28 2005-04-12 International Business Machines Corporation Intelligent interrupt with hypervisor collaboration
JP2004157730A (ja) * 2002-11-06 2004-06-03 Renesas Technology Corp マイクロコンピュータ
JP2005316599A (ja) * 2004-04-27 2005-11-10 Matsushita Electric Ind Co Ltd 割込制御装置
JP4817834B2 (ja) * 2005-12-19 2011-11-16 ルネサスエレクトロニクス株式会社 割り込み制御装置及び割り込み制御方法
JP4971676B2 (ja) * 2006-04-28 2012-07-11 ルネサスエレクトロニクス株式会社 割り込み制御回路及び割り込み制御方法
FR2910144A1 (fr) * 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif de detection errones au cours de l'execution d'un programme.
US20130007533A1 (en) * 2011-06-28 2013-01-03 Miller Gary L Data processing system having a sequence processing unit and method of operation
CN114443525B (zh) * 2020-11-06 2023-08-15 辰芯科技有限公司 一种数据处理系统、方法、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
US4023143A (en) * 1975-10-28 1977-05-10 Cincinnati Milacron Inc. Fixed priority interrupt control circuit
US4275440A (en) * 1978-10-02 1981-06-23 International Business Machines Corporation I/O Interrupt sequencing for real time and burst mode devices
US4636944A (en) * 1984-01-17 1987-01-13 Concurrent Computer Corporation Multi-level priority micro-interrupt controller
US4959781A (en) * 1988-05-16 1990-09-25 Stardent Computer, Inc. System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US4956842A (en) * 1988-11-16 1990-09-11 Sundstrand Corporation Diagnostic system for a watchdog timer
US5115506A (en) * 1990-01-05 1992-05-19 Motorola, Inc. Method and apparatus for preventing recursion jeopardy
JP2900627B2 (ja) * 1991-03-29 1999-06-02 日本電気株式会社 割り込み制御装置
US5257383A (en) * 1991-08-12 1993-10-26 Stratus Computer, Inc. Programmable interrupt priority encoder method and apparatus
JP3176093B2 (ja) * 1991-09-05 2001-06-11 日本電気株式会社 マイクロプロセッサの割込み制御装置
US5313640A (en) * 1992-09-23 1994-05-17 International Business Machines Corporation Method and system for the efficient response to multiple different types of interrupts

Also Published As

Publication number Publication date
US5471620A (en) 1995-11-28

Similar Documents

Publication Publication Date Title
JPH0713772A (ja) データ処理装置
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US6463520B1 (en) Processor for executing instruction codes of two different lengths and device for inputting the instruction codes
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
JP2005317023A (ja) データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法
JPH05313942A (ja) マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法
JP2001525568A (ja) 命令デコーダ
JPH1083305A (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
JP4988082B2 (ja) マイクロプロセッサ及びデータ処理システム
KR900004291B1 (ko) 데이터 프로세서
JPS61118838A (ja) マイクロプログラム可能システム
JPH0877075A (ja) 情報処理装置
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US4764869A (en) Method and apparatus for controlling interruption in the course of instruction execution in a processor
EP0270081B1 (en) Microprogram controller receiving interrupt request during instruction execution
US7139857B2 (en) Method and apparatus for handling interrupts
JPS62197831A (ja) デ−タ処理装置
JP2653412B2 (ja) ブレークポイント設定方法
JPH0635716A (ja) マイクロプロセッサ
JP2871171B2 (ja) マイクロコンピュータ
JPH06348543A (ja) 入出力シミュレータとの接続方法
JPH07225681A (ja) 割込制御装置
JP2504570B2 (ja) 記憶領域の書き込み検査処理方法
JPH0795288B2 (ja) マイクロコンピュータ