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

マイクロプロセッサ

Info

Publication number
JPH0242538A
JPH0242538A JP19495888A JP19495888A JPH0242538A JP H0242538 A JPH0242538 A JP H0242538A JP 19495888 A JP19495888 A JP 19495888A JP 19495888 A JP19495888 A JP 19495888A JP H0242538 A JPH0242538 A JP H0242538A
Authority
JP
Japan
Prior art keywords
interrupt
program
interruption
information
interrupt 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.)
Pending
Application number
JP19495888A
Other languages
English (en)
Inventor
Mitsuru Yamauchi
山内 満
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP19495888A priority Critical patent/JPH0242538A/ja
Publication of JPH0242538A publication Critical patent/JPH0242538A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする問題点 課題を解決するための手段 作用 実施例 (1)本発明の原理説明 (2)本発明の一実施例 発明の効果 (第1図) (第2〜17図) 〔概要〕 マイクロプロセッサに関し、 プログラムの中断点の情報の不要な復元および退避処理
を削除し、割込み応答を速くして高速処理を図ることの
できるマイクロプロセッサを提供することを目的とし、 プログラムの中断点の情報の退避および復元を行う退避
手段と、部からの割込み要求に応答して割込み処理プロ
グラムへの移行および復帰を制御する制御手段と、を有
するマイクロプロセッサにおいて、前記制御手段は、割
込み復帰によって設定される割込み許可状態にあるとき
、その時点で新たな割込み要求によって割込み処理が起
動されるか否かを判別し、割込み処理が起動されないと
きは退避手段に退避されているプログラムの中断点の情
報を復元して中断されたプログラムの実行を再開するよ
うに制御し、割込み処理が起動される状態のときは退避
手段に退避されている前記情報を保存して新たな割込み
処理を起動するよう制御するように構成する。
〔産業上の利用分野〕
本発明は、マイクロプロセッサに係り、詳しくは、割込
み機構を有するマイクロプロセッサに関する。
近年、各種産業分野でマイクロプロセッサが応用されて
おり、例えば、産業用ロボットの如く実時間制御を行う
システムでは割込み処理も多く用いられる。特に、近時
は実時間制御の応答性およびきめ細かな制御の要求に伴
い、このようなシステムに利用されるプロセッサに対し
て、高速な割込み応答および多数かつ多種類の割込み事
象の入力が要求されている。このため、多重割込み機構
が採用されているが、プログラムカウンタおよびプログ
ラムステータスワードなどの退避、復元の高速化を行う
必要がある。
〔従来の技術〕
従来のマイクロプロセッサでは、割込み要求があるとプ
ログラムカウンタやプログラムステータスワードの退避
を行った後に割込み処理を実行し、割込みからの復帰で
は退避されているプログラムの中断点の情報を必ず復元
している。
〔発明が解決しようとする問題点〕
しかしながら、このような従来のマイクロプロセッサに
あっては、割込みからの復帰によって他の新たな割込み
処理が起動可能な状態であっても、まず割込み復帰の実
行によって退避されているプログラムの中断点の情報を
復元した後に、すなわち通常処理が可能な状態に復元し
た後に新たな割込みを行うため、再びプログラムを中断
するとともに中断点の情報を退避してから新たな割込み
処理を開始(起動)する構成となっていたため、上記の
ようなプログラム中断点の情報の復元および退避処理を
行う分だけ、割込みの応答時間が遅くなり、結局、高速
処理ができないという問題点があった。
そこで、本発明は、プログラムの中断点の情報の不要な
復元および退避処理を削除し、割込み応答を速くして高
速処理を図ることのできるマイクロプロセッサを提供す
ることを目的としている。
〔課題を解決するための手段〕
本発明によるマイクロプロセッサは上記目的達成のため
、プログラムの中断点の情報の退避および復元を行う退
避手段と、外部からの割込み要求に応答して割込み処理
プログラムへの移行および復帰を制御する制御手段と、
を有するマイクロプロセッサにおいて、前記制御手段は
、割込み復帰によって設定される割込み許可状態にある
とき、その時点で新たな割込み要求によって割込み処理
が起動されるか否かを判別し、割込み処理が起動されな
いときは退避手段に退避されているプログラムの中断点
の情報を復元して中断されたプログラムの実行を再開す
るように制御し、割込み処理が起動される状態のときは
退避手段に退避されている前記情報を保存して新たな割
込み処理を起動するように制御している。
〔作用〕
本発明では、退避されているプログラムの中断点の情報
を復元する前に、新たな割込み処理が起動されるか否か
が判断され、割込み処理が起動されるときは退避されて
いるプログラムの中断点の情報を復元する動作が行われ
ずに、直ちに新たな割込み処理が開始される。
したがって、新たな割込み処理の移行に際して、プログ
ラムの中断点の情報の不要な復元および退避処理が削除
され、割込み処理が高速化する。
〔実施例〕
以下、本発明を図面に基づいて説明する。
最初に本発明の原理を第1図を用いて説明する。
第1図は割込み処理の実行過程を示し、この図において
、割込みのためにプログラムが中断すると、まずP+ 
 (処理のステップを示す。以下、同様)で中断点の情
