JP3013725B2 - 割込み処理からの復帰方法 - Google Patents

割込み処理からの復帰方法

Info

Publication number
JP3013725B2
JP3013725B2 JP6308694A JP30869494A JP3013725B2 JP 3013725 B2 JP3013725 B2 JP 3013725B2 JP 6308694 A JP6308694 A JP 6308694A JP 30869494 A JP30869494 A JP 30869494A JP 3013725 B2 JP3013725 B2 JP 3013725B2
Authority
JP
Japan
Prior art keywords
stack
instruction
address
return
interrupt
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
JP6308694A
Other languages
English (en)
Other versions
JPH08166887A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP6308694A priority Critical patent/JP3013725B2/ja
Publication of JPH08166887A publication Critical patent/JPH08166887A/ja
Application granted granted Critical
Publication of JP3013725B2 publication Critical patent/JP3013725B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサの割込み処理
からの復帰の方法に関するものである。
【0002】
【従来の技術】以下、従来のプロセッサの割込み制御方
式について説明する。通常、プロセッサが処理の実行中
に優先度の高い割込み要求が発生すると、この処理を中
断して処理の再開に必要な情報として内部レジスタに格
納しているプログラム番地、命令、状態情報、データな
どが、スタックポインタの指すスタックなどのメモリに
退避される。そして、この割込み処理が終了すると、ス
タックに退避していたデータが内部レジスタに復帰され
て、処理が再開される。通常、処理の再開にはプログラ
ム番地と状態情報が不可欠な情報となる。また、サブル
ーチンを処理するときも、内部レジスタの情報をスタッ
クに退避するが、サブルーチンから復帰するときはプロ
グラム番地だけが不可欠な情報となる。
【0003】図3は、従来のプロセッサの内部レジスタ
の待避と復帰を示した構成図である。プログラムカウン
タ(以下PCと略す)40はプログラムの番地を格納す
るレジスタで、SF41は状態情報を格納するレジスタ
で、SP42はスタック43の番地を格納するレジスタ
である。スタック43は、内部レジスタの退避用に使わ
れるメモリである。
【0004】図は、サブルーチン処理と割込み処理を
する場合のフローチャートであり、以下に図と図
用いてそれらの処理を説明する。
【0005】プロセッサがCALL命令80を実行する
と、SP42がインクリメント81され、PC40すな
わちサブルーチンからの戻り番地がスタック43に退避
82され、PC40にサブルーチンプログラムの番地A
DDRAが設定83される。サブルーチン処理84を終
え、RETA命令85を実行すると、スタック43から
PC40が復帰86され、SP42がデクリメント87
され、もとのプログラムに戻る。
【0006】次に割込みが発生し、これを受け付ける8
8と、SP42がインクリメント89され、PC40す
なわち割込み処理からの戻り番地がスタック43に退避
90され、SP42がインクリメント91され、SF4
1がスタック43に退避92され、PC40に割込みプ
ログラムの番地ADDRBが設定93される。割込み処
理94を終え、RETB命令95を実行すると、スタッ
ク43からSF41が復帰96され、SP42がデクリ
メント97され、スタック43からPC40が復帰98
され、SP42がデクリメント99され、もとのプログ
ラムに戻り、プログラムを再開100する。例えば、特
開平3ー59727号公報、あるいは特開平5ー250
161号公報参照。
【0007】
【発明が解決しようとする課題】しかしながら、上記の
ような方式ではPC40の格納に1番地、SF41の格
納に1番地使用するので、プログラム番地や状態情報の
データ幅が1ワードのデータ幅より小さいときには、ス
タックのメモリ使用効率が悪い。
【0008】また、復帰するときの命令として、サブル
ーチンからの復帰命令(RETA)と割込み処理からの
復帰命令(RETB)の2命令を用意するか、状態フラ
グ41の復帰命令とPC40の復帰命令の2命令を順次
実行しなければならない。
【0009】本発明は上記従来の欠点に鑑み、スタック
メモリの使用効率を上げると同時に、割込み処理からの
復帰とサブルーチンからの復帰を共通の命令で実行可能
なプロセッサの割込み処理からの復帰方法を提供するこ
とを目的とする。
【0010】
【0011】
【課題を解決するための手段】本発明は、割り込み処理
機能を備え、スタックポインタによるメモリへのレジス
タ退避方式のプロセッサにおいて、割込みが発生したと
きに、スタックポインタの値を第1方向から変動してか
ら、割込まれたプログラムへの戻り番地と状態情報をま
とめて1ワードとし、スタックポインタの指すメモリに
格納するステップと、ディレイ付き復帰命令のときに、
戻り番地を復帰し、次のディレイスロットにある命令の
実行が終了してからスタックポインタの値を前記第1方
向と逆の第2方向に変動させる制御をし、スタックポイ
ンタの指すメモリからレジスタへの転送命令をディレイ
スロットに置くことにより、状態情報を復帰するステッ
プとを備えたものである。
【0012】
【0013】
【作用】本発明は、戻り番地と、状態情報をまとめてス
タックポイントの指す番地のメモリに格納する。したが
って、スタックとしてのメモリを効率的に使用できる。
また、割込み処理からの復帰を実行するときは、割り込
み処理で状態情報が変化してしまうようなプログラムに
なっているときに、あらかじめディレイ付き復帰命令の
ディレイスロットにスタックポインタの指す番地のデー
タを状態情報を格納するレジスタに転送する命令を置
くことにより、状態情報が復帰されるので、割込みから
の復帰命令とサブルーチンからの復帰命令を共通化で
き、しかもディレイスロットを利用することによって、
処理ステップの増加も少ない。
【0014】
【0015】
【実施例】以下、本発明の一実施例の割込みからの復帰
方式を適用したパイプライン方式のプロセッサについ
て、図面を参照しながら説明する。
【0016】図1は本実施例のプロセッサの内部レジス
タの退避と復帰を示す構成図である。PC10はプログ
ラムの番地を格納するレジスタで、SF11は状態情報
を格納するレジスタで、SP12はスタック13の番地
を格納するレジスタである。スタック13は内部レジス
タなどの退避用に使用するメモリで、1ワードにPC1
0とSF11をまとめて格納できるだけの幅を備えてい
る。
【0017】図2は同実施例のサブルーチン処理と割込
み処理の場合のフローチャートである。次に、かかるプ
ロセッサの動作について、図1,図2を用いて説明す
る。
【0018】CALL命令21を実行すると、SP12
がインクリメント22され、PC10すなわちサブルー
チンからの戻り番地がスタックに退避23され、PC1
0にサブルーチンプログラムの番地ADDRAが設定2
4される。サブルーチン処理25を終え、RET命令2
6を実行すると、スタック13からPC10が復帰27
され、次のディレイスロットにある命令の実行28後、
SP12がデクリメント29され、もとのプログラムに
戻る。
【0019】次に割込みが発生し、これを受け付ける3
0と、SP12がインクリメント31され、PC10す
なわち割込み処理からの戻り番地とSF11が1ワード
にまとめられてスタック13に退避32され、PC10
に割込みプログラムの番地ADDRBが設定33され
る。割込み処理34を終え、RET命令35を実行する
と、スタック13からPC10が復帰36され、次のデ
ィレイスロットにある命令の実行37後、SP12がデ
クリメント38される。このディレイスロットにスタッ
ク13からSF11への転送命令37を置くことによっ
てスタックからSFが復帰37され、プログラムが再開
39される。
【0020】以上のように本実施例によれば、プログラ
ムの番地と状態フラグがまとめてスタックメモリ13の
同じ番地に格納されるので、スタックとしてのメモリ使
用効率が上がり、またサブルーチン処理からの復帰と割
込み処理からの復帰のときに、共通にRET命令を使う
ことができ、特に割込み処理からの復帰のときにはSF
11を復帰する命令をディレイスロットに置くことがで
きるので、ディレイスロットを有効に利用できる。
【0021】なお、本実施例では退避のときにSPをイ
ンクリメントし、復帰のときにSPをデクリメントした
が、退避のときにSPをデクリメントし、復帰のときに
SPをインクリメントしてもよい。
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【発明の効果】以上のように発明を適用したプロセッ
サは、割込みを受け付ると、プログラムの番地と状態フ
ラグがまとめてスタックメモリの同じ番地に格納される
ことにより、スタックとしてのメモリの使用効率が上げ
られる。また、ディレイ付き復帰命令を実行するとき
に、戻り番地が復帰され、次のディレイスロットにある
命令の実行が終了してからスタックポインタの値が更新
されるので、スタックポインタの指すメモリからレジス
タへの転送命令を前記ディレイスロットに置くことによ
り状態情報が復帰される。したがって、サブルーチンか
らの復帰命令と割込みからの復帰命令を共通化でき、命
令数を減らすことができる。命令数が減れば命令のデコ
ード回路が簡素化され、動作周波数を上げることができ
【0029】
【図面の簡単な説明】
【図1】本発明の一実施例におけるプロセッサの内部レ
ジスタの退避と復帰を示す構成図
【図2】同実施例のサブルーチン処理と割込み処理の場
合のフローチャート
【図3】従来のプロセッサの内部レジスタの退避と復帰
を示す構成図
【図4】従来のサブルーチン処理と割込み処理の場合の
フローチャート
【符号の説明】
10 プログラムの番地を格納しているレジスタPC 11 状態情報を格納しているレジスタSF 12 スタックの番地を格納しているレジスタSP 13 スタックに使われているメモリ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−232726(JP,A) 特開 平5−341996(JP,A) 特開 平1−72238(JP,A) 特公 昭51−37742(JP,B1) bit、VOL.22、NO.12(1990 年12月、共立出版株式会社)、P.74− 79 (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 9/40 G06F 9/42 G06F 9/38

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】割込み処理機能を備え、スタックポインタ
    によるメモリへのレジスタ退避方式のプロセッサにおい
    て、割込みを受け付けたときに、スタックポインタの値
    を第1方向に変動してから、割込まれたプログラムへの
    戻り番地と状態情報をまとめて1ワードとし、スタック
    ポインタの指すメモリに格納するステップと、ディレイ
    付き復帰命令を実行するときに、前記戻り番地を復帰
    し、次のディレイスロットにある命令の実行が終了して
    から前記スタックポインタの値を前記第1方向と逆の第
    2方向に変動させる制御をし、前記スタックポインタの
    指すメモリからレジスタへの転送命令を前記ディレイス
    ロットに置くことにより、前記状態情報を復帰するステ
    ップとを備えた割込み処理からの復帰方法。
  2. 【請求項2】前記第1方向の変動を増加方向とすること
    を特徴とする請求項1記載の割込み処理からの復帰方
    法。
  3. 【請求項3】前記第1方向の変動を減少方向とすること
    を特徴とする請求項1記載の割込み処理からの復帰方
    法。
JP6308694A 1994-12-13 1994-12-13 割込み処理からの復帰方法 Expired - Fee Related JP3013725B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6308694A JP3013725B2 (ja) 1994-12-13 1994-12-13 割込み処理からの復帰方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6308694A JP3013725B2 (ja) 1994-12-13 1994-12-13 割込み処理からの復帰方法

Publications (2)

Publication Number Publication Date
JPH08166887A JPH08166887A (ja) 1996-06-25
JP3013725B2 true JP3013725B2 (ja) 2000-02-28

Family

ID=17984164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6308694A Expired - Fee Related JP3013725B2 (ja) 1994-12-13 1994-12-13 割込み処理からの復帰方法

Country Status (1)

Country Link
JP (1) JP3013725B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040003302A (ko) * 2002-07-02 2004-01-13 주식회사 하이닉스반도체 인터럽트 제어 장치 및 방법
US7401210B2 (en) * 2005-03-30 2008-07-15 Arm Limited Selecting subroutine return mechanisms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
bit、VOL.22、NO.12(1990年12月、共立出版株式会社)、P.74−79

Also Published As

Publication number Publication date
JPH08166887A (ja) 1996-06-25

Similar Documents

Publication Publication Date Title
JP2883784B2 (ja) マイクロコンピュータ
US5659759A (en) Data processing device having improved interrupt controller to process interrupts of different priority levels
EP0217168B1 (en) Method for processing address translation exceptions in a virtual memory system
JP3970609B2 (ja) プロセッサシステム
JP3013725B2 (ja) 割込み処理からの復帰方法
JPH09128267A (ja) データ処理装置およびデータ処理方法
US5790872A (en) Interrupt control handler for a RISC-type microprocessor
JP2671160B2 (ja) 例外処理方式
JP2723847B2 (ja) マイクロプロセッサ
JP2000029690A (ja) デ―タ処理の方法および装置
JPH11167494A (ja) 演算処理装置、及び演算処理装置のレジスタ管理方法
US5778207A (en) Assisting operating-system interrupts using application-based processing
JP2513142B2 (ja) プログラムのシミュレ―タ装置
JP2582294B2 (ja) モジュール間結合実行制御方式
JPH11134202A (ja) タスク切替え装置
JPS6149695B2 (ja)
JPS6156816B2 (ja)
JP2679603B2 (ja) マイクロコンピュータ
JPH04205144A (ja) マイクロプロセッサ
US20020078286A1 (en) Computer and control method of the computer
JPH07295836A (ja) 半導体集積回路装置
JP2002196938A (ja) 例外処理フロー用の装置及びその処理実行方法
JPH04264625A (ja) レジスタ管理方式
JP2000035875A (ja) レジスタのダイナミックレンジを拡大する方法と装置
JPH04155532A (ja) タスク切替方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees