JPH0795277B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH0795277B2 JPH0795277B2 JP63298517A JP29851788A JPH0795277B2 JP H0795277 B2 JPH0795277 B2 JP H0795277B2 JP 63298517 A JP63298517 A JP 63298517A JP 29851788 A JP29851788 A JP 29851788A JP H0795277 B2 JPH0795277 B2 JP H0795277B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- register
- program
- register bank
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task 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)
- Bus Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、処理に使用する複数の汎用レジスタセットと
(以下、レジスタバンクという)を備え、割込み要求信
号に対応した割込み受付け信号に連動して所定の汎用レ
ジスタバンクを指定し、割込み処理プログラムを実行す
るデータ処理装置に関する。
(以下、レジスタバンクという)を備え、割込み要求信
号に対応した割込み受付け信号に連動して所定の汎用レ
ジスタバンクを指定し、割込み処理プログラムを実行す
るデータ処理装置に関する。
一般に、マイクロコンピュータシステムにおいては、主
プログラムを実行中に周辺装置が割込み要求信号を発生
した場合に、中央処理装置(以下、CPUという)が、主
プログラムの実行を中断して周辺装置の割込み要求信号
に対する割込み処理プログラムを実行するための、割込
み制御部を備えている。また、周辺装置の数が多いと、
複数の割込み要求信号が同時に発生する場合、もしくは
ある周辺装置の割込み要求信号に対する割込み処理プロ
グラムを実行中に他の周辺装置が割込み要求信号を発生
する場合がある。このような複数の割込み要求信号の競
合に対処するために、各割込み要求信号に優先順位を設
定し、優先順位の高い割込み要求信号に対する処理プロ
グラムの実行を優先して行なうという優先順位制御も必
要となる。
プログラムを実行中に周辺装置が割込み要求信号を発生
した場合に、中央処理装置(以下、CPUという)が、主
プログラムの実行を中断して周辺装置の割込み要求信号
に対する割込み処理プログラムを実行するための、割込
み制御部を備えている。また、周辺装置の数が多いと、
複数の割込み要求信号が同時に発生する場合、もしくは
ある周辺装置の割込み要求信号に対する割込み処理プロ
グラムを実行中に他の周辺装置が割込み要求信号を発生
する場合がある。このような複数の割込み要求信号の競
合に対処するために、各割込み要求信号に優先順位を設
定し、優先順位の高い割込み要求信号に対する処理プロ
グラムの実行を優先して行なうという優先順位制御も必
要となる。
一般に、マイクロコンピュータシステムにおける割込み
処理方式として、実行中の主プログラムのアドレスを指
定するプログラムカウンタの内容、主プログラム実行中
の状態を記憶しているプログラムステータスワード、お
よび汎用レジスタの内容とをスタック上に退避し、割込
み要求信号に対応した処理プログラムの開始番地(以
下、ベクタ番地という)をプログラムカウンタに設定
し、割込み処理プログラムを実行するところのベクタ割
込み処理方式と、汎用レジスタバンクを複数設け、割込
み受付け信号に連動して汎用レジスタバンクを選択的に
切替え、分岐するところのレジスタバンク切替え方式と
の2方式が知られている。この受付け形態について、第
5図を用いて説明する。
処理方式として、実行中の主プログラムのアドレスを指
定するプログラムカウンタの内容、主プログラム実行中
の状態を記憶しているプログラムステータスワード、お
よび汎用レジスタの内容とをスタック上に退避し、割込
み要求信号に対応した処理プログラムの開始番地(以
下、ベクタ番地という)をプログラムカウンタに設定
し、割込み処理プログラムを実行するところのベクタ割
込み処理方式と、汎用レジスタバンクを複数設け、割込
み受付け信号に連動して汎用レジスタバンクを選択的に
切替え、分岐するところのレジスタバンク切替え方式と
の2方式が知られている。この受付け形態について、第
5図を用いて説明する。
割込み要求信号140−1,140−2,140−3の少なくとも1
つが発生すると、割込み制御部は優先順位制御により処
理優先度の最も高い割込み要求信号を選択し、受付け可
能であると判断した場合、CPU120に対し、割込み受付け
信号141を発信する。レジスタバンク選択制御回路112
は、割込み処理で使用するレジスタバンクを選択するた
めのレジスタバンク指定コードを発生する。また、割込
みコード発生回路111は、割込み要求信号毎に個別に設
けられた定数(以下、割込みコードという)を発生す
る。CPU120割込み受付け信号を受信すると、実行中の主
プログラムの実行を中断し、割込み処理プログラムを実
行する。
つが発生すると、割込み制御部は優先順位制御により処
理優先度の最も高い割込み要求信号を選択し、受付け可
能であると判断した場合、CPU120に対し、割込み受付け
信号141を発信する。レジスタバンク選択制御回路112
は、割込み処理で使用するレジスタバンクを選択するた
めのレジスタバンク指定コードを発生する。また、割込
みコード発生回路111は、割込み要求信号毎に個別に設
けられた定数(以下、割込みコードという)を発生す
る。CPU120割込み受付け信号を受信すると、実行中の主
プログラムの実行を中断し、割込み処理プログラムを実
行する。
ここで、割込み受付け形態が、ベクタ割込み処理である
場合には、スタックポインタ125が指定するメモリ(以
下、スタックメモリという)の番地に実行中の主プログ
ラムのアドレスを指定するプログラムカウンタ(以下、
PCという)121の内容および主プロゲラムの実行状態を
記憶しているプログラムステータスワード(以下、PSW
という)122とを退避し、割込みコード発生回路111によ
り出力されている割込みコードを基にして、発生してい
る割込み要求信号に対応した処理プログラムの開始番地
を生成してPC121に設定し、割込み処理プログラムを開
始する。ベクタ割込み処理では、割込み要求毎に割込み
コードが定まっているので、割込み処理プログラムの開
始番地も割込み要求毎に定まり、各割込み要求に対応し
割込み処理プログラムを開始することができる。さら
に、CPU120は、割込み処理プログラム内で、汎用レジス
タの内容をPC、PSWと同様にスタックメモリに退避す
る。
場合には、スタックポインタ125が指定するメモリ(以
下、スタックメモリという)の番地に実行中の主プログ
ラムのアドレスを指定するプログラムカウンタ(以下、
PCという)121の内容および主プロゲラムの実行状態を
記憶しているプログラムステータスワード(以下、PSW
という)122とを退避し、割込みコード発生回路111によ
り出力されている割込みコードを基にして、発生してい
る割込み要求信号に対応した処理プログラムの開始番地
を生成してPC121に設定し、割込み処理プログラムを開
始する。ベクタ割込み処理では、割込み要求毎に割込み
コードが定まっているので、割込み処理プログラムの開
始番地も割込み要求毎に定まり、各割込み要求に対応し
割込み処理プログラムを開始することができる。さら
に、CPU120は、割込み処理プログラム内で、汎用レジス
タの内容をPC、PSWと同様にスタックメモリに退避す
る。
割込み受付け形態が、レジスタバンク切替え割込みであ
る場合には、CPUは、割込み処理制御部110に読み出し信
号143を発信して、レジスタバンク指定コードを読み出
し、レジスタバンク指定レジスタ(以下、RBという)12
3に格納し、データメモリ内の所定のレジスタバンクを
指定することにより、割込み要求信号に対応したレジス
タバンク124に切替える。個々のレジスタバンクは第2
図に示すように、汎用レジスタ、PCの退避領域、PSWの
退避領域、および割込み処理プログラムの処理開始番地
(以下、PC′という)とから構成されている。CPU120
は、PC121とPSW122を切替え先のレジスタバンクの退避
領域に退避するとともに、切替え先レジスタバンクに格
納されているPC′をPC121に設定して割込み処理プログ
ラムを開始する。
る場合には、CPUは、割込み処理制御部110に読み出し信
号143を発信して、レジスタバンク指定コードを読み出
し、レジスタバンク指定レジスタ(以下、RBという)12
3に格納し、データメモリ内の所定のレジスタバンクを
指定することにより、割込み要求信号に対応したレジス
タバンク124に切替える。個々のレジスタバンクは第2
図に示すように、汎用レジスタ、PCの退避領域、PSWの
退避領域、および割込み処理プログラムの処理開始番地
(以下、PC′という)とから構成されている。CPU120
は、PC121とPSW122を切替え先のレジスタバンクの退避
領域に退避するとともに、切替え先レジスタバンクに格
納されているPC′をPC121に設定して割込み処理プログ
ラムを開始する。
以上、一般的に知られている2方式の割込み処理方式に
ついて延べたが、ベクタ割込み方式では、割込み処理プ
ログラムにおける汎用レジスタの退避、あるいは復帰の
ための処理に多大な時間がかかるため、割込み処理の動
作効率が悪くなるという欠点がある。これに対してレジ
スタバンク切替え割込みでは、汎用レジスタの退避、復
帰処理を行なう必要がなくベクタ割込み処理方式により
動作効率が非常に優れている。しかし、マイクロコンピ
ュータシステムの高機能化に伴い、周辺装置が増加する
傾向にあるため、周辺装置から発生される割込み要求の
数が多くなってきている。こうした多数の割込み要求に
対し、個別にレジスタバンクを備えることは内臓するメ
モリ容量が膨大となり、物理的に不可能である。レジス
タバンク割込みを指定できる割込みの数がレジスタバン
クの数に制限されることを回避するために、割込み要求
をグループ化し、グループ毎にレジスタバンクを備える
等の工夫がされている。しかしながら、グループ毎にレ
ジスタバンクを共通に使用して割込み処理を行なう場
合、割込み処理プログラム開始番地も同一となるため、
グループ内のどの割込み要因によって割込みが起動され
ているかを割込み処理の中で判断することができない。
そのため、結果的には、割込みグループのうち、1つの
割込み要求だけはレジスタバンク切替え割込みにより処
理することができるが、他の割込みは、ベクタ割込みに
より処理せざるを得ないという欠点を有していた。
ついて延べたが、ベクタ割込み方式では、割込み処理プ
ログラムにおける汎用レジスタの退避、あるいは復帰の
ための処理に多大な時間がかかるため、割込み処理の動
作効率が悪くなるという欠点がある。これに対してレジ
スタバンク切替え割込みでは、汎用レジスタの退避、復
帰処理を行なう必要がなくベクタ割込み処理方式により
動作効率が非常に優れている。しかし、マイクロコンピ
ュータシステムの高機能化に伴い、周辺装置が増加する
傾向にあるため、周辺装置から発生される割込み要求の
数が多くなってきている。こうした多数の割込み要求に
対し、個別にレジスタバンクを備えることは内臓するメ
モリ容量が膨大となり、物理的に不可能である。レジス
タバンク割込みを指定できる割込みの数がレジスタバン
クの数に制限されることを回避するために、割込み要求
をグループ化し、グループ毎にレジスタバンクを備える
等の工夫がされている。しかしながら、グループ毎にレ
ジスタバンクを共通に使用して割込み処理を行なう場
合、割込み処理プログラム開始番地も同一となるため、
グループ内のどの割込み要因によって割込みが起動され
ているかを割込み処理の中で判断することができない。
そのため、結果的には、割込みグループのうち、1つの
割込み要求だけはレジスタバンク切替え割込みにより処
理することができるが、他の割込みは、ベクタ割込みに
より処理せざるを得ないという欠点を有していた。
従って、本発明の目的は、複数の割込み要求に対して、
レジスタバンクを共通に使用して割込み処理を行なう場
合にも、割込み処理プログラムの中で、起動されている
割込み要因を判別することができるデータ処理装置を提
供することにある。
レジスタバンクを共通に使用して割込み処理を行なう場
合にも、割込み処理プログラムの中で、起動されている
割込み要因を判別することができるデータ処理装置を提
供することにある。
本発明のデータ処理装置は、中央処理装置が処理に使用
する複数の汎用レジスタセットと、割り込み要求信号に
対応した割り込み受け付け信号に連動して所定の汎用レ
ジスタセットに切り替え割り込み処理プログラムを起動
する割り込み制御手段と、前記割り込み要求信号に対応
した割り込みコードを発生する手段と、前記割り込みコ
ードを保持する記憶手段と、前記割り込み処理プログラ
ムにより前記記憶手段から前記割り込みコードを読み出
して割り込み要求を識別し、当該識別した割り込み要求
に応答した処理プログラムに分岐する手段とを有するこ
とを特徴とする。このように、本発明では、割込み要因
を示す割込みコードを格納しておく割込みソースレジス
タを設けており、前記レジスタの内容をCPUの命令操作
により読み出すことにより、起動されたレジスタバンク
切替え割込み処理の中で割込み要因を識別できる。
する複数の汎用レジスタセットと、割り込み要求信号に
対応した割り込み受け付け信号に連動して所定の汎用レ
ジスタセットに切り替え割り込み処理プログラムを起動
する割り込み制御手段と、前記割り込み要求信号に対応
した割り込みコードを発生する手段と、前記割り込みコ
ードを保持する記憶手段と、前記割り込み処理プログラ
ムにより前記記憶手段から前記割り込みコードを読み出
して割り込み要求を識別し、当該識別した割り込み要求
に応答した処理プログラムに分岐する手段とを有するこ
とを特徴とする。このように、本発明では、割込み要因
を示す割込みコードを格納しておく割込みソースレジス
タを設けており、前記レジスタの内容をCPUの命令操作
により読み出すことにより、起動されたレジスタバンク
切替え割込み処理の中で割込み要因を識別できる。
本発明の実施例について、図面を参照して説明する。
第1図は本発明の一実施例のデータ処理装置を示すブロ
ック図である。本実施例のデータ処理装置は、INT1,INT
2,INT3,INTnを含むnの割込み要求信号を備えたマイク
ロコンピュータで、CPU20,プログラムメモリ30,3組の汎
用レジスタセット(以下、レジスタバンクという)と割
込み処理プログラム以外の主プログラムで使用する汎用
レジスタバンク0を含むデータメモリ24、アドレスバス
50、データバス51、データメモリ24のアドレスをデコー
ドするアドレスデコーダ26,27、割込み要求信号14−1,1
4−2,14−3,…14−nが供給されたときに割込み優先順
位、割込み受付け状態を判定する割込み優先順位制御回
路10(以下、INTCという)、各割込み要求信号に対応し
た定数(以下、割込みコードという)を発生する割込み
コード発生回路11、各割込み要求処理で使用するレジス
タバンクを指定する情報をあらかじめ格納しておき割込
み要求に応じてレジスタバンク指定コードを発生するレ
ジスタバンク選択制御回路12、割込みソースレジスタ1
4、ならびにその他の周辺回路からなる。
ック図である。本実施例のデータ処理装置は、INT1,INT
2,INT3,INTnを含むnの割込み要求信号を備えたマイク
ロコンピュータで、CPU20,プログラムメモリ30,3組の汎
用レジスタセット(以下、レジスタバンクという)と割
込み処理プログラム以外の主プログラムで使用する汎用
レジスタバンク0を含むデータメモリ24、アドレスバス
50、データバス51、データメモリ24のアドレスをデコー
ドするアドレスデコーダ26,27、割込み要求信号14−1,1
4−2,14−3,…14−nが供給されたときに割込み優先順
位、割込み受付け状態を判定する割込み優先順位制御回
路10(以下、INTCという)、各割込み要求信号に対応し
た定数(以下、割込みコードという)を発生する割込み
コード発生回路11、各割込み要求処理で使用するレジス
タバンクを指定する情報をあらかじめ格納しておき割込
み要求に応じてレジスタバンク指定コードを発生するレ
ジスタバンク選択制御回路12、割込みソースレジスタ1
4、ならびにその他の周辺回路からなる。
まず、演算処理機能について説明する。CPU20は、プロ
グラムメモリ30のアドレスを指定するプログラムカウン
タ21、プログラムの状態を示すプログラムステータスワ
ード(以下、PSWという)22、割込み受付け信号41の発
信時にプログラムカウンタ21、PSW22の内容を退避する
ためのデータメモリ24のアドレスを指定するスタックポ
インタ25を含んでいる。データメモリ24は、CPU20がア
ドレスバス50に出力したアドレスがアドレスデコーダ27
でデコードされ、対応する番地が選択される。また、デ
ータメモリ24には、レジスタバンクが配置されており、
レジスタバンク指定レジスタ(以下、RBという)23の値
と、CPU20からアドレスバス50に出力したレジスタアド
レスとが、アドレスデコーダ26でデコードされ、RBによ
り複数のレジスタバンクの中から1つを選択し、レジス
タアドレスによりレジスタバンク内の各汎用レジスタを
選択する。
グラムメモリ30のアドレスを指定するプログラムカウン
タ21、プログラムの状態を示すプログラムステータスワ
ード(以下、PSWという)22、割込み受付け信号41の発
信時にプログラムカウンタ21、PSW22の内容を退避する
ためのデータメモリ24のアドレスを指定するスタックポ
インタ25を含んでいる。データメモリ24は、CPU20がア
ドレスバス50に出力したアドレスがアドレスデコーダ27
でデコードされ、対応する番地が選択される。また、デ
ータメモリ24には、レジスタバンクが配置されており、
レジスタバンク指定レジスタ(以下、RBという)23の値
と、CPU20からアドレスバス50に出力したレジスタアド
レスとが、アドレスデコーダ26でデコードされ、RBによ
り複数のレジスタバンクの中から1つを選択し、レジス
タアドレスによりレジスタバンク内の各汎用レジスタを
選択する。
次に、割込み処理機能について説明する。本実施例では
前述したようにn本の割込み要求信号が受付け可能な構
成になっており、それぞれの割込み要求処理は以下のよ
うに制御される。ここでは割込み要求信号INT2を例にと
って説明する。割込み要求信号INT2が発生するとINT2に
応じた割込み処理要求フラグが“1"にセットされ、割込
み制御信号17−1,17−2,…,17−nの内の17−2のみが
活性化する。割込み要求信号17−2は、割込みコード発
生回路11、レジスタバンク選択制御回路12に供給され
る。割込みコード発生回路11では、割込み制御信号17−
2により、割込みコード15−2が選ばれ、INT2に対応し
た割込みコードを発生し、CPUに供給する。また、レジ
スタバンク選択制御回路12では、バンク指定レジスタ16
−2が選ばれ、INT2のレジスタバンク指定コードを発生
する。INT10は、INT2が入力されると、割込み許可状
態、および、INT2の割込み優先順位を判定し、割込み許
可状態であり、かつ、現在実行中の処理より優先順位が
高いと判定した場合、CPU20に対して、割込み受付け信
号41を活性化する。また、割込み受付け信号41の付勢に
よって、レジスタバンク指定レジスタ16−2のレジスタ
バンク指定コードがRB23へ、割込みコード15−2が割込
みソースレジスタ14にそれぞれラッチされる。割込みソ
ースレジスタ14は、次の割込み要求が受付けられるま
で、処理中の割込みの割込みコードを保持する。
前述したようにn本の割込み要求信号が受付け可能な構
成になっており、それぞれの割込み要求処理は以下のよ
うに制御される。ここでは割込み要求信号INT2を例にと
って説明する。割込み要求信号INT2が発生するとINT2に
応じた割込み処理要求フラグが“1"にセットされ、割込
み制御信号17−1,17−2,…,17−nの内の17−2のみが
活性化する。割込み要求信号17−2は、割込みコード発
生回路11、レジスタバンク選択制御回路12に供給され
る。割込みコード発生回路11では、割込み制御信号17−
2により、割込みコード15−2が選ばれ、INT2に対応し
た割込みコードを発生し、CPUに供給する。また、レジ
スタバンク選択制御回路12では、バンク指定レジスタ16
−2が選ばれ、INT2のレジスタバンク指定コードを発生
する。INT10は、INT2が入力されると、割込み許可状
態、および、INT2の割込み優先順位を判定し、割込み許
可状態であり、かつ、現在実行中の処理より優先順位が
高いと判定した場合、CPU20に対して、割込み受付け信
号41を活性化する。また、割込み受付け信号41の付勢に
よって、レジスタバンク指定レジスタ16−2のレジスタ
バンク指定コードがRB23へ、割込みコード15−2が割込
みソースレジスタ14にそれぞれラッチされる。割込みソ
ースレジスタ14は、次の割込み要求が受付けられるま
で、処理中の割込みの割込みコードを保持する。
次に、割込み受付け信号41が入力されたときのCPU20の
動作について説明する。まず、割込み受付け形態が、ベ
クタ割込み形態である場合、CPUは、割込みコード15−
2に基づいて割込み処理プログラムの開始番地を生成し
た後、INTC10に対して割込み応答信号44を発信し、割込
み要求フラグを“0"にリセットして、割込み処理を開始
する。割込み要求フラグのリセットにより他の割込み要
求信号は受付け可能となるが、割込み受付け信号41は割
込み禁止状態であるため付勢されない。プログラムによ
り割込み許可状態にすると、他の割込み要求信号の状態
により活性化される。
動作について説明する。まず、割込み受付け形態が、ベ
クタ割込み形態である場合、CPUは、割込みコード15−
2に基づいて割込み処理プログラムの開始番地を生成し
た後、INTC10に対して割込み応答信号44を発信し、割込
み要求フラグを“0"にリセットして、割込み処理を開始
する。割込み要求フラグのリセットにより他の割込み要
求信号は受付け可能となるが、割込み受付け信号41は割
込み禁止状態であるため付勢されない。プログラムによ
り割込み許可状態にすると、他の割込み要求信号の状態
により活性化される。
レジスタバンク切替え割込み形態である場合、割込み受
付け信号41により、RB23に起動された割込み要求のバン
ク指定コードが格納され、所定のレジスタバンクに切替
えられているので、CPU20は切替えられたレジスタバン
クの退避領域にPC21、PSW22を退避すると共に、切替え
られたレジスタバンクにあらかじめ設定されている割込
みプログラム開始番地をPC21に設定した後、INTC10に対
して割込み応答信号44を発信し、割込み要求フラグを
“0"にリセットして割込み処理を開始する。バクタ割込
みと同様、割込み要求フラグのリセットにより他の割込
み要求信号は受付け可能となるが、割込み受付け信号41
は割込み禁止状態であるため付勢されない。プログラム
により割込み許可状態にすると、他の割込み要求信号の
状態により活性化される。割込みプログラム開始番地と
してあらかじめ指定されている番地は、各レジスタバン
クあたり1つしか設定できないので複数の割込みが同一
のレジスタバンクを使用する場合には、割込み処理プロ
グラムの中で割込みソースレジスタを判別して、各割込
み処理へ分岐する。例えば、第3図のフローチャートに
示すように、まず、割込みソースレジスタ14の値を汎用
レジスタに読み出す命令を実行する。この命令を実行す
ると、読み出し信号42が発生して、割込みソースレジス
タ14の値がデータバス51に出力され、データバス51の内
容が汎用レジスタに格納される。割込みソースレジスタ
14には割込み処理プログラムを実行している割込み要求
に対応したコードが必ず格納されているので汎用レジス
タの値を判断して実行中の割込み処理の割込み要求を識
別する。その後、割込み要求に応じた処理の開始アドレ
スへ分岐すれば、各割込み要求毎に、処理を開始するこ
とができる。
付け信号41により、RB23に起動された割込み要求のバン
ク指定コードが格納され、所定のレジスタバンクに切替
えられているので、CPU20は切替えられたレジスタバン
クの退避領域にPC21、PSW22を退避すると共に、切替え
られたレジスタバンクにあらかじめ設定されている割込
みプログラム開始番地をPC21に設定した後、INTC10に対
して割込み応答信号44を発信し、割込み要求フラグを
“0"にリセットして割込み処理を開始する。バクタ割込
みと同様、割込み要求フラグのリセットにより他の割込
み要求信号は受付け可能となるが、割込み受付け信号41
は割込み禁止状態であるため付勢されない。プログラム
により割込み許可状態にすると、他の割込み要求信号の
状態により活性化される。割込みプログラム開始番地と
してあらかじめ指定されている番地は、各レジスタバン
クあたり1つしか設定できないので複数の割込みが同一
のレジスタバンクを使用する場合には、割込み処理プロ
グラムの中で割込みソースレジスタを判別して、各割込
み処理へ分岐する。例えば、第3図のフローチャートに
示すように、まず、割込みソースレジスタ14の値を汎用
レジスタに読み出す命令を実行する。この命令を実行す
ると、読み出し信号42が発生して、割込みソースレジス
タ14の値がデータバス51に出力され、データバス51の内
容が汎用レジスタに格納される。割込みソースレジスタ
14には割込み処理プログラムを実行している割込み要求
に対応したコードが必ず格納されているので汎用レジス
タの値を判断して実行中の割込み処理の割込み要求を識
別する。その後、割込み要求に応じた処理の開始アドレ
スへ分岐すれば、各割込み要求毎に、処理を開始するこ
とができる。
次に、本発明の他の実施例について説明する。システム
構成は第1図と同じである。割込受付け信号41により、
レジスタバンク切替え割込みが起動されると、レジスタ
バンク指定コードがレジスタバンク選択制御回路12によ
り生成され、RB23に格納される。これにより、レジスタ
バンク24の中から割込み処理で使用するレジスタバンク
が選択される。選択されたレジスタバンクにはあらかじ
め割込みプログラム開始番地が設定されているが、この
設定値は、割込みソースレジスタ14に格納されている割
込み要求信号に対応した割込みコードと加算され、PC21
に設定される。例えば、割込みコード1,2,3とし、第4
図に示すように、プログラムメモリ30のメモリアドレス
PC′+1,PC′+2,PC′+3に、それぞれ、[割込プログ
ラム処理1開始アドレスへの分岐命令],[割込プログ
ラム処理2開始アドレスへの分岐命令],[割込プログ
ラム処理3開始アドレスへの分岐命令]を格納しておく
ことにより、各割込み要求に応じた処理を開始すること
ができる。
構成は第1図と同じである。割込受付け信号41により、
レジスタバンク切替え割込みが起動されると、レジスタ
バンク指定コードがレジスタバンク選択制御回路12によ
り生成され、RB23に格納される。これにより、レジスタ
バンク24の中から割込み処理で使用するレジスタバンク
が選択される。選択されたレジスタバンクにはあらかじ
め割込みプログラム開始番地が設定されているが、この
設定値は、割込みソースレジスタ14に格納されている割
込み要求信号に対応した割込みコードと加算され、PC21
に設定される。例えば、割込みコード1,2,3とし、第4
図に示すように、プログラムメモリ30のメモリアドレス
PC′+1,PC′+2,PC′+3に、それぞれ、[割込プログ
ラム処理1開始アドレスへの分岐命令],[割込プログ
ラム処理2開始アドレスへの分岐命令],[割込プログ
ラム処理3開始アドレスへの分岐命令]を格納しておく
ことにより、各割込み要求に応じた処理を開始すること
ができる。
したがって、割込み処理プログラムにおいて、割込みコ
ードを判別して各割込み要求に応じた処理に分岐する処
理を行なう必要がない。
ードを判別して各割込み要求に応じた処理に分岐する処
理を行なう必要がない。
以上説明したように、本発明は、起動された割込み処理
の割込みソースを示す割込みコードを格納し、CPUから
の命令操作により読み出し可能な割込みソースレジスタ
を設け、割込み処理プログラム内で割込みソースレジス
タを読み出すことによって割込み要求を識別できるよう
にしたもので、これにより、レジスタバンクの物理的な
制約のために複数の割込み要求を同一のレジスタバンク
に割当てた場合にも、ベクタ割込み処理方式により動作
効率の非常に優れているレジスタバンク割込みを複数の
割込み要求に対して適用することができる。
の割込みソースを示す割込みコードを格納し、CPUから
の命令操作により読み出し可能な割込みソースレジスタ
を設け、割込み処理プログラム内で割込みソースレジス
タを読み出すことによって割込み要求を識別できるよう
にしたもので、これにより、レジスタバンクの物理的な
制約のために複数の割込み要求を同一のレジスタバンク
に割当てた場合にも、ベクタ割込み処理方式により動作
効率の非常に優れているレジスタバンク割込みを複数の
割込み要求に対して適用することができる。
第1図は本発明の一実施例のデータ処理装置のブロック
構成図、第2図はレジスタバンクの詳細図、第3図は本
実施例の割込み処理プログラムのフローチャート、第4
図は他の実施例のプログラムメモリ内のデータ格納図、
第5図は従来のデータ処理装置のブロック構成図であ
る。 10……優先順位制御回路(INTC)、11……割込みコード
発生回路、12……レジスタバンク選択制御回路、14……
割込みソースレジスタ、15−1,15−2,15−3,15−n……
割込みコード、16−1,16−2,16−3,16−n……バンク指
定レジスタ、17−1,17−2,17−3,17−n……割込み制御
信号、20……中央処理実行部(CPU)、21……プログラ
ムカウンタ(PC)、22……プログラム状態レジスタ(PS
W)、23……レジスタバンク指定レジスタ(RB)、24…
…データメモリ、25……スタックポインタ、26……アド
レスデコーダ、27……アドレスデコーダ、30……プログ
ラムメモリ、40−1,40−2,40−3,40−n……割込み要求
信号、41……割込み受付け信号、42……読み出し信号、
44……割込み応答信号、45……書込み信号、50……アド
レスバス、51……データバス、110……割込み制御部、1
11……割込みコード発生回路、112……レジスタバンク
選択制御回路、120……中央処理実行部CPU)、121……
プログラムカウンタ(PC)、122……プログラム状態レ
ジスタ(PSW)、123……レジスタバンク指定レジスタ
(RB)、124……データメモリ、125……スタックポイン
タ、130……プログラムメモリ、140−1,140−2,140−3
……割込み要求信号、141……割込み受付け信号、142,1
43……読み出し信号。
構成図、第2図はレジスタバンクの詳細図、第3図は本
実施例の割込み処理プログラムのフローチャート、第4
図は他の実施例のプログラムメモリ内のデータ格納図、
第5図は従来のデータ処理装置のブロック構成図であ
る。 10……優先順位制御回路(INTC)、11……割込みコード
発生回路、12……レジスタバンク選択制御回路、14……
割込みソースレジスタ、15−1,15−2,15−3,15−n……
割込みコード、16−1,16−2,16−3,16−n……バンク指
定レジスタ、17−1,17−2,17−3,17−n……割込み制御
信号、20……中央処理実行部(CPU)、21……プログラ
ムカウンタ(PC)、22……プログラム状態レジスタ(PS
W)、23……レジスタバンク指定レジスタ(RB)、24…
…データメモリ、25……スタックポインタ、26……アド
レスデコーダ、27……アドレスデコーダ、30……プログ
ラムメモリ、40−1,40−2,40−3,40−n……割込み要求
信号、41……割込み受付け信号、42……読み出し信号、
44……割込み応答信号、45……書込み信号、50……アド
レスバス、51……データバス、110……割込み制御部、1
11……割込みコード発生回路、112……レジスタバンク
選択制御回路、120……中央処理実行部CPU)、121……
プログラムカウンタ(PC)、122……プログラム状態レ
ジスタ(PSW)、123……レジスタバンク指定レジスタ
(RB)、124……データメモリ、125……スタックポイン
タ、130……プログラムメモリ、140−1,140−2,140−3
……割込み要求信号、141……割込み受付け信号、142,1
43……読み出し信号。
Claims (1)
- 【請求項1】中央処理装置が処理に使用する複数の汎用
レジスタセットと、割り込み要求信号に対応した割り込
み受け付け信号に連動して所定の汎用レジスタセットに
切り替え割り込み処理プログラムを起動する割り込み制
御手段と、前記割り込み要求信号に対応した割り込みコ
ードを発生する手段と、前記割り込みコードを保持する
記憶手段と、前記割り込み処理プログラムにより前記記
憶手段から前記割り込みコードを読み出して割り込み要
求を識別し、当該識別した割り込み要求に応答した処理
プログラムに分岐する手段とを有することを特徴とする
データ処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63298517A JPH0795277B2 (ja) | 1988-11-25 | 1988-11-25 | データ処理装置 |
| US07/441,146 US5155853A (en) | 1988-11-25 | 1989-11-27 | Data processor operating in a vector interrupt mode and register bank switching mode with selected bank for interrupt processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63298517A JPH0795277B2 (ja) | 1988-11-25 | 1988-11-25 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02144630A JPH02144630A (ja) | 1990-06-04 |
| JPH0795277B2 true JPH0795277B2 (ja) | 1995-10-11 |
Family
ID=17860746
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63298517A Expired - Fee Related JPH0795277B2 (ja) | 1988-11-25 | 1988-11-25 | データ処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5155853A (ja) |
| JP (1) | JPH0795277B2 (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3372948B2 (ja) * | 1990-01-05 | 2003-02-04 | サン・マイクロシステムズ・インコーポレーテッド | 高速アクティブ・バス |
| US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
| JPH04242433A (ja) * | 1991-01-17 | 1992-08-31 | Nec Corp | マイクロプロセッサ |
| FR2680591B1 (fr) * | 1991-08-22 | 1996-01-26 | Telemecanique | Controleur d'interruption programmable, systeme interruptif et procede de controle d'interruption. |
| US5557766A (en) * | 1991-10-21 | 1996-09-17 | Kabushiki Kaisha Toshiba | High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank |
| US5404457A (en) * | 1992-02-14 | 1995-04-04 | Advanced Micro Devices, Inc. | Apparatus for managing system interrupt operations in a computing system |
| US5640582A (en) * | 1992-05-21 | 1997-06-17 | Intel Corporation | Register stacking in a computer system |
| US5596755A (en) * | 1992-11-03 | 1997-01-21 | Microsoft Corporation | Mechanism for using common code to handle hardware interrupts in multiple processor modes |
| US5530875A (en) * | 1993-04-29 | 1996-06-25 | Fujitsu Limited | Grouping of interrupt sources for efficiency on the fly |
| US5535397A (en) * | 1993-06-30 | 1996-07-09 | Intel Corporation | Method and apparatus for providing a context switch in response to an interrupt in a computer process |
| GB2286265B (en) * | 1994-01-26 | 1998-02-18 | Advanced Risc Mach Ltd | selectable processing registers |
| JP2734992B2 (ja) * | 1994-07-25 | 1998-04-02 | 日本電気株式会社 | 情報処理装置 |
| JPH0877021A (ja) * | 1994-09-01 | 1996-03-22 | Fujitsu Ltd | 割込処理装置および方法 |
| JP3672634B2 (ja) * | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
| JPH08305585A (ja) * | 1995-05-11 | 1996-11-22 | Matsushita Electric Ind Co Ltd | 割込制御装置 |
| US5701493A (en) * | 1995-08-03 | 1997-12-23 | Advanced Risc Machines Limited | Exception handling method and apparatus in data processing systems |
| US5606703A (en) * | 1995-12-06 | 1997-02-25 | International Business Machines Corporation | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures |
| US5734910A (en) * | 1995-12-22 | 1998-03-31 | International Business Machines Corporation | Integrating multi-modal synchronous interrupt handlers for computer system |
| JPH10171665A (ja) * | 1996-12-09 | 1998-06-26 | Toshiba Corp | ジャンプコード・ジェネレータ、割り込みプログラム選択装置、割り込みプログラム選択方式、及び計算機 |
| US6078545A (en) * | 1996-12-26 | 2000-06-20 | Oki Electric Industry Co., Ltd. | Data transfer circuit |
| US5901309A (en) * | 1997-10-07 | 1999-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for improved interrupt handling within a microprocessor |
| US5987495A (en) * | 1997-11-07 | 1999-11-16 | International Business Machines Corporation | Method and apparatus for fully restoring a program context following an interrupt |
| US6339808B1 (en) * | 1999-01-04 | 2002-01-15 | Advanced Micro Devices, Inc. | Address space conversion to retain software compatibility in new architectures |
| US6449675B1 (en) * | 1999-06-29 | 2002-09-10 | Motorola, Inc. | Multifield register having a selection field for selecting a source of an information field |
| EP1124185A1 (de) * | 2000-02-09 | 2001-08-16 | Siemens Aktiengesellschaft | Schaltungsanordnung und Verfahren zur Abarbeitung von Interruptanforderungen an einem Prozessor |
| US6601122B1 (en) * | 2000-04-17 | 2003-07-29 | International Business Machines Corporation | Exceptions and interrupts with dynamic priority and vector routing |
| US7552261B2 (en) * | 2001-10-12 | 2009-06-23 | Mips Technologies, Inc. | Configurable prioritization of core generated interrupts |
| US7487339B2 (en) * | 2001-10-12 | 2009-02-03 | Mips Technologies, Inc. | Method and apparatus for binding shadow registers to vectored interrupts |
| US20030135720A1 (en) * | 2002-01-14 | 2003-07-17 | International Business Machines Corporation | Method and system using hardware assistance for instruction tracing with secondary set of interruption resources |
| US7117284B2 (en) * | 2002-11-18 | 2006-10-03 | Arm Limited | Vectored interrupt control within a system having a secure domain and a non-secure domain |
| TW200511111A (en) * | 2003-07-30 | 2005-03-16 | Koninkl Philips Electronics Nv | Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set |
| US8825926B2 (en) * | 2009-04-13 | 2014-09-02 | Microchip Technology Incorporated | Processor with assignable general purpose register set |
| US10802754B2 (en) * | 2018-03-12 | 2020-10-13 | Micron Technology, Inc. | Hardware-based power management integrated circuit register file write protection |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53121439A (en) * | 1977-03-31 | 1978-10-23 | Toshiba Corp | Interrupt processor |
| JPS5935451B2 (ja) * | 1977-12-23 | 1984-08-29 | 富士通株式会社 | 汎用レジスタ・アクセス方式 |
| JPS5592950A (en) * | 1978-12-30 | 1980-07-14 | Ricoh Co Ltd | Interruption control system |
| US4631363A (en) * | 1981-06-01 | 1986-12-23 | At&T Bell Laboratories | Method and apparatus for incremental load simulation |
| US4769768A (en) * | 1983-09-22 | 1988-09-06 | Digital Equipment Corporation | Method and apparatus for requesting service of interrupts by selected number of processors |
| US4949333A (en) * | 1987-04-02 | 1990-08-14 | Advanced Micro Devices, Inc. | Enhanced universal asynchronous receiver-transmitter |
-
1988
- 1988-11-25 JP JP63298517A patent/JPH0795277B2/ja not_active Expired - Fee Related
-
1989
- 1989-11-27 US US07/441,146 patent/US5155853A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5155853A (en) | 1992-10-13 |
| JPH02144630A (ja) | 1990-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0795277B2 (ja) | データ処理装置 | |
| KR20130016246A (ko) | 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑 | |
| JP2008047145A (ja) | デュアルスレッドプロセッサ | |
| WO2006082989A2 (en) | System and method of interrupt handling | |
| JP3970609B2 (ja) | プロセッサシステム | |
| JP4985452B2 (ja) | ベクトル処理装置 | |
| JP3980901B2 (ja) | デジタル信号処理装置 | |
| JPH056281A (ja) | 情報処理装置 | |
| JP3644892B2 (ja) | 複数組の命令組を実行するためのデータ処理装置 | |
| JP2826309B2 (ja) | 情報処理装置 | |
| JP2876629B2 (ja) | データ処理装置 | |
| JPH09128248A (ja) | マイクロプロセッサ | |
| JP3057732B2 (ja) | 情報処理装置 | |
| JP3139310B2 (ja) | ディジタル信号処理装置 | |
| JPH0756633B2 (ja) | タスク切換え方式 | |
| JPH03149621A (ja) | マイクロプロセッサ | |
| JPS636637A (ja) | メモリ切替装置 | |
| JP2985244B2 (ja) | 情報処理装置 | |
| JP3651099B2 (ja) | プログラマブルコントローラ | |
| JPH02183342A (ja) | 割込み制御装置 | |
| JPS61133440A (ja) | デ−タ処理装置 | |
| JPS63104144A (ja) | 高速コンテクスト切替装置 | |
| JPH04256027A (ja) | マイクロコンピュータ | |
| JPS61115137A (ja) | エミユレ−シヨン装置 | |
| JPH02189632A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |