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

データ処理装置

Info

Publication number
JPH06103223A
JPH06103223A JP4251183A JP25118392A JPH06103223A JP H06103223 A JPH06103223 A JP H06103223A JP 4251183 A JP4251183 A JP 4251183A JP 25118392 A JP25118392 A JP 25118392A JP H06103223 A JPH06103223 A JP H06103223A
Authority
JP
Japan
Prior art keywords
interrupt
priority level
level
mask
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.)
Granted
Application number
JP4251183A
Other languages
English (en)
Other versions
JP3715328B2 (ja
Inventor
Yasuo Yamada
泰生 山田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP25118392A priority Critical patent/JP3715328B2/ja
Priority to DE69327043T priority patent/DE69327043T2/de
Priority to PCT/JP1993/001340 priority patent/WO1994007202A1/ja
Priority to EP93919682A priority patent/EP0614148B1/en
Publication of JPH06103223A publication Critical patent/JPH06103223A/ja
Priority to US08/742,699 priority patent/US5659759A/en
Application granted granted Critical
Publication of JP3715328B2 publication Critical patent/JP3715328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

(57)【要約】 【目的】 受け付けた割り込み要因に対応する割り込み
処理プログラムを実行する際に、割り込みマスクレベル
を自動的に設定し、同時に割り込みコントローラの優先
順位調停回路等を簡単化し、それを構成するハードウェ
ア量を減少させると共に、そこで消費される電力を低減
させ得るデータ処理装置を提供することを目的とする。 【構成】 制御手段15は、割り込み受付バスサイクル
実行時に、割り込みベクタを受け取ると同時に、入力手
段IPL0#〜IPL2#から与えられている割り込み
優先レベル値を取り込み、該割り込み優先レベル値を該
割り込み処理実行時のマスクレベルとしてマスクレベル
保持手段13に設定し、該割り込み処理実行中は受け付
けた割り込み優先レベルと同じまたは低い優先レベルの
割り込み要求をマスクするよう制御する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の割り込み優先レ
ベルを有するマイクロプロセッサ等のデータ処理装置の
割り込み処理起動方式に関し、特に、受け付けた割り込
み要因に対応する割り込み処理プログラムを実行する際
に、割り込みマスクレベルを自動的に設定し、同時に割
り込みコントローラの優先順位調停回路等を簡単化し、
それを構成するハードウェア量を減少させると共に、そ
こで消費される電力を低減させ得るデータ処理装置に関
する。
【0002】
【従来の技術】複数の優先レベルを備えた割り込み機構
は、多数ある割り込み要因の処理プログラムの中から、
本当に緊急性の高い割り込み処理に素早く対応するため
の、非常に強力で重要な技術である。同様に、割り込み
受け付け後に割り込み受付バスサイクルを実行し、割り
込み処理を要求したデバイスを識別するための割り込み
ベクタを取り込んで、そのベクタ値から受け付けた割り
込み要因に対応する処理ルーチンへ分岐するベクタ割り
込み機構も重要な技術である。
【0003】これらの割り込み機構は、現在、高性能マ
イクロプロセッサのほとんどが備えている。割り込み受
け付けバスサイクルで割り込みベクタを取り込まなけれ
ば、割り込みを要求したデバイスを特定することができ
ず、割り込み処理プログラムの中で割り込み要求デバイ
スを特定するために、1つ1つ問い合わせ(ポーリン
グ)しなければならない。これは非常に時間がかかるた
め、割り込みに対する応答時間を増大させることにな
る。
【0004】上記複数の優先レベルを備えた割り込み機
構及びベクタ割り込み機構に関する詳細な説明は、例え
ば「68000マイクロコンピュータ;喜田祐三他著、
丸善株式会社発行、ISBN4-621-02755-7 C3355 P3502E」
に詳しく解説されている。
【0005】68000マイクロプロセッサ(モトロー
ラ社)等のデータ処理装置における割り込み応答手順
は、 (1) 割り込み要求を受け付ける (2) 割り込み受付バスサイクル(割り込みアクノレッジ
サイクル)を実行する (3) 割り込みベクタを受け付ける(取り込む) (4) ベクタ値からテーブルを検索し、割り込み処理プロ
グラムのアドレスを知る (5) 割り込み処理プログラムに分岐する というものである(詳細な割り込み例外処理シーケンス
は、図5参照)。この途中で、割り込み直前のマイクロ
プロセッサの内部状態を退避する等、必要な処理が実行
されるが、ここではそれは本質ではないので省略する。
【0006】ところで、複数の優先レベルを備えた割り
込み機構では、受け付けた割り込みの優先レベルに従っ
て、その割り込みに対応した処理プログラムを実行する
際に、割り込みマスクレベルを自動的に設定するのが一
般的である(68000マイクロプロセッサでは図6に
示すレベル0からレベル7の割り込みレベルを持ち、図
5のステップS104にて行なう)。
【0007】割り込みマスクレベルは、マスクレベルと
同じか、それ以下の優先レベルの割り込み要求を無視
(マスク)するものである。従って、いま受け付けた割
り込み要求の優先レベルをマスクレベルとして設定すれ
ば、同一優先レベルの割り込み要求、及びそれ以下の優
先レベルの割り込み要求を無視する。これは、割り込み
を受け付けられたデバイスが要求を出し続けている場合
も、その要求は無視され、多重に受け付けられることが
無いため非常に都合がよい。また、同一優先レベルであ
る複数の割り込み要求の間では、最初に受け付けられた
割り込み要求の処理が終了して後に、次の割り込み要求
に対応するべきであるから、受け付けた割り込みの優先
レベルをマスクレベルとして設定するのは、非常に都合
がよい。680000マイクロプロセッサでは、優先レ
ベル7だけを例外的に扱っており、割り込みマスクレベ
ルと同一優先レベルの割り込み要求を受け付けるように
構成してマスク不可能割り込みとして使用している。
【0008】この割り込みマスクレベルの設定方式は大
変優れた方式であるが、1つ問題がある。即ち、受け付
けられた割り込み優先レベルと一致する割り込み要因に
対応した割り込みベクタを返すことが必要な点である。
【0009】割り込み処理プログラムのアドレスは割り
込みベクタから計算されるため、割り込み受付バスサイ
クルでマイクロプロセッサが取り込む、(或いは割り込
みコントローラまたは割り込み要求デバイスが与える)
割り込みベクタは、必ずしも受け付けられた優先レベル
と一致する割り込み要因に対応したものでなくても構わ
ないように見える。むしろ、受け付けられた割り込み要
求よりも優先レベルの高い割り込み要求が発生している
場合、その新たに発生した、より優先レベルの高い割り
込み要求に対応した割り込みベクタを取り込ませて、そ
の新たに発生した高優先の割り込み要求に応えてもらう
方が望ましい。
【0010】ところが、これには問題がある。割り込み
ベクタは割り込み受付バスサイクルで決定されるが、割
り込み処理ルーチンで使用される割り込みマスクレベル
は、最初に受け付けた割り込み要求のものが使われるか
らである。
【0011】実際に、マイクロプロセッサが割り込みを
受け付けてから、割り込み受付バスサイクルを実行する
までの時間は短いとは限らない。図5に示したように、
68000マイクロプロセッサの例では、プログラムカ
ウンタの下位2バイトをスタックに退避して(ステップ
S105)から、割り込み受付バスサイクルを実行する
(ステップS107)。また、別のマイクロプロセッサ
では、割り込み受付とは非同期的に命令のプリフェッチ
を行なっていることもある。この場合、割り込みを受け
付けた時点で実行していたバスサイクルが途中で中断す
ることはない。これらのバスサイクルは通常は数クロッ
クで終了するが、例えば、主記憶に使用しているダイナ
ミックメモリのリフレッシュ動作と競合したり、マルチ
プロセッサで他のバスマスタと競合した場合等では、数
十クロック以上も待たされる。
【0012】一般に、割り込み要求信号は時々刻々と変
化するものであり、割り込みが受け付けられた瞬間の割
り込み要求信号と割り込み受付バスサイクルが実行され
た瞬間の割り込み要求信号が一致する保証は全く無い。
割り込みコントローラでは、割り込み要求デバイスから
の割り込み要求を調停し、最高優先レベルの割り込みを
判定しているが、これは時々刻々と変化するものであ
る。
【0013】68000マイクロプロセッサのように、
受け付けた優先レベルの割り込みに対応する割り込みベ
クタを取り込むことが前提である場合、割り込みコント
ローラは、ある瞬間の最高優先レベルの割り込みを見つ
けるだけでなく、マイクロプロセッサが割り込み受付バ
スサイクルを実行したときに指定される(68000マ
イクロプロセッサの場合は、アドレスバスA1〜A3に
出力される)ところの、マイクロプロセッサが受け付け
た優先レベルと同一の割り込み優先レベルを持つ割り込
み要求の中で最高優先順に位置する割り込みを見つける
必要がある(複数の割り込み要因が同一の割り込み優先
レベルを共有する場合があることに注意)。これは、割
り込みコントローラにとって非常に大きな負担になり、
複雑な機構が必要になる。
【0014】また、割り込みが受け付けられた瞬間以降
に、それよりも優先レベルの高い割り込み要求信号が発
生した場合、新たに発生した高い優先レベルの割り込み
要求は、(その優先レベルが高いにも関わらず)後回し
になる。少し前に要求して受け付けられた割り込み要求
に対応する割り込み処理プログラムに制御が移った時、
そこで使われているマスクレベルよりも優先レベルが高
い割り込みとして受け付けられるまで、待たされること
になる。
【0015】割り込みが受け付けられてから割り込み処
理プログラムの実行が開始されるまでには、マイクロプ
ロセッサの内部状態を退避する等の処理を行なうため
に、一般に数十クロック必要である。従って、最高優先
レベルの割り込み要求を決定する時期は、それをマイク
ロプロセッサに伝える(割り込み受付バスサイクルで割
り込みベクタを与える)直前であるのが望ましい。
【0016】この場合、マイクロプロセッサが受け付け
た割り込みと割り込み受付バスサイクルで取り込む割り
込みベクタとが一致しない場合が考えられ、マイクロプ
ロセッサはそういう状況にも対応できる機構を備える必
要がある。しかしながら、例えば68000マイクロプ
ロセッサの場合、受け付けた優先レベルを割り込みマス
クレベルとして設定するので、この不一致は致命的であ
り、許されない。
【0017】
【発明が解決しようとする課題】以上のように、従来の
データ処理装置では、割り込み処理プログラムで使用す
る割り込みマスクレベルとして受け付けた優先レベルを
自動設定する、という機構を備える場合、割り込みベク
タをマイクロプロセッサに与える際に、マイクロプロセ
ッサが指定した優先レベル(受け付けた優先レベルを指
定する)に対応する割り込み要因を捜して、それに対応
する割り込みベクタを与えなければならず、割り込みコ
ントローラの優先順位順序機構を著しく複雑にするとい
う欠点があった。
【0018】また、割り込みを受け付けた時点で最高優
先レベルであった割り込みに対応するため、たとえその
直後に、より高い優先レベルを持った割り込み要求が来
ていても、それは後回しにされることになる。即ち、最
高優先の割り込み要求を決定する時期が必要以上に早い
ため、高い優先レベルを持つ割り込み要求の応答時間が
必要以上に伸びる恐れがあるという欠点があった。
【0019】本発明は、上記問題点を解決するもので、
その目的は、最高優先レベルの割り込み要求を決定する
時期を可能な限り遅くし、割り込み受付バスサイクルで
割り込みベクタを与える直前に行なうことで、高い優先
レベルを持つ割り込み要求の応答時間を短縮したデータ
処理装置を提供することである。
【0020】また本発明の他の目的は、割り込みコント
ローラの優先順位調停回路を簡単化し、割り込みコント
ローラを構成するのに必要となるハードウェア量を削減
すると共に、割り込みコントローラにおいて消費される
電力を低減したデータ処理装置を提供することである。
【0021】
【課題を解決するための手段】前記課題を解決するため
に、本発明の特徴は、図1に示す如く、当該データ処理
装置の外部から、複数の割り込み優先レベルの内の1つ
が指定されている割り込み要求を入力する入力手段IP
L0#〜IPL2#と、前記複数の割り込み優先レベル
の中の全ての優先レベルの割り込み要求を全くマスクし
ないで受けるか、或いは前記複数の割り込み優先レベル
の中の低優先レベル側から任意のレベルまでの割り込み
要求を無視するように指定して該割り込み要求をマスク
する割り込みマスク手段11と、前記割り込みマスク手
段11によりマスクされている最大の割り込み優先レベ
ルを保持するマスクレベル保持手段13と、前記入力手
段IPL0#〜IPL2#により入力した割り込み要求
が前記マスクレベル保持手段13の保持するマスクレベ
ルよりも高い時に、該割り込み要求を受け付けるステッ
プと、受け付けた割り込み優先レベルを示して割り込み
受付バスサイクルを実行し、該優先レベルと同じかまた
はそれより高い優先レベルを持つ割り込み要求に対し
て、少なくとも該割り込み要求の要求元を識別できる割
り込みベクタを受け取るステップとを含む割り込み処理
起動手順を実行する制御手段15とを具備し、前記制御
手段15は、前記割り込み受付バスサイクル実行時に、
前記割り込みベクタを受け取ると同時に、前記入力手段
IPL0#〜IPL2#から与えられている割り込み優
先レベル値を取り込み、該割り込み優先レベル値を該割
り込み処理実行時のマスクレベルとして前記マスクレベ
ル保持手段13に設定し、該割り込み処理実行中は受け
付けた割り込み優先レベルと同じまたは低い優先レベル
の割り込み要求をマスクするよう制御することである。
【0022】
【作用】本発明の特徴のデータ処理装置では、制御手段
15は、入力手段IPL0#〜IPL2#により入力し
た割り込み要求がマスクレベル保持手段13の保持する
マスクレベルよりも高い時に、該割り込み要求を受け付
けるステップと、受け付けた割り込み優先レベルを示し
て割り込み受付バスサイクルを実行し、該優先レベルと
同じかまたはそれより高い優先レベルを持つ割り込み要
求に対して、少なくとも該割り込み要求の要求元を識別
できる割り込みベクタを受け取るステップとを含む割り
込み処理起動手順を実行するが、最高優先レベルの割り
込み要求を決定する時期を可能な限り遅くすることで割
り込みコントローラの回路を簡単化すると共に、高い優
先レベルを持つ割り込み要求の応答時間を短くしてい
る。
【0023】具体的には、常に割り込みコントローラで
最高優先レベルの割り込み要求の決定を行なうことと
し、その結果として、割り込み受付バスサイクルで割り
込みベクタを与える直前の調停結果が意味を持つように
している。
【0024】この際、割り込みベクタにより指定された
割り込み処理プログラムのためのマスクレベルの自動設
定の問題があるが、これに対しては、データ処理装置が
割り込みベクタと同時にサンプルし直した割り込み要求
の優先レベル値を使用することで対処する。このため制
御手段15は、割り込み受付バスサイクル実行時に、割
り込みベクタを受け取ると同時に、入力手段IPL0#
〜IPL2#から与えられている割り込み優先レベル値
を取り込み、該割り込み優先レベル値を該割り込み処理
実行時のマスクレベルとしてマスクレベル保持手段13
に設定し、該割り込み処理実行中は受け付けた割り込み
優先レベルと同じまたは低い優先レベルの割り込み要求
をマスクするよう制御する。
【0025】データ処理装置が割り込みベクタを取り込
んだということは、その割り込みに対して応答すること
を意味しており、割り込みベクタの取り込み以降の時点
で処理する割り込みを変更することはできない。従っ
て、割り込みベクタの取り込み直前まで優先順位の調停
を許し、割り込みベクタ取り込みと同時に最も高い割り
込み要求の優先レベルを取り込むという動作により、最
高優先レベルの割り込み要求を決定する時期を可能な限
り遅くする。
【0026】これにより、高い優先レベルを持つ割り込
み要求の応答時間を短縮したデータ処理装置の割り込み
処理起動方式を実現すると共に、割り込みコントローラ
の優先順位調停回路を簡単化し、それを構成するのに必
要となるハードウェア量を減少し、更にそこで消費され
る電力を低減することが可能となる。
【0027】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0028】図1に本発明の一実施例に係るデータ処理
装置の構成図を示す。
【0029】図1に示すように、本実施例のデータ処理
装置(以下、マイクロプロセッサという)は、アドレス
バスA1〜A23、データバスD0〜D15、バス制御
信号群、及び割り込み要求信号群IPL0#〜IPL2
#からなるインタフェース信号を介して、周辺装置や割
り込みコントローラと接続されている。ここでバス制御
信号群には、アドレスストローブ信号AS#、リードラ
イト信号R/W#、上位データストローブ信号UDS
#、下位データストローブ信号LDS#、及びデータア
クノレッジ信号DTACK#が含まれている。また3本
の割り込み要求要求信号IPL0#〜IPL2#は、外
部デバイスがマイクロプロセッサ1に対して割り込み要
求があることを示すために用いられ、レベル1からレベ
ル7の割り込み要求レベルがある。尚、信号名に続く記
号#は、その信号が負論理信号であることを示してい
る。
【0030】また、本実施例のマイクロプロセッサ1の
内部構成は、割り込み要求信号群IPL0#〜IPL2
#により入力される割り込み要求の一部を選択的にマス
クする(或いは全くマスクしない)マスク回路11と、
マスクする最大の優先レベルを保持するマスクレジスタ
13と、マスク回路11でマスクした結果、マスクレジ
スタ13のマスクレベルよりも高い優先レベルの割り込
みがあったことを示す優先割り込み信号51を受けて、
割り込み受付に関する一切の処理を制御する制御回路1
5とから構成されている。
【0031】制御回路15は、優先割り込み信号51を
受けて、マスクレジスタ13に対してマスクレベル取り
込み信号53を発して、割り込み要求信号群IPL0#
〜IPL2#により入力される割り込み要求レベルをマ
スクレジスタ13に取り込む。
【0032】マスクレジスタ13は、PSW(プロセッ
サステータスワード)とも呼ばれるマイクロプロセッサ
1の種々の動作を制御するビットが集まったレジスタの
一部に含まれていてもよい。PSWの一構成例を図2に
示す。
【0033】本実施例のマイクロプロセッサ1において
は、複数の優先レベルを備えた割り込み機構とベクタ割
り込み機構を備えている。割り込みの優先レベルは、1
〜7のレベル(レベル0は割り込みが要求されていない
ことを示す)があり、レベル1が最低優先レベル、レベ
ル7が最高優先レベルである。これらの機構が働く様子
を、図3に示す割り込み処理起動手順により説明する。
【0034】先ず初めに、マイクロプロセッサ1ではマ
スクレジスタ13のマスクレベルとして、”2”が設定
されているものとする(ステップSp1)。この場合、
優先レベルが1または2の割り込み要求はマスクされ、
無視されて受け付けられない。つまりマイクロプロセッ
サ1側のプログラムの進行により、低優先レベルの割り
込みをマスクする必要がなくなるまで待たされることに
なる。
【0035】さて、周辺デバイスAからの割り込み要求
信号が、割り込みコントローラに入力され(ステップS
c1)、割り込みコントローラで優先順位の調停が行な
われて、最高優先レベル(この場合、入力が1つしかな
いが、レベル3が最高優先レベル)を持つ割り込み要求
入力の優先レベルを、割り込み要求としてマイクロプロ
セッサ1に伝える(ステップSc2)。
【0036】マイクロプロセッサ1では、入力された割
り込み要求の優先レベル(=3)が、マスクレベルより
も大きいことをマスク回路11で判定し、制御回路15
へ割り込みがあったことを示す優先割り込み信号51に
より伝える。制御回路15では、命令の切れ目など所定
のタイミングで割り込み要求を受け付ける(ステップS
p2)。そして、割り込み要求を受け付けたことを周辺
デバイスや割り込みコントローラに知らせ、割り込み受
付バスサイクルを実行する(ステップSp3)。これ
は、割り込みを要求したデバイスを識別する(割り込み
処理プログラムのアドレスを知る)ための割り込みベク
タを受け取るために行なわれる。この時、アドレスバス
A1〜A23には受け付けた割り込み優先レベル(=
3)が出力される。
【0037】これに応答して割り込みコントローラは、
周辺デバイスAに固有に割り当てられた割り込みベクタ
をデータバスD0〜D15に出力し(ステップSc
3)、マイクロプロセッサ1はデータバスD0〜D15
上の割り込みベクタを取り込んで(ステップSp4)、
割り込み処理プログラムへと制御を移す(ステップSp
5)。割り込みベクタを取り込むと同時に、割り込み要
求信号群IPL0#〜IPL2#により入力される割り
込み要求レベル値(=3)も取り込み、その値を割り込
み処理プログラムでのマスクレベルとするべく、マスク
レジスタ13に設定する。つまり、制御回路15からマ
スクレベル取り込み信号53が与えられる時にマスクレ
ジスタ13に取り込まれる。これにより、周辺デバイス
Aの割り込み処理プログラムでは、そのデバイスの優先
レベルである”3”を越える割り込み要求は受け付けら
れるが、それ以下の割り込み要求はマスクされる。
【0038】上述した図3の場合では、割り込みを受け
付けた時点での最高優先レベルと、割り込みベクタを取
り込む時点での最高優先レベルが同じであった。従っ
て、従来例と同様に、割り込みを受け付けた時点での優
先レベルを、その割り込み処理プログラムでのマスクレ
ベルとするよう動作しても、特に不都合は生じない。
【0039】ところで、実際のマイクロプロセッサで
は、割り込みを受け付けた時点で処理していたプログラ
ムに依存するマイクロプロセッサの内部状態(例えば、
汎用レジスタの内容、プログラムカウンタの内容等)を
保存して、割り込み処理プログラムから復帰した時に、
滞りなく元の処理を続行しなければならない。従って、
割り込み要求を受け付けてから、直ちに割り込み受付バ
スサイクルが実行されるとは限らない。その間に、別の
周辺デバイスからの割り込み要求信号が割り込みコント
ローラに入力され、最高優先レベルが変化することが考
えられる。この場合の動作を、図4に示す割り込み処理
起動手順により説明する。
【0040】先ず、マイクロプロセッサ1ではマスクレ
ジスタ13のマスクレベルとして、”2”が設定されて
いるものとする(ステップSp11)。
【0041】周辺デバイスAからの割り込み要求信号
が、割り込みコントローラに入力され(ステップSc1
1)、割り込みコントローラで優先順位の調停が行なわ
れて、最高優先レベル(レベル3)を持つ割り込み要求
入力の優先レベルを、割り込み要求としてマイクロプロ
セッサ1に伝える(ステップSc12)。
【0042】マイクロプロセッサ1では、入力された割
り込み要求の優先レベル(=3)が、マスクレベルより
も大きいので、制御回路15は、命令の切れ目など所定
のタイミングで割り込み要求を受け付ける(ステップS
p12)。しかし、割り込み受付バスサイクルを実行す
るまでに、若干の時間が経過する場合がある。また、非
常に微妙なタイミングで周辺デバイスBからの割り込み
要求が発生した場合、割り込みの受付から割り込み受付
バスサイクルまでの間に、最高優先レベルが変化する恐
れがある。例えば図4のステップSc13のように、周
辺デバイスAよりも高い優先レベル(レベル5)を有す
る周辺デバイスBから割り込み要求が発生し、調停回路
の最高優先レベルが”5”に変化した場合(ステップS
c14)がこれである。この場合、マイクロプロセッサ
1側では、最初に受け付けた割り込み要求の優先レベル
が”3”であるので、割り込み受付バスサイクルでは、
アドレスバスA1〜A23上に受け付けた割り込み要求
の優先レベルである”3”を載せ、受け付けた割り込み
要求がレベル3のものであることを示す(ステップSp
13)。
【0043】この割り込み受付バスサイクルに応答し
て、割り込みコントローラは、その時点で最高優先レベ
ルであるレベル5の割り込みに応答させるべく、レベル
5の割り込みを要求している周辺デバイスBに固有に割
り当てられた割り込みベクタをデータバスD0〜D15
に出力する(ステップSc15)。
【0044】マイクロプロセッサ1はデータバスD0〜
D15上の割り込みベクタを取り込んで(ステップSp
14)、より高い優先レベルの割り込みを要求した周辺
デバイスB用の割り込み処理プログラムへと制御を移す
(ステップSp15)。また割り込みベクタを取り込む
と同時に、割り込み要求信号群IPL0#〜IPL2#
により入力される割り込み要求レベル値(=5)も取り
込み、その値を周辺デバイスB用の割り込み処理プログ
ラムでのマスクレベルとするべく、マスクレジスタ13
に設定する。
【0045】ここで、最初に受け付けた割り込みの優先
レベルは”3”であったが、割り込みベクタと同時に取
り込んだ優先レベルである”5”を使用する点が重要で
ある。つまり、周辺デバイスBの割り込み処理プログラ
ムでは、そのデバイスの優先レベルである”5”を越え
る割り込み要求は受け付けられるが、それ以下の割り込
み要求はマスクされることとなる。
【0046】比較のために、本発明の手法を用いず、最
初に受け付けた時点での優先レベル値である”3”をマ
スクレベルとして設定した場合の問題点を考える。
【0047】周辺デバイスB用の割り込み処理プログラ
ムは、その割り込み優先レベルが”5”に割り当てられ
ていることを知っており、優先レベル5以下の割り込み
が掛からない(優先レベル5以下の割り込み要求により
中断されない)ことを前提にコーディングされているか
もしれない。この場合、優先レベル5に割り当てられた
プログラムがマスクレベル3で実行されるため、優先レ
ベル4または優先レベル5の割り込みが受け付けられる
可能性があり、予測しない事態が発生する。
【0048】また、周辺デバイスBで一度発生した割り
込み要求は、周辺デバイスB用の割り込み処理プログラ
ムの中で所定の処理を実行し、割り込み要因を取り除か
ない限り、解除されないことも考えられる。この場合、
マスクレベル3で周辺デバイスB用の割り込み処理プロ
グラムを実行開始した直後に、同じ周辺デバイスBから
の割り込み要求(優先レベル5)が受け付けられてしま
う。つまり結果として、周辺デバイスBからの割り込み
要求が誤って2度受け付けられたことになる。
【0049】このような問題点があるため、従来のマイ
クロプロセッサでは、マイクロプロセッサが最初に受け
付けた優先レベルと異なる優先レベルの割り込みに応答
することはできなかった。従って、割り込みコントロー
ラは、割り込み受付バスサイクルでアドレスバスに示さ
れた優先レベルと一致する割り込み要求を捜す必要があ
り、機構が複雑になってしまう。また、より高い優先レ
ベルの割り込み要求が発生していても、それに対して直
ちに応答することが許されないため、高い優先レベルを
持つ割り込み要求の応答時間が必要以上に伸びる場合が
発生するという問題があった。
【0050】本実施例の割り込み処理起動方式では、マ
イクロプロセッサ1は、データバスD0〜D15上に載
っている割り込みベクタを取り込むと同時に、割り込み
要求信号群IPL0#〜IPL2#により入力される割
り込み要求レベル値も取り込み、その優先レベル値をこ
れから実行する割り込み処理プログラムでのマスクレベ
ルとして設定するので、上記問題点は簡単に解決でき
る。
【0051】また、本実施例の割り込み処理起動方式で
は、従来例と同等の機構で実現できるにも関わらず、ま
た割り込み要求入力の優先レベルを再サンプルするだけ
なので特に処理手順が複雑になることもなく、種々の問
題点が解決できる。ここで、割り込み処理起動に必要な
クロック数を全く増加することがない、という点も特筆
すべきものである。
【0052】また、マイクロプロセッサがこのような割
り込み処理起動方式を採用することで、割り込みコント
ローラでは、割り込み要求を発生している周辺デバイス
の中から指定された優先レベルと一致するものを捜すと
いった、非常に手間が掛かり複雑な機構を必要とする処
理が不要になるので、割り込みコントローラの優先順位
調停回路が簡単化され、それを構成するのに必要となる
ハードウェア量を減少すると共に、そこで消費される電
力を低減することができる。
【0053】更に、高い優先レベルを持つ割り込み要求
の応答時間を短縮することができる。
【0054】これらの効果により、マイクロプロセッサ
システム全体として見た場合の処理性能を向上すること
ができ、マイクロプロセッサや周辺装置の応用範囲を広
げることが可能となる。
【0055】
【発明の効果】以上のように本発明によれば、割り込み
受付バスサイクル実行時に、割り込みベクタを受け取る
と同時に、入力手段から与えられている割り込み優先レ
ベル値を取り込み、該割り込み優先レベル値を該割り込
み処理実行時のマスクレベルとしてマスクレベル保持手
段に設定し、該割り込み処理実行中は受け付けた割り込
み優先レベルと同じまたは低い優先レベルの割り込み要
求をマスクするよう制御し、常に割り込みコントローラ
で最高優先レベルの割り込み要求の決定を行なうことと
し、割り込み受付バスサイクルで割り込みベクタを与え
る直前の調停結果が意味を持つようにしたので、最高優
先レベルの割り込み要求を決定する時期を可能な限り遅
くすることができ、高い優先レベルを持つ割り込み要求
の応答時間を短縮したデータ処理装置の割り込み処理起
動方式を実現すると共に、割り込みコントローラの優先
順位調停回路を簡単化し、それを構成するのに必要とな
るハードウェア量を減少し、更にそこで消費される電力
を低減可能なデータ処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るデータ処理装置の構成
図である。
【図2】実施例のデータ処理装置におけるPSW(プロ
セッサステータスワード)のビット構成図である。
【図3】実施例のデータ処理装置における割り込み処理
起動手順(割り込み受付時の最高優先レベルと、割り込
みベクタ取込時の最高優先レベルが同じ場合)を示すフ
ローチャートである。
【図4】実施例のデータ処理装置における割り込み処理
起動手順(割り込み要求受付後、最高優先レベルが変化
する場合)を示すフローチャートである。
【図5】従来のデータ処理装置における割り込み例外処
理手順を示すフローチャートである。
【図6】従来のデータ処理装置における割り込みレベル
の説明図である。
【符号の説明】
1 マイクロプロセッサ 11 マスク回路(割り込みマスク手段) 13 マスクレジスタ(マスクレベル保持手段) 15 制御回路(制御手段) A1〜A23 アドレスバス D0〜D15 データバス IPL0#〜IPL2# 割り込み要求信号群 AS# アドレスストローブ信号 R/W# リードライト信号 UDS# 上位データストローブ信号 LDS# 下位データストローブ信号 DTACK# データアクノレッジ信号 51 優先割り込み信号 53 マスクレベル取り込み信号

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 当該データ処理装置の外部から、複数の
    割り込み優先レベルの内の1つが指定されている割り込
    み要求を入力する入力手段と、 前記複数の割り込み優先レベルの中の全ての優先レベル
    の割り込み要求を全くマスクしないで受けるか、或いは
    前記複数の割り込み優先レベルの中の低優先レベル側か
    ら任意のレベルまでの割り込み要求を無視するように指
    定して該割り込み要求をマスクする割り込みマスク手段
    と、 前記割り込みマスク手段によりマスクされている最大の
    割り込み優先レベルを保持するマスクレベル保持手段
    と、 前記入力手段により入力した割り込み要求が前記マスク
    レベル保持手段の保持するマスクレベルよりも高い時
    に、該割り込み要求を受け付けるステップと、受け付け
    た割り込み優先レベルを示して割り込み受付バスサイク
    ルを実行し、該優先レベルと同じかまたはそれより高い
    優先レベルを持つ割り込み要求に対して、少なくとも該
    割り込み要求の要求元を識別できる割り込みベクタを受
    け取るステップとを含む割り込み処理起動手順を実行す
    る制御手段とを有し、 前記制御手段は、前記割り込み受付バスサイクル実行時
    に、前記割り込みベクタを受け取ると同時に、前記入力
    手段から与えられている割り込み優先レベル値を取り込
    み、該割り込み優先レベル値を該割り込み処理実行時の
    マスクレベルとして前記マスクレベル保持手段に設定
    し、該割り込み処理実行中は受け付けた割り込み優先レ
    ベルと同じまたは低い優先レベルの割り込み要求をマス
    クするよう制御することを特徴とするデータ処理装置。
JP25118392A 1992-09-21 1992-09-21 データ処理装置 Expired - Fee Related JP3715328B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP25118392A JP3715328B2 (ja) 1992-09-21 1992-09-21 データ処理装置
DE69327043T DE69327043T2 (de) 1992-09-21 1993-09-20 Datenverarbeitungsvorrichtung
PCT/JP1993/001340 WO1994007202A1 (fr) 1992-09-21 1993-09-20 Appareil de traitement de donnees
EP93919682A EP0614148B1 (en) 1992-09-21 1993-09-20 Data processing apparatus
US08/742,699 US5659759A (en) 1992-09-21 1996-11-04 Data processing device having improved interrupt controller to process interrupts of different priority levels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25118392A JP3715328B2 (ja) 1992-09-21 1992-09-21 データ処理装置

Publications (2)

Publication Number Publication Date
JPH06103223A true JPH06103223A (ja) 1994-04-15
JP3715328B2 JP3715328B2 (ja) 2005-11-09

Family

ID=17218921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25118392A Expired - Fee Related JP3715328B2 (ja) 1992-09-21 1992-09-21 データ処理装置

Country Status (4)

Country Link
EP (1) EP0614148B1 (ja)
JP (1) JP3715328B2 (ja)
DE (1) DE69327043T2 (ja)
WO (1) WO1994007202A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259968A (ja) * 2005-03-16 2006-09-28 Seiko Epson Corp プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP2010033590A (ja) * 2000-05-29 2010-02-12 Seiko Epson Corp 割込信号生成装置及び割込信号の生成方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2498823T3 (es) * 1999-03-31 2014-09-25 Novozymes A/S Variante de lipasa
JP4151198B2 (ja) 1999-06-23 2008-09-17 株式会社デンソー 割込コントローラ及びマイクロコンピュータ
CN120578485B (zh) * 2025-08-06 2025-11-21 杭州协能科技股份有限公司 一种芯片中断处理方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214032A (ja) * 1985-03-20 1986-09-22 Hitachi Ltd 割込み制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033590A (ja) * 2000-05-29 2010-02-12 Seiko Epson Corp 割込信号生成装置及び割込信号の生成方法
JP2006259968A (ja) * 2005-03-16 2006-09-28 Seiko Epson Corp プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Also Published As

Publication number Publication date
DE69327043T2 (de) 2000-04-20
EP0614148A1 (en) 1994-09-07
JP3715328B2 (ja) 2005-11-09
WO1994007202A1 (fr) 1994-03-31
DE69327043D1 (de) 1999-12-23
EP0614148B1 (en) 1999-11-17
EP0614148A4 (en) 1995-03-01

Similar Documents

Publication Publication Date Title
US5659759A (en) Data processing device having improved interrupt controller to process interrupts of different priority levels
JPH05250305A (ja) データ転送制御方式
KR970003321B1 (ko) 코프로세서 지정 시스템
US5659760A (en) Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information
JPH0530112A (ja) デイジタル信号処理システムの制御方法
JPH06103223A (ja) データ処理装置
US20030172215A1 (en) Interrupt- controller
JP4451010B2 (ja) プログラマブルコントローラ
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
JPH0414376B2 (ja)
US20030177229A1 (en) Microcomputer, bus control circuit, and data access method for a microcomputer
JPS59144955A (ja) 情報処理装置
JP3139310B2 (ja) ディジタル信号処理装置
JPH05216808A (ja) データ処理装置
JPS5942331B2 (ja) プロセツサソウチノセイギヨホウシキ
JP2000215152A (ja) Dma制御回路
JPH0651979A (ja) 周辺装置制御用マイクロプロセッサ
JPH02109128A (ja) コンピュータシステム
JPS6349941A (ja) 演算処理装置
JPH03188547A (ja) データ転送制御装置
JP2004110742A (ja) Dmaコントローラ
JPS6252900B2 (ja)
JPH0553831A (ja) 割込み機能付コンピユータ装置
JPS62296236A (ja) マイクロプロセツサの割り込み処理装置
JPH0675898A (ja) ダイレクトメモリアクセスコントローラ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050825

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees