JPS63197254A - 仮想記憶制御装置 - Google Patents

仮想記憶制御装置

Info

Publication number
JPS63197254A
JPS63197254A JP62028258A JP2825887A JPS63197254A JP S63197254 A JPS63197254 A JP S63197254A JP 62028258 A JP62028258 A JP 62028258A JP 2825887 A JP2825887 A JP 2825887A JP S63197254 A JPS63197254 A JP S63197254A
Authority
JP
Japan
Prior art keywords
address
memory
page
instruction
access
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.)
Pending
Application number
JP62028258A
Other languages
English (en)
Inventor
Yasuhiro Nakatsuka
康弘 中塚
Naruya Tanaka
成弥 田中
Takashi Hotta
多加志 堀田
Tadaaki Bando
忠秋 坂東
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 JP62028258A priority Critical patent/JPS63197254A/ja
Publication of JPS63197254A publication Critical patent/JPS63197254A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想記憶を扱う計算機に係り、特にページフォ
ルト発生時の命令再開処理の簡単化に好的な手法に関す
る。
〔従来の技術〕
従来、仮想記憶計算機におけるページフォルト処理終了
後の命令再開法については、アイ・イー・イー・イー、
マイクロ 1983年6月号 第28頁から32頁(I
EEE MICROJune 1983 P2g−32
)において論じられている。
それによると、ページフォルト処理終了後の命令再開方
式には先頭再開と途中再開があり、詳しく述べられてい
る。ここでは、最初にページフォルトについて簡単に説
明し1次に各再開方式を説明する。
仮想記憶とは、小容量で高速な主記憶装置と、大容量で
低速な2次記憶装置を用いて、中央演算処理装置(以下
CPU)から見た時に大容量で高速な主記憶装置がある
ように見せるものである。
これは計算機における以下の2つの性質によって実現さ
れる。ひとつはCPUから記憶装置へのアクセスは1度
に1記憶単位に限られるということ、もうひとつは、こ
のアクセスがある時間内では記憶領域のある領域に対し
てのみ行なわれるというアクセスのロカリテイである。
したがって、仮想記憶を実現するためには、現在頻度良
くアクセスが行なわれている領域を主記憶装置に格納し
、主記憶装置上に置けなかった領域は2次記憶装置上に
置くことにより、高速なメモリアクセスが可能となる。
ここで、メモリ上に配置する領域としてページという単
位を考え、領域は1ページごとに管理されるものとする
今、CPUが2次記憶装置上のページ内のデータを参照
しようとする場合、その領域を主記憶装置上の別のペー
ジと入れ替えなければならない。
したかっ7、各ページが存在する場所は時間とともに変
化するので、各ページの存在場所を管理し、CPUから
出されるアドレスを変換して対応付けなければならない
。この変換はCPU実行中に行なわれるので動的アドレ
ス変換と呼ばれる。
変換されたアドレスは主記憶装置上のアドレスであり、
物理アドレスと呼ばれる。それに対し、CPUから出さ
れるアドレスは、ページの実在する場所を気にしないと
いう意味で論理アドレスと呼ばれる。一般に論理アドレ
ス空間は物理アドレス空間よりも広く、それ故にアドレ
ス変換を行なう時、求めるデータを含むページが主記憶
装置上に存在しない場合がある。この状態のことをペー
ジフォルトと呼び、主記憶装置へこのページを取り込む
ために行なわれる、主記憶装置と2次記憶装置とのペー
ジの入れ替えに伴う一連の処理をページフォルト処理と
いう。
ページフォルト処理は大きく3つの部分に分けられる。
第1番目は、ページフォルト処理によって破壊される情
報をメモリへ退避すること、第2番目は、入出力コント
ローラに対してページ入れ替えの処理を指示すること、
第3番目は退避したデータを取り込み、命令を再開する
ことである。
ページフォルトはメモリアクセス時、すなわち命令実行
中におこるので、ページフォルト処理終了後はこの命令
が誤動作なく実行終了しなければならない。そのための
方式が、次に説明する命令先頭再開方式である。
ページフォルト発生時には必要最小限の情報を退避し、
処理終了後は同命令を最初からもう一度実行する方式で
ある。
この場合、ページフォルト発生前に各種情報を破壊して
しまう場合があり、その時にはこの方式では誤動作する
。したがって、この方式の場合は。
各種情報を書き替える前にページフォルトがおこるかど
うかチェックするためにダミーのアクセスを行なう。こ
れによって、各種情報の書き替え時には、ページフォル
トがおこらないことが保障される。このダミーアクセス
処理をリハーサル処理という。
ページフォルト発生時には、マイクロプログラム関係の
情報をも退避し、処理終了後には、命令の途中から実行
を再開する方式である。
〔発明が解決しようとする問題点〕
上記従来技術は以下の2点について配慮されていなかっ
た。
1、リハーサル処理を行なう場合、命令の実行開始時の
ダミーアクセスによってページフォルトがおこらない状
態となるのでその後ページフォルトに起因する誤動作は
ない、(命令先頭再開方式) しかしこの方法はダミーアクセスのためのマイクロプロ
グラムを起動するので、マイクロプログラムのステップ
数を増加させる。したがって、実行サイクル数の大きな
命令に対しては有効であるが、実行サイクル数が小さな
命令に対してはオーバーヘッドが大きい。
2゜命令実行中にページフォルトがおこった場合、その
時点の各種レジスタの値を保持し、ページフォルト処理
終了後、命令、の途中から再開する方式では、情報が退
避されているので誤動作しない、(命令途中再開方式) しかし、この方法は退避すべき情報が多く、また、ペー
ジフォルトの発生するタイミングによって、退避すべき
内容も異なるので、情報退避・回復のためのオーバーヘ
ッドが大きい0例えば、ページフォルトがおこったタイ
ミングが、CPUの内部状態が変化する前か後かで退避
情報が異なる。このオーバヘッドは、複数のページフォ
ルト処理を要求し、マイクロプログラム容量を増大させ
る。
本発明の目的は、マイクロステップ数もマイクロプログ
ラム容量も増加させることなく、ページフォルト処理終
了後の命令再開を誤動作なく実現することにある。
〔問題点を解決するための手段〕
上記目的は、メモリアクセスを行なう時にそのアクセス
がページフォルトを発生する可能性があるか否かを判定
し、警告を発する手段を有することによって達成される
本発明の好ましい実施態様に於いては、警告を受けた時
、CP IJの状態や、メモリの内容をCPUが変化さ
せる前にダミーのアクセスを行なわせる手段を有し、さ
らに、好ましくは、該手段をメモリアクセスのコントロ
ーラに持たせることによって、マイクロプログラムのス
テップ数を増加させないことにある。
〔作用〕
命令実行時のメモリアクセスがページフォルトの可能性
のあるものであった時、ページフォルトの警告が発せら
れる。
このとき、好ましくは、ダミーアクセスが行なわれる。
ダミーアクセスの結果ページフォルトがなかった場合は
、命令が継続される。
ダミーアクセスの結果ページフォルトがあった場合、ペ
ージ六九替えのための一連の処理が行なわれる。処理終
了後、命令は先頭から再開されるが、CPU状態やメモ
リの内容は命令開始時のものが退避されるので、誤動作
することなく命令の先頭再開が可能である。
しかも、これらの処理は警告が発せられた時にのみ行な
われるので、性能の低下は最小限に押さえられ、好まし
くは、マイクロプログラムの増大もない。
〔実施例〕
以下、本発明の一実施例を第1図〜第4図によって説明
する。
最初に本計算機システムの用語について説明する。
ワード;例えば1ワード2バイトから成るデータ領域ア
ドレスは1.ワードごとに 連続的に割りつけられる。
ブロック:例えば1ブロツク2ワードで構成されるメモ
リアクセスの単位であり、 ブロックの先頭アドレスは偶数とな るゆ ページ:例えば1ページ4にワードの領域であり、仮想
記憶システムにより管理 される最小単位である。
本計算機システムの記憶装置は仮想記憶方式によって管
理されている。すなわち、第1図において、メモリアク
セスの論理アドレスが格納されているレジスタLARI
IIの内容を動的アドレス変換機構DAT123を通し
て変換し、主メモリMM102のアドレスを格納するレ
ジスタPAR112ヘセットしてメモリアクセスを行な
う。
このときレジスタLARの内容に対応するデータが主メ
モリMM102上になく、2次記憶装fiDK104上
にあるときには、メモリ管理ユニットMMU122が指
令を出し、入出力制御装[l0C103の制御により例
えば1ページ4にワードを単位として、主メモリMM1
02上のページと2次記憶装[DK104上のページと
を入れ替える。これがページフォルト処理と呼ばれるも
のである。
ページフォルトがおこるか否かは動的アドレス変換機構
DAT123を用いて変換してみなければわからない。
このとき以下のような不都合が生じる。第2図(a)に
示したように命令語201とその命令によって書きかえ
られるアドレス領域202が重なっており、しかも書き
込み対象となるアドレス領域202がページ境界211
をまたぐ場合や第2図(b)に示したように命令語20
3によって読み込まれるアドレス領域204と書き込ま
れるアドレス領域205どが重なっており、しかも書き
込みアドレス領域205がページ境界212をまたぐ場
合を考える。
第2図において右方向はアドレスの増加方向(221)
を示し、下方向は時間の経過(222)を示している。
202や205のようにページ境界をまたぐデータ領域
へのアクセスは、第2図(C)に示したような2つのブ
ロックによるアクセス(206a 、 206b)およ
び(206c 、 206d )にわけられる。これは
ページ境界は必ずブロック境界となるためである。
第2図(C)における206a、 206dの部分を無
効とすれば、ページにまたがる領域206b、 206
cへの書き込みが可能となる。
第2図(a)の場合、命令を実行する以前に命令語20
1を読み込んでいるので、この部分を含むページは主記
憶装置上に存在し、書き込み領域の前半の部分のアクセ
スは異常なく終了する。次に後半の部分にアクセスした
時にページフォルトがおこると、ページフォルト処理終
了後に命令を先頭から再開できない。なぜならば言き込
みアドレス領域202の前半のアクセスによって命令語
が破壊されているからである。
第2図(b)の場合、まず読み出しくアドレス領域20
4へのアクセスがおこなわれるが、このときメモリの内
容は書きかえられてはいないので、ここでページフォル
トがおこってもページフォルト処理の終了後、命令の先
頭から実行を再開できる。しかしながら、書き込み領域
205へのアクセスの場合は、第2図(a)の場合と同
様に書き込み領域205の後半のアクセスでページフォ
ルトが検出された時には読み出し領域204はすでに書
き換えられてしまっているのでページフォル1〜処理終
了後の命令の先頭再開は不可能となる。
従来は、この開運を解決するために、ページフォルト発
生時に退避するレジスタ類を多くして命令の途中再開を
可能とする方式や、書き込みアクセスのある命令では必
ず実際に書き込む前にダミーのアクセスを行なう方式な
どを用いていた。
しかし、前者はマイクロプログラムの負担を増加させ、
後者はダミーアクセスの分だけマイクロステップ数を余
計に使い、しかもページ境界をまたがないようなアクセ
スに対してもダミーアクセスを行なってしまい、著しく
性能を低下させている。
そこで、本発明ではページフォル1−がおこる可能性が
あるか否かを事前に検出し、対策することによって上記
問題点を解決する。
第3図はページフォルト警告信号の発生機構を示してい
る。論理アドレスレジスタLAR111には論理アドレ
ス1]、1a、 Hlb、 1110のようなアドレス
データが格納されている。ここで、111aはページ境
界から2ワ一ド手前のアドレスであり111bは1ワ一
ド手前、111Cはページ境界上のアドレスである。
111aは、例えば最下位ビットがO、ビットOからビ
ット11まではオール1であり、101bは下位12ビ
ツトがオール1,101eは下位】、2ビツトがオール
0であるようなアドレスである。
書き込み領域が1ワードの時は、書き込み領域がページ
境界をまたぐことはないので、ページフォルト時のトラ
ブルはない。また、書き込み領域が例えば3ワ一ド以上
の時は、マイクロプログラムによってダミーリードを行
なってもマイクロプログラムのステップの増加率はあま
り大きくないのでこれも開運はない。
書き込みアクセスが例えば2ワードの時は、以上2ケー
スのどれにも属さないので特別な処理を要する。書き込
みアドレスが1118や111Cの場合、2ワードのア
クセス領域がページ境界をまたがないので、トラブルは
発生しない。すなわち、アクセス領域がページ境界をま
たぐのは111bのケースだけである。したがって、1
11bのケースであることを検出する手段を設け、その
時のみ対策すれば良い、 1llbの特徴は下位12ビ
ツトがオール1であることであるので、第4図(a)に
示す様な12ビツトの例えば、ワイヤード・オア回路等
の論理積回路121aを用いて容易にベージフカ11月
−警告信号であるアラーム131が得られる。
401aにおいて信号133は、 MMtl122から
与えられる警告信号発生許可信号である。
メモリアクセス制御部MMU122はアラーム1.31
を受けると、マイクロプログラムからのアクセス要求が
2ワードアクセスの場合に限り、DAT123に対して
アドレス111cのアドレス変換のみを行なうように指
令する。
アドレス111cの領域が主記憶装置内になかった場合
はページフォルト処理が行なわれて命令が先頭から再開
されるが、1lleへのアクセスでページフォルトがお
こらないことが保証されているので。
ページフォルトに関するトラブルを避けることができる
この方法でも例えば3ワ一ド以上のアクセスの場合と同
様にダミーアクセスを行なうが、これはMMU122に
よって実行されるのでマイクロプログラムのステップ数
は増加しない。
また・アラーム131が発行されるのlまアドレスが1
115の場合だけでありダミーアクセスによりサイクル
数の増加量は平均すると4096分の1(0,025%
)となる。さらに、ダミーアクセスを行なう条件として
、ライトアクセスであることと2ワードアクセスである
こととを加えるとサイクル数の増加は皆無に等しいほど
となる。
また、」1記実施例の他に3ワードアクセスや、4ワー
ドアクセスなどに対しでも警告を発することができる。
すなわち、メモリアクセスの論理アドレスLAとページ
境界BAおよびあらかじめ定められた自然数N (Nワ
ードアクセスに対して)告を発する)において B A  N < L A < B A     (1
)なる条件を満足する時に警告を発すれば良い。
特に N=2’+1  (nは負でない整数)の時第5
図に示したとおり、ビットnからビット11までがオー
ル1であるという条件と等価であるので。
第4図(b)(n=1のとき)や第4図(c)(n−2
のとき)のように簡単な論理で警告信号131を発する
ことが可能である。
第5図において、501はメモリのアドレスであり、5
06はページ境界である。502〜505はページ境界
506をまたぐそれぞれ2ワード、3ワード、4ワード
、5ワードのアクセス領域のバタンである。
また、上記実施例では警告信号131をMMU122へ
送る場合を考えたが、第6図に示したように警告信号〕
31.をCPUl0Iのマイクロプログラム制御部分6
22によって検出することもできる。
マイクロプログラムによって警告が検出された場合、マ
イクロプログラムはサブルーチンへジャンプし、そこで
次ページのアドレスに対するダミーアクセスを実行する
。ダミーアクセスの実現法には以下のものが考えられる
■ リードアクセス ■ 書き込み信号をネゲートしたライトアクセス ■ アドレス変換のみを行なう さらに、上記実施例では、メモリへの書き込みによる誤
す」作を防ぐものであったが、cPUlo1内部のレジ
スタを変化させた後で発生するページ7、tルトにも対
処できる。
すなわち、警告信号の発生を、メモリアクセス要求を待
たずに行なわせることにより、命令の先頭、あるいはC
PUl0I内のレジスタが命令の実行によって変化する
以前に行なわせ、ページフォルトのチェックをしてしま
う方式である。
この方式により、スタックポインタのようなメモリアク
セスとともに変化するレジスタを持つ計算機においても
ページフォルト処理後命令の先頭再開が可能となる。
〔発明の効果〕
本発明によれば、ページフォルト処理終了後に命令を先
頭から再開できるのでページフォルト処理のためのマイ
クロプログラムの負担を軽減できる。
また、好ましくは、アラーム信号が発生した時で、しか
も指定されたワード数のライトアクセスの時にのみダミ
ーアクセス処理を行なうので、平均するとサイクル数を
ほとんど増加させずに命令の先頭再開を可能とすること
ができる。
さらに好ましくは、ダミーアクセスの発行はメモリアク
セス制御装置が自動的に行なうようにすると、マイクロ
プログラムでアラーム信号のチェック等を行なう必要が
なく、マイクロプログラムのステップ数の増加やマイグ
ロブログラム自体の複雑化を避けることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図。 第2図はページフォル1−によって引きおこされるトラ
ブルの例を示す図、第3図はペーフオルトアラームの発
生機構を示す図、第4図はページフォルトアラームの発
生論理の例を示す図、第5図はページ境界をまたぐアク
セスの例を示す図、第6図はアラーム信号をマイクロプ
ログラムで検出する場合を示す図である。 (α) ; (Cノ ー=二匹=コ ; 高3図 高4図 (α) (b) (υ (1ddreSS So+ ≦

Claims (1)

  1. 【特許請求の範囲】 1、命令実行時に使用するメモリの論理アドレスを格納
    する少なくともひとつの論理アドレスレジスタと当該レ
    ジスタの内容でメモリアクセスを行なうことを要求する
    信号発生手段を有し、かつ、その結果として前記論理ア
    ドレスに対応するデータを受け取る命令実行部分と 上記論理アドレスを物理アドレスに変換するアドレス変
    換機構と当該アドレス変換機構により生成される物理ア
    ドレスを格納する物理アドレスレジスタとを有し、前記
    メモリアクセス要求信号と論理アドレスレジスタの内容
    を受け、上記アドレス変換機構により物理アドレスレジ
    スタにセットし、当該物理アドレスに従つてメモリアク
    セスを行なうことを要求する信号発生手段を有するメモ
    リ管理部分と 上記物理アドレスおよび物理アドレスに対応するメモリ
    アクセス要求信号を受け、対応するデータを送出する記
    憶部分と を有し、仮想記憶管理を行なう計算機システムにおいて 論理アドレスレジスタの内容とAと次のページ境界アド
    レスBAとを比較し、ある定められた自然数Nに対して BA−N≦−LA<BA なる条件が成立することを検出する手段を設けたことを
    特徴とする仮想記憶制御装置。 2、特許請求の範囲第1項において、上記条件の成立信
    号をメモリ管理部が受け、命令実行部とは独立に次のペ
    ージ境界アドレスBAがアドレス変換可能か否かを検出
    する手段を設けることを特徴とした仮想記憶制御装置。 3、特許請求の範囲第1項において、上記条件の成立信
    号を命令実行部が受け、命令実行部の制御のもとに次の
    ページ境界アドレスBAがアドレス変換可能か否かを検
    出する手段を設けることを特徴とした仮想記憶制御装置
    。 4、特許請求の範囲第1項において、上記条件の成立信
    号の生成部分を命令実行部分の中に持ち、マイクロプロ
    グラムによつて実現することを特徴とした仮想記憶制御
    装置。
JP62028258A 1987-02-12 1987-02-12 仮想記憶制御装置 Pending JPS63197254A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62028258A JPS63197254A (ja) 1987-02-12 1987-02-12 仮想記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62028258A JPS63197254A (ja) 1987-02-12 1987-02-12 仮想記憶制御装置

Publications (1)

Publication Number Publication Date
JPS63197254A true JPS63197254A (ja) 1988-08-16

Family

ID=12243542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62028258A Pending JPS63197254A (ja) 1987-02-12 1987-02-12 仮想記憶制御装置

Country Status (1)

Country Link
JP (1) JPS63197254A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569127B2 (en) 2014-12-29 2017-02-14 International Business Machines Corporation Computer instructions for limiting access violation reporting when accessing strings and similar data structures
US9703721B2 (en) 2014-12-29 2017-07-11 International Business Machines Corporation Processing page fault exceptions in supervisory software when accessing strings and similar data structures using normal load instructions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6073759A (ja) * 1983-09-30 1985-04-25 Toshiba Corp アドレス変換バッファ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6073759A (ja) * 1983-09-30 1985-04-25 Toshiba Corp アドレス変換バッファ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569127B2 (en) 2014-12-29 2017-02-14 International Business Machines Corporation Computer instructions for limiting access violation reporting when accessing strings and similar data structures
US9703721B2 (en) 2014-12-29 2017-07-11 International Business Machines Corporation Processing page fault exceptions in supervisory software when accessing strings and similar data structures using normal load instructions

Similar Documents

Publication Publication Date Title
JPH0425579B2 (ja)
US4513369A (en) Information processing system
JPS61114353A (ja) 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体
JPS6376034A (ja) 多重アドレス空間制御方式
US5293622A (en) Computer system with input/output cache
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPS63197254A (ja) 仮想記憶制御装置
JPH01125644A (ja) データ転送装置
JPS59197946A (ja) メモリ装置
JPH0944413A (ja) ページ境界試験方法
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置
JPH0567973B2 (ja)
JPS61214039A (ja) キヤツシユメモリ
JP2964504B2 (ja) 文書処理装置
JPH05250263A (ja) 仮想プロセッサ方式及び不揮発化記憶方式
JP2845746B2 (ja) マイクロプログラム制御装置
JPS5972545A (ja) マイクロプログラム制御システム
JPH02293947A (ja) 仮想記憶二重化方式
JPH02226447A (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH0526216B2 (ja)
JPH0816478A (ja) ベクトルデータ処理装置
JPH0324640A (ja) 情報処理装置のデバッグ方式
JPS5918797B2 (ja) アドレス・チエツク処理方式
JPS62108346A (ja) プロセス間通信方式
JPS589452B2 (ja) フア−ムウエアホウシキ