JP2002189603A - 計算機とその制御方法 - Google Patents

計算機とその制御方法

Info

Publication number
JP2002189603A
JP2002189603A JP2000386032A JP2000386032A JP2002189603A JP 2002189603 A JP2002189603 A JP 2002189603A JP 2000386032 A JP2000386032 A JP 2000386032A JP 2000386032 A JP2000386032 A JP 2000386032A JP 2002189603 A JP2002189603 A JP 2002189603A
Authority
JP
Japan
Prior art keywords
instruction
interrupt
data
read
computer
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
JP2000386032A
Other languages
English (en)
Inventor
Hideo Miyake
英雄 三宅
Atsuhiro Suga
敦浩 須賀
Yasuki Nakamura
泰基 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000386032A priority Critical patent/JP2002189603A/ja
Priority to US09/938,496 priority patent/US20020078286A1/en
Priority to EP01307267A priority patent/EP1217519A3/en
Priority to KR1020010057094A priority patent/KR100765867B1/ko
Publication of JP2002189603A publication Critical patent/JP2002189603A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 簡易な構成によりハードウェアの有効稼働率
を下げることなく割り込み処理を実行する計算機とその
制御方法を提供する。 【解決手段】 割り込み処理を行う計算機であって、プ
ログラムに記された命令の実行途中で割り込み処理を行
う必要が生じた場合には、割り込み処理を開始する時点
におけるデータを保持するレジスタ53,55,57,
59を備えたことを特徴とする計算機を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機とその制御
方法に関するものである。
【0002】
【従来の技術】一般的に、計算機システムではプログラ
ムに記述されていないか、あるいは記述できない不測の
事態に対処する必要があり、またハードウェアやプログ
ラムにおける本来の機能以外の動作(異常、エラー、例
外等)を検出して、それに対処する必要がある。また、
ハードウェア機構と基本ソフトウェア(特にOS)間の
通信手段を提供すると共に、共用ハードウェア資源(プ
ロセッサ、メモリ等)における利用要求の競合をスケジ
ューリングして、それらの効率的な利用を図る必要があ
る。
【0003】また、計算機システムでは、互いに非同期
に動作している資源(例えば、プロセッサと入出力装
置、あるいはネットワーク接続されたプロセッサ相互)
を通信等のために、あるタイミングで同期させる必要も
ある。
【0004】従ってこれらのことから、計算機システム
では本来の、すなわちプログラムとして明示される命令
の実行順序を強制的に、かつ動的に変える手段として以
下のような割り込み動作を実行することとされる。
【0005】一般的に、計算機システムにおいて該割り
込み動作が発生すると、まず、本来の(プログラムとし
て明示される)命令実行順序とは別の割り込み処理へ制
御フローが分岐する。そして次に、「割り込みハンド
ラ」とも呼ばれる割り込み処理プログラムを実行し、該
プログラムの末尾に記されている割り込み復帰手順に従
って、本来実行していたプログラムの実行順序に復帰す
る。
【0006】ここで一般に、本来の(プログラムとして
明示される)命令実行順序とは別の割り込み処理へ制御
フローが分岐する際においては、ハードウェアにより実
行中の命令を中断して無効化する処理が行われる。従っ
て、割り込まれた(無効となった、あるいは中断した)
命令の影響を取り除く「回復」動作と、割り込まれた該
命令を再実行する「再開」動作が必要とされる。
【0007】一方、上記「割り込み動作」は、「正確な
割り込み(precise interrupt)」と「不正確な割り込
み(imprecise interrupt)」に大別できる。ここで、
「正確な割り込み」とは回復が正しく行われ、かつ、割
り込まれた命令が再開可能であることを保証できる割り
込みであり、「不正確な割り込み」とは何らかの理由で
計算機の状態を十分に回復できなかったり、再開可能で
あることを保証できない割り込みである。
【0008】従って、本来の(プログラムとして明示さ
れる)命令実行順序とは別の割り込み処理へ制御フロー
が分岐する際において、正確な割り込みでは回復や再開
の処理が完全に行われ、不正確な割り込みでは回復や再
開の処理が完全には行われない。
【0009】また、計算機システムの処理性能を向上さ
せるため、複数の命令を同時に実行させるような制御方
式として、パイプライン方式やスーパースカラ方式が採
用されている。このような制御方式においては、複数の
命令において同時に割り込みが発生する可能性があるた
め、正確な割り込みを実現するためには、(1)割り込
みが発生する可能性がある命令を実行している際に、そ
の後続の命令の実行を抑止したり、(2)プログラムの
実行の際において最初に発生した割り込みを受理し、後
続する命令の実行及び割り込みの発生を無効化するとい
った処理が必要とされる。
【0010】そして、上記(1)の動作は、割り込みを
発生する可能性がある命令を実行している際に命令発行
部をインターロックさせることで実現され、(2)の動
作は、マイク・ジョンソンによる「スーパースカラ・プ
ロセッサ―マイクロプロセッサ設計における定量的アプ
ローチ」(日経BP出版センター,1994)に記されてい
るように、チックポイント回復(checkpoint repai
r)、ヒストリ・バッファ(history buffer)、リオー
ダ・バッファ(reorder buffer)、フューチャ・ファイ
ル(future file)といった例外回復機構を設けること
で実現される。
【0011】以下において、従来の計算機の一例を説明
する。図1は、従来の計算機の構成を示す図である。図
1に示されるように、従来の計算機はメモリ1と命令読
み出し部3、命令実行部5、レジスタ制御部6、及び割
り込み制御部7とを備えていた。そして、命令読み出し
部3は命令読み出し制御部9と命令語レジスタ(IR)
11及びプログラムカウンタ(PC)13を含み、命令
実行部5は命令デコード部15と命令発行確認部17,
18、OR回路19,21、セレクタ23、ロード命令
実行部25、ストア命令実行部27、演算命令実行部2
9、他命令実行部31、浮動小数点ロード命令実行部3
3、浮動小数点ストア命令実行部35、及び浮動小数点
演算命令実行部37を含む。
【0012】また、レジスタ制御部6はレジスタ(PC
SR)39とレジスタ(EPSR)41、レジスタ(P
SR)43、汎用レジスタ45、及び浮動小数点レジス
タ47を含む。そして、割り込み制御部7は割り込み制
御回路49を含む。
【0013】ここで、命令読み出し部3は、プログラム
カウンタ13が示す命令語をメモリ1より読み出して命
令実行部5へ供給し、命令実行部5は供給された該命令
を実行する。なお、プログラムカウンタ13は、命令語
のアドレスを示す。
【0014】また、レジスタ制御部6は、命令実行部5
と命令読み出し部3及び割り込み制御部7によるデータ
の読み書きの制御を行う。
【0015】より具体的には、命令読み出し制御部9
は、プログラムカウンタ13が示す命令語をメモリ1よ
り読み出し、命令語レジスタ11へ書き込む。また、命
令実行部5より分岐先アドレスが供給されるか、割り込
み制御部7より割り込みあるいは例外に対応する分岐先
アドレスが供給された場合、その値をプログラムカウン
タ13へ書き込む。なお、それ以外の場合は、次の命令
語を示すべくプログラムカウンタ13をインクリメント
する。また、命令語を読み出す際に割り込みを検出した
場合は、その旨を割り込み制御回路49へ通知する。そ
して、命令発行確認部17,18から命令発行抑止通知
を受け取った場合は、命令発行抑止通知が解除されるま
で命令読み出し動作を停止する。
【0016】また、命令デコード部15は、命令語レジ
スタ11から供給された命令を解析し、セレクタ23を
介して対応する命令実行部へ命令を供給する。そして、
ロード命令が供給された場合にはロード命令実行部25
へ供給し、ストア命令が供給された場合にはストア命令
実行部27へ供給し、演算命令が供給された場合には演
算命令実行部29へ供給し、分岐命令が供給された場合
には他命令実行部31へ供給する。
【0017】また、PCSR読み出し命令やPCSR書
き込み命令、EPSR読み出し命令やEPSR書き込み
命令が供給された場合には、いずれも他命令実行部31
へ供給する。さらに、浮動小数点ロード命令が供給され
た場合には浮動小数点ロード命令実行部33へ供給し、
浮動小数点ストア命令が供給された場合には浮動小数点
ストア命令実行部35へ供給し、浮動小数点演算命令が
供給された場合には浮動小数点演算命令実行部37へ供
給する。
【0018】また、セレクタ23はさらに命令発行確認
部17,18から命令発行抑止通知を受け取った場合に
は、命令実行部への命令の供給を抑止する。そして、命
令発行確認部17は、注目している命令が実行中の命令
に依存せず独立に実行可能であるか否かを確認し、依存
関係があるため独立に実行できない場合には命令発行抑
止通知を命令読み出し制御部9や命令デコード部15へ
供給する。また、依存関係にある該命令の実行が完了し
た場合には、命令発行抑止通知を解除する。
【0019】また同様に、命令発行確認部18は、割り
込みを発生する可能性がある命令を実行しているか否か
を確認し、割り込みを発生する可能性がある命令を実行
している場合には命令発行抑止通知を命令読み出し制御
部9や命令デコード部15へ供給する。また、割り込み
を発生する可能性がある該命令の実行が完了した場合に
は、命令発行抑止通知を解除する。
【0020】一方、ロード命令実行部25は、ロード命
令が供給された場合、汎用レジスタ45から読み出した
値から実効アドレスを求め、実効アドレスに対応するメ
モリ1内の領域からデータを読み出し、その結果を汎用
レジスタ45へ書き込む。なお、命令を実行する際に、
割り込みを検出した場合には、その旨を割り込み制御回
路49へ通知する。また、命令実行完了時には、その旨
を命令発行確認部17,18へ通知する。
【0021】また、ストア命令実行部27は、ストア命
令が供給された場合、汎用レジスタ45から読み出した
値から実効アドレスを求め、実効アドレスに対応するメ
モリ1内の領域へ汎用レジスタ45から読み出したデー
タを書き込む。なお、このようにしてメモリ1へ書き込
まれたデータを「ストアデータ」と呼ぶ。また、命令を
実行する際に、割り込みを検出した場合には、その旨を
割り込み制御回路49へ通知する。そして、命令実行完
了時には、その旨を命令発行確認部17,18へ通知す
る。
【0022】また、演算命令実行部27は、演算命令が
供給された場合、汎用レジスタ45から読み出した値に
基づき演算を行い、その結果を汎用レジスタ45へ書き
込む。なお、命令を実行する際に、割り込みを検出した
場合には、その旨を割り込み制御回路49へ通知する。
また、命令実行完了時には、その旨を命令発行確認部1
7,18へ通知する。
【0023】また、他命令実行部31は、分岐命令が供
給された場合、分岐先アドレスをプログラムカウンタ1
3へ供給する。また、割り込み復帰命令が供給された場
合には、EPSR41の値をPSR43へ書き込み、P
CSR39から読み出されたデータを分岐先のアドレス
としてプログラムカウンタ13へ供給する。
【0024】また、PCSR読み出し命令が供給された
場合、PCSR39に格納されているデータを読み出し
て汎用レジスタ45へ書き込み、PCSR書き込み命令
が供給された場合、汎用レジスタ45から読み出したデ
ータをPCSR39へ書き込む。また、PSR読み出し
命令が供給された場合、PSR43に格納されているデ
ータを読み出して汎用レジスタ45へ書き込み、PSR
書き込み命令が供給された場合、汎用レジスタ45から
読み出したデータをPSR43へ書き込む。
【0025】そしてさらに、EPSR読み出し命令が供
給された場合、EPSR41に格納されているデータを
読み出して汎用レジスタ45へ書き込み、EPSR書き
込み命令が供給された場合、汎用レジスタ45から読み
出したデータをEPSR41へ書き込む。なお、命令を
実行する際に、割り込みを検出した場合には、その旨を
割り込み制御回路49へ通知する。また、命令実行完了
時には、その旨を命令発行確認部17,18へ通知す
る。
【0026】一方、浮動小数点ロード命令実行部33
は、浮動小数点ロード命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域からデータを読
み出し、その結果を浮動小数点レジスタ47へ書き込
む。なお、命令を実行する際に、割り込みを検出した場
合には、その旨を割り込み制御回路49へ通知する。ま
た、命令実行完了時には、その旨を命令発行確認部1
7,18へ通知する。
【0027】また、浮動小数点ストア命令実行部35
は、浮動小数点ストア命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域へ浮動小数点レ
ジスタ47から読み出したデータを書き込む。なお、こ
のようにしてメモリ1へ書き込まれたデータを「ストア
データ」と呼ぶ。また、命令を実行する際に、割り込み
を検出した場合には、その旨を割り込み制御回路49へ
通知する。そして、命令実行完了時には、その旨を命令
発行確認部17,18へ通知する。
【0028】また、浮動小数点演算命令実行部37は、
浮動小数点演算命令が供給された場合、浮動小数点レジ
スタ47から読み出した値に基づき演算を行い、その結
果を浮動小数点レジスタ47へ書き込む。なお、命令を
実行する際に、割り込みを検出した場合には、その旨を
割り込み制御回路49へ通知する。また、命令実行完了
時には、その旨を命令発行確認部17,18へ通知す
る。
【0029】また、PCSR39は、割り込みから復帰
する命令アドレスを保持するレジスタであり、割り込み
発生時に該アドレスが設定される。そして、PSR43
は計算機の動作状態(state)を保持するレジスタであ
り、EPSR41は割り込み発生前の計算機の動作状態
(state)を保持するレジスタであって割り込み発生時
に設定されるものである。
【0030】一方、割り込み制御回路49は、命令読み
出し制御部9あるいは命令実行部5から供給された割り
込み通知に基づいて、割り込みからの復帰先を示す命令
アドレスをPCSR39へ、割り込み発生前の動作状態
をEPSR41へ、発生した割り込みに対応する計算機
の動作状態をPSR43へ書き込む。また、発生した割
り込みに対応する分岐先アドレスをプログラムカウンタ
13へ供給する。
【0031】ここで、以上のような従来の計算機におい
て正確な割り込みを実現するため、割り込みを発生する
可能性がある命令を実行している際において命令発行部
をインターロックさせると、ハードウェアの有効稼働率
は下がり、計算機システムの処理性能が低減するという
問題があった。
【0032】また、正確な割り込みを実現するための例
外回復機構を設けた場合には、ハードウェアの有効稼働
率の低下は回避できるものの、回路規模が増大するとい
う問題があった。
【0033】
【発明が解決しようとする課題】本発明は、上述の問題
を解消するためになされたもので、簡易な構成によりハ
ードウェアの有効稼働率を下げることなく割り込み処理
を実行する計算機とその制御方法を提供することを目的
とする。
【0034】
【課題を解決するための手段】上記の目的は、割り込み
処理を行う計算機であって、プログラムに記された命令
の実行途中で割り込み処理を行う必要が生じた場合に
は、割り込み処理を開始する時点におけるデータを保持
するデータ保持手段を備えたことを特徴とする計算機を
提供することにより達成される。
【0035】このような手段によれば、割り込み処理を
行う必要が生じた場合には、その時点のデータがデータ
保持手段により保持されるため、割り込みが生じる前の
命令を再実行する必要が回避され、割り込み処理後の動
作を効率的に継続することができる。
【0036】ここで、データ保持手段を複数個並設すれ
ば、割り込みが発生し得る複数の命令を並列的に実行す
ることができる。また、各々のデータ保持手段に対応し
て設けられ、データを保持しているか否かを示す複数の
有効フラグをさらに備えることにより、有効フラグの値
に応じた高速な動作を実現することができる。
【0037】そして例えばデータ保持手段は、ストア命
令の実行途中における割り込み発生時において記憶手段
への書き込み対象とされているデータや、割り込み処理
の起因となる命令の命令アドレス、割り込み処理の要因
を示すデータあるいは実効アドレスを保持するものとす
ることができる。
【0038】
【発明の実施の形態】以下において、本発明の実施の形
態を図面を参照して詳しく説明する。なお、図中同一符
号は同一又は相当部分を示す。 [実施の形態1]図2は、本発明の実施の形態1に係る
計算機の構成を示す図である。図2に示されるように、
本実施の形態1に係る計算機は、図1に示された従来の
計算機と以下の点で相違するものである。
【0039】まずレジスタ制御部60は、命令実行部5
0に含まれた他命令実行部52と割り込み制御部70に
含まれた割り込み制御回路61とに接続されるEPCR
53とESR55、EAR57、及びEDR59を備え
る。また、命令実行部5に含まれた命令デコード部15
の代わりに命令デコード部54を備え、命令発行確認部
18の代わりに命令発行確認部51を備える。
【0040】ここで、本実施の形態1に係る命令デコー
ド部54は、EPCR読み出し命令やEPCR書き込み
命令、ESR読み出し命令やESR書き込み命令、EA
R読み出し命令やEAR書き込み命令、EDR読み出し
命令やEDR書き込み命令が供給された場合には、いず
れもセレクタ23を介して該命令を他命令実行部52へ
供給する。
【0041】また、命令発行確認部51は、割り込みを
発生する可能性がある命令を実行しているか否かを確認
し、割り込みを発生する可能性がある命令を実行してお
り、かつ注目する命令が割り込みを発生する可能性があ
る命令である場合には、命令発行抑止通知を命令読み出
し制御部9や命令デコード部54へ供給する。また、割
り込みを発生する可能性がある該命令の実行が完了した
場合には、命令発行抑止通知を解除する。
【0042】また、他命令実行部52は、分岐命令が供
給された場合、分岐先アドレスをプログラムカウンタ1
3へ供給する。また、割り込み復帰命令が供給された場
合には、EPSR41の値をPSR43へ書き込み、P
CSR39から読み出されたデータを分岐先のアドレス
としてプログラムカウンタ13へ供給する。
【0043】また、EPCR読み出し命令が供給された
場合、EPCR53に格納されているデータを読み出し
て汎用レジスタ45へ書き込み、EPCR書き込み命令
が供給された場合、汎用レジスタ45から読み出したデ
ータをEPCR53へ書き込む。また、ESR読み出し
命令が供給された場合、ESR55に格納されているデ
ータを読み出して汎用レジスタ45へ書き込み、ESR
書き込み命令が供給された場合、汎用レジスタ45から
読み出したデータをESR55へ書き込む。
【0044】そしてさらに、EAR読み出し命令が供給
された場合、EAR57に格納されているデータを読み
出して汎用レジスタ45へ書き込み、EAR書き込み命
令が供給された場合、汎用レジスタ45から読み出した
データをEAR57へ書き込む。
【0045】また、EDR読み出し命令が供給された場
合、EDR59に格納されているデータを読み出して汎
用レジスタ45へ書き込み、EDR書き込み命令が供給
された場合、汎用レジスタ45から読み出したデータを
EDR59へ書き込む。なお、命令を実行する際に、割
り込みを検出した場合には、その旨を割り込み制御回路
61へ通知する。また、命令実行完了時には、その旨を
命令発行確認部17,51へ通知する。
【0046】また、EPCR53は割り込みの起因とな
った命令の命令アドレスを保持するレジスタであり、E
SR55は割り込み要因を示すデータを保持するレジス
タであって、共に割り込み発生時に設定される。また、
EAR57はロード命令やストア命令、浮動小数点ロー
ド命令、浮動小数点ストア命令の実効アドレスを保持す
るレジスタであり、ロード命令やストア命令、浮動小数
点ロード命令、浮動小数点ストア命令による割り込み発
生時に設定される。
【0047】また、EDR59はストア命令や浮動小数
点ストア命令の実行の際におけるストアデータを保持す
るレジスタであり、ストア命令や浮動小数点ストア命令
による割り込み発生時に設定される。
【0048】そして、割り込み制御部61は、命令読み
出し制御部9あるいは命令実行部50から供給された割
り込み通知に基づいて、割り込みからの復帰先を示す命
令アドレスをPCSR39へ、割り込み発生前の動作状
態をEPSR41へ、発生した割り込みに対応する計算
機の動作状態をPSR43へ、割り込みの起因となった
命令(以下単に、「割り込み起因命令」ともいう。)の
命令アドレスをEPCR53へ、割り込み要因を示すデ
ータをESR55へ書き込む。また、割り込み起因命令
がロード命令やストア命令、浮動小数点ロード命令、あ
るいは浮動小数点ストア命令であった場合には、その実
効アドレスをEAR57へ書き込み、割り込み起因命令
がストア命令や浮動小数点ストア命令であった場合に
は、該ストアデータをEDR59へ書き込む。さらに、
発生した割り込みに対応する分岐先アドレスをプログラ
ムカウンタ13へ供給する。
【0049】そして、本実施の形態1に係る計算機にお
いては、割り込み動作において上記EPCR53やES
R55、EAR57、及びEDR59を、以下の表1に
示されるように各命令毎に対応付けて用いることができ
る。なお、表1における白丸は、左欄に示された各命令
の実行中に割り込みが発生した場合に、データの格納先
とするレジスタを示すものであって、以下の表3におい
ても同様である。
【0050】
【表1】 すなわち、上記表1に示されるように、演算命令や浮動
小数点演算命令、その他の命令の実行に際して割り込み
が発生した時には、割り込みを回復(あるいは再開)す
る際に必要とされる情報として割り込み起因命令の命令
アドレスがEPCR53へ保持されると共に、割り込み
要因を示すデータがESR55に保持される。また、ロ
ード命令や浮動小数点ロード命令の実行に際して割り込
みが発生した時には、割り込みを回復(あるいは再開)
する際に必要とされる情報としてさらに、実効アドレス
がEAR57へ保持される。そして、ストア命令や浮動
小数点ストア命令の実行に際して割り込みが発生した時
には、割り込みを回復(あるいは再開)する際に必要と
される情報としてさらに、ストアデータがEDR59へ
保持される。
【0051】そして、本実施の形態1に係る計算機にお
いては、割り込み動作の際に上記のように保持された各
情報を適宜読み出すことにより、該割り込みの回復(あ
るいは再開)を容易に実現することができる。
【0052】以下において、本実施の形態1に係る計算
機における割り込み処理プログラムの実行による動作
を、図3に示されたフローチャートを参照しつつ説明す
る。まずステップS1では、コンテキストを退避する。
そして、ステップS2では、他命令実行部52が供給さ
れたESR読み出し命令に応じて、ESR55から割り
込み要因データを読み出す。次に、ステップS3では、
他命令実行部52は該割り込み要因データを参照して、
該割り込みがロード命令や浮動小数点ロード命令に起因
するものであるか否か判断する。そして、該割り込みが
ロード命令や浮動小数点ロード命令に起因するものであ
ると判断した場合にはステップS4へ進み、該割り込み
がロード命令や浮動小数点ロード命令に起因しないと判
断した場合にはステップS10へ進む。
【0053】また他命令実行部52は、ステップS4で
EPCR読み出し命令に応じてEPCR53から命令ア
ドレスを読み出し、ステップS5においてEAR読み出
し命令に応じてEAR57から実効アドレスを読み出
す。そして、ステップS6において、上記命令アドレス
と割り込み起因データ及び実効アドレスに基づいて割り
込み処理を実行する。
【0054】次に、該割り込み処理が終了した時点で、
ステップS7においてコンテキストを復元し、ステップ
S8において割り込み復帰命令に応じて割り込み処理プ
ログラムの実行動作から復帰する。
【0055】一方、ステップS10においては、他命令
実行部52は該割り込み要因データを参照して、該割り
込みがストア命令や浮動小数点ストア命令に起因するも
のであるか否か判断する。そして、該割り込みがストア
命令や浮動小数点ストア命令に起因するものであると判
断した場合にはステップS11へ進み、該割り込みがス
トア命令や浮動小数点ストア命令に起因しないと判断し
た場合にはステップS20へ進む。
【0056】また他命令実行部52は、ステップS11
でEPCR読み出し命令に応じてEPCR53から命令
アドレスを読み出し、ステップS12においてEAR読
み出し命令に応じてEAR57から実効アドレスを読み
出す。そしてさらに、ステップS13においてEDR読
み出し命令に応じてEDR59からストア・データを読
み出す。そして、ステップS14において、上記命令ア
ドレスと割り込み起因データ、実効アドレス及びストア
・データに基づいて割り込み処理を実行し、ステップS
7へ進む。
【0057】また、ステップS20において他命令実行
部52は、ステップS20でEPCR読み出し命令に応
じてEPCR53から命令アドレスを読み出し、ステッ
プS14へ進む。
【0058】以上より、本発明の実施の形態1に係る計
算機によれば、EPCR53とESR55、EAR5
7、及びEDR59を備え、割り込み処理動作から元の
処理動作へ回復するために必要なデータを割り込み発生
時にこれらのレジスタへ保持すると共に、保持された上
記データに応じて該割り込み処理終了後に元の処理が継
続されるため、簡易な構成によりハードウェアの有効稼
働率を下げることなく割り込み処理を実行することがで
きる。 [実施の形態2]図4は、本発明の実施の形態2に係る
計算機の構成を示す図である。図4に示されるように、
本発明の実施の形態2に係る計算機は、図2に示された
実施の形態1に係る計算機と同様な構成を有するが、レ
ジスタ制御部69には有効フラグ(ESFR)71が設
けられ、それぞれ複数個並設されたEPCR73とES
R75及びEAR77とEDR79とを含む点で相違す
るものである。
【0059】ここで、有効フラグ71とEPCR73、
ESR75、EAR77及びEDR79はいずれも命令
実行部63に含まれた他命令実行部67と、割り込み制
御部80に含まれた割り込み制御回路81に接続され
る。なお、命令実行部63には命令発行確認部65がた
だ一つ設けられ、OR回路19,21が含まれない点で
も相違する。
【0060】上記のような構成を有する本実施の形態2
に係る計算機において、命令デコード部16は命令語レ
ジスタ11より供給された命令を解析し、セレクタ23
を介して対応する命令実行部へ命令を供給する。そし
て、例えば分岐命令や割り込み復帰命令あるいはESF
R読み出し命令やESFR書き込み命令が供給された場
合には、それぞれ該命令を他命令実行部67へ供給す
る。
【0061】また、他命令実行部67は、分岐命令が供
給された場合、分岐先アドレスをプログラムカウンタ1
3へ供給する。また、割り込み復帰命令が供給された場
合には、EPSR41の値をPSR43へ書き込み、P
CSR39から読み出されたデータを分岐先のアドレス
としてプログラムカウンタ13へ供給する。
【0062】また、ESFR読み出し命令が供給された
場合、ESFR71に格納されているデータを読み出し
て汎用レジスタ45へ書き込み、ESFR書き込み命令
が供給された場合、汎用レジスタ45から読み出したデ
ータをESFR71へ書き込む。なお、命令を実行する
際に、割り込みを検出した場合には、その旨を割り込み
制御回路81へ通知する。また、命令実行完了時には、
その旨を命令発行確認部65へ通知する。
【0063】ここで、有効フラグ(ESFR)71は割
り込み要因データを格納するESR75の有効フラグで
あり、各ビットがそれぞれのレジスタに対応して、割り
込み要因データが保持されているか否かを示すものであ
る。なお、この有効フラグ71は割り込み発生時に設定
される。
【0064】そして、例えば上記のようにESR75が
並設された7個のレジスタからなるとき、例えば第0ビ
ットから第6ビットまでの各ビットはそれぞれのレジス
タに対し、以下の表2に示されるように対応づけられ
る。
【0065】
【表2】 すなわち、表2に示されるように、例えば第0ビットが
第0番目のESRに対応し、第0番目のESRに割り込
み要因データが保持される場合には第0ビットが1とさ
れる。
【0066】次に、割り込み制御部81は、命令読み出
し制御部9あるいは命令実行部63から供給された割り
込み通知に基づいて、割り込みからの復帰先を示す命令
アドレスをPCSR39へ、割り込み発生前の動作状態
をEPSR41へ、発生した割り込みに対応する計算機
の動作状態をPSR43へ、割り込み起因命令の命令ア
ドレスをEPCR73へ、割り込み要因を示すデータを
ESR75へ、割り込み要因を示す該データの保持状況
をESFR71へ書き込む。
【0067】また、割り込み起因命令がロード命令やス
トア命令、浮動小数点ロード命令、あるいは浮動小数点
ストア命令であった場合には、その実効アドレスをEA
R77へ書き込み、割り込み起因命令がストア命令や浮
動小数点ストア命令であった場合には、該ストアデータ
をEDR79へ書き込む。さらに、発生した割り込みに
対応する分岐先アドレスをプログラムカウンタ13へ供
給する。
【0068】また、本実施の形態2に係る計算機におい
て、例えばEPCR73がEPCR0からEPCR6ま
での7個の並設されたレジスタからなり、ESR75も
ESR0からESR6までの7個の並設されたレジスタ
からなり、EAR77はEAR3からEAR6までの4
個の並設されたレジスタからなり、EDR79はEDR
5及びEDR6の2個の並設されたレジスタからなる場
合には、これらのレジスタを以下の表3に示されるよう
に各命令毎に対応づけて用いることができる。
【0069】
【表3】 次に、本実施の形態2に係る計算機における割り込み処
理プログラムの実行による動作を、ESFR71を用い
る場合と用いない場合とに分けて図5から図8を参照し
つつ説明する。まず、図5及び図6を参照して、ESF
R71を用いない場合の動作を説明する。
【0070】図5に示されるように、ステップS1では
コンテキストを退避する。そして、ステップS2では、
他命令実行部67が供給されたESR読み出し命令に応
じて、ESR75から割り込み要因データ0を読み出
す。このときステップS3で、他命令実行部67は該割
り込み要因データ0が保持されているか否かを判断す
る。そして、保持されていると判断した場合にはステッ
プS100へ進み、保持されていないと判断した場合に
はステップS4へ進む。
【0071】ここで、ステップS100では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス0を読み出し、ステップS101にお
いて割り込み要因データ0及び命令アドレス0に基づい
て割り込み処理を実行し、ステップS4へ進む。
【0072】また、ステップS4では、他命令実行部6
7が供給されたESR読み出し命令に応じて、ESR7
5から割り込み要因データ1を読み出す。このとき、ス
テップS5では、他命令実行部67は該割り込み要因デ
ータ1が保持されているか否かを判断し、保持されてい
ると判断した場合にはステップS110へ進み、保持さ
れていないと判断した場合にはステップS6へ進む。
【0073】ここで、ステップS110では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス1を読み出し、ステップS111にお
いて割り込み要因データ1及び命令アドレス1に基づい
て割り込み処理を実行し、ステップS6へ進む。
【0074】また、ステップS6では、他命令実行部6
7が供給されたESR読み出し命令に応じて、ESR7
5から割り込み要因データ2を読み出す。このとき、ス
テップS7では、他命令実行部67は該割り込み要因デ
ータ2が保持されているか否かを判断し、保持されてい
ると判断した場合にはステップS120へ進み、保持さ
れていないと判断した場合にはステップS8へ進む。
【0075】ここで、ステップS120では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス2を読み出し、ステップS121にお
いて割り込み要因データ2及び命令アドレス2に基づい
て割り込み処理を実行し、ステップS8へ進む。
【0076】そして、ステップS8では、他命令実行部
67が供給されたESR読み出し命令に応じて、ESR
75から割り込み要因データ3を読み出す。このとき、
ステップS9では、他命令実行部67は該割り込み要因
データ3が保持されているか否かを判断し、保持されて
いると判断した場合にはステップS130へ進み、保持
されていないと判断した場合にはステップS10へ進
む。
【0077】ここで、ステップS130では他命令実行
部67がEPCR読み出し命令に応じてEPCR73か
ら命令アドレス3を読み出し、ステップS131では他
命令実行部67がEAR読み出し命令に応じてEAR7
7から実効アドレス3を読み出す。そして、ステップS
132では、割り込み要因データ3及び命令アドレス3
及び実効アドレス3に基づいて割り込み処理を実行し、
ステップS10へ進む。
【0078】また、ステップS10では、他命令実行部
67が供給されたESR読み出し命令に応じて、ESR
75から割り込み要因データ4を読み出す。このとき、
ステップS11では、他命令実行部67は該割り込み要
因データ4が保持されているか否かを判断し、保持され
ていると判断した場合にはステップS140へ進み、保
持されていないと判断した場合には図6に示されたステ
ップS12へ進む。
【0079】ここで、ステップS140では他命令実行
部67がEPCR読み出し命令に応じてEPCR73か
ら命令アドレス4を読み出し、ステップS141では他
命令実行部67がEAR読み出し命令に応じてEAR7
7から実効アドレス4を読み出す。そして、ステップS
142では、割り込み要因データ4及び命令アドレス4
及び実効アドレス4に基づいて割り込み処理を実行し、
ステップS12へ進む。
【0080】また、ステップS12では、他命令実行部
67が供給されたESR読み出し命令に応じて、ESR
75から割り込み要因データ5を読み出す。このとき、
ステップS13では、他命令実行部67は該割り込み要
因データ5が保持されているか否かを判断し、保持され
ていると判断した場合にはステップS150へ進み、保
持されていないと判断した場合には図6に示されたステ
ップS14へ進む。
【0081】ここで、ステップS150では他命令実行
部67がEPCR読み出し命令に応じてEPCR73か
ら命令アドレス5を読み出し、ステップS151では他
命令実行部67がEAR読み出し命令に応じてEAR7
7から実効アドレス5を読み出す。そして、ステップS
152では他命令実行部67がEDR読み出し命令に応
じてEDR79からストアデータ5を読み出し、ステッ
プS153では割り込み要因データ5と命令アドレス
5、実効アドレス5及びストアデータ5に基づいて割り
込み処理を実行し、ステップS14へ進む。
【0082】また、ステップS14では、他命令実行部
67が供給されたESR読み出し命令に応じて、ESR
75から割り込み要因データ6を読み出す。このとき、
ステップS15では、他命令実行部67は該割り込み要
因データ6が保持されているか否かを判断し、保持され
ていると判断した場合にはステップS160へ進み、保
持されていないと判断した場合にはステップS16へ進
む。
【0083】ここで、ステップS160では他命令実行
部67がEPCR読み出し命令に応じてEPCR73か
ら命令アドレス6を読み出し、ステップS161では他
命令実行部67がEAR読み出し命令に応じてEAR7
7から実効アドレス6を読み出す。そして、ステップS
162では他命令実行部67がEDR読み出し命令に応
じてEDR79からストアデータ6を読み出し、ステッ
プS163では割り込み要因データ6と命令アドレス
6、実効アドレス6及びストアデータ6に基づいて割り
込み処理を実行し、ステップS16へ進む。
【0084】そして、ステップS16においてコンテキ
ストを復元し、ステップS17において割り込み復帰命
令に応じて割り込み処理プログラムの実行動作から復帰
する。
【0085】次に、図7及び図8を参照して、ESFR
71を用いる場合の動作を説明する。まず、図7に示さ
れるように、ステップS1ではコンテキストを退避す
る。そして、ステップS2では、他命令実行部67が供
給されたESFR読み出し命令に応じて、有効フラグ
(ESFR)71を読み出す。このときステップS3
で、他命令実行部67は該有効フラグ71の第0ビット
が0であるか否かを判断する。そして、0であると判断
した場合にはステップS4へ進み、0でない(すなわち
1、以下同様)と判断した場合にはステップS110へ
進む。
【0086】ここで、ステップS110では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス0を読み出し、ステップS111にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ0を読み出す。そし
て、ステップS112において命令アドレス0及び割り
込み要因データ0に基づき割り込み処理を行い、ステッ
プS4へ進む。
【0087】また、ステップS4で、他命令実行部67
は有効フラグ71の第1ビットが0であるか否かを判断
する。そして、0であると判断した場合にはステップS
5へ進み、0でないと判断した場合にはステップS12
0へ進む。
【0088】ここで、ステップS120では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス1を読み出し、ステップS121にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ1を読み出す。そし
て、ステップS122において命令アドレス1及び割り
込み要因データ1に基づき割り込み処理を行い、ステッ
プS5へ進む。
【0089】そして、ステップS5で、他命令実行部6
7は有効フラグ71の第2ビットが0であるか否かを判
断する。そして、0であると判断した場合にはステップ
S6へ進み、0でないと判断した場合にはステップS1
30へ進む。
【0090】ここで、ステップS130では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス2を読み出し、ステップS131にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ2を読み出す。そし
て、ステップS132において命令アドレス2及び割り
込み要因データ2に基づき割り込み処理を行い、ステッ
プS6へ進む。
【0091】また、ステップS6で、他命令実行部67
は有効フラグ71の第3ビットが0であるか否かを判断
する。そして、0であると判断した場合には図8に示さ
れたステップS7へ進み、0でないと判断した場合には
ステップS140へ進む。
【0092】ここで、ステップS140では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス3を読み出し、ステップS141にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ3を読み出す。そし
て、ステップS142において他命令実行部67はEA
R読み出し命令に応じてEAR77から実効アドレス3
を読み出す。次に、ステップS143において命令アド
レス3と割り込み要因データ3及び実効アドレス3に基
づき割り込み処理を行い、ステップS7へ進む。
【0093】ステップS7では、他命令実行部67は有
効フラグ71の第4ビットが0であるか否かを判断す
る。そして、0であると判断した場合にはステップS8
へ進み、0でないと判断した場合にはステップS150
へ進む。
【0094】ここで、ステップS150では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス4を読み出し、ステップS151にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ4を読み出す。そし
て、ステップS152において他命令実行部67はEA
R読み出し命令に応じてEAR77から実効アドレス4
を読み出す。次に、ステップS153において命令アド
レス4と割り込み要因データ4及び実効アドレス4に基
づき割り込み処理を行い、ステップS8へ進む。
【0095】ステップS8では、他命令実行部67は有
効フラグ71の第5ビットが0であるか否かを判断す
る。そして、0であると判断した場合にはステップS9
へ進み、0でないと判断した場合にはステップS160
へ進む。
【0096】ここで、ステップS160では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス5を読み出し、ステップS161にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ5を読み出す。そし
て、ステップS162において他命令実行部67はEA
R読み出し命令に応じてEAR77から実効アドレス5
を読み出す。次に、ステップS163において他命令実
行部67はEDR読み出し命令に応じてEDR79から
ストアデータ5を読み出し、ステップS164において
命令アドレス5と割り込み要因データ5、実効アドレス
5及びストアデータ5に基づき割り込み処理を行い、ス
テップS9へ進む。
【0097】ステップS9では、他命令実行部67は有
効フラグ71の第6ビットが0であるか否かを判断す
る。そして、0であると判断した場合にはステップS1
0へ進み、0でないと判断した場合にはステップS17
0へ進む。
【0098】ここで、ステップS170では、他命令実
行部67はEPCR読み出し命令に応じてEPCR73
から命令アドレス6を読み出し、ステップS171にお
いて他命令実行部67はESR読み出し命令に応じてE
SR75から割り込み要因データ6を読み出す。そし
て、ステップS172において他命令実行部67はEA
R読み出し命令に応じてEAR77から実効アドレス6
を読み出す。次に、ステップS173において他命令実
行部67はEDR読み出し命令に応じてEDR79から
ストアデータ6を読み出し、ステップS174において
命令アドレス6と割り込み要因データ6、実効アドレス
6及びストアデータ6に基づき割り込み処理を行い、ス
テップS10へ進む。
【0099】そして、ステップS10ではコンテキスト
を復元し、ステップS11において割り込み復帰命令に
応じて割り込み処理プログラムの実行動作から復帰す
る。
【0100】以上より、本発明の実施の形態2に係る計
算機によれば、それぞれ複数個並設されたEPCR73
とESR75及びEAR77とEDR79とを備え、割
り込み動作から回復(あるいは元の処理を再開)する際
に必要な情報をこれらのレジスタに並列的に保持するこ
とができるため、割り込みを発生する可能性がある命令
の実行完了を待つことなく、割り込みが発生する可能性
のある次の命令を発行することができる。従って、ハー
ドウェアの有効稼働率をさらに上げることができる。 [実施の形態3]図9は、本発明の実施の形態3に係る
計算機の構成を示す図である。図9に示されるように、
本実施の形態3に係る計算機は、図2に示された上記実
施の形態1に係る計算機と同様な構成を有するが、レジ
スタ制御部93に含まれたEAR95は命令実行部83
に含まれたロード命令実行部85とストア命令実行部8
7、浮動小数点ロード命令実行部89及び浮動小数点ス
トア命令実行部91に接続され、EDR97はストア命
令実行部87及び浮動小数点ストア命令実行部91に接
続される点で相違する。
【0101】また、割り込み制御部100に含まれた割
り込み制御回路99はEPCR53とESR55に接続
され、EAR95及びEDR97に接続されない点で相
違する。
【0102】上記のような構成を有する実施の形態3に
係る計算機においては、ロード命令実行部85は、ロー
ド命令が供給された場合、汎用レジスタ45から読み出
した値から実効アドレスを求め、実効アドレスに対応す
るメモリ1内の領域からデータを読み出し、その結果を
汎用レジスタ45へ書き込む。なお、命令を実行する際
に、割り込みを検出した場合には、その旨を割り込み制
御回路99へ通知し、該実効アドレスをEAR95へ書
き込む。また、命令実行完了時には、その旨を命令発行
確認部17,51へ通知する。
【0103】また、ストア命令実行部87は、ストア命
令が供給された場合、汎用レジスタ45から読み出した
値から実効アドレスを求め、実効アドレスに対応するメ
モリ1内の領域へ汎用レジスタ45から読み出したデー
タを書き込む。また、命令を実行する際に割り込みを検
出した場合には、その旨を割り込み制御回路49へ通知
し、該実効アドレスをEAR95へ、該ストアデータを
EDR97へ書き込む。そして、命令実行完了時には、
その旨を命令発行確認部17,51へ通知する。
【0104】また、浮動小数点ロード命令実行部89
は、浮動小数点ロード命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域からデータを読
み出し、その結果を浮動小数点レジスタ47へ書き込
む。なお、命令を実行する際に、割り込みを検出した場
合には、その旨を割り込み制御回路49へ通知し、該実
効アドレスをEAR95へ書き込む。また、命令実行完
了時には、その旨を命令発行確認部17,51へ通知す
る。
【0105】また、浮動小数点ストア命令実行部91
は、浮動小数点ストア命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域へ浮動小数点レ
ジスタ47から読み出したデータを書き込む。また、命
令を実行する際に、割り込みを検出した場合には、その
旨を割り込み制御回路49へ通知し、該実効アドレスを
EAR95へ、該ストアデータをEDR97へ書き込
む。そして、命令実行完了時には、その旨を命令発行確
認部17,51へ通知する。
【0106】なお、他の点においては、本実施の形態3
に係る計算機は、上記実施の形態1に係る計算機と同
様、図3に示されたフローチャートに従って動作する。
【0107】以上より、本発明の実施の形態3に係る計
算機によっても、上記実施の形態1に係る計算機と同様
に、簡易な構成によりハードウェアの有効稼働率を下げ
ることなく割り込み処理を実行することができる。 [実施の形態4]図10は、本発明の実施の形態4に係
る計算機の構成を示す図である。図10に示されるよう
に、本実施の形態4に係る計算機は、図4に示された上
記実施の形態2に係る計算機と同様な構成を有するが、
レジスタ制御部103に含まれたEAR105は命令実
行部101に含まれたロード命令実行部86とストア命
令実行部88、浮動小数点ロード命令実行部90及び浮
動小数点ストア命令実行部92に接続され、EDR10
7はストア命令実行部88及び浮動小数点ストア命令実
行部92に接続される点で相違する。
【0108】また、割り込み制御部110に含まれた割
り込み制御回路109はESFR71とEPCR73及
びESR75にのみ接続され、EAR105及びEDR
107に接続されない点で相違する。
【0109】上記のような構成を有する実施の形態4に
係る計算機においては、ロード命令実行部86は、ロー
ド命令が供給された場合、汎用レジスタ45から読み出
した値から実効アドレスを求め、実効アドレスに対応す
るメモリ1内の領域からデータを読み出し、その結果を
汎用レジスタ45へ書き込む。なお、命令を実行する際
に、割り込みを検出した場合には、その旨を割り込み制
御回路109へ通知し、該実効アドレスをEAR105
へ書き込む。また、命令実行完了時には、その旨を命令
発行確認部65へ通知する。
【0110】また、ストア命令実行部88は、ストア命
令が供給された場合、汎用レジスタ45から読み出した
値から実効アドレスを求め、実効アドレスに対応するメ
モリ1内の領域へ汎用レジスタ45から読み出したデー
タを書き込む。また、命令を実行する際に割り込みを検
出した場合には、その旨を割り込み制御回路109へ通
知し、該実効アドレスをEAR105へ、該ストアデー
タをEDR107へ書き込む。そして、命令実行完了時
には、その旨を命令発行確認部65へ通知する。
【0111】また、浮動小数点ロード命令実行部90
は、浮動小数点ロード命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域からデータを読
み出し、その結果を浮動小数点レジスタ47へ書き込
む。なお、命令を実行する際に、割り込みを検出した場
合には、その旨を割り込み制御回路109へ通知し、該
実効アドレスをEAR105へ書き込む。また、命令実
行完了時には、その旨を命令発行確認部65へ通知す
る。
【0112】また、浮動小数点ストア命令実行部92
は、浮動小数点ストア命令が供給された場合、汎用レジ
スタ45から読み出した値から実効アドレスを求め、実
効アドレスに対応するメモリ1内の領域へ浮動小数点レ
ジスタ47から読み出したデータを書き込む。また、命
令を実行する際に、割り込みを検出した場合には、その
旨を割り込み制御回路109へ通知し、該実効アドレス
をEAR105へ、該ストアデータをEDR107へ書
き込む。そして、命令実行完了時には、その旨を命令発
行確認部65へ通知する。
【0113】なお、他の点においては、本実施の形態4
に係る計算機は、上記実施の形態2に係る計算機と同
様、図5から図8に示されたフローチャートに従って動
作する。
【0114】以上より、本発明の実施の形態4に係る計
算機によっても、上記実施の形態2に係る計算機と同様
に、簡易な構成によりハードウェアの有効稼働率を下げ
ることなく割り込み処理を実行することができる。
【発明の効果】上述の如く、本発明に係る計算機とその
制御方法によれば、割り込み処理を行う必要が生じた場
合には、その時点のデータを保持することにより、割り
込みが生じる前の命令を再実行する必要を回避して割り
込み処理後の動作を効率的に継続するため、ハードウェ
アの稼働率を下げることなく割り込み処理を実行するこ
とができる。
【0115】ここで、データ保持手段を複数個並設すれ
ば、割り込みが発生し得る複数の命令を並列的に実行す
ることができるため、命令の実行をさらに効率化するこ
とができる。
【図面の簡単な説明】
【図1】従来の計算機の構成を示す図である。
【図2】本発明の実施の形態1に係る計算機の構成を示
す図である。
【図3】図2に示された計算機による割り込み処理動作
を示すフローチャートである。
【図4】本発明の実施の形態2に係る計算機の構成を示
す図である。
【図5】図4に示された計算機による第一の割り込み処
理動作を示す第一のフローチャートである。
【図6】図4に示された計算機による第一の割り込み処
理動作を示す第二のフローチャートである。
【図7】図4に示された計算機による第二の割り込み処
理動作を示す第一のフローチャートである。
【図8】図4に示された計算機による第二の割り込み処
理動作を示す第二のフローチャートである。
【図9】本発明の実施の形態3に係る計算機の構成を示
す図である。
【図10】本発明の実施の形態4に係る計算機の構成を
示す図である。
【符号の説明】
1 メモリ 3 命令読み出し部 5,50,63,83,101 命令実行部 6,60,69,93,103 レジスタ制御部 7,70,80,100,110 割り込み制御部 9 命令読み出し制御部 11 命令語レジスタ(IR) 13 プログラムカウンタ(PC) 15,16,54 命令デコード部(DEC) 17,18,51,65 命令発行確認部 19,21 OR回路 23 セレクタ(SEL) 25,85,86 ロード命令実行部 27,87,88 ストア命令実行部 29 演算命令実行部 31,52,67 他命令実行部 33,89,90 浮動小数点ロード命令実行部 35,91,92 浮動小数点ストア命令実行部 37 浮動小数点演算命令実行部 39 レジスタ(PCSR) 41 レジスタ(EPSR) 43 レジスタ(PSR) 45 汎用レジスタ 47 浮動小数点レジスタ 49,61,81,99,109 割り込み制御回路 53,73 レジスタ(EPCR) 55,75 レジスタ(ESR) 57,77,95,105 レジスタ(EAR) 59,79,97,107 レジスタ(EDR) 71 有効フラグ(ESFR)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 泰基 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B098 DD02 DD08

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 割り込み処理を行う計算機であって、 前記プログラムに記された命令の実行途中で前記割り込
    み処理を行う必要が生じた場合には、前記割り込み処理
    を開始する時点におけるデータを保持するデータ保持手
    段を備えたことを特徴とする計算機。
  2. 【請求項2】 前記データ保持手段は複数個並設される
    請求項1に記載の計算機。
  3. 【請求項3】 各々の前記データ保持手段に対応して設
    けられ、前記データを保持しているか否かを示す複数の
    有効フラグをさらに備えた請求項2に記載の計算機。
  4. 【請求項4】 データを記憶する記憶手段をさらに備
    え、前記データ保持手段は、前記記憶手段へデータを書
    き込むことを要求するストア命令の実行途中において割
    り込みが発生した時点において、前記記憶手段への書き
    込み対象とされるデータを保持する請求項1に記載の計
    算機。
  5. 【請求項5】 前記データ保持手段は、前記割り込み処
    理の起因となる命令の命令アドレスをさらに保持する請
    求項4に記載の計算機。
  6. 【請求項6】 前記データ保持手段は、前記割り込み処
    理の要因を示すデータをさらに保持する請求項4に記載
    の計算機。
  7. 【請求項7】 前記データ保持手段は、前記記憶手段に
    対するデータの読み書きを要求するロード命令又はスト
    ア命令の実行途中において割り込みが発生した場合に
    は、前記ロード命令又はストア命令の実効アドレスをさ
    らに保持する請求項4に記載の計算機。
  8. 【請求項8】 割り込み処理を行うよう計算機を制御す
    る方法であって、 前記プログラムに記された命令の実行途中で前記割り込
    み処理を行う必要が生じた場合には、前記割り込み処理
    を開始する時点において生成されているデータを保持さ
    せるステップを有することを特徴とする計算機の制御方
    法。
  9. 【請求項9】 前記ステップでは、前記計算機に付設さ
    れた記憶手段へデータを書き込むことを要求するストア
    命令の実行途中において割り込みが発生した時点におい
    て、前記記憶手段への書き込み対象とされるデータを保
    持させる請求項8に記載の計算機の制御方法。
JP2000386032A 2000-12-19 2000-12-19 計算機とその制御方法 Pending JP2002189603A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000386032A JP2002189603A (ja) 2000-12-19 2000-12-19 計算機とその制御方法
US09/938,496 US20020078286A1 (en) 2000-12-19 2001-08-27 Computer and control method of the computer
EP01307267A EP1217519A3 (en) 2000-12-19 2001-08-28 Computer and control method of the computer
KR1020010057094A KR100765867B1 (ko) 2000-12-19 2001-09-17 계산기와 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000386032A JP2002189603A (ja) 2000-12-19 2000-12-19 計算機とその制御方法

Publications (1)

Publication Number Publication Date
JP2002189603A true JP2002189603A (ja) 2002-07-05

Family

ID=18853202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000386032A Pending JP2002189603A (ja) 2000-12-19 2000-12-19 計算機とその制御方法

Country Status (4)

Country Link
US (1) US20020078286A1 (ja)
EP (1) EP1217519A3 (ja)
JP (1) JP2002189603A (ja)
KR (1) KR100765867B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2940575B1 (en) * 2014-05-02 2018-05-09 Nxp B.V. Controller circuits, data interface blocks, and methods for transferring data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58189739A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
EP0208181A1 (en) * 1985-06-28 1987-01-14 Hewlett-Packard Company Programme counter queue for a pipelined processor
JPS63245529A (ja) * 1987-03-31 1988-10-12 Toshiba Corp レジスタ退避復元装置
US5222241A (en) * 1987-06-05 1993-06-22 Mitsubishi Denki Kabushiki Kaisha Digital signal processor having duplex working registers for switching to standby state during interrupt processing
US5182811A (en) * 1987-10-02 1993-01-26 Mitsubishi Denki Kabushiki Kaisha Exception, interrupt, and trap handling apparatus which fetches addressing and context data using a single instruction following an interrupt
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
DE4211245B4 (de) * 1991-04-05 2009-05-14 Kabushiki Kaisha Toshiba, Kawasaki Prozessorsystem in Parallelverarbeitungsbauart und Verfahren zu dessen Steuerung
DE69231957T2 (de) * 1991-10-21 2002-04-04 Kabushiki Kaisha Toshiba, Kawasaki Hochgeschwindigkeitsprozessor zum fähiger Abhandeln mehrerer Unterbrechungen
JPH0877021A (ja) * 1994-09-01 1996-03-22 Fujitsu Ltd 割込処理装置および方法
JP3439033B2 (ja) * 1996-07-08 2003-08-25 株式会社日立製作所 割り込み制御装置及びプロセッサ
DE69826539D1 (de) * 1997-01-30 2004-11-04 Sgs Thomson Microelectronics Cachespeichersystem
US6098167A (en) * 1997-03-31 2000-08-01 International Business Machines Corporation Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution
JP3097648B2 (ja) * 1998-02-04 2000-10-10 日本電気株式会社 情報処理装置及び情報処理方法
US6510480B1 (en) * 1998-08-25 2003-01-21 Matsushita Electric Industrial Co., Ltd. Data transfer circuit and data processing method using data transfer circuit for handling interruption processing
US6216193B1 (en) * 1998-09-03 2001-04-10 Advanced Micro Devices, Inc. Apparatus and method in a network interface for recovering from complex PCI bus termination conditions
KR20000024937A (ko) * 1998-10-02 2000-05-06 윤종용 순간전원 오프시 데이터 보존방법
US6681280B1 (en) * 1998-10-29 2004-01-20 Fujitsu Limited Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
JP2001005676A (ja) * 1999-06-18 2001-01-12 Mitsubishi Electric Corp 割り込み処理装置
EP1109096A3 (en) * 1999-12-17 2004-02-11 Fujitsu Limited Processor and method of controlling the same

Also Published As

Publication number Publication date
EP1217519A2 (en) 2002-06-26
EP1217519A3 (en) 2004-11-03
US20020078286A1 (en) 2002-06-20
KR20020050087A (ko) 2002-06-26
KR100765867B1 (ko) 2007-10-11

Similar Documents

Publication Publication Date Title
US4755966A (en) Bidirectional branch prediction and optimization
US6301655B1 (en) Exception processing in asynchronous processor
TWI786181B (zh) 在例外遮罩更新指令之後允許未中止的交易處理
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JP2016519375A (ja) パイプラインソフトウェアの動的な最適化
US5440703A (en) System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
JPS6250934A (ja) 処理装置の割込制御方式
JP7124670B2 (ja) 演算処理装置及び演算処理装置の制御方法
US10853223B2 (en) Simulation of transactions
JP2002189603A (ja) 計算機とその制御方法
JP6882320B2 (ja) ベクトル命令の処理
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH1196006A (ja) 情報処理装置
JP2001117886A (ja) プロセッサ及びプロセッサシステム
JP2765831B2 (ja) データ処理装置
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
JP3766772B2 (ja) 情報処理装置、例外回復処理方法および記録媒体
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP5112831B2 (ja) データ処理装置及びデータ処理装置の制御方法
JPH0133856B2 (ja)
JPH05165652A (ja) タスク切替え制御方法
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
JP5718600B2 (ja) 情報処理システム、および、情報処理方法
TW202418068A (zh) 處理器及自處理器偵測軟錯誤的方法
JP3029355B2 (ja) 命令のシングルステップ実行方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304