JP2671160B2 - 例外処理方式 - Google Patents

例外処理方式

Info

Publication number
JP2671160B2
JP2671160B2 JP2068114A JP6811490A JP2671160B2 JP 2671160 B2 JP2671160 B2 JP 2671160B2 JP 2068114 A JP2068114 A JP 2068114A JP 6811490 A JP6811490 A JP 6811490A JP 2671160 B2 JP2671160 B2 JP 2671160B2
Authority
JP
Japan
Prior art keywords
instruction
memory access
access
queue
register
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
JP2068114A
Other languages
English (en)
Other versions
JPH03269628A (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.)
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 JP2068114A priority Critical patent/JP2671160B2/ja
Publication of JPH03269628A publication Critical patent/JPH03269628A/ja
Application granted granted Critical
Publication of JP2671160B2 publication Critical patent/JP2671160B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • 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
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

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)

Description

【発明の詳細な説明】 〔概 要〕 仮想記憶計算機システムにおいて、メモリアクセス命
令とその後続命令の実行をオーバーラップさせて実行さ
せる場合の例外処理方式に関し、 アクセス例外が発生した場合に、その例外処理後に、
例外発生時に実行しようとした処理に戻って、再スター
トできるようにすることを目的とし、 仮想記憶計算機システムにおいて、順次に命令列を実
行する実行手段と、データを格納するレジスタと、命令
の実行時に書き込み対象のレジスタ番号を記憶しておく
レジスタスコアボードと、先行命令と後続命令とでレジ
スタの干渉を調べる比較手段と、前記命令列の中の実行
すべきメモリアクセス命令をメモリアクセスキューに格
納するメモリアクセスキュー構成手段と、アクセス例外
発生時にアクセスエラー信号を出力するエラー信号出力
手段を有し、前記メモリアクセス命令に従ってアドレス
変換するアドレス変換手段と、アクセス例外発生時に前
記メモリアクセスキュー構成手段の格納内容をセーブさ
せるとともに例外処理終了後にセーブした内容を前記メ
モリアクセスキュー構成手段にリストアするメモリアク
セスセーブキュー構成手段とを備えた構成としたもので
ある。
〔産業上の利用分野〕
本発明は、仮想記憶計算機システムにおいて、メモリ
アクセス命令とその後続命令の実行をオーバーラップさ
せて実行させる場合の例外処理方式に関する。
〔従来の技術〕
従来、仮想記憶計算機システムでは、第4図に示すよ
うに、処理部1と、その処理部1からの命令により論理
(仮想)アドレスと物理(実)アドレスとの変換をして
読み出しまたは書き込みをする等のデータ入出力管理を
するメモリ制御部2と、そのメモリ制御部2を介して必
要なデータを読み出す主記憶部3を備えている。
処理部1には、命令列の実行手段1aと、主記憶部3か
ら読み出したデータを書き込むレジスタ1bと、実行する
命令が格納されているレジスタの番号を格納してレジス
タ管理をするレジスタスコアボード1cと、先に実行して
いる命令とその後から実行する後続命令とが干渉するか
否かをチェックする比較手段1dとを備えている。
メモリ制御部2には、処理部1からのメモリアクセス
命令を格納するメモリアクセスキュー構成手段2aと、そ
のメモリアクセスキュー構成手段2aに格納されたメモリ
アクセス命令に従ってアドレス変換して必要とするデー
タの格納位置を指定するアドレス変換機構2bとを備えて
いる。
通常、この方式では処理部1が主記憶部3からデータ
を読み込む時間は、レジスタ間の転送あるいは演算等の
時間と比べて長く掛かり、メモリアクセス命令を発光し
てからそのアクセスが完了するまでの時間を、見掛上短
縮させるために、先行する命令のメモリアクセスを実行
している間に、次の命令を実行させるようにしている。
この仮想記憶計算機システムにおける例外処理方式で
は、先行する命令のメモリアクセスを実行している間に
次の命令を実行させる場合、先行命令が主記憶部3から
の読み込み命令の時には、この命令の宛先に指定されて
いるレジスタ1bの値を後続命令で使用することがある。
この時次命令は、先行命令(読み込み命令)が完了する
まで待たされ、先行命令の完了前に次命令を実行しては
ならない。
その為、先行命令の宛先に指定されているレジスタ番
号を格納しているレジスタスコアボード1cにフラグを付
け、後続命令の中で先行命令の宛先に指定されているレ
ジスタ番号と干渉するものがあるか比較手段1dにおいて
比較し、チェックする方法がとられている。
しかしながら、この方法では、メモリアクセス命令で
アクセス例外(アクセスエラー)が発生した場合に、レ
ジスタスコアボード1cにフラグが残ったままになり、割
込処理プログラムの実行が停止されてしまう。
またこの方法では、先行するメモリアクセス命令でペ
ージフォールト等のアクセス例外が発生した場合に、こ
の例外を発生させたメモリアクセス命令よりも後の命令
を実行してしまっていることがあるため、ページを実記
憶に割付けた後に例外を起こしたメモリアクセス命令か
ら再実行させる方法では、プログラムの再開が不可能に
なる。
〔発明が解決しようとする課題〕
上記従来の仮想記憶計算機システムにおける例外処理
方式では、先行命令の宛先に指定されているレジスタ番
号を格納しているレジスタスコアボード1cにフラグを付
け、後続命令の中で先行命令の宛先に指定されているレ
ジスタ番号と干渉するものがあるかを比較手段1dにおい
て比較する方法を採る。しかし、メモリアクセス命令で
アクセス例外が発生した場合に、レジスタスコアボード
1cにフラグが残ったままになり、割込処理プログラムの
実行が停止される。又、先行するメモリアクセス命令で
ページフォールト等のアクセス例外が発生した場合に、
この例外発生命令よりも後の命令を実行してしまってい
る。ページを実記憶に付けた後に例外を起こしたメモリ
アクセス命令から再実行させる方法を採るものでは、プ
ログラムの再開が不可能になる等々により、それまでの
処理は無駄になってしまう。従って、これに対処する為
には、システムを落して再起動するか、処理を始めから
やり直さなければならないという問題点があった。
本発明は、上記問題点に鑑みて成されたものであり、
その解決を目的として設定される技術的課題は、アクセ
ス例外が発生した場合に、その例外処理後に、例外発生
時に実行しようとした処理に戻って再スタートできるよ
うにした例外処理方式を提供することにある。
〔課題を解決するための手段〕
本発明は、上記課題を解決するための具体的な手段と
して、例外処理方式を構成するにあたり、第1図に示す
ように、仮想記憶計算機システムにおいて、順次に命令
列を実行する実行手段11と、データを格納するレジスタ
12と、命令の実行時に書き込み対象のレジスタ番号を記
憶しておくレジスタスコアボード14と、先行命令と後続
命令とがレジスタの干渉を起こすかを調べる比較手段15
と、前記命令列の中の実行すべきメモリアクセス命令を
メモリアクセスキューに格納するメモリアクセスキュー
構成手段16と、アクセス例外発生時にアクセスエラー信
号を出力するエラー信号出力手段17aを有し、前記メモ
リアクセス命令に従ってアドレス変換するアドレス変換
手段17と、アクセス例外発生時に前記メモリアクセスキ
ュー構成手段16の格納内容をセーブさせるとともに例外
処理終了後にセーブした内容を前記メモリアクセスキュ
ー構成手段16にリストアするメモリアクセスセーブキュ
ー構成手段18とを備えたものである。
〔作 用〕
本発明は上記構成により、アクセス例外発生時にアド
レス変換手段17のエラー信号出力手段17aからレジスタ
スコアボード14およびメモリアクセスキュー構成手段16
にアクセスエラー信号を出力し、レジスタスコアボード
14の内容をクリアするとともに、メモリアクセスキュー
構成手段16の内容をメモリアクセスセーブキュー構成手
段18にセーブし、その後にメモリアクセスキュー構成手
段16のクリアして例外処理の前処理をし、例外処理後に
はメモリアクセスセーブキュー構成手段18にセーブした
内容をメモリアクセスキュー構成手段16にリストアさせ
て、処理再開時の実行すべきキューを元に戻す。このた
め、メモリからデータを読み出してレジスタに格納する
際に、同一レジスタを待っている後続操作を止めるため
にレジスタスコアボード14を使用している際に、一旦、
レジスタスコアボード14はリセットし、例外を発生した
命令およびその後に残った未実行の命令を、例外後に再
開した時に、レジスタスコアボード14がセットされ、後
続操作が例外処理後の正しいデータを読み出して動作す
る。
〔実施例〕
以下、本発明の実施例として、アドレス変換機構から
の信号により、アクセスエラー時にレジスタスコアボー
ドの内容をクリアすることができるようにした場合につ
いて、第2図により図示説明する。
ここで、21はCPU(中央処理装置)であり仮想記憶空
間を利用して必要な処理をする。22はアクセスユニット
で、仮想記憶の利用を管理するメモリ制御部を構成す
る。23は主記憶装置で、外部記憶装置24の内容を取り込
み、仮想記憶空間を構成する。
CPU21には、命令列を構成し、構成した命令列を順に
実行する命令列の実行手段31と、仮想記憶から読み出し
たデータを書き込むレジスタ32と、レジスタ32に格納さ
れたデータを計算する演算手段33と、レジスタ32の配列
に合せてフラグ格納位置を配列させ実行する命令のレジ
スタ番号に対応させたフラグが格納できるようにしたレ
ジスタスコアボード34と、先に実行している命令とその
後続命令とが干渉するか否かをチェックする比較手段35
とを備える。
アクセスユニット22には、CPU21からのロード命令ま
たはライト命令等のメモリアクセス命令を格納するメモ
リアクセスキュー構成手段36と、アクセス例外発生時に
メモリアクセスキュー構成手段36およびレジスタスコア
ボード34へアクセスエラー信号を出力するエラー信号出
力手段37aを有し、メモリアクセスキュー構成手段36に
格納されたメモリアクセス命令に従ってアドレス変換し
て必要とするデータの格納位置を指定するアドレス変換
機構37と、アクセス例外の発生時にメモリアクセスキュ
ー構成手段36からその格納内容を全てセーブして例外処
理後の再開時にセーブした内容をメモリアクセスキュー
構成手段36にリストアするメモリアクセスセーブキュー
構成手段38とを備える。
このように構成した実施例による処理手順は、第3図
に示すように、処理を進めていく。
まず、CPU21が命令列の順に処理を進めるにあたっ
て、1つの命令を実行する前に、アドレス変換機構37か
らアクセスエラーが出力されたか否か、すなわち、アク
セス例外が発生しているかいないかをチェックする(ス
テップ41)。アクセス例外が発生している場合にはステ
ップ52()へ飛び越し、アクセス例外が発生していな
い場合には次のステップへ進み、命令をデコードする
(ステップ42)。
デコードした命令がメモリアクセス命令かチェックす
る(ステップ43)。メモリアクセス命令であれば、アク
セスユニット22にメモリアクセス要求を出して、メモリ
アクセス命令をメモリアクセスキュー構成手段36に格納
する(ステップ44)。
その格納した命令がロード命令かチェックする(ステ
ップ45)。ロード命令であれば、ディスティネーション
レジスタ番号に対応するレジスタスコアボードのフラグ
をセットし(ステップ46)、また、ロード命令でなけれ
ばステップ47へ飛び越す。
そして、メモリアクセスを開始し(ステップ47)、ア
クセス終了後、ステップ42へ戻る。
ステップ43のチェックで、命令がメモリアクセス命令
でなかった場合、レジスタスコアボード34の中の、実行
しようとする命令のソースレジスタ番号に対応するフラ
グが、オンになっているかいないかを比較手段35により
チエックする(ステップ48)。そのフラグがオフであれ
ば直ちにその(ロード命令でない)命令を実行し、ステ
ップ42へ戻る(ステップ49)。
ソースレジスタ番号に対応するフラグがオンの場合に
は、アクセス例外が発生しているかいないかをチェック
する(ステップ51)。アクセス例外が発生していなけれ
ばステップ48へ戻る。
アクセス例外が発生している場合には、アクセスユニ
ット22においてアドレス変換機構37のエラー信号出力手
段37aからアクセスエラー信号を出力し、例外処理に移
行する。メモリアクセスキュー構成手段36の内容をメモ
リアクセスセーブキュー構成手段38に格納して、キュー
の退避を行い、メモリアクセスキュー構成手段36をクリ
アし(ステップ52)、同時にレジスタスコアボード34を
クリアして(ステップ53)、割込み動作を開始する(ス
テップ54)。
割込み処理55としては、セーブしたキューの内容をい
ったん他の記憶領域に移してセーブし、キューの格納場
所をあけて例外に対応した処理のキューを導入できるよ
うにし(ステップ56)、それから、例えばページの割り
付け等のアクセス例外に対応する処理を実行し(ステッ
プ57)、その対応処理が終了した後、他の記憶領域に移
してセーブしたキユーの内容を元に戻し、リストアする
(ステップ58)。リストア終了後、元の処理に復帰させ
るために割込みからの戻り命令(リターン命令)を発行
する(ステップ59)。
割込み処理から戻ると、CPU21は割込みからの戻り命
令を実行する際、アクセスユニット22においてメモリア
クセスセーブキュー構成手段38に格納した内容をメモリ
アクセスキュー構成手段36に戻し、キューを復元する
(ステップ60)。キューの復元後、メモリアクセスキュ
ー構成手段36の内容に従ってメモリアクセスを再開する
(ステップ61)。メモリアクセスを再開するにあたっ
て、その命令がロード命令であれば、宛先に指定されて
いるレジスタ番号に対応したレジスタスコアボード34の
ビットをセットして(ステップ62)、割込み復帰後の処
理を実行してステップ42へ戻る(ステップ63)。
このように実施例では、割り込み処理ルーチンのオー
バヘッドを増大させることなく、メモリアクセス命令の
突き離し制御が可能になる。
これにより、メモリアクセス命令と演算命令とをオー
バーラップさせて実行させることにより、処理の高速化
ができ、命令の実行性能を向上させることができる。
〔発明の効果〕
以上のように本発明では、アクセス例外発生時に、エ
ラー信号出力手段17aからアクセスエラー信号を出力し
て、レジスタスコアボード14の内容をクリアするととも
に、メモリアクセスキュー構成手段16の内容をメモリア
クセスセーブキュー構成手段18にセーブし、その後にメ
モリアクセスキュー構成手段16をクリアして例外処理に
対する前処理をし、例外処理後には、メモリアクセスセ
ーブキュー構成手段18にセーブした内容をメモリアクセ
スキュー構成手段16にリストアさせて、処理再開時の実
行すべきキューを元に戻すことができるようにしたこと
により、例外を起こしたメモリ領域に、データを置いて
おき、退避してあるアクセスキューの情報を復元してや
ることで、ハードは、復元されたアクセスを再開する
が、その時に、レジスタスコアボード14もまたセットす
るため、割り込み発生時の命令アドレス以降の命令とア
クセスキューに残留している命令との間で、レジスタ干
渉があった場合でも動作順序を保障でき、ソフトウェア
による全ての復元操作を不要とするため、例外処理のオ
ーバーヘッドを削減できる。また、ページフォルト等の
アクセス例外発生時にオーバーヘッドを増加させること
なく複数のメモリアクセス命令を突き離し制御可能にす
ることができ、メモリアクセス命令とそれに続く演算命
令をオーバーラップさせて実行することができ、処理の
高速化が実現できる。
【図面の簡単な説明】
第1図は、本発明の構成説明図、 第2図は、実施例の構成説明図、 第3図は、実施例の処理手順を示す流れ図、 第4図は、従来例の構成図。 11……命令列の実行手段 12……レジスタ 14……レジスタスコアボード 15……比較手段 16……メモリアクセスキュー構成手段 17……アドレス変換手段 17a……エラー信号出力手段 18……メモリアクセスセーブキュー構成手段 19……記憶手段
フロントページの続き (56)参考文献 特開 平3−158929(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想記憶計算機システムにおいて、 順次に命令列を実行する実行手段(11)と、 データを格納するレジスタ(12)と、 命令の実行時に書き込み対象のレジスタ番号を記憶して
    おくレジスタスコアボード(14)と、 先行命令と後続命令とでレジスタの干渉を調べる比較手
    段(15)と、 前記命令列の中の実行すべきメモリアクセス命令をメモ
    リアクセスキューに格納するメモリアクセスキュー構成
    手段(16)と、 アクセス例外発生時にアクセスエラー信号を出力するエ
    ラー信号出力手段(17a)を有し、前記メモリアクセス
    命令に従ってアドレス変換するアドレス変換手段(17)
    と、 アクセス例外発生時に前記メモリアクセスキュー構成手
    段(16)の格納内容をセーブさせるとともに例外処理終
    了後にセーブした内容を前記メモリアクセスキュー構成
    手段(16)にリストアするメモリアクセスセーブキュー
    構成手段(18)と、 を備えたことを特徴とする例外処理方式。
JP2068114A 1990-03-20 1990-03-20 例外処理方式 Expired - Fee Related JP2671160B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2068114A JP2671160B2 (ja) 1990-03-20 1990-03-20 例外処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2068114A JP2671160B2 (ja) 1990-03-20 1990-03-20 例外処理方式

Publications (2)

Publication Number Publication Date
JPH03269628A JPH03269628A (ja) 1991-12-02
JP2671160B2 true JP2671160B2 (ja) 1997-10-29

Family

ID=13364397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2068114A Expired - Fee Related JP2671160B2 (ja) 1990-03-20 1990-03-20 例外処理方式

Country Status (1)

Country Link
JP (1) JP2671160B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398330A (en) 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
JPH06242948A (ja) * 1993-02-16 1994-09-02 Fujitsu Ltd パイプライン処理計算機
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504235B2 (ja) * 1989-11-16 1996-06-05 三菱電機株式会社 デ―タ処理装置

Also Published As

Publication number Publication date
JPH03269628A (ja) 1991-12-02

Similar Documents

Publication Publication Date Title
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
JPH0450621B2 (ja)
US6038631A (en) Data processing system and method using virtual storage system
JPS58121457A (ja) 情報処理装置
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JP2671160B2 (ja) 例外処理方式
JPH1196006A (ja) 情報処理装置
EP0206335B1 (en) Interruption method for a data processing system
JPS58178464A (ja) 並列演算処理装置
JP2783285B2 (ja) 情報処理装置
JPS601655B2 (ja) デ−タプリフェツチ方式
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JPH0133856B2 (ja)
JP2000029690A (ja) デ―タ処理の方法および装置
JPH04181331A (ja) 命令リトライ方式
JPS59172044A (ja) 命令制御方式
JPH0368034A (ja) チェックポイント再試行方式
JP3130798B2 (ja) バス転送装置
JP2814683B2 (ja) 命令処理装置
JPS6149695B2 (ja)
JPS61117635A (ja) 仮想記憶制御方式
JPS59189452A (ja) デ−タ処理装置用キユ−構造
US20020078286A1 (en) Computer and control method of the computer
JPS6212555B2 (ja)
JPH01258154A (ja) マイクロ命令実行制御方式

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees