JPH0553914A - デイスクキヤツシユ方式 - Google Patents

デイスクキヤツシユ方式

Info

Publication number
JPH0553914A
JPH0553914A JP3238747A JP23874791A JPH0553914A JP H0553914 A JPH0553914 A JP H0553914A JP 3238747 A JP3238747 A JP 3238747A JP 23874791 A JP23874791 A JP 23874791A JP H0553914 A JPH0553914 A JP H0553914A
Authority
JP
Japan
Prior art keywords
disk
cache memory
mode
data
address
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
JP3238747A
Other languages
English (en)
Inventor
Kanae Nakano
香苗 中野
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP3238747A priority Critical patent/JPH0553914A/ja
Publication of JPH0553914A publication Critical patent/JPH0553914A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 トラックサイズにかかわらず、高速な処理を
可能とする。 【構成】 まず、アプリケーションプログラム1の割込
みにより、仮想マシンモニタ4が起動され、当該アプリ
ケーションプログラム1の動作モードである仮想リアル
モードがオフにされ、キャッシュメモリ6を直接アクセ
スできるプロテクトモードに切替えられる。これによ
り、ディスクアクセスエミュレータ3が起動され、キャ
ッシュメモリ6上にアクセス対象のデータが存在するか
否かが判定される。存在しない場合には、キャッシュメ
モリ6上のアドレスがディスク装置7上のアドレスとと
もにデバイスドライバ5に対して送出される。デバイス
ドライバ5は、ディスク装置7上のアドレスを受取る
と、ディスク装置7からデータを読み出し、キャッシュ
メモリ6上に転送する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスク装置のトラッ
クサイズにかかわらず、高速な処理が可能なディスクキ
ャッシュ方式に関するものである。
【0002】
【従来の技術】ディスクキャッシュ処理は、ハードディ
スク等のディスク装置からメモリにデータを読み込む時
間を短縮することを目的とするものである。図2は、従
来のディスクキャッシュ方式を説明するメモリマップ図
である。図示のように、1メガバイト以下の空間(図中
上側)には、デバイスドライバ21と、拡張ドライバ2
2と、ディスクキャッシュプログラム23と、トラック
バッファ24と、APバッファ25とが格納されてい
る。また、1メガバイト以上の空間(図中下側)には、
キャッシュメモリ26が格納されている。トラックバッ
ファ24は、ディスクキャッシュプログラム23内に存
在し、ディスク装置の1トラック分のデータを格納する
領域である。
【0003】キャッシュメモリ26は、トラックバッフ
ァ24に読み込まれたデータを、数トラック分蓄積でき
る。APバッファ25は、アプリケーションプログラム
28が、データの読込み先として指定したバッファであ
る。デバイスドライバ21は、ディスク装置27を直接
アクセスするプログラムである。このデバイスドライバ
21では、ディスク装置27からデータを読み込む場合
は、1メガ以下の空間しか指定できない。拡張ドライバ
22は、1メガ以下の空間と、1メガより上の空間との
間で、データ転送を行なうプログラムである。
【0004】以下、図2と図3とを参照して従来のディ
スクキャッシュ処理の手順を説明する。図3は、従来の
ディスクキャッシュ処理手順を説明するフローチャート
である。このフローチャートは、従来の32ビットマシ
ンにおけるディスクキャッシュ処理を示す。
【0005】まず、アプリケーションプログラム28か
らディスク装置27のリードが要求されると、ディスク
キャッシュプログラム23は、リードしたいトラックの
データがキャッシュメモリ26にあるかどうかをチェッ
クする(ステップS0)。該当するデータがあれば、さ
らにキャッシュプログラム23内のトラックバッファ2
4に同データがあるかを調べる(ステップS5)。“あ
り”ならば、トラックバッファ24からAPバッファ2
5へ必要なサイズ分のデータを転送する(ステップS
3)。一方、トラックバッファ24に同データが無けれ
ば、拡張バッファ22に依頼してキャッシュメモリ26
からAPバッファ25へデータを転送する(ステップS
4)。
【0006】もし、キャッシュメモリ26内にも、該当
トラックのデータが無い場合、デバイスドライバ21に
依頼してディスク装置27からトラックバッファ24に
1トラック分のデータを読み込む(ステップS1)。次
に、拡張ドライバ22に依頼してトラックバッファ24
からキャッシュメモリ26へ読み込んだデータをセーブ
する(ステップS2)。そして、トラックバッファ24
からAPバッファ25へデータ転送を行なう(ステップ
S3)。
【0007】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、ト
ラックバッファ24のサイズは固定であり、1メガ以下
のメモリ空間になくてはならないため、サイズに余裕を
持たせることができなかった。このため、1トラックが
トラックバッファ24の領域のサイズを超えるような、
大容量のハードディスクを接続した場合には、ディスク
キャッシュプログラム23は動作が不可能となるという
問題があった。
【0008】また、デバイスドライバ21が、1メガ以
下の空間にしかデータを読み込めないため、トラックバ
ッファ24と、拡張ドライバ22とが必要であった。こ
のため、バッファ間のデータ転送回数が増え、余計な時
間がかかっていた。本発明は、以上の点に着目してなさ
れたもので、すべてのトラックサイズに対応可能で、高
速なディスクキャッシュ処理を実現できるキャッシュメ
モリ方式を提供することを目的とするものである。
【0009】
【課題を解決するための手段】本発明のキャッシュメモ
リ方式は、アプリケーションプログラムのディスクアク
セスのための割込みにより、当該アプリケーションプロ
グラムの動作モードである仮想リアルモードをオフに
し、キャッシュメモリを直接アクセスできるプロテクト
モードに切替える仮想マシンモニタと、当該プロテクト
モードの下で動作し、キャッシュメモリ上にアプリケー
ションプログラムのアクセス対象とするデータが存在す
るか否かを判定し、存在しない場合には、アプリケーシ
ョンプログラムのアクセス対象とするデータをディスク
装置からキャッシュメモリ上に転送するため、前記キャ
ッシュメモリ上のいずれかのアドレスを指定してディス
ク装置上のアドレスとともに送出するディスクアクセス
エミュレータと、前記プロテクトモードの下で動作し、
当該ディスクアクセスエミュレータからディスク装置上
のアドレスを受取り、当該アドレスに格納されているデ
ータを前記ディスク装置から読み出し、前記キャッシュ
メモリ上の指定されたアドレスに転送するデバイスドラ
イバとから成ることを特徴とするものである。
【0010】
【作用】本発明のキャッシュメモリ方式においては、ま
ず、アプリケーションプログラムのディスクアクセスの
ための割込みにより、仮想マシンモニタが起動される。
この仮想マシンモニタは、当該アプリケーションプログ
ラムの動作モードである仮想リアルモードをオフにし、
キャッシュメモリを直接アクセスできるプロテクトモー
ドに切替える。これにより、ディスクアクセスエミュレ
ータが起動され、キャッシュメモリ上にアプリケーショ
ンプログラムのアクセス対象とするデータが存在するか
否かが判定される。存在しない場合には、キャッシュメ
モリ上のいずれかのアドレスが指定され、当該アドレス
がディスク装置上のアドレスとともにデバイスドライバ
に対して送出される。デバイスドライバは、ディスク装
置上のアドレスを受取ると、当該アドレスに格納されて
いるデータをディスク装置から読み出し、キャッシュメ
モリ上の指定されたアドレスに転送する。
【0011】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のディスクキャッシュ方式
の実施例を説明するメモリマップ図である。図示のメモ
リマップには、アプリケーションプログラム1と、AP
バッファ2と、ディスクアクセスエミュレータ3と、仮
想マシンモニタ4と、デバイスドライバ5と、キャッシ
ュメモリ6とが格納されている。アプリケーションプロ
グラム1は、1メガバイト以下の空間に格納され、仮想
リアルモードで動作する。
【0012】APバッファ2は、アプリケーションプロ
グラム1で必要とするデータを格納する領域である。デ
ィスクアクセスエミュレータ3は、キャッシュメモリ6
を直接アクセスできるよう、プロテクトモードで動作す
る。このディスクアクセスエミュレータ3は、キャッシ
ュメモリ6上にアプリケーションプログラム1のアクセ
ス対象とするデータが存在するか否かを判定する。そし
て、存在しない場合には、アプリケーションプログラム
1のアクセス対象とするデータをディスク装置7からキ
ャッシュメモリ6上に転送する。このため、ディスクア
クセスエミュレータ3は、キャッシュメモリ6上のいず
れかのアドレスを指定してディスク装置7上のアドレス
とともにデバイスドライバ5に送出する。尚、キャッシ
ュメモリ6上のアドレスは未使用領域があれば、そのア
ドレスを指定し、未使用領域がなくなった場合は、いわ
ゆるLRU方式により、最も古く参照されたデータが格
納されたアドレスを指定するのが一般的となっている。
【0013】仮想マシンモニタ4は、アプリケーション
プログラム1のディスクアクセスのための割込みによ
り、当該アプリケーションプログラム1の動作モードで
ある仮想リアルモードをオフにする。そして、キャッシ
ュメモリ6を直接アクセスできるプロテクトモードに切
替える。デバイスドライバ5は、ディスクアクセスエミ
ュレータ3と同様に、プロテクトモードで動作し、ディ
スクアクセスエミュレータ3からディスク装置7上のア
ドレスを受取る。このデバイスドライバ5は、プロテク
トモードの機能を利用し、1メガより上のメモリに対し
て直接ディスク装置7からデータを読むことが可能であ
る。これにより、デバイスドライバ5は、ディスクアク
セスエミュレータ3に指示されたアドレスに格納されて
いるデータをディスク装置7から読み出す。そして、こ
のデータをキャッシュメモリ6上の指定されたアドレス
に転送する。
【0014】キャッシュメモリ6は、図2に示す従来の
キャッシュメモリ26と同様に、1メガバイト以上の空
間に割り当てられている。ディスク装置7は、例えば、
ハードディスク等から成るものであるが、光ディスクや
フロッピディスクであっても差し支えない。
【0015】本発明のディスクキャッシュ方式は、32
ビットCPUで実現できる。32ビットCPUは、「リ
アルモード」と「プロテクトモード」の2種類の動作モ
ードを備えている。リアルモードは、アドレス空間1メ
ガバイトで、アプリケーションプログラムが使える命令
セットも8ビットCPUと同じである。従来のディスク
キャッシュ装置は、このリアルモードで動作していた。
一方、プロテクトモードは、32ビットアドレッシング
と仮想記憶機能をサポートしている。また、システム内
のタスクを相互に隔離する仕組みも備えており、さらに
サブモードである「仮想リアルモード」も用意されてい
る。本発明は、この仮想リアルモード上でプログラムが
動作している場合を前提としているため、まず、このモ
ードについて詳しく説明する。
【0016】図4は、プロテクトモードと仮想リアルモ
ードの説明図である。仮想リアルモード31は、上述し
たようにプロテクトモード32のサブモードである。こ
の仮想リアルモード31は、リアルモード33と同様、
8ビットCPUの命令を実行でき、1メガバイトのリニ
アアドレス空間へのアクセスを許す。そして、32ビッ
トCPUのハードウェアによる保護機能の管理下にあ
る。仮想リアルモードのタスクと、通常のプロテクトモ
ードのタスクとは、フラグレジスタ34内の「仮想リア
ルモードビット」で判別される。仮想リアルモードビッ
トは、仮想リアルモードの場合は“1”、通常のプロテ
クトモードの場合は“0”とされる。この仮想リアルモ
ードビットは、タスクスイッチあるいは割込み/例外の
発生と復帰を契機に切替わる。
【0017】図5は、モード切替の流れの説明図であ
る。以下、本図を説明する。仮想リアルモード51、プ
ロテクトモード52又は仮想マシンモニタ53間のタス
クスイッチ発生時には、新しいタスクの制御情報を調べ
る。そして、その中のフラグレジスタイメージ中の仮想
リアルモード値によって、仮想リアルモード51又はプ
ロテクトモード52に切替わる。また、仮想リアルモー
ド51で走行中に例外が発生すると、CPUはフラグレ
ジスタの内容をスタックに積んだ後、プロテクトモード
52に切替わる。そして、例外処理を扱う例外ハンドラ
に制御を移す。逆に、例外処理が終わって割込み復帰命
令が発行されたときは、スタックからロードしたフラグ
レジスタ中の仮想リアルモードビットが“1”であれ
ば、仮想リアルモード51に戻る。
【0018】次に、仮想リアルモードで動作しているア
プリケーションプログラム(以下、「AP」という)か
ら、ディスク装置に対するリード要求が発行された場合
のディスクキャッシュ処理に伴うディスクアクセス動作
について説明する。図6は、リアルモードでのディスク
アクセスの説明図であり、図7は、仮想リアルモードで
のディスクアクセスの説明図であり、図8は、本発明に
係るディスクアクセスの説明図である。ディスクキャッ
シュプログラム62、72は、AP61、71がディス
クアクセスの割込みを実行すると、呼び出される。とこ
ろが、従来のディスクキャッシュ方式をそのまま仮想リ
アルモードで動作させた場合、問題となるのは、ディス
ク装置74への物理アクセス処理の部分である。
【0019】従来は、図6に示すように、リアルモード
で動作していたため、ハードウェア資源であるディスク
装置64を専有することができた。ところが、仮想リア
ルモードは、図7に示すように、プロテクトモードのサ
ブモードであるため、複数のタスクでハードウェア資源
であるディスク装置74を共有する場合が考えられる。
本発明では、図8に示すように、このディスクアクセス
部をディスクアクセスエミュレータ83として独立さ
せ、プロテクトモードに置いた。ディスクアクセスエミ
ュレータ83は、リアルモードのデバイスドライバが受
けていたデータ形式を、プロテクトモードのデバイスド
ライバ用に変換する機能を持つ。
【0020】しかし、これだけでは、前述した2つの問
題点、つまり、メモリ空間が1メガバイト以下であると
いう第1の問題点、及びデータ転送数が多いという第2
の問題点は、依然として残る。そこで、ディスクアクセ
スエミュレータに、ディスクキャッシュ機能を持たせる
ことにより、上記課題を解決した。プロテクトモードで
は、仮想記憶管理機能が適用されるため、メモリ空間は
16メガバイトに広がり、第1の問題点は解決される。
また、プロテクトモードのタスクから仮想リアルモード
のタスクのデータ部を直接アクセスすることにより、第
2の問題点も解決される。本処理の流れを図9に示す。
【0021】図9は、本発明に係るディスクキャッシュ
処理手順を説明するフローチャートである。以下、この
フローチャートを図1を参照しつつ説明する。アプリケ
ーションプログラム1からディスク装置7に対してリー
ドが要求されると、ディスクアクセスエミュレータ3
は、リードしたいトラックのデータが、キャッシュメモ
リ6にあるかどうかチェックする(ステップS10)。
あれば、プロテクトモードであることを利用し、32ビ
ットレジスタを用いて直接キャッシュメモリ6からAP
バッファ2へデータを転送する(ステップS12)。な
ければ、デバイスドライバ5に依頼してディスク装置7
からキャッシュメモリ6にデータを読み込む(ステップ
S11)。更に、キャッシュメモリ6にセーブしたトラ
ックデータの必要な部分をAPバッファ2に転送する
(ステップS12)。これにより、ディスクキャッシュ
処理を終了する。
【0022】図10は、ディスクアクセスエミュレータ
とデバイスドライバとのインタフェースを示す図であ
る。仮想マシンモニタ92は、仮想リアルモードで割込
みや例外が発生すると、呼び出される。この時点で、C
PUの仮想リアルモードビットがオフにされ、プロテク
トモードに切替わる。割込み処理が終ると、仮想リアル
モードに切替わり、例外を引き起こした仮想リアルモー
ドのAP91に制御が戻る。メッセージ97は、プロテ
クトモードで動作するタスク間の通信手段として用いら
れるデータ列である。IRET98は、割込み復帰のた
めの命令である。
【0023】以下、本図を説明する。仮想リアルモード
のAP91がディスク装置96のリードを実行するため
に割込みを実行する。割込みが発生すると、仮想マシン
モニタ92が呼び出され、割込みハンドラであるディス
クアクセスエミュレータ93に処理を渡す。ディスクア
クセスエミュレータ93は、図9に示すディスクキャッ
シュ処理を行ない、プロテクトモード用メッセージを作
成してデバイスドライバタスク95に送信する。デバイ
スドライバタスク95は、ディスク装置96への物理ア
クセスを実行し、結果をディスクアクセスエミュレータ
93に返信する。ディスクアクセスエミュレータ93は
メッセージを割込み復帰のパラメータに直し、仮想マシ
ンモニタ92に戻る。仮想マシンモニタ92はIRET
命令を出して仮想リアルモードのAP91に復帰する。
【0024】
【発明の効果】以上説明したように、本発明のディスク
キャッシュ方式によれば、仮想リアルモードで動作する
プログラムの入出力割込みにより、プロテクトモード下
でディスク装置からキャッシュメモリへのデータ転送を
行なうようにしたので、次の(1)〜(4)の効果があ
る。 (1)トラックサイズにかかわらず、すべてのディスク
装置に対応してディスクキャッシュ処理を行なうことが
できる。 (2)トラックバッファを介さないため、データ転送の
回数が減少し、より高速な処理が可能となる。 (3)データ転送用の拡張ドライバを必要としないよう
にできる。 (4)トラックバッファが不要となるため、プログラム
サイズを縮小でき、1メガバイト以下のリアルモード空
間をより有効に利用できる。即ち、例えば、他の制御プ
ログラムやユーティリティプログラム等を格納すること
ができる。
【図面の簡単な説明】
【図1】本発明のディスクキャッシュ方式の実施例を説
明するメモリマップ図である。
【図2】従来のディスクキャッシュ方式を説明するメモ
リマップ図である。
【図3】従来のディスクキャッシュ処理手順を説明する
フローチャートである。
【図4】プロテクトモードと仮想リアルモードの説明図
である。
【図5】モード切替の流れの説明図である。
【図6】リアルモードでのディスクアクセスの説明図で
ある。
【図7】仮想リアルモードでのディスクアクセスの説明
図である。
【図8】本発明に係るディスクアクセスの説明図であ
る。
【図9】本発明に係るディスクキャッシュ処理手順を説
明するフローチャートである。
【図10】ディスクアクセスエミュレータとデバイスド
ライバとのインタフェースを示す図である。
【符号の説明】
1 アプリケーションプログラム 2 APバッファ 3 ディスクアクセスエミュレータ 4 仮想マシンモニタ 5 デバイスドライバ 6 キャッシュメモリ 7 ディスク装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションプログラムのディスク
    アクセスのための割込みにより、当該アプリケーション
    プログラムの動作モードである仮想リアルモードをオフ
    にし、キャッシュメモリを直接アクセスできるプロテク
    トモードに切替える仮想マシンモニタと、 当該プロテクトモードの下で動作し、キャッシュメモリ
    上にアプリケーションプログラムのアクセス対象とする
    データが存在するか否かを判定し、存在しない場合に
    は、アプリケーションプログラムのアクセス対象とする
    データをディスク装置からキャッシュメモリ上に転送す
    るため、前記キャッシュメモリ上のいずれかのアドレス
    を指定してディスク装置上のアドレスとともに送出する
    ディスクアクセスエミュレータと、 前記プロテクトモードの下で動作し、当該ディスクアク
    セスエミュレータからディスク装置上のアドレスを受取
    り、当該アドレスに格納されているデータを前記ディス
    ク装置から読み出し、前記キャッシュメモリ上の指定さ
    れたアドレスに転送するデバイスドライバとから成るこ
    とを特徴とするディスクキャッシュ方式。
