JPH06124227A - Method and system for eliminating page fault - Google Patents

Method and system for eliminating page fault

Info

Publication number
JPH06124227A
JPH06124227A JP4275276A JP27527692A JPH06124227A JP H06124227 A JPH06124227 A JP H06124227A JP 4275276 A JP4275276 A JP 4275276A JP 27527692 A JP27527692 A JP 27527692A JP H06124227 A JPH06124227 A JP H06124227A
Authority
JP
Japan
Prior art keywords
page
memory
data line
microprocessor
data
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
JP4275276A
Other languages
Japanese (ja)
Inventor
English Robert
ロバート・イングリッシュ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Priority to JP4275276A priority Critical patent/JPH06124227A/en
Publication of JPH06124227A publication Critical patent/JPH06124227A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE: To minimize the input/output transfer wait time at the time of removal of a page fault. CONSTITUTION: Information from an I/θ bus from a memory controller 102 is inputted to a controller and guided to a register 300 together with a page protection register 200. A tag file 302 is necessary only when a cache memory is used. A comparison with an array of tags is made and when the both match each other, an address in a main memory 104 is generated. When not, on the other hand, a request data line is read out of the memory 104 thorugh the I/θbus and used to fill the cache of the memory 104. A process requesting a critical data line is started after mask bits are sets to prevent a processor from waiting until all pages are transferred to a local memory.

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、コンピュータのための
メモリ管理システムに関し、より詳細には、ページ・フ
ォルト(page fault)を引き起こしたクリティカル・デー
タ・ライン(critical data line)を受け取ると、そのペ
ージの残りの部分がローカル・メモリに書き込まれるこ
とを待つことなく直ちにページ・フォルトを解消するペ
ージング・システム(paging system) に関するものであ
る。 【0002】 【従来技術とその問題点】当業者には周知のように、マ
イクロプロセッサは、その上で実行中のプロセスによっ
て必要とされるデータを記憶するためのローカル・メモ
リを備えている。ローカル・メモリは、オン・ボード・
キャッシュまたはマイクロプロセッサのローカル(メイ
ン)メモリである。また、性能を改善するためにメイン
・メモリにキャッシュが設けられることもある。典型的
には、ローカル・メモリはメモリの1ページ以上のデー
タを高速アクセスが可能なようにマイクロプロセッサに
局所的に記憶するページング・システムに従って動作す
る。このようなページング・システムでは、マイクロプ
ロセッサによって要求されたデータ(以下、要求データ
とする)がその時ローカル・メモリに記憶されているペ
ージ中に見つからない場合、ページ・フォルトが発行さ
れ、周知のページ取りもどし技術を用いて外部の比較的
遅い第2のメモリからその要求データを含むページがロ
ーカル・メモリに書き込まれる。このページ書込み(I
/O転送)の間、データを要求するプロセスは、その要
求データを含む全ページがローカル・メモリに書き込ま
れるまで、マイクロプロセッサによって機能停止され
る。このようにプロセスが機能停止される期間は一般に
記憶待ち時間(storage latency) として知られている。 【0003】記憶待ち時間は、I/Oデータ転送待ち時
間と第2メモリで所望のデータを見つけだすための検索
時間を含むため、第2メモリ内のデータをアクセスする
ことは通常ローカル・メモリ内のデータのアクセスより
よりはるかに遅い。第2メモリに対しては比較的検索時
間が長いため、I/Oデータ転送待ち時間は、記憶待ち
時間の比較的小さい割合しか占めない。例えば、典型的
なディスクからのメモリ転送の場合、要求されたページ
をディスク上で見つるには20ミリ秒かかることがある
が、要求されたページが見つけた後それを転送するには
2ミリ秒しかかからない(4kBを2MB/秒で転送す
ると仮定した場合)。その結果、記憶装置の待ち時間を
短縮しようとする従来技術の努力は、第2メモリにおい
てページを見つけ出すのに必要な時間を短くすることに
重点が置かれてきた。しかしながら、ランダム・アクセ
ス・メモリ(RAM)のコストが低下するにしたがっ
て、それは第2メモリとしてより頻繁に使用されるよう
になってきている。当業者にとっては周知のように、R
AMは比較的アクセス時間が短く、その結果、上述のシ
ステムにおいてはI/Oデータ転送待ち時間が記憶待ち
時間に占める部分が従来より大きくなってきた。従っ
て、ページ・フォルトを最も効率的に解消することがで
きるようにするために、このI/O出力データ転送待ち
時間をさらに短縮して、記憶待ち時間をさらに最小化す
ることが望まれている。 【0004】I/Oデータ転送待ち時間の問題は、特定
のページ・サイズを選択することによって扱われること
がしばしばある。ページ・サイズの選択は複雑で、機械
をどのように使用するかについての予測、メイン・メモ
リ・サイズの予測及びマイクロプロセッサの大きさ並び
に接続数等のハードウェア設計上の様々な制約に基づい
て行われる。一般に、ページ・サイズが大きいと、それ
だけマイクロプロセッサ及び仮想メモリ・ソフトウェア
が小さくなり、複雑さを軽減する。システムのメイン・
メモリが十分に大きいと、より大きなページ・サイズ
は、各ページ・フォルトに対して取り出されるデータ量
を増加させることによって、第2メモリからプロセスを
ロードするのに必要なページ・フォルトの数も減らすこ
とができる。しかしながら、メイン・メモリがアプリケ
ーションが必要とする全てのページ・セットを保持する
に足る十分な大きさでない場合は、大きなページ・サイ
ズでは、システム性能は改善されるよりむしろ低下す
る。この結果は、大きなページ・サイズにより、システ
ム上で実行されるプロセスおよびプロセスに対して利用
可能な有効メモリが減少し、そして、個別のI/O要求
の待ち時間が増加する。例えば、各ページに1つの4バ
イト・データ項目を必要とするプロセスにおいて、メモ
リ・サイズを一定にしたままページ・サイズを2倍にす
ると、プロセスがメモリに同時に保持することのできる
データ項目の数が半分になり、第2メモリからページを
転送するのに必要な時間は2倍になる。転送時間が要求
されたページを第2メモリで捜し出すのに必要な時間よ
りはるかに長いと、ページ転送待ち時間による性能の低
下がかなり大きく生じる。 【0005】このように、ページング・システムにおい
ては、利用時間とシーク時間とのトレードオフが図られ
ることがしばしばある。転送規模を大きくすると、デー
タをローカル・メモリに引き込むのに必要なシーク数が
減少し、すぐ上に述べたように、細分性(granularity、
ページ・サイズ)が記憶待ち時間、即ち、ページ・フォ
ルトを解消するのに必要な時間に対して極めて大きな影
響を及ぼす場合がある。小さなページも使用することも
できるが、実際に小さなページ使われる場合は、メモリ
使用が少なくなり、ページ・フォルトの数が増加すると
いう犠牲の下に使用される。 【0006】あるページのある部分をあるページの他の
部分の前にアクセスすることができるシステムは一般に
は知られていない。ただし、翻訳テーブルにおいてペー
ジのいくつかの部分をロックすることができるIBM
RS 6000のようなシステムは知られている。加え
て、ページ・フォルトをページ中のデータの部分転送と
同時に解消することが可能なシステムも一般には知られ
ていない。同様の技術がハードウェア・キャッシュ階層
内における待ち時間の問題を扱うために用いられて来た
が、このような技術の外部メモリ及び仮想記憶システム
への応用については、本願発明者の知るところではな
い。 【0007】従って、ページ・フォルトを減少させるた
めに必要な時間を最小限にするために、記憶装置の待ち
時間を短縮することが望まれる。好ましくは、この待ち
時間短縮をマイクロプロセッサがページの部分転送と同
時にページ・フォルトを減少させて達成することが望ま
しい。特に、ページ・フォルトを引き起こした問題デー
タ・ラインがローカル・メモリに受け取られるとすぐ
に、即ち、そのページの残りのラインが転送されるのを
待つことなく、マイクロプロセッサが処理を再開するこ
とができるようにすることが望ましい。また、クリティ
カル・ラインを最初に送り出す、即ち、要求されたペー
ジ中の他のデータ・ラインの前にページ・フォルトを引
き起こしたクリティカル・データ・ラインを転送するに
ことよって、入出力データ転送待ち時間をさらに短くす
ることが望まれている。本発明はこれらの要求を満たす
ためになされたものである。 【0008】 【発明の目的】本発明の目的は上述の問題点を解決し、
発生したページ・フォルトをじんぞくに解消する方法及
びシステムを提供することにある。 【0009】 【発明の概要】上述の必要を満たすため、本発明はマイ
クロプロセッサがページ・フォルトを引き起こしたクリ
ティカル・ラインがマイクロプロセッサのローカル・メ
モリに受け取られるとすぐに処理を再開することができ
るクリティカル・ライン優先ページング・システム(cri
tical line first paging system) を提供する。従っ
て、マイクロプロセッサは、ページ・フォルトを解決す
る前に要求されたラインを含むページ全体が転送される
まで待つ必要はなく、マイクロプロセッサは処理を再開
し、その間にデータ転送を完了することができる。ま
た、本発明は、ページ・フォルトを引き起こすクリティ
カル・データ・ラインをあるページの他のラインに関し
て順番を無視して取り出し、クリティカル・ラインがロ
ーカル・メモリに転送されるとすぐにページ・フォルト
を解消することができるようにする技術を提供するもの
である。このような方法によれば、Nをページ中のライ
ン数とする、I/Oデータ転送待ち時間をほぼNに近い
ファクタで短縮することができる。 【0010】本発明の利点は、マイクロプロセッサにお
けるプロセスの実行中に受信したページ・フォルトを解
消するという新規な方法に従って達成される。本発明に
よれば、ページ・フォルトを解消する前にまずマイクロ
プロセッサに外部記憶装置から新規ページのデータ全体
を読み出し、それをマイクロプロセッサのオペレーティ
ング・メモリに書き込む必要はない。本発明では以下の
ステップを含み、ページの一部を転送した後、ページ・
フォルトを解決することが可能である。 ページ・フォルトが生じた要求データ・ラインのアド
レスを確認する。 要求データ・ラインを含むページの記憶装置からオペ
レーティング・メモリへの転送を開始する。 要求データ・ラインが記憶装置からオペレーティング
・メモリに到着したかどうか検出する。 要求データ・ラインが記憶装置からオペレーティング
・メモリに到着したことが上記検出ステップにおいて検
知されるまで、プロセスを停止する。 要求データ・ラインがオペレーティング・メモリに達
したならば、そのページの全てのデータ・ラインが記憶
装置から転送されるのを待つことなくすぐにプロセスを
継続する。 【0011】好ましくは、本発明はさらに要求データ・
ライン(クリティカル・ライン)をそのページの他のデ
ータ・ラインを転送する前に転送するステップを含む。
このようにして、ページ・フォルトは、第1のデータ・
ラインをI/O装置から受信するとすぐに解決すること
も可能である。 【0012】さらに、本発明の実施例によれば、上記の
開始ステップは、ページのアドレスをページ保護レジス
タに記憶するステップよりなり、上記の検出ステップは
以下のステップを含む。 記憶装置からオペレーティング・メモリに現在転送し
ているデータのページのアドレスをページ保護レジスタ
に記憶されたアドレスと比較する。 これらアドレスが同じであれば、記憶装置からオペレ
ーティング・メモリに現在転送しているデータ・ライン
に対応するページ保護レジスタのマスク・ビットを設定
する。 要求データ・ラインに対応するページ保護レジスタの
所望のマスク・ビットをチェックする。 所望のマスク・ビットが設定されているとき、要求デ
ータ・ラインがオペレーティング・メモリに到着したこ
とを検知する。 機能停止ステップは、検出ステップでこの所望のマスク
・ビットが設定すべきものと判断されると終了する。こ
れは、マイクロプロセッサが適切なマスク・ビットが設
定されるまで周期的にデータを要求し、拒絶されるよう
にするか、あるいは適切なマスク・ビットが設定される
とすぐに、要求データ・ラインがオペレーティング・メ
モリに到着したということをマイクロプロセッサに指示
することによって達成することができる。 【0013】本発明は好ましくは1ページのデータを記
憶するためのオペレーティング・メモリと、複数ページ
のデータを記憶するための第2の記憶装置と、プロセス
を実行するためのマイクロプロセッサと、メモリ・コン
トローラとからなるコンピュータ・システム上で実施す
ることが望ましい。動作については、マイクロプロセッ
サは、プロセスによって要求された各データ・ライン毎
にオペレーティング・メモリにアクセスし、要求された
データ・ラインを含むページがオペレーティング・メモ
リに存在しない場合、ページ・フォルトを受信する。こ
のようなページ・フォルトを受信すると、本発明のマイ
クロプロセッサは、ページ・フォルトを引き起こした要
求データ・ラインのアドレスを確認し、次いで第2の記
憶装置からオペレーティング・メモリへの要求データ・
ラインを含むページの転送を開始する。すると、メモリ
・コントローラは、要求データ・ラインが記憶装置から
オペレーティング・メモリへ到着したかどうかを検出
し、要求データ・ラインが第2の記憶装置からオペレー
ティング・メモリに到着するまでマイクロプロセッサに
よるプロセスの処理を停止する。要求データ・ラインを
受信したならば、マイクロプロセッサはプロセスの処理
を再開する。言い換えると、マイクロプロセッサは、ペ
ージ中の全てのデータ・ラインが第2の記憶装置から転
送されるのを待たずに処理動作を継続する。 【0014】本発明の一実施例においては、マイクロプ
ロセッサは、要求データ・ラインをそのページの他のラ
インより先にオペレーティング・メモリに転送するよう
第2の記億装置に指示する手段が設けられている。すな
わち、マイクロプロセッサは、ページ・フォルトを引き
起こしたクリティカル・ラインをそのページ中の他のラ
インより前に転送するように第2の記憶装置に指示す
る。好ましくは、メモリ・コントローラは、要求データ
・ラインを含むページのアドレスを記憶するためのペー
ジ保護レジスタ及びマイクロプロセッサによって要求さ
れたアドレスをページ保護レジスタに記憶されたアドレ
スと比較するための手段よりなる。比較器は、これらの
アドレスが一致すると、マイクロプロセッサへSTAL
L(停止)信号を出力する。ページ保護レジスタは、好
ましくはページの各ライン毎に1つずつ複数のマスク・
ビットを有し、比較手段はさらに上述のページ・アドレ
スが同じである場合、記憶装置からオペレーティング・
メモリへ転送中のデータ・ラインに対応するページ保護
レジスタのマスク・ビットを設定する。要求データ・ラ
インに対するマスク・ビットが設定されると、STAL
L信号はオフとなる。 【0015】このように、I/O転送時には、第2の記
憶装置から読み込まれたデータ・ラインがページ保護レ
ジスタに記憶されたアドレスと一致するアドレスを有し
かつ要求データ・ラインに対応するページ保護レジスタ
の所望のマスク・ビットが設定されていないと、メモリ
・コントローラはマイクロプロセッサによるプロセスの
処理を停止する。マイクロプロセッサは、要求データ・
ラインと対応するページ保護レジスタの所望のマスク・
ビットが設定されている場合のみ、プロセス処理を継続
することができる。 【0016】 【発明の実施例】以下、本発明を以下に実施例に基づい
て図1〜図3を参照しながら詳細に説明する。当業者に
とって、これらの図面との関連において本願明細書中に
記載する説明が例示のみを目的とするものであり、本発
明を限定することを意図したものでは全くないというこ
とは自明である。 【0017】本発明は、前述の記憶待ち時間の問題を解
消せんとするものである。典型的に、I/Oリンクはペ
ージ・フォルトに応答してページ全体にファイルするこ
とをサポートしないので、ページは一度に転送すること
はできず、データ伝送自体がページ書込み時における妨
げになる場合がある。本発明は、ページ全体が転送され
るまで待つことなく、マイクロプロセッサが要求データ
に対して直ちに処理を開始することができるようにする
ことによってこの妨げを除去するものである。以下、こ
の目的を達成するためのシステム及び方法を図1〜図3
に基づいて説明する。 【0018】典型的なメモリ管理システムにおいては、
各ページ・フォルトにはある程度のソフトウェア・オー
バーヘッドとある程度のハードウェア待ち時間が伴う。
ハードウェア待ち時間の一部はI/Oデータ転送(リン
ク)待ち時間であり、全データ転送時間の一部になって
いる。例えば、4kBのページ及び100MBリンクの
場合、オーバーヘッドを考慮すると、I/Oデータ転送
待ち時間は約40μsである。しかしながら、各4kB
ページは通常64バイトを有する64データ・ラインで
構成されるので、最初のデータ・ラインがローカル・メ
モリに受信されるとすぐプロセッサが実行可能であれ
ば、遅延のデータ転送の部分は、1マイクロ秒(μs)
以下(40/64μs)に短縮することができる。 【0019】ページ・フォルトを引き起こしたクリティ
カル・データ・ラインが戻されるとすぐにマイクロプロ
セッサが実行可能なメモリ・システムを図1に示す。マ
イクロプロセッサ100は、典型的な方法でプロセスを
処理し、プロセスが必要とするデータを要求する。特
に、マイクロプロセッサ100は、I/Oバスを介して
メモリ・コントローラ102と通信して、プロセスが必
要とするデータがローカル(メイン)メモリ104にあ
るかどうかを確認し、そのデータがメモリ104にあれ
ば、そのデータはI/Oバスを介してマイクロプロセッ
サ100に戻される。この場合、マイクロプロセッサ1
00は処理を続行する。これに対して、要求データがメ
イン・メモリ104に記憶された現在のページになけれ
ば、マイクロプロセッサ100の内部の仮想メモリ・ハ
ードウェアによってページ・フォルトが検出される。マ
イクロプロセッサ100が物理メモリ・ページを選択し
て仮想ページを割当て(instantiate) 、I/Oを開始し
て物理ページに妥当なデータを満たすことができるま
で、処理を中断する。よって、メモリ・コントローラ1
02は仮想アドレスについて何も知る必要がない。しか
しながら、以下に説明するように、マイクロプロセッサ
100は、要求データが第2の記憶装置106から到着
するまでメイン・メモリ104内のページのクリティカ
ル・ラインを無効であるとみなすべきであるということ
をメモリ・コントローラ102に知らせることもでき
る。もちろん、処理効率をさらに向上させるためには、
メイン・メモリ104にキャッシュを設けてもよく、ま
たメモリ・コントローラ102にキャッシュ・コントロ
ーラを設けてもよい。 【0020】典型的なキャッシュ・メモリ・システムの
場合、メモリ・コントローラ102は、メイン・メモリ
104に記憶されたデータを識別するためのタグファイ
ルあるいはこれと同様の他の手段を具備する。タグファ
イルを用いる場合、それらのタグファイルはメモリ・コ
ントローラ102自体に記憶することが好ましく、これ
らのタグファイルによって、メモリ・コントローラ10
2はメモリ入出力時にメイン・メモリ104(あるいは
そのキャッシュ)が満たされるまでマイクロプロセッサ
100を機能停止する能力を与えられる。また、メモリ
・コントローラ102に、入出力コヒーレンシーが維持
されるようにメイン・メモリ104のキャッシュを消去
(flush)する役割を持たせることもできる。しか
しながら、本発明では、少数の特別なタグ・ラインをメ
モリ・コントローラ102に加えることによって、メモ
リ入出力時にメイン・メモリ104(あるいはそのキャ
ッシュ)中の適切なラインにデータが満たされるとすぐ
マイクロプロセッサ100を開始させることができると
いうことを見い出した。言い換えると、本発明によれ
ば、システムがページ・レベルで細分性を維持するよう
に設計されていても、ページ・フォルトはライン・ベー
スで解消することができる。 【0021】図2に示すように、メモリ・コントローラ
102に対する上記の特別なタグ・ラインは、別個のペ
ージ保護レジスタ200に設けてもよい。ページ保護レ
ジスタ200は、現在のメイン・メモリ104中にある
ページのアドレスを記憶するメモリ・コントローラ10
2内部の特殊なタグ・レジスタであり、それらの記憶さ
れたページのどのラインが有効であるかを指示する。ペ
ージ保護レジスタ200に記憶されるタグ・ラインは、
メイン・メモリ104内にある唯一の記憶位置、すなわ
ち物理ページ(あるいはライン)を指示するタグ/記憶
位置ビットよりなる。言い換えると、タグ/記憶位置ビ
ットは、現在マイクロプロセッサのローカル・メモリ中
にあるページを指示する。また、ページ保護レジスタ2
00には、どの記憶されたページ中のどのデータ・ライ
ンが有効であるかを示すビット・マップであるマスクを
設けてもよい。本発明によれば、このマスクは、I/O
システムからデータが入る際に各データ・ライン毎に有
効ビットを設定するために用いられる。ページ・アドレ
スがページ保護レジスタ200に記憶されたページ・ア
ドレスと一致し、その有効ビットが設定されていない場
合に、マイクロプロセッサ100がメイン・メモリ10
4またはそのキャッシュ中のラインにアクセスしようと
すると、メモリ・コントローラ102はマイクロプロセ
ッサ100の機能を停止させる。この機能停止は通常の
記憶サイクルの一部であるから、マイクロプロセッサ1
00は、フォルト・ページからの要求データをマップン
グし、入出力が開始されるとすぐに動作を継続すること
ができ、これによって入出力と並行して動作し、N本の
データ・ラインを有するページの場合、入出力データ転
送待ち時間の影響をほぼNに近いファクタによって減少
させることができる。 【0022】図3は、本発明のメモリ・コントローラ1
02の一実施例をさらに詳細に示したものである。図示
するように、I/0バスからのアドレス及びデータ情報
は、メモリ・コントローラ102に入り、ページ保護レ
ジスタ200と共にI/Oレジスタ300及びタグ・フ
ァイル302へ導かれる。上記のように、タグ・ファイ
ル302はメモリ・コントローラ102がキャッシュ・
メモリを使用する場合だけ必要である。タグ・ファイル
302において、入って来るアドレスは、従来技術のメ
モリ・コントローラと同様、タグのアレイと比較され、
両者が一致すると、記憶データにアクセスするあるいは
記憶データを修正するためにメイン・メモリ104内部
のアドレスが生成される。両者が一致しない場合は、要
求データ行がI/Oバスを介してメイン・メモリ104
から引き込まれ、メイン・メモリ104のキャッシュを
満たすために用いられる。また、本発明のメモリ・コン
トローラ102は、メイン・メモリ104に対してライ
トスルー(write-through)方式の指向アクセスを行うこ
とも可能である。 【0023】このように、マイクロプロセッサ100か
らキャッシュ要求またはメモリ要求が本発明のメモリ・
コントローラ102に到着すると、その要求は2つの経
路を介して送られる。通常の経路は、要求をタグ・ファ
イル302中のタグと照合して、何らかの適切な動作を
発生させる経路である。これに対して、本発明によれ
ば、I/Oレジスタ300に記憶された入ってくるアド
レスをページ保護レジスタ200に記憶されたタグ/記
憶位置ビット及びマスク・ビットと比較器304で比較
する新たな経路が設けられる。入ってくるアドレスがタ
グ/記憶位置ビットと一致すると、それによって要求デ
ータがメイン・メモリ104に記憶されたページ中にあ
るということが知らされる。他方、要求されたデータ・
ラインに対応するマスク中の有効ビットが設定されてい
ないことが確認された場合、比較器304はタグ・ファ
イル302の出力をSTALLコマンドでオーバライド
する。このSTALLコマンドは、例えば、ANDゲー
ト306をディスエーブルして、タグ・ファイル302
からの出力がマイクロプロセッサ100がメイン・メモ
リ104にアクセスするのを許可しないようにするため
に用いることができる。この機能停止はI/Oリンクが
クリアされるまで持続する。しかしながら、データ転送
の間、I/Oレジスタ300の入ってくるアドレスがペ
ージ保護レジスタ200中のタグ/記憶位置ビットと一
致すると、入ってくるデータ・ラインと対応するマスク
の有効ビットが設定される。これによって、メモリ・コ
ントローラ102の出力次第で保持されている機能停止
は全て解除され、マイクロプロセッサ100は直ちに
(すなわち、ページの残りの部分が転送される前に)、
そのデータ・ラインにアクセスすることができる。上記
の比較は、I/Oレジスタ300とページ保護レジスタ
200の高位ビットをアドレス・ビットとして比較し、
その後ページ保護レジスタ20中のマスクとの比較のた
めにI/Oレジスタ300の下位ビットにインデックス
を付けることによって簡単に行うことができる。 【0024】本発明の一実施例においては、マイクロプ
ロセッサ100は、ページ・アドレスのみならず、ペー
ジ・フォルトを引き起こしたクリティカル・データ・ラ
インのアドレスをも確認する。その結果、マイクロプロ
セッサ100は要求されたページの他のラインが転送さ
れる前にクリティカル・データ・ラインをメイン・メモ
リ104に書き込むため、外部メモリ106に要求する
ことができる。言い換えると、マイクロプロセッサ10
0は、ページ・フォルトを引き起こすータをそのライン
まで正確に確認することができるので、マイクロプロセ
ッサ100またはメモリ・コントローラ102は、I/
Oメモリ転送時にクリティカル・データ・ラインを順不
同で書き込むように外部メモリ106に指示することが
できる。これにより、マイクロプロセッサ100は要求
データが含まれているページ中の他のデータが書き込ま
れる前にクリティカル・データを読み出すことが可能と
なる。この「クリティカル・ライン優先」の方法は、ペ
ージ保護レジスタ200に要求された新しいページのタ
グ/記憶位置ビットを設定し、その後、入出力が完了し
たかように処理を続けることによって行われる。よっ
て、マイクロプロセッサ100はメモリ転送と共に並行
に動作し、クリティカル・データ・ラインがメイン・メ
モリ104に受信されるとすぐに処理を継続することが
できる。上述したように、このプロセスはページの各ラ
インに対応するマスク・ビットを用いることによって簡
単化され、これによって要求データ・ラインと対応する
マスク・ビットを設定されるまで監視することができ
る。このマスク・ビットが設定されると、マイクロプロ
セッサ機能停止が終了し、処理を再開することができ
る。 【0025】図示するように、本実施例においては、入
出力はメモリ・コントローラ102を通り、マイクロプ
ロセッサ100によって制御される。もちろん、メモリ
・コントローラ102は、入出力転送を全て制御するよ
うに変更することも可能である。また、本発明はあるペ
ージから要求されたデータ・ラインが転送された後、特
定のマスクをセーブするためのメモリを具備するように
変更されることも可能である。このマスクは、マイクロ
プロセッサ100が再度そのーデータ・ラインにアクセ
スしようとするとき回復することができる。すなわち、
要求データ・ラインは、すぐにアクセスすることができ
るように、ただちに設定されることになる。 【0026】図3に示すように、入出力はメモリ・コン
トローラ102を介して行われる。しかしながら、本発
明は、当業者にとっては明かなように、スヌーピング(s
nooping)キャッシュ・コントローラを用いて実施するこ
とも可能である。また、I/Oレジスタ300の出力は
直接比較器304に入力する必要はなく、受信したデー
タ・ラインと対応するマスク・ビットが設定されている
かどうかを確認するためのチェックを行った後の比較器
304からのSTALL出力に従ってメモリ・コントロ
ーラ102を通過させるようにしてもよい。 【0027】 【発明の効果】本発明は、有効ビットを全てのラインに
設けるように設計することもできる。すなわち、タグ・
ビットをメモリ・コントローラ102のタグ・ファイル
の各ラインに設けることも可能である。しかしながら、
このような構成はより多くのシリコンが必要となるの
で、メモリ・コントローラ102のサイズ及びコストを
不必要に増加することになると考えられる。これとは対
照的に、本発明は少ない仮想メモリ・ハードウェアしか
必要ではなく、ページ保護のためにより優れた細分性を
確保することができる。このように、本発明が他のもの
に比べて優れている1つの利点は、その実施に比較的小
さいチップ面積しか要しないということである。例え
ば、各データ・ラインに入出力が開始するまでアクセス
を停止すべきであるということを指示するビットを付加
することも可能であるが、そうすると、メモリ・チップ
ではもう一つのビットを各タグに付加しなければならな
くなる。本発明の第2の利点は、ページ保護レジスタ2
00を局所的に設けたことにより、マスキングをメモリ
・コントローラ102への1または2のアクセスだけで
設定することことができるという点である。これに対し
て、通常のタグを用いると、有効ビットを各タグ・エン
トリ毎に設定するのに別個の操作が必要になる。 【0028】本発明の実施例において実質的に本発明の
新規な開示及び利点を逸脱することなくその他多くの変
更態様が可能であるということは当業者にとって容易に
理解できる。例えば、本発明で使用する方法及びハード
ウェアは、I/Oロックされたデータ・ラインを参照し
てバンド外(out of band) I/0要求を生成させること
ができるように、あるいは区分ページング(ページ要求
を途中まで全部キャンセルし、汚染ライン(dirty line)
があれば、ページ全体をメイン・メモリ104に参照す
ることなく書き直すページング)が可能なように拡張す
ることもできる。また、本発明はメモリ・コントローラ
102に仮想記憶システムに対する負担の大半を担うこ
とができるように拡張することもできるが、その場合、
メモリ・コントローラ102はより複雑なものとなる。
さらに、第2の記憶装置のアクセス時間が短い場合(R
AMを用いる等)、最良の結果が得られるが、本発明
は、全ての形態の第2の記憶装置によって実施すること
が可能である。従って、上述の様々な変更態様は特許請
求の範囲において本発明に包含されるものである。
Description: FIELD OF THE INVENTION The present invention relates to a computer.
For more information on memory management systems, see page
Critical day that caused the page fault
When a critical data line is received, the pattern
The rest of the page is written to local memory.
Page fault to clear the page fault immediately without waiting for
Related to the paging system
It BACKGROUND OF THE INVENTION As is well known to those skilled in the art,
The icroprocessor depends on the processes running on it.
Local memos to store data needed and needed
Is equipped with Local memory is on-board
Cache or microprocessor local
Memory). Also, the main to improve performance
-A cache may be provided in the memory. Typical
The local memory contains data that contains more than one page of memory.
Data to a microprocessor for high-speed access
Operates according to a locally stored paging system
It In such paging systems, microp
The data requested by the processor (hereinafter, the requested data
Is stored in local memory at that time.
If not found in the page, a page fault is issued.
Using well-known page decapsulation technology
The page containing the requested data is read from the slow second memory.
Local memory. Write this page (I
I / O transfer), the process that requests the data
All pages including requested data are written to local memory
Is stopped by the microprocessor until
It In this way the process is typically stalled
Also known as storage latency. Storage wait time is when waiting for I / O data transfer.
Search to find the desired data in the space and in the second memory
Access the data in the second memory to include time
That is usually more than access to data in local memory
Much slower. When searching relatively for the second memory
Since the time is long, the waiting time for I / O data transfer is
It occupies a relatively small percentage of the time. For example, typical
Pages requested in case of memory transfer from different disk
Can take 20 ms to find on disk
But to transfer it after the requested page is found
Only takes 2 ms (4 kB is transferred at 2 MB / s)
Assuming that). As a result, the waiting time of the storage device
Prior art efforts to reduce the
To reduce the time needed to find a page
The emphasis has been on. However, random access
As the cost of memory (RAM) decreases
As it is used more frequently as the second memory
Is becoming. As known to those skilled in the art, R
AM has a relatively short access time, and as a result, the above-mentioned system
System I / O data transfer wait time is waiting for storage
The part that takes up time has become larger than before. Obey
To eliminate page faults most efficiently.
Waiting for this I / O output data transfer
Save even more time and minimize storage latency
Is desired. The problem of I / O data transfer latency has been identified.
To be treated by choosing the page size of
Often. Page size selection is complex and machine
Predictions on how to use the, main memo
Resize prediction and microprocessor size alignment
Based on various constraints in hardware design such as the number of connections
Is done. Generally, the larger the page size, the more
Only microprocessor and virtual memory software
Is smaller and reduces complexity. System main
Larger page size if memory is large enough
Is the amount of data retrieved for each page fault
The process from the second memory by increasing
Also reduce the number of page faults required to load.
You can However, the main memory is the application
Holds all page sets needed by the application
If the page size is not large enough,
System performance is degraded rather than improved.
It This result is systematic due to the large page size.
Used for processes and processes that run on
Available effective memory is reduced and individual I / O requests
Waiting time increases. For example, one 4 bar per page
A process that requires a data item
Double page size with constant resize
Then the process can keep it in memory at the same time
The number of data items is halved, and pages from the second memory
The time required to transfer is doubled. Transfer time required
The time needed to find the requested page in second memory
Much longer, poor performance due to page transfer latency.
The bottom is quite large. In this way, the paging system
The trade-off between usage time and seek time.
Often occurs. If you increase the transfer scale,
The number of seeks required to pull the data into local memory
Decreased, and as mentioned immediately above, the granularity,
Page size) is the storage latency, that is, page size
Extremely large shadow on the time required to resolve the default
May have an impact. Small pages can also be used
You can, but if you actually use a small page, memory
As usage decreases and the number of page faults increases
Used at the cost of saying. A part of a page can be replaced with another part of a page
Systems that can be accessed before the part are generally
Is not known. However, in the translation table
An IBM that can lock some parts of the
Systems such as the RS 6000 are known. In addition
A page fault with a partial transfer of data in the page.
Systems that can be solved at the same time are generally known.
Not not. Similar technology is hardware cache hierarchy
Has been used to address latency issues within
However, such an external memory and virtual memory system
The application to this is not known to the inventors of the present application.
Yes. Therefore, it is possible to reduce page faults.
Waiting for storage to minimize the time required to
It is desirable to reduce the time. Preferably this wait
The microprocessor saves time by parsing partial page transfers.
Sometimes desired to reduce page faults and achieve
Good In particular, the problem day that caused the page fault.
As soon as the data line is received in local memory
That is, the rest of the lines on the page are transferred
The microprocessor can resume processing without waiting.
It is desirable to be able to Also, Kurity
Cull line is sent out first, i.e. the requested page
Page fault before any other data line in
To transfer a critical data line
Therefore, the waiting time for input / output data transfer can be further shortened.
Is desired. The present invention meets these needs
It was done for good. The object of the present invention is to solve the above-mentioned problems,
How to eliminate the page fault that occurred
And system. SUMMARY OF THE INVENTION To meet the above needs, the present invention is a
The processor that caused the page fault.
Tikal Line is the local memory of the microprocessor.
The process can be resumed as soon as it is received by Mori.
Critical line priority paging system (cri
tical line first paging system). Obey
The microprocessor resolves the page fault.
The entire page including the requested line is transferred before
Waits until the microprocessor resumes processing
The data transfer can be completed in the meantime. Well
Also, the present invention provides a critical that causes a page fault.
Cull data lines with respect to other lines on a page
Ignore the order and take out the critical line.
Page faults as soon as they are transferred to local memory
Providing technology that enables us to resolve
Is. According to this method, N is
I / O data transfer wait time is almost N
It can be shortened by a factor. The advantages of the present invention reside in the microprocessor.
Page faults received during the running process
It is achieved according to a new method of erasing. In the present invention
So, before clearing the page fault, first micro
Entire page data from external storage to processor
Read out the microprocessor operation
There is no need to write to memory. In the present invention, the following
After transferring a portion of the page, including steps,
It is possible to resolve the fault. Add request data line with page fault
Confirm the reply. Operate from the store of the page containing the requested data line.
Start transfer to rating memory. Request data line from storage to operating
-Detect whether or not it has reached the memory. Request data line from storage to operating
・ The arrival at the memory is detected in the above detection step.
Stop the process until known. Requested data line reaches operating memory
If you do, all data lines on that page will be remembered
Process immediately without waiting for the device to transfer
continue. Preferably, the invention further comprises request data
Line (critical line) to other pages on the page
Transferring the data line before transferring.
In this way, the page fault is the first data
Resolve as soon as the line is received from the I / O device
Is also possible. Further, according to an embodiment of the present invention,
The starting step is the page protection register the page address.
Data is stored in the
It includes the following steps: Transfer from storage device to operating memory
The address of the page of data that is in the page protection register
Compared with the address stored in. If these addresses are the same, the
Data line currently being transferred to the operating memory
Set the mask bit of the page protection register corresponding to
To do. Of the page protection register corresponding to the requested data line
Check desired mask bit. When the desired mask bit is set, the requested data
Data line has arrived in operating memory.
And to detect. The deactivation step is the detection step and this desired mask
-It ends when it is judged that the bit should be set. This
This is because the microprocessor has the appropriate mask bits set.
Request data periodically until fixed
Or set the appropriate mask bits
As soon as the requested data line is
Instructs the microprocessor that it has arrived at Mori
Can be achieved by The present invention preferably records one page of data.
Operating memory to remember and multiple pages
Second storage device for storing data of the
And a memory controller
Implemented on a computer system consisting of
Is desirable. For operation, see Microprocessor
For each data line requested by the process
Access operating memory and requested
Pages containing data lines are operating notes
If not present, receives page fault. This
If you receive a page fault like
The black processor is responsible for causing the page fault.
Check the address of the request data line, then enter the second
Request data from storage device to operating memory
Start the transfer of the page containing the line. Then the memory
-The controller ensures that the requested data line is from the storage
Detects when it has reached operating memory
And the requested data line is operated from the second storage device.
To the microprocessor until it reaches the
To stop the process of Request data line
Once received, the microprocessor processes the process.
To resume. In other words, the microprocessor
All data lines in the storage
The processing operation is continued without waiting for the transmission. In one embodiment of the present invention, a microprobe
The processor sends the requested data line to the other licenses on the page.
Transfer to operating memory before in
Means are provided for instructing the second storage device. sand
That is, the microprocessor pulls a page fault.
Raise the critical line you raised to another line on the page.
Instruct the second storage device to transfer before in
It Preferably, the memory controller is
.A page for storing the address of the page containing the line
Required by the protection register and microprocessor
Address stored in the page protection register.
It consists of a means to compare Comparators are
If the addresses match, STAL is sent to the microprocessor.
The L (stop) signal is output. The page protection register is
More preferably, multiple masks, one for each line of the page
Has a bit, and the comparison means further includes the page address described above.
Operating system from the storage device
Page protection for data lines being transferred to memory
Set the mask bit in the register. Request data file
If the mask bit for IN is set, STAL
The L signal turns off. As described above, during the I / O transfer, the second record
The data line read from the storage device is
Has an address that matches the address stored in the register
And page protection register corresponding to the requested data line
If the desired mask bit of
・ The controller is a microprocessor-based process
Stop processing. The microprocessor is
The desired mask for the page protection register associated with the line
Continue processing only if bit is set
can do. BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described below based on Examples.
It will be described in detail with reference to FIGS. To those skilled in the art
Therefore, in the present specification in relation to these drawings,
The description provided is for illustrative purposes only.
It's not meant to limit the light at all
Is self-evident. The present invention solves the aforementioned storage latency problem.
It is something to erase. I / O links are typically
File in response to a page fault.
It doesn't support and so pages can be transferred at once
Cannot be performed and the data transmission itself will interfere with page writing.
It may cause a bruise. The present invention ensures that the entire page is transferred
The required data without the microprocessor waiting
To be able to immediately start processing
This obviates this hindrance. Hereafter
1 to 3 show a system and method for achieving the object of FIG.
It will be described based on. In a typical memory management system,
There is some software overhead for each page fault.
It involves bar heads and some hardware latency.
Part of the hardware wait time is I / O data transfer (link
) Waiting time, which is a part of the total data transfer time
There is. For example, a 4kB page and a 100MB link
In case of overhead, I / O data transfer
The waiting time is about 40 μs. However, each 4kB
A page is typically 64 data lines with 64 bytes
As it is configured, the first data line is the local
If the processor is ready to run as soon as
For example, the delay data transfer part is 1 microsecond (μs).
It can be shortened to (40/64 μs). The Criti that caused the page fault
As soon as the Cull Data line is returned,
A memory system that the sessa can execute is shown in FIG. Ma
The icroprocessor 100 processes the process in a typical way.
Process and request the data that the process needs. Special
In addition, the microprocessor 100 is connected via the I / O bus.
Communicates with the memory controller 102 to require the process.
The required data is stored in the local (main) memory 104.
Check whether the data is stored in the memory 104.
For example, the data is sent to the microprocessor via the I / O bus.
Returned to service 100. In this case, the microprocessor 1
00 continues processing. On the other hand, the requested data
Go to the current page stored in in-memory 104
For example, the virtual memory inside the microprocessor 100
A page fault is detected by the software. Ma
Icroprocessor 100 selects the physical memory page
To allocate a virtual page (instantiate) and start I / O
To fill the physical page with valid data.
Then, the processing is interrupted. Therefore, the memory controller 1
02 does not need to know anything about virtual addresses. Only
While described below, a microprocessor
100, request data arrives from the second storage device 106
Until the page is stored in the main memory 104
That Le Lines should be considered invalid
Can be notified to the memory controller 102
It Of course, in order to further improve the processing efficiency,
A cache may be provided in the main memory 104, or
Memory controller 102 with cache controller
May be provided. Of a typical cache memory system
If the memory controller 102 is the main memory
A tag file for identifying the data stored in 104.
Or other means similar thereto. Tag
Files, those tag files are
It is preferable to store it on the controller 102 itself.
The memory controller 10
2 is the main memory 104 (or
Microprocessor until its cache) is filled
Given the ability to shut down 100. Also memory
・ Maintaining I / O coherency in the controller 102
Clear the cache of main memory 104 as
It can also have a role of (flush). Only
However, the present invention uses a small number of special tag lines.
Memo by adding to Mori Controller 102
Main memory 104 (or its memory)
As soon as the appropriate line in
When the microprocessor 100 can be started
I found that. In other words, according to the invention
So that the system maintains granularity at the page level.
Page faults are line-based
It can be solved with a scan. As shown in FIG. 2, a memory controller
The special tag line above for 102 is a separate
It may be provided in the image protection register 200. Page protection
The register 200 is currently in the main memory 104.
Memory controller 10 for storing page addresses
2 Special tag registers inside and stored in them
Indicates which line of the page is valid. Bae
The tag line stored in the page protection register 200 is
The only memory location in main memory 104,
A tag / memory that points to a physical page (or line)
Consists of position bits. In other words, the tag / memory location
Is currently in the microprocessor's local memory
Point to the page at. Also, page protection register 2
00 contains which data line in which stored page
The mask, which is a bitmap showing whether the
It may be provided. According to the invention, this mask is I / O
Available for each data line when data is input from the system
Used to set the effect bit. Page address
Page stored in the page protection register 200.
Match the dress and its valid bit is not set.
In this case, the microprocessor 100 is the main memory 10
4 or trying to access the line in its cache
Then, the memory controller 102 becomes a microprocessor.
The function of the chair 100 is stopped. This outage is normal
Microprocessor 1 because it is part of a memory cycle
00 maps the requested data from the fault page
And continue operation as soon as I / O is started.
This allows you to operate in parallel with I / O, and
For pages with data lines, input / output data transfer
Reduces the effect of waiting time for sending by a factor close to N
Can be made. FIG. 3 shows the memory controller 1 of the present invention.
No. 02 is shown in more detail. Illustration
Address and data information from the I / 0 bus as
Enters the memory controller 102 and enters the page protection level.
I / O register 300 and tag unit with register 200
To the file 302. As above, Tag Phi
In the memory 302, the memory controller 102 caches
Only needed if memory is used. Tag file
At 302, the incoming address is a prior art message.
Similar to the Mori controller, compared to an array of tags,
If the two match, access the stored data or
Internal to main memory 104 to modify stored data
Is generated. If the two do not match,
The data request line is transferred to the main memory 104 via the I / O bus.
From the main memory 104 cache
Used to fill. In addition, the memory controller of the present invention
The tracker 102 is written to the main memory 104.
To perform directional access using write-through method
Both are possible. Thus, whether the microprocessor 100
From the memory request of the present invention.
When it arrives at the controller 102, the request goes through two passes.
Sent through the road. The normal route is to request the tag file
File 302 and check for any appropriate action.
It is a route to generate. On the other hand, according to the present invention,
For example, if the incoming address stored in the I / O register 300 is
Address stored in the page protection register 200.
Comparing the storage position bit and mask bit with the comparator 304
A new route is established. The incoming address is
If the match / storage bit matches, the request
Data in the pages stored in the main memory 104.
Is informed. On the other hand, the requested data
The valid bit in the mask corresponding to the line is set
If not confirmed, the comparator 304 outputs the tag file.
Override output of file 302 with STALL command
To do. This STALL command is, for example, an AND game.
Tag file 302
The output from the microprocessor 100 is the main memo
To not allow access to resource 104
Can be used for. This outage is due to I / O link
It lasts until cleared. However, data transfer
During this period, the incoming address of I / O register 300 is
And the tag / storage location bit in the page protection register 200.
If matched, the mask corresponding to the incoming data line
Valid bit of is set. This allows the memory
Stopped function depending on the output of the controller 102
Are all cleared and the microprocessor 100 immediately
(Ie before the rest of the page is transferred),
You can access the data line. the above
Is compared with the I / O register 300 and the page protection register.
Comparing the 200 high-order bits as address bits,
After that, it is compared with the mask in the page protection register 20.
Index to the lower bit of I / O register 300 for
It can be easily done by attaching. In one embodiment of the invention, the microprobe
The processor 100 is not limited to page addresses
The critical data error that caused the fault
Also check the inn's address. As a result,
The sessa 100 will transfer another line of the requested page.
Note the critical data line before
Request to external memory 106 to write to memory 104
be able to. In other words, the microprocessor 10
0 is the line that causes a page fault
You can check up to
I / O 100 or memory controller 102
Critical data lines in random order during O memory transfer
Instructing the external memory 106 to write at the same time
it can. This causes the microprocessor 100 to
Other data in the page containing the data is written
Read critical data before
Become. This "critical line priority" method is
Page protection register 200 requested new page
The I / O location bit and then I / O is complete.
It is performed by continuing the processing as if it were performed. Yo
The microprocessor 100 is parallel with the memory transfer.
And the critical data line is the main
Processing can continue as soon as it is received by the memory 104.
it can. As mentioned above, this process
Simple by using the mask bit corresponding to the in
Singularized, which corresponds to the requested data line
You can monitor the mask bit until it is set
It When this mask bit is set,
After the cessation of the cessor function is finished, the processing can be restarted.
It As shown in the figure, in this embodiment,
The output goes through the memory controller 102 and
It is controlled by the processor 100. Of course memory
-The controller 102 controls all input / output transfers.
It is also possible to change it. In addition, the present invention is
After the data line requested by the
To have a memory to save certain masks
It can be changed. This mask is micro
Processor 100 will again access the data line.
You can recover when you try. That is,
The request data line is immediately accessible
So, it will be set immediately. As shown in FIG. 3, the input / output is a memory controller.
This is done via the trolley 102. However,
Ming is a snooping (s
nooping) can be implemented using a cache controller
Both are possible. The output of the I / O register 300 is
It is not necessary to directly input to the comparator 304.
Data line and the corresponding mask bit is set
Comparator after checking to see if
Memory control according to STALL output from 304
It may be made to pass through the roller 102. According to the present invention, valid bits are applied to all lines.
It can also be designed to be provided. That is, the tag
Bits in memory controller 102 tag file
It is also possible to provide each line. However,
Such a configuration requires more silicon
The size and cost of the memory controller 102
It is thought that it will increase unnecessarily. In contrast to this
By comparison, the present invention requires less virtual memory hardware.
Greater granularity for page protection, not necessary
Can be secured. Thus, the present invention is not
One advantage over the other is that it is relatively small to implement.
This means that only a small chip area is required. example
Access each data line until I / O starts
Add a bit to indicate that should be stopped
It is possible to do so, but then the memory chip
Now we have to add another bit to each tag.
Become The second advantage of the present invention is that the page protection register 2
00 is provided locally, masking memory
・ Only one or two access to the controller 102
The point is that it can be set. On the other hand
And using a normal tag, the valid bit is
A separate operation is required to set each bird. In an embodiment of the present invention substantially the invention
Many other changes without departing from new disclosures and advantages.
It is easy for a person skilled in the art that further embodiments are possible.
It can be understood. For example, the method and hardware used in the present invention.
Ware references I / O locked data lines
To generate an out of band I / O request
To allow, or segmented paging (page requests
Cancel all the way to the middle and pollute the dirty line
If so, refer the entire page to main memory 104.
Paging) without rewriting)
You can also do it. The present invention also relates to a memory controller
102 bears most of the burden on the virtual memory system.
It can be extended to allow
The memory controller 102 becomes more complex.
Furthermore, when the access time of the second storage device is short (R
The best results are obtained using the AM, etc.)
Shall be implemented by the second storage device of all forms.
Is possible. Therefore, the various modifications described above are not
The present invention is included in the scope of the invention.

