JPH10301848A - Virtual storage device having multiple page sizes - Google Patents

Virtual storage device having multiple page sizes

Info

Publication number
JPH10301848A
JPH10301848A JP9110637A JP11063797A JPH10301848A JP H10301848 A JPH10301848 A JP H10301848A JP 9110637 A JP9110637 A JP 9110637A JP 11063797 A JP11063797 A JP 11063797A JP H10301848 A JPH10301848 A JP H10301848A
Authority
JP
Japan
Prior art keywords
address
page
virtual
virtual storage
extended
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
JP9110637A
Other languages
Japanese (ja)
Inventor
Toyohiko Kagimasa
豊彦 鍵政
Shunji Takubo
俊二 田窪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9110637A priority Critical patent/JPH10301848A/en
Publication of JPH10301848A publication Critical patent/JPH10301848A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 単一の仮想ページサイズでは、応用の要求に
応じることができず性能が低下する。単純な仮想ページ
サイズ種類の増加はハードウェアの実装量増大と性能低
下を招く。 【解決手段】 階層構成のアドレス変換テーブル(2
3、24、25、26)で下位のテーブル段数、すなわ
ち仮想記憶領域に対する仮想ページサイズを指定する手
段を提供することと、拡張仮想ページ設定命令を提供す
ることによって、多重仮想ページサイズを可能にし、上
記課題を解決する。 【効果】 多重の仮想ページサイズを少ないOSオーバ
ヘッドで提供できるので、コンピュータシステムの性能
が向上するとともにメモリ資源やハードウェア量を削減
できる。また、さらに種類の多い拡張仮想ページサイズ
を提供でき、応用プログラムの実行が高速化される。
(57) [Summary] [Problem] With a single virtual page size, performance cannot be met because of application requirements. A simple increase in the type of virtual page size causes an increase in the amount of implemented hardware and a decrease in performance. SOLUTION: An address conversion table (2) having a hierarchical structure
3, 24, 25, 26) to provide a means for designating the number of lower table levels, that is, the virtual page size for the virtual storage area, and to provide an extended virtual page setting instruction to enable multiple virtual page sizes. To solve the above problem. [Effect] Since multiple virtual page sizes can be provided with a small OS overhead, the performance of the computer system is improved and the memory resources and the hardware amount can be reduced. Further, more types of extended virtual page sizes can be provided, and the speed of execution of application programs can be increased.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータシステ
ムの仮想記憶に関し、特にアプリケーションプログラム
が複数の仮想記憶ページサイズを効率良く利用可能にす
るための仮想記憶装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a virtual storage of a computer system, and more particularly to a virtual storage device that enables an application program to efficiently use a plurality of virtual storage page sizes.

【0002】[0002]

【従来の技術】多くのコンピュータシステムにおいて、
仮想記憶は単一サイズのページ(仮想ページと呼ぶ)に
分割され、仮想ページサイズは4キロバイト(以降KB
と略す)であることが多い。例えば、文献「IBM C
orporation, “Enterprise S
ystem Architecture/390 Pr
inciples of Operation”, I
BM Corporation , pp.3−1−3
−51, 1994」に記載のメインフレームの仮想記
憶アーキテクチャ(公知例1と呼ぶ)では、仮想記憶は
31ビットアドレスが表わす2ギガバイト(以降GBと
略す)の大きさを持ち、仮想記憶は4KBの仮想ページ
に分割される。仮想ページは仮想記憶に実記憶を割り当
てる固定長の単位である。実記憶装置も4KBの単位
(実ページと呼ぶ)に分割され、実ページごとにアクセ
ス保護のためのキーを含む情報を保持するキー記憶のエ
ントリを有する。仮想アドレスから実アドレスに変換す
るアドレス変換機構は、アドレス変換テーブルを用い
て、仮想ページを実記憶装置の任意の位置に置くことが
できるように仮想ページアドレスを実ページアドレスに
変換する。アドレス変換テーブルは仮想アドレスの部分
ビット列をインデクスとして用いるセグメントテーブル
とページテーブルの2段の階層構成になっている。31
ビットのアドレスの上位11ビットをセグメントテーブ
ルのインデクス、次の8ビットをページテーブルのイン
デクスとして用いる。従って、2GBの一つのアドレス
空間はそれぞれ1メガバイト(以降MBと略す)の大き
さを持つ2048個のセグメントに分割され、セグメン
トは256個のページに分割される。一つのセグメント
テーブルは2GBのアドレス空間全体に対応し、204
8個のエントリを有する。セグメントテーブルの各エン
トリは、ページテーブルのアドレスを保持する。一つの
ページテーブルは一つのセグメントに対応し、256個
のエントリを有する。変換結果の実ページアドレスは、
ページテーブルエントリにのみ格納されるので、仮想ペ
ージサイズは4KBの一種類のみである。ページテーブ
ルエントリの無効化命令は、アドレス変換テーブルのエ
ントリとともにアドレス変換バッファの対応するエント
リも無効化するという仕様になっている。
2. Description of the Related Art In many computer systems,
The virtual storage is divided into single-sized pages (called virtual pages), and the virtual page size is 4 kilobytes (hereinafter KB).
Abbreviated). For example, the document "IBM C
corporation, “Enterprise S
system Architecture / 390 Pr
includes of Operation ", I
BM Corporation, pp. 3-1-3
In the mainframe virtual storage architecture (referred to as well-known example 1) described in “-51, 1994”, the virtual storage has a size of 2 gigabytes (hereinafter abbreviated as GB) indicated by a 31-bit address, and the virtual storage has a size of 4 KB. Divided into virtual pages. A virtual page is a fixed-length unit that allocates real storage to virtual storage. The real storage device is also divided into units of 4 KB (called real pages), and has a key storage entry that holds information including a key for access protection for each real page. An address translation mechanism that translates a virtual address into a real address uses an address translation table to translate a virtual page address into a real page address so that a virtual page can be placed at any position in a real storage device. The address translation table has a two-stage hierarchical structure of a segment table and a page table using partial bit strings of virtual addresses as indexes. 31
The upper 11 bits of the bit address are used as the index of the segment table, and the next 8 bits are used as the index of the page table. Therefore, one address space of 2 GB is divided into 2048 segments each having a size of 1 megabyte (hereinafter abbreviated as MB), and the segment is divided into 256 pages. One segment table corresponds to the entire 2 GB address space, and 204
It has eight entries. Each entry of the segment table holds the address of the page table. One page table corresponds to one segment and has 256 entries. The real page address of the conversion result is
Since the virtual page size is stored only in the page table entry, the virtual page size is only one type of 4 KB. The specification for invalidating the page table entry invalidates the corresponding entry of the address translation buffer together with the entry of the address translation table.

【0003】特公平7−104818号公報(公知例2
と呼ぶ)は、公知例1の仮想記憶装置に対して、仮想ア
ドレスを47ビットまたは63ビットに拡張する装置と
方法を開示している。公知例1の31ビットアドレスを
変換するアドレス変換テーブルの上位階層として、2段
または3段のアドレス変換テーブルを新たに設けてい
る。しかし、仮想ページサイズは公知例1と同様に4K
Bの一種類のみである。
[0003] Japanese Patent Publication No. Hei 7-104818 (known example 2)
Discloses a device and a method for extending a virtual address to 47 bits or 63 bits with respect to the virtual storage device of the publicly known example 1. A two-stage or three-stage address conversion table is newly provided as an upper layer of the address conversion table for converting the 31-bit address of the known example 1. However, the virtual page size is 4K as in the known example 1.
B is only one type.

【0004】特開平4−319747号公報(公知例3
と呼ぶ)は、複数の仮想ページサイズを効率良く提供す
るためのアドレス変換機構を開示している。公知例3の
アドレス変換機構は、複数の仮想ページサイズのエント
リを索引できる単一の組のアドレス変換バッファを含
む。アドレス変換バッファは、本来主記憶上のアドレス
変換テーブルを参照して得られるアドレス変換情報を主
記憶より高速にアクセスできるメモリと回路にキャッシ
ュして、アドレス変換を高速化する機構である。しか
し、複数の仮想ページサイズを実現するためのアドレス
変換テーブルについては開示されていない。
Japanese Patent Application Laid-Open No. 4-319747 (known example 3)
Discloses an address translation mechanism for efficiently providing a plurality of virtual page sizes. The address translation mechanism of the third prior art includes a single set of address translation buffers capable of indexing a plurality of virtual page size entries. The address translation buffer is a mechanism for accelerating address translation by caching address translation information originally obtained by referring to an address translation table on the main memory in a memory and a circuit that can be accessed faster than the main memory. However, it does not disclose an address conversion table for realizing a plurality of virtual page sizes.

【0005】文献「SPARC Internatio
nal, Inc., “TheSPARC Arch
itecture Manual Version
8”,Prentice−Hall, Inc., p
p.241−259, 1992」に記載のSPARC
のメモリマップドユニットのアーキテクチャ(公知例4
と呼ぶ)は、最大3段の階層構成のアドレス変換テーブ
ルを用いて仮想アドレスを実アドレスに変換する。しか
し、ルートポインタまたは1段目または2段目のテーブ
ルエントリから実ページアドレスを得て完了するアドレ
ス変換も可能になっている。ルートポインタ、1段目、
2段目、3段目のいずれかでアドレス変換が完了する
と、仮想ページサイズはそれぞれ4GB、16MB、2
56KB、4KBとなる。各テーブルエントリは、当該
エントリに実ページアドレスが保持されているかどうか
を示す情報を持つ。従って、領域ごとにきめ細かく仮想
ページサイズを設定することができる。アドレス変換バ
ッファの無効化命令は、無効化する仮想アドレスと前記
3種類の仮想ページサイズのいずれかを指定する。無効
化命令はアドレス変換バッファ中の指定仮想アドレスと
仮想ペーサイズから定まる仮想記憶領域に対応するエン
トリを全て無効化する。しかし、指定できる仮想ページ
サイズはアドレス変換機構がサポートする4種類のサイ
ズである。
[0005] The document "SPARC International"
nal, Inc. , “TheSPARC Arch
item Manual Version
8 ", Prentice-Hall, Inc., p.
p. 241-259, 1992 ".
Memory-mapped unit architecture (known example 4)
) Converts a virtual address into a real address using an address conversion table having a hierarchical structure of up to three levels. However, it is also possible to complete the address conversion by obtaining the real page address from the root pointer or the table entry of the first or second stage. Route pointer, first row,
When the address conversion is completed in any of the second and third stages, the virtual page sizes become 4 GB, 16 MB, 2
56 KB, 4 KB. Each table entry has information indicating whether a real page address is held in the entry. Therefore, the virtual page size can be set finely for each area. The instruction to invalidate the address translation buffer designates a virtual address to be invalidated and any one of the three types of virtual page sizes. The invalidation instruction invalidates all entries in the address translation buffer corresponding to the virtual storage area determined by the specified virtual address and the virtual page size. However, the virtual page sizes that can be specified are four types of sizes supported by the address translation mechanism.

【0006】[0006]

【発明が解決しようとする課題】公知例1のコンピュー
タシステムの仮想記憶アーキテクチャは、4KBの単一
の仮想ページサイズのみをサポートしている。また、公
知例2もページサイズの拡張は特に開示されておらず、
ページサイズは4KBである。これらの公知例には以下
の問題点がある。
The virtual storage architecture of the computer system of the prior art 1 supports only a single virtual page size of 4 KB. Known example 2 also does not specifically disclose expansion of the page size.
The page size is 4 KB. These known examples have the following problems.

【0007】第1の問題点は、4KBのような比較的小
さい単一ページサイズでは、アドレス変換テーブルに要
する実記憶量、仮想ページの管理に要するCPUオーバ
ヘッド、ページングのI/Oオーバヘッドが増大するこ
とである。小ページサイズでは大ページサイズに比べて
ページ数が多くなるので、ページ数に比例して必要な資
源やオーバヘッドが増大する。特に公知例2の64ビッ
トアーキテクチャのような大容量仮想記憶では、この問
題がより顕著となる。
The first problem is that, with a relatively small single page size such as 4 KB, the amount of real storage required for the address translation table, the CPU overhead required for managing virtual pages, and the paging I / O overhead increase. That is. Since the number of pages is larger in the small page size than in the large page size, necessary resources and overhead increase in proportion to the number of pages. In particular, in a large-capacity virtual memory such as the 64-bit architecture of the publicly known example 2, this problem becomes more remarkable.

【0008】第2の問題点は、応用プログラムが扱うデ
ータのブロックサイズは単一ではなく多様であり、一つ
のページサイズではコンピュータシステム上で実行され
る各種の応用プログラムを効率的にまたは高速に処理で
きないことである。例えば、オンライントランザクショ
ン処理では、データベースのデータを仮想記憶に持って
くるブロックサイズは一般に8KB程度であり、しかも
仮想記憶のアクセスパターンはブロックとしてはほとん
どランダムアクセスとなる。この場合は、小ページサイ
ズが望ましい。小ページサイズであれば、アクセス中の
データブロックに必要な実記憶量は小さくでき、2次記
憶装置から実記憶装置へのデータ転送量も削減できるた
め処理性能が向上する。一方、科学技術計算では、仮想
記憶に置いた大きな配列をほぼシーケンシャルにアクセ
スすることが多い。この場合は、1MB以上の大ページ
サイズが望ましい。大ページサイズであれば、仮想記憶
のページフォールト割り込みにともなう2次記憶装置か
ら実記憶装置へのデータ転送の回数を削減でき、データ
転送の回数に比例して生じるオーバヘッドとデータ転送
待ち時間を削減できるため、処理性能が向上する。ま
た、最近のデータウェアハウスのようなデータベース処
理では、上記二例の中間的なサイズである数10KB程
度から数100KBのブロックサイズを用いる。
A second problem is that the block size of data handled by an application program is not single, but various, and one page size can efficiently or rapidly execute various application programs executed on a computer system. It cannot be processed. For example, in online transaction processing, a block size for bringing database data to virtual storage is generally about 8 KB, and the access pattern of virtual storage is almost random access as a block. In this case, a small page size is desirable. With a small page size, the actual storage required for the data block being accessed can be reduced and the amount of data transferred from the secondary storage to the real storage can be reduced, thus improving processing performance. On the other hand, in science and technology calculations, large arrays placed in virtual storage are often accessed almost sequentially. In this case, a large page size of 1 MB or more is desirable. With a large page size, the number of data transfers from the secondary storage device to the real storage device due to a virtual memory page fault interrupt can be reduced, and overhead and data transfer waiting time generated in proportion to the number of data transfers are reduced. As a result, processing performance is improved. In a database process such as a recent data warehouse, a block size of about several tens KB to several hundred KB, which is an intermediate size between the above two examples, is used.

【0009】公知例3と公知例4は、複数の仮想ページ
サイズを一つの仮想記憶空間で実現して、応用プログラ
ムの仮想記憶利用の多様性に対応しようというものであ
る。公知例3は、複数の仮想ページサイズのためのアド
レス変換バッファを開示しているが、アドレス変換テー
ブルなどの仮想記憶装置に必要なその他の手段について
は開示していない。公知例4は、複数の仮想ページサイ
ズのためのアドレス変換テーブルを開示している。これ
らの公知例を組み合わせたとしても以下の問題点があ
る。
Known examples 3 and 4 are intended to realize a plurality of virtual page sizes in one virtual storage space to cope with the variety of virtual storage utilization of application programs. Known example 3 discloses an address translation buffer for a plurality of virtual page sizes, but does not disclose other means necessary for a virtual storage device such as an address translation table. Known example 4 discloses an address conversion table for a plurality of virtual page sizes. Even if these known examples are combined, there are the following problems.

【0010】第3の問題点は、公知例4の仮想ページサ
イズ指定の領域単位が細かすぎることからくるオペレー
ティングシステム(以降OSと略す)の管理オーバヘッ
ド増大である。アドレス変換テーブル全ての有効エント
リに、当該エントリに実ページアドレスが保持されてい
るかどうかを示すフラグを設定しなければならず、OS
の管理オーバヘッドが増大する。ほとんどの応用では、
2GBような大きな領域単位での一括した仮想ページサ
イズ指定ができれば十分なことが多い。例えば、単一の
仮想ページサイズがほとんどである既存の32ビットア
ーキテクチャのコンピュータシステムを64ビットに拡
張しようとした場合も、従来の32ビットアーキテクチ
ャの仮想記憶容量である2GBまたは4GB未満のアド
レスは従来仮想ページサイズの4KBとし、その上の仮
想記憶領域のページサイズを拡張すると互換性と性能向
上の両立が図れる。
A third problem is an increase in the management overhead of an operating system (hereinafter abbreviated as OS) due to the fact that the area unit for specifying the virtual page size in the prior art 4 is too small. A flag indicating whether or not a real page address is held in the entry must be set in all valid entries of the address conversion table, and the OS
Management overhead increases. For most applications,
It is often sufficient if the virtual page size can be specified collectively in a large area unit such as 2 GB. For example, even if an existing 32-bit architecture computer system in which a single virtual page size is mostly used is to be expanded to 64 bits, an address of less than 2 GB or 4 GB, which is the virtual storage capacity of the conventional 32-bit architecture, is conventionally used. When the virtual page size is set to 4 KB and the page size of the virtual storage area on the virtual page size is expanded, compatibility and improvement in performance can be achieved.

【0011】第4の問題点は、公知例3と公知例4も仮
想ページサイズの種類が少なく、応用プログラムの多様
な要求に応えられないことである。公知例4でも、4G
B、16MB、256KB、4KBとページサイズの間
隔が離れすぎている。仮想ページサイズの種類を単純に
増やすと、性能にクリティカルなアドレス変換バッファ
での処理遅延や実装量の増大につながってしまう。
A fourth problem is that the known examples 3 and 4 also have a small number of virtual page sizes and cannot meet various demands of application programs. Even in the known example 4, 4G
B, 16 KB, 256 KB, 4 KB and the page size are too far apart. Simply increasing the type of the virtual page size leads to a processing delay in the address translation buffer that is critical for performance and an increase in the amount of mounting.

【0012】[0012]

【課題を解決するための手段】上記課題を解決するため
に、本発明は、階層構成の最下位の少なくとも2段以上
のm段の変換テーブルによって表わされる仮想記憶領域
の単位(リージョンと呼ぶ)ごとに、最上位のテーブル
から数えて(n−m+1)段目からn段目のアドレス変換
テーブルのうち何段目のテーブルエントリから変換結果
の実記憶ページアドレスを読み出すか、すなわち変換テ
ーブルの段数によって定まる複数の仮想記憶ページサイ
ズのうちのいずれかを指定するページサイズ指定手段
と、前記ページサイズ指定手段に従って仮想アドレスを
実アドレスに変換するアドレス変換手段を提供すること
によって、多重ページサイズの仮想記憶装置がページサ
イズ指定のオーバヘッドが少なくでき、前記第1の問題
点と第3の問題点が解決される。
In order to solve the above-mentioned problems, the present invention provides a unit (called a region) of a virtual storage area represented by a conversion table having at least two or more lowermost m stages in a hierarchical structure. The number of table entries from the (n−m + 1) th to nth address translation tables counted from the top table to read the actual storage page address of the translation result, that is, the number of translation table rows Page size specifying means for specifying any one of a plurality of virtual storage page sizes determined by the following, and address conversion means for converting a virtual address to a real address in accordance with the page size specification means. The storage device can reduce the overhead of specifying the page size, and the first and third problems are solved. It is determined.

【0013】また、本発明は、仮想アドレスを実アドレ
スに変換するためのアドレス変換テーブル手段と、前記
アドレス変換テーブル手段が提供する仮想記憶ページサ
イズの倍数であるサイズを持つ拡張仮想記憶ページのア
ドレス変換情報設定命令に応答して、前記命令が指定す
る一つの拡張仮想記憶ページのアドレスに対応する一つ
または複数のアドレス変換テーブルエントリに、前記命
令が指定するアドレス変換情報を設定する拡張仮想記憶
ページ設定手段を提供することによって、アドレス変換
機構の仮想ページサイズの種類を少なくしたまま、さら
に種類の多い拡張仮想ページサイズをプログラムに提供
でき、前記第2の問題点と第4の問題点が解決される。
Further, the present invention provides an address translation table means for translating a virtual address into a real address, and an address of an extended virtual storage page having a size which is a multiple of the virtual storage page size provided by the address translation table means. In response to a translation information setting instruction, an extended virtual memory that sets address translation information specified by the instruction in one or more address translation table entries corresponding to the address of one extended virtual memory page specified by the instruction By providing the page setting means, it is possible to provide the program with more types of extended virtual page sizes while keeping the types of virtual page sizes of the address translation mechanism small, and the second and fourth problems are solved. Will be resolved.

【0014】[0014]

【発明の実施の形態】以下、本発明の実施の一形態を、
図面を参照しながら説明する。なお、本明細書中では
「発明の実施の形態」を「実施例」と呼ぶことにする。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, an embodiment of the present invention will be described.
This will be described with reference to the drawings. In the present specification, “embodiments of the invention” will be referred to as “examples”.

【0015】図1から図5を用いて、本発明の一実施例
を説明する。本実施例は、従来の技術でも述べた文献
「IBM Corporation, “Enterp
rise System Architecture/
390 Principlesof Operatio
n”, IBM Corporation , pp.
3−1−3−51, 1994」に記載のメインフレー
ムの仮想記憶アーキテクチャをベースに、仮想アドレス
を63ビットに、汎用レジスタを64ビットに拡張し、
多重の仮想ページサイズをプログラムに提供するコンピ
ュータシステムの仮想記憶装置である。
An embodiment of the present invention will be described with reference to FIGS. This embodiment is based on the literature “IBM Corporation,“ Enterp.
rise System Architecture /
390 Principlesof Operation
n ", IBM Corporation, pp.
3-1-3-51, 1994, a virtual address is extended to 63 bits and a general-purpose register is extended to 64 bits based on the mainframe virtual memory architecture described in
A virtual storage device of a computer system that provides a program with multiple virtual page sizes.

【0016】図2は、本実施例の仮想記憶と実記憶の構
成図である。まず、図2を用いて、本実施例がプログラ
ムに提供する多重仮想ページサイズの機能を説明する。
FIG. 2 is a configuration diagram of the virtual storage and the real storage of the present embodiment. First, the function of the multiple virtual page size provided to the program by the present embodiment will be described with reference to FIG.

