JPS6280743A - アドレス変換例外処理方法 - Google Patents

アドレス変換例外処理方法

Info

Publication number
JPS6280743A
JPS6280743A JP61201904A JP20190486A JPS6280743A JP S6280743 A JPS6280743 A JP S6280743A JP 61201904 A JP61201904 A JP 61201904A JP 20190486 A JP20190486 A JP 20190486A JP S6280743 A JPS6280743 A JP S6280743A
Authority
JP
Japan
Prior art keywords
exception
storage
address
information
operations
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
JP61201904A
Other languages
English (en)
Other versions
JPH0450621B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6280743A publication Critical patent/JPS6280743A/ja
Publication of JPH0450621B2 publication Critical patent/JPH0450621B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は仮想記憶システムに関し、さらに詳しくいえば
、要求時ページング手法を用いる仮想記憶システムにお
けるアドレス変換例外の処理に関する。
B、従来技術及び問題点 高アクセス速度、小容量のメモリを主記憶装置、低アク
セス速度、大容量のメモリを補助記憶装置として用いる
階層記憶システムを構成することができる。主記憶装置
は通常集積回路メモリであり、補助記憶袋eは通常磁気
ディスク記憶装置である。
主記憶装置の目的は処理モジュールとの間で適切な転送
速度を与えることであり、データ及びその他の情報は要
求に応じて補助記憶装置から主記憶装置に転送される。
要求された情報がその要求の時点において主記憶装置に
ないとき、要求された情報を補助記憶装置から主記憶装
置に自動釣に転送する能力を階層記憶システムに付与す
るととてより仮想記憶システムを構成することができる
この方法の場合、主記憶装置の大きさL(基く固有の制
限はユーザの関知しないところである。
仮想記憶装置の利点は、プログラムであれ、データであ
れ、計算の進行ヒ必要とされる記憶情報の全てを同時に
主記憶装置に記憶する必要がなく、長期間にわたって、
一部の情報を補助記憶装置に常駐させておけることであ
る。この利点は主記憶装置はビット当りにすると補助記
憶装置よりも一般に高価であるという事実から明らかで
ある。仮想記憶アプリケーションの場合、情報は幾つか
のセグメントに分割されるので、計算の進行中、1つの
セグメントの情報は主記憶装置に完全に存在するか、ま
たは全く存在しないかのいずれかである。全てのセグメ
ントが同じ大きさであるときは、それらは一般1でペー
ジと呼ばれ、その場合主記憶装置は、丁度1ページを含
むことができる記憶の単位であるいわゆるページ・フレ
ームに再分割される。
仮想記憶システムでは、不在ページに対するアクセスが
要求されるまで計算が最大レートで進行できるように、
要求時ページング手法が用いられる。そのような要求は
ページ不在と呼ばれる。ページ不在を引起した計算は必
要なページが補助記憶装置から主記憶装置に供給さ2す
るまで停止される。新しいページが主記憶装置に供給さ
れると、ページ不在が生じたとき主記憶装置て既に存在
していた他の幾つかのページを、新しいページのための
場所をあけるため補助記憶装置に送り返されねばならな
い。所定のプログラムに対して主記憶装置に設けられた
ページまたはページ・フレームの数はプログラム・ウィ
ンドウ・サイズとして定義される。異なるプログラム、
所定のプログラム内の異なるプロセス、さらには異なる
データ内の同じプロセスでさえ異なるフログラム・ウィ
ンドウ・サイズを要求できる。何度も呼び出される少数
の命令を要求するプロセスもあれば、長い命令ストリン
グを要求するプロセスもある。又、一時に比較的少量の
データが要求され、一方で所定の時点において大量のデ
ータが要求されることもある。
記憶装置のアドレス変換を行うコンピュータ・システム
では、制御プログラムは大きな仮想アドレス・スペース
におけるページにどの物理的ページ・フレームが割当て
られるかを決定できなければ7’Cらない。この決定を
なす最も効率的な手法は要求時ページングである。この
手法の場合、物理的ナページ・フレームは、プログラム
中で生じたアドレス変換例外で示される如く、プログラ
ム実行中に要求された場合にだけ仮想ページに割り当て
られる。従って、これらの例外はプログラム実行の通常
の過程で処理されることが必要であり、また障害ルーチ
ンに対して完全にトランスペアレントであることが必要
である。
アドレス指定例外の発生したプログラムを再始動させる
ための基本的手法は2つある。1つは例外を生ぜしめた
命令のところからプログラムを再開するものである。こ
の方法の場合、記憶装置のアドレス変換(必要なら)の
結果が得られるまでどの命令も終了しないこと及び(多
(の場合)部分的に実行された命令を再実行できるよう
これを取り消すことが必要である。フロセッサは次の命
令に進む前に変換の結果を待たねばならず、従ってこの
手法ではオーパラ・ツブが全くないので、性能はあまり
良くない。反面、報告機構(d簡単である。制御プログ
ラムに要求されるのは障害の種類と障害命令のアドレス
を指示することだゆである。
制御プログラムは例外条件を訂正し、障害命令への「割
込みからの彷帰」により障害の生じたルーチンを再始動
する。
アドレス指定例外の発生したプログラムを再始動するた
めの従来の手法のもう1つは、例外が検出された点から
障害の生じたプログラムを再開するものである。これに
よりプロセッサが次の命令の実行とアドレス変換とオー
バラップさせることが可能になるが、障害の生じたプロ
グラムが再始動されるとき障害オペレーションを再始動
できるように、プロセッサは障害オペレーションとつい
ての十分な情報を制御プログラムに与えることが必要で
ある。制御プログラムは元のオペレーションに障害が生
じたとき存在したのと同じフロセッサ状態(例えば問題
状態)の下でこれらのオペレーションを再始動しなけれ
ばならないので、再始動手順は極めて複雑になることが
ある。
命令の実行をアドレス変換と効果的((オーバラップさ
せるためには、記憶装置オペレーションが他の命令から
分離されるように命令セットを定義しなければならない
。例えば、所定の記憶装置ロケーションを増分する命令
はアドレス変換の結果が出なければ完了しない。
障害があった時点で障害命令をその始まりからでなく途
中から再始動するという手法を採るプロセッサもある。
このようにすれば、部分的に実行された命令を取り消す
必要性はなく、場合によっては、障害の生じたプログラ
ムを再始動するとき障害の生じたプログラムを記憶する
ために割当てねばならない仮想ページの数を少なくでき
る。しかしながら、命令をある中間点から再始動できる
ようにするにはプロセッサはその内部状態て関する大量
な情報(100バイト)を保管しなければならない。し
たがって、例外処理及び再始動シーケンスは複雑で非効
率的である。また、命令の実行とアドレス変換との有効
なオーバラップもほとんどないが、これは例外処理アル
ゴリズム及び命令セットの定義により影響を受ける。
他のフロセッサ・アーキテクチャは例外が検出された点
で障害の生じたルーチンが再始動されることを可能にす
るものである8このアーキテクチャハ記憶装置オペレー
ションのタイプ、アドレス及びデータを示す一組のレジ
スタを備えろ。これらのレジスタにおける情報を使って
障害の生じたオペレーションを再始動するため、幾つか
の命令が定義される。この手法はある程度のオーバラッ
プをもたらすが、レジスタに基くものであるため、オー
バラップされる記憶オペレーションの数d1つに制限さ
れる、また、実際には、多重ロード及び多重ストアの方
が頻繁に生じるので、これらのロード及びストアは最大
レートでは実行されないこととなる。
C6問題点を解決するための手段 したがって本発明の目的は、プロセッサの性能及び制御
フログラムの簡明さの両方を考慮した効率的な障害処理
方法を提供することだある。
この目的を達成するため、実記憶領域及び複数のレジス
タを具備し要求時ページング手法を用いる仮想記憶シス
ヤムにおいてアドレス変換例外を処理する本発明の方法
は、甑)記憶装置オペレーションごとに、申この記憶装
置オペレーションのアドレスと、曲この記憶装置オペレ
ーションに関係していたレジスタならびにこの記憶装置
オペレーションの長さ及びタイプについての情報と、 
+iii+この記憶装置オペレーション中に記憶すべき
データと、から成る制御情報を一時的に記憶するステッ
プと、rbl記憶装置オペレーションの障害を示す例外
が発生したとき、例外ステータスブロックを形成するた
めに上記一時的に記憶された制御情報を検索するステッ
プと、(c)前記例外ステータスブロックに含まれる制
御情報に基づいて前記障害のあハた記憶装置オペレーシ
ョンを再始動するステップと、より成ることを特徴とし
ている。
1)、実施例 はじめに本発明の実施例を概説する8 本実施例は、実記憶領域及び複数のレジスタを具備し要
求時ページング手法を用いる仮想記憶システムにおける
アドレス変換例外の処理に関する、本実施例によるアド
レス変換例外処理方法は、記憶装置オペレーションごと
に下記の情報から成る制御情報を一時的に記憶する。
(i)その記憶装置オペレーションについての有効アド
レス (11)その記憶装置オペレーションに関係していたレ
ジスタならびにその記憶装置オペレーションの長さ及び
タイプについての情報 (iii)  その記憶装置オペレーション中に記憶す
べきデータ そして記憶装置オペレーションごとにそれについて一時
的に記憶された制御情報のうち、例外を生せしめるよう
な障害が発生した記憶装置オペレーションについての制
御情報を検索する。こうして取り出された各制御情報が
実記憶領域にそれぞれ例外ステータスブロックとして、
指定された所定のアドレスのところから順番に保管され
る。かくして障害の生じた記憶装置オペレーションの再
始動は、障害の生じた順に行われふ。このため、例外が
幾つ生じたかを示すカウント値が記録される(このカウ
ント値は再始動すべき記憶装置オペレーションの個数を
示すのにも使用される)。
以下、本実施例を詳細に説明する。
実施例 本実施例では障害の生じた記憶装置オペレーションにつ
いての情報の保管を制御するのにプロセッサ内の32ピ
ツトのレジスタを用いる。このレジスタは例外制御レジ
スタ(F:CR)と呼ばれ、フロセッサの他の制御レジ
スタと同様に扱わレルものである。障害の生じた記憶装
置オペレーションについての実際の情報はプロセッサの
主記憶装置に保管される。障害の生じたプログラムが再
始動されるとき、acRu障害の生じたオペレーション
の再始動制御のためにも用いられるう例外制御レジスタ
1寸障害を生じた記憶装置オペレーションについてプロ
セッサにより保管される情報の記憶アトl/スと例外カ
ウント値とを含む。
このレジスタの内容は次のように定義される。
ビット0−3予約済 ビット4−7例外カウント値。この4ビツトのフィール
ドが例外カウント値を含む。プロセッサが例外を報告す
る場合は、このフィールドは例外を生じた記憶装置オペ
レーションの数を示すうプロセッサが障害を生じたオペ
レーションを再始動する場合は、このフィールドにより
オペレーションを幾つ再始動しなければならないかをプ
ロセッサに示す。
ビット8−に1 例外保管アドレス。この24ビツトの
フィールドは実記憶装置のアドレスを含む、プロセッサ
が例外を報告する場合、このフィールトハ障害を生じた
記憶オペレーション(ついテ+7)情報が保管される主
記憶装置のロケーションを示す。7oセツサが障害を生
じたオペレーションを再始動するときは、このフィール
ドにより、障害の生じたオペレーションを再開で芦るよ
うにそれらについて保管された情報をどこから取り出す
べきかをフロセッサに示す。
通常のオペレーション中は、ECR内の例外カウント値
はゼロに設定される。例外保管アドレスは報告し得るオ
ペレーションの最大数(これハ実施例によって異なる)
で情報を保管するために予約された実記憶装置の成るブ
ロックを指定する。
1つの実施例では、各々の例外について16バイトまで
の情報を保管する。保管される実際の情報はプロセッサ
によって異なる。次の第1表は本発明をある特定のプロ
セッサに適用した場合における例外ステータスブロック
の定義である。
第1表 例外ステータスブロックの定義 第1表は障害を生じた特定の記障装置オペレーションに
ついての情報を保管するため用いられる記憶装置におけ
る1つのブロックの定義を示すものである。このブロッ
クのことを、例外ステータスブロックという。1つのブ
ロックは4つのフルワード(1つのフルワードは4バイ
ト幅である)から成る。この例では、使用されるのは1
0バイトだけである。
例外制御ワード 例外ステータスブロックの最初のワードは例外制御ワー
ドである。例外制御ワードは下記のフィールドから成る
3ビツトのフィールドは例外が発生したとき8個のレジ
スタφセットのうちのどれがアクティブであったのかを
示す。
ビット20−23  レジスタ番号。この4ピツトのフ
ィールドは16個の汎用レジスタ(GPR)のうちのど
れが例外を生せしめた記憶装置オペレーションに係わっ
ていたかを示す。ロードの場合は、このレジスタ番号は
どのGPRがロードされていたのかを示す。ストアの場
合は、このレジスタ番号はどのGPRがストア・データ
を含んでいたのかを示す。ロードΦマルチプル(LM)
及びストア・マルチプル(STM)オペレーションの場
合は、このフィールドは例外を生じたロードまたはスト
アの最初のレジスタを示す。
ビット24−25  オペレーション長。この2ビツト
のフィールドは下記の如く、記憶装置オペランドの長さ
を示す。
00 バイト(8ビツト) 01 ハーフワード(16ピツト) 10 フルワード(32ビツト) 11 ハーフワード・テスト・アンド・セットビット2
6−28  オペレーション。この3ビツトのフィール
ドは下記に定義されるような、例外ヲ生シたオペレーシ
ョンのタイプを示す。
000 ロード 001 ロード・マルチプル 010 プログラム式入出力(PIO)読取り011 
代数的ロード(符号−拡張) 100 ストア 101 ストア・マルチフル 11t:I  PIO書込み 111 予約済 ビット29−30  予約済 ビット31取り消し。このビットは例外が検出されたと
きオペレーションが取り消されたかどうかを示す。記憶
装置オペレーションは次の命令の実行上オーバラップさ
れるので、ロードに続(命令がロードされたレジスタを
変更する場合がある。
この場合のロードは取り消される。次に、取り消された
ロードについて例外が検出されたときは、この例外は報
告されるが、ロード・オペレーションは再始動できない
。このビットが1に設定されているときは、オペレーシ
ョンは取り消されており、再始動されない。ゼロに設定
されているときは、オペレーションは取り消されておら
ず、再始動される。
例外アドレス・ワード 例外ステータスブロックの2番目のワードは例外アドレ
ス・ワードである。例外アドレス・ワードは下記の情報
から成る。
ビット0−31 例外アドレス。このq−ドは障害を生
じた記憶装置オペレーションおよび入出力オペレーショ
ンについての32ビツトの有効す記憶アドレスを含む。
例外データ・ワード 例外ステータスブロックの3番目のワードは例外データ
・ワードで1ちる。例外データ・ワードは下記の情報か
ら成る。
ビット0−31 例外データ、障害を生じたオペレーシ
ョンが単一のストアまたは入出力書込入であったときは
、このワードは障害を生じた記憶装置オペレーションま
たは入出力オペレーションについての32ビツトのデー
タ量を含む。障害を生じたオペレーションがロード、ロ
ード・マルチプル、IOR,またはストア・マルチプル
であったときは、このワードは定義されない。
例外ステータスブロックの4番目のワードは予約されて
(・る。
記憶装置オペレーション例外の保管 フロセッサが例外を検出したときは、命令がその記憶オ
ペレーションの成功不成功に依存しないなら、その命令
を完了する。例えば、一方のレジスタが主記憶装置から
既にロードされているような2つのレジスタに関する加
m(ADD)は、そのロードが記憶装置例外を発生して
いたときには完了できない。現在の命令が完了できない
ときは、それは取り消され、プログラムは後でこの命令
のところから再始動される。
現在の命令の完了または取り消しにあたっては、プロセ
ッサは現在全ての記憶装置オペレーションが完了するの
を待たねばならない。これは全ての保留中の記憶装置オ
ペレーションの結果がわかるようにするためである。従
って例外を生じた全てのオペレーションについて情報を
保管しなければならない。また、それらは適切な順序で
保管されねばならない。検出される帰初の例外が最初に
発せられたオペレーションにより生じたものでなかった
という可能性もある。全ての記憶装置オペレーションが
完了し1こと救、70セツサは例外を生シts 各、オ
ペレーションについて、例外を発生した射も新しいオペ
レーションから始まって例外を発生した最も古いオペレ
ーションで終わるよっな1;u番で情報を保管する。各
例外ごとに、その情報を保管する手順は次の通りである
1、ECR内の例外保管アドレスが16(47−ド)だ
け減分される。
2、F:(”R内の例外カウント値が1だけ増加される
8 6、次のオペレーションに関する例外側(財)ワードが
hE CR内の例外保管アドレスにより指定された実記
憶アドレスのところ1.τ保管される。
4 次のオペレーションに関する例外アドレスが、例外
保管アト1/−7に4を加算したもので指定される実記
憶アドレスのところに保管される。ECR内の値は変更
されtcい。
5 次のオペレージコンに関する例外データは、例外保
管アドレスに8を加算1−だもので指定される実記憶ア
ドレスのところに保管される。ECR内の値は変更され
ない。例外データを保管する必要がない場合は、そのt
は意味がない。j2かし、全ての場合を同様に扱う方が
容易である。
全ての例外に関する情報が保管されたとぎ、例外カウン
ト値は幾つのオペレーションを再始動すべきかを示す。
例外保管アドレスは再始動すべき最初のオペレーション
(でついての例外制御ワードを指示する再始動すベヂ他
のオペレーションはその例外保管アドレス争ロケーショ
ンを越えた連続的な主記憶装置ロケーションのところに
、関連情報を有する。これはオペレーションの再始動の
11に番である。
記憶装置オペレーションの再始動 記憶装置オペレーションは「中断からの復帰」シーケン
スの一部として再始動される。それらは新しいブロモジ
→「状態がロードされた後、目標命令ストリームにおけ
る命令が実行される前に再始動される。これはオペレー
ションが元のフロセッサ状態の下で再始動されることを
意味する。障害を生じたルーチンにとっては、再始動さ
れたオペ、レーションと元の命令i(より発せられたオ
ペレーションとの間に相異はない。
「中断からの復帰」命令は記憶装置オペレーションをそ
の命令中にあるビットに基いて「中断からの復帰」の間
に条件的に再始動するように定義される。例外を生じた
プログラムに戻る前に、制御プログラムは例外条件を訂
正し、例外が報告されたときECTtが含んでいたのと
同じ例外カウント値にFCRを設定しなければならない
。例外ステータスブロックが主記憶装置((転送された
ときは、例外保管アドレスはこの変化を表わすように変
更されねばならない。しかしながら、例外ステータスブ
ロックの1:6番は維持しなければならない。
そこで、オペレーションは下記のシーケンスに従って例
外ス子−タスブロ:・夕のアドレスの増加する順に再始
動される。
1、EC1ζ内の例外カウント値がゼロのときは、再始
動すべきオペレーションは残っていない。実行は目標命
令ストリーム内の最初の命令に進む。
2、再始動すべき次のオペレーションに関する例外制御
ワードがECR内の例外保管アドレスにより指定された
実記憶アドレスのところから取り出される。
3、再始動すべき次のオペレーションに関する例外アド
レスが例外保管アドレスに4を加えたもので指定される
実記憶アドレスのところから取り出される。
4、再始動すべき次のオペレーションに関する例外デー
タが例外保管アドレスに8を加えたもので指定される実
記憶アドレスのところから取り出される。T> CRは
変更されない。
5、ECR内の例外カウント値が1だけ減分される。例
外保管アドレスが16だけ増分される。
この時例外保管アドレスは再始動すべき次のオペレーシ
ョン(もしあれば)を指示する。
6、上記ステップ2.3及び4で取り出された情報に基
づいてオペレーションが再始動されろ。
このオペレーションが再始動されると、再始動シーケン
スは再びステップ1から始まる。
再始動中の例外 2つ以上の例外が報告されるときは、制御プログラムは
必ずしも各々についての例外条件を訂正しなければなら
ないわけではない。事実、それらを全て訂正することが
不可能な場合がある。再始動すべ≧最初のオペレーショ
ンについてだケid、例外条件は訂正されねばならない
。したがって、記憶装置オペレーションは再開されると
剖再び例外に出会う可能性がある。しかしながらこれも
例外カウント値と例外保管アドレスが扱われるのと同じ
方法により自動的に処理される。例外ステータスブロッ
クが保管され、例外カウント値が減分され、さらに例外
保管アト1/スが増分された後、再始動中に任意の例外
が発生する。例外ステータスブロックを含んでいた記憶
装置(dもはや必要とされないっかくして、再始動中に
例外が発生したときは、その例外を引起したオペレーシ
ョンについての情報は前述した手順に従って保管される
例外が発生したとき再始動されていないオペレーション
についての情報は依然と1−て主記憶装置に保管された
ままであろう再始動の1:1番も保管されたままである
直列化 障害を生じた記憶装置オペレーションをそれらが初めに
実行されていたのと同じ環境で再始動するためには、幾
つかのオペレージ1ンを直列化することが必要である。
直列化は次のオペレーションが発生する前にそれよりも
論理的に前の全ての記憶オペレーションを完了すること
によりなされる。これは、環境が変更される前に全ての
例外を確実に報告するためである。プロセッサに全ての
割込みと下記の命令の実行を直列化しなければならない
1 プロセッサ状態を変更し得る全ての制御命令。
2、 スーパバイザ呼出し。
3、割込みからの復帰。
4、入出力書込み。このオペレーションハ前のオペレー
ションについてのアドレス変換の結果ヲ変えるため用い
ることができる。この変更が行われる場合は、オペレー
ションは再始動できない。
直列化の間に下記の′$象が生じる。
1、 全ての論理的に前の記憶装置オペレージ円ンが完
了する。
2、  直列化オペレーションに関連した通常の機能が
実行される。命令実行の場合、命令は論理的に前の全て
の記憶装置オペレーションが完了された後で実行される
。割込みの場合は、p s wのスワップは論理的に前
の全ての記憶装置オペレーションが完了された後で実行
される。
6 通常の命令実行が再開される。
直列化は全てのオペレーションが再始動できることを保
障する一般的な方法である。これは本発明の構成要件で
はないが、直列化の要件が強制される場合でも、本発明
によればPSWのスワップの場合において大量のオーバ
ララフが可能となる。
PSWのスワップのための記憶装置°rクセスは前の全
てのアクセスが完了される前に発生することができる。
別な見方をすれば、前のアクセスの全ての結果がわかる
まで完了することができないのはプロセッサ状態の変更
である。プロセッサは、前のアクセスで例外が発生する
とき報告されない特別な場合としてPSWのスワップを
認識できるだけでよい。
本発明を適用したデータ処理システム このデータ処理システムは、−見したところ、障害を生
じた記憶装置オペレーションの保管と再始動のため相当
な量の追加の制御論理を必要とするように見えるかもし
れないが、記憶装置アクセスと次の命令の実行とをオー
バラップさせるための既存の論理を最大限に利用するよ
うに設計されたものである。この論理の動作は1984
年5月31日付けの米国特許出願第615984号に記
載されている。
図には主として記憶装置アクセスを制御するため必要と
てれる部分を示しである。制御記憶装置15から供給さ
れたマイクロコードの実行により記憶装置オペレーショ
ンが制御レジスタ11で始まる。記憶オペレーション・
マイクロワードの実行中、下記の事象が発生する。
1゜ 記憶装置−ベレーションの有効アドレスがALU
12で計算され、記憶装置チャネル・インターフェース
13に送られる。レジスタ・ファイル14の書戻しは実
行サイクルでは必要とされないので、ALU12の出力
からアドレスを受諾するのにレジスタ・ファイル14を
使うことができる。このアドレスは例外が発生したとき
保管できるよう一時的なロケーションに記憶される、こ
のロケーションは現記憶装置オペレーションが完了する
までは再使用できない。
2、後続のサイクルで記憶装置ρオペレーションの実行
を制御するため、制御情報を参照昨今16A及び16B
に示す如きタグ・レジスタに設定しなければならない。
タグ・レジスタ内の情報は例外ステータスブロック内の
例外側御ワードに対して定義された情報と1対1の対応
関係にある。タグ・レジスタは現記憶装置オペレーショ
ンが完了するまでは再使用できない。
3、  WB[1lffチヤネル・インターフェース1
3にオペレーションの種類、データ長等が通知されると
、続いて記憶装置チャネル論理がそれ以上のプロセッサ
の介入なしにそのオペレーションヲ完了する、 4、 オペレーションのため必要とされる記憶データは
どんなものでも次のマイクロコード・サイクルで送られ
る8このデータは有効アドレスと同様にレジスタ・ファ
イル14内の一時的なロケーションに記憶される。この
ロケーションはその記憶装置オペレーションが完了する
までは再使用できない。
アクセスを制御するためのタグ・レジスタが使用テキ、
且つオペレーションのためのアドレス及びデータを記憶
するためのレジスタ串ファイルの一時的ナロケーション
があれば、プロセッサは16個までのオペレーションを
発することができる。
また、図の例では、所与の時間において2個までのオペ
レーションを保留することができる。各タグ・レジスタ
16A及び16Bは保留中の他のオペレーションに対ス
るそのオペレーションの+1* 番を指示する。これが
必要なのは、複数の例外が発生したとぎ例外ステータス
ブロックを適正なj1n番で保管できるようにするため
である。
例外情報の保管 記t1.’lJ=置チャネル・インターフェース13が
所与のオペレーションが例外を有していることを示すト
キは、そのオペレーションについてのタグ・レジスタ、
一時的アドレス・バッファ、及び一時的データ・バッフ
ァはロックされる。すなわち、それらは例外が報告され
るまではそれ以上のいかなる記憶装置オペレーションに
対しても使用できない。所与のオペレーションについて
の例外ステータスブロックを保管するために必要なこと
は、70セツサはそれと関連したタグ・レジスタの自答
を例外制御ワードに、一時的アドレス・バツフアの内容
を例外アドレス・ワードに、さらに一時的データ・バッ
ファの内容を例外データ・ワードにそれぞれ保管するだ
けである。そのオペレーションについてのタグ・レジス
タ、アドレス・バッファ、及びデータ・バッファは例外
ステータスブロックが保管し終われば、後は自由である
1つにつき1つの例外を有する保留中の記憶オペレーシ
ョンを最大限にすることもできる。このようにすると7
0セツサが例外スーテータスブロックの保管を開始する
とき全てのタグ、全てのアドレス俸バッファ及ヒ全ての
データ・バッフアカロックされているというような状況
が生じ得る。すなわち、プロセッサは例外ステータスブ
ロックを保管するとき、いかなるタグ、アドレス・バッ
ファ及びデータ・バッファを使うことかで鎗ないという
状況である。しかしながら、例外の発生原因とはなり得
ない非変換式ストアによって情報が保管されるのでこの
ことは問題とならない。しかも、使用されるのがストア
であるため、記憶データのタグ拳レジスタ・ファイルへ
の書戻しを制御するのにプロセッサはタグ・レジスタを
使う必要は全くない。
オペレーションの再始動 記憶装置オペレーションの再始動は非常に簡単である。
プロセッサは単にECR内の例外アドレスを用いて例外
ステータスブロックを適切な順番で取り出すだけでよい
からである。オペレーションは制御レジスタ11から再
始動されるので、再始動の制御は元のオペレーションの
制御と同じである。したがって必要な論理は非常に簡単
なものでよい。このことは制御レジスタ内のマイクロコ
ード・ビットと例外制御ワード内のビットの間に強力な
関係を確立することにより達成される。例外制御ワード
・ビットは各記憶装置オペレーションの再始動の間に変
化しないマイクロコード・ビットと共に(例えば、有効
アドレスが既にわかっているためALIJの制御は変化
しない)、そのとき制御レジスタに直接ロードされる。
例外制御ワードがオペレーションが取り消されたことを
示すか、または命令によっては発生されるはずのないオ
ペレーションを指定するときは、制御レジスタには記憶
装置再始動オペレーションではなく単にノー・オペレー
ションがロードされるだけである。
本実施例は要求時ページング環境においてアドレス変換
例外を報告し及びそれから回復するための手法を提供す
るものである。本実施例では障害を生じたプログラムを
例外を生ぜしめた命令のところから再始動するプロセッ
サを用いた。ここで説明した手法を用いた結果、プロセ
ッサの性能は30%向上した。
以上説明したように本実施例によれば、多数の記憶装置
オペレーションを命令の実行とオーバーラツフさせるこ
とができ、しかもプロセッサの性能に制限を与えない。
部分的に実行された命令は割込みハンドラの処理を必要
としないので、本実施例では各記憶オペレーションごと
に保管すれる情報の量はわずか16バイトでよい。また
、本実施例によれば、制御プログラムの再始動フロシー
ジャは全(簡単なものでよく、余分の命令を追加する必
要もない(割込みからの復帰命令の定義を変更するだけ
ですむ)。
E0発明の詳細 な説明したように本発明によれば、プロセッサの性能を
最大にし且つ制御プログラムを最も簡単にできる障害処
理方法が提供される。
【図面の簡単な説明】
図は本発明を適用したデータ処理システムの主要部を示
すブロック図である。 11・・・・制御レジスタ、12・・・・ALU、13
・・・・記憶装Rチャフ、ル・インターフェース、14
・・・・レジスタ・ファイル、15・・・・制御記憶装
置、16A、16B・・・・タグ・レジスタ。 出願人  インターナショナル・ビジネス・マンーンズ
・コーポレーション代理人 弁理士  頓   宮  
 孝   −(外1−名)

Claims (1)

  1. 【特許請求の範囲】 実記憶領域及び複数のレジスタを具備し要求時ページン
    グ手法を用いる仮想記憶システムにおいてアドレス変換
    例外を処理する方法であつて、(a)記憶装置オペレー
    ションごとに、 (i)該記憶装置オペレーションのアドレスと、 (ii)該記憶装置オペレーションに関係していたレジ
    スタならびに該記憶装置オペレーションの長さ及びタイ
    プについての情報と、 (iii)該記憶装置オペレーション中に記憶すべきデ
    ータと、 から成る制御情報を一時的に記憶するステップと、(b
    )記憶装置オペレーションの障害を示す例外が発生した
    とき、例外ステータスブロックを形成するために前記一
    時的に記憶された制御情報を検索するステップと、 (c)前記例外ステータスブロックに含まれる制御情報
    に基づいて前記障害のあつた記憶装置オペレーションを
    再始動するステップと、 より成ることを特徴とするアドレス変換例外処理方法。
JP61201904A 1985-10-01 1986-08-29 アドレス変換例外処理方法 Granted JPS6280743A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US78274585A 1985-10-01 1985-10-01
US782745 1985-10-01

Publications (2)

Publication Number Publication Date
JPS6280743A true JPS6280743A (ja) 1987-04-14
JPH0450621B2 JPH0450621B2 (ja) 1992-08-14

Family

ID=25127043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61201904A Granted JPS6280743A (ja) 1985-10-01 1986-08-29 アドレス変換例外処理方法

Country Status (4)

Country Link
US (1) US4970641A (ja)
EP (1) EP0217168B1 (ja)
JP (1) JPS6280743A (ja)
DE (1) DE3687298T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12269433B2 (en) 2019-11-25 2025-04-08 Mitsuba Corporation Wiper control method and wiper control device

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2591136B2 (ja) * 1988-01-30 1997-03-19 日本電気株式会社 リクエスト制御装置
US5313601A (en) * 1988-01-30 1994-05-17 Nec Corporation Request control apparatus
EP0365322A3 (en) * 1988-10-19 1991-11-27 Hewlett-Packard Company Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths
US5768575A (en) * 1989-02-24 1998-06-16 Advanced Micro Devices, Inc. Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5375213A (en) * 1989-08-29 1994-12-20 Hitachi, Ltd. Address translation device and method for managing address information using the device
CA2025197C (en) * 1989-10-19 1998-04-21 Michael H. Kelley Method and system for dynamically controlling the operation of a program
JP2581236B2 (ja) * 1989-11-16 1997-02-12 三菱電機株式会社 データ処理装置
DE69228083T2 (de) * 1991-03-14 1999-05-20 Fujitsu Ltd., Kawasaki, Kanagawa Verfahren und Vorrichtung zur Steuerung von Pipelineoperationen
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5761407A (en) * 1993-03-15 1998-06-02 International Business Machines Corporation Message based exception handler
GB2281986B (en) * 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
JP3145545B2 (ja) * 1993-10-18 2001-03-12 松下電器産業株式会社 メモリアクセス装置
US5475822A (en) * 1993-11-15 1995-12-12 Motorola, Inc. Data processing system for resuming instruction execution after an interrupt and method therefor
GB2284493B (en) * 1993-12-01 1998-04-01 Intel Corp Exception handling in a processor that performs speculative out-of-order instruction execution
DE4434895C2 (de) * 1993-12-23 1998-12-24 Hewlett Packard Co Verfahren und Vorrichtung zur Behandlung von Ausnahmebedingungen
JP2752592B2 (ja) * 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5784607A (en) * 1996-03-29 1998-07-21 Integrated Device Technology, Inc. Apparatus and method for exception handling during micro code string instructions
US5774711A (en) * 1996-03-29 1998-06-30 Integrated Device Technology, Inc. Apparatus and method for processing exceptions during execution of string instructions
US5812813A (en) * 1996-07-29 1998-09-22 Integrated Device Technology, Inc. Apparatus and method for of register changes during execution of a micro instruction tracking sequence
US5987594A (en) * 1997-06-25 1999-11-16 Sun Microsystems, Inc. Apparatus for executing coded dependent instructions having variable latencies
US6360315B1 (en) 1999-02-09 2002-03-19 Intrinsity, Inc. Method and apparatus that supports multiple assignment code
US11436187B2 (en) 2020-10-20 2022-09-06 Micron Technology, Inc. Method of notifying a process or programmable atomic operation traps
US11693690B2 (en) 2020-10-20 2023-07-04 Micron Technology, Inc. Method of completing a programmable atomic transaction by ensuring memory locks are cleared
US12020062B2 (en) 2020-10-20 2024-06-25 Micron Technology, Inc. Method of executing programmable atomic unit resources within a multi-process system
US11586439B2 (en) 2020-10-20 2023-02-21 Micron Technology, Inc. Detecting infinite loops in a programmable atomic transaction
US11740929B2 (en) 2020-10-20 2023-08-29 Micron Technology, Inc. Registering a custom atomic operation with the operating system
US11403023B2 (en) 2020-10-20 2022-08-02 Micron Technology, Inc. Method of organizing a programmable atomic unit instruction memory
CN114968370A (zh) * 2021-02-25 2022-08-30 华为技术有限公司 一种异常处理方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5718097A (en) * 1980-07-07 1982-01-29 Nippon Telegr & Teleph Corp <Ntt> Failure processing system for storage device
JPS61117635A (ja) * 1984-11-13 1986-06-05 Fujitsu Ltd 仮想記憶制御方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3921153A (en) * 1973-08-02 1975-11-18 Ibm System and method for evaluating paging behavior
US3947823A (en) * 1973-12-26 1976-03-30 International Business Machines Corp. Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5718097A (en) * 1980-07-07 1982-01-29 Nippon Telegr & Teleph Corp <Ntt> Failure processing system for storage device
JPS61117635A (ja) * 1984-11-13 1986-06-05 Fujitsu Ltd 仮想記憶制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12269433B2 (en) 2019-11-25 2025-04-08 Mitsuba Corporation Wiper control method and wiper control device

Also Published As

Publication number Publication date
EP0217168A3 (en) 1990-01-17
JPH0450621B2 (ja) 1992-08-14
EP0217168A2 (en) 1987-04-08
DE3687298D1 (de) 1993-01-28
DE3687298T2 (de) 1993-07-01
EP0217168B1 (en) 1992-12-16
US4970641A (en) 1990-11-13

Similar Documents

Publication Publication Date Title
US4970641A (en) Exception handling in a pipelined microprocessor
US5113521A (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
US5008812A (en) Context switching method and apparatus for use in a vector processing system
US5345567A (en) System and method for modifying program status word system mask, system access key, and address space code with overlap enabled
EP0106670A2 (en) CPU with multiple execution units
US20070022428A1 (en) Context switching method, device, program, recording medium, and central processing unit
US3533065A (en) Data processing system execution retry control
EP0588252B1 (en) Apparatus for Processing Instructions with Improved Interrupt Handling
CN101470599A (zh) 处理单元
JPS59231652A (ja) メモリアクセス・オ−バラツプ検出方式
JPH0410102B2 (ja)
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JP2690406B2 (ja) プロセッサおよびデータ処理システム
JPS61173358A (ja) データ処理装置
EP0212132A1 (en) Method and digital computer for recovering from errors
CA1323437C (en) Method and apparatus for handling faults of vector instructions causing memory management exceptions
JP2671160B2 (ja) 例外処理方式
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2000029690A (ja) デ―タ処理の方法および装置
JP2883488B2 (ja) 命令処理装置
JP2511063B2 (ja) パイプライン制御方式
JPH04181331A (ja) 命令リトライ方式
JPS59172044A (ja) 命令制御方式
JPS61143850A (ja) 処理装置
JPS62115553A (ja) バッファストレイジ無効化処理方式