【図面の簡単な説明】 【図1】本発明のー実施例であるページ・フォルト解消
システムの概略図。 【図2】本発明のー実施例に用いられるページ保護レジ
スタの概略図。 【図3】本発明のー実施例に用いられるメモリ・コント
ローラの概略図。 【符号の説明】 100:マイクロプロセッサ 102:メモリ・コントローラ 104:メイン・メモリ 300:レジスタ 302:タグ・ファイル 304:比較器 306:AND回路
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of a page fault resolution system according to an embodiment of the present invention. FIG. 2 is a schematic diagram of a page protection register used in an embodiment of the present invention. FIG. 3 is a schematic diagram of a memory controller used in an embodiment of the present invention. [Explanation of Codes] 100: Microprocessor 102: Memory Controller 104: Main Memory 300: Register 302: Tag File 304: Comparator 306: AND Circuit

Claims (1)

【特許請求の範囲】 マイクロプロセッサの処理動作中に受信したページ・
フォルトを外部記憶装置から前記マイクロプロセッサの
オペレーティング・メモリに新規のページ全体のデータ
を最初に読みだす前に解消する方法において、 前記ページ・フォルトを引き起こす要求されたデータ・
ラインのアドレスを決定し、 前記記憶装置から要求されたデータ・ラインを含むペー
ジを前記オペレーティング・メモリへの転送を開始し、 要求されたデータ・ラインが前記記憶装置から前記オペ
レーティング・メモリに到着したかどうか検出し、 要求されたデータ・ラインが検出されるまで前記処理を
停止させ、 前記記憶装置から全てのデータ・ラインが転送されるま
で待たずに、要求されたデータ・ラインが到着したらす
ぐ前記処理を継続させることを含むページ・フォルト解
消方法。 ある処理動作をおこなうコンピュータ・システムにお
いて、 少なくとも1ページのデータを格納するオペレーティン
グ・メモリと、 複数のページのデータを格納する第2の記憶装置と、 前記処理を実行するマイクロプロセッサと、 前記マイクロプロセッサは前記処理で要求された各デー
タ・ラインのため前記オペレーティング・メモリをアク
セスし、前記要求されたデータ・ラインが含まれるペー
ジが前記オペレーティング・メモリに存在しないとき、
ページ・フォルトを受信し、 ここでは、ページ・フォルトを受信すると、前記マイク
ロプロセッサは、ページ・フォルトを引き起こす要求さ
れたデータ・ラインのアドレスを決定するものであり、
要求されたデータ・ラインを含むページを前記第2の記
憶装置から前記オペレーティング・メモリへの転送を開
始するものであり、 前記要求されたデータ・ラインが前記オペレーティング
・メモリに到着したかどうか検出し、到着するまで前記
処理を停止させ、到着したら前記第2の記憶装置にペー
ジの全てのデータ・ラインが転送することを待たずに処
理を開始させるメモリ・コントローラを具備することを
特徴とするページ・フォルト解消システム。
Claims: Pages received during the processing operation of the microprocessor.
A method of clearing a fault from external storage into the microprocessor's operating memory prior to the first reading of a new page of data, wherein the requested data causing the page fault
Determining the address of the line, initiating a transfer of the page containing the requested data line from the storage device to the operating memory, the requested data line arriving from the storage device to the operating memory Detect whether the requested data line is detected, do not wait until all the data lines have been transferred from the storage device, and do not wait until the requested data line arrives. A method for resolving a page fault including continuing the process. In a computer system that performs a certain processing operation, an operating memory that stores at least one page of data, a second storage device that stores a plurality of pages of data, a microprocessor that executes the processing, and the microprocessor Accesses the operating memory for each data line requested by the process, and the page containing the requested data line is not present in the operating memory,
Receiving a page fault, where upon receipt of a page fault, the microprocessor determines the address of the requested data line causing the page fault,
Initiating a transfer of the page containing the requested data line from the second storage device to the operating memory, detecting whether the requested data line has arrived at the operating memory. , A page having a memory controller that stops the process until it arrives and starts the process when it arrives without waiting for all the data lines of the page to be transferred to the second storage device.・ Fault elimination system.
JP4275276A 1992-09-18 1992-09-18 Method and system for eliminating page fault Pending JPH06124227A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4275276A JPH06124227A (en) 1992-09-18 1992-09-18 Method and system for eliminating page fault

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4275276A JPH06124227A (en) 1992-09-18 1992-09-18 Method and system for eliminating page fault

