JPH07295836A - 半導体集積回路装置 - Google Patents
半導体集積回路装置Info
- Publication number
- JPH07295836A JPH07295836A JP9092494A JP9092494A JPH07295836A JP H07295836 A JPH07295836 A JP H07295836A JP 9092494 A JP9092494 A JP 9092494A JP 9092494 A JP9092494 A JP 9092494A JP H07295836 A JPH07295836 A JP H07295836A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interruption
- information
- program
- area
- 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
Links
Abstract
(57)【要約】
【目的】 マルチタスクオペレーションによるプログラ
ム処理において、割り込み時の情報を全タスク共通の領
域に退避させ、RAMサイズを大幅に削減する。 【構成】 割り込み時のプログラムカウンタPC、ステ
ータスレジスタSRの情報を記憶するための割り込み退
避領域IS1〜ISnを各割り込みレベル毎に設け、初
期状態では割り込み退避領域IS1〜ISnに無効デー
タを格納し、CPUが割り込みを受け付け時にプログラ
ムカウンタPC、ステータスレジスタSRの情報を割り
込み退避領域ISiに記憶させ、有効にさせる。割り込
み処理プログラムの実行後、割り込み復帰命令が出さ
れ、CPUは割り込み退避領域IS1〜ISnから最も
高く、かつ有効な情報の格納されている割り込み退避領
域ISiから割り込み時の所定の情報を読み出し、プロ
グラムカウンタPC、ステータスレジスタSRに復元
し、割り込み前に実行していたプログラムの実行を行
う。
ム処理において、割り込み時の情報を全タスク共通の領
域に退避させ、RAMサイズを大幅に削減する。 【構成】 割り込み時のプログラムカウンタPC、ステ
ータスレジスタSRの情報を記憶するための割り込み退
避領域IS1〜ISnを各割り込みレベル毎に設け、初
期状態では割り込み退避領域IS1〜ISnに無効デー
タを格納し、CPUが割り込みを受け付け時にプログラ
ムカウンタPC、ステータスレジスタSRの情報を割り
込み退避領域ISiに記憶させ、有効にさせる。割り込
み処理プログラムの実行後、割り込み復帰命令が出さ
れ、CPUは割り込み退避領域IS1〜ISnから最も
高く、かつ有効な情報の格納されている割り込み退避領
域ISiから割り込み時の所定の情報を読み出し、プロ
グラムカウンタPC、ステータスレジスタSRに復元
し、割り込み前に実行していたプログラムの実行を行
う。
Description
【0001】
【産業上の利用分野】本発明は、半導体集積回路装置に
関し、特に、マルチタスクオペレーションによる割り込
み処理を行う半導体集積回路装置に適用して有効な技術
に関するものである。
関し、特に、マルチタスクオペレーションによる割り込
み処理を行う半導体集積回路装置に適用して有効な技術
に関するものである。
【0002】
【従来の技術】本発明者が検討したところによれば、半
導体集積回路装置では、CPUが割り込みを受け付けた
場合、割り込みプログラムによる処理が終了すると割り
込み受け付け時に実行していたプログラムの位置に戻る
ために、所定の割り込み情報をメモリ領域である割り込
み情報退避領域に記憶している。また、この割り込み情
報退避領域は、一般にスタック領域を使用している。
導体集積回路装置では、CPUが割り込みを受け付けた
場合、割り込みプログラムによる処理が終了すると割り
込み受け付け時に実行していたプログラムの位置に戻る
ために、所定の割り込み情報をメモリ領域である割り込
み情報退避領域に記憶している。また、この割り込み情
報退避領域は、一般にスタック領域を使用している。
【0003】さらに、この半導体集積回路装置は、割り
込み受け付け時に、一部または全ての割り込み情報をス
タック領域に記憶する方式(以下、この方式のCPUを
従来方式のCPUという)となっている。
込み受け付け時に、一部または全ての割り込み情報をス
タック領域に記憶する方式(以下、この方式のCPUを
従来方式のCPUという)となっている。
【0004】また、従来方式のCPUの場合、本発明者
の検討によれば、マルチタスクオペレーションによるプ
ログラム処理において、割り込みが多重に発生してしま
うと、それぞれの割り込みに対する割り込み情報が1個
のスタック領域に記憶されるので、多重割り込みに対す
る割り込み情報がスタック領域に記憶されてもスタック
領域がオーバーフローしないようにそれぞれのタスク毎
にスタック領域を確保している。
の検討によれば、マルチタスクオペレーションによるプ
ログラム処理において、割り込みが多重に発生してしま
うと、それぞれの割り込みに対する割り込み情報が1個
のスタック領域に記憶されるので、多重割り込みに対す
る割り込み情報がスタック領域に記憶されてもスタック
領域がオーバーフローしないようにそれぞれのタスク毎
にスタック領域を確保している。
【0005】なお、マルチタスクオペレーションを述べ
てある例として、産業図書(株)発行「コンピューター
・アーキテクチャ」昭和56年2月25日発行、山田博
著,P131〜P138がある。
てある例として、産業図書(株)発行「コンピューター
・アーキテクチャ」昭和56年2月25日発行、山田博
著,P131〜P138がある。
【0006】
【発明が解決しようとする課題】ところが、上記のよう
な従来方式のCPUでは、マルチタスクオペレーション
によりプログラム処理を行う場合に、各々のタスク毎に
スタック領域を確保する必要があり、各タスク毎に多重
割り込みに対する割り込み情報がスタック領域に記憶さ
れても、スタックがオーバーフローしないように多量の
スタック領域を各タスク毎に確保する必要が生じ、必要
となるRAM領域が増大してしまい、シングルチップな
ど比較的RAM容量の少ない半導体集積回路装置では、
RAM容量が不足してしまい、プログラムの処理ができ
なくなってしまう。
な従来方式のCPUでは、マルチタスクオペレーション
によりプログラム処理を行う場合に、各々のタスク毎に
スタック領域を確保する必要があり、各タスク毎に多重
割り込みに対する割り込み情報がスタック領域に記憶さ
れても、スタックがオーバーフローしないように多量の
スタック領域を各タスク毎に確保する必要が生じ、必要
となるRAM領域が増大してしまい、シングルチップな
ど比較的RAM容量の少ない半導体集積回路装置では、
RAM容量が不足してしまい、プログラムの処理ができ
なくなってしまう。
【0007】本発明の目的は、マルチタスクオペレーシ
ョンによるプログラム処理において、割り込み受け付け
時に所定の情報を記憶するスタック領域を大幅に削減で
きる半導体集積回路装置を提供することにある。
ョンによるプログラム処理において、割り込み受け付け
時に所定の情報を記憶するスタック領域を大幅に削減で
きる半導体集積回路装置を提供することにある。
【0008】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
以下のとおりである。
発明のうち、代表的なものの概要を簡単に説明すれば、
以下のとおりである。
【0010】すなわち、本発明の半導体集積回路装置
は、マルチタスクオペレーションによりプログラム処理
の割り込み受け付け時に、割り込み発生前の状態を意味
する割り込み情報を記憶する専用の領域である割り込み
退避領域を設けたものである。
は、マルチタスクオペレーションによりプログラム処理
の割り込み受け付け時に、割り込み発生前の状態を意味
する割り込み情報を記憶する専用の領域である割り込み
退避領域を設けたものである。
【0011】
【作用】上記のような構成の半導体集積回路装置によれ
ば、それぞれのタスクに共通の割り込み退避領域を設け
ることにより、全体として必要なRAM容量を大幅に削
減することができる。
ば、それぞれのタスクに共通の割り込み退避領域を設け
ることにより、全体として必要なRAM容量を大幅に削
減することができる。
【0012】それにより、たとえば、8ビットクラスの
シングルチップなどのRAM容量の少ない半導体集積回
路装置であっても内蔵されているRAMだけでマルチタ
スクオペレーションを用いたプログラム処理により半導
体集積回路装置を動作させることができる。
シングルチップなどのRAM容量の少ない半導体集積回
路装置であっても内蔵されているRAMだけでマルチタ
スクオペレーションを用いたプログラム処理により半導
体集積回路装置を動作させることができる。
【0013】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
に説明する。
【0014】図1は、本発明の一実施例による半導体集
積回路装置のレジスタ群およびスタック領域の要部構成
図である。
積回路装置のレジスタ群およびスタック領域の要部構成
図である。
【0015】本実施例において、半導体集積回路装置に
設けられているレジスタ群1は、CPU(図示せず)が
次に実行すべき命令のアドレスを格納しているレジスタ
であるプログラムカウンタPCと、ステータス結果をレ
ジストするレジスタであるステータスレジスタSRと、
プログラム演算に使用されるレジスタである汎用レジス
タR0〜Rnと、スタック領域を指すレジスタであるス
タックポインタSPとにより構成されている。
設けられているレジスタ群1は、CPU(図示せず)が
次に実行すべき命令のアドレスを格納しているレジスタ
であるプログラムカウンタPCと、ステータス結果をレ
ジストするレジスタであるステータスレジスタSRと、
プログラム演算に使用されるレジスタである汎用レジス
タR0〜Rnと、スタック領域を指すレジスタであるス
タックポインタSPとにより構成されている。
【0016】また、CPUに入力されている割り込み処
理プログラムには、割り込み処理プログラムから割り込
み前に実行していたプログラムへ復帰するための専用命
令である割り込み復帰命令が入力されている。
理プログラムには、割り込み処理プログラムから割り込
み前に実行していたプログラムへ復帰するための専用命
令である割り込み復帰命令が入力されている。
【0017】さらに、割り込み退避領域IS1〜ISn
は、割り込み受け付け時のプログラムカウンタPCとス
テータスレジスタSRとの情報を記憶するための領域で
あり、これは各割り込みレベル毎に存在している。
は、割り込み受け付け時のプログラムカウンタPCとス
テータスレジスタSRとの情報を記憶するための領域で
あり、これは各割り込みレベル毎に存在している。
【0018】また、通常のプログラム処理において、ス
タックが必要になった場合は、スタックポインタSPの
指すスタック領域Sが使用され、割り込み退避領域IS
1〜ISnが通常のプログラム処理において使用される
ことはない。
タックが必要になった場合は、スタックポインタSPの
指すスタック領域Sが使用され、割り込み退避領域IS
1〜ISnが通常のプログラム処理において使用される
ことはない。
【0019】なお、割り込みスタック領域IS1〜IS
nには、初期状態で無効を意味するデータが格納され
る。
nには、初期状態で無効を意味するデータが格納され
る。
【0020】次に、本実施例の作用について説明する。
【0021】CPUが割り込みを受け付けると、CPU
は割り込み情報として、割り込み受け付け時のプログラ
ムカウンタPCとステータスレジスタSRとの内容を当
該割り込みレベルに対応した割り込み退避領域ISiに
記憶させる。
は割り込み情報として、割り込み受け付け時のプログラ
ムカウンタPCとステータスレジスタSRとの内容を当
該割り込みレベルに対応した割り込み退避領域ISiに
記憶させる。
【0022】その後、CPUは割り込み処理を行うプロ
グラムである割り込み処理プログラムを実行させる。
グラムである割り込み処理プログラムを実行させる。
【0023】そして、割り込み処理プログラムが終了
し、割り込み前に実行していたプログラムに戻る場合に
は、割り込み処理プログラムにより割り込み復帰命令が
出力される。
し、割り込み前に実行していたプログラムに戻る場合に
は、割り込み処理プログラムにより割り込み復帰命令が
出力される。
【0024】このとき、CPUは、割り込み退避領域I
S1〜ISnの中の有効な情報から最も高い割り込みレ
ベルに対応した割り込み退避領域からの割り込み情報、
即ち、割り込み受け付け時のプログラムカウンタPCと
ステータスレジスタSRとの情報内容を読み出し、それ
ぞれの情報をプログラムカウンタPCとステータスレジ
スタSRとに復元するとともに、読み出した最も高い割
り込みレベルに対応した割り込み退避領域の内容を無効
を意味する内容に更新する。
S1〜ISnの中の有効な情報から最も高い割り込みレ
ベルに対応した割り込み退避領域からの割り込み情報、
即ち、割り込み受け付け時のプログラムカウンタPCと
ステータスレジスタSRとの情報内容を読み出し、それ
ぞれの情報をプログラムカウンタPCとステータスレジ
スタSRとに復元するとともに、読み出した最も高い割
り込みレベルに対応した割り込み退避領域の内容を無効
を意味する内容に更新する。
【0025】これにより、CPUは、割り込み前に実行
していたプログラムの実行を再開する。
していたプログラムの実行を再開する。
【0026】また、上記より、割り込み退避領域IS1
〜ISnには、割り込み発生後、割り込み処理プログラ
ムが完了していない割り込みレベルに対応した割り込み
退避領域IS1〜ISnにだけ有効な情報が格納されて
いることになる。すなわち、これを利用してより柔軟な
割り込み管理が可能となる。
〜ISnには、割り込み発生後、割り込み処理プログラ
ムが完了していない割り込みレベルに対応した割り込み
退避領域IS1〜ISnにだけ有効な情報が格納されて
いることになる。すなわち、これを利用してより柔軟な
割り込み管理が可能となる。
【0027】なお、例外発生時にも、例外処理プログラ
ム終了後に例外発生前の状態に戻るために、プログラム
カウンタPCとステータスレジスタSRとの情報内容を
例外情報として記憶する必要があるが、この場合には、
割り込み退避領域IS1〜ISnとは別の領域である例
外発生時のスタックポインタSPの指すスタック領域S
に記憶させる。
ム終了後に例外発生前の状態に戻るために、プログラム
カウンタPCとステータスレジスタSRとの情報内容を
例外情報として記憶する必要があるが、この場合には、
割り込み退避領域IS1〜ISnとは別の領域である例
外発生時のスタックポインタSPの指すスタック領域S
に記憶させる。
【0028】また、例外処理の受け付け前に実行してい
たプログラムへの復帰方法は、割り込み処理に用いられ
ている割り込み復帰方法とは別の手段を用意する必要が
ある。
たプログラムへの復帰方法は、割り込み処理に用いられ
ている割り込み復帰方法とは別の手段を用意する必要が
ある。
【0029】これは、割り込みと例外とでは、復帰時に
読み出すべきプログラムカウンタSRとステータスレジ
スタSRとの情報を記憶する領域が異なるためである。
読み出すべきプログラムカウンタSRとステータスレジ
スタSRとの情報を記憶する領域が異なるためである。
【0030】例外処理プログラムからの復帰方法として
は、割り込み復帰命令とは別に例外復帰命令を設ける
か、割り込み復帰命令と同一の命令で割り込み処理プロ
グラムからの復帰か例外処理プログラムからの復帰かを
示すパラメータを設けるようにする。
は、割り込み復帰命令とは別に例外復帰命令を設ける
か、割り込み復帰命令と同一の命令で割り込み処理プロ
グラムからの復帰か例外処理プログラムからの復帰かを
示すパラメータを設けるようにする。
【0031】また、割り込み退避領域IS1〜ISnに
関して補足すると、割り込み退避領域IS1〜ISnの
アドレスは、連続していてもそうでなくても、どちらで
もよい。
関して補足すると、割り込み退避領域IS1〜ISnの
アドレスは、連続していてもそうでなくても、どちらで
もよい。
【0032】さらには、プログラムで使用するアドレス
空間とは別の空間でも良い。すなわち、割り込み発生時
に割り込み退避領域IS1〜ISnに割り込み情報を記
憶し、復帰時に割り込み退避領域IS1〜ISnからプ
ログラムカウンタPC,ステータスレジスタSRを復元
できれば良い。
空間とは別の空間でも良い。すなわち、割り込み発生時
に割り込み退避領域IS1〜ISnに割り込み情報を記
憶し、復帰時に割り込み退避領域IS1〜ISnからプ
ログラムカウンタPC,ステータスレジスタSRを復元
できれば良い。
【0033】それにより、本実施例によれば、マルチタ
スクオペレーションによる割り込み受け付け時の情報を
記憶する領域を割り込み退避領域IS1〜ISnとする
ことにより、各タスク毎に確保する必要があった割り込
み情報の退避のための領域を縮小することができ、割り
込み処理に必要なRAMサイズを大幅に削減できる。
スクオペレーションによる割り込み受け付け時の情報を
記憶する領域を割り込み退避領域IS1〜ISnとする
ことにより、各タスク毎に確保する必要があった割り込
み情報の退避のための領域を縮小することができ、割り
込み処理に必要なRAMサイズを大幅に削減できる。
【0034】以上、本発明者によってなされた発明を実
施例に基づき具体的に説明したが、本発明は前記実施例
に限定されるものでなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。
施例に基づき具体的に説明したが、本発明は前記実施例
に限定されるものでなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。
【0035】
【発明の効果】本願によって開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0036】(1)本発明によれば、マルチタスクオペ
レーションによる割り込み受け付け時の情報を記憶する
領域を割り込み退避領域だけにすることにより、割り込
み処理に必要なRAM領域を大幅に削減できる。
レーションによる割り込み受け付け時の情報を記憶する
領域を割り込み退避領域だけにすることにより、割り込
み処理に必要なRAM領域を大幅に削減できる。
【0037】(2)また、本発明では、シングルチップ
などの少ないRAM容量の半導体集積回路装置でもマル
チタスクオペレーションによるプログラム処理を行うこ
とができる。
などの少ないRAM容量の半導体集積回路装置でもマル
チタスクオペレーションによるプログラム処理を行うこ
とができる。
【図1】本発明の一実施例による半導体集積回路装置の
レジスタ群およびスタック領域の要部構成図である。
レジスタ群およびスタック領域の要部構成図である。
1 レジスタ群 PC プログラムカウンタ SR ステータスレジスタ R0〜Rn 汎用レジスタ SP スタックポインタ S スタック領域 IS1〜ISn 割り込み退避領域
Claims (1)
- 【請求項1】 マルチタスクオペレーションによりプロ
グラム処理を行う半導体集積回路装置であって、割り込
み受け付け時に、割り込み発生前の状態を意味する割り
込み情報のみを記憶する専用領域である割り込み退避領
域を設けたことを特徴とする半導体集積回路装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9092494A JPH07295836A (ja) | 1994-04-28 | 1994-04-28 | 半導体集積回路装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9092494A JPH07295836A (ja) | 1994-04-28 | 1994-04-28 | 半導体集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07295836A true JPH07295836A (ja) | 1995-11-10 |
Family
ID=14011988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9092494A Pending JPH07295836A (ja) | 1994-04-28 | 1994-04-28 | 半導体集積回路装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07295836A (ja) |
-
1994
- 1994-04-28 JP JP9092494A patent/JPH07295836A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
US4410939A (en) | System for program interrupt processing with quasi-stack of register-sets | |
US4924382A (en) | Debugging microprocessor capable of switching between emulation and monitor without accessing stack area | |
JPH02267634A (ja) | 割込み処理装置 | |
US20080046697A1 (en) | Data processor | |
JP3970609B2 (ja) | プロセッサシステム | |
EP0349004B1 (en) | Data processor capable of treating interrupt at a high speed | |
JPH0916409A (ja) | マイクロコンピュータ | |
JP4114946B2 (ja) | データ処理装置 | |
JPH07295836A (ja) | 半導体集積回路装置 | |
JPH06230985A (ja) | タスク制御回路、及びマイクロプロセッサ | |
JP3539984B2 (ja) | プロセッサ | |
JPH056281A (ja) | 情報処理装置 | |
JPS60195646A (ja) | デ−タ処理装置 | |
US5675776A (en) | Data processor using FIFO memories for routing operations to parallel operational units | |
JP2671160B2 (ja) | 例外処理方式 | |
JPS6097440A (ja) | 仮想多重プロセツサ装置 | |
JPH0377137A (ja) | 情報処理装置 | |
JP3469753B2 (ja) | プロセッサの戻り番地読み出し制御方法及びプロセッサ | |
JP2008015638A (ja) | データ処理装置 | |
EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
JPH0333934A (ja) | レジスタ退避復帰方式 | |
JP3900660B2 (ja) | シーケンスコントローラ | |
JPH02183342A (ja) | 割込み制御装置 | |
JP2000029721A (ja) | マイクロコンピュータ |