【0017】仮想記憶空間100は2の63乗バイトの
容量を有し、2GBの大きさの仮想記憶領域であるリー
ジョンごとにアドレス変換機構103がサポートする仮
想ページサイズを選択できる。アドレス変換機構103
がプログラムに提供する仮想ページサイズは、4KBと
1MBの2種類である。さらに、拡張ページ命令と呼ぶ
仮想記憶管理のための一連の制御命令がプログラムに提
供する拡張仮想ページサイズがある。拡張仮想ページサ
イズは拡張ページ命令のオペランドとして指定し、4K
Bの倍数の大きさが指定できる。拡張仮想ページは、4
KBまたは1MBの仮想ページを複数個まとめたもので
あり、拡張ページ命令によってアドレス変換テーブルの
拡張仮想ページに対応する複数個エントリを一命令で設
定することで実現される。図2の例では、リージョン1
10とリージョン111の仮想ページサイズは4KB、
リージョン112の仮想ページサイズは1MBである。
さらに、リージョン111は拡張ページ命令により32
KBの拡張仮想ページとして設定している。この例では
リージョン111全体を32KBとしているが、拡張ペ
ージ命令を用いれば、リージョン111内に32KBと
異なるサイズの拡張仮想ページを設定することもでき
る。実記憶装置101は、キー記憶装置102のエント
リを持つ単位、すなわち実ページサイズにより、4KB
ページ領域113と1MBページ領域114の二つの領
域に分けられている。4KBページ領域113は、実記
憶の4KBごとに対応するエントリを持つキー記憶11
5を備えており、1MBページ領域113は、実記憶の
1MBごとに対応するエントリを持つキー記憶116を
備えている。4KBページ領域113と1MBページ領
域113の実記憶量は、システムごとに可変とする。ア
ドレス変換機構103により、4KBの仮想ページは4
KBページ領域113の実ページに、1MBの仮想ペー
ジは1MBページ領域114の実ページにマッピングさ
れる。また、32KBサイズの拡張仮想ページは、ペー
ジテーブル26の8個のエントリにより、4KBページ
領域113の8個の実ページにマッピングされる。ペー
ジテーブル26の8個のエントリは、一命令の拡張ペー
ジ命令により設定できる。
The virtual storage space 100 has a capacity of 2 63 bytes, and can select a virtual page size supported by the address translation mechanism 103 for each region which is a virtual storage area of 2 GB. Address translation mechanism 103
Provides two types of virtual page sizes, 4 KB and 1 MB. Further, there is an extended virtual page size provided to a program by a series of control instructions for virtual memory management called an extended page instruction. The extended virtual page size is specified as an operand of the extended page instruction, and 4K
A multiple of B can be specified. The extended virtual page is 4
It is a collection of a plurality of KB or 1 MB virtual pages, and is realized by setting a plurality of entries corresponding to the extended virtual page of the address translation table with one instruction by an extended page instruction. In the example of FIG. 2, region 1
The virtual page size of 10 and region 111 is 4 KB,
The virtual page size of the region 112 is 1 MB.
Further, the region 111 is set to 32
It is set as a KB extended virtual page. In this example, the entire region 111 is 32 KB. However, if an extended page command is used, an extended virtual page having a size different from 32 KB can be set in the region 111. The real storage device 101 has a size of 4 KB according to a unit having an entry of the key storage device 102, that is, a real page size.
It is divided into two areas: a page area 113 and a 1 MB page area 114. The 4 KB page area 113 stores the key storage 11 having an entry corresponding to every 4 KB of the real storage.
5, and the 1 MB page area 113 includes a key storage 116 having an entry corresponding to each 1 MB of the real storage. The actual storage amounts of the 4 KB page area 113 and the 1 MB page area 113 are variable for each system. Due to the address translation mechanism 103, the 4 KB virtual page becomes 4
A 1 MB virtual page is mapped to a real page in the 1 MB page area 114 on a real page in the KB page area 113. The extended virtual page of 32 KB size is mapped to eight real pages in the 4 KB page area 113 by eight entries of the page table 26. The eight entries of the page table 26 can be set by an extended page instruction of one instruction.

【0018】次に、図1と図3を用いて本実施例のアド
レス変換機構103の構成と動作を説明する。図1の構
成を説明する。アドレス変換機構103の主な構成要素
は、命令の実行時に生成された仮想アドレスを保持する
仮想アドレスレジスタ10、4KBページ用と1MBペ
ージ用の二つのアドレス変換バッファ(TLB)21,
22、4段の階層構成のアドレス変換テーブルである第
1リージョンテーブル(FRT)23、第2リージョン
テーブル(SRT)24、セグメントテーブル(ST)
25、ページテーブル(PT)26、そして、実アドレ
スレジスタ30である。TLBは、実記憶装置に格納さ
れるアドレス変換テーブルを参照して得られるアドレス
変換情報を実記憶装置より高速にアクセスできるメモリ
と回路にキャッシュして、アドレス変換を高速化する機
構である。図3は、第1リージョンテーブル・オリジン
・レジスタ(FRTOR)20、FRTエントリ(FR
TE)151、SRTエントリ(SRTE)152、S
Tエントリ(STE)153、PTエントリ(PTE)
154のフォーマットを示す。 PTE以外は下位のテ
ーブル・オリジン、すなわちテーブルの先頭アドレス1
55,157,159,162とテーブル長156,1
58,161,163を有する。 FRTOR150以
外はエントリの無効ビット(I)を有し、STE153
はセグメントが空間間の共通領域であることを示す共通
ビット(C)を有する。さらに、SRTE152は、対
応するリージョンのページサイズが1MBであることを
示す大ページビット(L)160を有する。 PTE1
54は実ページアドレス(PFRA)164を有する。
Lビット160がオンの場合は、STE153のフィー
ルド162がPFRAとなり、下位のPT26は存在し
ない。これらのアドレス変換テーブルは仮想アドレスの
部分ビット列をインデクスとして用いる。
Next, the configuration and operation of the address translation mechanism 103 of this embodiment will be described with reference to FIGS. The configuration of FIG. 1 will be described. The main components of the address translation mechanism 103 are a virtual address register 10 for holding a virtual address generated at the time of execution of an instruction, two address translation buffers (TLBs) 21 for a 4 KB page and a 1 MB page,
22, a first region table (FRT) 23, a second region table (SRT) 24, and a segment table (ST), which are address conversion tables having a four-level hierarchical structure.
25, a page table (PT) 26, and a real address register 30. The TLB is a mechanism for accelerating address translation by caching address translation information obtained by referring to an address translation table stored in a real storage device in a memory and a circuit that can be accessed faster than the real storage device. FIG. 3 shows the first region table origin register (FRTOR) 20 and the FRT entry (FR
TE) 151, SRT entry (SRTE) 152, S
T entry (STE) 153, PT entry (PTE)
154 shows the format. Except for PTE, the lower table origin, that is, the head address 1 of the table
55,157,159,162 and table length 156,1
58, 161, and 163. Except for the FRTOR 150, it has an invalid bit (I) of the entry, and the STE 153
Has a common bit (C) indicating that the segment is a common area between spaces. Further, the SRTE 152 has a large page bit (L) 160 indicating that the page size of the corresponding region is 1 MB. PTE1
54 has a real page address (PFRA) 164.
When the L bit 160 is on, the field 162 of the STE 153 becomes PFRA, and the lower PT 26 does not exist. These address conversion tables use a partial bit string of the virtual address as an index.

