JPH08320794A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH08320794A
JPH08320794A JP7124894A JP12489495A JPH08320794A JP H08320794 A JPH08320794 A JP H08320794A JP 7124894 A JP7124894 A JP 7124894A JP 12489495 A JP12489495 A JP 12489495A JP H08320794 A JPH08320794 A JP H08320794A
Authority
JP
Japan
Prior art keywords
interrupt
privileged
nest
signal
user
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
JP7124894A
Other languages
English (en)
Other versions
JP2625402B2 (ja
Inventor
Shuji Sato
修司 佐藤
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 JP7124894A priority Critical patent/JP2625402B2/ja
Priority to US08/653,486 priority patent/US5701494A/en
Publication of JPH08320794A publication Critical patent/JPH08320794A/ja
Application granted granted Critical
Publication of JP2625402B2 publication Critical patent/JP2625402B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】多重の特権割り込み処理機能をもつマイクロプ
ロセッサを提供する。 【構成】特権割り込みの処理プログラム実行中を示す特
権モード信号SVMODEを出力するSVMODE発生
回路9と、プログラム設定されたマスク信号Qおよび特
権モード信号SVMODEの論理積出力により割り込み
受け付けを禁止する割り込み禁止回路14とを有するマ
イクロプロセッサ1において、マスク信号Qのプログラ
ム設定により特権割り込み処理中に受け付けられたユー
ザ割り込み処理中に更に多重の特権割り込み要求を受け
付け、この多重の特権割り込み処理から復帰するとき下
位レベルの特権割り込み処理に復帰しないネスト制御を
する割り込みネスト制御回路8と、特権割り込み処理の
最大ネストレベルを検出し割り込み受け付けを禁止する
信号を出力する最大ネストレベル検出回路11とを備え
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサに
関し、特に特権割り込み処理機能を持つマイクロプロセ
ッサに関する。
【0002】
【従来の技術】従来、この種のマイクロプロセッサは、
たとえば、特開平1−184545号公報に示されるよ
うに、ユーザの作成した応用プログラムのデバッグを効
率よく行うエミュレーション装置などに用いられてい
る。
【0003】エミュレーション装置は、ユーザの作成し
た応用プログラムのデバッグを効率よく行うための装置
でユーザの応用システムと接続して応用プログラムを実
時間で実行(以後、この状態をユーザモードと呼ぶ)で
き、応用プログラム実行中に特権割り込み要求によりユ
ーザモードを中断(以後、この状態を特権モードと呼
ぶ)し、その時のメモリまたはレジスタの内容の表示ま
たは書き換え,暴走した応用プログラムの停止,等の特
権割り込み処理機能を持っている。
【0004】図11は、従来のマイクロプロセッサを用
いたエミュレーション装置の一部分を示す部分構成図で
ある。
【0005】図11を参照すると、このエミュレーショ
ン装置は、特権割り込み要求信号SVIを入力し、特権
割り込み受付時からその復帰命令が実行されるまでの間
アクティブになる特権モード信号SVMODEを出力
し、この特権モード信号SVMODEの入力により全て
の割り込みを禁止する割り込み禁止回路14を持つマイ
クロプロセッサ24と、このマイクロプロセッサに特権
割り込み要求信号SVIを出力するブレーク回路2と、
モニタプログラムを格納するモニタメモリ3と、応用プ
ログラムを格納するユーザメモリ4とから構成される。
【0006】特権割り込み要求SVIは、応用プログラ
ム実行中のどの時点においても受け付けるための最優先
の割り込み要求であり、モニタプログラム実行のため、
特権モード中は全ての割り込み要求は禁止される。
【0007】また、図12は、DCモータを制御する応
用システムの一部分を示す部分構成図である。図11の
エミュレーション対象のユーザシステム例として示す。
マイクロプロセッサ24のポート出力がローパスフィル
タ18の入力に接続され、ローパスフィルタ18の出力
はDCモータ19の電源電圧となっている。このシステ
ムではタイマーを用いて一定間隔で割り込み要求を発生
させ、その割り込み処理ルーチンでポートの出力を変化
させている。
【0008】次に、図11および12を参照して、この
従来のマイクロプロセッサを用いたエミュレーション装
置の動作を具体的に説明する。
【0009】応用プログラムはユーザメモリ4に格納さ
れており、ユーザモード中は特権モードを表すSVMO
DE信号は“0”レベルであるため、ユーザメモリ4上
の応用プログラムが実行される。
【0010】応用プログラム実行中にユーザが設定した
条件の成立、または、外部からの要求により、ユーザモ
ードから特権モードに遷移させるためにブレーク回路2
より特権割り込み要求信号SVIが発生し、マイクロプ
ロセッサ24に入力される。マイクロプロセッサ24は
特権割り込みを受け付けると特権モード信号SVMOD
Eを“1”レベルとする。これにより、モニタメモリ3
に格納されたモニタプログラムが実行され、特権モード
となる。また、マイクロプロセッサ24内部の割り込み
禁止回路14は入力であるSVMODE信号が“1”と
なったため割り込みの受け付けを禁止する。
【0011】このとき、デバッグされる図12の応用シ
ステムは、特権モード遷移後に割り込み禁止状態となる
ため、ポート出力を特権モード遷移直前の値に保持した
まま変化しなくなる。もし、特権モード遷移時にポート
出力が“1”であった場合、ローパスフィルタ18の出
力は最大電圧となり、DCモータ19に最大電圧が加わ
ったままとなり、過電圧のためDCモータ19のコイル
が焼き切れるという事も考えられ、重大な問題となって
いた。
【0012】この特権モード中に割り込み禁止状態にな
るマイクロプロセッサの問題を解決するための一例が、
特開平1−184545号公報に示されている。
【0013】図13は、同公報発明のマイクロプロセッ
サを用いたエミュレーション装置の部分構成図である。
マイクロプロセッサ25は、割り込み禁止回路14への
入力となる特権モード信号をマスクする回路20と、特
権割り込み以外の割り込み(以後ユーザ割り込みと呼
ぶ)が発生し、そのユーザ割り込みの復帰命令の実行が
終了するまでの間、信号を出力する回路23と、その信
号により特権モード信号をマスクする回路21と、特権
モード中の割り込みを許可するモードにするか禁止する
モードにするかを設定するレジスタ10を有している。
【0014】次に、図13を参照して、動作を説明す
る。
【0015】レジスタ10に“1”を設定すると、特権
モード中の割り込みを禁止するモードとなり、図11に
示した従来のマイクロプロセッサ24と同じ動作とな
る。
【0016】レジスタ10に“0”を設定すると、特権
モード中の割り込みを許可するモードとなる。2入力A
NDゲート20の入力の一方がレジスタ10の出力Qで
“0”のため出力は“0”となり信号SVMODEの状
態に関わりなく割り込み禁止回路14は割り込み許可状
態となる。
【0017】RSフリップフロップ23は、レジスタ1
0の出力Qが“1”→“0”となって2入力ORゲート
22の出力が“0”となっても出力Qは“1”を保持し
ている。この状態で、特権割り込み要求SVIの入力の
より特権割り込みが受け付けられ信号SVMODE0が
“1”となると2入力ANDゲート21の出力SVMO
DEも“1”となりモニタメモリ3のモニタプログラム
が実行される。
【0018】ここでユーザ割り込み要求が発生すると、
その時点で実行中の命令が終了後、モニタプログラムは
中断され、ユーザ割り込み処理が始まり割り込み承認信
号INTAKが出力される。この信号によりRSフリッ
プフロップ23はリセットされ出力Qは“0”となり、
2入力ANDゲート21の出力SVMODEは“0”と
なりユーザメモリ4の応用プログラムの割り込み処理ル
ーチンへ分岐する。割り込み処理ルーチン実行後割り込
みからの復帰命令を実行し、ユーザ割り込み復帰信号R
ETIを出力する。この信号によりRSフリップフロッ
プ23の出力Qが“1”となり、信号SVMODEが
“1”となりモニタメモリ3のモニタプログラムの実行
が再開される。
【0019】以上説明したように、レジスタ10が
“0”に設定されていると特権モード中に割り込み要求
があった場合、割り込みが発生し、ユーザメモリ4上の
応用プログラムの割り込み処理ルーチンを実行すること
ができる。
【0020】
【発明が解決しようとする課題】この従来のマイクロプ
ロセッサを用いたエミュレーション装置では、装置制御
などをユーザ割り込み処理ルーチンで行っている応用シ
ステムのデバッグを行うと、特権モード中に割り込みが
全て禁止状態となるため、実時間での制御ができないと
いう課題があった。
【0021】また、特開平1−184545号公報に示
されるマイクロプロセッサを用いたエミュレーション装
置では、特権モード中に発生したユーザ割り込み処理ル
ーチンで応用プログラムが暴走したときにそれを解除す
るために最優先の特権割り込み要求を入力しても、特権
モードを表す信号が特権モード中に発生したユーザ割り
込み処理中もアクティブになっているため、特権モード
中に発生したユーザ割り込み処理中の特権割り込み要求
は受け付けられず、多重に特権モードに遷移できないと
いう課題があった。
【0022】したがって、本発明の目的は、多重の特権
割り込み処理機能をもつマイクロプロセッサを提供する
ことにある。
【0023】
【課題を解決するための手段】そのため、本発明による
マイクロプロセッサは、ユーザ割り込み処理を含む応用
プログラム実行中に特権割り込み要求を受け付ける割り
込み処理機能をもち、前記特権割り込みの処理プログラ
ム実行中を示す特権モード信号を出力する信号発生回路
と、プログラム設定されたマスク信号および前記特権モ
ード信号の論理出力により割り込み受け付けを禁止する
割り込み禁止回路とを有するマイクロプロセッサにおい
て、前記マスク信号のプログラム設定により前記特権割
り込み処理中に受け付けられた前記ユーザ割り込み処理
中に多重の特権割り込み要求を受け付け、この多重の特
権割り込み処理から復帰するとき下位レベルの特権割り
込み処理に復帰しないネスト制御をする割り込みネスト
制御回路と、前記特権割り込み処理の最大ネストレベル
を検出し前記論理出力と共に割り込み受け付けを禁止す
る信号を出力する最大ネストレベル検出回路とを備えて
いる。
【0024】さらに、前記割り込みネスト制御回路は、
前記特権割り込み処理のネストレベルをカウントするカ
ウンタ回路と、前記特権割り込み処理中に受け付けられ
た前記ユーザ割り込み処理のネストレベルをカウントす
るカウンタ回路と、前記多重の特権割り込み処理から復
帰したことを示す信号を出力するフラグ回路とを有し、
前記最大ネスト検出回路は前記特権割り込み処理のネス
トレベルをカウントするカウンタ回路の出力を入力とし
ている。
【0025】
【実施例】次に本発明について図面を参照して説明す
る。
【0026】図1は、本発明のマイクロプロセッサの実
施例およびその応用例を示すブロック図である。
【0027】図1を参照すると、エミュレーション装置
としては、本発明のマイクロプロセッサ1,ブレーク回
路2,モニタメモリ3,ユーザメモリ4とを有し、マイ
クロプロセッサ1以外は図11の従来例と同じなので説
明を省略する。
【0028】本発明のマイクロプロセッサ1は、CPU
コア5,SVIスタック6,INTスタック7,割り込
みネスト制御回路8,SVMODE発生回路9,レジス
タ10,最大ネストレベル検出回路11,2入力AND
ゲート12,2入力ORゲート13,割り込み禁止回路
14とから構成されている。これら各構成ブロックにつ
いて、より詳細な説明を続ける。
【0029】CPUコア5は、特権割り込み要求または
ユーザ割り込み要求により割り込みを受け付けると、特
権割り込み承認信号SVIAKまたはユーザ割り込み承
認信号INTAKを1パルス出力し、復帰情報のプログ
ラムカウンタ(以後PCと呼ぶ)とプログラムステータ
スワード(以後PSWと呼ぶ)の退避処理を行い割り込
み処理を開始し、特権割り込み復帰命令またはユーザ割
り込み復帰命令の実行により、特権割り込み復帰信号R
ETSまたはユーザ割り込み復帰信号RETIを1パル
ス出力し、PC/PSWの復帰処理を行い、特権モード
中は特権割り込み要求を受け付けない。
【0030】SVIスタック6は、特権割り込み処理開
始時またはモニタプログラムの実行を中断させるユーザ
割り込み処理開始時にPCとPSWが退避される。
【0031】INTスタック7は、上述以外のユーザ割
り込み開始時にPCとPSWが退避される。
【0032】割り込みネスト制御回路8は、CPUコア
5から信号SVIAK,RETS,INTAK,RET
Iを入力し、特権割り込み処理のネストレベルおよび特
権モード以降のユーザ割り込み処理のネストレベルをカ
ウントし、特権割り込みSVIネストカウンタ信号SV
NCNT[1:0]とユーザ割り込みINTネストカウ
ンタ信号INTCNT[m:0]とを出力すると共に、
多重の特権割り込み処理から復帰したことを示すSVI
ネストフラグ信号SVNESTを出力する。
【0033】SVMODE発生回路9は、CPUコア5
から信号SVIAK,RETS,NTAK,RETIを
入力すると共に、割り込みネスト制御回路8から信号S
VNCNT[1:0],INTCNT[m:0],SV
NESTを入力し、特権モード中にアクティブレベルに
なり、ユーザモード中及び特権モード以降のユーザ割り
込みによるユーザモード中にインアクティブレベルにな
る特権モード信号SVMODEを出力する。
【0034】レジスタ10は、特権モード中のユーザ割
り込み処理の許可または禁止を設定する。
【0035】最大ネストレベル検出回路11は、特権モ
ード中のユーザ割り込み処理を許可する場合でも割り込
みネスト制御回路8から入力される信号SVNCNT
[1:0]が最大のネストレベルになったこと検出して
特権モード中のユーザ割り込み処理を強制的に禁止する
ための信号を出力する。
【0036】2入力ANDゲート12は、SVMODE
発生回路9から入力されるSVMODE信号をレジスタ
10から出力される信号によりマスクまたは解除する。
【0037】2入力ORゲート13は、最大ネストレベ
ル検出回路11からの信号と2入力ANDゲート12か
らの信号を入力する。
【0038】割り込み禁止回路14は、2入力ORゲー
ト13からの入力信号により割り込み要求の禁止をす
る。
【0039】さらに、SVMODE発生回路9,最大ネ
ストレベル検出回路11,割り込みネスト制御回路8に
ついて、より詳細な回路図を参照して説明を続ける。
【0040】図2は、図1のマイクロプロセッサのSV
MODE発生回路9を示す回路図である。
【0041】SVMODE発生回路9は、特権割り込み
承認信号SVIAK=“1”の入力、または、ユーザ割
り込み復帰信号RETI=“1”且つINTネストカウ
ンタ信号INTCNT[m:0]=“1”且つSVIネ
ストフラグ信号SVNEST=“0”且つSVIネスト
カウンタ信号SVNCNT[1:0]=“1”の入力
で、特権モード信号SVMODEをセット(“1”)
し、特権割り込み復帰信号RETS=“1”の入力、ま
たは、ユーザ割り込み承認信号INTAK=“1”の入
力で、特権モード信号SVMODEをリセット
(“0”)する。
【0042】図3は、図1のマイクロプロセッサの最大
ネストレベル検出回路11を示す回路図である。
【0043】最大ネストレベル検出回路11は、本実施
例では特権割り込み処理の最大ネストレベルを“2”と
しているので、特権モード中のユーザ割り込みが許可さ
れている設定でも、入力されている特権割り込みSVI
ネストカウンタ信号SVNCNT[1:0]が“2”に
なると、それ以降の特権モード中のユーザ割り込み処理
の禁止を要求する信号INTDISABLEを出力す
る。
【0044】図4は、図1のマイクロプロセッサの割り
込みネスト制御回路8を示す回路図である。
【0045】割り込みネスト制御回路8は、特権割り込
み処理のネストレベルをカウントするSVIネストカウ
ンタ15と、特権モード以降に受け付けたユーザ割り込
み処理のネストレベルをカウントするINTネストカウ
ンタ16と、多重の特権割り込み処理から復帰したこと
及び信号を出力するSVIネストフラグ17とから構成
される。
【0046】SVIネストカウンタ15は、特権割り込
み承認信号SVIAK=“1”の入力でカウントアップ
(+1)し、特権割り込み復帰信号RETS=“1”の
入力、または、ユーザ割り込み復帰信号RETI=
“1”且つSVIネストフラグ信号SVNEST=
“1”且つINTネストカウンタ信号INTCNT
[m:0]=“1”の入力でカウントダウン(−1)す
る。
【0047】INTネストカウンタ16は、最大でノン
マスカブル割り込みの数とマスカブル割り込みの数を加
算しただけの数をカウントできるだけのビット幅(ビッ
トm〜ビット0:m≧0,正整数)を持つ。ユーザ割り
込み承認信号INTAK=“1”の入力でカウントアッ
プ(+1)し、ユーザ割り込み復帰信号RETI=
“1”の入力でカウントダウン(−1)し、特権割り込
み承認信号SVIAK=“1”且つSVIネストカウン
タ信号SVNCNT[1:0]=“0”の入力でカウン
トクリアする。
【0048】SVIネストフラグ17において、本実施
例は、特権割り込み復帰信号RETSの代わりに、特権
割り込み処理の最大ネストレベルが“2”であることを
SVIネストフラグ17のセット条件としている。した
がって、SVIネストフラグ17は、SVIネストカウ
ンタ信号SVNCNT[1:0]=“2”の入力でセッ
ト(“1”)され、ユーザ割り込み復帰信号RETI=
“1”且つINTネストカウンタ信号INTCNT
[m:0]=“1”且つSVIネストフラグ信号SVN
EST=“1”の入力でリセット(“0”)される。
【0049】次に、図1〜4を参照して、本実施例のマ
イクロプロセッサ1の動作を説明する。
【0050】あらかじめ、本実施例のマイクロプロセッ
サ1のレジスタ10には、マイクロプロセッサ1が特権
モード中のユーザ割り込み処理を禁止するモードにする
ときに“1”を、マイクロプロセッサ1が特権モード中
のユーザ割り込み処理を許可するモードにするときに
“0”を設定する。
【0051】まず、レジスタ10に“1”を設定した場
合の動作について説明する。
【0052】この設定ではレジスタ10の出力Qが
“1”になるため、2入力ANDゲート12において特
権モード信号SVMODEはマスクされないので、割り
込み禁止回路14への入力は特権モード信号SVMOD
Eと同じとなる。
【0053】ユーザモード中は特権モード信号SVMO
DEが“0”であるのでユーザメモリ4の応用プログラ
ムが実行される。ユーザモード中に特権割り込み要求S
VIが発生し受け付けられると、特権割り込み承認信号
SVIAKが“1”になるため、特権モード信号SVM
ODEは“1”になり、特権モードに遷移する。応用プ
ログラムのPC/PSWはSVIスタック6のSV1に
退避され、SVIネストカウンタ信号SVNCNT
[1:0]は“1”になり、SVIネストフラグ信号S
VNESTおよびINTネストカウンタ信号INTCN
T[m:0]は“0”になる。このとき、割り込み禁止
回路14への入力は特権モード信号SVMODEと同じ
“1”になるため、特権モード中の全ての割り込みが禁
止される。
【0054】このときの処理の遷移を示す遷移図が図5
(A)であり、処理の流れを示す流れ図が図6である。
【0055】特権モード中、モニタプログラムにおいて
特権割り込み復帰命令が実行されると、特権割り込み復
帰信号RETSが“1”になるため、特権モード信号S
VMODEは“0”になり、ユーザモードに復帰する。
PC/PSWはSVIスタック6のSV1より復帰さ
れ、SVIネストカウンタ信号SVNCNT[1:0]
は“0”になる。このとき、割り込み禁止回路14への
入力も“0”になるため、割り込みの禁止状態は解除さ
れる。
【0056】このときの処理の遷移を示す遷移図が図5
(A)であり、処理の流れを示す流れ図が図7である。
【0057】以上説明したように、レジスタ10に
“1”を設定した場合の動作は、特権モード中は割り込
み禁止状態となり、従来のマイクロプロセッサと同じ動
作となる。
【0058】次に、レジスタ10に“0”を設定した場
合の動作について説明する。
【0059】この設定ではレジスタ10の出力Qが
“0”になるため、2入力ANDゲート12において特
権モード信号SVMODEはマスクされるので、特権モ
ード信号SVMODEの状態に関わらず割り込み禁止回
路14への入力は最大ネストレベル検出回路11の出力
と同じになる。
【0060】まず、特権割り込み処理のネストが一重の
ときまでの動作について説明する。
【0061】ユーザモード中は特権モード信号SVMO
DEが“0”であるのでユーザメモリ4の応用プログラ
ムが実行される。ユーザモード中に特権割り込み要求S
VIが発生し受け付けられると、特権割り込み承認信号
SVIAKが“1”になるため、特権モード信号SVM
ODEは“1”になり、特権モードに遷移する。PC/
PSWはSVIスタック6のSV1に退避され、SVI
ネストカウンタ信号SVNCNT[1:0]は“1”、
SVIネストフラグ信号SVNESTは“0”、INT
ネストカウンタ信号INTCNT[m:0]は“0”に
なる。
【0062】ここで、ユーザ割り込み要求が発生し受け
付けられると、ユーザ割り込み承認信号INTAKが
“1”になるため、特権モード信号SVMODEは
“0”になり、ユーザモードに遷移する。モニタプログ
ラムのPC/PSWはSVIスタック6のSV2に退避
され、INTネストカウンタ信号INTCNT[m:
0]は“1”になる。
【0063】このユーザ割り込み処理ルーチンにおいて
ユーザ割り込み復帰命令が実行されると、ユーザ割り込
み復帰信号RETIが“1”になるため、特権モード信
号SVMODEは“1”になり、特権モードに復帰す
る。PC/PSWはSVIスタック6のSV2より復帰
され、INTネストカウンタ信号INTCNT[m:
0]は“0”になる。
【0064】このときの処理の遷移を示す遷移図が図5
(B)であり、処理の流れを示す流れ図が図8,図9,
図10である。
【0065】また、このユーザ割り込み処理中にさらに
ユーザ割り込み要求が発生し受け付けられる場合には、
特権モード信号SVMODEは“0”のままであり、P
C/PSWはユーザモード中のユーザ割り込みであるた
め、INTスタック7のUSR1に退避される。INT
ネストカウンタ信号INTCNT[m:0]は“2”に
なる。ユーザ割り込み復帰命令が実行される場合は、P
C/PSWはINTスタック7のUSR1より復帰さ
れ、INTネストカウンタ信号INTCNT[m:0]
は“1”になる。
【0066】この後、ユーザ割り込みが多重に割り込ん
だ場合、INTネストカウンタ信号INTCNT[m:
0]は、ユーザ割り込みが受け付けられる毎にカウント
アップされ、ユーザ割り込み復帰命令の実行毎にカウン
トダウンされる。
【0067】このときの処理の遷移を示す遷移図が図5
(C)であり、処理の流れを示す流れ図が図8,図9,
図10である。
【0068】ユーザ割り込み処理より復帰し、特権モー
ド中のモニタプログラムにおいて特権割り込み復帰命令
が実行されると、特権割り込み復帰信号RETSが
“1”になるため、特権モード信号SVMODEは
“0”になり、ユーザモードに復帰する。PC/PSW
はSVIスタック6のSV1より復帰され、SVIネス
トカウンタ信号SVNCNT[1:0]は“0”にな
る。
【0069】次に、特権割り込み処理のネストが多重に
なるときの動作について説明する。
【0070】ユーザモード中に特権割り込み要求SVI
が受け付けられ特権モードに遷移し、さらに特権モード
中にユーザ割り込み要求が受け付けられユーザモードに
遷移するところまでは、特権割り込み処理のネストが一
重のときと同じ動作である。このときさらにユーザモー
ド中にユーザ割り込みが受け付けられ、ユーザ割り込み
処理のネストが多重になった場合も同じ動作である。
【0071】このときの状態は、図5(C)にあるよう
に、SVIネストカウンタ信号SVNCNT[1:0]
=“1”、INTネストカウンタ信号INTCNT
[m:0]=“N”(多重により異なる)、SVIネス
トフラグ信号SVNEST=“0”である。また、SV
Iスタック6のSV1には最初に特権割り込み処理が受
け付けられ中断した応用プログラムへの復帰時のPC/
PSWが格納され、SV2には特権モード中にユーザ割
り込みが受け付けられ中断したモニタプログラムへの復
帰時のPC/PSWが格納されている。
【0072】このユーザ割り込み処理を実行しているユ
ーザモード中に特権割り込み要求SVIが発生すると受
け付けられる。特権割り込み承認信号SVIAKが
“1”になるため、特権モード信号SVMODEは
“1”になり、再び特権モードに遷移する。SVIネス
トカウンタ信号SVNCNT[1:0]は“2”にな
る。本実施例では、SVIの最大のネストレベルは
“2”としているので、最大ネストレベル検出回路の出
力も“1”となり割り込み禁止回路14に入力されるた
め、この二重目の特権モード中はレジスタ10の設定に
関わりなく全ての割り込みが禁止される。
【0073】この多重の特権割り込み処理のモニタプロ
グラムは、ユーザ割り込みにより中断した箇所からでは
なく、再び最初から実行されるので、中断した下位ネス
トレベル“1”の特権モードへ復帰する必要はない。よ
って、特権割り込み受け付け時のユーザ割り込みのPC
/PSWは、回路数低減のため再びSVIスタック6の
SV2に退避される。
【0074】同時に、本実施例は、特権割り込み復帰信
号RETSの代わりに、SVIの最大のネストレベルが
“2”であることをSVIネストフラグ17のセット条
件としているため、多重の特権割り込み処理から復帰し
たこと及び特権モード以降に受け付けたユーザ割り込み
処理プログラムを実行中であることを示すSVIネスト
フラグ信号SVNESTも“1”になる。
【0075】このときの処理の遷移を示す遷移図が図5
(D)であり、処理の流れを示す流れ図が図6である。
【0076】このネストレベル“2”の特権モードでの
モニタプログラムの処理が終了し、特権割り込み復帰命
令が実行されると、特権割り込み復帰信号RETSが
“1”になるため、特権モード信号SVMODEは
“0”になり、ユーザ割り込み処理のユーザモードに復
帰する。PC/PSWはSVIスタック6のSV2より
復帰され、SVIネストカウンタ信号SVNCNT
[1:0]は“1”になる。最大ネストレベル検出回路
11の出力は“0”となるため、割り込みの禁止状態が
解除される。
【0077】このときの処理の遷移を示す遷移図が図5
(D)であり、処理の流れを示す流れ図が図7である。
【0078】この後、ユーザ割り込み処理ルーチンでユ
ーザ割り込み復帰命令が実行される毎に、INTネスト
カウンタ信号INTCNT[m:0]は“N”→…→
“2”→“1”とカウントダウンされ、PC/PSWは
INTスタック7から復帰される。
【0079】引き続き、ネストレベル“1”のユーザ割
り込み処理ルーチンでユーザ割り込み復帰命令を実行す
ると、既にモニタプログラムの実行は終了しているの
で、このユーザ割り込みの受け付けにより中断したネス
トレベル“1”の特権モード中のモニタプログラムの実
行には復帰しない。SVIネストカウンタ信号SVNC
NT[1:0]=“1”且つSVIネストフラグ信号S
VNEST=“1”且つINTネストカウンタ信号IN
TCNT[m:0]=“1”であるので、PC/PSW
はSVIスタック6のSV1から復帰され、最初の特権
割り込みにより中断したユーザモードの応用プログラム
の実行に復帰する。SVIネストカウンタ信号SVNC
NT[1:0]は“0”、INTネストカウンタ信号I
NTCNT[m:0]=“0”である。
【0080】このときの処理の遷移を示す遷移図が図5
(D)であり、処理の流れを示す流れ図が図10であ
る。
【0081】このモードにおいて、特権モード中に発生
したユーザ割り込み処理ルーチンまたはそれ以降に多重
に発生するユーザ割り込み処理ルーチンのデバッグや、
このユーザ割り込み処理ルーチン実行中に暴走した場合
の解除等の処理を実行することができる。
【0082】以上説明したように、レジスタ10に
“0”を設定した場合、特権モード中でも割り込み許可
状態となり、特権モード中にユーザ割り込み要求があっ
た場合でも割り込みを受け付け、応用プログラム上の割
り込み処理ルーチンを実行でき、さらに、その割り込み
処理ルーチンにおいても特権割り込み要求により特権割
り込みを受け付けることができる。また、特権割り込み
処理やユーザ割り込み処理が多重に割り込んだ場合で
も、正確に復帰処理が実行できる。
【0083】なお、図1により、本発明によるマイクロ
プロセッサの特権割り込み処理の最大のネストレベルが
“2”である場合の実施例について説明したが、特権割
り込み処理の最大のネストレベルを“2”以上のレベル
に拡張して実施することは容易である。
【0084】
【発明の効果】以上説明したように、本発明によるマイ
クロプロセッサは、特権割り込み処理のネストレベルを
カウントするカウンタ回路と、特権割り込み処理中に受
け付けたユーザ割り込み処理のネストレベルをカウント
するカウンタ回路と、多重の特権割り込み処理から復帰
したこと及び特権モード以降に受け付けたユーザ割り込
み処理プログラムを実行中であることを示す信号を出力
するフラグ回路と、特権割り込みのネストが最大レベル
まで達したことを示す信号を出力する最大ネスト検出回
路とを備えているため、特権割り込み処理中に受け付け
たユーザ割り込み要求の処理ルーチン実行中に、さらに
多重の特権割り込み処理を実行できる、且つ、特権割り
込み処理および特権割り込み処理中に受け付けたユーザ
割り込み処理から正確に復帰できる。
【0085】また、本発明によるマイクロプロセッサを
用いたエミュレーション装置において、特権割り込み処
理のモニタプログラム実行中にユーザ割り込み要求を受
け付け、応用プログラムの割り込み処理ルーチンを実時
間で実行できるという効果がある。
【図面の簡単な説明】
【図1】本発明のマイクロプロセッサの実施例およびそ
の応用例を示すブロック図である。
【図2】図1のマイクロプロセッサのSVMODE発生
回路を示す回路図である。
【図3】図1のマイクロプロセッサの最大ネストレベル
検出回路を示す回路図である。
【図4】図1のマイクロプロセッサの割り込みネスト制
御回路を示す回路図である。
【図5】図1のマイクロプロセッサにおける割り込みの
ネスト処理の遷移を示す遷移図である。
【図6】図1のマイクロプロセッサにおける特権割り込
み処理の流れを示す流れ図である。
【図7】図1のマイクロプロセッサにおける特権割り込
みからの復帰処理の流れを示す流れ図である。
【図8】図1のマイクロプロセッサにおけるノンマスカ
ブル割り込み処理の流れを示す流れ図である。
【図9】図1のマイクロプロセッサにおけるマスカブル
割り込み処理の流れを示す流れ図である。
【図10】図1のマイクロプロセッサにおける割り込み
からの復帰処理の流れを示す流れ図である。
【図11】従来のマイクロプロセッサの例1およびその
応用例を示すブロック図である。
【図12】図11のマイクロプロセッサの応用例の1部
分を示すブロック図である。
【図13】従来のマイクロプロセッサの例2およびその
応用例を示すブロック図である。
【符号の説明】
1,24,25 マイクロプロセッサ 2 ブレーク回路 3 モニタメモリ 4 ユーザメモリ 5 CPUコア 6 SVIスタック 7 INTスタック 8 割り込みネスト制御回路 9 SVMODE発生回路 10 レジスタ 11 最大ネスト検出回路 12,20,21 2入力ANDゲート 13,22 2入力ORゲート 14 割り込み禁止回路 15 SVIネストカウンタ 16 INTネストカウンタ 17 SVIネストフラグ 18 ローパスフィルタ 19 DCモータ 23 SR−フリップフロップ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ユーザ割り込み処理を含む応用プログラ
    ム実行中に特権割り込み要求を受け付ける割り込み処理
    機能をもち、前記特権割り込みの処理プログラム実行中
    を示す特権モード信号を出力する信号発生回路と、プロ
    グラム設定されたマスク信号および前記特権モード信号
    の論理出力により割り込み受け付けを禁止する割り込み
    禁止回路とを有するマイクロプロセッサにおいて、 前記マスク信号のプログラム設定により前記特権割り込
    み処理中に受け付けられた前記ユーザ割り込み処理中に
    多重の特権割り込み要求を受け付け、この多重の特権割
    り込み処理から復帰するとき下位レベルの特権割り込み
    処理に復帰しないネスト制御をする割り込みネスト制御
    回路と、前記特権割り込み処理の最大ネストレベルを検
    出し前記論理出力と共に割り込み受け付けを禁止する信
    号を出力する最大ネストレベル検出回路とを備えること
    を特徴とするマイクロプロセッサ。
  2. 【請求項2】 前記割り込みネスト制御回路は、前記特
    権割り込み処理のネストレベルをカウントするカウンタ
    回路と、前記特権割り込み処理中に受け付けられた前記
    ユーザ割り込み処理のネストレベルをカウントするカウ
    ンタ回路と、前記多重の特権割り込み処理から復帰した
    ことを示す信号を出力するフラグ回路とを有し、前記最
    大ネスト検出回路は前記特権割り込み処理のネストレベ
    ルをカウントするカウンタ回路の出力を入力とする論理
    回路である請求項1記載のマイクロプロセッサ。
JP7124894A 1995-05-24 1995-05-24 マイクロプロセッサ Expired - Fee Related JP2625402B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7124894A JP2625402B2 (ja) 1995-05-24 1995-05-24 マイクロプロセッサ
US08/653,486 US5701494A (en) 1995-05-24 1996-05-24 Microprocessor with multiple supervisor interrupt processing function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7124894A JP2625402B2 (ja) 1995-05-24 1995-05-24 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH08320794A true JPH08320794A (ja) 1996-12-03
JP2625402B2 JP2625402B2 (ja) 1997-07-02

Family

ID=14896744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7124894A Expired - Fee Related JP2625402B2 (ja) 1995-05-24 1995-05-24 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US5701494A (ja)
JP (1) JP2625402B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272828A (ja) * 1998-02-06 1999-10-08 Koninkl Philips Electronics Nv 集積回路を有するチップカ―ド
JP2001125804A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd 割り込み処理制御装置および方法
JP2008176637A (ja) * 2007-01-19 2008-07-31 Toshiba Corp 情報処理装置
JP2017527902A (ja) * 2014-09-26 2017-09-21 インテル・コーポレーション 例外からの復帰時のマスク不可割り込みの早期有効化の回避

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889973A (en) * 1995-03-31 1999-03-30 Motorola, Inc. Method and apparatus for selectively controlling interrupt latency in a data processing system
US5909582A (en) * 1996-04-26 1999-06-01 Nec Corporation Microcomputer having user mode interrupt function and supervisor mode interrupt function
JPH10260849A (ja) * 1997-03-19 1998-09-29 Mitsubishi Electric Corp 情報処理装置および割り込み制御方法
US6038633A (en) * 1997-08-15 2000-03-14 Compaq Computer Corporation System and method for providing a dual interrupt mechanism to designate the occurrence and termination of an event
US5987559A (en) * 1998-02-02 1999-11-16 Texas Instruments Incorporated Data processor with protected non-maskable interrupt
US6681280B1 (en) 1998-10-29 2004-01-20 Fujitsu Limited Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
US6370607B1 (en) * 1999-04-13 2002-04-09 Advanced Micro Devices, Inc. Automatic disabling of interrupts upon entry into interrupt service routine
US7035984B2 (en) * 2001-12-31 2006-04-25 Intel Corporation Memory arbiter with grace and ceiling periods and intelligent page gathering logic
FR2884628A1 (fr) * 2005-04-18 2006-10-20 St Microelectronics Sa Procede de traitement d'interruptions non securisees par un processeur operant dans le mode securise, processeur associe.
JP5508903B2 (ja) * 2010-03-05 2014-06-04 ルネサスエレクトロニクス株式会社 情報処理装置、半導体集積回路装置および異常検出方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
JPS6418545A (en) * 1987-07-14 1989-01-23 Honda Motor Co Ltd Method for forging gear
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition
US5438677A (en) * 1992-08-17 1995-08-01 Intel Corporation Mutual exclusion for computer system
US5530874A (en) * 1993-02-02 1996-06-25 3Com Corporation Network adapter with an indication signal mask and an interrupt signal mask

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272828A (ja) * 1998-02-06 1999-10-08 Koninkl Philips Electronics Nv 集積回路を有するチップカ―ド
JP2001125804A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd 割り込み処理制御装置および方法
JP2008176637A (ja) * 2007-01-19 2008-07-31 Toshiba Corp 情報処理装置
JP2017527902A (ja) * 2014-09-26 2017-09-21 インテル・コーポレーション 例外からの復帰時のマスク不可割り込みの早期有効化の回避

Also Published As

Publication number Publication date
US5701494A (en) 1997-12-23
JP2625402B2 (ja) 1997-07-02

Similar Documents

Publication Publication Date Title
JP2625402B2 (ja) マイクロプロセッサ
EP2668578B1 (en) Controlling generation of debug exceptions
US5530597A (en) Apparatus and method for disabling interrupt masks in processors or the like
JPWO2011046217A1 (ja) マイクロコンピュータ及びその動作方法
JP4343795B2 (ja) データ処理装置および方法
US5909582A (en) Microcomputer having user mode interrupt function and supervisor mode interrupt function
JP3209144B2 (ja) マイクロプロセッサ
JP2877138B2 (ja) ソフトウェアディバグ用マイクロコンピュータ
JP2653412B2 (ja) ブレークポイント設定方法
JPH01184545A (ja) マイクロプロセッサ
JPH08153018A (ja) 半導体システム
JPH03252886A (ja) シングルチップマイクロコンピュータ
JP3129227B2 (ja) マイクロプロセッサ
JPH02121045A (ja) アクセスプロテクト機能を有するマイクロプロセッサ
JPH01217511A (ja) 割込み回路
JPH1173371A (ja) レジスタのプロテクト回路
JPH0226245B2 (ja)
JPH10161887A (ja) 割込み信号同期化方法及び割込み信号同期化装置
JPS63146137A (ja) プログラム実行暴走防止装置
JPH0991210A (ja) マイクロコンピュータ及びモータ駆動装置
JP2000330798A (ja) 割込制御装置および割込制御検証方法
JPH02310629A (ja) 割り込み制御装置、共用資源排他方法およびアセンブラプログラム処理方法
JPH04270441A (ja) データ処理装置
JPH087692B2 (ja) 仮想計算機システムにおけるタイマ制御方式
JPH04323740A (ja) Wdt回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970212

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

Free format text: PAYMENT UNTIL: 20080411

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090411

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100411

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees