JP2001134448A - 情報処理装置及び割込み処理方法 - Google Patents

情報処理装置及び割込み処理方法

Info

Publication number
JP2001134448A
JP2001134448A JP31674699A JP31674699A JP2001134448A JP 2001134448 A JP2001134448 A JP 2001134448A JP 31674699 A JP31674699 A JP 31674699A JP 31674699 A JP31674699 A JP 31674699A JP 2001134448 A JP2001134448 A JP 2001134448A
Authority
JP
Japan
Prior art keywords
instruction
interrupt
information
accept
generating
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
JP31674699A
Other languages
English (en)
Inventor
Yasunori Yamamoto
泰宜 山本
Tetsuya Tanaka
哲也 田中
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 JP31674699A priority Critical patent/JP2001134448A/ja
Publication of JP2001134448A publication Critical patent/JP2001134448A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 毎サイクル割込みを監視することにより、割
込み発生時に命令によってさまざまな種類の資源退避の
可能性が考えられ、全ての可能性を網羅するためには、
多くのテンポラリーのローカルレジスタを必要とする。 【解決手段】 割込みを許可するという情報を持った命
令を、プロセッサがデコードした場合にのみ割込みを受
け付け、ローカルレジスタの更新を止める制御を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、割込み発生時に、
毎サイクルごとに割込み要求があるか否かを監視して、
どの命令でも割込みを受け付けることにより発生する資
源退避などによる性能劣化を回避する情報処理装置及び
割込み処理方法に関する。
【0002】
【従来の技術】割込み技術は、イベントに対するリアル
タイムな応答を行うために、入出力装置からのリクエス
トやインターバル・タイマー割込みなど今日種々の用途
に用いられている。CPUにおける基本的な割込み制御
には、割込みを受け付ける状態と割込みを受け付けない
状態が存在する。通常、割込みを受け付ける状態であっ
ても各割込み毎に、予め状態レジスタに設定されたマス
クビットにより、割込みを許可しないことも可能であ
る。また、CPUが割込みを受け付ける状態か割込みを
禁止するかの状態を選択する場合も状態制御レジスタの
書きこみを経由して制御を行ってきた。したがって、あ
るプロセスの実行中に割込み要求があった場合、そのプ
ロセスが割込みを受け付け得る状態であって、かつ割込
み要求信号がマスクされていない時に割込みが発生す
る。
【0003】
【発明が解決しようとする課題】しかし多くの場合、ど
の命令に対しても割込みは受け付けられるものとして、
毎サイクルごとに割込み要求を監視している。このた
め、割込み発生時に、命令によってさまざまな資源の退
避の可能性が考えられ、全ての要求を満たすようにする
ためにテンポラリーのローカルレジスタを多数用意する
必要がある。本発明の目的は、実質的に数マイクロ秒以
上のオーダーで発生する割込みに対して、ある特定の命
令がデコードされた場合以外には割込みは受け付けない
状態をつくり出す一連の制御を、状態制御レジスタを介
することなくある特定の命令をデコードすると直接、割
込みを許可するか否かの状態を決定する制御信号をつく
り出し、割込み制御を行うことにある。
【0004】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の情報処理装置は、割込みを受け付け
るか否かの情報を持つ命令を解読する手段と、前記解読
手段により得られた情報で割込みを受け付けるか否かを
制御する割込み制御手段とを備えることを特長とする。
請求項2記載の情報処理装置は、請求項1記載の情報処
理装置において、割込みを受け付けるか否かの情報を持
つ命令を生成する命令生成装置を具備することを特長と
する。請求項3記載の情報処理装置は、請求項2記載の
情報処理装置において、割込みを受け付けるか否かの情
報を持った命令を、プログラム上に一定の間隔に配置す
るように生成する手段を前記命令生成装置に設けること
を特長とする。請求項4記載の情報処理装置は、請求項
2記載の情報処理装置において、割込みを受け付けるか
否かの情報を持った命令を、プログラム上の一定の命令
数毎に配置するように生成する手段を前記命令生成装置
に設けることを特長とする。請求項5記載の情報処理装
置は、請求項2記載の情報処理装置において、割込みを
受け付けるか否かの情報を持った命令を、プログラム上
の一定のアドレス毎に配置するように生成する手段を前
記命令生成装置に設けることを特長とする。請求項6記
載の情報処理装置は、請求項2記載の情報処理装置にお
いて、割込みを受け付けるか否かの情報を持った命令
を、プログラム上の特定命令を基準とした位置に配置す
るように生成する手段を前記命令生成装置に設けること
を特長とする。請求項7記載の情報処理装置は、請求項
2記載の情報処理装置において、割込みを受け付けるか
否かの情報を持った命令を、時間的に一定の間隔に配置
するように生成する手段を前記命令生成装置に設けるこ
とを特長とする。請求項8記載の情報処理装置は、請求
項7記載の情報処理装置において、割込みを受け付ける
か否かの情報を持った命令を、ロード・ストア命令の近
傍に配置するように生成する手段を前記命令生成装置に
設けることを特長とする。請求項9記載の割込み処理方
法は、割込みを受け付けるか否かの情報を持つ命令を解
読するステップと、前記解読ステップにより得られた情
報で割込みを受け付けるか否かを制御する割込み制御ス
テップとを備えることを特長とする。請求項10記載の
割込み処理方法は、請求項9記載の割込み処理方法にお
いて、割込みを受け付けるか否かの情報を持つ命令を生
成する命令生成ステップを具備することを特長とする。
請求項11記載の割込み処理方法は、請求項10記載の
割込み処理方法において、割込みを受け付けるか否かの
情報を持った命令を、プログラム上に一定の間隔に配置
するように生成するステップを前記命令生成装置に設け
ることを特長とする。請求項12記載の割込み処理方法
は、請求項10記載の割込み処理方法において、割込み
を受け付けるか否かの情報を持った命令を、プログラム
上の一定の命令数毎に配置するように生成するステップ
を前記命令生成装置に設けることを特長とする。請求項
13記載の割込み処理方法は、請求項10記載の割込み
処理方法において、割込みを受け付けるか否かの情報を
持った命令を、プログラム上の一定のアドレス毎に配置
するように生成するステップを前記命令生成装置に設け
ることを特長とする。請求項14記載の割込み処理方法
は、請求項10記載の割込み処理方法において、割込み
を受け付けるか否かの情報を持った命令を、プログラム
上の特定命令を基準とした位置に配置するように生成す
るステップを前記命令生成装置に設けることを特長とす
る。請求項15記載の割込み処理方法は、請求項10記
載の割込み処理方法において、割込みを受け付けるか否
かの情報を持った命令を、時間的に一定の間隔に配置す
るように生成するステップを前記命令生成装置に設ける
ことを特長とする。請求項16記載の割込み処理方法
は、請求項15記載の割込み処理方法において、割込み
を受け付けるか否かの情報を持った命令を、ロード・ス
トア命令の近傍に配置するように生成するステップを前
記命令生成装置に設けることを特長とする。請求項17
記載の記録媒体は、請求項2記載の命令生成装置により
得られた命令列を記憶することを特長とする。上記の情
報処理装置及び割込み処理方法を用いることで、実質的
に数マイクロ秒以上のオーダーで発生する割込みに対し
て、毎サイクル割込み要求を監視することなく、数百命
令〜数千命令毎に、配置された割込みを受け付けるか否
かの情報を持つ命令をデコードした場合にのみ、退避資
源を極力抑えるような制御を行い、割込み制御の簡略化
を実現する。
【0005】
【発明の実施の形態】以下、本発明の実施形態について
図1〜図7を用いて説明する。
【0006】(第1の実施の形態)図1は、本発明の第一
の実施形態に係る命令生成装置の処理の流れを示したフ
ローチャートである。ユーザーの記述したソースプログ
ラムを翻訳し図3のような機械語命令列が得られた(ス
テップ1)とする。ここで図3中に用いられた機械語命
令の意味は以下の通りである。 ADD src,dst :dst+srcの値をdstに転送する SUB src,dst :dst-srcの値をdstに転送する JMP label :labelに分岐する BEQ label :条件成立時にもにlabelに分岐する MOV src,dst :srcをdstに転送する CMP src,dst :dst-dstの結果をフラグに反映する また、以後の処理で用いられる、割込みを許可するとい
う情報を持った機械語命令として以下もここで定義して
おく。 INT_PERMIT :デコード時に割込み許可の情報をプロセッサに与える 命令生成装置が、図3で得られた機械語命令列のどの位
置にINT_PERMITを配置するかという問題は、すなわちプ
ロセッサがどのポイントで割込みを許可するかというこ
とであるので次のような考えをもとに前記INT_PERMITを
配置する。
【0007】まず、プロセッサは毎命令ごとに割込みを
受け付けるのでなく、ある間隔毎に適度に受け付ければ
よい。そこで一般に、プログラム中には、比較的頻繁に
分岐命令が現れることから分岐命令のあとに割込みを受
け付けるとする。しかし、ある分岐命令と次に現れる分
岐命令の間隔が空きすぎている場合があると割込みを受
け付けない期間が長くなるので、割込みを受け付けた命
令から、例えば100命令の間に分岐命令が全くなけれ
ば、100命令後の命令に割込みを受け付けさせる。ま
た、ロード・ストア命令でキャッシュミスを起した場合
には、命令実行完了まで長時間待たされる可能性があ
る。そこで、ロード・ストア命令の直後には、必ず割込
みを受け付けるとする。さらに、ユーザーのプログラミ
ングの際のミスなどで無限ループに陥るケースも考えら
れる。このような場合でも、割込みを受け付けるポイン
トを設けるために、分岐先つまり機械語命令列上のラベ
ルに位置する命令には割込みを受け付けるようにする。
【0008】以下、具体的にINT_PERMITを挿入する手順
を説明する。
【0009】まず、図3の機械語命令列の先頭の位置に
INT_PERMITを挿入する(ステップ1)。次に、先頭のIN
T_PERMITから100命令以内に分岐命令、ロード・スト
ア命令またはラベルがあるか否かを検索し(ステップ
2)、分岐命令、ロード・ストア命令またはラベルのい
ずれかがあった場合には、その直後にINT_PERMITを配置
する(ステップ3)。次に、INT_PERMITから100命令
後に位置する命令の直後にINT_PERMITを配置する(ステ
ップ4)。最後に、ステップ4で配置したINT_PERMITか
らプログラム終了までの命令数が100命令以上である
か否かを調べ(ステップ5)、100命令以下の場合に
は、図3に新たにINT_PERMITを配置した出力ファイル図
4が得られる。100命令以上ある場合には、ステップ
4で配置したINT_PERMITを基準として、再びステップ2
からの処理を繰り返す。
【0010】図2は、本発明の第一の実施形態に係るプ
ロセッサのパイプライン構成の一部を示したもので、他
の構成は通常のパイプラインと同じである。図2は命令
バッファ201、命令デコーダ202、実行ユニット2
03、割込み許可信号生成部204からなる。命令デコ
ーダ202はさらに、通常命令デコード部202aと割
込み許可命令デコード部202bからなる。割込み許可
信号生成部204は、割込み許可命令デコード部202
bで割込み許可命令がデコードされると、割込み許可信
号をアサートする。図2のプロセッサが、図1に示した
命令生成手段の処理内容により得られた実行ファイルを
実行するパイプライン動作の過程で、割込み許可命令IN
T_PERMITがデコードされた場合には、割込み許可信号生
成部204より、割込み許可信号がアサートされ割込み
を受け付ける状態にする。また、INTER_PERMIT命令がデ
コードされてから完了するまでの間は、パイプライン内
の命令は必ずローカルレジスタの変更は行わないように
する。割込み許可信号がアサートされた場合に、割込み
要求があった場合には、その割込み許可命令INT_PERMIT
に割込み、割込み処理に制御を移す。割込み要求がなか
った場合には、割込み許可命令INT_PERMITは実質的にNO
P命令が実行される。割込み要求があって割込み許可命
令INT_PERMITが割込みを受け付けた後、割込み処理から
の復帰は、割込みを受け付けた命令すなわち割込み許可
命令INT_PERMITに戻る。ここで新たな割込み要求が発生
していない場合には、実質NOPが実行され、新たな割込
み要求がある場合には、再びこれを受け付けるものとす
る。そして次命令が割込み命令INT_PERMITでない場合に
は、その命令がデコードされた段階で割込み許可信号生
成部204は、割込み許可信号をネゲートする。以上に
より、CPUはある特定の命令をデコードした場合にの
み、割込みを受け付ける動作を実現する。
【0011】尚、割込みを受け付けるか否かの情報を持
たせる方法は、前記INT_PERMITのように命令としてエン
コードする以外に、ある命令のビットフィールドに割込
みを受け付けるか否かの情報を付加することも可能であ
る。例えば、図3のプログラム中、分岐命令のビットフ
ィールドに、割込みを許可するか否かの1ビットの情報
[INTER_PERMIT]が新たに付加すると図5のようになる。
この処理で得られた実行ファイルをプロセッサがデコー
ド時に、情報ビット[INTER_PERMIT]をみて、割込みを許
可するか否かの制御を行えば、割込み許可命令INT_PERM
ITと同じ効果が得られる。
【0012】
【発明の効果】以上のように、割込みを許可するか否か
の情報をもつ命令がデコードされた場合に、状態制御レ
ジスタへのアクセスなしに、直接割込みを許可するか否
かの状態を決定することで、より高速でかつフレキシブ
ルに割込みを受け付けるか否かの状態を生成することが
できる。また、割込みを許可するポイントを、ローカル
レジスタの使用が少ないところに配置したり、割込み許
可時に複雑な追い越し制御を禁止することで、資源退避
の複雑な制御が簡略化され、高速に割込みシーケンスに
遷移できるという効果も得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における命令生成装置
の処理を示した流れ図
【図2】本発明の第1の実施形態におけるプロセッサの
【図3】本発明の第1の実施形態における機械語命令列
を示した図
【図4】本発明の第1の実施形態における機械語命令列
を示した図
【図5】本発明の第1の実施形態における機械語命令列
を示した図
【符号の説明】
201 命令バッファ 202 命令デコーダ 202a 通常命令デコード部 202b 割込み許可命令デコード部 203 実行ユニット 204 割込み許可信号生成部

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 割込みを受け付けるか否かの情報を持つ
    命令を解読する手段と、前記解読手段により得られた情
    報で割込みを受け付けるか否かを制御する割込み制御手
    段とを備えることを特長とする情報処理装置。
  2. 【請求項2】 割込みを受け付けるか否かの情報を持つ
    命令を生成する命令生成装置を具備することを特長とす
    る請求項1記載の情報処理装置。
  3. 【請求項3】 割込みを受け付けるか否かの情報を持っ
    た命令を、プログラム上に一定の間隔に配置するように
    生成する手段を前記命令生成装置に設けることを特長と
    する請求項2記載の情報処理装置。
  4. 【請求項4】 割込みを受け付けるか否かの情報を持っ
    た命令を、プログラム上の一定の命令数毎に配置するよ
    うに生成する手段を前記命令生成装置に設けることを特
    長とする請求項2記載の情報処理装置。
  5. 【請求項5】 割込みを受け付けるか否かの情報を持っ
    た命令を、プログラム上の一定のアドレス毎に配置する
    ように生成する手段を前記命令生成装置に設けることを
    特長とする請求項2記載の情報処理装置。
  6. 【請求項6】 割込みを受け付けるか否かの情報を持っ
    た命令を、プログラム上の特定命令を基準とした位置に
    配置するように生成する手段を前記命令生成装置に設け
    ることを特長とする請求項2記載の情報処理装置。
  7. 【請求項7】 割込みを受け付けるか否かの情報を持っ
    た命令を、時間的に一定の間隔に配置するように生成す
    る手段を前記命令生成装置に設けることを特長とする請
    求項2記載の情報処理装置。
  8. 【請求項8】 割込みを受け付けるか否かの情報を持っ
    た命令を、ロード・ストア命令の近傍に配置するように
    生成する手段を前記命令生成装置に設けることを特長と
    する請求項7記載の情報処理装置。
  9. 【請求項9】 割込みを受け付けるか否かの情報を持つ
    命令を解読するステップと、前記解読ステップにより得
    られた情報で割込みを受け付けるか否かを制御する割込
    み制御ステップとを備えることを特長とする割込み処理
    方法。
  10. 【請求項10】 割込みを受け付けるか否かの情報を持
    つ命令を生成する命令生成ステップを具備することを特
    長とする請求項9記載の割込み処理方法。
  11. 【請求項11】 割込みを受け付けるか否かの情報を持
    った命令を、プログラム上に一定の間隔に配置するよう
    に生成するステップを前記命令生成装置に設けることを
    特長とする請求項10記載の割込み処理方法。
  12. 【請求項12】 割込みを受け付けるか否かの情報を持
    った命令を、プログラム上の一定の命令数毎に配置する
    ように生成するステップを前記命令生成装置に設けるこ
    とを特長とする請求項10記載の割込み処理方法。
  13. 【請求項13】 割込みを受け付けるか否かの情報を持
    った命令を、プログラム上の一定のアドレス毎に配置す
    るように生成するステップを前記命令生成装置に設ける
    ことを特長とする請求項10記載の割込み処理方法。
  14. 【請求項14】 割込みを受け付けるか否かの情報を持
    った命令を、プログラム上の特定命令を基準とした位置
    に配置するように生成するステップを前記命令生成装置
    に設けることを特長とする請求項10記載の割込み処理
    方法。
  15. 【請求項15】 割込みを受け付けるか否かの情報を持
    った命令を、時間的に一定の間隔に配置するように生成
    するステップを前記命令生成装置に設けることを特長と
    する請求項10記載の割込み処理方法。
  16. 【請求項16】 割込みを受け付けるか否かの情報を持
    った命令を、ロード・ストア命令の近傍に配置するよう
    に生成するステップを前記命令生成装置に設けることを
    特長とする請求項15記載の割込み処理方法。
  17. 【請求項17】 請求項2記載の命令生成装置により得
    られた命令列を記憶する記録媒体。
