JPS6286449A - データ処理装置におけるページフォールト実行再開方法 - Google Patents

データ処理装置におけるページフォールト実行再開方法

Info

Publication number
JPS6286449A
JPS6286449A JP60224765A JP22476585A JPS6286449A JP S6286449 A JPS6286449 A JP S6286449A JP 60224765 A JP60224765 A JP 60224765A JP 22476585 A JP22476585 A JP 22476585A JP S6286449 A JPS6286449 A JP S6286449A
Authority
JP
Japan
Prior art keywords
address
page fault
microprogram
memory
execution
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
JP60224765A
Other languages
English (en)
Other versions
JPH0727462B2 (ja
Inventor
Atsuhiko Nishikawa
敦彦 西川
Yoshihiro Miyazaki
義弘 宮崎
Masayuki Tanji
雅行 丹治
Soichi Takatani
高谷 壮一
Shinichiro Yamaguchi
伸一朗 山口
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60224765A priority Critical patent/JPH0727462B2/ja
Priority to US06/917,974 priority patent/US4841439A/en
Publication of JPS6286449A publication Critical patent/JPS6286449A/ja
Publication of JPH0727462B2 publication Critical patent/JPH0727462B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、データ処理装置のページフォールト実行再開
方式に係わり、特に命令実行中のページフォールト実行
再開方式に関する。
〔発明の背景〕
オンデマンドページング方式を採用したデータ処理装置
においては、メモリアクセスを行ったページが主メモリ
上に存在しないことがあり得る。
これをページフォールとと言う。ページフォールトが発
生すると、外部記憶から主メモリ上にロー〈下した後に
そのアクセスを再度実行しなくてはな’j”:9みい。
又〜 メモリアクセスには2種類あり、ひとつは命令読み出し
、もうひとつはオペランドの読出しと書込みである。後
者は、命令実行中に行われるため、その命令に対応した
マイクロプログラム処理の中で、該ページフォールトの
発生したアクセス以前に内部レジスタの変更や主メモリ
の内容の変更が行われている可能性がある。このため、
ページフォールト発生後、前記のロード処理を行い、再
実行を行う場合には、特殊な処理が必要となる。
ページフォールト実行再開方式には特開昭52−867
41号の様に、命令の先頭から再実行する方式と、特開
昭55−28190号の様に命令の中断点から再実行す
る方式とがある。
前者の方式の概略を第2図に示す。本方式においては、
内部レジスタや主メモリの変更を行う前に、メモリアク
セスの仮実行を行い、ページフォールトとが発生しない
ことを確認してから変更を行う、このため、仮実行の際
にページフォールトが発生しても、変更が行われていな
いので、再実行時に命令の先頭から再実行でき、内部情
報の退避も不要である。しかしながら所要のページがす
べて主メモリにあることを確認してから実際の実行に移
る方法は、仮実行専用の特別な逐次制御回路追加による
ハードウェア量の増加か、仮実行ステップ挿入によるス
ピード低下をまねく。文字列処理命令やリスト処理命令
のようにメモリアクセス回数が多くかつ予測つかない場
合板実行は非常に困難である。
後者のりトライ方式を第3図に示す。本方式は命令途中
においてμPC2μPCスタック等の命令中断点を示す
情報を退避しておき、以後のペーシフオールド発生時に
は、その中断点から再開できる様にする。しかし、退避
専用ハードウェア増加か、退避ステップ挿入によるスピ
ード低下をまねく。退避専用ハードウェアは、μPCの
ビット数を14ビツトと仮定するならば14ビツト×(
FF4ゲート+セレクタ1ゲート)X9=630ゲ一ト
程度の増加となり、ECL回路の様に高集積化が不可能
な回路においては、ハードウェア増加による影響は大き
い。
〔発明の目的〕
本発明は、従来例の欠点を軽減した命令実行中のページ
フォールト実行再開方式を提供することにある。
〔発明の概要〕
本発明の特徴を第1図をもって説明する。
今、Aのステップで行われた起動に対し、Bのステップ
でページフォールト検出が行われたとする。Aのステッ
プのマイクロプログラムのアドレスをXとすると、Bの
ステップのアドレスはx十1である。メモリからの応答
が返るまでのBのスチップを続行する。またBのステッ
プは、内部情報の変更を抑止する。これによりページフ
ォールト発生時には、Bのステップのマイクロプログラ
ムアドレスx+1を1減算することにより簡単にアクセ
スステップAのアドレスXが算出され、これを退避9回
復することにより、ステップAからの再実行が可能とな
る。
と 要約すれば本発明の特徴は、リトライ再開する、・
マイクロプログラムアドレスの次のアドレスでページフ
ォールト検出を行い、その時のアドレスを1減算したア
ドレスから再開することである。
〔発明の実施例〕
本発明の実施例を以下に説明する。
第4図は、オンデマンドページング方式を採用したデー
タ処理装置の全体構成図である。BPU 1は、MCU
300に対し、メモリアドレスバス501、メモリデー
タバス502によりメモリアクセスを行う。MCU30
0はBPUIから与えられたアドレスを元にページテー
ブル610を参照する。ページテーブル610は、有効
フラグ611と、該当ページの物理ページ622を示す
ビット列より構成されている。有効フラグ611は、該
当ページが主メモリに存在することを示す。
該フラグ611がクリアされている場合、BPUlから
アクセスされたページ650は主メモリ600上に存在
しない。そこでMCU300は、ページフォールト信号
503をもってBPUI−にアクセニート割込を起動し
、外部記憶710から該当ページ750を主メモリ60
0にローディングする。
第5図にBPUIの一実施例構成を示す、 BPUIは
、メモリインタフェース回路5.命令解読部2゜実行部
3.実行部コントローラ4から構成されている。
以下命令の概略動作について説明する。第7図に示すよ
うに、命令解読部IU2は、プログラムカウンタPC2
00を有しており、PC200の示すアドレスの命令を
読み出す、PC200の出力21は第6図のメモリイン
タフェース部MINF 5内のメモリアドレスレジスタ
MAR510にセレクタ520を介して接続されている
MAR510の出力501はメモリアドレスとしてMC
U300に渡され、該当するメモリ600の内容、すな
わち命令が読み出される。読み出されたデータは、メモ
リデータバス502を介してMINF5内のり−ドデー
タレジスタRDR540にセットされる。RDR540
の出力22は、IU2の命令バッファIBR230にセ
ットされ、命令デコーダD240によりマイクロプログ
ラムの先頭アドレスM T A 25が実行部コントロ
ーラESEQ4に渡される。またオペランドアドレスは
、IBR230から、アドレスレジスタA R1250
にセットされ、オペランドアドレス0PDA24を介し
て実行部3に渡される。
第8図は、実行部コントローラESEQ4の構成図であ
る。IU2で生成されたMTA25は、セレクタ420
.マイクロプログラムカウンタμPC430を介して制
御メモリC8450のアドレス入力に接続され、該当す
る命令に対応したマイクロプログラムが読み出され、マ
イクロ命令レジスタMIR460にセットされる。MI
R460の出力41は実行部3に接続され命令実行が行
われる。
今、該当命令がメモリアクセスを伴う命令であれば、オ
ペランドアドレス0PDA24は、第9図ノセレクタ3
00.内部バス340.ALU330、内部出力バス3
60を介して、実行部出力バス31に出力される。出力
バス31は第6図のセレクタ520を介してMAR51
0に接続されメモリアドレス501としてMCU300
に渡される。
メモリ600から読み出されたデータはRDR540に
セットされるため、ERD32を介して、EUS内に取
込まれる。
またメモリに書込むデータは、WDR530にセットさ
れMCU300に送出される。
メモリの応答時間は、不定であるので、メモリアクセス
が終了したか否かを知る手段が必要である。
メモリアクセスが終了すると、MCU300はBPUI
に対してアクセス終了信号AEND504を送出する。
AEND504はMINF5によりIU2のアクセスに
対する終了信号IAEND53と、EU3のアクセスに
対する終了信号EAEND54とに振分けられる。
EU3のアクセスに対する終了信号EAEND54は、
実行部コントローラ4に接続されている。
次にメモリアクセスのマイクロプログラムの処理動作と
ハードウェアの関係について説明する。
第11図(a)はマイクロ命令のフォーマットを表わし
ている。マイクロ命令レジスタMIRは、現在WA I
 T中であることを示すビット461と、次のアドレス
を制御するビットフィールド462と、演算系を制御す
るビットフィールド41と、次のアドレスを示すビット
フィールド463がら成立っている。
第11図(b)は、WA I Tすなわちメモリへの起
動後応答を待つサイクルでのマイクロ命令を示している
。この場合WAITビット461のみが「1」となり、
他のビットはすべて「0」となっている。
WA I T信号461、次のアドレス制御信号462
は第8図で示す様に1次アドレス制御部NACTL41
0に接続されている。
第10図は、NACTL410内に構成を表わしている
。NACTL410は、ステータスレジスタ400の出
力401を選択するセレクタ412と、ページフォール
ト信号52を検出するANDゲート414と、アクセス
終了信号54を検出するANDゲート413と、NAC
信号462から。
アドレス選択信号411を生成するデコーダ415から
成立っている。
WAIT信号461は、ANDゲート413と414の
入力に接続されており、WAIT信号461が「1」の
時のみページフォールト信号52とアクセス終了信号5
4が次アドレス生成に関与するようになっている。
第13図(a)は、メモリ読出し時のマイクロプログラ
ムを示している。図のB1のステップでは、MAR51
0にアドレスをセットし、メモリに対し起動を行ってい
る。次のステップB2ではWAITサイクルとなり、W
AIT信号461のみ「1」とする。この時にアクセス
終了信号54が入力されると、B3のステップに進み、
入力されないと、次のアドレスが生成されずB2ステッ
プが継続される。B3のステップでは読み出したデータ
をWKO320に転送している。
第13図(b)は、メモリ書込み時のマイクロプログラ
ムを示している。C1のステップでMAR510にセッ
トし、C2のステップでライトデータをWDR530に
セットし、メモリに対し起動を行っている。C3のステ
ップはWAITサイクルであり、読み出し時と同様アク
セス終了信号54が入力されるまで03ステツプが継続
される。
今、WA I Tサイクル中にページフォールト信号5
2が入力されると、ANDゲート414の出力が「1」
となり、ANDゲート413の出力は「0」となる。こ
のときデコーダ415は、ペーシフオールドマイクロプ
ログラム先頭アドレス選択信号411Aをセレクタ42
0に送出し、セレクタ420は、ページフォールト先頭
アドレス420Aを選択する。すると、次のステップか
ら、ページフォールト例外処理のマイクロプログラムが
開始される。
第14図(a)〜(0)は、ページフォールト例外処理
のマイクロプログラムフローを示している。D3〜Dl
lのステップでは、WK320の退避を行っている。
B12では、ページフォールトの検出されたサイクルの
マイクロプログラムのアドレスをWKOに転送している
。ページフォールトが検出されるのは、WAITサイク
ル中のみであるから、読出し時は、第13図(a)の8
2のアドレス、書込み時は、第18[(b)のC3のア
ドレスである。
B13のサイクルでは、WKOに転送されたアドレスす
なわちB2またはC3を1減算している。
この処理によりWKOの内容は、第13図(8)の、B
1または第13図(b)の02のアドレスとなる。D1
4〜D17は、WXOの内容をスタックに退避している
。よってスタックに退避されたマイクロプログラムのア
ドレスは第13図で言えば、B1またはC2のアドレス
となる。
D18〜D26はμpcスタックの退避。
B27〜D35は、MAR,SR,PC(7)退避を行
っており、D36〜D39でページフォールト例外処理
マイクロプログラムの先頭アドレスをPCにセットして
ページフォールト例外処理のマイクロプログラムを終了
させている。
第12図は、ページフォールト例外処理マイクロプログ
ラムの実行後のスタックの内容を示している。SLには
、第13図(a)のB1のアドレスまたは、第13図(
b)の02のアドレスが格納されている。
ページフォールト例外処理のマクロプログラムは、第4
図で示すように、外部記憶710内の該当ページ710
をメモリ6ooにローディングし、最後に復帰命令RT
E命令を発行する。
第15図(a)〜(o)は、RTE命令のマイクロプロ
グラムフローである。RTE命令は、ページフォールト
例外処理のマイクロプログラムとは逆にスタックの内容
を読み出し、順次回復する。
E14〜E18は、スタック内のマイクロPCの内容S
1をRead L/、5avauPC480にセットし
ている。B36のステップで5aveμPC480が、
μPC430にセットされる。これを第13図で説明す
ると、スタックS1には、B1またはC2が格納されて
いるので、B1またはC2のアドレスがμPC480に
セットされ、マイクロプログラムは、B1またはC2か
ら開始される。
〔発明の効果〕
ウェアも必要としないのでハードウェア利用効率の高い
ページフォールト実行再開方式が実現できる。
【図面の簡単な説明】
第1図は本発明の特徴を示す図、第2〜3図は公知例を
説明するための図、第4図〜第10図はハードウェア構
成の本発明の実施例図、第11図はマイクロ命令フォー
マットを示し、第12図はページフォールト例外処理時
のスタックの内容を示す図、第13図は、メモリアクセ
スのマイクロプログラム、第]、4図は、ページフォー
ルト例外処理のマイクロプログラム、第15図は、復帰
命令のマイクロプログラムを示す図である。 1・・・BPU、2・・・命令解読部、3・・・命令実
行部、4・・・実行制御部、5・・・メモリインターフ
ェース部、52・・・ページフォールト検出信号、41
0・・・次アドレス制御部、461・・・WA I T
信号。

Claims (1)

  1. 【特許請求の範囲】 1、ページフオールト発生時に命令中断点から実行再開
    を行うデータ処理装置において、 主記憶へのページフオールトアクセス起動を行つたマイ
    クロプログラムのステツプからn番目のステツプで該ペ
    ージフオールトに対する例外処理マイクロプログラムに
    分岐する手段と、該例外処理におけるマイクロプログラ
    ムアドレスの退避または回復時に該アドレスをn減算す
    る手段とを有し、上記アクセス起動を行つたマイクロプ
    ログラムのステツプから実行再開を行うことを特徴とす
    るデータ処理装置におけるページフオールト実行再開方
    式。
JP60224765A 1985-10-11 1985-10-11 データ処理装置におけるページフォールト実行再開方法 Expired - Lifetime JPH0727462B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60224765A JPH0727462B2 (ja) 1985-10-11 1985-10-11 データ処理装置におけるページフォールト実行再開方法
US06/917,974 US4841439A (en) 1985-10-11 1986-10-14 Method for restarting execution interrupted due to page fault in a data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60224765A JPH0727462B2 (ja) 1985-10-11 1985-10-11 データ処理装置におけるページフォールト実行再開方法

Publications (2)

Publication Number Publication Date
JPS6286449A true JPS6286449A (ja) 1987-04-20
JPH0727462B2 JPH0727462B2 (ja) 1995-03-29

Family

ID=16818875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60224765A Expired - Lifetime JPH0727462B2 (ja) 1985-10-11 1985-10-11 データ処理装置におけるページフォールト実行再開方法

Country Status (2)

Country Link
US (1) US4841439A (ja)
JP (1) JPH0727462B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552738B2 (ja) * 1989-09-19 1996-11-13 富士通株式会社 データ処理装置
US5283763A (en) * 1989-09-21 1994-02-01 Ncr Corporation Memory control system and method
CA2025197C (en) * 1989-10-19 1998-04-21 Michael H. Kelley Method and system for dynamically controlling the operation of a program
JP2785998B2 (ja) * 1990-05-18 1998-08-13 富士通株式会社 計算機システム
US5363502A (en) * 1990-06-08 1994-11-08 Hitachi, Ltd. Hot stand-by method and computer system for implementing hot stand-by method
US5247447A (en) * 1990-10-31 1993-09-21 The Boeing Company Exception processor system
US5361345A (en) * 1991-09-19 1994-11-01 Hewlett-Packard Company Critical line first paging system
US5745770A (en) * 1993-12-27 1998-04-28 Intel Corporation Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
US5490149A (en) * 1993-12-28 1996-02-06 International Business Machines Corporation Tactical read error recovery strategy based on dynamic feedback
US6662358B1 (en) 1997-12-12 2003-12-09 International Business Machines Corporation Minimizing profiling-related perturbation using periodic contextual information
US6158024A (en) * 1998-03-31 2000-12-05 International Business Machines Corporation Method and apparatus for structured memory analysis of data processing systems and applications
US6751789B1 (en) 1997-12-12 2004-06-15 International Business Machines Corporation Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination
US6546548B1 (en) 1997-12-12 2003-04-08 International Business Machines Corporation Method and system for compensating for output overhead in trace data using initial calibration information
US6513155B1 (en) 1997-12-12 2003-01-28 International Business Machines Corporation Method and system for merging event-based data and sampled data into postprocessed trace output
US6732357B1 (en) 1997-12-12 2004-05-04 International Business Machines Corporation Determining and compensating for temporal overhead in trace record generation and processing
US6560773B1 (en) 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5399840A (en) * 1977-02-14 1978-08-31 Hitachi Ltd Microprogram control system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3555517A (en) * 1968-10-30 1971-01-12 Ibm Early error detection system for data processing machine
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
FR2269148B1 (ja) * 1974-04-25 1978-01-20 Honeywell Bull Soc Ind
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5399840A (en) * 1977-02-14 1978-08-31 Hitachi Ltd Microprogram control system

Also Published As

Publication number Publication date
JPH0727462B2 (ja) 1995-03-29
US4841439A (en) 1989-06-20

Similar Documents

Publication Publication Date Title
JPS6286449A (ja) データ処理装置におけるページフォールト実行再開方法
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
KR100335785B1 (ko) 데이타처리명령의실행
JPS6218057B2 (ja)
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
CN1021604C (zh) 在向量数据处理运算中从缺页故障中恢复的设备和方法
JPS623347A (ja) エラ−回復情報退避方式
JP2671160B2 (ja) 例外処理方式
JPS58106641A (ja) パイプライン命令実行制御方式
JPS61269751A (ja) 独立のプログラム・メモリ・ユニツト及びデ−タ・メモリ・ユニツトを有するデ−タ処理システムにおける補助デ−タ・メモリ・ユニツトを使用する装置及び方法
JPH07182165A (ja) コミット条件付き命令の処理方法およびその装置
JPH0133856B2 (ja)
US20030028756A1 (en) Programmable unit
JPS60142747A (ja) 命令再実行制御方式
JPS58166454A (ja) デ−タ処理装置
CN100367213C (zh) 具有自动备份和还原寄存器内数据的系统和方法
JPS60214043A (ja) パイプライン制御回路
JPH04291084A (ja)  データ処理システム
US7490226B2 (en) Method using vector component comprising first and second bits to regulate movement of dependent instructions in a microprocessor
JPS6159696A (ja) 制御メモリ修復方式
JPH06295252A (ja) 計算機
JPS6139291A (ja) 磁気バブル制御装置
JPS61166636A (ja) 命令再実行制御方式
JPS59218555A (ja) マイクロプログラム制御装置