JP3238747A 1991-08-26 1991-08-26 デイスクキヤツシユ方式 Pending JPH0553914A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3238747A JPH0553914A (ja) 1991-08-26 1991-08-26 デイスクキヤツシユ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3238747A JPH0553914A (ja) 1991-08-26 1991-08-26 デイスクキヤツシユ方式

Publications (1)

Publication Number Publication Date
JPH0553914A true JPH0553914A (ja) 1993-03-05

Family

ID=17034661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3238747A Pending JPH0553914A (ja) 1991-08-26 1991-08-26 デイスクキヤツシユ方式

Country Status (1)

Country Link
JP (1) JPH0553914A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07189521A (ja) * 1993-12-28 1995-07-28 Sogo Chiyuushiyajiyou Consultant:Kk 自走式立体駐車場

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07189521A (ja) * 1993-12-28 1995-07-28 Sogo Chiyuushiyajiyou Consultant:Kk 自走式立体駐車場

Similar Documents

Publication Publication Date Title
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
KR100327854B1 (ko) 캐시메모리시스템
JP2931490B2 (ja) 並列処理方式
KR100766732B1 (ko) 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP3227707B2 (ja) 走行モード別キャッシュメモリ制御方式
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JP2001216194A (ja) 演算処理装置
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
EP0864983A2 (en) Computer system including memory adress management circuit for protecting memory from illegal writing
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JP3162459B2 (ja) データ処理装置
JPS5847784B2 (ja) キ−記憶システム
JP3039391B2 (ja) メモリシステム
JPH0635747A (ja) デバッグ支援装置
JPH03154139A (ja) キャッシュメモリ
JP3364751B2 (ja) データ転送システム
JP2964504B2 (ja) 文書処理装置
JPH03113548A (ja) 拡張メモリ制御装置
JPH041373B2 (ja)
JPH0347536B2 (ja)
JPS6389951A (ja) キヤツシユメモリ装置
JPS63187339A (ja) 情報処理装置
JPH10177493A (ja) 図形処理システム
JPH05120134A (ja) キヤツシユメモリ実装方式