【0019】図1で動作を説明する。仮想アドレスレジ
スタ10の上位51ビットが表わす仮想ページアドレス
は、二つのアドレス変換バッファ(TLB)21,22
に入力される。いずれかのTLBにヒットすれば、仮想
ページアドレスの仮想ページに割り当てられている実ペ
ージの実ページアドレス(PFRA)がANDゲート4
0,41のいずれかから出力され、ORゲート44を介
して実アドレスレジスタ30の上位51ビットに設定さ
れる。仮想アドレスレジスタ10の変位(D)12ビッ
トは、実アドレスレジスタ30の下位12ビットにその
まま設定される。このように TLBにヒットする場合
は、実記憶装置のアドレス変換テーブル23,24,2
5,26へのアクセスはなく、高速にアドレス変換が完
了する。いずれのTLBにもヒットしない場合は、実記
憶装置にあるアドレス変換テーブルを参照してアドレス
変換を行う。 FRTOR20と仮想アドレスレジスタ
10のFRXからアドレスを求めてFRTE151が読
み出され、SRTO157とSRXからアドレスを求め
てSRTE152が読み出される。 STO159とS
Xからアドレスを求めてSTE153が読み出される。
Lビット160がオンの場合は1MBページリージョン
であるので、STE153のフィールド162のPFR
Aが実アドレスレジスタ30の上位51ビットに設定さ
れる。 Iビットがオンならば、その時点でページ例外
を発生させる。Lビット160がオフの場合は4KBペ
ージリージョンであるので、 PTO162とPXから
アドレスを求めてPTE15がを読み出され、 PTE
15のフィールド164のPFRAが実アドレスレジス
タ30の上位51ビットに設定される。 Iビットがオ
ンならば、その時点でページ例外を発生させる。仮想ア
ドレスレジスタ10の変位(D)12ビットは、実アド
レスレジスタ30の下位12ビットにそのまま設定され
る。アクセスしたエントリ151,152のいずれかの
Iビットがオンであれば、その時点でアドレス変換例外
を発生させる。
The operation will be described with reference to FIG. The virtual page address represented by the upper 51 bits of the virtual address register 10 has two address translation buffers (TLBs) 21 and 22.
Is input to If any TLB is hit, the real page address (PFRA) of the real page assigned to the virtual page of the virtual page address is changed to the AND gate 4
It is output from one of 0 and 41, and is set to the upper 51 bits of the real address register 30 via the OR gate 44. The 12 bits of displacement (D) of the virtual address register 10 are set to the lower 12 bits of the real address register 30 as they are. When the TLB is hit as described above, the address conversion tables 23, 24, and 2 of the real storage device are used.
There is no access to 5, 26, and address conversion is completed at high speed. If no hit occurs in any of the TLBs, the address conversion is performed with reference to an address conversion table in the real storage device. An address is obtained from the FRTOR 20 and the FRX of the virtual address register 10 to read the FRTE 151, and an address is obtained from the SRTO 157 and the SRX to read the SRTE 152. STO159 and S
The STE 153 is read for an address from X.
If the L bit 160 is on, it is a 1 MB page region, so the PFR in the field 162 of the STE 153
A is set in the upper 51 bits of the real address register 30. If the I bit is on, a page exception is generated at that point. When the L bit 160 is off, the region is a 4 KB page region. Therefore, an address is obtained from the PTO 162 and PX, and the PTE 15 is read out.
The PFRA of the fifteen fields 164 is set in the upper 51 bits of the real address register 30. If the I bit is on, a page exception is generated at that point. The 12 bits of displacement (D) of the virtual address register 10 are set to the lower 12 bits of the real address register 30 as they are. If any of the I bits of the accessed entries 151 and 152 is on, an address translation exception is generated at that time.

【0020】次に、図4と図5を用いて本実施例の拡張
ページ命令の構成と動作を説明する。図4は、拡張ペー
ジ設定命令および無効化命令の処理機構の構成図であ
る。
Next, the configuration and operation of the extended page instruction of this embodiment will be described with reference to FIGS. FIG. 4 is a configuration diagram of a processing mechanism for an extended page setting instruction and an invalidation instruction.

【0021】拡張ページ設定命令(SXPTE)は、拡
張仮想ページのアドレス変換情報を拡張仮想ページのア
ドレスに対応する一つまたは複数のSTE153または
PTE154に設定する命令である。二つの汎用レジス
タ番号をオペランドとして指定する命令形式であるが、
R1レジスタとR2レジスタ、さらにR2の次の番号の
レジスタであるR2+1レジスタと三つのオペランドを
指定する。R1レジスタ200には拡張仮想ページのP
TE154データ、R2レジスタ201には設定対象の
ST25、PT26を指すSRTE152データ、R2
+1レジスタ202には拡張仮想ページアドレスを表わ
すSX204とPX205と拡張仮想ページサイズ(P
S)206を設定しておく。PS206は、4KBの約
数で指定する。
The extended page setting instruction (SXPTE) is an instruction for setting the address conversion information of the extended virtual page in one or a plurality of STEs 153 or PTEs 154 corresponding to the address of the extended virtual page. The instruction format specifies two general-purpose register numbers as operands.
An R1 register and an R2 register, and an R2 + 1 register, which is a register next to R2, and three operands are specified. The R1 register 200 contains the P of the extended virtual page.
In the TE154 data, the R2 register 201 stores SRTE152 data indicating the ST25 and PT26 to be set, and R2
In the +1 register 202, SX 204 and PX 205 representing the extended virtual page address and the extended virtual page size (P
S) 206 is set in advance. The PS 206 is specified by a divisor of 4 KB.

【0022】SXPTEの処理機構は、処理が開始され
ると、 R2レジスタ201のLビット203がオンな
らば、1MB仮想ページ用の処理を行うSXPTE1M
マイクロプログラム210が起動される。マイクロプロ
グラム210は、 R2レジスタ201のSTOとR2
+1レジスタ202のSX204から拡張仮想ページに
対応する先頭STE153のアドレスを求める。先頭S
TE153からPS206が指定する範囲のSTEま
で、R1レジスタ200のPTE154データを書き込
んでいく。ただし、2番目以降のSTEからは、PFR
Aを1MBずつ増加させて書き込んでいく。こうするこ
とによって、拡張仮想ページのための一つのPTEと同
じように、設定された複数のSTE153は拡張仮想ペ
ージ中の仮想アドレスを正しい実アドレスに変換でき
る。 R2レジスタ201のLビット203がオフなら
ば、4KB仮想ページ用の処理を行うSXPTE4Kマ
イクロプログラム211が起動される。マイクロプログ
ラム211は、 R2レジスタ201のSTOとR2+
1レジスタ202のSX204とPX205から拡張仮
想ページに対応する先頭PTE154のアドレスを求め
る。先頭PTE154からPS206が指定する範囲の
PTEまで、R1レジスタ200のPTE154データ
を書き込んでいく。ただし、2番目以降のPTEから
は、PFRAを4KBずつ増加させて書き込んでいく。
When the processing is started, if the L bit 203 of the R2 register 201 is on, the processing mechanism of the SXPTE performs the processing for the 1 MB virtual page.
The micro program 210 is started. The microprogram 210 calculates the STO of the R2 register 201 and R2
The address of the leading STE 153 corresponding to the extended virtual page is obtained from the SX 204 of the +1 register 202. First S
The PTE 154 data of the R1 register 200 is written from the TE 153 to the STE specified by the PS 206. However, from the second and subsequent STEs, PFR
A is written in increments of 1 MB. By doing so, the set plurality of STEs 153 can convert the virtual address in the extended virtual page to the correct real address, like one PTE for the extended virtual page. If the L bit 203 of the R2 register 201 is off, the SXPTE4K microprogram 211 that performs processing for a 4 KB virtual page is started. The microprogram 211 calculates the STO of the R2 register 201 and R2 +
The address of the leading PTE 154 corresponding to the extended virtual page is obtained from SX 204 and PX 205 of one register 202. The PTE 154 data of the R1 register 200 is written from the first PTE 154 to the PTE specified by the PS 206. However, from the second and subsequent PTEs, PFRA is incremented by 4 KB and written.

