JPS6368947A - ペ−ジフオ−ルト再開処理方式 - Google Patents

ペ−ジフオ−ルト再開処理方式

Info

Publication number
JPS6368947A
JPS6368947A JP61211641A JP21164186A JPS6368947A JP S6368947 A JPS6368947 A JP S6368947A JP 61211641 A JP61211641 A JP 61211641A JP 21164186 A JP21164186 A JP 21164186A JP S6368947 A JPS6368947 A JP S6368947A
Authority
JP
Japan
Prior art keywords
address
storage means
increment
post
decrement
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
JP61211641A
Other languages
English (en)
Other versions
JPH0531777B2 (ja
Inventor
Yoichi Hirayama
洋一 平山
Shinichiro Yamaguchi
伸一朗 山口
Tadaaki Bando
忠秋 坂東
Soichi Takatani
高谷 壮一
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 JP61211641A priority Critical patent/JPS6368947A/ja
Publication of JPS6368947A publication Critical patent/JPS6368947A/ja
Publication of JPH0531777B2 publication Critical patent/JPH0531777B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置に係り、特にアドレッシングモ
ードがポストインクリメント又はプリデクリメント時の
、命令先頭からページフォールト再開を行うのに好適な
ページフォールト再開処理方式に関するものである。
〔従来の技術〕
仮想記憶を実現するデータ処理装置において、ページフ
ォールト再開処理方式は例えば公表特許公報昭59−5
02158号に示されているごとく大別して命令の途中
にもどる方式と命令の最初にもどる方式の2通りがある
前者は、命令の実行途中にページフォールト割込みが発
生した場合、その時点で命令の実行が中断され、その時
点での内部情報をメモリ領域に退避する。ページフォー
ルト処理後の回復の場合は、メモリ領域内の該内部情報
を回復し、中断された命令の実行は、その時点から継続
される方式である。
この方式では、プログラマから見えない内部情報をメモ
リ領域へ退避回復する必要があり、内部構成の変化によ
って退避回復すべき情報量が増え、退避回復手順も異っ
てくる場合が起こる。
後者は、命令の実行途中にページフォールト割込みが発
生すると、発生した命令のアドレスをメモリ領域内に退
避する。ページフォールト処理後の回復の場合は、メモ
リ領域内の該アドレスを回復し、命令を最初から再実行
する方式である。
この方式では、前者のように内部情報を退避回復する必
要がない。
このため、ページフォールト再開処理を、後者の命令再
実行方式で実現する。しかし、アドレッシングモードが
ポストインクリメント又はプリデクリメントの時に命令
を再実行すると不具合が発生する。
〔発明が解決しようとする問題点〕
上記従来技術は、ページフォールト再開処理を命令途中
にもどる方式で行う時に、退避回復する内部情報が多い
ことと、内部構成によって退避図復する手順が異なって
くる事態が発生する。
このため、ページフォールト再開処理を命令の最初にも
どる方式で行うと、アドレッシングモードがポストイン
クリメント又はプリデクリメントの時に不具合が発生す
る。
これは、アドレス計算に用いられたアドレスレジスタの
内容が、命令実行前に加算又は減算されているにもかか
わらず、アドレスレジスタの内容を元に戻さず命令再実
行するという点が配慮されてないため、アドレスレジス
タの内容を再度加算又は減算する問題が起っていた。
本発明の目的は、上記問題を解決するため、オペランド
のアドレッシングモードがポストインクリメント又はプ
リデクリメント時に、アドレスレジスタの内容を元に戻
して命令再実行することにある。
〔問題点を解決するための手段〕
上記目的は、オペランドのアドレッシングモードがポス
トインクリメントである情報を記憶するポストインクリ
メントモード記憶手段と、オペランドのアドレッシング
モードがプリデクリメントである情報を記憶するプリデ
クリメントモード記憶手段と、命令のオペレーションサ
イズを記憶するオペレーションサイズ記憶手段と、ポス
トインクリメント又はプリデクリメントのアドレス計算
に用いられるアドレスレジスタのアドレスを記憶するア
ドレスレジスタアドレス記憶手段を備え、ページフォー
ルト割込みが発生した時、該ポストインクリメントモー
ド記憶手段がポストインクリメントアドレッシングモー
ドであることを記憶している又は、該プリデクリメント
モード記憶手段がプリデクリメントアドレッシングモー
ドであることを記憶しているならば、該アドレスレジス
タアドレス記憶手段で示されたアドレスレジスタの内容
を、該オペレーションサイズ記憶手段の内容に従って、
加算又は減算を行うことにより、達成される。
〔作用〕
ポストインクリメントモード記憶手段は、オペランドの
アドレッシングモードがポストインクリメントであるこ
とを記憶し、プリデクリメントモード記憶手段は、オペ
ランドのアドレッシングモードがプリデクリメントであ
ることを記憶し、オペレーションサイズ記憶手段は、命
令のオペレーションサイズが、バイト(8ビツト)又は
ワード(16ビツト)又はロングワード(32ビツト)
であることを記憶し、アドレスレジスタアドレス記憶手
段は、オペランドのアドレッシングモードがポストイン
クリメント又はプリデクリメント時のアドレス計算に用
いたアドレスレジスタのアドレスを記憶し、ポストイン
クリメント復旧手段は、アドレッシングモードがポスト
インクリメント時のオペレーシングサイズを判定し、プ
リデクリメント復旧手段は、アドレッシングモードがプ
リデクリメント時のオペレーションサイズを判定する。
ページフォールト割込みが発生すると、上記手段とマイ
クロ命令の指定によって、アドレスレジスタの内容を加
算又は減算するマイクロ命令へ分岐し、命令実行前のア
ドレスレジスタの内容に戻して命令再実行する。
〔実施例〕
以下、本発明の実施例を図を用いて説明する。
第1図は、本発明を実行した時のフローである。
命令を実行する時の流れとしては、まず最初に、命令の
フェッチ、デコード、マイクロプログラムの先頭アドレ
ス生成、アドレス計算等を行う(100)。次にマイク
ロプログラム制御によって命令実行を行う(120)。
この時発生したページフォールト割込みによって、ペー
ジフォールト再開処理が実行される(140)。
命令を実行する(120)ためのマイクロプログラムは
、一般に、アドレス計算(100)によって生成された
アドレスを用いてメモリ領域内データの読出しを行う。
まず、メモリ読出し起動125を行い、次に、メモリ読
出し待ち130を行うにの時、ページフォールト割込み
が発生すると、ページフォールト再開処理(140)を
実行する。まず、アドレッシングモードがポストインク
リメント又はプリデクリメントであるか否かの判定を行
い145、そうであれば、アドレス計算時に既に加算又
は減算されたアドレスレジスタの値を、オペレーション
サイズに従って減算又は加算を行う150゜ 例えば、アドレッシングモードがポストインクリメント
で、オペレーションサイズがロングワード(32ビツト
)の場合、アドレスレジスタは減算4され、ポストイン
クリメント前の値に戻る。
次に、ページフォールトが発生した命令のアドレスを、
メモリ領域内に退避する155゜次に、読出したいデー
タを含むページを主メモリ内に取込んでくるページフォ
ールト処理160を行う。
次に、退避しておいた命令のアドレスを回復し、命令を
最初から実行する165゜ これより、第1図をハードウェア手段を用いて説明する
第2図は、本発明に適用したデータ処理装置の全体構成
である。
該データ処理装置は、補助記憶装置(略称FILE)2
00、主記憶装置(略称MS)205、MM205を制
御する主記憶装置管理ユニット(略称MMU)210、
命令を取込み、デコードする装置(略称IFDAU )
 215、命令を実行するユニット(略称EU)220
から構成される。
第2図において、MS205は、これから実行するタス
クに用いられる命令及び該命令が扱うブタを記憶する装
置である。FILE200は、実行してないタスク等の
命令及び該命令が扱うデータを記憶する装置である。
1’1MU210は、MS205とIFDAU215及
びEU220とのデータ転送制御を行い、FILE20
0とMS205の関係で発生するページフォールト割込
みを検出し、信号線10を介してEU220へ送出する
IFDAUは、MS205からMMU210を介して命
令を取込み、解読し、アドレス計算を行う。
これによって、マイクロプログラムの先頭アドレスを信
号線12を介し、アドレッシングモードがポストインク
リメントであることを信号線14を介し、プリデクリメ
ントであることを信号線16を介し、オペレーションサ
イズを信号線18を介し、EU220へ送出する。EU
220は、命令の実行を行い、ページフォールト割込み
が発生したことを信号線10を介して知ると、アドレッ
シングモードがポストインクリメント又はプリデクリメ
ントの場合、そのアドレス計算に用いたアドレスレジス
タの操作を信号線20,22゜24を用いて行う。
EU220は、本発明の重要な構成要素を含んでいるた
め、第3図を用いて詳しく説明する。
第3図は、EU220の詳細ブロック図である。
EU220は、マイクロプログラム制御部(略称EC0
NT)300、演算器(略称ALU)305、アドレス
レジスタのアドレスを記憶する手段(略称ARAK)3
10等から構成される。
第3図において、EC0NT300は、命令の実行を制
御し、ページフォールト再開処理の制御も、信号線12
,14,16,18を取込んで行う。
ARAK310は、オペランドのアドレッシングモード
がポストインクリメント又はプリデクリメントの場合、
そのアドレス計算に用いたアドレスレジスタのアドレス
を記憶する手段で、信号線12゜14.20を用いて行
う。
アドレッシングモードがポストインクリメントモード時
のアドレスレジスタは、IFDAU215によって加算
されている。プリデクリメントモード時のアドレスレジ
スタは、IFDAυ215によって減算されている。こ
のアドレスレジスタのアドレスは、ARAfC310に
よって記憶されているため、アドレスレジスタの内容は
、信号線22.24を用いて取込まれる。
取込まれたアドレスレジスタの内容は、ページフォール
ト再開処理時の、lIC0NT300の制御によって、
アドレス計算前の内容に戻される。
EC0NT300は、ページフォールト再開処理時の制
御に、特に関係する構成要素を含んでいるため、第4図
を用いて詳しく説明する。
第4図は、EC0NT300の詳細ブロック図である。
EC0NT300は、マイクロプログラムのアドレスを
生成する手段(略称MAGEN)400、マイクロプロ
グラムを格納するRAM (略称WC8)405、マイ
クロ命令を解読する手段(略称MPDEC)410、ア
ドレッシングモードがポストインクリメントモードであ
ることを記憶する手段(略称PIM)415、アドレッ
シングモードがプリデクリメントモードであることを記
憶する手段(略称PDM)420、オペレーションサイ
ズを記憶する手段(略称DL)425、ページフォール
ト割込みが発生したことを検出する手段(略称PF)4
30、マイクロ命令の指定により、アドレッシングモー
ドがポストインクリメント又はプリデクリメントである
か否か、オペレーションサイズがバイト(8ビツト)、
ワード(16ビツト)、ロングワード(32ビツト)の
いずれかということを検出する手段(略称IDT)43
5等から構成される。
第4図において、IFDAL+215から信号線12を
介して送られたマイクロプログラムの先頭アドレスによ
って、マイクロプログラムが読出され、命令の実行が行
われる。
命令の実行途中にページフォールト割込みが発生すると
、MMU210から信号線10を介して送られてくるた
め、PF430で検出する。
PF430は、信号線52を介して、MAGEN400
へページフォールト割込みが発生したことを伝え、MA
GEN40Gは、ページフォールト再開処理のマイクロ
プログラム先頭アドレスを生成する。
ページフォールト再開処理のマイクロプログラムは、ま
ず、ページフォールト割込みが発生した命令のアドレッ
シングモードが、ポストインクリメント又はプリデクリ
メントであるか否かを判定する。これは、PIM415
とPDM420と判定を意味するマイクロ命令(信号線
50)を、IDT435が用いて判定し、MAGEN4
00は次のマイクロ命令のアドレスを、分岐アドレス(
信号線54)を用いて生成する。
アドレッシングモードがポストインクリメント又はプリ
デクリメント時は、アドレッシングモードがポストイン
クリメントかプリデクリメントかを判定し、それぞれの
場合においてオペレーションサイズの判定を行い、異な
るアドレスレジスタ操作のマイクロ命令に分岐する。
これは、PIM415とPDM420とDL425と判
定を意味するマイクロ命令(信号線50)とを用いて、
IDT435が、判定する。
例えば、信号線50が、アドレッシングモードはポスト
インクリメントかつオペレーションサイズがロングワー
ドかという判定を意味している時、PIM415がポス
トインクリメントを示し、[1L425がロングワード
を示している場合、IDT435の出力によって、MA
GEN400は、アドレスレジスタを4減算するマイク
ロ命令のアドレスを生成する。
〔発明の効果〕
本発明によれば、オペランドのアドレッシングモードが
、ポストインクリメントモードであることを記憶する手
段と、プリデクリメントモードであることを記憶する手
段と、上記アドレッシングモードのアドレス計算に用い
たアドレスレジスタのアドレスを記憶する手段と、オペ
レーションサイズを記憶する手段を設けることによって
、ページフォールト再開を命令の最初から行う時、アト
レッシングモードがポストインクリメント又はプリデク
リメントのアドレス計算に用いたアドレスレジスタの値
を、アドレス計算前の値にもどすことができる。
これによって、命令の最初から再実行する時の、アドレ
スレジスタの2度加算、2度減算を防ぐ効果がある。
【図面の簡単な説明】
第1図は、本発明を実行した時のフロー、第2図は本発
明に適用するデータ処理装置の全体を示すブロック図、
第3図、第4図は本発明に特に係わる部分の詳細ブロッ
ク図である。 310.415,420,425,435・・・制御回
路、20,22,24,10,14,16゜18.50
,52・・・信号線。

Claims (1)

  1. 【特許請求の範囲】 1、主記憶装置と、補助記憶装置と、仮想アドレスに対
    応する物理アドレスがない時にページフオールト割込み
    を起こすアドレス変換装置と、命令の読出し、解読、実
    行を行う基本処理装置から成り、該基本処理装置内で処
    理するオペランドのアドレッシングモードが少なくとも
    、ポストインクリメントと、プリデクリメントを含むデ
    ータ処理装置において、 オペランドのアドレッシングがポストインクリメントで
    ある情報を記憶するポストインクリメントモード記憶手
    段と、 オペランドのアドレッシングモードがプリデクリメント
    である情報を記憶するプリデクリメントモード記憶手段
    と、 該基本処理装置内で処理する命令のオペレーションサイ
    ズを記憶するオペレーションサイズ記憶手段と、オペラ
    ンドのアドレス計算用ベースアドレスを記憶するアドレ
    スレジスタと、該アドレスレジスタのアドレスを記憶す
    るアドレスレジスタアドレス記憶手段と、ページフオー
    ルト割込みが発生した時、 該ポストインクリメントモード記憶手段が、ポストイン
    クリメントアドレッシングモードであることを記憶して
    いた場合、該アドレスレジスタアドレス記憶手段が示す
    アドレスレジスタに、該オペレーションサイズ記憶手段
    の状態に応じた値を減算するポストインクリメント復旧
    手段と、 該プリデクリメントモード記憶手段が、プリデクリメン
    トアドレツシングモードであることを記憶していた場合
    、該アドレスレジスタアドレス記憶手段が示すアドレス
    レジスタに、該オペレーションサイズ記憶手段の状態に
    応じた値を加算するプリデクリメント復旧手段を設けた
    ことを特徴とするページフオールト再開処理方式。
JP61211641A 1986-09-10 1986-09-10 ペ−ジフオ−ルト再開処理方式 Granted JPS6368947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61211641A JPS6368947A (ja) 1986-09-10 1986-09-10 ペ−ジフオ−ルト再開処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61211641A JPS6368947A (ja) 1986-09-10 1986-09-10 ペ−ジフオ−ルト再開処理方式

Publications (2)

Publication Number Publication Date
JPS6368947A true JPS6368947A (ja) 1988-03-28
JPH0531777B2 JPH0531777B2 (ja) 1993-05-13

Family

ID=16609140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61211641A Granted JPS6368947A (ja) 1986-09-10 1986-09-10 ペ−ジフオ−ルト再開処理方式

Country Status (1)

Country Link
JP (1) JPS6368947A (ja)

Also Published As

Publication number Publication date
JPH0531777B2 (ja) 1993-05-13

Similar Documents

Publication Publication Date Title
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPS63261449A (ja) デ−タ処理装置
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPS6250934A (ja) 処理装置の割込制御方式
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JPS6368947A (ja) ペ−ジフオ−ルト再開処理方式
JPH0668739B2 (ja) データ処理装置
JPH03175548A (ja) マイクロプロセッサ及びアドレス制御方式
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JP2765831B2 (ja) データ処理装置
JPH05165663A (ja) データ処理装置
JPH0133856B2 (ja)
JPS59172044A (ja) 命令制御方式
JPH0554141B2 (ja)
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
JPS63214856A (ja) デ−タ処理装置のデ−タ保護制御方式
JP2574918B2 (ja) 割り込み復帰処理方式
JPS58166454A (ja) デ−タ処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH0424731B2 (ja)
JPH02148226A (ja) 情報処理装置
JPH0916399A (ja) 計算機
JPS6221130B2 (ja)