報を退避した後、P2で割込み処理を起動し、P3で割
り込み処理を実行する。次いで、割込み処理が終了する
と、P Il+の部分で割込み復帰処理を実行する。詳
細には、まずpHでは割込み復帰によって設定される割
込み許可状態で、その時点での新たな割込み要求によっ
て次の割込み処理が起動されるか否かを判別し、割込み
処理が起動されない状態であれば、pHzで退避されて
いるプログラムの中断点の情報を復元し、その後中断さ
れた通常のプログラムの実行を再開する。
一方、割込み処理が起動される状態のときは、P3で中
断点の情報の復元を行うことな(情報を保存したままで
直ちに新たな割込み処理を起動し、該処理を実行する。
すなわち、退避されているプログラムの中断点の情報を
復元する前に、割込み処理が起動されるか否かを判断し
、割込み処理が起動されるならば、退避されているプロ
グラムの中断点の情報を復元する動作を行わず、直ちに
割込み処理を起動する。したがって、次の割込み処理に
際してプログラムの中断点の情報の不要な復元および退
避処理が削除され、高速な割込み応答を達成することが
できる。
次に、上記原理に基づく本発明に係るマイクロプロセッ
サの一実施例を具体的に第2〜17図を用いて説明する
まず、構成を説明する。第2図はマイクロプロセッサの
全体的構成を示す図であり、この図におイテ、lはCP
U、2はメ−t−IJ、3〜5はI10インタフェース
、6はアドレスバス、7はデータバスである。I10イ
ンタフェース3〜5は、例えば周辺LSIで構成され、
例えば、本発明をロボットに適用した場合にはロボット
の動作を検出しているセンサからの信号を授受する等し
て所定の割込み要求を発生してCPUIに送るとともに
、アドレスバス6.7を通してメモリ2との間でデータ
の転送を行う。なお、割込み要求は通信用LSIで構成
したり、あるいは緊ゑ、の押釦信号をI10インタフェ
ース3〜5の何れかで受ける等して発生させてもよい。
メモリ2は必要なデータやプログラムを格納する。
cpuiは制御部11、演算部12、レジスタ群13お
よびバスインターフェース14により構成され、制御部
(制御手段に相当)11により命令デコード、命令実行
制御および割込み制御を行い、演算部(演算手段に相当
)12で必要な演算処理を実行し、レジスタ群(退避手
段に相当)13によりデータの一時退避および復元を行
い、またバスインターフェース14を介して外部のメモ
リ2等とデータの授受を行う。
レジスタ群13は第3図に示すような5つのレジスタを
有している。同図中、汎用レジスタROR1はデータ操
作等に使われる一語長のレジスタ、プログラムカウンタ
PCは実行すべき命令の番地を示す一語長のレジスタ、
プログラムステータスワードPSWはプログラムの実行
状態を示す一語長のレジスタ、スタックポインタSPは
サブルーチン分岐における復帰番地の格納、割込み時の
中断点の情報の格納等に使用するメモリ上のスタック領
域の最後に格納されたデータの番地を示す一語長のレジ
スタである。
以上の構成において、本実施例ではプログラムステータ
スワードPSW中に2ビツトで構成されるマスクレベル
があり、本ピントの値によって第4図(a)に示すよう
に割込み要求の事象毎に定められる割込みレベルに応じ
て割込み処理プログラムの起動を行うか否かが決定さる
。また、同時に複数のレベルの割込み要求がある場合は
、その内の最も優先度の高い割込み要求が割込み処理起
動の判定の対象となる。優先度はレベル0が最も高く、
以降レベル1、レベル2の順となり、割込みレベルと割
込み後のマスクレベルとの関係は第4図(b)のように
示される。
第5図はマイクロプロセッサによって実行される処理を
示すフローチャートである。P21で命令フェッチによ
ってプログラムカウンタPC(以下、適宜PCと略称す
る)が示す番地の命令語を読み取り、PC更新によって
プログラムカウンタは次の命令語を示し、命令デコード
によって命令処理を選択する。次いで、P、で命令デコ
ードの結果、命令が割込み復帰命令であるか否かを判別
し、復帰命令でないときはP0以降の処理、復帰命令の
ときはP3゜以降の処理を行う。
Pt3では今回の命令を実行し、次いで、pz4で割込
み要求の有無を判別し、割込み要求がない場合はpz+
にもどるルーチンを繰り返す。一方、割込み要求がある
場合は第4図(a)に示す如く、マスクレベルと割込み
レベルの関係に従ってpisで割込み処理プログラムを
起動するか否かを判別し、割込み処理を起動しないとき
はPtlにもどり、起動するときはpz6に進む。Po
ではプログラムの中断点の情報である各レジスタRO1
R1、Pc、pswの内容をメモリの(SP−1)番地
から(SP−4)番地に順次格納し、最後にP2.tで
SPの値を“4”だけ減じる。次いで、PHIで今回の
割込みレベルに応じてPSW中のマスクレベルを第4図
(b)に示すように更新し、pzqで割込み処理の開始
番地を示す割込みベクタをPCに設定してpz+にもど
る。これにより、いわゆるプログラムカウンタおよびプ
ログラムステータスワードなどの退避が行われて、割込
みの準備が完了する。
一方、上記ステップP2□でYES分岐に従うときは割
込みからの復帰命令のときであり、P3゜以降の処理を
実行する。まず、P、。でSPが示す番地の内容をPS
Wに設定する。これにより、現在実行中の割込み処理プ
ログラムから復帰した後のマスクレベルが設定される。
次いで、P’llで割込み要求の有無を検査し、割込み
要求があるときはpzzで第4図(a)に示すようなマ
スクレベルと割込みレベルの関係に従って割込み処理プ
ログラムを起動するか否かを判別する。割込み処理を起
動するときは直ちにP211にジャンプする。このとき
、Pt、、、P2.のステップが省略されることとなり
、これは退避されているプログラムの中断点の情報を復
元せず、直ちに要求された新たな割込み処理を起動する
ことを意味し、中断点の情報の復元および新たに中断点
の情報を退避するという時間を削減することができ、割
込み応答時間の短縮が可能となる。p3gで割込み処理
を起動せず保留のときはP33に進む。また、P31で
割込み要求がないときもpigをジャンプしてP33に
進む、P33ではプログラムの中断点の情報のうち、既
に復元されたpsw(但し、P、。の処理は除く)を除
いた他のレジスタPC,R1、ROについて情報を(S
P+1)番地から(SP+3)番地までの内容によって
復元し、ps4でSPの値を“4゛だけ増加してリター
ンする。
次に、上記一実施例のマイクロプロセッサによる実際の
多重割込み処理についてのプログラムの遷移の一例を第
6図に示す。第6図において、割込み要求には、割込み
要求2、割込み要求1および割込み要求0の3つがあり
、割込みレベルはそれぞれレベル2、レベル1、レベル
0である。−方、プログラムには4つのものがあり、一
般プログラムAはマスクレベル3で動作する通常のプロ
グラムである。割込み処理プログラム2、割込み処理プ
ログラム1および割込み処理プログラムOはそれぞれ割
込み要求2、割込み要求1、割込み要求Oの割込み要求
に対応して起動される割込み処理プログラムである。
いま、一般プログラムAを実行中にタイミングTIで割
込み要求1(割込みレベル1)が発生すると、マイクロ
プロセッサ(以下、適宜、プロセッサと略称する)は一
般プログラムAを中断して中断点の情報を退避するとと
もに、割込み処理プログラムlの起動準備を行い、割込
み処理を開始する。このとき、−11プログラムAを中
断する直前のプロセッサの状態は第7図のように示され
、同様に割込み処理プログラム1を開始する直前のプロ
セッサの状態は第8図のように示される。なお、割込み
処理プログラム1の実行によって割込み要求1は消滅す
る。
次いで、割込み処理プロセッサ1の実行中にタイミング
T2で割込み要求2(割込みレベル)が発生した場合は
、割込み要求2の方が優先度が低いからプロセッサは割
込み処理プログラム1を中断することなく継続して実行
する。第9図に割込み要求2が発生した時点におけるプ
ロセッサの状態を示す。このとき、割込み要求2は保留
される。
すなわち、優先度の高い割込み処理が終了してから、割
込み要求2に応答することになる。
一方、その後側込み処理プログラム1の実行中にタイミ
ングT、で割込み要求0(割込みレベル0)が発生する
と、割込み要求Oの方が優先度が高いからプロセッサは
割込み処理プログラム1(マスクレベル1)を中断し、
中断点の情報を退避するとともに新たな割込み処理プロ
グラムOの起動準備を行い、割込み処理プログラムOを
開始する。第10図に割込み処理プログラム1を中断す
る直前のプロセッサの状態を、第11図に割込み処理プ
ログラム0を開始する直前のプロセッサの状態を示す。
なお、割込み処理プログラム0の実行によって割込み要
求0は消滅する。このとき、割込み要求2は保留されて
いる。
割込み処理プログラム0が終了すると、プロセンサは、
まず割込み復帰命令を実行する。このとき、プロセッサ
は割込み復帰によるマスクレベルの変化からいまより優
先度の高い割込み処理は起動されないと判断し、中断点
の情報の復元を行い、中断していた割込み処理プログラ
ムlの実行を再開する。第12図に割込み処理プログラ
ムOの割込み復帰命令の実行直前のプロセッサの状態を
、第13図に割込み処理プログラム1の実行を再開する
直前のプロセッサの状態を示す。このとき、割込み要求
2は保留されている。
割込み処理プログラム1が終了すると、プロセッサは割
込み復帰命令を実行する。このとき、プロセッサは割込
み復帰によるマスクレベルの変化から優先度の低い保留
していた割込み要求2の処理が起動されると判断し、割
込み処理プログラム2の起動準備を行い同プログラム2
の実行を開始する。第14図に割込み処理プログラム1
の割込み復帰命令の実行の直前のプロセッサの状態を、
第15図に割込み処理プログラム2の開始直前のプロセ
ッサの状態を示す。このとき、割込み処理プログラム2
の実行によって割込み要求2は消滅する。
ここで、本実施例では割込み処理プログラム1から割込
み処理プログラム2に移行するとき、従来のように一旦
一般プログラムAが開始可能な状態に戻って再び割込み
要求2に応答するというのではなく、直ちに割込み処理
プログラム2を開始する。したがって、プログラムの中
断点の情報の不要な復元および退避処理が削除され、割
込み応答の高速化を図ることができる。
割込み処理プログラム2が終了すると、同様にプロセッ
サは割込み復帰命令を実行する。このとき、プロセッサ
は割込み復帰によるマスクレベルの変化によって割込み
処理が起動されな、いと判断し、中断点の情報の復元を
行って一毀プログラムAを実行する。これにより、多重
割込みが終了し、再び通常のプログラムの処理が行われ
る。第16図に割込み処理プログラム2の割込み復帰命
令の実行直前のプロセッサの状態を、第17図に一般プ
ログラムAの再開直前のプロセッサの状態を示す。
なお、上記実施例は割込み処理が3つの例であるが、本
発明は割込み処理が1つ以上のものについては全てに適
用が可能である。
〔効果〕
本発明によれば、割込み処理から復帰する場合に、その
復帰によって割込み可能となる新たな割込み要求が存在
する場合は、退避されているプログラムの中断点の情報
を復元せず、直ちに要求された割込み処理を起動してい
るので、中断点の情報の復元および新たに中断点の情報
を退避するという時間を削減することができ、割込み応
答時間を短縮して処理の高速化を図ることができる。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2〜17図は本発明に係るマイクロプロセッサの一実
施例を示す図であり、 第2図はその全体構成図、 第3図はそのレジスタ群を示す図、 第4図はマスクレベルと割込みの関係を示す図、第5図
はそのマイクロプロセッサの動作を示すフローチャート
、 第6図はそのプログラムの遷移を示す図、第7図は一般
プログラムA中断直前のプロセンサの状態を示す図、 第8図は割込み処理プログラム1開始直前のプロセッサ
の状態を示す図、 第9図はその割込み要求2発生時点のプロセッサの状態
を示す図、 第10図はその割込み処理プログラム1中断直前のプロ
セッサの状態を示す図、 第11図はその割込み処理プログラムO開始直前のプロ
セッサの状態を示す図、 第12図はその割込み処理プログラム0の割込み復帰命
令実行直前のプロセッサの状態を示す図、第13図はそ
の割込み処理プログラム1再開直前のプロセッサの状態
を示す図、 第14図はその割込み処理プログラム1の割込み復帰命
令実行直前のプロセッサの状態を示す図、第15図はそ
の割込み処理プログラム2開始直前のプロセッサの状態
を示す図、 第16図はその割込み処理プログラム2の割込み処理復
帰命令実行直前のプロセッサの状態を示す図、 第17図はその一般プログラムA再開直前のプロセッサ
の状態を示す図である。 ■・・・・・・CPU、 2・・・・・・メモリ、 3〜5・・・・・・I10インタフェース、6・・・・
・・アドレスバス、 7・・・・・・データバス、 11・・・・・・制御部(制御手段)、12・・・・・
・演算部(演算手段)、13・・・・・・レジスタ群(
退避手段)、14・・・・・・バスインターフェース。 10グラムの中断 プログラムの再開 割り込み処理 本発明の原理説明図 第1図 −PC SW −一 口] 「=− 一=] 汎用レジスタ 〈0) 汎用レジスタ プログラムカウンタ プログラムステータスワード 一実施例のレジスタ群を示す図 第 図 一実施例のマスクレベルと割り込みの関係を示す図ン 扁raa4石 ン tI− ン &柘雨 ン +;に1i員 マスクレベル 一般プログラムA再開直前のプロセッサの状態を示す図
第 図