【0023】拡張ページ無効化命令(IXPTE)は、
拡張仮想ページのアドレスに対応する一つまたは複数の
STE153またはPTE154とTLB21,22エ
ントリを無効化する命令である。二つの汎用レジスタ番
号をオペランドとして指定する命令形式であるが、 S
XPTEとの対応をとるため、R2レジスタ、さらにR
2の次の番号のレジスタであるR2+1レジスタという
二つのオペランドを指定する。 R2レジスタ201に
は無効化対象のST25、PT26を指すSRTE15
2データ、R2+1レジスタ202には拡張仮想ページ
アドレスを表わすSX204とPX205と拡張仮想ペ
ージサイズ(PS)206を設定しておく。PS206
は、4KBの約数で指定する。
The extended page invalidation instruction (IXPTE) is
This is an instruction to invalidate one or more STEs 153 or PTEs 154 and TLBs 21 and 22 entries corresponding to the address of the extended virtual page. The instruction format specifies two general-purpose register numbers as operands.
The R2 register and R
Two operands, the R2 + 1 register, which is the next numbered register, are specified. SRTE15 indicating ST25 and PT26 to be invalidated is stored in the R2 register 201.
SX 204, PX 205, and extended virtual page size (PS) 206 representing an extended virtual page address are set in the 2 data, R2 + 1 register 202. PS206
Is specified as a divisor of 4 KB.

【0024】IXPTEの処理機構は、処理が開始され
ると、 R2レジスタ201のLビット203がオンな
らば、1MB仮想ページ用の処理を行うIXPTE1M
マイクロプログラム212が起動される。マイクロプロ
グラム212は、 R2レジスタ201のSTOとR2
+1レジスタ202のSX204から拡張仮想ページに
対応する先頭STE153のアドレスを求める。先頭S
TE153からPS206が指定する範囲のSTEまで
STE153のIビットをオンにし、かつ該当STEの
仮想アドレスに対応する1MB用および4KB用TLB
22,21のエントリを無効化していく。R2レジスタ
201のLビット203がオフならば、4KB仮想ペー
ジ用の処理を行うIXPTE4Kマイクロプログラム2
13が起動される。マイクロプログラム213は、 R
2レジスタ201のSTOとR2+1レジスタ202の
SX204とPX205から拡張仮想ページに対応する
先頭PTE154のアドレスを求める。先頭PTE15
4からPS206が指定する範囲のPTEまでIビット
をオンにして、かつ該当PTEの仮想アドレスに対応す
る1MB用および4KB用TLB22,21のエントリ
を無効化しいく。
When the processing is started, if the L bit 203 of the R2 register 201 is on, the IXPTE processing mechanism performs processing for a 1 MB virtual page.
The micro program 212 is started. The microprogram 212 calculates the STO of the R2 register 201 and R2
The address of the leading STE 153 corresponding to the extended virtual page is obtained from the SX 204 of the +1 register 202. First S
Turn on the I bit of STE 153 from TE 153 to STE in the range specified by PS 206, and TLB for 1MB and 4KB corresponding to the virtual address of the STE
The entries 22 and 21 are invalidated. If the L bit 203 of the R2 register 201 is off, an IXPTE4K microprogram 2 that performs processing for a 4 KB virtual page
13 is started. The micro program 213 is
The address of the leading PTE 154 corresponding to the extended virtual page is obtained from the STO of the second register 201 and the SX 204 and PX 205 of the R2 + 1 register 202. Top PTE15
From 4 to the PTE in the range specified by the PS 206, the I bit is turned on, and the entries of the 1MB and 4KB TLBs 22 and 21 corresponding to the virtual address of the PTE are invalidated.

【0025】図5は、拡張ページキー操作命令の構成図
である。
FIG. 5 is a configuration diagram of the extended page key operation command.

【0026】拡張ページキー設定命令(SXSKE)
は、拡張実ページのアクセス保護情報を拡張実ページの
アドレスに対応する一つまたは複数のキー記憶115,
116のエントリに設定する命令である。二つの汎用レ
ジスタ番号をオペランドとして指定する命令形式であ
り、R1レジスタとR2レジスタの二つのオペランドを
指定する。R1レジスタ220には拡張仮想ページのア
クセス保護情報(ACCFRC)223、R2レジスタ
221には設定対象のキー記憶エントリを指す拡張実ペ
ージアドレスを表わすPFRA224と拡張実ページサ
イズ(PFS)225を設定しておく。PFS225
は、4KBの約数で指定する。
Extended page key setting command (SXSKE)
Stores the access protection information of the extended real page in one or a plurality of key storages 115,
This is an instruction to be set in the 116 entry. This is an instruction format for designating two general-purpose register numbers as operands, and designates two operands of an R1 register and an R2 register. The access protection information (ACCCFRC) 223 of the extended virtual page is set in the R1 register 220, and the PFRA 224 and the extended real page size (PFS) 225 indicating the extended real page address indicating the key storage entry to be set are set in the R2 register 221. deep. PFS225
Is specified as a divisor of 4 KB.

【0027】SXSKEの処理機構は、処理が開始され
ると、SXSKEマイクロプログラム232が起動され
る。マイクロプログラム232は、 R2レジスタ22
1のPFRA224が指す先頭キー記憶エントリからP
FS225が指定する範囲のキー記憶エントリまで、R
1レジスタ220のアクセス保護情報223を書き込ん
でいく。設定対象のキー記憶エントリが、4KB領域キ
ー記憶115ならば設定するエントリ数はPFS225
と等しく、1MB領域キー記憶116ならば設定するエ
ントリ数はPFS225を256で割った数である。
When the SXSKE processing mechanism starts processing, the SXSKE microprogram 232 is started. The microprogram 232 stores the R2 register 22
1 from the first key storage entry pointed to by the PFRA 224
Up to the key storage entry in the range specified by the FS 225
The access protection information 223 of one register 220 is written. If the key storage entry to be set is the 4 KB area key storage 115, the number of entries to be set is PFS 225.
In the case of 1 MB area key storage 116, the number of entries to be set is the number obtained by dividing PFS 225 by 256.

【0028】拡張ページキーリセット命令(RXRB
E)は、拡張実ページのアドレスに対応する一つまたは
複数のキー記憶115,116のエントリの参照ビット
(R)をリセットする命令である。二つの汎用レジスタ
番号をオペランドとして指定する命令形式であるが、R
2レジスタのオペランドのみを指定する。 R2レジス
タ221には設定対象のキー記憶エントリを指す拡張実
ページアドレスを表わすPFRA224と拡張実ページ
サイズ(PFS)225を設定しておく。PFS225
は、4KBの約数で指定する。
Extended page key reset command (RXRB
E) is an instruction to reset the reference bit (R) of one or more entries of the key storages 115 and 116 corresponding to the address of the extended real page. The instruction format specifies two general register numbers as operands.
Only the operand of two registers is specified. In the R2 register 221, a PFRA 224 indicating an extended real page address indicating a key storage entry to be set and an extended actual page size (PFS) 225 are set. PFS225
Is specified as a divisor of 4 KB.

【0029】RXRBEの処理機構は、処理が開始され
ると、RXRBEマイクロプログラム233が起動され
る。マイクロプログラム233は、 R2レジスタ22
1のPFRA224が指す先頭キー記憶エントリからP
FS225が指定する範囲のキー記憶エントリまで、ア
クセス保護情報223のRビットをリセットしていく。
設定対象のキー記憶エントリが、4KB領域キー記憶1
15ならば設定するエントリ数はPFS225と等し
く、1MB領域キー記憶116ならば設定するエントリ
数はPFS225を256で割った数である。
The RXRBE processing mechanism starts the RXRBE microprogram 233 when the processing is started. The microprogram 233 stores the R2 register 22
1 from the first key storage entry pointed to by the PFRA 224
The R bit of the access protection information 223 is reset until the key storage entry in the range specified by the FS 225.
The key storage entry to be set is 4 KB area key storage 1
If it is 15, the number of entries to be set is equal to PFS 225, and if it is 1 MB area key storage 116, the number of entries to be set is the number obtained by dividing PFS 225 by 256.

