JP2618096B2 - Cache management method - Google Patents

Cache management method

Info

Publication number
JP2618096B2
JP2618096B2 JP3012453A JP1245391A JP2618096B2 JP 2618096 B2 JP2618096 B2 JP 2618096B2 JP 3012453 A JP3012453 A JP 3012453A JP 1245391 A JP1245391 A JP 1245391A JP 2618096 B2 JP2618096 B2 JP 2618096B2
Authority
JP
Japan
Prior art keywords
page
cache
external storage
address
cpu
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
JP3012453A
Other languages
Japanese (ja)
Other versions
JPH0736781A (en
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP3012453A priority Critical patent/JP2618096B2/en
Publication of JPH0736781A publication Critical patent/JPH0736781A/en
Application granted granted Critical
Publication of JP2618096B2 publication Critical patent/JP2618096B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、コンピュータが管理
するストレージに関し、特にCPUの外部ストレージの
うちデータ・キャッシュの部分を管理する方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage managed by a computer, and more particularly to a method of managing a data cache portion of an external storage of a CPU.

【0002】[0002]

【従来の技術】ここでは、従来のコンピュータ技術につ
いて、本発明に関わる事柄を簡単に述べる。取り上げる
事柄は、ステージド内部/外部ストレージとの関係から
見たCPUオペレーティング・システムとリソース・マ
ネジャ、データ・キャッシュと無効化、デマンド・ペー
ジ仮想ストア、仮想アドレス可能キャッシュなどであ
る。
2. Description of the Related Art Here, with respect to conventional computer technology, matters relating to the present invention will be briefly described. Topics include CPU operating systems and resource managers in relation to staged internal / external storage, data caches and invalidations, demand page virtual stores, virtual addressable caches, and the like.

【0003】CPUとステージド・ストレージ 現代のデータ処理マシンは、階層構成であり、LRU
(Least Recently Used)方式で管理されるステージド
・ストレージ(ソフトウェアとデータを格納する)に接
続された命令プロセサから成る。最高速かつアクセス速
度が最大のストレージは、命令プロセサに最も近い位置
に置かれ、階層の最上位に置かれる。低速のストレージ
(情報の大部分がこれに書き込まれる)は、階層内の低
い位置を占める。
CPUs and Staged Storage Modern data processing machines have a hierarchical configuration and LRU.
(Least Recently Used) It consists of an instruction processor connected to staged storage (stores software and data) managed by the method. The storage with the highest speed and the highest access speed is located closest to the instruction processor and at the top of the hierarchy. Slow storage (where most of the information is written) occupies a lower position in the hierarchy.

【0004】ストレージは、高速になるとコストが大幅
に増加するため、多くのコンピュータ・システムが物理
ストレージ・サブシステムをいくつかの性能レベルに分
ける。このようなレベルには、周辺I/Oデバイスとし
て扱われ、非同期パスを通してアクセスされるレベルが
ある(DASD、テープなど)。他のレベル(RAMや
キャッシュなど)は、内部ストレージの一部として、シ
ステム・ハードウェアによって直接操作され、同期パス
を通してアクセスされる。
[0004] Because storage costs increase significantly with increasing speed, many computer systems divide the physical storage subsystem into several performance levels. Such levels include levels that are treated as peripheral I / O devices and are accessed through asynchronous paths (DASD, tape, etc.). Other levels (RAM, cache, etc.) are directly manipulated by system hardware as part of internal storage and are accessed through synchronization paths.

【0005】“内部ストレージ”は、ストレージの一部
が、1回のリード/ライト動作(転送)でランダムにア
クセスできることを意味する。IBMのシステムでは、
内部ストレージは、エクステンション(“拡張スト
ア”)を除いて、バイト単位でアドレスできる。拡張ス
トアは、ブロックまたはページをアドレス可能単位とし
て(4096バイト/ページ)ランダムにアクセスされ
る。拡張ストアは、LRU方式の実メモリをベースにし
たページング・ストアとして管理される。“外部ストレ
ージ”は、DASDの場合のように、ランダム・アクセ
スができず、直接アクセスしなければならないストレー
ジの大部分をいう。
[0005] "Internal storage" means that a part of the storage can be randomly accessed by one read / write operation (transfer). In the IBM system,
Internal storage can be addressed in bytes, except for extensions ("extended stores"). The extended store is randomly accessed with a block or page as an addressable unit (4096 bytes / page). The extended store is managed as a paging store based on an LRU-based real memory. “External storage” refers to the majority of storage that cannot be accessed randomly and must be accessed directly, as in DASD.

【0006】内部ストアは、これを参照するプロセサ
が、リターンが受信されるまでアイドル状態にあるとき
は、“同期式”とみなされる。一方、シーク対象のデー
タが(“I/O境界”と呼ばれるポイントを超えた)外
部ストアに存在する場合、参照するプロセサは、待機す
る代わりに別のタスクをサーチして実行する。このタス
クまたはプロセスの切り替えは危険を伴う。新しいデー
タに対して検索パスを確立しなければならず、前のタス
クの処理状態をセーブする必要があるからである。外部
ストレージからの検索が終了すると、そこでまた、CP
Uを前のプロセスやタスクに切り替える必要がある。
[0006] An internal store is considered "synchronous" if the processor that references it is idle until a return is received. On the other hand, if the data to be sought is in an external store (beyond the point called "I / O boundary"), the referring processor searches for and executes another task instead of waiting. Switching this task or process is dangerous. This is because a search path must be established for new data, and the processing state of the previous task needs to be saved. When the search from the external storage is completed,
It is necessary to switch U to the previous process or task.

【0007】キャッシュとキャッシュ無効化 “キャッシュ”は、バッファ内の、インデクスがつけら
れ、LRU順に配置されたページの集まりと考えられ
る。キャッシュは普通、アクセス時間を短縮するため
に、データや命令へのパスに置かれる。また、“キャッ
シュ無効化”は、名前のついたページが無効であること
の指示をキャッシュから除外したりキャッシュに与えた
りすることをいう。これは、ベース・ページが他のデー
タ・パスで変更され、与えられたキャッシュ内のバージ
ョンが正確ではなくなったということによる。ちなみ
に、無効化は、キャッシュをそのままにしておくか、ま
たは不正確なページは無効であることをキャッシュ・デ
ィレクトリにマークで示すことによって実現できる。
Cache and Cache Invalidation A "cache" is considered to be a collection of pages in a buffer that are indexed and arranged in LRU order. Caches are usually placed in the path to data and instructions to reduce access time. Further, "cache invalidation" refers to excluding from the cache or giving the cache an instruction that the named page is invalid. This is because the base page has been modified in another data path, and the version in the given cache is no longer accurate. Incidentally, invalidation can be accomplished by either leaving the cache intact, or by marking the cache directory with invalid pages as invalid.

【0008】CPU、オペレーティング・システム、及
びリソース・マネジャ 代表的なプロセサまたはCPUシステムは各々、オペレ
ーティング・システム、プロセサ内部メモリから、動作
できるように形成されたローカル・キャッシュ、DAS
D指向外部ストア、及びロック/キャッシュ・リソース
・マネジャを含む。CPUで実行されるプロセスは、オ
ペレーティング・システムによってリード/ライト動作
を行う。一方、リード/ライト動作では、キャッシュ/
ロック・リソース・マネジャが用いられ、キャッシュに
存在するかまたは外部ストアからキャッシュにリフレッ
シュされたページに対して、ディレクトリでロック可能
なアクセス・パスが確立される。
CPU, Operating System, and Resource Manager A typical processor or CPU system is an operating system, a local cache operably formed from processor internal memory, a DAS, respectively.
Includes a D-oriented external store and lock / cache resource manager. A process executed by the CPU performs a read / write operation by an operating system. On the other hand, in the read / write operation, the cache /
A lock resource manager is used to establish a directory-lockable access path for pages that are in the cache or refreshed from the external store to the cache.

【0009】仮想デマンド・ページング・ストレージ “仮想ストレージ”は、CPUの内部ストレージで利用
できるものよりもかなり大きいストレージ空間のアドレ
シングである。これは空間と時間の両方について参照の
局所性を利用する。すなわち、プロセスがストレージを
参照するパターンは、不均一で、特定の部分に集中する
傾向がある。そのため、ごく少ない実ストレージによっ
て、大容量の仮想ストレージをバックアップすることが
できる。参照されたデータは、それが内部ストレージか
ら利用できない場合は、外部ストレージからスワップイ
ンされる。
Virtual Demand Paging Storage “Virtual storage” is the addressing of storage space that is significantly larger than that available in the CPU's internal storage. It exploits the locality of reference in both space and time. That is, the pattern in which the process refers to the storage tends to be non-uniform and concentrated on a specific part. Therefore, a large-capacity virtual storage can be backed up with very few real storages. The referenced data is swapped in from external storage if it is not available from internal storage.

【0010】仮想デマンド・ページング・システムの場
合、各プロセスは、その仮想ページの、あるサブセット
を頻繁に参照する。システムがページを管理するための
容量は、スロットまたは“ページ・フレーム”の数の上
限を基準に決められる。すなわち、ページ・フレーム数
は、ページ・フレームをサポートするために取って置か
れた内部ストアの量に関係する。プロセスによって参照
されたページのサブセットの合計が、ページ・フレーム
数を超えるとフォールトが発生する。“フォールト”
は、参照されたページが、LRU方式で管理される内部
ストアに存在しなかったために、外部ストレージをアク
セスする必要があるということと同義である。この状態
のシステムを“ページング”を行っているという。
In a virtual demand paging system, each process frequently references a subset of its virtual pages. The capacity for the system to manage pages is determined based on the upper limit of the number of slots or “page frames”. That is, the number of page frames is related to the amount of internal store reserved to support page frames. A fault occurs when the sum of the subset of pages referenced by the process exceeds the number of page frames. “Fault”
Is synonymous with the fact that the referenced page does not exist in the internal store managed by the LRU method, so that it is necessary to access the external storage. The system in this state is said to be performing "paging".

【0011】同義語の問題 同じ物理ページを指すのに2つの異なる名前が用いられ
る場合、あるいは2つの異なる物理ページに同じ名前が
つけられる場合は、曖昧さが問題になる。こうした“同
義語”のために、キャッシュ空間が無駄になり、キャッ
シュ無効化に関して問題が生じる。キャッシュは通常
は、同じデータに対して可能な名前を数多く結びつける
手段を持たないからである。
Synonym Issues Ambiguity is a problem when two different names are used to refer to the same physical page, or when two different physical pages are given the same name. These "synonyms" waste cache space and create problems with cache invalidation. This is because caches usually do not have a way to associate many possible names for the same data.

【0012】従来の仮想アドレス・キャッシュ Woffindenらの米国特許第4612612号明細書“Vir
tually AddressedCache”(1986年9月16日発
行)は、キャッシュを、仮想アドレス可能なエンティテ
ィとして処理しようとしている。すなわち元の仮想アド
レスが取得され、そのアドレスを基にしてキャッシング
が行われる。この明細書では、TLB( Translation L
ook-aside Buffer)によって即座に実行される仮想/実
アドレス変換には触れられていないが、この変換操作
は、キャッシュのルックアップを促進するものであり、
従来から知られているとおりである。
Conventional Virtual Address Cache US Pat. No. 4,612,612 to Woffinden et al.
"Tually AddressedCache" (issued September 16, 1986) seeks to treat the cache as a virtual addressable entity, ie, the original virtual address is obtained and caching is performed based on that address. In the book, TLB (Translation L
Although the virtual / real address translation performed immediately by the ook-aside buffer is not mentioned, this translation operation facilitates cache lookup,
It is as conventionally known.

【0013】同明細書の欠点は、ページを共用すること
が本来的に難しいことと関係がある。ただし、ページは
その仮想アドレスによってキャッシュ化されるので、各
ページは個別に扱われる。これは、2つの仮想ページ・
アドレスが、実ストレージ内の同じ最終アドレスを参照
する場合でも生じる。また、異なるアドレス空間内の仮
想アドレスは同じ実アドレスにマップできる(ハッシュ
可能)ということにある程度期待がかけられている。
A drawback of the specification relates to the inherent difficulty in sharing pages. However, since pages are cached by their virtual address, each page is treated individually. This is two virtual pages
This occurs even if the address refers to the same final address in real storage. There is some expectation that virtual addresses in different address spaces can be mapped to the same real address (possible hashing).

【0014】ファイルとビュー “データ・ファイル”は、仮想フレームにマップされた
ページの線形空間である。実フレームは外部ストアDA
SDに格納される。ファイルに複数のバージョン(より
正確には複数の“ビュー”)があると、“同義語の問
題”が生じるケースが多くなる。また、ファイルのバー
ジョンあるいはビューは、少なくともその1ページが、
別のファイル・バージョン/ビューと共通なファイルで
ある。繰り返すが、バージョンとは、同じ、すぐそれと
分かるファイルを異なる角度から見たもの(ビュー)で
あり、その違いは瞬間に対応する。
Files and Views A "data file" is a linear space of pages mapped to a virtual frame. Actual frame is external store DA
Stored in SD. If a file has multiple versions (more precisely, multiple “views”), “synonym problems” often occur. Also, the version or view of the file, at least one page,
A file that is common to another file version / view. Again, a version is a view of the same, immediately recognizable file from different angles (views), the differences corresponding to the moment.

【0015】[0015]

【発明が解決しようとする課題】この発明の目的は、非
常に大きな仮想外部アドレス空間へマップされるデータ
またはページへのアクセスを、キャッシュを通して管理
しながら、データの論理ビューを乱さず、かかる論理ビ
ューにバックアップ用物理ストアまたは実ストアを割り
当てる必要のない方法を発案することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to manage access to data or pages mapped to a very large virtual external address space through a cache without disturbing the logical view of the data. The idea is to devise a method that does not require a backup physical or real store to be assigned to a view.

【0016】[0016]

【課題を解決するための手段】この発明の方法において
は、キャッシュ内のページに対する異なる論理ビュー
(ページ編成ファイル)に共通の同義語の問題と複数の
ページ・コピーの両方を回避するために、2レベルのア
ドレス・インダイレクションが用いられる。ページは、
使用されるときは、まずVESA(Virtual External S
torage Address)にマップされ、次に外部ストレージの
物理アドレスにマップされる線形空間におけるそのアド
レスに従って参照される。また、参照されたページは、
そのVESAアドレスをインデクシング・アーギュメン
トとしてキャッシュに書き込まれる。すなわち、ページ
は、キャッシュに書き込まれ、そのVESAアドレスに
よってインデクスがつけられる(順序づけられる)。そ
こで、名前(VESAアドレス)を結合することによっ
て複数のビューが形成できる。これにより、共通なペー
ジを2重にコピーし、そのコピーをビューに結合する必
要がなくなる。
SUMMARY OF THE INVENTION In order to avoid both the problem of synonyms common to different logical views (page organization files) for pages in a cache and multiple page copies, the method of the present invention comprises: Two levels of address indirection are used. The page is
When used, first, VESA (Virtual External S
torage Address) and then referenced according to its address in linear space which is mapped to the physical address of the external storage. Also, the referenced page is
The VESA address is written to the cache as an indexing argument. That is, pages are written to the cache and indexed (ordered) by their VESA address. Therefore, a plurality of views can be formed by combining names (VESA addresses). This eliminates the need to duplicate the common page and combine that copy into the view.

【0017】ここで重要なことは、キャッシュに格納さ
れたページが、異なる論理ビューに共通であれば、該ペ
ージがその場で更新されるという点である。他の場合、
かかるページは、シャドーとして、異なるVESAを使
い、別のキャッシュ・ロケーションにコピーされる。異
なる論理ビュー(ページの集まり)に共通のページをそ
の場で更新することで、キャッシュの使用率が低くな
る。
What is important here is that if a page stored in the cache is common to different logical views, the page is updated on the fly. In other cases,
Such pages are copied to different cache locations using different VESAs as shadows. Updating a page common to different logical views (collections of pages) on the fly reduces cache utilization.

【0018】この発明の方法は、先に引いた Woffinden
の特許とは対照的に、もう1つのインダイレクション層
(VESA)を用いる。すなわちページは、キャッシュ
内で、そのVESAアーギュメントによってインデクス
がつけられ、同義語の衝突が避けられる。そのため、論
理アドレスからVESAおよびVESAから実アドレス
への変換を介した外部ストレージへのマッピングが必要
になる。
The method of the present invention is described in Woffinden,
Use another indirection layer (VESA), in contrast to the US Pat. That is, the page is indexed in the cache by its VESA argument to avoid synonym conflicts. Therefore, mapping from the logical address to the VESA and from the VESA to the real address via external storage is required.

【0019】この発明の方法のメリットを挙げると、
(a)キャッシングのための一意の名前が生成され、同
義語が回避される、(b)ロッキングに一意の名前が用
いられる、(c)データがキャッシュに格納され、変更
後にのみ書き出される、そして(d)実ストレージにお
けるデータのロケーションが変わる場合、論理アドレス
は同じまま(不変)なのでキャッシュは無効にならず、
(e)仮想ファイルのための物理的なバックアップが必
要ない。
The advantages of the method of the present invention include:
(A) a unique name is generated for caching and synonyms are avoided; (b) a unique name is used for locking; (c) data is cached and written out only after modification; and (D) When the location of data in the real storage changes, the cache is not invalidated because the logical address remains the same (unchanged),
(E) No physical backup for virtual files is required.

【0020】[0020]

【実施例】【Example】

本発明の方法を実施するホストCPU環境 この発明は、IBMオペレーティング・システムMVS
を用いるIBM/360または370アーキテクチャC
PUなどの汎用コンピュータで好都合に実現できる。I
BM/360アーキテクチャCPUの詳細については、
Amdahlらによる米国特許第3400371号明細書“Da
ta Processing System”(1968年9月3日発行)を
参照されたい。
The present invention relates to a host CPU environment for implementing the method of the present invention.
/ 360 or 370 architecture C using
It can be conveniently implemented on a general-purpose computer such as a PU. I
For details on the BM / 360 architecture CPU,
U.S. Pat. No. 3,400,371 to Amdahl et al.
ta Processing System "(issued September 3, 1968).

【0021】オペレーティング・システムMVSについ
ては、IBM Publications GC28−1150の“MVS/
Extended Architecture System Programming Library:S
ystem Macros and Facilities”、Vol.1に説明があ
る。標準MVSや、ロック管理、割り込みまたはモニタ
によるサブシステムの起動、タスクのポスティング/ウ
ェイティングなど他のオペレーティング・システムのサ
ービスの詳細には触れられていない。こうしたオペレー
ティング・システム・サービスの評価は、当業者間で安
定しているとみられる。
The operating system MVS is described in IBM Publications GC28-1150, “MVS /
Extended Architecture System Programming Library: S
ystem Macros and Facilities ”, Vol. 1. Details of standard MVS and other operating system services such as lock management, activation of subsystems by interrupts or monitors, posting / waiting of tasks, etc. are mentioned. The evaluation of such operating system services appears to be stable among those skilled in the art.

【0022】 CPU、キャッシュ、及びストレージの関係 この発明の目的から、ページは、一定数のページ・バイ
ト(4096など)で構成される。また“ページ”は
“ブロック”と同義である。
Relationship Between CPU, Cache, and Storage For the purposes of this invention, a page is made up of a fixed number of page bytes (eg, 4096). “Page” is synonymous with “block”.

【0023】図1は、編成されたストレージとCPUと
の関係を示す。図に示すとおり、CPU1は、内部スト
レージ3と外部ストレージ5の両方をパス11、13を
通してアクセスする。内部ストレージ3は、プロセサ・
ストレージ2(その内容はバイト・アドレス及びランダ
ム・アドレス可能)と拡張ストレージ4(その内容はペ
ージ・アドレス及びランダム・アドレス可能)を含む。
外部ストレージ5は、DASDを含み、CPU1上で実
行されるアプリケーションによって参照されたデータの
ページを格納する。
FIG. 1 shows the relationship between the organized storage and the CPU. As shown in the figure, the CPU 1 accesses both the internal storage 3 and the external storage 5 through the paths 11 and 13. The internal storage 3 is a processor
It includes storage 2 (its contents are byte addressable and random addressable) and extended storage 4 (its contents are page addressable and random addressable).
The external storage 5 includes a DASD and stores a page of data referred to by an application executed on the CPU 1.

【0024】代表的な例を挙げると、CPUプロセサを
起動したアプリケーションは、ページをその仮想/線形
空間アドレスかキャッシュへの実空間アドレスで参照す
る。その場合、キャッシュ9はハードウェアまたはソフ
トウェアで実現できる。ソフトウェアの場合、キャッシ
ュは内部ストレージ3内の任意の部分に置ける。キャッ
シュ9でページが使用できない場合、拡張ストレージ4
または外部ストレージ5をアクセスする必要がある。
As a typical example, the application that started the CPU processor refers to the page by its virtual / linear space address or real space address to the cache. In that case, the cache 9 can be realized by hardware or software. In the case of software, the cache can be placed at any part in the internal storage 3. If the page cannot be used in the cache 9, the extended storage 4
Alternatively, it is necessary to access the external storage 5.

【0025】外部ストレージのI/O境界7で複数のペ
ージがアクセスされる場合は、そのページは、Luizらに
よる米国特許第4207609号明細書“Path Indepen
dentDevice Reservation and Reconnection in a Multi
-CPU and Shared DeviceAccess System”(1980年
6月10日発行)に述べられている方法に従って処理で
きる。ちなみに、内部ストレージがアクセスされると、
プロセサはアクセスが終了するまで待つ。I/O境界で
アクセスが行われると、プロセサは、フェッチ(アクセ
ス)が終了するのを待つ間、別のタスクまたはプロセス
を起動する。
If a plurality of pages are accessed at the I / O boundary 7 of the external storage, the pages are referred to by Luiz et al., US Pat. No. 4,207,609, “Path Indepen.
dentDevice Reservation and Reconnection in a Multi
-CPU and Shared Device Access System "(issued on June 10, 1980). By the way, when the internal storage is accessed,
The processor waits until the access ends. When an access is made at an I / O boundary, the processor activates another task or process while waiting for the fetch (access) to finish.

【0026】アドレス変換とキャッシュ配置 図2は、本発明による仮想/実アドレス変換、連想メモ
リ・アシスト、及びキャッシュ配置の概念を示す。
Address Translation and Cache Placement FIG. 2 illustrates the concept of virtual / real address translation, associative memory assist, and cache placement according to the present invention.

【0027】図2の(1)に示すとおり、仮想アドレス
から実アドレスへの変換は、通常はハードウェアまたは
高速なマイクロコードで実現され、アドレス変換かマッ
ピングを伴う。すなわちアドレス変換メカニズムは、代
表的なマシンIBM System/370では、仮想
アドレスをページ・アドレスと相対ページ位置に分け
る。
As shown in FIG. 2A, the conversion from a virtual address to a real address is usually realized by hardware or high-speed microcode, and involves address conversion or mapping. That is, the address translation mechanism divides a virtual address into a page address and a relative page position in a typical machine IBM System / 370.

【0028】先にデマンド・ページングの説明とあわせ
て触れたように、ページングのために取って置かれる内
部ストレージは、ページ・フレームと呼ばれる固定した
ページの集まりに編成される。プログラムの中での仮想
アドレスの参照を内部ストレージ内のページ・フレーム
の実アドレスと関連づけるには、ページ・テーブルが使
用できる。相対アドレスをページ・フレームのロケーシ
ョンに追加すれば有効ページ・アドレスが確認できる。
このほかの詳細については、Lorin及び Deitelによる
“Operating Systems” (The Systems Programming Se
ries)の中で仮想ストレージについて説明した第4章の
pp.293−314を参照されたい。
As mentioned earlier in connection with the description of demand paging, the internal storage reserved for paging is organized into fixed collections of pages called page frames. A page table can be used to associate a virtual address reference in a program with the real address of a page frame in internal storage. The effective page address can be confirmed by adding the relative address to the location of the page frame.
See “Operating Systems” by Lorin and Deitel (The Systems Programming Se
ries) in Chapter 4, which describes virtual storage. 293-314.

【0029】図2の(2)は、TLB(Translation Lo
okaside Buffer)を使用して仮想/実アドレス変換を高
速化する従来からの手法を示す。TLB15は、RAM
(Random Access Memory)から形成され、LRU方式の
連想メモリとして動作する。このメモリでは、アクセス
されたデータのアドレスが、CPUによってデコードさ
れた命令と並列に処理される。
FIG. 2B shows a TLB (Translation Lo).
A conventional method for speeding up virtual / real address translation using an okaside buffer is shown. TLB15 is RAM
(Random Access Memory) and operates as an LRU-type associative memory. In this memory, the address of the accessed data is processed in parallel with the instruction decoded by the CPU.

【0030】図2の(3)に示すように、実キャッシュ
17が実CPUメイン・メモリ19の前に置かれた場
合、実キャッシュ17は、仮想アドレスが異なるページ
と、異なる仮想アドレス空間に置かれたページを格納で
きる。ただし、この実キャッシュの欠点として、キャッ
シュへのアクセスは、仮想/実アドレス変換が実行され
た後でしか生じない。実キャッシュでは、最初にアドレ
ス変換が実行されてからテーブル・ルックアップが起こ
る。
As shown in FIG. 2C, when the real cache 17 is placed in front of the real CPU main memory 19, the real cache 17 is placed in a page having a different virtual address and a different virtual address space. Can store stored pages. However, a disadvantage of this real cache is that access to the cache only occurs after virtual / real address translation has been performed. In a real cache, an address translation is first performed and then a table lookup occurs.

【0031】図3は、仮想キャッシュ21をアドレス変
換と実内部ストレージ19の前に配置した状態を示す。
この構成は、上述の Woffindenの特許にみられるハード
ウェア・キャッシュの実施例でパターン化されている。
以下に Woffindenの説明を引用する。
FIG. 3 shows a state where the virtual cache 21 is arranged before the address translation and the real internal storage 19.
This configuration is patterned in the hardware cache embodiment found in the aforementioned Woffinden patent.
The following is a quote from Woffinden.

【0032】「代表的なバッファは、常にメイン・スト
ア・データのうちごくわずかな部分を含む。仮想アドレ
ス・バッファでは、データのロケーションはメイン・ス
トアの実アドレスの関数ではなく、仮想アドレスの関数
である。したがってメイン・ストア・アドレスは、一意
のバッファ・アドレスにマップされない。バッファ内の
同じ仮想アドレス・ロケーションには、実アドレスを2
つ以上変換できる。」
"A typical buffer always contains a very small portion of the main store data. In a virtual address buffer, the location of the data is not a function of the main store real address, but a function of the virtual address. Therefore, the main store address is not mapped to a unique buffer address. The same virtual address location in the buffer has a real address of 2
You can convert more than one. "

【0033】同義語の問題について、 Woffindenの解決
法は次のように簡単に述べられている。
For the problem of synonyms, Woffinden's solution is briefly described as follows.

【0034】「メイン・ストア内の1つの実アドレス・
ロケーションに対応する同じデータ・ロケーションが、
異なる仮想アドレスによって指定されることがあるの
で、仮想アドレス・バッファは、異なるロケーションに
ある同じデータのコピー(同義語という)を2つ以上格
納する可能性がある。そのため、実/仮想アドレス・ト
ランスレータは、変更されたデータがバッファに格納さ
れたときに、バッファに存在する同義語を見つけるため
に、メイン・ストアの実アドレスをバッファのすべての
仮想アドレスに変換する。」
"One real address in the main store
The same data location corresponding to the location
Because they may be specified by different virtual addresses, the virtual address buffer may store more than one copy of the same data at different locations (referred to as synonyms). Thus, the real / virtual address translator translates the real address of the main store to all the virtual addresses of the buffer to find synonyms present in the buffer when the changed data is stored in the buffer. . "

【0035】本発明によるキャッシュ配置 この発明の方法では、キャッシュは、内部ストレージの
うち、ソフトウェアによって生成・管理される部分であ
る。このキャッシュは外部ストレージ・キャッシュとし
て機能する。また、かかるソフトウェア・キャッシュ
は、 Woffindenの特許に述べられたCPUキャッシュの
ハードウェア構成とは動作面が異なる。WoffindenのC
PUキャッシュでは、アドレスの導出とアクセスは、マ
イクロ秒単位であるが、外部ストレージ・ソフトウェア
・キャッシュの導出とアクセスはミリ秒単位である。こ
れにより処理の追加あるいは高度化が可能になる。
Cache Arrangement According to the Present Invention In the method of the present invention, a cache is a portion of the internal storage that is created and managed by software. This cache functions as an external storage cache. Also, such a software cache is different in operation from the hardware configuration of the CPU cache described in the Woffinden patent. Woffinden C
In PU caches, address derivation and access is in microseconds, whereas external storage software cache derivation and access is in milliseconds. This makes it possible to add or enhance processing.

【0036】図4は、本発明によるソフトウェア・キャ
ッシングとその配置を示す。2つのアドレス変換すなわ
ち2レベルのインダイレクションを示している。第1レ
ベルは、仮想アドレスまたは論理アドレス23の、VE
SA(Virtual ExternalStorage Address)空間25へ
のマッピング、第2レベルは、VESAの、外部ストレ
ージ実アドレス5へのマッピングである。キャッシュ2
7へのアクセスはVESAアーギュメントのみによる。
キャッシュ27は、第1マッピングの後、第2マッピン
グの前に位置づけられる。
FIG. 4 illustrates software caching and its arrangement according to the present invention. Two address translations, ie, two levels of indirection, are shown. The first level is the virtual or logical address 23 of the VE
The mapping to the SA (Virtual External Storage Address) space 25, and the second level is the mapping of the VESA to the external storage real address 5. Cache 2
Access to 7 is by VESA argument only.
The cache 27 is located after the first mapping and before the second mapping.

【0037】VESA順序ペアを使用した同義語の回避 この発明の方法に2レベルのインダイレクションを採用
することで、デマンド・ページング及び仮想アドレシン
グとあわせて説明したベース+変位アドレシングの特性
が活かされる。ここでは、CPU1で実行されるアプリ
ケーションが100番目の相対ページを指定する場合を
考える。そのページが複数のバージョンをもつ場合、各
バージョンの論理アドレスは同じである。これらは同じ
ファイルの異なるバージョンである。
Avoiding Synonyms Using VESA Ordered Pairs Employing two levels of indirection in the method of the present invention takes advantage of the characteristics of base + displacement addressing described in conjunction with demand paging and virtual addressing. Here, it is assumed that the application executed by the CPU 1 specifies the 100th relative page. If the page has multiple versions, the logical address of each version is the same. These are different versions of the same file.

【0038】この発明では、名前空間から中間空間への
マッピングは複数から単数へのそれである。したがっ
て、同じページを共用する2つの線形空間は、1つのV
ESA(Virtual External Storage Address)へマップ
され、同義語の問題は生じない。中間外部ストレージを
用いることで同義語の問題が回避される。
In the present invention, the mapping from the namespace to the intermediate space is that of plural to singular. Therefore, two linear spaces that share the same page are one V
It is mapped to ESA (Virtual External Storage Address), and the problem of synonyms does not occur. Using an intermediate external storage avoids the problem of synonyms.

【0039】図5は、同じファイルの2つのバージョン
と外部仮想キャッシュ27を示す。図の第1ファイル2
9は、論理名AV1(ファイルAバージョン1)をも
つ。これは元のページ0及び1から成る。第2ファイル
31は論理名AV2(ファイルAバージョン2)をも
つ。AV2は、元のページ0と変更されたページ1(ペ
ージ1’)を含む。ページ0、1、1’は各々、VES
Aアドレス(いわゆる仮想フレーム)VF0、VF1、
VF2にマップされる。キャッシュ27に格納する必要
があるのはページ0のコピー1つだけである。
FIG. 5 shows two versions of the same file and the external virtual cache 27. First file 2 in the figure
9 has a logical name AV1 (file A version 1). It consists of the original pages 0 and 1. The second file 31 has a logical name AV2 (file A version 2). AV2 includes the original page 0 and the changed page 1 (page 1 '). Pages 0, 1, 1 'are each VES
A addresses (so-called virtual frames) VF0, VF1,
Maps to VF2. Only one copy of page 0 needs to be stored in cache 27.

【0040】その場更新とシャドー・コピー この発明の方法によれば、元のファイル及び更新された
ファイルに共通のページをその場で書き込む操作に応答
して、共通ページがその場で更新される。これにより、
更新された値をいずれのファイル(ビュー)でも使用で
きる。書き込みまたは更新対象のページが共通でない場
合は、そのシャドー・コピーがキャッシュに書き込ま
れ、それにまた別の外部ストレージ論理空間が割り当て
られる。
In-Place Update and Shadow Copy In accordance with the method of the present invention, a common page is updated in-place in response to an in-place write operation of a common page to the original and updated files. . This allows
The updated values can be used in any file (view). If the page to be written or updated is not common, its shadow copy is written to the cache, which is allocated another external storage logical space.

【0041】図6は、ファイルAV1、AV2及びキャ
ッシュ27内の異なるストレージ・ミックスを示す。こ
こで、AV1は元のページ0と元のページ1を含むとす
る。またAV2は元のページ0と変更されたページ1’
を含むとする。キャッシュ27のマネジャは、VESA
アドレスVF0をページ0に、VF1をページ1に、V
F2’をページ1’に割り当てる。アプリケーションが
ページ0を更新する場合、ページ0はAV1とAV2に
共通なので、VF0においてその場更新が起こる。ただ
し、ページ1’への更新は、変更されたページ1”をキ
ャッシュのVF2”におけるVESAアドレスに書き込
み、古いページ1’をキャッシュのVESAアドレスV
F2’にシャドーとして残しておくことによって処理さ
れる。
FIG. 6 shows the different storage mixes in files AV1, AV2 and cache 27. Here, it is assumed that AV1 includes original page 0 and original page 1. AV2 is the original page 0 and the changed page 1 '
Is assumed to be included. The manager of the cache 27 is VESA
Address VF0 to page 0, VF1 to page 1, V
F2 'is assigned to page 1'. When the application updates page 0, an in-place update occurs at VF0 because page 0 is common to AV1 and AV2. However, to update to page 1 ', the changed page 1 "is written to the VESA address in VF2" of the cache, and the old page 1' is written to the VESA address V
It is processed by leaving it as a shadow in F2 '.

【0042】別の例を用いた方法のアルゴリズム表現 図7は、ファイル1、2からVESA順序キャッシュ及
び内部または外部の実ストレージへの、ページのダブル
・マッピングを示す。ここでは次のように考える。
Algorithmic Representation of the Method Using Another Example FIG. 7 shows the double mapping of pages from files 1 and 2 to the VESA ordered cache and internal or external real storage. Here, we think as follows.

【0043】システムの初期状態は、ページ1、2から
成るファイル1を含むとする。またページ1、2は、V
ESAアドレスVF12、VF40にマップされ、次に
実アドレスR2、R96にマップされる。次に、ファイ
ル1のイメージとして最初にファイル2が生成されてい
ると仮定する。ページ1、2の第1コンコーダンスはV
F12、VF40を含む。第2コンコーダンスはR2、
R96を含む。
It is assumed that the initial state of the system includes a file 1 composed of pages 1 and 2. Pages 1 and 2 are V
It is mapped to ESA addresses VF12, VF40 and then to real addresses R2, R96. Next, assume that file 2 is initially generated as an image of file 1. The first concordance on pages 1 and 2 is V
F12 and VF40. The second concordance is R2,
R96.

【0044】ファイル2のページ2が、ファイル1との
共用なく更新されるためには、最初に、新しいVESA
すなわちVF76をキャッシュ27に割り当てる必要が
ある。そしてファイル2のコンコーダンスすなわちペー
ジ・マップが変更される。その後、更新されたページ
2’がキャッシュ・ロケーションVF76に書き込まれ
る。DASDロケーションの形の実ストレージすなわち
R102が割り当てられ、ページ2’がここにコピーさ
れる。ちなみにVF40は、VF76に対するシャドー
・ロケーションとして残る。
In order for page 2 of file 2 to be updated without sharing with file 1, first a new VESA
That is, it is necessary to allocate the VF 76 to the cache 27. Then, the concordance of file 2, that is, the page map is changed. Thereafter, the updated page 2 'is written to the cache location VF76. Real storage in the form of a DASD location or R102 is allocated and page 2 'is copied here. Incidentally, VF40 remains as a shadow location for VF76.

【0045】ページ1が再び書き込まれる場合、そのペ
ージはファイル間で共用されているので、キャッシュ2
7への新しい割り当ては必要ない。VF12への既存の
マッピングは同じままであり、更新されたページ1’は
そこに書き込まれる。同様に、VF12の内容はDAS
Dの実ロケーションR2にコピーされる。
When page 1 is written again, the page is shared between files, so cache 2
No new assignment to 7 is needed. The existing mapping to VF12 remains the same, and the updated page 1 'is written there. Similarly, the contents of VF12 are DAS
D is copied to the real location R2.

【0046】キャッシュ27の変更が、キャッシュが一
杯になるポイントまでバッチ処理できるなら、DASD
実ストレージへの転送は1回で行える。これにより、バ
ックアップ用の個別ストアを複数回更新する場合に比べ
て転送効率が高まる。
If changes to the cache 27 can be batch processed to the point where the cache is full, the DASD
The transfer to the real storage can be performed once. As a result, the transfer efficiency is increased as compared with the case where the backup individual store is updated a plurality of times.

【0047】ファイル1が、その書き込み前に削除され
た場合(ファイル1が一時ファイルの場合など)、その
構成要素である仮想フレームが実ストレージに割り当て
られることは一度もない。実ストレージへの割り当てが
必要になるのは、フレームが実際に書き込まれるときだ
けである(フレームはキャッシュに存在するのでその必
要がない)。
When the file 1 is deleted before the writing (for example, when the file 1 is a temporary file), the virtual frame which is the constituent element is never assigned to the real storage. It is only necessary to allocate real storage when the frame is actually written (it is not necessary because the frame exists in the cache).

【0048】[0048]

【発明の効果】以上のように本発明によればキャッシン
グの際の同義語が回避され、仮想ファイルのための物理
的バックアップが不要となる。
As described above, according to the present invention, synonyms during caching are avoided, and a physical backup for a virtual file is not required.

【図面の簡単な説明】[Brief description of the drawings]

【図1】大型メインフレームCPUに関連するストレー
ジの編成を示す図である。
FIG. 1 is a diagram showing the organization of storage related to a large mainframe CPU.

【図2】本発明による仮想/実アドレス変換、連想メモ
リ・アシスト、及びキャッシュ配置の概念をあらわす図
である。
FIG. 2 is a diagram showing the concept of virtual / real address conversion, associative memory assist, and cache arrangement according to the present invention.

【図3】従来の技術による仮想キャッシングの概念をあ
らわす図である。
FIG. 3 is a diagram illustrating a concept of virtual caching according to a conventional technique.

【図4】本発明によるソフトウェア・キャッシングとそ
の配置を示す図である。
FIG. 4 is a diagram showing software caching and its arrangement according to the present invention.

【図5】本発明により、キャッシュのVESA順序ペー
ジを使用して同義語の問題を回避する方法を示す図であ
る。
FIG. 5 illustrates how to use the VESA ordered pages of the cache to avoid synonym problems in accordance with the present invention.

【図6】その場更新とシャドー・コピーを示す図であ
る。
FIG. 6 is a diagram illustrating in-place updating and shadow copying.

【図7】本発明による異なるビューを伴う別のマッピン
グ例を示す図である。
FIG. 7 shows another example of mapping with different views according to the present invention.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョージ・アイゼンバーガー アメリカ合衆国ニューヨーク州ホワイ ト・プレーンズ、アルバマール・ロード 54番地 (72)発明者 アレクサンダー・スタフォード・レット アメリカ合衆国ニューヨーク州マホパッ ク、マクレガー・ドライブ 402番地 (72)発明者 ジェムス・ジョセフ・マイヤズ アメリカ合衆国カリフォルニア州サンフ ランシスコ、コロンブス・アベニュー、 ナンバー6、950番地 (72)発明者 ウイリアム・ハロルド・テッラフ アメリカ合衆国ニューヨーク州マウン ト・キスコ、フォックス・デン・ロード 37番地 (72)発明者 ジェイ・ハロルド・アンガー アメリカ合衆国ニューヨーク州モーガ ン・レイク、クノールウッド・コート (番地なし) (56)参考文献 特開 昭64−18859(JP,A) 特開 平1−239654(JP,A) ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor George Eisenberger Albamar Road, White Plains, NY, USA 54 (72) Alexander Stafford Let, Inventor McGregor Drive, Mahopak, NY, USA 402 (72) Inventor Gems Joseph Myers San Francisco, California, United States, Columbus Avenue, No. 6, 950 (72) Inventor William Harold Tallahu, Fox Den Lord, Mount Kisco, NY, United States No. 37 (72) Inventor Jay Harold Anger New York, USA Morgan Lake, Knorrwood Court (no address) (56) References JP-A 64-18859 (JP, A) JP-A 1-239654 (JP, A)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】データの論理ビューを乱さず、これにバッ
クアップ用ストレージを割り当てる必要なく、データ・
キャッシュを通してページをアクセスする、CPUで実
現される方法であって、前記論理ビューが、少なくとも
第1及び第2のページ編成ファイルの形をとり、 前記CPUが、オペレーティング・システム、RAMア
ドレス可能なページから形成されたデータ・キャッシュ
を含む内部ストレージ、DASDアドレス可能なページ
から形成された外部ストレージ、及び前記内部/外部ス
トレージをアクセスするために前記CPUのリード/ラ
イト動作に応答する手段を含み、 前記CPUリード/ライト動作に応答して、最初に外部
ストレージ仮想アドレス(VESA)にマップされ、次
に外部ストレージの物理アドレスにマップされる線形空
間内の、第1または第2のファイルのページのアドレス
に従って前記アドレスを参照し、参照されたページが既
に前記データ・キャッシュに置かれていなければ、その
VESAをインデクシング・アーギュメントとしてデー
タ・キャッシュに書き込むステップと、 CPUライト動作に応答して、前記CPUライト動作が
第1および第2のファイルに共通の場合には、キャッシ
ュに置かれたページを直接更新し、前記CPUライト動
作が第1および第2のファイルに共通でない場合には、
更新されたページを別のVESAを用いて別のキャッシ
ュ・ロケーションにページをコピーするステップとを含
む、 ページ・アクセス方法。
Claims: 1. A data view without disturbing a logical view of data and without having to allocate backup storage to it.
A method implemented in a CPU for accessing a page through a cache, wherein the logical view is in the form of at least a first and a second page organization file, the CPU comprising an operating system, a RAM addressable page. An internal storage, including a data cache formed from an external storage formed from DASD addressable pages, and means responsive to a read / write operation of the CPU to access the internal / external storage; In response to a CPU read / write operation, the address of a page of the first or second file in linear space that is first mapped to an external storage virtual address (VESA) and then mapped to a physical address of the external storage. Refer to the address according to Writing the VESA as an indexing argument to the data cache if the page write has not already been placed in the data cache; If the CPU write operation is not common to the first and second files, update the page placed in the cache directly.
Copying the updated page to another cache location using another VESA.
【請求項2】請求項1に記載の方法であって、ページ
を、変更後にのみ、データ・キャッシュから外部ストレ
ージの物理アドレスへ書き出すステップを含む、 ページ・アクセス方法。
2. A method according to claim 1, further comprising the step of writing the page from the data cache to a physical address of the external storage only after the change.
【請求項3】データ・ファイルのバージョン情報を含
み、第1及び第2のページ編成ファイルをもつ外部スト
レージ用のキャッシュを管理する、CPUで実現される
方法であって、前記CPUが、RAMアドレス可能なペ
ージから形成された内部ストレージ及びDASDアドレ
ス可能なページから形成された外部ストレージを含み、 (a)少なくとも2つの名前つきページ(AV1P0、
AV1P1)を所定のファイルに作成し、そのロケーシ
ョンを前記ファイルに独立な外部ストレージ論理空間
(VF0、VF1)に割り当てるステップと、 (b)前記ページ(AV1P0、AV1P1)をキャッ
シュに書き込み、前記ページのキャッシュ・ロケーショ
ンに、前記外部ストレージ論理空間のアドレス(VF
0、VF1)のインデクスをつけるステップと、 (c)前記第1及び第2のファイルに共通ではないペー
ジの更新(AV2P1’)に応答して、別の外部ストレ
ージ論理空間(VF2)を割り当て、更新されたページ
をキャッシュ内の前記別のストレージ空間のロケーショ
ンに格納するステップと、 (d)前記第1及び第2のファイルに共通のページの更
新に応答して、前記キャッシュ上の前記ページを直接更
新し、共通でないページの更新(AV2P1’’)に応
答して、そのシャドー・コピーをキャッシュ(VF
2’)に書き込んで、該キャッシュにまた別の外部スト
レージ論理空間(VF2’’)を割り当てるステップと
を含む、 キャッシュ管理方法。
3. A method implemented by a CPU for managing a cache for external storage having first and second page organization files including version information of a data file, the CPU comprising: An internal storage formed from possible pages and an external storage formed from DASD-addressable pages, (a) at least two named pages (AV1P0,
(AV1P1) in a predetermined file and assigning its location to an external storage logical space (VF0, VF1) independent of the file; (b) writing the page (AV1P0, AV1P1) in a cache, The address of the external storage logical space (VF
0, VF1); and (c) allocating another external storage logical space (VF2) in response to a page update (AV2P1 ′) not common to said first and second files; Storing the updated page at a location in said separate storage space in a cache; and (d) renewing said page on said cache in response to updating a page common to said first and second files. Updates directly and caches the shadow copy (VF) in response to the non-common page update (AV2P1 '').
2 ') and assigning another external storage logical space (VF2'') to the cache.
JP3012453A 1991-01-10 1991-01-10 Cache management method Expired - Lifetime JP2618096B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3012453A JP2618096B2 (en) 1991-01-10 1991-01-10 Cache management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3012453A JP2618096B2 (en) 1991-01-10 1991-01-10 Cache management method

Publications (2)

Publication Number Publication Date
JPH0736781A JPH0736781A (en) 1995-02-07
JP2618096B2 true JP2618096B2 (en) 1997-06-11

Family

ID=11805762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3012453A Expired - Lifetime JP2618096B2 (en) 1991-01-10 1991-01-10 Cache management method

Country Status (1)

Country Link
JP (1) JP2618096B2 (en)

Also Published As

Publication number Publication date
JPH0736781A (en) 1995-02-07

Similar Documents

Publication Publication Date Title
US5088026A (en) Method for managing a data cache using virtual external storage addresses as arguments
JP3102495B2 (en) Virtual memory management method
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JP2603369B2 (en) How to ensure consistency between common pages in the local cache
EP1247184B1 (en) Method and apparatus for pointer relocation optimization for virtual memory mapping and transaction management in a database system
KR100297454B1 (en) Computer
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP2833062B2 (en) Cache memory control method, processor and information processing apparatus using the cache memory control method
US5860146A (en) Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces
JP4447580B2 (en) Partitioned sparse directory for distributed shared memory multiprocessor systems
EP0729102B1 (en) Cachability attributes for virtual addresses in virtually and physically indexed caches
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
US7493464B2 (en) Sparse matrix
JPH0578857B2 (en)
JP3866447B2 (en) Directory entry allocation system and method for use in multiprocessor node data processing system
JPH08235052A (en) System and method for storage of address tag into directory
US5619696A (en) Program cache apparatus which associates the physical address of a physical page with both the logical address in a program cache space and the logical address in a process space
JP2002123424A (en) System and method for dynamically reallocating memory in computer system
JP2000227874A (en) Method and device for addressing contents of main memory including directory structure in computer system
US7093080B2 (en) Method and apparatus for coherent memory structure of heterogeneous processor systems
JPH0555901B2 (en)
JPH05100956A (en) Address converter
JP2618096B2 (en) Cache management method
KR100354274B1 (en) Method for sharing page directory in main computer
CN117093132A (en) Data processing method, device, processor and computer system