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

マイクロプロセッサ

Info

Publication number
JP3129227B2
JP3129227B2 JP09082066A JP8206697A JP3129227B2 JP 3129227 B2 JP3129227 B2 JP 3129227B2 JP 09082066 A JP09082066 A JP 09082066A JP 8206697 A JP8206697 A JP 8206697A JP 3129227 B2 JP3129227 B2 JP 3129227B2
Authority
JP
Japan
Prior art keywords
interrupt
signal
user
level
execution
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 - Fee Related
Application number
JP09082066A
Other languages
English (en)
Other versions
JPH10254730A (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 JP09082066A priority Critical patent/JP3129227B2/ja
Publication of JPH10254730A publication Critical patent/JPH10254730A/ja
Application granted granted Critical
Publication of JP3129227B2 publication Critical patent/JP3129227B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サに関し、特に、命令実行前中断する特権割り込み信号
による1命令毎のステップ実行手段を有するマイクロプ
ロセッサに関する。
【0002】
【従来の技術】従来、この種のマイクロプロセッサは、
たとえば特開昭60−225257号公報等にも記載さ
れているように、ユーザの作成した応用プログラムのデ
バッグを効率よく行うために用いられている。なお上記
特開昭60−225257号公報には、専用の複雑な付
加回路や専用のツールを用いずに、任意の指定した範囲
のみのステップ実行が行えるようにしたマイクロプロセ
ッサとして、特定の許可フラグをオンすることで1命令
実行毎に内部割り込みを発生するステップ実行手段を有
するマイクロプロセッサにおいて、該許可フラグの機能
を無効にするマスクフラグをオンすることで前記許可フ
ラグの有効範囲を規定するステップ実行手段を付加した
構成のマイクロプロセッサが提案されている。
【0003】図5は、特権割り込み手段を有する従来の
マイクロプロセッサの要部を示す図である。図5を参照
すると、このマイクロプロセッサ11は、応用プログラ
ム実行中(以下、この状態を「ユーザモード」という)
に、特権割り込み信号brkint100により応用プ
ログラムの命令実行前に、中断(以下、この状態を「特
権モード」という)する。なお、図5において、103
はCPUコア2に対するユーザ割り込み信号int、1
04はCPUコア2からのユーザ割り込み受け付け信号
INTOK、102はCPUコア2からの1命令実行信
号INST1OKである。なお、図5において、特権割
り込み信号brkint(−)、特権割り込み信号BR
KINT(−)等における記号(−)はLowレベル
(“0”)でアクティブであることを示すものである。
【0004】特権モードでは、ユーザの応用プログラム
をデバッグするためのデバッグ・プログラムが実行され
る。このデバッグ・プログラムは、応用プログラムを中
断した時点でのメモリやレジストの内容の参照や書き換
えなどを行うことで、応用プログラムをデバッグする機
能が実装されている。
【0005】このようなデバッグ機能の1つとして、応
用プログラムの命令をユーザモードで1命令実行する毎
に、特権割り込み信号により、特権モードに遷移しなが
らデバッグする機能(以下、この機能を「ステップ実行
機能」という)がある。
【0006】図6は、図5のマイクロプロセッサの特権
割り込みの動作及び状態遷移を説明するための図であ
る。図6において、「IF」、「ID」、「EX」は、
命令の実行状況を示し、このうち「IF」は命令フェッ
チ・ステージ、「ID」は命令デコード・ステージ、
「EX」は命令実行ステージをそれぞれ示している。
【0007】図5に示したような、命令実行前中断方式
の特権割り込み信号を備えたマイクロプロセッサ11に
おいて、特権割り込み信号brkint100をアクテ
ィブレベル(この場合、“0”レベル)にしたまま、特
権モードからの復帰命令を実行すると(図6(A)の復
帰命令の命令実行ステージEX参照)、復帰先の命令の
実行(図6(B)の命令実行ステージEX参照)前に、
再び中断してしまい、すなわち、特権割り込みbrki
nt100により、再び特権モードの最初の命令から実
行されることになり、無限ループしてしまう、ことにな
る。すなわち図6(b)を参照して、ユーザモードから
特権モードに入り(図6(b)の特権モード最初の命令
C)に入り、特権モードから復帰命令(図6(b)の復
帰命令A)を実行した場合、復帰先命令(図6(b)の
B)を実行する前に、再び特権モードに入ってしまう、
という無限ループに入ってしまうことになる。
【0008】このため、図5に示したマイクロプロセッ
サ11のように、命令実行前中断の特権割り込み信号を
持つマイクロプロセッサにおいて、ステップ実行機能を
実現するには、特権モードからの復帰先の命令の実行後
に、特権割り込み信号をアクティブレベルにするような
ステップ実行手段が必要になる。
【0009】図7は、従来のステップ実行手段を有する
マイクロプロセッサの要部構成を示す図である。図7を
参照して、マイクロプロセッサ12は、特権モードから
の復帰から復帰後一命令の実行が終了するまでアクティ
ブになる一命令実行信号INST1OK102を出力す
るCPUコア2と、ステップ実行機能が有効または無効
であることを示す1ステップ割り込み許可フラグ105
と、一命令実行信号INST1OK102と、を入力す
るステップ許可回路14と、ステップ許可回路14の出
力により特権割り込み信号brkint100をマスク
または解除する特権割り込みマスク回路13と、を備え
て構成されている。
【0010】図8は、図7に示したマイクロプロセッサ
においてステップ実行機能を使用したときの遷移を示す
図である。
【0011】1ステップ割り込み許可フラグ105が
“0”レベルのとき、ステップ実行機能は無効になり、
1ステップ割り込み許可フラグ105が“1”レベルの
とき、ステップ実行機能が有効になる。
【0012】ステップ実行機能が有効であるとき、特権
割り込み信号brkint100をアクティブレベル
(この場合“0”レベル)にしたまま、特権モードから
の復帰命令を実行すると、特権モードからの復帰によ
り、一命令実行信号INST1OK102はアクティブ
レベル(この場合“1”レベル)に変化し、復帰先の命
令の実行後まで保持し、復帰先の命令の実行後(図8
(B)の復帰先命令の命令実行ステージEX後)に、1
命令実行信号INST1OK102はインアクティブレ
ベル(この場合“0”レベル)に変化する(図8(F)
参照)。
【0013】これにより、CPUコア2への特権割り込
み信号BRKINT101の入力は、特権モードからの
復帰後、復帰先の命令が実行されるまでインアクティブ
レベル(この場合“1”レベル)になり(図8(E)参
照)、復帰先の命令の実行後にアクティブレベル(この
場合“0”レベル)になるため、復帰先の命令の次の命
令の実行前に、中断して、ステップ実行機能を実現す
る。すなわち、図8(C)の復帰先の次の命令の命令実
行ステージEXの前にCPUコア2への特権割り込み信
号BRKINT101の入力がアクティブ(“0”レベ
ル)となり、図8(D)の特権モードの最初の命令が実
行される。
【0014】図8(b)を参照して、ユーザモードから
特権モードに入り、特権モードから復帰先の命令(B)
を実行した後に、且つ、復帰先の命令の次の命令の実行
前に再び特権モードに入るという具合に、状態が遷移す
る。
【0015】図9は、図7に示したマイクロプロセッサ
において、ステップ実行中にユーザ割り込みが発生した
ときの遷移図である。
【0016】図7及び図9を参照すると、1ステップ割
り込み許可フラグ105を“1”レベルにしてステップ
実行機能を有効にしているとき、特権モードから復帰に
より復帰先の命令(B)の実行中、CPUコア2への特
権割り込み信号BRKINT101の入力は一命令実行
信号INST1OK102によりインアクティブレベル
(この場合“1”レベル)になっている。このときに、
ユーザ割り込み信号int103がアクティブレベル
(この場合“0”レベル)であると、ユーザ割り込みは
受け付けられ、特権モードからの復帰先の命令(B)を
実行後、ユーザ割り込み処理ルーチンに遷移する。
【0017】特権モードからの復帰先の命令(B)の実
行後、CPUコア2への特権割り込み信号BRKINT
101の入力はアクティブレベル(この場合“0”レベ
ル)になるため、ユーザ割り込み処理ルーチンの最初の
命令(D)の実行前に中断して、特権モードに遷移す
る。
【0018】再び、特権モードからの復帰命令を実行す
ると、ユーザ割り込み処理ルーチンの最初の命令に復帰
し、ユーザ割り込み処理ルーチンの最初の命令実行後、
ユーザ割り込み処理ルーチンの二番目の命令の実行前に
中断して特権モードに遷移する。ステップ実行機能が有
効になっているときは、ステップ実行中に発生したユー
ザ割り込みのユーザ割り込み処理ルーチンにおいても、
ステップ実行することになる。
【0019】このように、図7に示したような、ステッ
プ実行手段を有するマイクロプロセッサでは、1ステッ
プ割り込み許可フラグ105を“1”レベルにしてステ
ップ実行機能を有効にすると、再び“0”レベルにして
ステップ実行機能を解除するまで、応用プログラムの全
ての処理ルーチンをステップ実行するため、ステップ実
行中に発生したユーザ割り込みによるユーザ割り込み処
理ルーチンなどの意図していない処理ルーチンにおいて
も、ステップ実行してしまうことになる、という問題点
がある。
【0020】このステップ実行機能が有効であるとき
に、意図していない処理ルーチンもステップ実行してし
まうというマイクロプロセッサの問題を解決するための
一例が、上記特開昭60−225257号公報に提案さ
れている。
【0021】図10(a)は、上記公報に提案されるマ
イクロプロセッサの要部構成を示す図である。1ステッ
プ割り込み許可フラグ105を有効にすることで1命令
毎に1ステップ割り込み116を発生するステップ実行
手段を有するマイクロプロセッサにおいて、1ステップ
割り込み許可フラグ105の機能を無効にする1ステッ
プ割り込みマスクフラグ115を有効にすること、1ス
テップ割り込み許可フラグ105の有効範囲を規定する
ステップ実行手段としてのマスクフラグ回路15を付加
して構成されている。ここで、マスクフラグ回路15は
1ステップ割り込み許可フラグ105と、1ステップ割
り込みマスクフラグ115を入力とし、図10(b)に
示すレベル関係において、1ステップ割り込み116が
発生する。
【0022】上記公報に提案されるマイクロプロセッサ
は、1ステップ割り込みマスクフラグ115を有効また
は無効にするステップ実行のための特別な命令を有し、
ステップ実行を行いたくない処理ルーチンの先頭に1ス
テップ割り込みマスクフラグ115を有効にする命令
を、その最後に1ステップ割り込みマスクフラグ115
を無効にする命令を付加した応用プログラムを作成す
る。そして、ステップ実行を行いたい場合には、実行前
に1ステップ割り込み許可フラグ105を有効にして実
行することにより、ステップ実行を行いたい処理ルーチ
ンのみ1ステップ実行機能を使用することができる。ま
た、全体についてステップ実行を行わないという非ステ
ップ実行の場合、すなわち通常の実行を行いたい場合に
は、実行前に1ステップ割り込み許可フラグ105を無
効にして実行する。
【0023】
【発明が解決しようとする課題】上記した従来のステッ
プ実行手段を有するマイクロプロセッサでは、ステップ
実行機能の許可フラグによりステップ実行機能を有効に
すると、再びステップ実行機能を無効にするまで、応用
プログラムの全ての処理ルーチンをステップ実行するた
め、ステップ実行中に発生したユーザ割り込みによるユ
ーザ割り込み処理ルーチンなどの意図していない処理ル
ーチンにおいてもステップ実行してしまう、という問題
点を有している。
【0024】また、上記特開昭60−225257号公
報に示されるマイクロプロセッサでは、ステップ実行機
能の許可フラグをマスクするマスクフラグを有効、無効
に設定するステップ実行のための特別な命令をユーザの
応用プログラムに付加する必要があるため、ユーザが開
発しようとしている応用プログラムと異なってしまう、
という問題点を有している。
【0025】したがって、本発明は、上記従来技術の問
題点に鑑みてなされたものであって、その目的は、1命
令毎のステップ実行中であってもユーザ割込処理などの
意図しない処理ルーチンでのステップ実行の禁止をユー
ザの応用プログラムの変更を招くことなく実現する、マ
イクロプロセッサを提供することにある。
【0026】
【課題を解決するための手段】前記目的を達成するた
め、本発明のマイクロプロセッサは、特権割り込み信号
とユーザ割り込み信号を入力するマイクロプロセッサに
おいて1ステップマスク許可フラグによりユーザ割り
込み受付信号をマスクする第1のマスク手段と、一命令
実行信号と前記第1のマスク手段からの出力信号を統合
する統合手段と、1ステップ割り込み許可フラグにより
前記統合手段からの出力信号をマスクする第のマスク
手段と、前記第のマスク手段からの出力信号により特
権割り込み信号をマスクする第のマスク手段と、を備
えたことを特徴とする。
【0027】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明のマイクロプロセッサは、その好ま
しい実施の形態において、ステップ実行中のユーザ割り
込み処理ルーチンでのステップ実行をマスクする1ステ
ップマスク許可フラグ(図1の106)により、ユーザ
割り込みの受け付けからユーザ割り込み処理からの復帰
するまでアクティブレベルになるユーザ割り込み受付信
号(図1の104)をマスクまたは解除するステップマ
スク手段(図1の6)と、ステップマスク手段(図1の
6)からの出力信号と、特権モードからの復帰から復帰
後最初の命令が実行されるまでの間アクティブレベルに
なる一命令実行信号(図1のINST1OK102)を
入力するマスク統合手段(図1の5)と、ステップ実行
機能を許可する1ステップ割り込み許可フラグ(図1の
105)によりマスク統合手段(図1の5)から入力さ
れる信号を有効または無効にするステップ許可手段(図
1の4)と、ステップ許可手段(図1の4)からの出力
信号にて特権割り込み信号(図1の100)をマスクま
たは解除する特権割り込みマスク手段(図1の3)と、
を有する。
【0028】1ステップ割り込み許可フラグ(図1の1
05)を“1”レベル、1ステップマスク許可フラグ
(図1の106)を“1”レベルに設定すると、ステッ
プ実行機能が有効になり、ステップ実行中のユーザ割り
込み処理ルーチンでのステップ実行が禁止になる。
【0029】特権モードからの復帰から復帰先の命令の
実行後までアクティブレベルになる一命令実行信号(図
1のINST1OK102)により、特権割り込み信号
(図1のbrkint100)をマスクしてステップ実
行する。
【0030】ステップ実行中に発生したユーザ割り込み
は、ユーザ割り込み処理中アクティブになるユーザ割り
込み受付信号(図1のINTOK104)により、特権
割り込み(図1のbrkint100)をマスクして、
ユーザ割り込み処理ルーチンでのステップ実行を禁止す
る。
【0031】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例を図面を参照して以下
に説明する。
【0032】
【実施例1】図1は、本発明の第1の実施例の要部構成
を示す図である。図1を参照して、本実施例において、
CPUコア2は、ユーザ割り込み信号INT103また
はユーザ割り込み信号INT103よりも優先度の高い
特権割り込み信号BRKINT101を受け付けると、
割り込み処理を開始し、ユーザ割り込み復帰命令または
特権割り込み復帰命令の実行により、割り込み処理から
復帰し、ユーザ割り込みの受け付けてから、ユーザ割り
込み処理から復帰するまでの間アクティブレベルになる
ユーザ割り込み受付信号INTOK104を出力し、特
権モードからの復帰から復帰後最初の命令が実行される
までの間アクティブレベルになる一命令実行信号INS
T1OK102を出力する。
【0033】本実施例は、ステップ実行中のユーザ割り
込み処理ルーチンでのステップ実行のマスクを許可する
1ステップマスク許可フラグ106によりユーザ割り込
み受付信号INTOK104をマスクまたは解除するス
テップマスク回路6と、ステップマスク回路6からの出
力信号107と一命令実行信号INST1OK102と
を入力するマスク統合回路5と、ステップ実行機能を許
可する1ステップ割り込み許可フラグ105によりマス
ク統合回路5からの出力信号108を有効または無効に
するステップ許可回路4と、ステップ許可回路4からの
出力信号109により特権割り込み信号brkint1
00をマスクまたは解除し、その出力信号をCPUコア
2の特権割り込み信号BRKINT101に出力する特
権割り込みマスク回路3と、を備えて構成されている。
【0034】本実施例の動作の説明として、まず、1ス
テップ割り込み許可フラグ105を、“0”レベルに設
定した場合、すなわち、ステップ実行機能を使用しない
場合の動作について説明する。
【0035】この設定では、ANDゲートで構成される
ステップ許可回路からの出力信号10は、1ステッ
プマスク許可フラグ106の設定が“0”レベルか
“1”レベルかにかかわらず、必ず、“0”レベルとな
るため、ORゲートから構成される特権割り込みマスク
回路3において、特権割り込みbrkint100はマ
スクされず、CPUコア2の特権割り込みBRKINT
101(“0”の時アクティブ)への入力は、特権割り
込みbrkint100の信号値と同じ値となる。
【0036】このとき、ユーザモードでユーザの応用プ
ログラムを実行中の任意の時間において、特権割り込み
brkint100をアクティブレベル(この場合
“0”レベル)にすることで、応用プログラムの実行を
中断し、特権モードに遷移し、デバッグを行う。
【0037】すなわち、この設定では、図5に示した従
来技術の特権割り込み手段を有するマイクロプロセッサ
と同じ動作となる。
【0038】次に、1ステップ割り込み許可フラグ10
5を“1”レベル、1ステップマスク許可フラグ106
を“0”レベルに設定した場合、すなわちステップ実行
機能を使用し、且つ、ステップ実行中に受け付けたユー
ザ割り込み処理ルーチンにおいても、ステップ実行する
場合の動作について説明する。
【0039】この設定では、ANDゲートで構成される
ステップマスク回路6からの出力信号107は、ユーザ
割り込み受付信号INTOK104が“0”レベルか
“1”レベルかにかかわらず、必ず、“0”レベルとな
るため、マスク統合回路5の出力信号108は一命令実
行信号INST1OK102の信号値と同じ値となり、
ANDゲートであるステップ許可回路4の出力信号10
9も信号105が“1”であることから信号108と同
じとなり、ORゲートからなるステップ許可回路3の出
力信号101は、特権割り込み信号brkint100
が“0”であることから信号109の値と同じ値とな
り、結局、ステップ許可回路3からの出力信号101
と、マスク統合回路5からの出力信号108は、一命令
実行信号INST1OK102の信号値と同じとなる。
【0040】すなわち、この設定では、図7に示した従
来技術のステップ実行手段を有するマイクロプロセッサ
と同じ動作となる。
【0041】最後に、1ステップ割り込み許可フラグ1
05を“1”レベル、1ステップマスク許可フラグ10
6を“1”レベルに設定した場合、すなわちステップ実
行機能を使用し、且つ、ステップ実行中に受け付けたユ
ーザ割り込み処理ルーチンでは、ステップ実行しない場
合の動作について説明する。
【0042】この設定では、ANDゲートからなるステ
ップマスク回路6からの出力信号107は、ユーザ割り
込み受付信号INTOK104の信号値と同じとなり、
ステップ許可回路3からの出力信号101は、マスク統
合回路5からの出力信号108の信号値と同じになる。
【0043】すなわち、特権割り込み信号brkint
100は、ステップ許可回路3に入力される信号109
が“1”の時、すなわち一命令実行信号INST1OK
102またはユーザ割り込み受付信号INTOK104
がアクティブレベルのときにマスクされ、ステップ許可
回路3に入力される信号109が“0”の時、すなわ
ち、一命令実行信号INST1OK102とユーザ割り
込み受付信号INTOK104の双方がともにインアク
ティブレベルのときに、マスクが解除される。
【0044】このときのステップ実行の動作の遷移を示
したのが、図2である。
【0045】図1及び図2を参照すると、1ステップ割
り込み許可フラグ105を“1”レベル、1ステップマ
スク許可フラグ106を“1”レベルに設定して、ステ
ップ実行機能を有効にしているとき、特権モードからの
復帰により復帰先の命令の実行中(図2(A)の復帰命
令の命令実行ステージEX参照)、CPUコア2への特
権割り込みBRKINT101の入力は、一命令実行信
号INST1OK102によりインアクティブレベル
(この場合“1”レベル)になっている。
【0046】このときに、ユーザ割り込み信号int1
03がアクティブレベル(この場合“0”レベル)とな
ると、ユーザ割り込みは受け付けられ、特権モードから
の復帰先の命令を実行後(図2(B)の復帰先命令の命
令実行ステージEX参照)、ユーザ割り込み処理ルーチ
ンに遷移し、ユーザ割り込み受付信号INTOK104
がアクティブレベル(この場合“1”レベル)になる。
【0047】特権モードからの復帰先の命令の実行後、
一命令実行信号INST1OK102はインアクティブ
レベルになるが(図2(J)参照)、ユーザ割り込み受
付信号INTOK104がアクティブレベル(この場合
“1”レベル)になっているため(図2(L)参照)、
CPUコア2への特権割り込みBRKINT101の入
力はインアクティブレベル(この場合“1”レベル)の
ままである(図2(M)参照)。
【0048】このように、ユーザ割り込み処理ルーチン
に遷移後に、命令の実行を中断して特権モードに遷移し
ないため、ユーザ割り込み処理ルーチンの命令を実行す
る(図2(E)参照)。
【0049】ユーザ割り込み処理ルーチンにおいて、ユ
ーザ割り込みからの復帰命令が実行されると(図2
(F)参照)、ユーザ割り込み受付信号INTOK10
4はインアクティブレベル(この場合“0”レベル)に
なり(図2(L)参照)、特権割り込みbrkint1
00のマスクは解除される。
【0050】CPUコア2への特権割り込みBRKIN
T101の入力はアクティブレベル(この場合“0”レ
ベル)になるため、ユーザ割り込み処理ルーチンからの
復帰先の命令、すなわち、特権モードからの復帰先の命
令の次の命令の実行前に中断され特権モードに遷移す
る。
【0051】このように、ユーザ割り込み処理ルーチン
において、ステップ実行されないため、特権モードから
の復帰後、一命令実行して、再び、特権モードに遷移し
たような動作になる。
【0052】以上、説明したように、1ステップ割り込
み許可フラグ105を“1”レベル、1ステップマスク
許可フラグ106を“1”レベルに設定した場合、ステ
ップ実行中に受け付けたユーザ割り込み処理ルーチンで
はステップ実行しないようにすることができる。
【0053】
【実施例2】次に、図3は、本発明の第2の実施例2の
要部構成を示す図である。
【0054】図3を参照して、本実施例が、図1に示し
た前記第1の実施例と相違する点は、図1に示したCP
Uコア2に対し、本実施例では、ユーザ割り込み信号I
NT103の優先度を示すユーザ割り込みレベルINT
V[n:0](ビットn〜ビット0:n≧0、正整数)
110と、現在受け付けているユーザ割り込みのレベル
を出力するユーザ割り込み受付レベルINTOKV
[n:0](ビットn〜ビット0:n≧0、正整数)1
11と、が付加された優先度付き割り込み手段を有する
CPUコア8とされており、ユーザ割り込み受付レベル
INTOKV[n:0]111とステップ実行を許可す
るユーザ割り込みのレベルを示すステップ許可レベルs
tepv[n:0](ビットn〜ビット0:n≧0、正
整数)112との大小比較を行うレベル比較器10と、
レベル比較器10からの出力信号によりユーザ割り込み
受付信号INTOK104をマスクまたは解除するレベ
ルマスク回路9が追加されていることである。
【0055】CPUコア8は、現在処理中のユーザ割り
込みよりも優先度の高いユーザ割り込みが発生した場合
には、現在処理中の優先度の低いユーザ割り込み処理を
中断して、優先度の高いユーザ割り込みを受け付け、優
先度の高いユーザ割り込み処理からの復帰により中断さ
れたユーザ割り込み処理が再開される。
【0056】現在処理中のユーザ割り込みよりも優先度
の低いユーザ割り込みが発生した場合には、現在処理中
の優先度の高いユーザ割り込み処理を継続する。
【0057】1ステップ割り込み許可フラグ105を
“0”レベルに設定した場合、すなわちステップ実行機
能を使用しない場合の動作は、前記第1の実施例と同様
の動作となる。
【0058】次に、1ステップ割り込み許可フラグ10
5を“1”レベル、1ステップマスク許可フラグ106
を“0”レベルに設定した場合、すなわちステップ実行
機能を使用し、且つ、ステップ実行中に受け付けたユー
ザ割り込み処理ルーチンにおいてもステップ実行する場
合の動作も、前記第1の実施例と同様の動作になる。
【0059】最後に、1ステップ割り込み許可フラグ1
05を“1”レベル、1ステップマスク許可フラグ10
6を“1”レベル、ステップ許可レベルstepv
[n:0]112の値を“y”(y≧0、正整数)に設
定した場合、すなわちステップ実行機能を使用し、且
つ、ステップ実行中に受け付けたユーザ割り込みレベル
の値が“y”より小さいユーザ割り込み処理ルーチンで
はステップ実行せず、ユーザ割り込みレベルの値が
“y”以上のユーザ割り込み処理ルーチンではステップ
実行する場合の動作について説明する。
【0060】この設定では、ステップマスク回路6から
の出力信号107はレベルマスク回路9からの出力信号
114の信号値と同じとなり、ステップ許可回路3から
の出力信号101はマスク統合回路5からの出力信号1
08の信号値と同じになる。また、レベル比較器10か
らの出力信号113は、ユーザ割り込み受付レベルIN
TOKV[n:0]111の値がステップ許可レベルs
tepv[n:0]112の値よりも小さいときアクテ
ィブレベルになり、ユーザ割り込み受付レベルINTO
KV[n:0]111の値がステップ許可レベルste
pv[n:0]112の値以上のときインアクティブレ
ベルになる。
【0061】すなわち、特権割り込み信号brkint
100は、一命令実行信号INST1OK102がアク
ティブレベル、またはユーザ割り込み受付信号INTO
K104がアクティブレベルであり、且つユーザ割り込
み受付レベルINTOKV[n:0]111の値がステ
ップ許可レベルstepv[n:0]112の値よりも
小さいときにマスクされ、一命令実行信号INST1O
K102がインアクティブレベルで、且つ、ユーザ割り
込み受付信号INTOK104がインアクティブレベル
であるか、または、ユーザ割り込み受付レベルINTO
KV[n:0]111の値がステップ許可レベルste
pv[n:0]112の値以上であるときにマスクが解
除される。
【0062】このときのステップ実行の動作の遷移を示
したのが、図4である。
【0063】図3及び図4を参照すると、1ステップ割
り込み許可フラグ105を“1”レベル、1ステップマ
スク許可フラグ106を“1”レベル、ステップ許可レ
ベルstepv[n:0]112の値を“y”に設定し
てステップ実行機能を有効にしているとき、特権モード
からの復帰(図4(A)参照)により復帰先の命令(図
4(B)参照)の実行中、CPUコア8への特権割り込
みBRKINT101の入力(図4(I)参照)は、一
命令実行信号INST1OK102により、インアクテ
ィブレベル(この場合“1”レベル)になっている。
【0064】このときに、ユーザ割り込み信号int1
03(図4(P)参照)がアクティブレベル(この場合
“0”レベル)で、且つ、ユーザ割り込みレベルINT
V[n:0]110(図4(Q)参照)の値が、“x”
(x≧0n、x<y、正整数)あると、ユーザ割り込み
レベル“x”のユーザ割り込みは受け付けられ、特権モ
ードからの復帰先の命令を実行後、ユーザ割り込み処理
ルーチンに遷移し(図4(D)参照)、ユーザ割り込み
受付信号INTOK104がアクティブレベル(この場
合“1”レベル)で、且つ、ユーザ割り込み受付レベル
INTV[n:0]111の値“x”になる(図4
(O)参照)。
【0065】特権モードからの復帰先の命令の実行後、
一命令実行信号INST1OK102はインアクティブ
レベルになるが、ユーザ割り込み受付信号INTOK1
04がアクティブレベル(この場合“1”レベル)で、
且つ、ユーザ割り込み受付レベルINTV[n:0]1
11の値“x”(x<y)であるため、レベルマスク回
路9の出力信号114はアクティブレベルになり、CP
Uコア8への特権割り込みBRKINT101の入力は
インアクティブレベル(この場合“1”レベル)のまま
である。
【0066】よって、ユーザ割り込みレベル“x”のユ
ーザ割り込み処理ルーチンに遷移後に、命令の実行を中
断して特権モードに遷移しないため、ユーザ割り込みレ
ベル“x”のユーザ割り込み処理ルーチンの命令を実行
する。
【0067】ユーザ割り込みレベル“x”のユーザ割り
込み処理中に、ユーザ割り込み信号int103がアク
ティブレベル(この場合“0”レベル)で且つユーザ割
り込みレベルINTV[n:0]110の値が“z”
(z≧0、x<y≦z、正整数)になると、優先度の低
いユーザ割り込みレベル“x”のユーザ割り込み処理は
中断され(図4(F)の実行前ブレーク参照)、優先度
高いユーザ割り込みレベル“z”のユーザ割り込みが受
け付けられる。
【0068】ユーザ割り込みレベル“z”のユーザ割り
込み処理ルーチンに遷移すると、ユーザ割り込み受付信
号INTOK104がアクティブレベル(この場合
“1”レベル)で、且つ、ユーザ割り込み受付レベルI
NTV[n:0]111の値は“z”になる(図4
(Q)参照)。
【0069】ユーザ割り込み受付レベルINTV[n:
0]111の値“z”がステップ許可レベルstepv
[n:0]112の値“y”以上になるので、レベル比
較器10からの出力信号113(図4(M)参照)は、
インアクティブレベル(この場合“0”レベル)にな
り、特権割り込みbrkint100のマスクは解除さ
れる。
【0070】CPUコア8への特権割り込みBRKIN
T101の入力は、アクティブレベル(この場合“0”
レベル)になるため、ユーザ割り込みレベル“z”のユ
ーザ割り込み処理ルーチンの最初の命令(図4(G)参
照)の実行前に中断され、特権モードに遷移する(図4
(H)参照)。
【0071】以下、ユーザ割り込みレベル“z”のユー
ザ割り込み処理ルーチンではステップ実行する。
【0072】ユーザ割り込みレベル“z”のユーザ割り
込み処理ルーチンからの復帰命令によりユーザ割り込み
レベル“x”のユーザ割り込み処理に復帰すると、ユー
ザ割り込み受付レベルINTOKV[n:0]の値は
“x”になるため、レベル比較器10からの出力信号1
13はアクティブレベル(この場合“1”レベル)な
り、CPUコア8への特権割り込みBRKINT101
の入力はインアクティブレベル(この場合“1”レベ
ル)になり、ステップ実行しない。
【0073】以下、ユーザ割り込みレベル“x”のユー
ザ割り込み処理ルーチンから復帰するまでステップ実行
しない。
【0074】以上、説明したように、1ステップ割り込
み許可フラグ105を“1”レベル、1ステップマスク
許可フラグ106を“1”レベルに設定した場合、ステ
ップ許可レベルstep[n:0]112の値により、
ステップ実行中に受け付けたユーザ割り込み処理ルーチ
ンでのステップ実行の可否をユーザ割り込みレベルを特
定して設定できる。
【0075】
【発明の効果】以上説明したように、本発明のマイクロ
プロセッサによれば、ステップ実行中であっても、ユー
ザ割り込み処理ルーチンでのステップ実行を禁止するモ
ードに設定していると、ユーザ割り込み処理ルーチンな
どの意図していない処理ルーチンにおいてはステップ実
行しないため、ユーザの応用プログラムのデバッグ効率
が向上しデバッグ時間を短縮できる、という効果を奏す
る。
【0076】その理由は、本発明においては、ユーザ割
り込み処理中にアクティブレベルになり、ユーザ割り込
み処理からの復帰によりインアクティブレベルになるユ
ーザ割り込み受付信号を、ステップ実行中のユーザ割り
込み処理ルーチンでもステップ実行するモードにするか
禁止するモードにするかを設定するマスク許可フラグに
よりマスクするマスク手段と、マスク手段からの出力
と、特権モードの復帰後から一命令実行されるまでアク
ティブレベルになり、それ以外インアクティブレベルに
なる一命令実行信号とを統合する統合手段を備えて構成
したことによる。
【0077】また、本発明によれば、ステップ実行を禁
止するユーザ割り込み処理ルーチンをユーザ割り込み受
付信号により検出しているため、ユーザの応用プログラ
ムにステップ実行のための特別な命令を付加する必要が
ないという効果を奏する。
【図面の簡単な説明】
【図1】本発明のマイクロプロセッサの第1の実施例の
要部の構成を示す図である。
【図2】本発明の第1の実施例においてステップ実行中
にユーザ割り込みが発生した場合の動作及び状態遷移を
説明するための図である。
【図3】本発明のマイクロプロセッサの第1の実施例の
要部の構成を示す図である。
【図4】本発明の第2の実施例においてステップ実行中
にステップ許可レベルより低位・高位のユーザ割り込み
が発生した場合の動作及び状態遷移を説明するための図
である。
【図5】特権割り込みを有する従来のマイクロプロセッ
サの要部構成を示す図である。
【図6】図5の従来のマイクロプロセッサにおける特権
割り込みの動作及び状態遷移を説明するための図であ
る。
【図7】ステップ実行機能を有する従来のマイクロプロ
セッサの要部構成を示す図である。
【図8】図7の従来のマイクロプロセッサにおけるステ
ップ実行の動作及び状態遷移を説明するための図であ
る。
【図9】図7の従来のマイクロプロセッサにおけるステ
ップ実行中にユーザ割り込みが発生した場合の動作及び
状態遷移を説明するための図である。
【図10】特開昭60−225257号公報に記載のマ
イクロプロセッサの要部構成を示す図である。
【符号の説明】
1 マイクロプロセッサ 2 CPUコア 3 特権割り込みマスク回路(ORゲート) 4 ステップ許可回路(ANDゲート) 5 マスク統合回路(ORゲート) 6 ステップマスク回路(ANDゲート) 7 マイクロプロセッサ 8 優先度付き割り込み手段を有するCPUコア 9 レベルマスク回路(ANDゲート) 10 レベル比較器 11 マイクロプロセッサ 12 ステップ実行手段を有するマイクロプロセッサ 13 特権割り込みマスク回路 14 ステップ許可回路 15 マスクフラグ回路 100 特権割り込み信号 101 特権割り込みマスク回路からの出力信号 102 1命令実行信号INST1OK 103 ユーザ割り込み信号int 104 ユーザ割り込み受付信号INTOK 105 1ステップ割り込み許可フラグ 106 1ステップマスク許可フラグ 107 ステップマスク回路6からの出力信号 108 マスク統合回路5からの出力信号 109 ステップ許可回路4からの出力信号 110 ユーザ割り込みレベルintv[n:0] 111 ユーザ割り込み受付レベルINTOKV[n:
0] 112 ステップ許可レベルstepv[n:0] 113 レベル比較器10からの出力信号 114 レベルマスク回路9からの出力信号 115 1ステップ割り込みマスクフラグ 116 1ステップ割り込み

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】特権割り込み信号とユーザ割り込み信号を
    入力するマイクロプロセッサにおいて、 1ステップマスク許可フラグによりユーザ割り込み受付
    信号をマスクする第1のマスク手段と、一命令実行信号と前記第1のマスク手段からの出力信号
    を統合する統合手段と、 1ステップ割り込み許可フラグにより前記統合手段から
    の出力信号をマスクする第2のマスク手段と、 前記第2のマスク手段からの出力信号により特権割り込
    み信号をマスクする第3のマスク手段と、 を備えたことを特徴とするマイクロプロセッサ。
  2. 【請求項2】ユーザ割り込み信号(INT)または前記ユ
    ーザ割り込み信号よりも優先度の高い特権割り込み信号
    (BRKINT)を受け付けると、ユーザ割り込み処理または
    特権モードに遷移して割り込み処理を開始し、ユーザ割
    り込み復帰命令または特権割り込み復帰命令の実行によ
    り割り込み処理から復帰し、ユーザ割り込みを受け付け
    ユーザ割り込み処理から復帰するまでの間アクティブ状
    態に設定されるユーザ割り込み受付信号(INTOK)を出
    力し、特権モードからの復帰から復帰後最初の命令が実
    行されるまでの間アクティブ状態に設定される一命令実
    行信号(INST1OK)を出力するCPUを備えたマイクロ
    プロセッサであって、 ステップ実行中のユーザ割り込み処理ルーチンでのステ
    ップ実行のマスクを許可する1ステップマスク許可フラ
    グ信号と前記ユーザ割り込み受付信号(INTOK)を入力
    し、前記該1ステップマスク許可フラグの値に基づき、
    前記ユーザ割り込み受付信号(INTOK)を出力するかマ
    スクするステップマスク回路と、 前記ステップマスク回路からの出力信号と前記一命令実
    行信号(INST1OK)とを入力し少なくとも一方がアクテ
    ィブのとき出力をアクティブ状態とするマスク統合回路
    と、 ステップ実行機能を許可する1ステップ割り込み許可フ
    ラグ信号と前記マスク統合回路からの出力信号とを入力
    し、前記マスク統合回路からの出力信号に基づき、前記
    1ステップ割り込み許可フラグ信号を出力するかマスク
    するステップ許可回路と、 前記ステップ許可回路からの出力信号と特権割り込み信
    号(brkint)とを入力し、前記ステップ許可回路からの
    出力信号に基づき、前記特権割り込み信号(brkint)
    を、前記CPUの特権割り込み信号(BRKINT)入力端に
    出力するか、マスクする特権割り込みマスク回路と、 を備えたことを特徴とするマイクロプロセッサ。
  3. 【請求項3】優先度を示すレベルが付された複数のユー
    ザ割り込みを入力とし、ステップ実行機能を使用してス
    テップ実行中に受け付けたユーザ割り込みの優先度レベ
    ルの値が予め設定した値よりも小さいユーザ割り込み処
    理では前記特権割り込み入力がマスクされてステップ実
    行せず、ユーザ割り込みの優先度レベルが前記設定値以
    上のユーザ割り込み処理では前記特権割り込み入力のマ
    スクが解除されてステップ実行される、よう構成したこ
    とを特徴とする請求項1又は2記載のマイクロプロセッ
    サ。
JP09082066A 1997-03-14 1997-03-14 マイクロプロセッサ Expired - Fee Related JP3129227B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09082066A JP3129227B2 (ja) 1997-03-14 1997-03-14 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09082066A JP3129227B2 (ja) 1997-03-14 1997-03-14 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH10254730A JPH10254730A (ja) 1998-09-25
JP3129227B2 true JP3129227B2 (ja) 2001-01-29

Family

ID=13764128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09082066A Expired - Fee Related JP3129227B2 (ja) 1997-03-14 1997-03-14 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP3129227B2 (ja)

Also Published As

Publication number Publication date
JPH10254730A (ja) 1998-09-25

Similar Documents

Publication Publication Date Title
JP3678759B2 (ja) 割込を発生するための装置および割込を発生するための方法
US5704039A (en) Mask programmable security system for a data processor and method therefor
US4573117A (en) Method and apparatus in a data processor for selectively disabling a power-down instruction
WO2010004243A2 (en) Interrupt processing
JP2625402B2 (ja) マイクロプロセッサ
JPH0877075A (ja) 情報処理装置
JP3129227B2 (ja) マイクロプロセッサ
JP2004530966A (ja) イベント処理
JPH08297581A (ja) リアルタイム・オペレーティングシステムにおける割り込み管理方式
JPS599937B2 (ja) 情報処理装置
US5909582A (en) Microcomputer having user mode interrupt function and supervisor mode interrupt function
GB2461851A (en) Processor, which stores interrupt enable flags in a location used for other functions
JPH0895798A (ja) データ処理装置
JPH05113887A (ja) コンピユータシステム
JP3209144B2 (ja) マイクロプロセッサ
JPH0414376B2 (ja)
JPH09251387A (ja) 割り込み要求優先順位決定回路
JP3366278B2 (ja) パイプライン処理の実行メモリエリア制御回路
JPH0485630A (ja) 割込み制御装置
KR100240658B1 (ko) 상위수준 합성을 위한 계층구조의 제어기 및 인터럽트 처리회로
JP3404354B2 (ja) インサーキットエミュレータ及び不正アクセス検出方法
JPH02310629A (ja) 割り込み制御装置、共用資源排他方法およびアセンブラプログラム処理方法
JPH03148731A (ja) シングルチップマイクロコンピュータ
JP2903601B2 (ja) Rom内蔵マイクロコンピュータ
JPH10161887A (ja) 割込み信号同期化方法及び割込み信号同期化装置

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: 20001017

LAPS Cancellation because of no payment of annual fees