Publications (1)

Publication Number Publication Date
JPH06124227A true JPH06124227A (en) 1994-05-06

Family

ID=17553175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4275276A Pending JPH06124227A (en) 1992-09-18 1992-09-18 Method and system for eliminating page fault

Country Status (1)

Country Link
JP (1) JPH06124227A (en)

Similar Documents

Publication Publication Date Title
US7293196B2 (en) Method, apparatus, and system for preserving cache data of redundant storage controllers
US6651115B2 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US20040153727A1 (en) Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy
JPH036757A (en) Light back data cash memory device
JP2000250812A (en) Memory cache system and managing method therefor
CA2298780A1 (en) I/o page kill definition for improved dma and l1/l2 cache performance
JPH0997214A (en) Information-processing system inclusive of address conversion for auxiliary processor
JP2503131B2 (en) Processor system
US6931471B2 (en) Method, apparatus, and computer program product for migrating data subject to access by input/output devices
JPH06222993A (en) Cache memory system and method for realization of it
JPH04230550A (en) Information processing network and information processing method
US5920891A (en) Architecture and method for controlling a cache memory
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
US5361345A (en) Critical line first paging system
JPH09179779A (en) Computer system and data transfer method
JPH05210584A (en) Digital data processor having improved paging
JP3320562B2 (en) Computer with cache memory
JP2001249846A (en) Cache memory device and data processing system
JPH06124227A (en) Method and system for eliminating page fault
JPH0784879A (en) Cache memory device
JPH03230238A (en) Cache memory control system
JPH05342101A (en) Hierarchical cache memory
JPH0553912A (en) Control method for cache memory
JPH08137753A (en) Disk cache device