【0030】拡張ページキー挿入命令(IXSKE)
は、拡張実ページのアドレスに対応する一つまたは複数
のキー記憶115,116のエントリのアクセス保護情
報をレジスタに挿入する命令である。二つの汎用レジス
タ番号をオペランドとして指定する命令形式であり、R
1レジスタとR2レジスタの二つのオペランドを指定す
る。R1レジスタ220には1MB実ページ領域かどう
かを示すLビット222と拡張仮想ページのアクセス保
護情報(ACCFRC)223が挿入される。R2レジ
スタ221には設定対象のキー記憶エントリを指す拡張
実ページアドレスを表わすPFRA224と拡張実ペー
ジサイズ(PFS)225を設定しておく。PFS22
5は、4KBの約数で指定する。
Extended page key insertion instruction (IXSKE)
Is an instruction to insert the access protection information of one or more entries of the key storages 115 and 116 corresponding to the address of the extended real page into the register. An instruction format that specifies two general-purpose register numbers as operands.
Two operands, register 1 and register R2, are specified. An L bit 222 indicating whether the area is a 1 MB real page area and access protection information (ACCCFRC) 223 for an extended virtual page are inserted into the R1 register 220. In the R2 register 221, a PFRA 224 indicating an extended real page address indicating a key storage entry to be set and an extended actual page size (PFS) 225 are set. PFS22
5 is designated by a divisor of 4 KB.

【0031】IXSKEの処理機構は、処理が開始され
ると、IXSKEマイクロプログラム230が起動され
る。マイクロプログラム230は、 R2レジスタ22
1のPFRA224が指す先頭キー記憶エントリのアク
セス保護情報からアクセスキー(ACC)とフェッチビ
ット(F)が読み出されR1レジスタ220に挿入され
る。参照ビット(R)と変更ビット(C)については、
先頭キー記憶エントリからPFS225が指定する範囲
のキー記憶エントリまでのすべてのRビットの論理和と
すべてのCビットの論理和がR1レジスタ220に挿入
される。対象のキー記憶エントリが、4KB領域キー記
憶115ならば読み出すエントリ数はPFS225と等
しく、1MB領域キー記憶116ならば読み出すエント
リ数はPFS225を256で割った数である。
When the IXSKE processing mechanism starts processing, the IXSKE microprogram 230 is started. The microprogram 230 stores the R2 register 22
The access key (ACC) and the fetch bit (F) are read from the access protection information of the leading key storage entry pointed to by the PFRA 224 of 1 and inserted into the R1 register 220. Regarding the reference bit (R) and the change bit (C),
The logical sum of all the R bits and the logical sum of all the C bits from the first key storage entry to the key storage entry in the range specified by the PFS 225 are inserted into the R1 register 220. If the target key storage entry is the 4KB area key storage 115, the number of entries to be read is equal to the PFS 225. If the target key storage entry is the 1MB area key storage 116, the number of entries to be read is the number obtained by dividing the PFS 225 by 256.

【0032】[0032]

【発明の効果】本発明の仮想記憶装置によれば、大ペー
ジサイズと小ページサイズが混在する多重ページサイズ
の仮想記憶装置が少ないOSオーバヘッドでプログラム
に提供できるので、大容量仮想記憶においてコンピュー
タシステムの性能が向上するとともに仮想記憶管理に要
するメモリ資源も削減できる。さらに、アドレス変換テ
ーブルの段数を減らすことで拡張ページサイズを実現す
るので、新たな変換テーブルを設けることがないので、
ハードウェア量を削減することができる。
According to the virtual storage device of the present invention, a multi-page size virtual storage device in which a large page size and a small page size are mixed can be provided to a program with a small OS overhead. And the memory resources required for virtual storage management can be reduced. Furthermore, since an extended page size is realized by reducing the number of stages of the address conversion table, there is no need to provide a new conversion table, so that
The amount of hardware can be reduced.

【0033】また、本発明の仮想記憶装置によれば、ア
ドレス変換機構の仮想ページサイズの種類を少なくした
まま、さらに種類の多い拡張仮想ページサイズをプログ
ラムに提供でき、応用の多様なページサイズの要求に対
応できるので、応用プログラムの実行が高速化される。
Further, according to the virtual storage device of the present invention, it is possible to provide a program with more types of extended virtual page sizes while reducing the types of virtual page sizes of the address translation mechanism, and to provide various types of page sizes for various applications. Since the request can be satisfied, the speed of execution of the application program is increased.

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

【図1】本発明の一実施例のアドレス変換機構の構成
図。
FIG. 1 is a configuration diagram of an address translation mechanism according to an embodiment of the present invention.

【図2】本発明の一実施例の仮想記憶と実記憶の構成を
示す図。
FIG. 2 is a diagram showing a configuration of virtual storage and real storage according to an embodiment of the present invention.

【図3】本発明の一実施例のアドレス変換テーブルのフ
ォーマットを示す図。
FIG. 3 is a diagram showing a format of an address conversion table according to one embodiment of the present invention.

【図4】本発明の一実施例の拡張ページ設定命令および
無効化命令の処理機構の構成図。
FIG. 4 is a configuration diagram of a processing mechanism for an extended page setting instruction and an invalidation instruction according to an embodiment of the present invention.

【図5】本発明の一実施例の拡張ページキー操作命令の
処理機構の構成図。
FIG. 5 is a configuration diagram of a processing mechanism of an extended page key operation command according to one embodiment of the present invention.

【符号の説明】[Explanation of symbols]

