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

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

Info

Publication number
JPH0727462B2
JPH0727462B2 JP60224765A JP22476585A JPH0727462B2 JP H0727462 B2 JPH0727462 B2 JP H0727462B2 JP 60224765 A JP60224765 A JP 60224765A JP 22476585 A JP22476585 A JP 22476585A JP H0727462 B2 JPH0727462 B2 JP H0727462B2
Authority
JP
Japan
Prior art keywords
page fault
address
microprogram
execution
instruction
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 - Lifetime
Application number
JP60224765A
Other languages
English (en)
Other versions
JPS6286449A (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.)
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; 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/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)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、データ処理装置のページフオールト実行再開
方式に係わり、特に命令実行中のページフオールト実行
再開方式に関する。
〔発明の背景〕
オンデマンドページング方式を採用したデータ処理装置
においては、メモリアクセスを行つたページが主メモリ
上に存在しないことがあり得る。これをページフオール
トと言う。ページフオールトが発生すると、外部記憶か
ら主メモリ上にロードした後にそのアクセスを再度実行
しなくてはならない。
メモリアクセスには2種類あり、ひとつは命令読み出
し、もうひとつはオペランドの読出しと書込みである。
後者は、命令実行中に行われるため、その命令に対応し
たマイクロプログラム処理の中で、該ページフオールト
の発生したアクセス以前に内部レジスタの変更や主メモ
リの内容の変更が行われている可能性がある。このた
め、ページフオールト発生後、前記のロード処理を行
い、再実行を行う場合には、特殊な処理が必要となる。
ページフオールト実行再開方式には特開昭52−86741号
の様に、命令の先頭から再実行する方式と、特開昭55−
28190号の様に命令の中断点から再実行する方式とがあ
る。
前者の方式の概略を第2図に示す。本方式においては、
内部レジスタや主メモリの変更を行う前に、メモリアク
セスの仮実行を行い、ページフオールトとが発生しない
ことを確認してから変更を行う。このため、仮実行の際
にページフオールトが発生しても、変更が行われていな
いので、再実行時に命令の先頭から再実行でき、内部情
報の退避も不要である。しかしながら所要のページがす
べて主メモリにあることを確認してから実際の実行に移
る方法は、仮実行専用の特別な逐次制御回路追加による
ハードウエア量の増加か、仮実行ステツプ挿入によるス
ピード低下をまねく。文字列処理命令やリスト処理命令
のようにメモリアクセス回数が多くかつ予測つかない場
合仮実行は非常に困難である。
後者のリトライ方式を第3図に示す。本方式は命令途中
においてμPC,μPCスタツク等の命令中断点を示す情報
を退避しておき、以後のページフオールト発生時には、
その中断点から再開できる様にする。しかし、退避専用
ハードウエア増加か、退避ステツプ挿入によるスピード
低下をまねく。退避専用ハードウエアは、μPCのビツト
数を14ビツトと仮定するならば14ビツト×(FF4ゲート
+セレクタ1ゲート)×9=630ゲート程度の増加とな
り、ECL回路の様に高集積化が不可能な回路において
は、ハードウエア増加による影響は大きい。
〔発明の目的〕
本発明は、従来例の欠点を軽減した命令実行中のページ
フオールト実行再開方式を提供することにある。
〔発明の概要〕
本発明の特徴を第1図をもつて説明する。
今、Aのステツプで行われた起動に対し、Bのステツプ
でページフオールト検出が行われたとする。Aのステツ
プのマイクロプログラムのアドレスをxとすると、Bの
ステツプのアドレスはx+1である。メモリからの応答
が返るまでのBのステツプを続行する。またBのステツ
プは、内部情報の変更を抑止する。これによりページフ
オールト発生時には、Bのステツプのマイクロプログラ
ムアドレスx+1を1減算することにより簡単にアクセ
スステツプAのアドレスxが算出され、これを退避,回
復することにより、ステツプAからの再実行が可能とな
る。
要約すれば本発明の特徴は、リトライ再開するマイクロ
プログラムアドレスの次のアドレスでページフオールト
検出を行い、その時のアドレスを1減算したアドレスか
ら再開することである。
〔発明の実施例〕
本発明の実施例を以下に説明する。
第4図は、オンデマンドページング方式を採用したデー
タ処理装置の全体構成図である。BPU1は、MCU500に対
し、メモリアドレスバス501,メモリデータバス502によ
りメモリアクセスを行う。MCU500はBPU1から与えられた
アドレスを元にページテーブル610を参照する。ページ
テーブル610は、有効フラグ611と、該当ページの物理ペ
ージ622を示すビツト列より構成されている。有効フラ
グ611は、該当ページが主メモリに存在することを示
す。該フラグ611がクリアされている場合、BPU1からア
クセスされたページ650は主メモリ600上に存在しない。
そこでMCU500は、ページフオールト信号503をもつてBPU
1にアクセスページが主メモリに存在しないことを知ら
せる。
BPU1は、該信号を受信後、ページフオールト割込を起動
し、外部記憶710から該当ページ750を主メモリ600にロ
ーデイングする。
第5図にBPU1の一実施例構成を示す。BPU1は、メモリイ
ンタフエース回路5,命令解読部2,実行部3,実行部コント
ローラ4から構成されている。
以下命令の概略動作について説明する。第7図に示すよ
うに、命令解読部IU2は、プログラムカウンタPC200を有
しており、PC200の示すアドレスの命令を読み出す。PC2
00の出力21は第6図のメモリインタフエース部MINF5内
のメモリアドレスレジスタMAR510にセレクタ520を介し
て接続されている。
MAR510の出力501はメモリアドレスとしてMCU500に渡さ
れ、該当するメモリ600の内容、すなわち命令が読み出
される。読み出されたデータは、メモリデータバス502
を介してMINF5内のリードデータレジスタRDR540にセツ
トされる。RDR540の出力22は、IU2の命令バツフアIBR23
0にセツトされ、命令デコーダD240によりマイクロプロ
グラムの先頭アドレスMTA25が実行部コントローラESEQ4
に渡される。またオペランドアドレスは、IBR230から、
アドレスレジスタARi250にセツトされ、オペランドアド
レスOPDA24を介して実行部3に渡される。
第8図は、実行部コントローラESEQ4の構成図である。I
U2で生成されたMTA25は、セレクタ420,マイクロプログ
ラムカウンタμPC430を介して制御メモリCS450のアドレ
ス入力に接続され、該当する命令に対応したマイクロプ
ログラムが読み出され,マイクロ命令レジスタMIR460に
セツトされる。MIR460の出力41は実行部3に接続され命
令実行が行われる。
今、該当命令がメモリアクセスを伴う命令であれば、オ
ペランドアドレスOPDA24は、第9図のセレクタ300,内部
バス340,ALU330,内部出力バス360を介して、実行部出力
バス31に出力される。出力バス31は第6図のセレクタ52
0を介してMAR510に接続されメモリアドレス501としてMC
U500に渡される。
メモリ600から読み出されたデータはRDR540にセツトさ
れるため、ERD32を介して、EU3内に取込まれる。
またメモリに書込むデータは、WDR530にセツトされMCU5
00に送出される。
メモリの応答時間は、不定であるので、メモリアクセス
が終了したか否かを知る手段が必要である。
メモリアクセスが終了すると、MCU500はBPU1に対してア
クセス終了信号AEND504を送出する。AEND504はMINF5に
よりIU2のアクセスに対する終了信号IAEND53と、EU3の
アクセスに対する終了信号EAEND54とに振分けられる。
EU3のアクセスに対する終了信号EAEND54は、実行部コン
トローラ4に接続されている。
次にメモリアクセスのマイクロプログラムの処理動作と
ハードウエアの関係について説明する。
第11図(a)はマイクロ命令のフオーマツトを表わして
いる。マイクロ命令レジスタMIRは、現在WAIT中である
ことを示すビツト461と、次のアドレスを制御するビツ
トフイールド462と、演算系を制御するビツトフイール
ド41と、次のアドレスを示すビツトフイールド463から
成立つている。
第11図(b)は、WAITすなわちメモリへの起動後応答を
待つサイクルでのマイクロ命令を示している。この場合
WAITビツト461のみが「1」となり、他のビツトはすべ
て「0」となつている。
WAIT信号461、次のアドレス制御信号462は第8図で示す
様に、次のアドレス制御部NACTL410に接続されている。
第10図は、NACTL410内に構成を表わしている。NACTL410
は、ステータレジスタ400の出力401を選択するセレクタ
412と、ページフオールト信号52を検出するANDゲート41
4と、アクセス終了信号54を検出するANDゲート413と、N
AC信号462から、アドレス選択信号411を生成するデコー
ダ415から成立つている。
WAIT信号461は、ANDゲート413と414の入力に接続されて
おり、WAIT信号461が「1」の時のみページフオールト
信号52とアクセス終了信号54が次アドレス生成に関与す
るようになつている。
第13図(a)は、メモリ読出し時のマイクロプログラム
を示している。図のB1のステツプでは、MAR510にアドレ
スをセツトし、メモリに対し起動を行つている。次のス
テツプB2ではWAITサイクルとなり、WAIT信号461のみ
「1」とする。この時にアクセス終了信号54が入力され
ると、B3のステツプに進み、入力されないと、次のアド
レスが生成されずB2ステツプが継続される。B3のステツ
プでは読み出したデータをWKO320に転送している。
第13図(b)は、メモリ書込み時のマイクロプログラム
を示している。C1のステツプでMAR510にセツトし、C2の
ステツプでライトデータをWDR530にセツトし、メモリに
対し起動を行つている。C3のステツプはWAITサイクルで
あり、読み出し時と同様アクセス終了信号54が入力され
るまでC3ステツプが継続される。
今、WAITサイクル中にページフオールト信号52が入力さ
れると、ANDゲート414の出力が「1」となり、ANDゲー
ト413の出力は「0」となる。このときデコーダ415は、
ページフオールトマイクロプログラム先頭アドレス選択
信号411Aをセレクタ420に送出し、セレクタ420は、ペー
ジフオールト先頭アドレス420Aを選択する。すると、次
のステツプから、ページフオールト例外処理のマイクロ
プログラムが開始される。
第14図(a)〜(c)は、ページフオールト例外処理の
マイクロプログラムフローを示している。D3〜D11のス
テツプでは、WK320の退避を行つている。
D12では、ページフオールトの検出されたサイクルのマ
イクロプログラムのアドレスをWKOに転送している。ペ
ージフオールトが検出されるのは、WAITサイクル中のみ
であるから、読出し時は、第13図(a)のB2のアドレ
ス、書込み時は、第13図(b)のC3のアドレスである。
D13のサイクルでは、WKOに転送されたアドレスすなわち
B2またはC3を1減算している。この処理によりWKOの内
容は、第13図(a)の、B1または第13図(b)のC2のア
ドレスとなる。D14〜D17は、WKOの内容をスタツクに退
避している。よつてスタツクに退避されたマイクロプロ
グラムのアドレスは第13図で言えば、B1またはC2のアド
レスとなる。
D18〜D26はμPCスタツクの退避、D27〜D35は、MAR,SR,P
Cの退避を行つており、D36〜D39でページフオールト例
外処理マイクロプログラムの先頭アドレスをPCにセツト
してページフオールト例外処理のマイクロプログラムを
終了させている。
第12図は、ページフオールト例外処理マイクロプログラ
ムの実行後のスタツクの内容を示している。S1には、第
13図(a)のB1のアドレスまたは、第13図(b)のC2の
アドレスが格納されている。
ページフオールト例外処理のマクロプログラムは、第4
図で示すように、外部記憶710内の該当ページ710をメモ
リ600にローデイングし、最後に復帰命令RTE命令を発行
する。
第15図(a)〜(c)は、RTE命令のマイクロプログラ
ムフローである。RTE命令は、ページフオールト例外処
理のマイクロプログラムとは逆にスタツクの内容を読み
出し、順次回復する。E14〜E18は、スタツク内のマイク
ロPCの内容S1をReadし、SaveμPC480にセツトしてい
る。E36のステツプでSaveμPC480が、μPC430にセツト
される。これを第13図で説明すると、スタツクS1には、
B1またはC2が格納されているので、B1またはC2のアドレ
スがμPC430にセツトされ、マイクロプログラムは、B1
またはC2から開始される。
〔発明の効果〕
本発明によれば、通常処理におけるマイクロプログラム
のステツプ増加はなく、また専用ハードウエアも必要と
しないのでハードウエア利用効率の高いページフオール
ト実行再開方式が実現できる。
【図面の簡単な説明】
第1図は本発明の特徴を示す図、第2〜3図は公知例を
説明するための図、第4図〜第10図はハードウエア構成
の本発明の実施例図、第11図はマイクロ命令フオーマツ
トを示し、第12図はページフオールト例外処理時のスタ
ツクの内容を示す図、第13図は、メモリアクセスのマイ
クロプログラム、第14図は、ページフオールト例外処理
のマイクロプログラム、第15図は、復帰命令のマイクロ
プログラムを示す図である。 1…BPU、2…命令解読部、3…命令実行部、4…実行
制御部、5…メモリインターフエース部、52…ページフ
オールト検出信号、410…次アドレス制御部、461…WAIT
信号。
フロントページの続き (72)発明者 高谷 壮一 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 山口 伸一朗 茨城県日立市久慈町4026番地 株式会社日 立製作所日立研究所内 (56)参考文献 特開 昭53−99840(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ページフォールト発生時に実行再開を行う
    データ処理装置において、 主記憶へのページフォールトアクセス起動を行ったマイ
    クロプログラムのステップからn(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 JPS6286449A (ja) 1987-04-20
JPH0727462B2 true 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
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
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
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
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
US6732357B1 (en) 1997-12-12 2004-05-04 International Business Machines Corporation Determining and compensating for temporal overhead in trace record generation and processing
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

Family Cites Families (5)

* 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
JPS5399840A (en) * 1977-02-14 1978-08-31 Hitachi Ltd Microprogram control system

Also Published As

Publication number Publication date
US4841439A (en) 1989-06-20
JPS6286449A (ja) 1987-04-20

Similar Documents

Publication Publication Date Title
JPH0727462B2 (ja) データ処理装置におけるページフォールト実行再開方法
EP0313097B1 (en) Microcomputer system including master processor and slave processor
JPH0348537B2 (ja)
JPS58121457A (ja) 情報処理装置
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH1196006A (ja) 情報処理装置
JPH0754467B2 (ja) データ処理装置
JP3766772B2 (ja) 情報処理装置、例外回復処理方法および記録媒体
JP2671160B2 (ja) 例外処理方式
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
JPH0133856B2 (ja)
JPH07182165A (ja) コミット条件付き命令の処理方法およびその装置
JPH06295252A (ja) 計算機
KR100765867B1 (ko) 계산기와 그 제어 방법
JP2564290B2 (ja) 命令再開処理方法および装置
JP2765831B2 (ja) データ処理装置
JP2574918B2 (ja) 割り込み復帰処理方式
JPS60214043A (ja) パイプライン制御回路
JPH04328644A (ja) デバッグ支援装置
US7490226B2 (en) Method using vector component comprising first and second bits to regulate movement of dependent instructions in a microprocessor
JPS59103158A (ja) デイジタル信号処理プログラムデバツグ方式
JPH0338613B2 (ja)
JPH05250161A (ja) マイクロコンピュータ装置
JPH09330234A (ja) 割り込み処理方法およびマイクロプロセッサ
JPH03260839A (ja) マイクロコンピュータ