Claims (1)

  1. 【特許請求の範囲】  プログラムの中断点の情報の退避および復元を行う退
    避手段と、 外部からの割込み要求に応答して割込み処理プログラム
    への移行および復帰を制御する制御手段と、を有するマ
    イクロプロセッサにおいて、前記制御手段は、割込み復
    帰によって設定される割込み許可状態にあるとき、その
    時点で新たな割込み要求によって割込み処理が起動され
    るか否かを判別し、 割込み処理が起動されないときは退避手段に退避されて
    いるプログラムの中断点の情報を復元して中断されたプ
    ログラムの実行を再開するように制御し、 割込み処理が起動される状態のときは退避手段に退避さ
    れている前記情報を保存して新たな割込み処理を起動す
    るように制御することを特徴とするマイクロプロセッサ
JP19495888A 1988-08-03 1988-08-03 マイクロプロセッサ Pending JPH0242538A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19495888A JPH0242538A (ja) 1988-08-03 1988-08-03 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19495888A JPH0242538A (ja) 1988-08-03 1988-08-03 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH0242538A true JPH0242538A (ja) 1990-02-13

Family

ID=16333161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19495888A Pending JPH0242538A (ja) 1988-08-03 1988-08-03 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH0242538A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672360A (zh) * 2021-07-07 2021-11-19 平头哥(杭州)半导体有限公司 中断处理单元、相关装置和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672360A (zh) * 2021-07-07 2021-11-19 平头哥(杭州)半导体有限公司 中断处理单元、相关装置和方法

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
JP2743233B2 (ja) マイクロプロセッサ装置及び自動化停止状態再始動を実行させる方法
JPH01130224A (ja) 例外処理方式
JPH10207717A (ja) マイクロコンピュータ
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPS6250934A (ja) 処理装置の割込制御方式
JPH0242538A (ja) マイクロプロセッサ
JP2753781B2 (ja) マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
US5778207A (en) Assisting operating-system interrupts using application-based processing
JP2002196938A (ja) 例外処理フロー用の装置及びその処理実行方法
KR100415742B1 (ko) 프로세서에서 소프트웨어의 제어를 받는 예외 처리 흐름용장치 및 그 동작 방법
JPH01201730A (ja) 情報処理装置
JP2551139B2 (ja) 情報処理装置
JPH02163834A (ja) マルチ・タスク処理方式
JPS5868162A (ja) 再試行処理方式
JP2584528Y2 (ja) 情報処理装置
JPS62290942A (ja) デバツガ起動方式
JPH05250161A (ja) マイクロコンピュータ装置
JPH0259933A (ja) マイクロプロセッサ
JPH02201650A (ja) 演算装置
JPH01244550A (ja) エンジニアパネルを備える計算機システム
JPH0495135A (ja) 外部発信信号制御方式
JPS61184644A (ja) 仮想計算機システム制御方式