10 仮想アドレスレジスタ 21,22 アドレス変換バッファ 23,24,25,26 アドレス変換テーブル 30 実アドレスレジスタ 100 仮想記憶空間 101 実記憶装置 102 キー記憶装置。 Reference Signs List 10 virtual address register 21, 22 address conversion buffer 23, 24, 25, 26 address conversion table 30 real address register 100 virtual storage space 101 real storage device 102 key storage device.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】コンピュータプログラムに対して仮想記憶
を提供し、仮想アドレスを実アドレスに変換するために
仮想アドレスの部分ビット列をインデクスとして用いる
少なくとも2段以上のn段の階層構成のアドレス変換テ
ーブル手段を有する仮想記憶装置であって、 階層構成の最下位の少なくとも2段以上のm段の変換テ
ーブルによって表わされる仮想記憶領域の単位であるリ
ージョンごとに、最上位のテーブルから数えて(n−m
+1)段目からn段目のアドレス変換テーブルのうち何
段目のテーブルエントリから変換結果の実記憶ページア
ドレスを読み出すかを指定する機能により変換テーブル
の段数によって定まる複数の仮想記憶ページサイズのう
ちのいずれかを指定するページサイズ指定手段と、 前記ページサイズ指定手段に従って仮想アドレスを実ア
ドレスに変換するアドレス変換手段とを有することを特
徴とする仮想記憶装置。
1. An address translation table means having a hierarchical structure of at least two or more stages, wherein virtual storage is provided for a computer program, and a partial bit sequence of the virtual address is used as an index for converting a virtual address into a real address. A virtual storage device having at least two stages at least in the lowest level of the hierarchical structure, and each region which is a unit of a virtual storage area represented by an m-level conversion table, counting from the highest level table (n−m
+1) Of a plurality of virtual storage page sizes determined by the number of stages of the conversion table by a function of designating from which table entry of the address conversion table of the stage from the nth stage the real storage page address of the conversion result is read A virtual storage device comprising: a page size specifying unit that specifies any one of the following: and an address conversion unit that converts a virtual address to a real address according to the page size specification unit.
【請求項2】前記リージョンは、32ビットまたは31
ビットで表わされるサイズである請求項1記載の仮想記
憶装置。
2. The region is 32 bits or 31 bits.
2. The virtual storage device according to claim 1, wherein the virtual storage device has a size represented by bits.
【請求項3】実記憶装置の領域ごとに、前記複数の仮想
記憶ページサイズのいずれかを選択し、選択したページ
サイズと等しいサイズを持つ実記憶ページごとにアクセ
ス保護情報を保持するエントリを有するキー記憶手段を
さらに有する請求項1記載の仮想記憶装置。
3. An entry for selecting one of the plurality of virtual storage page sizes for each area of the real storage device and holding access protection information for each real storage page having a size equal to the selected page size. 2. The virtual storage device according to claim 1, further comprising key storage means.
【請求項4】コンピュータプログラムに対して仮想記憶
を提供する仮想記憶装置であって、 仮想アドレスを実アドレスに変換するためのアドレス変
換テーブル手段と、 前記アドレス変換テーブル手段が提供する仮想記憶ペー
ジサイズの倍数であるサイズを持つ拡張仮想記憶ページ
のアドレス変換情報設定命令に応答して、前記命令が指
定する一つの拡張仮想記憶ページのアドレスに対応する
一つまたは複数のアドレス変換テーブルエントリに、前
記命令が指定するアドレス変換情報を設定する拡張仮想
記憶ページ設定手段とを有することを特徴とする仮想記
憶装置。
4. A virtual storage device for providing virtual storage to a computer program, comprising: an address conversion table for converting a virtual address to a real address; and a virtual storage page size provided by the address conversion table. In response to an instruction to set the address translation information of an extended virtual memory page having a size that is a multiple of, the one or more address translation table entries corresponding to the address of one extended virtual memory page specified by the instruction include A virtual storage page setting means for setting address translation information specified by the instruction.
【請求項5】前記アドレス変換テーブル手段は、アドレ
ス変換情報のキャッシュを保持し主記憶より高速にアク
セスできるメモリ回路で構成されるアドレス変換バッフ
ァと、 前記アドレス変換テーブル手段が提供する仮想記憶ペー
ジサイズの倍数であるサイズを持つ拡張仮想記憶ページ
のアドレス変換情報無効化命令に応答して、前記命令が
指定する一つの拡張仮想記憶ページのアドレスに対応す
る一つまたは複数のアドレス変換バッファエントリのア
ドレス変換情報を無効化する拡張仮想記憶ページ無効化
手段とをさらに有する請求項4記載の仮想記憶装置。
5. The address translation table means, comprising: an address translation buffer comprising a memory circuit which holds a cache of address translation information and can be accessed at a higher speed than a main memory; and a virtual storage page size provided by the address translation table means. In response to an instruction to invalidate address translation information of an extended virtual memory page having a size that is a multiple of the address of one or more address translation buffer entries corresponding to the address of one extended virtual memory page specified by the instruction. 5. The virtual storage device according to claim 4, further comprising an extended virtual storage page invalidating means for invalidating the conversion information.
【請求項6】前記アドレス変換テーブル手段が提供する
仮想記憶ページと等しいサイズを持つ実記憶ページごと
にアクセス保護情報を保持するエントリを有するキー記
憶手段と、 前記実記憶ページサイズの倍数であるサイズを持つ拡張
実記憶ページのアクセス保護情報設定命令に応答して、
前記命令が指定する一つの拡張実記憶ページのアドレス
に対応する一つまたは複数のキー記憶エントリに、前記
命令が指定するアクセス保護情報を設定する拡張実記憶
ページ設定手段とをさらに有する請求項4記載の仮想記
憶装置。
6. A key storage unit having an entry for holding access protection information for each real storage page having a size equal to a virtual storage page provided by the address conversion table unit, and a size being a multiple of the real storage page size. In response to the access protection information setting instruction of the extended real storage page having
5. An extended real storage page setting means for setting access protection information specified by the instruction in one or more key storage entries corresponding to an address of one extended real storage page specified by the instruction. A virtual storage device according to claim 1.
【請求項7】前記アドレス変換テーブル手段は複数の仮
想記憶ページサイズを提供する手段をさらに有する請求
項4記載の仮想記憶装置。
7. The virtual storage device according to claim 4, wherein said address conversion table means further comprises means for providing a plurality of virtual storage page sizes.
【請求項8】前記アドレス変換テーブル手段のアドレス
変換バッファは、複数の仮想記憶ページサイズを提供す
る手段を有し、 前記拡張仮想記憶ページ無効化手段は、前記アドレス変
換バッファエントリがどの仮想記憶ページサイズのため
のものかには係らず、前記仮想記憶ページサイズの前記
アドレス変換情報無効化命令が指定する一つの拡張記憶
ページのアドレスに対応する全てのアドレス変換バッフ
ァエントリのアドレス変換情報を無効化する手段をさら
に有する請求項5記載の仮想記憶装置。
8. The address translation buffer of the address translation table means includes means for providing a plurality of virtual storage page sizes, and the extended virtual storage page invalidating means comprises: Invalidate the address translation information of all the address translation buffer entries corresponding to the address of one extended storage page specified by the address translation information invalidation instruction of the virtual storage page size, regardless of whether it is for the size of the virtual storage page. 6. The virtual storage device according to claim 5, further comprising means for executing.
JP9110637A 1997-04-28 1997-04-28 Virtual storage device having multiple page sizes Pending JPH10301848A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9110637A JPH10301848A (en) 1997-04-28 1997-04-28 Virtual storage device having multiple page sizes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9110637A JPH10301848A (en) 1997-04-28 1997-04-28 Virtual storage device having multiple page sizes

Publications (1)

Publication Number Publication Date
JPH10301848A true JPH10301848A (en) 1998-11-13

Family

ID=14540784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9110637A Pending JPH10301848A (en) 1997-04-28 1997-04-28 Virtual storage device having multiple page sizes

Country Status (1)

Country Link
JP (1) JPH10301848A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509469A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic address translation with format control
JP2012507071A (en) * 2008-10-23 2012-03-22 マイクロソフト コーポレーション Opportunistic page largeification
CN104508640A (en) * 2012-08-22 2015-04-08 三菱电机株式会社 Cache memory controller and cache memory control method
WO2019159472A1 (en) * 2018-02-15 2019-08-22 ソニー株式会社 Memory management device, memory management method, and information processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509469A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic address translation with format control
JP2012507071A (en) * 2008-10-23 2012-03-22 マイクロソフト コーポレーション Opportunistic page largeification
CN104508640A (en) * 2012-08-22 2015-04-08 三菱电机株式会社 Cache memory controller and cache memory control method
WO2019159472A1 (en) * 2018-02-15 2019-08-22 ソニー株式会社 Memory management device, memory management method, and information processing device
JPWO2019159472A1 (en) * 2018-02-15 2021-01-28 ソニー株式会社 Memory management device, memory management method, and information processing device

Similar Documents

Publication Publication Date Title
US8799621B2 (en) Translation table control
US5835962A (en) Parallel access micro-TLB to speed up address translation
US5930830A (en) System and method for concatenating discontiguous memory pages
CN101292228B (en) Lock indicator for conversion lookaside buffer
US6256715B1 (en) System and method of performing gateway access
US10282122B2 (en) Methods and systems of a memory controller for hierarchical immutable content-addressable memory processor
US5918251A (en) Method and apparatus for preloading different default address translation attributes
US5991757A (en) Method and system for searching an array for an array value
KR960001946B1 (en) First convert reference buffer
JP3640978B2 (en) Memory address control device using hash address tag in page table
US6457104B1 (en) System and method for recycling stale memory content in compressed memory systems
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
US6622211B2 (en) Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
EP0215544B1 (en) Virtual memory address fetching
JPS62165249A (en) Automatic enlargement of segment size in page segmenting virtual memory data processing system
JP2010518519A (en) Address translation method and apparatus
US7093100B2 (en) Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes
CN101243398B (en) Shared conversion lookaside buffer method
JP2768503B2 (en) Virtual memory address space access control method
CA1262287A (en) Explicit instructions for control of translation lookaside buffers
JPH10301848A (en) Virtual storage device having multiple page sizes
JPS6167160A (en) Virtual address converter
McWilliams et al. Lawrence LiV rmore Laboratory
JPS6367662A (en) Virtual space managing system