JP2594600B2 - シングルチップマイクロコンピュータ - Google Patents

シングルチップマイクロコンピュータ

Info

Publication number
JP2594600B2
JP2594600B2 JP63041175A JP4117588A JP2594600B2 JP 2594600 B2 JP2594600 B2 JP 2594600B2 JP 63041175 A JP63041175 A JP 63041175A JP 4117588 A JP4117588 A JP 4117588A JP 2594600 B2 JP2594600 B2 JP 2594600B2
Authority
JP
Japan
Prior art keywords
interrupt
interrupt request
level
register
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63041175A
Other languages
English (en)
Other versions
JPH01214939A (ja
Inventor
重達 香取
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63041175A priority Critical patent/JP2594600B2/ja
Publication of JPH01214939A publication Critical patent/JPH01214939A/ja
Application granted granted Critical
Publication of JP2594600B2 publication Critical patent/JP2594600B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はシングルチップマイクロコンピュータに関
し、特にシングルチップマイクロコンピュータの割込み
処理装置に関する。
〔従来技術の説明〕
近年の集積回路製造技術の進歩に伴い、シングルチッ
プマイクロコンピュータの高性能化も著しく、特に、タ
イマカウンタ、A/Dコンバータ、シリアル送受信回路
等、シングルチップマイクロコンピュータ上に集積され
る周辺装置の機能もますます高度化、多様化している。
このため、シングルチップマイクロコンピュータの中
央処理装置(以下CPUと記す)には単に命令動作による
データ処理を高速に実行制御するだけでなく、周辺装置
等からの処理要求に対する効率的、かつ高速なデータ処
理機能に対する要求も著しく高まっている。
従来、CPUが周辺装置等の処理要求に応じて高速にデ
ータ処理を実行制御するための手段として割込みという
手法が広く用いられている。
通常、CPUが扱う周辺装置等からの処理要求(以下割
込み要求と記す)は複数で、場合によっては数十本に達
するため、CPUと周辺装置との間に割込み制御装置が設
けられ、この割込み制御装置がこれら複数の割込み要求
に対する仲裁処理や選択処理を行なった後CPUに対して
割込み要求発生を通知している。CPUは、この割込み要
求の通知により割込み要求に基づいたデータ処理を開始
する。
一般に、割込み要求の緊急度に応じ、実時間処理の必
要性から他の割込みサービス期間中でもこれを中断し、
ただちに緊急度の高い他の割込み処理に移る必要のある
割込み要求や、それ自身の緊急度はそれ程高くなく、他
の割込みサービス中は保留されていても問題のない割込
み要求等、様々な緊急度を有する割込み要求が存在す
る。
緊急度が高い割込みが発生した場合に、他の割込みサ
ービス期間中でもこの割込み処理を開始し、割込み要求
の発生状況によっては次々と緊急度の高い割込みサービ
スを開始していく処理形態を多重割込み処理と称してい
る。従来、この多重割込み処理はソフトウェア処理によ
り実現されている。
第7図は従来のシングルチップマイクロコンピュータ
のブロック図である。
CPU500は、各種データ処理のタイミングを規定するタ
イミング制御回路201を含む。タイミング制御回路201に
は、割込み制御装置400から割込み要求信号106が入力す
ると共に、割込み要求の受付けを通知するための割込み
受付け信号203、受付けた割込み要求を識別するための
割込みベクタの読出し信号であるベクタリード信号204
を割込み制御装置400に出力する。また、タイミング制
御回路201は、ベクタリード信号204の出力に同期してデ
ータバス206上に割込み制御装置400から出力された割込
みベクタ情報を取り込み、割込み要求信号106で通知さ
れた割込み要求の要求元を認識する。割込み制御回路40
1は、割込み要求フラグレジスタ101、割込みマスクレジ
スタ102を含み、これらの各レジスタ101,102の内容によ
り受けつけるべきただ1つの割込み要求を選択し、割込
み要求信号106をアクティブにする。インタフェース回
路107は、割込み制御回路401から割込み要求信号106を
介してCPU500に通知された割込み要求を識別するための
割込みベクタを発生し、ベクタリード信号204に同期し
てこの割込みベクタをデータバス206上に出力する。
第8図は割込み要求フラグレジスタ101と割込みマス
クレジスタ102の構成図、第9図は割込み制御回路401の
回路図である。
割込み制御回路401は、各種制御レジスタとして割込
み要求フラグレジスタ101と割込みマスクレジスタ102を
含む。割込み要求フラグレジスタ101は、割込み要求元
から発生する割込み要求を保持するフラグレジスタで、
各割込み要求元とビット単位で対応しており、割込み要
求元の数nに対応してnビットで構成される。割込みマ
スクレジスタ102は割込み要求フラグレジスタ101の各ビ
ットと連動し、割込み要求フラグレジスタ101の各ビッ
トに対応してこの内容の有効/無効を指定する。本従来
例では“0"を設定した場合には、割込み要求フラグレジ
スタ101の対応するビット内に保持される割込み要求情
報を無効に、また“1"を設定した場合には、対応ビット
内の割込み要求情報を有効として割込み処理の対象とす
る。
割込み要求フラグ1011,1012,1013は、割込み要求フ
ラグ101の各構成ビットで、各割込み要求元(図示せ
ず)に対応して設定され、これらの各割込み要求元から
の割込み要求信号でセットされ、また、割込み要求の受
付けによりCPU500から出力される割込み受付け信号203
に同期し、後述する要求受付けフラグ1081,1082,1083
の状態によりアンドゲート1091,1092,1093で選択的に
クリアされる。割込みマスクレジスタ1021,1022,1023
の各出力は、アンドゲート1101,1102,1103を介して非
マスク状態の要求のみが選択され、後述する割込み要求
選択回路1141,1142,1143に入力する。割込み要求選択
回路1141,1142,1143は、同時に2個以上の割込み要求
が出力された場合にこの中から1つの割込み要求を選択
するための選択回路で、アンドゲート1101,1102,1103
の出力の中からデージーチェインの手法で単一の割込み
要求を選択する。要求受付けフラグ1081,1082,1083
割込み要求選択回路1141〜1143で選択された割込み要求
を保持するフラグレジスタで、複数の割込み要求元から
発生した各割込み要求の内、単一のフラグのみが排他的
にセット状態となる。なお、要求受付けフラグ1081,10
82,1083はそれぞれインタフェース回路107に接続さ
れ、割込み要求元を識別するための割込みベクタコード
生成に使用される。オアゲート115は、各要求受付けフ
ラグ1081,1082,1083の状態の論理和をとり、CPU500へ
割込み要求信号106として出力する。
次に、第9図を参照して割込み制御装置400の動作を
説明する。
割込み要求が入力していない状態では割込み要求フラ
グレジスタ101はクリア状態にある。割込み要求が入力
して割込み要求フラグレジスタ101内のビットがセット
状態となり、かつ対応する割込みマスクレジスタ102が
開いている場合には、割込み要求有効となる。即ち、ア
ンドゲート1101〜1103、要求受付けフラグ1081〜1083
オアゲート115を順に介し、割込み要求信号106がアクテ
ィブ状態となり、CPU500に割込み要求の発生が通知され
る。
この従来の割込み制御装置400は、すべての割込み要
求をすべて同一レベルで扱っているため、CPU500が緊急
度の高い割込みサービスプログラムを実行している期間
は、緊急度の低い割込み要求を保留状態にするといった
多重割込みに関連する割込み処理を以下に説明するソフ
トウェアで処理していた。
(1)割込みサービスプログラムの最初で割込みマスク
レジスタ102をメモリまたはレジスタに退避する。
(2)受付けを禁止したい割込み要求元に対応するマス
クビットをマスク状態にするように割込みマスクレジス
タ102にマスクデータを再設定する。この時、緊急度の
高い割込みを受付けた場合には、この割込みサービスプ
ログラムの先頭でマスク状態に対応するデータをマスク
レジスタ102に設定する。また、緊急度の低い割込みを
受付けた場合には、同様に、割込みサービスプログラム
の先頭で、非マスク状態に対応するデータをマスクレジ
スタ102に設定する。
また、割込みサービス処理の完了時には、以下の処理
を必要としていた。
(1)割込みサービスプログラムの終了時にレジスタま
たはメモリに退避されていた旧マスク情報を割込みマス
クレジスタ102に書き戻す。
(2)割込みサービスからの復帰命令を実行し、割込み
により中断していたプログラムの実行を再開する。
〔発明が解決しようとする課題〕
上述した従来のシングルチップマイクロコンピュータ
は、緊急度が高い割込み要求に基づく割込み処理におい
ても、割込みサービスプログラムの最初と最後でそれぞ
れ割込みマスクレジスタに対する操作が必要となり、割
込み応答時間が増大するという大きな欠点があり、ま
た、割込み要求元の数が増加するほど割込みマスクレジ
スタのヒット幅も増大し、割込みマスクレジスタ操作に
対する負担が一層大きくなり、処理効率の低下を招くと
いう欠点がある。
特に、実時間処理、高速処理が要求されるシステムを
割込み要求で各処理を起動しており、割込み処理時での
上記割込みマスクレジスタ操作がシステム全体の処理性
能を大きく低下させる原因となっている。
本発明の目的は、上記欠点を解消し、ソフトウェア処
理を介さない、高速割込み多重処理が可能なシングルチ
ップマイクロコンピュータを提供することにある。
〔課題を解決するための手段〕
本発明のシングルチップマイクロコンピュータは、 割込み制御装置は、1つの割込み多重レベルにおい
て、新たに発生する割込み要求の受付けを許可するか否
かを各割込み要求毎に保持する、各割込み多重レベル毎
の複数の優先順位レジスタと、現在の割込み多重レベル
を指定するレベル指定レジスタと、割込み要求フラグレ
ジスタ、マスクレジスタ、優先順位レジスタ、レベル指
定レジスタの内容から、ただ1つの割込み要求を選択す
る割込み要求選択手段と、優先順位レジスタの内容にも
とづいてレベル指定レジスタを更新し、レベル指定レジ
スタの内容変化を検出すると、レベル変化信号を出力す
る優先順位制御回路を有し、CPUは、前記優先順位制御
回路から出力される前記レベル変化信号の状態を保持す
る記憶手段を有し、 前記CPUによる割込み要求の受付けに同期して、前記
優先順位制御回路は前記レベル指定レジスタを更新し、
前記記憶手段は前記レベル変化信号の状態を保持し、前
記CPUの所定命令の実行により、前記優先順位制御回路
は前記記憶手段の内容に基づいて前記レベル指定レジス
タの更新を制御する。
〔作用〕
割込み要求毎に多重割込みの優先順位レベルを指定す
る優先順位レジスタと割込み多重レベルを指定するレベ
ル指定レジスタを有し、これらのレジスタにより多重割
込みが処理されるので、従来多重割込み処理で必要とさ
れたマスクレジスタ操作等のソフトウェア処理を一切必
要としない。また、多重割込み処理における多重割込み
レベルが変更されたという情報を保持する手段をCPU内
のプログラムステータスワード内に設定しているので、
割込み多重レベルが深くなった場合でも多重レベルの更
新情報が所定メモリ上に保持されることにより、多重割
込みにおける多重レベルの制限がない。
〔実施例〕
次に本発明の実施例について図面を参照して説明す
る。
第1図は本発明の割込み処理装置の一実施例のブロッ
ク図、第2図は第1図中のレジスタ101〜104の構成図で
ある。
割込み制御装置100は割込み制御回路105とインタフェ
ース回路107を含む。割込み制御回路105は、割込み要求
フラグレジスタ101、割込みマスクレジスタ102、優先順
位レジスタ103、レベル指定レジスタ104を含み、これら
レジスタ101〜104の内容により受けつけるべきただ1つ
の割込み要求を選択し、割込み要求信号106をアクティ
ブにし、さらに、受けつけた割込み要求の割込み多重レ
ベルに応じてレベル指定レジスタ104内所定ビットのセ
ット処理や、割込みサービスの終了によるレベル指定レ
ジスタ104内所定ビットのクリア処理など割込み多重レ
ベルの更新処理を行なう。
本実施例では、各割込み要求元に対して割込み要求の
緊急度に応じ、それぞれ0、1、2、、mの多重レベル
番号を指定し、優先順位レジスタ103が各割込み要求元
毎にこの多重レベルに係わる情報を保持する。この多重
レベル番号は、0が最も緊急度が高く、他のいかなる割
込みサービス中でもこの番号に設定された割込み要求の
発生によりただちにこの割り込み要求のサービス処理を
開始する。また、1、2、、mと番号が大きくなるに従
って、処理の緊急度は低くなる。
例えば、割込み要求元A,B,Cに対して、それぞれ多重
レベルがa,b,cと設定され、多重レベルがa>b>c
(aが最も緊急度が高いとする)の場合には、以下のよ
うに動作する。
Cの割込みサービス中にA,B,Cの割込み要求がそれぞ
れ発生した場合には、多重レベルに従って、Cのサービ
スは中断され、A,B,および新に発生したCの各割込み要
求に基づく割込みサービスが順に起動される。
Bの割込みサービス中にA,B,Cの割込み要求がそれぞ
れ発生した場合には、多重レベルに従って、Bのサービ
スは中断され、A,および新に発生したBの各割込み要求
に基づく割込みサービスが順に起動される。また、Cの
割込み要求はA,Bのサービスが完了するまで保留され
る。
Aの割込みサービス中に新にA,およびB,Cの割込み要
求がそれぞれ発生した場合には、多重レベルに従って、
Aのサービスは中断され、新に発生したAの割込みサー
ビスが起動される。また、Bの割込み要求はAのサービ
スが完了するまで、また、Cの割込み要求はA,Bのサー
ビスが完了するまで保留される。
また、現在の割込み多重レベルは、レベル指定レジス
タ104が保持する。インタフェース回路107は、割込み制
御回路105から割込み要求信号106を介してCPU200に通知
された割込み要求を識別するための割込みベクタを発生
し、ベクタリード信号204に同期してこの割込みベクタ
をデータバス206上に出力する。割込み要求フラグレジ
スタ101は、割込み要求元(本実施例では具体的な説明
はしていない)から発生する割込み要求を保持するフラ
グレジスタで、各割込み要求元とビット単位で対応して
おり、割込み要求元の数nに対応してnビットで構成さ
れる。割込みマスクレジスタ102は割込み要求フラグレ
ジスタ101の各ビットと連動し、割込み要求フラグレジ
スタ101の各ビットに対応してこの内容の有効/無効を
指定する。本実施例では、“0"を設定した場合には、割
込み要求フラグレジスタ101の対応するビット内に保持
される割込み要求情報を無効に、また“1"を設定した場
合には、対応ビット内の割込み要求情報を有効として後
述する割込み多重処理の対象とする。優先順位レジスタ
103は、各割込み要求元毎に割込みの多重レベルの情報
を保持する。1本の優先順位レジスタ103は、1つの割
込み多重レベルにおいて、新たに発生する割込み要求の
受付けを許可するか禁止するかを各割込み要求元毎に指
定するnビットから構成される。本実施例では、1つの
割込み要求元に対応するビットに“0"を設定した場合に
はこの割込み要求の受付けを禁止し、“1"を設定した場
合には以降で説明する多重割込み処理の対象とする。優
先順位レジスタ103は、割込み制御装置100が制御する割
込み多重レベル数mに応じて1031,1032,…,103mの合
計m本設定され、さらに、割込み多重レベルデータの設
定により、割込み要求元Aは多重レベル0に、割込み要
求元Bは多重レベル1に、割込み要求元Cは多重レベル
mにそれぞれ設定される。レベル指定レジスタ104は、
現在の割込み多重レベルを保持するレジスタで、割込み
制御装置100が制御する割込み多重レベル数mに応じて
mビットから構成され、各ビットは各割込み多重レベル
とビット毎に対応している。本レベル指定レジスタ104
は、割込み多重レベルがi,j,k(以下、割込み多重レベ
ルはi<j<kで、割込み多重レベルiが最も低いとし
て説明する)と移行するに応じて本レジスタ104内の割
込み多重レベルi,j,kに対応するビットが順にセット状
態となる。また、現在の割込み多重レベルは、これらセ
ットされた複数ビットの中で最も割込み多重レベルの高
いビットに対応する割込み多重レベルkが現在の割込み
多重レベルとなる。また、この場合には優先順位レジス
タ103としては割込み多重レベルkに対応する優先順位
レジスタ103kが選択状態になる。CPU200は、各種データ
処理のタイミングを規定するタイミング制御回路201、
プログラムの動作状態を保持するプログラムステータス
ワード(以下PSWと記す)202を含む。タイミング制御回
路201には、後述する割込み制御装置100から割込み要求
信号106が入力すると共に、割込み要求の受付けを通知
するための割込み受付け信号203、受付けた割込み要求
を識別するための割込みベクタの読出し信号であるベク
タリード信号204、およびレベル指定レジスタ104内のセ
ットされた最高レベルビットのクリアタイミングを指定
するレベルクリア信号207をそれぞれ割込み制御装置100
に出力する。なお、割込み受付け信号203は、PSW202のL
VCビットにも接続されている。タイミング制御回路201
は、ベクタリード信号204の出力に同期してデータバス2
06上に割込み制御装置100から出力された割込みベクタ
情報を取り込み、割込み要求信号106で通知された割込
み要求の要求元を認識する。PSW202はプログラムの実行
状態を示すキャリーフラグ、ゼロフラグ等を含む他、割
込みレベル変更フラグ(以下LVCと記す。)205を含む
が、キャリーフラグ、ゼロフラグは図示されていない。
LVC205は、割込み制御装置100から出力されるLVCHG208
のレベルを割込み受付け信号203に同期して取り込む。P
SW202は、タイミング制御回路201の制御によりデータバ
ス206を介してデータのリード/ライトが可能である。
第3図は割込み制御回路105の回路図、第4図は第1
図の実施例における割込み受付け時のレベル指定レジス
タ104のビットのセット条件を示す図、第5図は第1図
の実施例における割込み復帰時のレベル指定レジスタ10
4のビットのクリア条件を示す図である。
なお、本説明では簡単のため、割込み多重レベルを3
レベルとして説明する。
割込み要求フラグ1011,1012,1013は割込み要求フラ
グ101の各構成ビットで、各割込み要求元(図示せず)
に対応して設定され、これらの各割込み要求元からの割
込み要求信号でセットされ、また、割込み要求の受付け
によりCPU200から出力される割込み受付け信号203に同
期し、後述する要求受付けフラグ1081,1082,1083の状
態によりアンドゲート1091,1092,1093で選択的にクリ
アされる。割込みマスクレジスタ1021,1022,1023の各
出力は、アンドゲート1101,1102,1103を介して非マス
ク状態の要求のみが選択され、後述する優先順位選択回
路1111,1112,1113に入力する。優先順位制御回路112
はレベル指定レジスタ104を含み、このレベル指定レジ
スタ104のセット状態にあるビットの中で最も優先順位
の高いビットを選択し、そのレベルに対応する割込み多
重レベル指定線113を排他的にアクティブにする。
なお、本実施例では、割込み多重レベルを3レベルで
説明しているため、レベル指定レジスタ104は3ビット
で構成される。このため、割込み多重レベル指定線113
も3ビット構成で、割込み多重レベルがレベル0の場合
は、最高割込み多重レベルとして割込み多重レベル指定
線1131が、レベル1の場合は割込み多重レベル指定線11
32が、レベル2の場合は割込み多重レベル指定線1133
それぞれ排他的にアクティブ状態となる。優先順位読出
し線1163は、各アンドゲート1171、1172、1173の出力が
それぞれ論理和されている。後述するように複数ある要
求受付けフラグ1081〜1083は排他的にセット状態となる
が、例として要求受付けフラグ1082がセット状態になっ
た場合には、これに対応するアンドゲート1172が有効と
なり、優先順位読出し線116上には優先順位レジスタ103
12,10322の内容が読出され、優先順位制御回路112に入
力する。フラグ10311,10321,10312,10322,10313,1
0323は優先順位レジスタ103のフラグで、一つの割込み
要求元に着目すると、割込み多重レベル0には優先順位
レジスタ10312が、割込み多重レベル1には優先順位レ
ジスタ10322がそれぞれ対応している。一つの割込み要
求元に対して複数設定された優先順位レジスタ1031,10
32は、優先順位制御回路112から出力される割込み多重
レベル指定線113と優先順位選択回路1111〜1113の制御
により、割込み多重レベル0の時には優先順位レジスタ
1031が、割込み多重レベル1の時は優先順位レジスタ10
32が、割込み多重レベル2の時は論理レベル“1"がそれ
ぞれ選択状態になる。
優先順位選択回路1111,1112,1113には、それぞれア
ンドゲート1101,1102,1103と優先順位レジスタ1031
1032および優先順位制御回路112から出力される多重レ
ベル指定線113がそれぞれ入力し、表1に示す真理値表
に従って割込み要求を選択する。
割込み要求選択回路1141,1142,1143は、複数の優先
順位選択回路1111,1112,1113から同時に2個以上の割
込み要求が出力された場合にこの中から1つの割込み要
求を選択するための選択回路で、優先順位選択回路11
11,1112,1113の出力の中からデージーチェインの手法
で単一の割込み要求を選択する。要求受付けフラグ10
81,1082,1083は、割込み要求選択回路1141〜1143で選
択された割込み要求を保持するフラグレジスタで、複数
の割込み要求元から発生した各割込み要求の内、表1で
示すCPU200による受付け条件を満たす割込み要求に対応
する単一のフラグのみが排他的にセット状態となる。な
お、要求受付けフラグ1081,1082,1083はそれぞれイン
タフェース回路107に接続され、割込み要求元を識別す
るための割込みベクタコード生成に使用される。オアゲ
ート115は、各要求受付けフラグ1081,1082,1083の状
態の論理和をとり、CPU200へ割込み要求信号106として
出力する。
次に、優先順位制御回路112の動作を説明する。
優先順位制御回路112はレベル指定レジスタ104を含
み、多重レベル指定線113の出力制御の他に、レベル指
定レジスタ104の更新処理を以下の手順で行なう。
セット側の更新処理では、割込み要求により最終的に
要求受付けフラグ1082がセット状態になると対応するア
ンドゲート1172が有効となり、優先順位読出し線116上
には優先順位レジスタ1031,1032の内容が読出され、優
先順位制御回路112に入力する。優先順位制御回路112
は、この優先順位読出し線116上の優先順位データに対
し、次に移る割込み多重レベルを決定すると同時に、CP
U200から出力される割込み受付け信号203に同期して第
4図に示すようにレベル指定レジスタ104内の所定ビッ
トをセット状態にする。以上の処理により割込み多重レ
ベルを更新する。クリア側の更新処理では、優先順位制
御回路112は、第5図に示すように、レベル指定レジス
タ104内のセットされたビットの中で最も多重レベルの
高いビットをLVC205がハイレベルの時に限りCPU200から
出力されるレベルクリア信号207に同期してクリアす
る。
次に、第3図を参照して割込み制御装置100の動作を
説明する。
割込み要求が入力していない状態では割込み要求フラ
グレジスタ101、レベル指定レジスタ104は共にクリア状
態にある。レベル指定レジスタ104がクリアされている
状態は割込み多重レベル2に対応し、多重レベル指定線
1133がアクティブレベルとなるため、優先順位選択回路
111は論理レベル“1"のゲートが有効となり、アンドゲ
ート1101〜1103を経た割込み要求は常に受付け可能状態
となる。割込み要求が入力して割込み要求フラグレジス
タ101の所定ビットがセット状態となり、かつ対応する
割込みマスクレジスタ102が開いている場合には、割込
み要求は、アンドゲート1101〜1103、割込み要求選択回
路1141〜1143、要求受付けフラグ1081〜1083、オアゲー
ト115を順に経て、割込み要求信号106がアクティブ状態
となり、CPU200に割込み要求の発生が通知される。
CPU200は、命令処理の最後のタイミングで割込み要求
信号106をサンプルし、インアクティブレベルの時は、
次の命令処理を開始し、アクティブレベルを検出した時
は、次の命令処理には移行せず、ただちに以下に説明す
る割込み処理を開始する。
(1)それまで実行していたプログラムの実行状態を保
持しているPSW、プログラムカウンタ(第1図には図示
せず)を所定のメモリ領域に退避する。
(2)発生した割込み要求元を識別するため、ベクタリ
ード信号204をアクティブにし、インタフェース回路107
からデータバス206を介してベクタコードを読出す。こ
の時、優先順位制御回路112は、多重レベル指定信号線1
13の出力状態と優先順位読出し線116の入力状態とを比
較することにより多重割込みレベルの更新があったかど
うか判別し、多重割込みレベルの更新があった場合に
は、LVCHG208をアクティブにする。
(3)CPU200は、読出したベクタコードより割込みサー
ビスプログラムのスタートアドレスを読出し、割込みサ
ービスプログラムに分岐し、所定の割込みサービスを開
始する。
(4)CPU200は、割込み処理の完了を割込み制御装置10
0に通知するため、割込み受付け信号203をアクティブに
する。CPU200は割込み受付け信号203に同期してLVCHG20
8の状態をPSW202内に取り込む。
これにより、CPU200は、割込み要求の受付けによる割
込み多重レベルの変更に係わる情報をPSW202に保持する
と同時に、この情報をLVC205として優先順位制御回路11
2に出力する。更に、優先順位制御回路112は、割込み受
付け信号203に同期してレベル指定レジスタ104を更新す
る。
また、割込みサービスプログラムの終了に際し、CPU2
00は次の処理を行なう。
(1)CPU200は、レベルクリア信号207をアクティブに
して割込みサービスプログラムの終了を割込み制御装置
100に通知する。
(2)割込み制御装置100は、レベルクリア信号207がア
クティブになったタイミングでLVC205をサンプルし、LV
C205が“0"の場合には、レベル指定レジスタ104に対す
る更新処理は行なわない。また、LVC205が“1"の場合に
は、その割込み多重レベル処理が完了したと判断して、
レベル指定レジスタ104のセットされたビットの中の最
高位ビットをクリアし、多重レベルを下げる。
第6図は本実施例における実際の割込み多重処理動作
を示す図である。
この図では、割込み要求元Cの多重レベルは“1"に、
割込み要求元B1、B2の多重レベルは“0"にそれぞれ設定
されているものとする。また、レベル指定レジスタ104
によりタイミングt1以前の割込み多重レベルは“2"に設
定されている。
t1のタイミングで割込み要求元Cから割込み要求が入
力すると、Cの割込み多重レベルが“1"で、実行中の多
重レベルの“2"よりも高いためCPU200により受付けられ
る。この時のCPU200の割込み処理により、旧LVC情報
(この時のLVC205は“0"の状態)を含むPSW202は所定の
メモリに退避される。また、割込み制御装置100内のレ
ベル指定レジスタ104で指定される割込み多重レベルは
“1"に移行すると同時に多重レベルの変化が生じたた
め、LVCHG208がアクティブとなり、PSW202内のLVC205は
セット状態となる。t2のタイミングで割込み要求元B1か
ら割込み要求が入力すると、B1の割込み多重レベルが
“0"で現在実行中の多重レベル“1"よりも高いため、再
びCPU200により受付けられる。この時のCPU200の割込み
処理により、旧LVC情報(この時のLVC205は“1"の状
態)を含むPSW202は所定のメモリに退避される。また、
割込み制御装置100内のレベル指定レジスタ104で指定さ
れる割込み多重レベルは“0"に移行すると同時に多重レ
ベルの変化が生じたため、LVCHG208がアクティブとな
り、PSW202内のLVC205はセット状態となる。t3のタイミ
ングで割込み要求元B2から割込み要求が入力すると、B2
の割込み多重レベルが“0"で現在実行中の多重レベルと
同一のため、再びCPU200により受付けられる。この時の
CPU200の割込み処理により、旧LVC情報(この時のLVC20
5は“1"の状態)を含むPSW202は所定のメモリに退避さ
れる。また、割込み制御装置100内のレベル指定レジス
タ104で指定される割込み多重レベルは“0"のままで、
多重レベルに変化が生じなかったため、LVCHG208がイン
アクティブとなり、PSW202内のLVC205はクリア状態とな
る。t4のタイミングで割込み要求元B2に係わる割込みサ
ービスが終了すると、CPU200は割込みからの復帰命令を
実行するが、このタイミングに同期してレベルクリア信
号207を出力する。この時、割込み制御回路105に入力す
るLVC205がインアクティブレベル状態のため、優先順位
制御回路112はレベル指定レジスタ104のセットされてい
るビットの最上位ビットのクリア処理は行なわず、割込
み制御装置100は割込み多重レベル“0"を保つ。また、
割込みからの復帰命令の実行により旧PSW情報がメモリ
から復帰され、PSW202内のLVC205には“1"がリストアさ
れ、CPU200はB1に係わる割込みサービスを再開する。t5
のタイミングで割込み要求元B1に係わる割込みサービス
が終了すると、CPU200は割込みからの復帰命令を実行す
るが、このタイミングに同期してレベルクリア信号207
を出力する。この時、割込み制御回路105に入力するLVC
205がアクティブレベル状態のため、優先順位制御回路1
12はレベル指定レジスタ104のセットされているビット
の最上ビットのクリア処理を行ない、割込み多重レベル
は“1"に移行する。また、割込みからの復帰命令の実行
により旧PSW情報がメモリから復帰され、PSW202内のLVC
205には“1"がリストアされ、CPU200は割込み要求元C
に係わる割込みサービスを再開する。t6のタイミングで
割込み要求元Cに係わる割込みサービスが終了すると、
CPU200は割込みからの復帰命令を実行するが、このタイ
ミングに同期してレベルクリア信号207を出力する。こ
の時、割込み制御回路105に入力するLVC205がアクティ
ブレベル状態のため、優先順位制御回路112はレベル指
定レジスタ104のセットされているビットの最上ビット
のクリア処理を行ない、割込み多重レベルは“2"に移行
する。また、割込みからの復帰命令の実行により旧PSW
情報がメモリから復帰され、PSW202内のLVC205には“0"
がリストアされる。
なお、優先順位レベルがほぼ半固定の割込み要求元に
対する優先順位レジスタに対しては、この優先順位レジ
スタ103の一部をROM化することにより、ハードウェア規
模を縮小することが可能である。
〔発明の効果〕
以上説明したように本発明は、従来ソフトウェアによ
るマスクレジスタ操作で実現していた多重割込み処理を
優先順位レジスタとレベル指定レジスタによって実現す
ることにより、従来のソフトウェア処理が不用となり極
めて高速に、割込み多重レベルを切り換えることが可能
となり、また、割込み多重レベルが更新されたという情
報をPSW内の保持しており、割込み要求の受付けの度毎
に多重レベル更新情報が所定メモリ内に順に退避される
ため、割込み多重レベルを無制限に設定することが可能
であり、今後、割込み要求元の数はますます増大する傾
向にあり、この割込み多重レベルの拡張にも柔軟に対応
することができる効果がある。
【図面の簡単な説明】
第1図は本発明のシングルチップマイクロコンピュータ
の一実施例のブロック図、第2図は第1図の割込み制御
装置100に含まれるレジスタ101〜104の構成図、第3図
は第1図中の割込み制御回路105の回路図、第4図は第
1図の実施例における割込み受付け時のレベル指定レジ
スタ104のビットのセット条件を示す図、第5図は第1
図の実施例における割込み復帰時のレベル指定レジスタ
104のビットのクリア条件を示す図、第6図は第1図の
実施例の動作例を示す図、第7図は従来のシングルチッ
プマイクロコンピュータのブロック図、第8図は第7図
中の割込み制御装置400に含まれるレジスタ101,102の構
成図、第9図は第7図中の割込み制御回路401の回路図
である。 100……割込み制御装置、101……割込み要求フラグレジ
スタ、102……割込みマスクレジスタ、103……優先順位
レジスタ、104……レベル指定レジスタ、105……割込み
制御回路、106……割込み要求信号、107……インタフェ
ース回路、112……優先順位制御回路、200,500……CP
U、201……タイミング制御回路、202……PSW、203……
割込み要求受付け信号、204……ベクタリード信号、205
……LVC、206……データバス、207……レベルクリア信
号、208……LVCHG。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の割込要求元から発生する割込要求を
    割込要求元毎に保持する複数の割込要求フラグレジスタ
    と、これら割込要求フラグレジスタにそれぞれ対応して
    設けられ対応する割込要求フラグレジスタの内容の有効
    /無効を指定する複数の割込マスクレジスタと、前記複
    数の割込要求元にそれぞれ対応して設けられ対応する割
    込要求元に対して設定された割込多重レベル情報を保持
    する複数の優先順位レジスタと、レベル指定レジスタを
    有し、前記レベル指定レジスタの内容により現在の割込
    多重レベル情報を出力する優先順位制御回路と、割込要
    求元に対応してそれぞれ設けられた複数の優先順位選択
    回路であって、各々が前記優先順位制御回路からの現在
    の割込多重レベル情報および対応する優先順位レジスタ
    からの割込多重レベル情報を受け、対応する割込要求フ
    ラグレジスタに保持されかつ対応する割込マスクレジス
    タにより有効と指定された割込要求に基づき、対応する
    割込多重レベルが前記現在の割込多重レベルよりも低く
    ないときにその出力をアクティブにする複数の優先順位
    選択回路と、これら優先順位選択回路に対応してそれぞ
    れ設けられた複数の割込要求選択回路であって、各々
    が、対応する優先順位選択回路の出力を一方の入力とし
    て受けるとともに他方の入力に隣りの割込要求選択回路
    の出力を受け、当該隣りの割込要求選択回路の出力がイ
    ンアクティブであるときのみ対応する優先順位選択回路
    の出力を通過させる複数の割込要求選択回路と、これら
    割込要求選択回路の1つがアクティブの出力を発生する
    ことに応答してCPUに割込要求を発生する手段と、アク
    ティブの出力を発生した割込要求選択回路に対応する優
    先順位レジスタの内容を前記レベル指定レジスタにセッ
    トする手段とを備えることを特徴とするシングルチップ
    マイクロコンピュータ。
JP63041175A 1988-02-23 1988-02-23 シングルチップマイクロコンピュータ Expired - Lifetime JP2594600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63041175A JP2594600B2 (ja) 1988-02-23 1988-02-23 シングルチップマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63041175A JP2594600B2 (ja) 1988-02-23 1988-02-23 シングルチップマイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH01214939A JPH01214939A (ja) 1989-08-29
JP2594600B2 true JP2594600B2 (ja) 1997-03-26

Family

ID=12601092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63041175A Expired - Lifetime JP2594600B2 (ja) 1988-02-23 1988-02-23 シングルチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2594600B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115506A (en) * 1990-01-05 1992-05-19 Motorola, Inc. Method and apparatus for preventing recursion jeopardy
JPH0442328A (ja) * 1990-06-07 1992-02-12 Nec Corp 情報処理装置の割り込み制御方式
JPH0485630A (ja) * 1990-07-30 1992-03-18 Toshiba Corp 割込み制御装置
JP3176093B2 (ja) * 1991-09-05 2001-06-11 日本電気株式会社 マイクロプロセッサの割込み制御装置
US8738830B2 (en) 2011-03-03 2014-05-27 Hewlett-Packard Development Company, L.P. Hardware interrupt processing circuit
US9189283B2 (en) 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
US9645823B2 (en) 2011-03-03 2017-05-09 Hewlett-Packard Development Company, L.P. Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51131229A (en) * 1975-05-12 1976-11-15 Hitachi Ltd Offering control system of electronic computer
JPS57174745A (en) * 1981-04-21 1982-10-27 Toshiba Corp Control circuit for interruption priority
JPS6158037A (ja) * 1984-07-23 1986-03-25 Fujitsu Ltd サ−ビスプロセツサへの割り込み制御方式

Also Published As

Publication number Publication date
JPH01214939A (ja) 1989-08-29

Similar Documents

Publication Publication Date Title
US5379434A (en) Apparatus and method for managing interrupts in a multiprocessor system
US5701495A (en) Scalable system interrupt structure for a multi-processing system
CN100373331C (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
EP0166272B1 (en) Processor bus access
US7350006B2 (en) System and method of interrupt handling
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
EP0203304B1 (en) Data processor controller
US6141713A (en) Bus arbitrator with a hierarchical control structure
JP2594600B2 (ja) シングルチップマイクロコンピュータ
JPS62221732A (ja) 情報処理装置
JPH0650863B2 (ja) 直接データ転送のためのインターフエース
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
JP2877095B2 (ja) マルチプロセッサシステム
WO1988002513A1 (en) Method and device to execute two instruction sequences in an order determined in advance
JP2004334863A (ja) 順番のある(in−order)キューをドレインする(drain)システムおよび方法
US5949980A (en) Bus interface unit for preventing deadlock
US6880046B1 (en) Multiprocessor system and memory access method
JP3006676B2 (ja) マルチプロセッサ
JPH0795318B2 (ja) 多重処理コンピユータ及びプロセツサ間通信方法
JP3982077B2 (ja) マルチプロセッサシステム
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
JP2871171B2 (ja) マイクロコンピュータ
JP2768878B2 (ja) データ処理装置、命令実行の同期方法、例外発生時の命令アドレス待避方法及び例外発生時の命令処理無効化方法
JPS6352241A (ja) マイクロプロセツサ