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

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

Info

Publication number
JPH08166887A
JPH08166887A JP6308694A JP30869494A JPH08166887A JP H08166887 A JPH08166887 A JP H08166887A JP 6308694 A JP6308694 A JP 6308694A JP 30869494 A JP30869494 A JP 30869494A JP H08166887 A JPH08166887 A JP H08166887A
Authority
JP
Japan
Prior art keywords
interrupt processing
instruction
stack pointer
interrupt
return
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
JP6308694A
Other languages
English (en)
Other versions
JP3013725B2 (ja
Inventor
Hiroyuki Yasojima
広至 八十島
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
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

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

Abstract

(57)【要約】 【目的】 割込み処理において効率的にスタックのメモ
リ領域を使用し、命令数の少ないプロセッサの処理速度
を犠牲にすることない割込み処理からの復帰方法を提供
する。 【構成】 割込み処理機能を備え、スタックポインタに
よるメモリへのレジスタ退避方式のプロセッサにおい
て、割込みを受け付けると、スタックポインタ12の値
を増加し、割込まれたプログラムへの戻り番地10と状
態情報11をまとめて1ワードとし、スタックポインタ
12の指すメモリ13に格納し、ディレイ付き復帰命令
を実行すると、戻り番地10を復帰し、次のディレイス
ロットにある命令の実行が終了してからスタックポイン
タ12の値を減少させ、スタックポインタ12の指すメ
モリ13からレジスタへの転送命令をディレイスロット
に置くことにより状態情報11を復帰する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサの割込み処理
からの復帰の方法に関するものである。
【0002】
【従来の技術】以下、従来のプロセッサの割込み制御方
式について説明する。通常、プロセッサが処理の実行中
に優先度の高い割込み要求が発生すると、この処理を中
断して処理の再開に必要な情報として内部レジスタに格
納しているプログラム番地、命令、状態情報、データな
どが、スタックポインタの指すスタックなどのメモリに
退避される。そして、この割込み処理が終了すると、ス
タックに退避していたデータが内部レジスタに復帰され
て、処理が再開される。通常、処理の再開にはプログラ
ム番地と状態情報が不可欠な情報となる。また、サブル
ーチンを処理するときも、内部レジスタの情報をスタッ
クに退避するが、サブルーチンから復帰するときはプロ
グラム番地だけが不可欠な情報となる。
【0003】図5は従来のプロセッサの内部レジスタの
待避と復帰を示した構成図である。プログラムカウンタ
(以下PCと略す)40はプログラムの番地を格納する
レジスタで、SF41は状態情報を格納するレジスタ
で、SP42はスタック43の番地を格納するレジスタ
である。スタック43は、内部レジスタの退避用に使わ
れるメモリである。
【0004】図6は、サブルーチン処理と割込み処理を
する場合のフローチャートであり、以下に図5,図6を
用いてそれらの処理を説明する。
【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ワードとし、スタックポインタの指すメモ
リに格納するステップと、ディレイ付き復帰命令のとき
に、戻り番地を復帰し、次のディレイスロットにある命
令の実行が終了してからスタックポインタの値を前記第
1方向と逆の第2方向に変動させる制御をし、スタック
ポインタの指すメモリからレジスタへの転送命令をディ
レイスロットに置くことにより、状態情報を復帰するス
テップとを備えたものである。
【0012】また第2の発明の割込み処理からの復帰方
法は、割込み処理機能を備えるプロセッサにおいて、割
込み処理中か処理中ではないかを示すフラグを備え、復
帰命令の実行のときに、割込まれたプログラムへの戻り
番地を復帰すると同時に前記フラグが割込み処理中を示
しているときには、状態情報も復帰することを特徴とす
るものである。
【0013】
【作用】第1の発明の割込み処理からの復帰方法は、戻
り番地と、状態情報をまとめてスタックポインタの指す
番地のメモリに格納する。したがって、スタックとして
のメモリを効率的に使用できる。また、割込み処理から
の復帰を実行するときは、割込み処理で状態情報が変化
してしまうようなプログラムになっているときに、あら
かじめディレイ付き復帰命令のディレイスロットにスタ
ックポインタの指す番地のデータを状態情報を格納する
レジスタに転送する命令を置くことにより、状態情報が
復帰されるので、割込みからの復帰命令とサブルーチン
からの復帰命令を共通化でき、しかもディレイスロット
を利用することによって、処理ステップの増加も少な
い。
【0014】また第2の発明の割込み処理からの復帰方
法は、割込み処理中フラグによってサブルーチン処理か
らの復帰か割込み処理からの復帰かを自動的に判断して
状態情報の復帰を決定するので、割込み処理からの復帰
は、割込まれたプログラムへの戻り番地と状態情報を同
時に復帰させることができ、サブルーチン処理からの復
帰と割込み処理からの復帰のときに、共通にRET命令
を使うことができる。
【0015】
【実施例】
(実施例1)以下、本発明の第1の実施例の割込みから
の復帰方式を適用したパイプライン方式のプロセッサに
ついて、図面を参照しながら説明する。
【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】(実施例2)本発明の第2の実施例とし
て、割込み処理中であることを示すフラグを備えたプロ
セッサについて説明する。本実施例はデータパス系は第
1の実施例で示した図1の構成を用い、制御系は図3に
示す構成を採用したものである。
【0023】図3は本実施例の制御系の構成を示した図
である。割込み処理中フラグ50は、プロセッサが割込
み処理中であるか、処理中でないかを示すフラグであ
る。命令デコーダ52は、割込み処理中フラグ50と命
令51を入力とし、PC復帰信号53,SF復帰信号5
4,プロセッサの各種内部ブロックの制御信号55を生
成する。
【0024】次に、かかるプロセッサの動作について説
明する。RET命令が命令デコーダ52に入力される
と、PC復帰信号53がアクティブになり、PCが復帰
され、同時に割込み処理中フラグ50から処理中である
ことが入力されると、SF復帰信号54がアクティブに
なり、SFが復帰される。
【0025】サブルーチン処理と割込み処理をする場合
について図4によって説明する。CALL命令60を実
行すると、PCすなわちサブルーチンからの戻り番地が
退避61され、PCにサブルーチンプログラムの番地A
DDRAが設定62される。サブルーチン処理63を終
え、RET命令64を実行すると、割込み処理中フラグ
が処理中ではないことを示している(フラグ=0)73
ので、PCが復帰65され、もとのプログラムの処理に
戻る。
【0026】割込みが発生し、これを受け付ける66
と、PCすなわち割込み処理ルーチンからの戻り番地と
FSつまり状態情報が退避67され、PCに割込みプロ
グラムの番地ADDRBが設定68される。割込み処理
69を終え、RET命令70を実行すると、割込み処理
中フラグが処理中であることを示している(フラグ=
1)74ので、PCとSFが復帰71され、もとのプロ
グラムが再開72される。
【0027】以上のように本実施例によれば、第1の実
施例と同様、プログラムの番地と状態フラグがまとめて
スタックメモリ13の同じ番地に格納されるので、スタ
ックとしてのメモリ使用効率が上がる。命令デコーダ部
52で、割込み処理中フラグ50によってサブルーチン
処理からの復帰か割込み処理からの復帰かを自動的に判
断してSF11の復帰を決定するので、割込み処理から
の復帰は、PC10とSF11を同時に復帰させること
ができ、サブルーチン処理からの復帰と割込み処理から
の復帰のときに、共通にRET命令を使うことができ
る。
【0028】
【発明の効果】以上のように第1の発明の割込み処理か
らの復帰方法によれば、本発明を適用したプロセッサ
は、割込みを受け付ると、プログラムの番地と状態フラ
グがまとめてスタックメモリの同じ番地に格納されるこ
とにより、スタックとしてのメモリの使用効率を上げら
れる。また、ディレイ付き復帰命令を実行するときに、
戻り番地が復帰され、次のディレイスロットにある命令
の実行が終了してからスタックポインタの値が更新され
るので、スタックポインタの指すメモリからレジスタへ
の転送命令を前記ディレイスロットに置くことにより状
態情報が復帰される。したがって、サブルーチンからの
復帰命令と割込みからの復帰命令を共通化でき、命令数
を減らすことができる。命令数が減れば命令のデコード
回路が簡素化され、動作周波数を上げることができる。
【0029】また第2の発明の割込み処理からの復帰方
法によれば、割込み処理中フラグによってサブルーチン
処理からの復帰か割込み処理からの復帰かを自動的に判
断して状態情報の復帰を決定するので、割込み処理から
の復帰は、割込まれたプログラムへの戻り番地と状態情
報を同時に復帰させることができ、サブルーチン処理か
らの復帰と割込み処理からの復帰のときに、共通にRE
T命令を使うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のプロセッサの内部レジ
スタの退避と復帰を示す構成図
【図2】同実施例のサブルーチン処理と割込み処理の場
合のフローチャート
【図3】本発明の第2の実施例の制御系の構成図
【図4】同実施例のサブルーチン処理と割込み処理の場
合のフローチャート
【図5】従来のプロセッサの内部レジスタの退避と復帰
を示す構成図
【図6】従来のサブルーチン処理と割込み処理の場合の
フローチャート
【符号の説明】
10 プログラムの番地を格納しているレジスタPC 11 状態情報を格納しているレジスタSF 12 スタックの番地を格納しているレジスタSP 13 スタックに使われているメモリ 50 プロセッサが割込み処理中であることを示すフラ
グ 51 命令のデコーダ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】割込み処理機能を備え、スタックポインタ
    によるメモリへのレジスタ退避方式のプロセッサにおい
    て、割込みを受け付けたときに、スタックポインタの値
    を第1方向に変動してから、割込まれたプログラムへの
    戻り番地と状態情報をまとめて1ワードとし、スタック
    ポインタの指すメモリに格納するステップと、ディレイ
    付き復帰命令を実行するときに、前記戻り番地を復帰
    し、次のディレイスロットにある命令の実行が終了して
    から前記スタックポインタの値を前記第1方向と逆の第
    2方向に変動させる制御をし、前記スタックポインタの
    指すメモリからレジスタへの転送命令を前記ディレイス
    ロットに置くことにより、前記状態情報を復帰するステ
    ップとを備えた割込み処理からの復帰方法。
  2. 【請求項2】前記第1方向の変動を増加方向とすること
    を特徴とする請求項1記載の割込み処理からの復帰方
    法。
  3. 【請求項3】前記第1方向の変動を減少方向とすること
    を特徴とする請求項1記載の割込み処理からの復帰方
    法。
  4. 【請求項4】割込み処理機能を備えるプロセッサにおい
    て、割込み処理中か処理中ではないかを示すフラグを備
    え、復帰命令の実行のときに、割込まれたプログラムへ
    の戻り番地を復帰すると同時に前記フラグが割込み処理
    中を示しているときには、状態情報も復帰することを特
    徴とする割込み処理からの復帰方法。
  5. 【請求項5】割込みを受け付けたときに、スタックポイ
    ンタの値を変動してから、割込まれたプログラムへの戻
    り番地と状態情報をまとめて1ワードとし、スタックポ
    インタの指すメモリに格納するステップを有することを
    特徴とする請求項4記載の割込み処理からの復帰方法。
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 true JPH08166887A (ja) 1996-06-25
JP3013725B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040003302A (ko) * 2002-07-02 2004-01-13 주식회사 하이닉스반도체 인터럽트 제어 장치 및 방법
JP2008535072A (ja) * 2005-03-30 2008-08-28 アーム・リミテッド 選択的サブルーチンリターン構造

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040003302A (ko) * 2002-07-02 2004-01-13 주식회사 하이닉스반도체 인터럽트 제어 장치 및 방법
JP2008535072A (ja) * 2005-03-30 2008-08-28 アーム・リミテッド 選択的サブルーチンリターン構造
JP4703718B2 (ja) * 2005-03-30 2011-06-15 アーム・リミテッド 選択的サブルーチンリターン構造
KR101249693B1 (ko) * 2005-03-30 2013-04-05 에이알엠 리미티드 서브루틴 복귀 메카니즘 선택

Also Published As

Publication number Publication date
JP3013725B2 (ja) 2000-02-28

Similar Documents

Publication Publication Date Title
KR100812346B1 (ko) 재구성 어레이에서의 인터럽트 처리 방법 및 장치
JP2883784B2 (ja) マイクロコンピュータ
JPH09212371A (ja) レジスタ退避及び復元システム
KR100663709B1 (ko) 재구성 아키텍처에서의 예외 처리 방법 및 장치
JP3970609B2 (ja) プロセッサシステム
JPH08166887A (ja) 割込み処理からの復帰方法
JPH07219766A (ja) 演算処理装置
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JP2723847B2 (ja) マイクロプロセッサ
JPH11167494A (ja) 演算処理装置、及び演算処理装置のレジスタ管理方法
JPS59144955A (ja) 情報処理装置
JPH05143367A (ja) マイクロコンピユータ
JPH11134202A (ja) タスク切替え装置
JPH05250161A (ja) マイクロコンピュータ装置
JPH04264625A (ja) レジスタ管理方式
JPH05224953A (ja) 割込み制御装置及び方法
JPH06295252A (ja) 計算機
JP2002196938A (ja) 例外処理フロー用の装置及びその処理実行方法
JPH04155532A (ja) タスク切替方式
JPH04256027A (ja) マイクロコンピュータ
JPH05120014A (ja) マイクロコンピユータ
JPH0520101A (ja) 演算レジスタ情報監視方式
JPH0325674A (ja) 情報処理装置
JPH05313916A (ja) 電子計算機における割込み処理方法及び電子計算機
JPS6349941A (ja) 演算処理装置

Legal Events

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