JP31674699A 1999-11-08 1999-11-08 情報処理装置及び割込み処理方法 Pending JP2001134448A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31674699A JP2001134448A (ja) 1999-11-08 1999-11-08 情報処理装置及び割込み処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31674699A JP2001134448A (ja) 1999-11-08 1999-11-08 情報処理装置及び割込み処理方法

Publications (1)

Publication Number Publication Date
JP2001134448A true JP2001134448A (ja) 2001-05-18

Family

ID=18080459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31674699A Pending JP2001134448A (ja) 1999-11-08 1999-11-08 情報処理装置及び割込み処理方法

Country Status (1)

Country Link
JP (1) JP2001134448A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223417A (ja) * 2008-03-13 2009-10-01 Omron Corp 産業用コントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223417A (ja) * 2008-03-13 2009-10-01 Omron Corp 産業用コントローラ

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
EP1685486B1 (en) Interrupt handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation
US10778815B2 (en) Methods and systems for parsing and executing instructions to retrieve data using autonomous memory
KR19990044957A (ko) 데이터 처리기에서의 후속 명령 처리에 영향을 미치는 방법 및장치
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JPH0332818B2 (ja)
US6968410B2 (en) Multi-threaded processing of system management interrupts
US5003468A (en) Guest machine execution control system for virutal machine system
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
US20050257224A1 (en) Processor with instruction-based interrupt handling
US20190056953A1 (en) Token-based data dependency protection for memory access
JP2001134448A (ja) 情報処理装置及び割込み処理方法
JPH056281A (ja) 情報処理装置
JPH0377137A (ja) 情報処理装置
JP2838939B2 (ja) 並列命令実行方式
JPH07244588A (ja) データ処理装置
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
CN114579264A (zh) 处理装置、处理系统和处理方法
JPH0795288B2 (ja) マイクロコンピュータ
JPS61118840A (ja) 電子計算機の制御方式
JPH03164945A (ja) データ処理装置
JPH04308930A (ja) 電子計算機
JPH0240722A (ja) 演算処理装置
JPH03160547A (ja) データ処理装置の入出力バッファ制御方法
JPS638841A (ja) 割込み受取り装置