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

マイクロプロセッサ

Info

Publication number
JPH0954697A
JPH0954697A JP20889095A JP20889095A JPH0954697A JP H0954697 A JPH0954697 A JP H0954697A JP 20889095 A JP20889095 A JP 20889095A JP 20889095 A JP20889095 A JP 20889095A JP H0954697 A JPH0954697 A JP H0954697A
Authority
JP
Japan
Prior art keywords
interrupt
signal
register
microprocessor
processing
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
JP20889095A
Other languages
English (en)
Other versions
JP2723847B2 (ja
Inventor
Masatoshi So
雅俊 宗
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP7208890A priority Critical patent/JP2723847B2/ja
Publication of JPH0954697A publication Critical patent/JPH0954697A/ja
Application granted granted Critical
Publication of JP2723847B2 publication Critical patent/JP2723847B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】複数のレジスタセットを備えるマイクロプロセ
ッサにおいて、割り込み応答時間を改善する。 【解決手段】実行部200,レジスタセット群201,
割り込み許可信号に従って割り込み要求の受付制御をす
る割り込み制御部202,割り込み要求を受け付けたこ
とを示す割込信号と割り込み処理から復帰したことを示
す復帰信号とにより前記レジスタセットの選択制御をす
るレジスタセット選択部204,割り込み処理制御部2
03とから構成される。この割り込み処理制御部203
からの出力であるオーバフロー信号8と最小値信号9と
を実行部200に入力し、これら2本の信号の論理値を
実行部200の命令で読み込み、それらの値によって割
り込み処理プログラムの制御をする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サに関し、特に複数のレジスタセットを備えるマイクロ
プロセッサに関する。
【0002】
【従来の技術】まず、最初に従来のマイクロプロセッサ
の割り込み応答の機能について説明する。
【0003】一般のマイクロプロセッサにおける割り込
み処理に必要とされる機能は、第1に特定の割り込み応
答に対して対応する処理を選択して所定の処理を実行す
るために実行先番地を変更させる機構であり、第2に割
り込み処理の終了後割り込まれた処理に復帰するとき割
り込みが発生する以前の状態を完全に保証する機構であ
る。
【0004】本発明の対象は上記の第2の機構に関す
る。この第2の機構の観点から、一般的マイクロプロセ
ッサにおける上記の割り込み処理について説明する。
【0005】マイクロプロセッサに割り込みが発生する
と、まず、現在実行中の処理の中断を行い、次に、割り
込み要因に対応した割り込み処理を開始する。その時、
中断した処理に復帰するために、中断した処理の実行プ
ログラムの番地データとその時点の状態データ(以下P
SWという)とを一時的に退避する。通常は、割り込み
処理中での別の要因の再割り込み(以下多重割り込みと
いう)に対してその機能を有効に働かせるために、一般
にメモリ内にスタック領域という領域を確保し、その中
に積み込む形で実現する。このようにする事により多重
割り込みに対して復帰に必要な情報が欠落することを回
避する。
【0006】次に、割り込みした側のプログラムの最初
で、その割り込み処理に使用予定のレジスタ類を命令に
よって明示的に退避した後、その割り込み処理固有の処
理を行う。その理由は割り込まれた側の処理でそれらの
レジスタ類を使用中である可能性があるからである。こ
の退避も前述したメモリ内のスタック領域に行うのが一
般である。
【0007】割り込み処理が完了すると、割り込み処理
の最初に退避したレジスタ類を再度復帰した後、割り込
まれた処理に復帰する。この時、自動的に退避された実
行先番地データとPSWの状態を復帰する。これによっ
て割り込まれた処理は、中断した時点から再び再開可能
になる。上述した割り込み処理の最初に行うレジスタ類
の退避を命令により明示的に行うのは、割り込み処理側
で使用するレジスタが各割り込み処理の内容によって異
なることによる。
【0008】上述した一般的なマイクロプロセッサの機
構は、1組の連続したスタック領域をメモリ内に確保す
るだけで多重割り込みに対しスタック領域の大きさのみ
管理すればよい事が利点である。しかしながら、一般に
メモリへの入出力は時間の消費を伴うと同時に、それら
の時間は本来の処理においては出来れば不要にしたい時
間である。特に電子機器に組み込まれる用途のマイクロ
プロセッサにおいては頻繁に発生する割り込みに対して
速やかな対応が必要とされ、しかも、それぞれの割り込
み処理自体は単純で簡単な処理が多い。そのため上述し
た一般的マイクロプロセッサの割り込み処理機構の場
合、レジスタの退避という余分の処理が無視できない性
能低下をもたらす結果になる。
【0009】そのため、組み込み用途マイクロプロセッ
サにおいては、上述した割り込み処理でのレジスタの退
避時間を最小にとどめるためにレジスタセットを複数組
持たせ、割り込みの発生毎にレジスタセットを切り替え
る事により、レジスタの退避処理を省略する機能を有す
るものが多い。以下に、上記の複数のレジスタセットを
有する従来のマイクロプロセッサの例を2件述べる。
【0010】図8は、従来のマイクロプロセッサの第一
例を示すブロック図である。図8を参照して説明する。
【0011】この従来例のマイクロプロセッサは、実行
部200,レジスタセット群201,割り込み制御部2
02,レジスタセット選択部205とから構成され、各
割り込み要因に対して特定のレジスタセットを予め割り
当て、割り込み発生時に自動的に該当するレジスタセッ
トを選択するものである。
【0012】実行部200は、マイクロプロセッサの本
体でありプログラムの実行を行う。
【0013】レジスタセット群201は、実行部で使用
する複数のレジスタセットの集まりであり、その時点で
選択されたレジスタセットと実行部200との間を、複
数の信号線で構成されるレジスタ入出力信号群11で互
いにデータのやりとりを行う。
【0014】割り込み制御部202は、マイクロプロセ
ッサに対する外部からの複数の割り込み要求信号群1を
受け取り、実行部200に対してどのような割り込み処
理を行うかを指示する複数の信号線で構成される割り込
みベクタ信号3を実行部200に与える。実行部200
は、割り込みベクタ信号3を受け取り、指定された割り
込み処理に実行番地を変更して割り込み処理を開始す
る。また、実行部200からは、割り込み制御部202
に実行部が現在割り込みを受け付け可能かどうかを知ら
せるIE信号2と、割り込み処理を受け付けた旨の信号
であるINT信号4と、割り込み処理からの復帰を伝え
るIRET信号5とを出力し、割り込み制御部202と
実行部200との間の整合性を取る。
【0015】レジスタセット選択部205は、現在実行
中のプログラムで使用するレジスタセットを指定するた
めに、レジスタセットの数を指定するに必要な数の信号
線で構成されるレジスタセット指定信号10をレジスタ
セット群201へ与える。
【0016】そのため、本レジスタセット選択部205
は、内部に各割り込みベクタに対応するレジスタセット
を指定する記憶部を持ち、割り込み制御部202からの
割り込みベクタ信号3の値に対して適切なレジスタセッ
ト指定信号10を出力する機能を持つ。この記憶部へは
通常実行部200よりプログラムの実行の初期段階でレ
ジスタセット事前指定信号群13によって予め対応表を
書き込んでおく。さらに、現在実行中の割り込み処理の
深さより浅い割り込みのベクタを記憶して実行部200
より入力されるIRET信号5によって割り込まれた処
理のレジスタセットに復帰出来る機構を持っている。
【0017】以上述べた構成および信号線以外に、通常
マイクロプロセッサは、実行の進行の単位を与えるクロ
ック信号6と最初にマイクロプロセッサの動作を初期化
するためのリセット信号7とを外部より与える必要があ
る。その理由は、実行部200,割り込み制御部202
およびレジスタセット選択部205の間の同期のためで
ある。
【0018】本機構は、同一要因の多重割り込みには利
用できないが、特定の割り込み要因毎にレジスタセット
を割り当てることができるので、用途が比較的簡単で割
り込み要因の数がレジスタセットの数より少ない場合に
おいては有効な機構である。この機構の例としては、特
開平3−209528号公報に示されている。
【0019】しかしながら、本従来例の場合、割り込み
要因の数がレジスタセットの数以上の場合、各割り込み
要因に対するレジスタセットの間の割り当てに工夫が必
要になると同時にレジスタセットに割り当てられなかっ
た割り込み要因に対しては、既に述べた一般的マイクロ
プロセッサの機構を利用する以外に方法がなく、その割
り込み処理において応答時間が急増する不利点がある。
【0020】現在の組み込み用途のマイクロプロセッサ
においては、その用途の高機能化に伴いマイクロコンピ
ュータに経済的に保有可能なレジスタセットの数に比べ
要求される割り込み要因の数は、大幅に増えつつある。
【0021】図9は、第二の従来例のマイクロプロセッ
サを示すブロック図である。図9を参照して説明する。
【0022】この従来例のマイクロプロセッサは、第一
の従来例の割り込みベクタ信号3によってレジスタを選
択するレジスタセット選択部205を割り込みが発生し
たとき自動的にレジスタセット指定信号10の値を増加
させ割り込みからの復帰によって減数させる機構を持っ
たレジスタセット選択部204に置き換えたものであ
り、その他の機能は同一である。
【0023】このレジスタセット選択部204は、レジ
スタセットの選択を計数手段によって得ているので、割
り込みベクタ信号3と実行部200よりのレジスタ事前
指定信号を必要としない。この例としては、特開昭59
−33558号公報に示されている。以後、第一の従来
例のレジスタセット選択部205と第二の従来例のレジ
スタセット選択部204は符号によって区別するものと
する。
【0024】本従来例の場合、第一の従来例に比べ割り
込み要因の数がレジスタセットの数より少ない必要性は
なく、マイクロプロセッサの実動作時の多重割り込みの
深さがレジスタセットの数より少なければ有効に機能す
る点が異なる。一般にマイクロプロセッサの実動作時に
おいて、多重割り込みの深さは割り込み要因の数より少
ないため、同じ用途の場合、本従来例の方が第一の従来
例に比べて少ないレジスタセット数で対処可能になる。
その理由を以下に説明する。
【0025】マイクロプロセッサのある任意の状態にお
いて何らかの割り込みが発生する確率をPとすると、n
重以上の割り込みが発生する確率は、Pのn乗となる。
この確率は、割り込み要因の数には影響されない。もち
ろん割り込み要因の数が増えれば割り込みの発生する確
率Pは増加するが、マイクロプロセッサの一般的動作に
おいて何らかの割り込み処理が起こる確率Pは、最大で
も1/2以下と考えるのが妥当である。ここで、レジス
タセットの数をマイクロプロセッサで現実的に可能な値
として8個と仮定すると、8重以上の割り込みが発生す
る確率は1/128となる。以上説明したように、8組
のレジスタセットの場合そのレジスタセットで足りなく
なる可能性は極めて小さくなる。
【0026】本機構の問題点は、実動作中においてマイ
クロプロセッサが保有するレジスタセットの数以上の多
重割り込みが発生した場合において何らかの保護機構が
必要な点である。一般に、割り込みの深さを計数する機
構を有し、その値をマイクロプロセッサによって検出す
る事によりレジスタセットの数以上の多重割り込みが発
生した場合、既に述べた一般的マイクロプロセッサの機
構に切り替える方法が考えられる。
【0027】しかしながら、多重割り込みの深さがレジ
スタセットの数以上になると、全ての割り込み処理にお
いて常にメモリへの退避処理が発生し応答時間が急増す
る第一の従来例と同様な第一の問題点と、全ての割り込
み処理プログラムの先頭で割り込みの深さのオーバフロ
ーの確認処理を行わなければいけない第一の従来例に比
べて不利な第二の問題点がある。
【0028】
【発明が解決しようとする課題】上述したように、第一
の従来例では、割り込み要因がレジスタセットの数以上
の用途では、割り込み発生時の余分の処理を有効に削減
出来ない。また、第二の従来例では、第一の従来例より
多くの割り込み要因に対して同じレジスタセットの数で
対応出来るが、実動作において割り込みの深さがレジス
タセットの数以上になった場合に割り込み発生時の余分
の処理が急増する第一の問題点と、全ての割り込み処理
プログラムの先頭で割り込みの深さを検出する処理が必
要になるという第二の問題点が有った。
【0029】したがって、発明が解決しようとする課題
は、複数のレジスタセットを備えるマイクロプロセッサ
において、割り込み応答時間を改善することにある。
【0030】
【課題を解決するための手段】そのため、本発明は、複
数のレジスタセットを備え、割り込み許可信号に従って
割り込み要求の受付制御をすると共に割り込み要求を受
け付けたことを示す割込信号と割り込み処理から復帰し
たことを示す復帰信号とにより前記レジスタセットの選
択制御をする割り込み処理機能を持つマイクロプロセッ
サにおいて、前記割込信号の発生により計数値を増分し
前記復帰信号の発生により前記計数値を減数する計数手
段と、前記計数値が前記レジスタセットのセット数と等
しい最大値に達したとき前記計数値の増分を抑制する増
分抑制手段と、前記計数値が最小値に達したとき前記計
数値の減数を抑制する減数抑制手段と、前記計数値が前
記最大値であるとき更に割り込み要求を受け付けたこと
を示す信号を割り込み処理の制御情報として出力するオ
ーバフロー通知手段と、前記計数値が前記最小値である
ことを示す信号を割り込み処理の制御情報として出力す
る最小値通知手段とからなる割り込み処理制御手段を備
えている。
【0031】また、前記割込信号が発生したとき割り込
み前に実行していたプログラムの番地データおよび状態
データを割り込み前に選択されていた前記レジスタセッ
ト内の領域に保存する保存処理手段と、前記復帰信号が
発生したとき選択された前記レジスタセット内の前記領
域から前記番地データおよび前記状態データを復帰し前
記プログラムを継続実行する復帰処理手段とを備えてい
る。
【0032】さらに、限られた用途において、割り込み
処理部内で割り込みの深さの確認処理を不要にするた
め、本発明は、複数のレジスタセットを備え、割り込み
許可信号に従って割り込み要求の受付制御をすると共に
割り込み要求を受け付けたことを示す割込信号と割り込
み処理から復帰したことを示す復帰信号とにより前記レ
ジスタセットの選択制御をする割り込み処理機能を持つ
マイクロプロセッサにおいて、前記割込信号の発生によ
り計数値を増分し前記復帰信号の発生により前記計数値
を減数する計数手段と、前記割り込み許可信号を強制的
に抑制する割り込み抑制信号として前記計数値が前記レ
ジスタセットのセット数と等しい最大値に達したことを
示す信号を出力する出力手段とからなる割り込み処理制
御手段を備えている。
【0033】
【発明の実施の形態】次に本発明について図面を参照し
て説明する。
【0034】図1は、本発明のマイクロプロセッサの第
一の実施形態を示すブロック図である。
【0035】この実施形態のマイクロプロセッサは、実
行部200,レジスタセット群201,割り込み許可信
号に従って割り込み要求の受付制御をする割り込み制御
部202,割り込み要求を受け付けたことを示す割込信
号と割り込み処理から復帰したことを示す復帰信号とに
より前記レジスタセットの選択制御をするレジスタセッ
ト選択部204,割り込み処理制御部203とから構成
されている。図9に示した第二の従来例のマイクロプロ
セッサとの相違点は、割り込み処理制御部203が追加
されている点である。他のブロックは図9と同じなので
説明を省略する。
【0036】この実施形態のマイクロプロセッサは、割
り込み処理制御部203からの出力であるオーバフロー
信号8と最小値信号9とを実行部200に入力し、これ
ら2本の信号線の論理値を実行部200の命令で読み込
み、それらの値によって割り込み処理プログラムの制御
をする。
【0037】図2は、図1の第一の実施形態における割
り込み処理制御部203の詳細構成を示す回路図であ
る。図2を参照して説明を続ける。
【0038】この割り込み処理制御部203は、計数器
100と、AND回路101およびNOT回路102か
らなる増分抑制手段と、AND回路103およびNOT
回路104からなる減数抑制手段と、JKFF105お
よびAND回路106からなるオーバフロー通知手段と
から構成されている。
【0039】また、この割り込み処理制御部203は、
マイクロプロセッサが割り込みを受け付けた旨を伝える
INT信号4と割り込みからの復帰を伝えるIRET信
号5とクロック入力信号6と回路を初期化するリセット
信号7の4本の入力信号とを持ち、割り込みがレジスタ
セットの数以上続けて発生したことを示すオーバフロー
信号8と計数器100が最小値である事を示す最小値信
号9の2本の出力信号を持っている。INT信号4とI
RET信号5は、1つの事象が発生した時点で1クロッ
クの幅分の期間論理値1になる信号と仮定している。ク
ロック信号6はマイクロプロセッサの動作タイミングを
支える基本クロックから得るものとしている。
【0040】計数器100は、マイクロプロセッサが有
するレジスタセットの数分を計数することが可能な計数
器であり、内部の計数値が最大値のとき論理値1を出力
するMAX出力と、最小値のとき論理値1を出力するM
IN出力とを持っている。クロック信号6が入力された
入力CKと、入力CKの信号が論理値1に変化するとき
論理値1であれば計数器100の内部の計数値を1つ増
加させる増加入力Uと、入力CKの信号が論理値1に変
化するとき論理値1であれば計数器100の内部の計数
値を1つ減少させる減少入力Dと、他の入力がどんな場
合でも論理値1が入力されると計数器100の内部の計
数値を0に初期化させるリセット信号7が入力された入
力Rの4本の入力を持つ。
【0041】また、この計数器100は、前述した入力
Uおよび入力Dは同時に1になることはなく、また、入
力Uおよび入力Dの両方が論理値0であれば入力CKの
信号が論理値1に変化したときも内部の計数値は変化し
ない機構を持つ。この計数器は、既に単体製品としても
存在するものなので、これ以上の説明は省略する。
【0042】次に、AND回路101およびNOT回路
102からなる増分抑制手段において、NOT回路10
2の入力は、計数器100のMAX出力から入力してい
る。AND回路101は、NOT回路102の出力およ
びINT信号4を入力とし、出力を計数器100の入力
Uに出力している。
【0043】同様に、AND回路103およびNOT回
路104からなる減数抑制手段において、NOT回路1
04の入力は、計数器100のMIN出力から入力して
いる。AND回路103は、NOT回路104の出力お
よびIRET信号5を入力とし、出力を計数器100の
入力Dに出力している。
【0044】また、JKFF105およびAND回路1
06からなるオーバフロー通知手段において、AND回
路106は、計数器100のMAX出力およびINT信
号4を入力とし、JKFF105の入力Jに出力してい
る。また、JKFF105の入力KにはIRET信号5
が入力され、その入力Rにはリセット信号7が加えられ
ている。JK型フリップフロップであるJKFF105
は、入力CKが論理値1に変化したとき、入力Jが論理
値1ならば論理値1を出力し、入力Kが論理値1ならば
論理値0を出力し、入力Jおよび入力Kがともに論理値
0ならば出力変化しない。このJKFF105の出力Q
によって、オーバフロー信号8を生成している。
【0045】さらに、計数器100のMIN出力を最小
値信号9として出力することにより最小値通知手段を構
成している。
【0046】次に、本マイクロプロセッサにおける割り
込み処理の動作の詳細を、図面を参照して説明する。
【0047】図3は、本実施形態における本発明の効果
を実現するための割り込み処理プログラムの典型例を示
す流れ図である。また、図4は、説明をわかりやすくす
るために用意した、割り込みの深さを縦軸にして、プロ
グラムの実際の実行における割り込みの深さの変化例を
時系列で示したグラフである。説明を分かり易くするた
め、割り込みの深さを縦軸にし、時間を横軸にしてい
る。以下、図4に沿って説明する。
【0048】図4のグラフの左下が、マイクロプロセッ
サの実行の開始である。このグラフの横線が上向きの縦
線に変化した時点が割り込みが発生であり、横線が下向
きの縦線に変化した時点が割り込みからの復帰を意味し
ている。
【0049】時点aが1重の割り込みの発生である。時
点bは一度全ての割り込み処理が完了した後の一重の割
り込みの発生である。割り込み処理は全てが図3の形式
の構成である。
【0050】時点aから時点bおよび時点cの1つ前の
割り込み処理までは、図3の割り込み処理の最初で、オ
ーバフロー信号8がオーバフロー状態かどうか評価して
いるステップ301においてオーバフローしてないた
め、ステップ302を実行せずステップ303の実行に
移る。また、割り込み処理からの復帰時にも、最小値信
号9が最小値でないため、ステップ307を実行せずに
ステップ308の割り込み復帰命令を実行する。この期
間、全ての割り込み処理の間でレジスタセットは、順次
切り替わって使用されている。
【0051】時点cにおいては、レジスタセットを使い
きっているため割り込み処理の最初の時点でオーバフロ
ー信号8が有効になっているため図3のステップ302
が実行される。
【0052】同様に、時点dおよび時点eでの割り込み
処理でもオーバフロー信号8が有効なためレジスタの退
避が行われる。
【0053】しかしながら、本発明の特徴として、時点
cで発生した割り込み処理の復帰時点j,それ以後発生
した時点dおよびeの割り込み処理の復帰の時点gおよ
びfでは、最小値信号は有効になってないため図3のス
テップ307のレジスタセットの復帰処理は行われな
い。
【0054】さらに、特徴的な点は、時点hにおける割
り込み処理では、一度時点dにおいて使用されたレジス
タセットが使用されるように回路が動作するため、レジ
スタの退避およびレジスタの復帰も行わないですむ点で
ある。時点c,時点dおよび時点eにおいて退避された
レジスタセットの内容は、時点m,時点lおよび時点k
で復帰される。この動作は本発明の特徴であり、その理
由は、図1の回路と図3の流れ図とから容易に理解でき
る。このため、本発明の場合のレジスタセットの内容の
退避と復帰処理は、実際の一連の多重割り込み動作にお
いて最小の回数に最適化される。
【0055】以上説明したように、本発明は、割り込み
処理におけるレジスタセットの内容の退避処理によって
発生する余分の処理を最小に出来る効果がある。
【0056】本発明と異なる単に多重割り込みの深さを
検出する機構の場合を図4の例で説明すると、レジスタ
セットの退避処理は時点c,時点d,時点eおよび時点
hとなり、レジスタセットの復帰処理は時点f,時点
g,時点iおよび時点jとなる。したがって、この場合
の退避処理および復帰処理は計8回となり本発明の例の
6回と比べ必ず多くなる。
【0057】本発明の特徴は、連続した割り込み発生ま
たは連続した割り込みからの復帰がレジスタセットの数
以上続く場合以外では,レジスタセットの退避およびレ
ジスタセットの復帰処理が不要である点であり、割り込
みの発生と復帰が少ない幅で上下している間はレジスタ
セットの退避処理および復帰処理が不要になることが特
徴である。
【0058】また、従来の技術で説明した単に割り込み
の深さを検出する手法を実現する回路は、実際に発生す
る割り込みの深さ分の計数器を内蔵しなければならな
く、現実には対象のマイクロプロセッサのアドレス値に
近い計数器が必要になる不利点があった。
【0059】次に、第一の実施形態における図3のステ
ップ302が実行される割り込み処理は、割り込みの深
さがレジスタセットの数以上に達した後の割り込み処理
であり、ステップ307が実行される割り込み処理は、
通常、割り込みの深さが浅い割り込み処理の復帰時に行
われる。
【0060】一方、通常のマイクロプロセッサは、一組
のスタックポインタによって割り込みからの復帰番地デ
ータおよびPSWの退避先と、図3のステップ302お
よびステップ307のレジスタセットの退避および復帰
先を一元管理している。さらに、通常のサブルーチンの
呼び出しとサブルーチンからの復帰もこのスタックポイ
ンタを使用している。この理由は従来の技術で述べたよ
うに1つの連続したスタック領域をメモリ内に確保する
だけでよい利点から来ている。
【0061】そのため、第一の実施形態を適用した場
合、割り込みからの復帰番地データおよびPSWを退避
するスタック領域と同一のスタック領域にレジスタセッ
トの退避領域を確保すると、退避と復帰の順番が狂い、
整合性が取れなくなる問題が発生することがある。これ
を回避する方法は、上記の復帰時の実行先番地データお
よびPSWの退避領域と独立にレジスタセットの退避領
域を確保すればよいが、それぞれに必要な大きさの領域
を独立に確保するのはメモリ活用の効率上望ましくな
い。
【0062】さらに、第一の実施形態においては、図3
におけるステップ307においてどのレジスタが退避さ
れていたのかが判断出来ない点がある。全てのレジスタ
セットの退避時に全てのレジスタセットを退避すれば、
復帰時点で無条件でレジスタセットを全て復帰すること
で可能であるが、不要なレジスタの退避はそのまま実行
時間の低下の要因になる。この解決策として、レジスタ
セットの退避時に最後にどのレジスタを退避したかの情
報を追加して書き込むことで、復帰時に最初にその内容
を読み出してそれに基づいて復帰を行なう手法により可
能にできる。さらに前述した処理を行う専用命令をマイ
クロプロセッサに追加すれば、プログラムの容量および
実行速度の向上が可能になる。これらの第一の実施形態
における問題点に関する解決策として、第二の実施形態
を次に説明する。
【0063】図5は、本発明のマイクロプロセッサの第
二の実施形態を示すブロック図である。
【0064】この第二の実施形態のマイクロプロセッサ
は、上述した第一の実施形態における問題点を解決する
ための機構を備えている。図5を参照して説明すると、
レジスタセット群201内部に割り込みからの復帰時の
実行プログラムの番地データを保存するPC保存部50
5と割り込み時のPSWを保存するPSW保存部506
とを有し、新たに保存処理部503と復帰処理部504
とが追加されている。
【0065】次に、本実施形態のマイクロプロセッサの
動作について説明する。
【0066】保存処理部503は、実行部200からの
INT信号4を受け取り、割り込み発生時点での実行プ
ログラムの復帰情報として実行部200内のプログラム
カウンタであるPC501とPSW制御レジスタである
PSW502とからデータをそれぞれ読み出し、現在指
定されているレジスタセット内のPC保存部505およ
びPSW保存部506にそれぞれ書き込む。
【0067】書き込みが終了すると、割り込み制御部2
02およびレジスタセット選択部204および割り込み
処理制御部203に対して図2におけるINT信号1の
代わりの遅延INT信号14を出力する。この理由は、
現在のレジスタセットの切り替え前にレジスタセットに
PC501およびPSW502のデータを書き込む必要
があるからである。
【0068】さらに、割り込み処理からの復帰時に復帰
処理部504はIRET信号5を受け取ると、レジスタ
セット選択部204によってレジスタセットの切り替え
が完了するのを待って、PC保存部505とPSW保存
部506とからデータを読み出して実行部200内のP
C501およびPSW502に復帰させる。復帰が完了
すると、実行部200は、割り込まれた処理の再開を開
始する。
【0069】本発明の効果のためには、上述したPC保
存部505およびPSW保存部506は、必ずしも専用
のレジスタとして確保する必要はなく、通常のレジスタ
の一部を使用することでも可能である。
【0070】すなわち、再割り込みを許す割り込み処理
プログラムおよび主プログラム内で割り込まれる可能性
がある処理部において、予めPC保存部505およびP
SW保存部506として使用することに決められたレジ
スタを使用しないようにさえすればよい。それ以外のと
きは、前記PC保存部505およびPSW保存部506
は通常のレジスタとして利用可能である。
【0071】ここで、本実施形態によって第一の実施形
態における問題点が解決される理由を追加説明する。
【0072】本実施形態においては、割り込み発生時の
処理において割り込みからの復帰のための再実行番地お
よびPSWをスタックに積まずにレジスタセットの中に
保存する点が異なる。そのため、多重の割り込みの処理
の間サブプログラムの呼び出し等のスタックを使用する
命令を実行しなければ割り込み処理にいっさいの明示的
スタックの使用がないことが特徴である。そのため、ス
タックは図3の使用するレジスタの退避処理であるステ
ップ302と退避したレジスタの復帰処理であるステッ
プ307が別々の割り込み処理プログラムで実行されて
もスタック上に退避する順序と復帰する順序は常に逆の
関係になるため矛盾は生じない。
【0073】以上説明したように、新たなる構成を追加
することによって第一の実施形態における問題点が解決
出来る。
【0074】図6は、本発明のマイクロプロセッサの第
三の実施形態を示すブロック図である。
【0075】図6を参照すると、この第三の実施形態の
マイクロプロセッサは、実行部200,レジスタセット
群201,割り込み制御部202,レジスタセット選択
部204,割り込み処理制御部206,NOT回路70
1,AND回路702とから構成されている。マイクロ
プロセッサの用途を限定した範囲で本発明の目的を達成
するため、図1の割り込み処理制御部203の機能を簡
略化し割り込み処理制御部206とし、NOT回路70
1およびAND回路702が追加されている点が相違し
ている。他のブロックは図1と同じなので説明を省略す
る。
【0076】この第三の実施形態のマイクロプロセッサ
は、図1の実行部200に対して入力されていたオーバ
フロー信号8と最小値信号9が除かれ、代わりに、割り
込み処理制御部206から割り込み抑制信号12が出力
されている。この割り込み抑制信号12が、NOT回路
701とAND回路702とにより実行部200からの
IE信号2を抑制し、AND回路702の出力が割り込
み制御回路202に入力されている。このIE信号2
は、論理値1の場合において、割り込み制御部202が
割り込みの要求に対応した割り込みベクタ信号3を実行
部200へ出力することを可能にする割り込み許可信号
である。割り込み抑制信号12が論理値1になると、A
ND回路702の出力は論理値0となり、割り込み制御
部202は割り込みを不許可とする。
【0077】図7は、図6に示した割り込み処理制御部
206の詳細構成を示す回路図である。
【0078】図7を参照すると、この割り込み処理制御
部206は、図2に示した割り込み処理制御部203を
大幅に簡略化して、計数器100のMAX出力を割り込
み抑制信号12として出力している点だけである。
【0079】次に、この第三の実施形態の効果について
説明する。
【0080】本実施形態の動作は、その構成から容易に
推測できるように割り込みの深さがレジスタセットの数
より1少なくなった以降の割り込みの要求を受け付けさ
せない点である。第三の実施形態の用途は、動作時の割
り込みの深さがレジスタセットの数以上になる可能性が
低い用途のプログラムの場合において有効となる。前述
したように、通常の用途においては割り込みの要因の数
はレジスタセット以上の場合でも現実の割り込みにおい
て多重の割り込みの深さがレジスタセットの数以上にな
る場合が少ない点に着目したものである。
【0081】第三の実施形態の利点は、このような用途
において多重割り込みがレジスタセットの数より少なく
なるように強制することで、レジスタセットの数以上に
なった場合の対応処理を不要に出来る点である。そのた
め、図3で示したステップ301ステップ302ステッ
プ306ステップ307を全ての割り込み処理プログラ
ムから削除可能になる効果がある。
【0082】
【発明の効果】以上説明したように、本発明は、複数の
レジスタセットを備えるマイクロプロセッサにおいて、
多重割り込みの深さがレジスタセットの数以上になった
ことを示す信号と多重割り込みの深さが最小値であるこ
とを示す信号とを割り込み処理の制御情報として出力す
る割り込み処理制御手段を備えることにより、多重割り
込みの深さがレジスタセットの数より少ない場合におい
ての割り込み応答時間を従来例と同等にした上で、多重
割り込みの深さがレジスタセットの数以上になった場合
にレジスタセットの退避および復帰の処理を最小にし、
割り込み応答時間を最小に出来る効果がある。
【0083】さらに、割り込みの深さがレジスタセット
の数以上になる可能性が低い用途の場合、割り込みの深
さが前記レジスタセットのセット数と等しくなったとき
割り込み許可信号を強制的に抑制する割り込み抑制信号
を出力する割り込み処理制御手段を備えることにより、
割り込みの深さがレジスタセットの数以上になった場合
の対応処理を不要にでき、割り込み応答時間を最小に出
来る効果がある。
【図面の簡単な説明】
【図1】本発明のマイクロプロセッサの第一実施形態を
示すブロック図である。
【図2】図1の第一実施形態における割り込み処理制御
部の構成を示す回路図である。
【図3】割り込み処理プログラムの典型例を示す流れ図
である。
【図4】割り込みの深さの変化例を時系列で示したグラ
フである。
【図5】本発明のマイクロプロセッサの第二実施形態を
示すブロック図である。
【図6】本発明のマイクロプロセッサの第三実施形態の
全体を示すブロック図である。
【図7】図6の第三実施形態における割り込み処理制御
部の構成を示す回路図である。
【図8】従来のマイクロプロセッサの第一例を示すブロ
ック図である。
【図9】従来のマイクロプロセッサの第二例を示すブロ
ック図である。
【符号の説明】
1 割り込み要求信号群 2 IE信号(割り込み許可信号) 3 割り込みベクタ信号 4 INT信号(割込信号) 5 IRET信号(復帰信号) 6 クロック信号 7 リセット信号 8 オーバフロー信号 9 最小値信号 10 レジスタセット指定信号 11 レジスタ入出力信号群 12 割り込み抑制信号 13 レジスタセット事前指定信号 14 遅延INT信号 100 計数器 101,103,106,702 AND回路 102,104,701 NOT回路 105 JKFF(JK型フリップフロップ) 200 実行部 201 レジスタセット群 202 割り込み制御部 203,206 割り込み処理制御部 204,205 レジスタセット選択部 300 割り込み処理の開始ステップ 301 オーバフロー信号の検出ステップ 302 割り込み処理部内で使用するレジスタの退避
ステップ 303 割り込み処理部内で割り込みを再許可するス
テップ 304 割り込み処理の本体ステップ 305 割り込みの禁止ステップ 306 最小値信号の検出ステップ 307 退避したレジスタの復帰ステップ 308 IRET(割り込みからの復帰命令)ステッ
プ 501 PC(実行部200内のプログラムカウン
タ) 502 PSW(実行部200内のPSW制御レジス
タ) 503 保存処理部 504 復帰処理部 a 最初の割り込み位置 b レジスタセットの数以上の深さの割り込みになる
割り込みの開始位置 c レジスタセットの数以上の深さになった割り込み
の開始位置 d c以後の再割り込み位置 e d以後の再割り込み位置 f eの割り込みからの復帰位置 g dの割り込みからの復帰位置 h レジスタセットの数以上の深さでの再割り込みの
開始位置 i hの割り込みからの復帰位置 j cの割り込みからの復帰位置 k eの割り込み時に退避したレジスタの復帰を行う
割り込みからの復帰位置 l dの割り込み時に退避したレジスタの復帰を行う
割り込みからの復帰位置 m cの割り込み時に退避したレジスタの復帰を行う
割り込みからの復帰位置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のレジスタセットを備え、割り込み
    許可信号に従って割り込み要求の受付制御をすると共に
    割り込み要求を受け付けたことを示す割込信号と割り込
    み処理から復帰したことを示す復帰信号とにより前記レ
    ジスタセットの選択制御をする割り込み処理機能を持つ
    マイクロプロセッサにおいて、 前記割込信号の発生により計数値を増分し前記復帰信号
    の発生により前記計数値を減数する計数手段と、前記計
    数値が前記レジスタセットのセット数と等しい最大値に
    達したとき前記計数値の増分を抑制する増分抑制手段
    と、前記計数値が最小値に達したとき前記計数値の減数
    を抑制する減数抑制手段と、前記計数値が前記最大値で
    あるとき更に割り込み要求を受け付けたことを示す信号
    を割り込み処理の制御情報として出力するオーバフロー
    通知手段と、前記計数値が前記最小値であることを示す
    信号を割り込み処理の制御情報として出力する最小値通
    知手段とからなる割り込み処理制御手段を備えることを
    特徴とするマイクロプロセッサ。
  2. 【請求項2】 前記割込信号が発生したとき割り込み前
    に実行していたプログラムの番地データおよび状態デー
    タを割り込み前に選択されていた前記レジスタセット内
    の領域に保存する保存処理手段と、前記復帰信号が発生
    したとき選択された前記レジスタセット内の前記領域か
    ら前記番地データおよび前記状態データを復帰し前記プ
    ログラムを継続実行する復帰処理手段とを備える、請求
    項1記載のマイクロプロセッサ。
  3. 【請求項3】 複数のレジスタセットを備え、割り込み
    許可信号に従って割り込み要求の受付制御をすると共に
    割り込み要求を受け付けたことを示す割込信号と割り込
    み処理から復帰したことを示す復帰信号とにより前記レ
    ジスタセットの選択制御をする割り込み処理機能を持つ
    マイクロプロセッサにおいて、 前記割込信号の発生により計数値を増分し前記復帰信号
    の発生により前記計数値を減数する計数手段と、前記割
    り込み許可信号を強制的に抑制する割り込み抑制信号と
    して前記計数値が前記レジスタセットのセット数と等し
    い最大値に達したことを示す信号を出力する出力手段と
    からなる割り込み処理制御手段を備えることを特徴とす
    るマイクロプロセッサ。
JP7208890A 1995-08-16 1995-08-16 マイクロプロセッサ Expired - Lifetime JP2723847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7208890A JP2723847B2 (ja) 1995-08-16 1995-08-16 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7208890A JP2723847B2 (ja) 1995-08-16 1995-08-16 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH0954697A true JPH0954697A (ja) 1997-02-25
JP2723847B2 JP2723847B2 (ja) 1998-03-09

Family

ID=16563827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7208890A Expired - Lifetime JP2723847B2 (ja) 1995-08-16 1995-08-16 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2723847B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1124185A1 (de) * 2000-02-09 2001-08-16 Siemens Aktiengesellschaft Schaltungsanordnung und Verfahren zur Abarbeitung von Interruptanforderungen an einem Prozessor
WO2005010747A2 (en) * 2003-07-30 2005-02-03 Koninklijke Philips Electronics, N.V. Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
JP2011529240A (ja) * 2008-07-28 2011-12-01 アーム・リミテッド 仮想処理装置のための割込み制御

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933558A (ja) * 1982-08-19 1984-02-23 Nec Corp 情報処理装置
JPS62120544A (ja) * 1985-11-21 1987-06-01 Nec Corp 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5933558A (ja) * 1982-08-19 1984-02-23 Nec Corp 情報処理装置
JPS62120544A (ja) * 1985-11-21 1987-06-01 Nec Corp 情報処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1124185A1 (de) * 2000-02-09 2001-08-16 Siemens Aktiengesellschaft Schaltungsanordnung und Verfahren zur Abarbeitung von Interruptanforderungen an einem Prozessor
WO2001061510A1 (de) * 2000-02-09 2001-08-23 Siemens Aktiengesellschaft Schaltungsanordnung und verfahren zur abarbeitung von interruptanforderungen an einem prozessor
WO2005010747A2 (en) * 2003-07-30 2005-02-03 Koninklijke Philips Electronics, N.V. Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
WO2005010747A3 (en) * 2003-07-30 2005-03-17 Koninkl Philips Electronics Nv Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
US8392641B2 (en) 2003-07-30 2013-03-05 Nxp B.V. Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
JP2011529240A (ja) * 2008-07-28 2011-12-01 アーム・リミテッド 仮想処理装置のための割込み制御

Also Published As

Publication number Publication date
JP2723847B2 (ja) 1998-03-09

Similar Documents

Publication Publication Date Title
US7412590B2 (en) Information processing apparatus and context switching method
JP3699806B2 (ja) 割込みコントローラ及び制御システム
JP2001166950A (ja) 割り込み管理装置及び割り込み管理方法
US7451454B2 (en) Event handling mechanism
JP4241462B2 (ja) 制御ユニットおよびマイクロコンピュータ
JP2004157636A (ja) データ処理装置
JPH0954697A (ja) マイクロプロセッサ
US20030037227A1 (en) Processor enabling exception handling to be set by program
JP2677458B2 (ja) システムコール実行装置
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JP5561294B2 (ja) マイクロコンピュータ
JP2008269597A (ja) タスク処理装置
JP2000029719A (ja) 割込制御装置
JPH08137703A (ja) タスク切替装置
JPS59144955A (ja) 情報処理装置
JPH04256027A (ja) マイクロコンピュータ
JPH04270441A (ja) データ処理装置
JPH0683640A (ja) 割込応答処理方式
JPH08166887A (ja) 割込み処理からの復帰方法
JPH0689349A (ja) マイクロプロセッサ
JPH02173828A (ja) 割込み処理方式
JPS6394339A (ja) 仮想計算機システム
JPS59160241A (ja) プロセス起動方法
JPH04155532A (ja) タスク切替方式
JPS6155741A (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: 19971111