JPS6143744B2 - - Google Patents

Info

Publication number
JPS6143744B2
JPS6143744B2 JP58146317A JP14631783A JPS6143744B2 JP S6143744 B2 JPS6143744 B2 JP S6143744B2 JP 58146317 A JP58146317 A JP 58146317A JP 14631783 A JP14631783 A JP 14631783A JP S6143744 B2 JPS6143744 B2 JP S6143744B2
Authority
JP
Japan
Prior art keywords
address
virtual
address translation
real
translation
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
Application number
JP58146317A
Other languages
Japanese (ja)
Other versions
JPS59132483A (en
Inventor
Masao Kato
Koichi Ikeda
Kenichiro Noguchi
Kazuhiko Oomachi
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 JP58146317A priority Critical patent/JPS59132483A/en
Publication of JPS59132483A publication Critical patent/JPS59132483A/en
Publication of JPS6143744B2 publication Critical patent/JPS6143744B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

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

Description

【発明の詳細な説明】 本発明は、仮想記憶方式を有する計算機システ
ムにおいて実現される仮想計算機システムに関す
るものであり、特にそのアドレス変換装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a virtual computer system implemented in a computer system having a virtual storage system, and particularly to an address translation device thereof.

仮想記憶方式とは、処理装置が主記憶装置内に
記憶されているデータをアクセスするとき、その
データの主記憶装置上での所在地を示すアアドレ
ス(実アドレス)とは別に定められた仮想アドレ
スによつてアクセスする方式を言う。
A virtual memory method is a virtual address that is determined separately from the address (real address) that indicates the location of the data on the main memory when a processing device accesses data stored in the main memory. refers to the method of access.

仮想記憶方式は近年多くの計算機システムにお
いて採用されており、その詳細については周知で
あるので、これ以上の説明は省略する。
The virtual storage method has been adopted in many computer systems in recent years, and its details are well known, so further explanation will be omitted.

なお仮想アドレスと実アドレスとの対応関係
は、一般にはソフトウエアの管理するアドレス変
換テーブルによつて規定される。また仮想アドレ
スを実アドレスに変換することをアドレス変換と
称するものとする。
Note that the correspondence between virtual addresses and real addresses is generally defined by an address translation table managed by software. Further, converting a virtual address to a real address is referred to as address conversion.

仮想計算機とは、実計算機を時分割に使用し、
各タイムスロツトにおいて仮想のハードウエア情
報(制御レジスタ、演算レジスタ、PSWなど)
を実ハードウエアに設定することにより、1台の
実計算機が、各タイムスロツトごとに、あたかも
別々の計算機のごとくに動作するものである。し
たがつて1台の計算機で、複数個の異なつたオペ
レーテイングシステムが、見かけ上同時に走行で
きることになる。
A virtual computer is a real computer that is used for time sharing.
Virtual hardware information (control registers, calculation registers, PSW, etc.) in each time slot
By setting up real hardware, one real computer operates as if it were a separate computer for each time slot. Therefore, a single computer can run multiple different operating systems at the same time.

仮想計算機方式は、最近いくつかの計算機シス
テムにおいて実現されているので、これについて
もより詳細な説明は不要であろう。
Since the virtual computer method has recently been implemented in several computer systems, a more detailed explanation is not necessary.

仮想計算機方式においては、仮想記憶は一般に
多重レベル構成で実現される。このことは本発明
の基本的背景をなすものであるのでこれについて
以下に説明する。
In virtual machine systems, virtual storage is generally implemented in a multi-level configuration. Since this is the basic background of the present invention, it will be explained below.

各仮想計算機は主記憶装置上のデータをアクセ
スするために、各々において仮想アドレスと、そ
れに対応する実アドレスとを有するのであるが、
仮想計算機にとつての実アドレスはそのまま主記
憶装置上の実アドレスとはなり得ない。
Each virtual machine has a virtual address and a corresponding real address in order to access data on the main memory.
A real address for a virtual machine cannot directly become a real address on the main storage device.

主記憶装置は各仮想計算機からは、あたかも専
有されているかのように見えなくてはならないか
らである。このため各仮想計算機にとつての実ア
ドレスは、実計算機にとつての仮想アドレスであ
つて、これはもう一度変換されて主記憶装置上の
実アドレスとなる。
This is because the main storage must appear to each virtual machine as if it were exclusively owned. Therefore, the real address for each virtual computer is a virtual address for the real computer, which is converted once again to become a real address on the main storage device.

以上に述べたように、仮想計算機方式における
仮想記憶方式では、次の3段階のアドレスが存在
する。
As described above, in the virtual memory system of the virtual computer system, there are the following three levels of addresses.

(1) レベル1:主記憶装置上の実アドレス (実計算機にとつての実アドレス) (2) レベル2:実計算機にとつての仮想アドレス (仮想計算機にとつての実アドレス) (3) レベル3:仮想計算機にとつての仮想アドレ
ス 上では最も基本的な3段階のアドレスを示した
が、一般にはレベル1とレベル3との間に任意の
数だけの中間段階アドレスを設定し得ることは明
らかである。したがつて、後述するように本発明
も一般の多段階アドレスをもつ仮想記憶方式に適
用され得るものではあるが、具体的な説明は、上
に述べた3段階の場合について示すものとする。
(1) Level 1: Real address on main storage (real address for the real computer) (2) Level 2: Virtual address for the real computer (real address for the virtual computer) (3) Level 3: Virtual addresses for virtual machines The most basic three-level addresses are shown above, but in general, any number of intermediate level addresses can be set between level 1 and level 3. is clear. Therefore, although the present invention can be applied to a general virtual storage system with multi-stage addresses as will be described later, a specific explanation will be given regarding the three-stage case described above.

ところで、3段階のアドレスを有する仮想記憶
方式においては次の2種類のアドレス変換テーブ
ルが必要である。
By the way, in a virtual memory system having three levels of addresses, the following two types of address translation tables are required.

(1) 第1のアドレス変換テーブル………レベル3
アドレスからレベル2アドレスへの変換 (2) 第2のアドレス変換テーブル………レベル2
アドレスからレベル1アドレスへの変換 一般に(M+1)段階のアドレスを有する仮想
記憶方式においてはM種類のアドレス変換テーブ
ルが必要である。
(1) First address translation table……Level 3
Conversion from address to level 2 address (2) Second address conversion table……Level 2
Conversion from Address to Level 1 Address In general, in a virtual memory system having (M+1) levels of addresses, M types of address conversion tables are required.

しかし従来は実際に、仮想アドレスによつて主
記憶にあるデータをアクセスするときには、上記
のアドレス変換テーブルを処理装置のハードウエ
アが直接参照することはできない。
However, conventionally, when actually accessing data in main memory using a virtual address, the hardware of a processing device cannot directly refer to the above address conversion table.

なぜならば従来の処理装置ハードウエアは、仮
想計算機システムを意識しないで設計されている
ので、1回のアドレス変換により得られた新アド
レスを実アドレスとして使用するのである。この
ため、仮想計算機システムにおいては、従来、次
に述べるシヤドウテーブルをソフトウエアの責任
において主記憶上に準備し、処理装置ハードウエ
アの参照に供してきた。
This is because conventional processing device hardware is designed without being aware of the virtual computer system, so a new address obtained by one address conversion is used as a real address. For this reason, in virtual computer systems, the shadow table described below has conventionally been prepared on the main memory under the responsibility of software and provided for reference by the processing device hardware.

即ちあらかじめ第1、第2のアドレス変換テー
ブルの内容から、すべてのレベル3アドレス対す
るレベル1アドレスの対応表(シヤドウテーブ
ル)を作成して、これを第1、第2のアドレス変
換テーブルとは別に主記憶装置上のテータとして
格納しておく。一般の主記憶装置へのアクセスに
あたつては、第1、第2のアドレス変換テーブル
を参照するのでなく、シヤドウテーブルを参照す
れば、1回のアドレス変換によつて実アドレスを
得ることができるのである。
That is, from the contents of the first and second address conversion tables, a correspondence table (shadow table) of level 1 addresses for all level 3 addresses is created in advance, and this table is referred to as the first and second address conversion tables. It is stored separately as data on the main memory. When accessing general main memory, you can obtain the real address through one address conversion by referring to the shadow table instead of referring to the first and second address conversion tables. This is possible.

第1図に各レベルのアドレスのアドレス変換テ
ーブルの関係を概念的に示す。
FIG. 1 conceptually shows the relationship between address translation tables for addresses at each level.

仮想記憶方式を有する計算機システムでは、一
般に処理装置内部にアドレス変換バツフアを有す
る。これは仮想アドレスとそれに対応する実アド
レスとの対を複数個貯えた連想記憶装置であり、
TLB(Translation Lookaside Buffer)などと呼
ばれている。アドレス変換バツフアは周知の技術
であつて説明は要しない。
A computer system using a virtual memory method generally has an address translation buffer inside the processing unit. This is an associative memory device that stores multiple pairs of virtual addresses and their corresponding real addresses.
It is called TLB (Translation Lookaside Buffer). The address translation buffer is a well-known technology and does not require any explanation.

仮想計算機システムが実現されたときには、ア
ドレス変換バツフアはレベル3のアドレスとそれ
に対応するレベル1アドレスを貯えることにな
る。主記憶へのアクセスにあつて、もし所望のア
ドレス変換対がアドレス変換バツフアにないとき
には前記のシヤドウテーブルを参照して求めるレ
ベル1アドレスを得て、得られたレベル1アドレ
スと元のレベル3アドレスと共にアドレス変換バ
ツフアに登録をする。
When a virtual computer system is realized, the address translation buffer will store level 3 addresses and corresponding level 1 addresses. When accessing the main memory, if the desired address translation pair is not in the address translation buffer, the desired level 1 address is obtained by referring to the shadow table, and the level 1 address obtained and the original level 3 Register the address along with the address translation buffer.

以上において仮想計算機システムにおいて仮想
記憶方式を実現しているところの従来技術の概略
を述べた。
Above, an outline of the conventional technology that implements a virtual memory method in a virtual computer system has been described.

次に、このような従来技術における問題点につ
い説明する。シヤドウテーブルは、処理装置のハ
ードウエアが仮想計算機システムであることを意
識する必要がない点で便利な存在であるが、これ
は性能的にはいくつかの不利な点を生じている。
Next, problems with such conventional technology will be explained. The shadow table is convenient in that there is no need to be aware that the hardware of the processing device is a virtual computer system, but this has some disadvantages in terms of performance.

その第1点は、シヤドウテーブルを生成するの
に多大の時間を要することである。1個の仮想空
間にはアドレス変換の最少単位となるページが数
千〜数万存在し得る。その各々について第1、第
2のアドレス変換テーブルを参照し、シヤドウテ
ーブルを作成するには平均して1ページ当りプロ
グラムの数10ステツプが必要となるであろう。し
たがつてシヤドウテーブルを組生成するには数万
〜数10万ステツプのプログラムが走行しなくては
ならない。
The first point is that it takes a lot of time to generate a shadow table. One virtual space may have thousands to tens of thousands of pages, which are the minimum unit of address translation. Referring to the first and second address translation tables for each of them and creating a shadow table will require an average of 10 program steps per page. Therefore, to generate a set of shadow tables, a program with tens of thousands to hundreds of thousands of steps must be run.

その第2点は、主記憶上のページのスワツピン
グによりアドレス変換テーブルの情報を更新する
必要が生じたときは、第1または第2のアドレス
変換テーブルだけでなく、シヤドウテーブルも更
新されなくてはならない。実際にはシヤドウテー
ブルの部分的な更新が困難であるときにはその空
間に関するシヤドウテーブル全体を無効とするこ
とも行なわれる。この場合には後に再びその空間
をアクセスすることがあればシヤドウテーブルは
上に述べたような長時間を要して、再び生成され
なくてはならない。
The second point is that when it becomes necessary to update the information in the address translation table by swapping pages in main memory, not only the first or second address translation table but also the shadow table must be updated. Must not be. In reality, when it is difficult to partially update a shadow table, the entire shadow table relating to that space may be invalidated. In this case, if the space is to be accessed again later, the shadow table must be generated again, taking a long time as described above.

その第3点は、シヤドウテーブルは、それ自体
非常に大きな記憶容量を要することである。
The third point is that the shadow table itself requires a very large storage capacity.

1個の空間に数千〜数万のページが存在すると
きにはシヤドウテーブルとして少なくとも数万バ
イトの記憶領域が必要となる。シヤドウテーブル
はその性質上主記憶に常駐されねばならないの
で、シヤドウテーブルが主記憶の中で少なからぬ
部分を占めてしまうことになる。
When thousands to tens of thousands of pages exist in one space, a storage area of at least tens of thousands of bytes is required as a shadow table. Since the shadow table, by its nature, must be resident in the main memory, the shadow table occupies a considerable portion of the main memory.

以上に述べたように、シヤドウテーブルは従来
の処理装置ハードウエアにより、仮想計算機シス
テムでの仮想記憶方式を実現するものであるが、
その生成、維持に多大のプログラム走行時間と主
記憶領域を消費する欠点がある。
As mentioned above, the shadow table realizes a virtual storage system in a virtual computer system using conventional processing unit hardware.
It has the drawback that its generation and maintenance consumes a large amount of program running time and main storage area.

しかも1組のシヤドウテーブルの中には結局一
回も使用されないままに終るデータも少なくない
であろうが、プログラム時間と主記憶領域とはこ
れらのものによつても等分に消費され、これらの
ための時間、資源は浪費されることになる。
Moreover, although there may be a large amount of data in a set of shadow tables that is never used, program time and main storage space are consumed equally by these items. Time and resources for these are wasted.

本発明の目的は、処理装置のハードウエアに新
しい機能を付加することによつて、上記のような
困難を有するシヤドウテーブルの存在を不要と
し、プログラム走行時間および主記憶領域の有効
性を高めるものである。
An object of the present invention is to eliminate the need for the existence of a shadow table, which has the above-mentioned difficulties, by adding new functions to the hardware of a processing device, thereby increasing the program running time and the effectiveness of the main memory area. It is something.

本発明の要旨は、処理装置のハードウエアが第
1、第2のアドレス変換テーブルを直接参照する
ことを可能とするというものである。
The gist of the present invention is to enable hardware of a processing device to directly refer to the first and second address translation tables.

以下では本発明の内容を図2に示す実施例によ
つて説明する。
The content of the present invention will be explained below using an embodiment shown in FIG.

第2図は、本発明を実施したところの処理装置
の一部を示すブロツク図である。
FIG. 2 is a block diagram showing part of a processing apparatus in which the present invention is implemented.

第2図において信号線1には処理装置が主記憶
装置14をアクセスするための仮想アドレスが与
えられる。これはアドレス変換バツフア2に入力
され実アドレスに変換される。詳細に言えば、ア
ドレス変換バツフア2の部分20には仮想アドレ
スが、部分21にはそれに対応する実アドレスが
複数組格納されており、信号線1の仮想アドレス
の一部により1組が選択、出力される。アドレス
変換バツフアの部分20から出力された仮想アド
レスは比較器3において仮想アドレス1と比較さ
れ、一致した場合には対応する実アドレスが所望
の実アドレスとしてゲート4、セレクタ10を介
して主記憶アクセスアドレス線11に与えられ
る。比較器3において比較の結果、一致しなかつ
たときは主記憶上のアドレス変換テーブルを参照
して所望の実アドレスを求めるため、テーブル参
照制御回路5が起動される。
In FIG. 2, a virtual address for the processing device to access the main memory 14 is given to the signal line 1. This is input to address conversion buffer 2 and converted into a real address. To be more specific, a plurality of sets of virtual addresses are stored in the portion 20 of the address conversion buffer 2, and a plurality of sets of corresponding real addresses are stored in the portion 21, and one set is selected by a portion of the virtual addresses on the signal line 1. Output. The virtual address output from the address conversion buffer part 20 is compared with the virtual address 1 in the comparator 3, and if they match, the corresponding real address is set as the desired real address and accessed to the main memory via the gate 4 and the selector 10. It is applied to address line 11. If the results of the comparison in the comparator 3 do not match, the table reference control circuit 5 is activated in order to refer to the address conversion table in the main memory and obtain a desired real address.

テーブル参照制御回路5が起動されると、まず
第1のアドレス変換テーブルを参照する。
When the table reference control circuit 5 is activated, it first refers to the first address translation table.

レジスタ60には第1のアドレス変換テーブル
の先頭アドレスが収納されており、セレクタ7を
介してレジスタ60の内容が加算器9に入力され
る。また信号線1の仮想アドレスの一部分が加算
器9のもう一方に入力され、この加算の結果が第
1のアドレス変換テーブルアドレスとして線11
に与えられ、主記憶14の読み出しが行なわれ
る。
The register 60 stores the first address of the first address conversion table, and the contents of the register 60 are input to the adder 9 via the selector 7. Also, a part of the virtual address on the signal line 1 is input to the other side of the adder 9, and the result of this addition is used as the first address conversion table address on the line 11.
The main memory 14 is read out.

主記憶14から読み出された第1のアドレス変
換テーブルの内容は即ちレベル2のアドレスであ
る。これらは主記憶14からの読み出しデータ線
12を介して読み出しデータレジスタ13にセツ
トされる。
The contents of the first address conversion table read from the main memory 14 are level 2 addresses. These are set in the read data register 13 via the read data line 12 from the main memory 14.

次に制御回路5は第2のアドレス変換テーブル
の読み出しを行なう。レジスタ61には第2のア
ドレス変換テーブルの先頭アドレスが収納されて
おり、セレクタ7を介して加算器9に入力され
る。加算器9のもう一方の入力にはレジスタ13
にセツトされたレベル2のアドレスの一部分が入
力され、加算の結果が第2のアドレス変換テーブ
ルアドレスとして、セレクタ10を介して主記憶
アクセスアドレス線11に与えられる。
Next, the control circuit 5 reads the second address conversion table. The register 61 stores the first address of the second address conversion table, and is input to the adder 9 via the selector 7. The other input of the adder 9 is a register 13.
A portion of the level 2 address set in 2 is input, and the result of addition is applied to the main memory access address line 11 via the selector 10 as a second address conversion table address.

主記憶14から読み出された第2のアドレス変
換テーブルには求める実アドレスが記されてい
る。これは主記憶読み出しデータ線12を介して
読み出され、データレジスタ13にセツトされ、
そこから信号線14を介してアドレス変換バツフ
ア2の部分21に書き込まれる。
The desired real address is written in the second address conversion table read from the main memory 14. This is read out via the main memory read data line 12 and set in the data register 13.
From there it is written to part 21 of address translation buffer 2 via signal line 14.

このとき同時に、信号線1に与えられている仮
想アドレスもアドレス変換バツフア2の部分20
に書き込まれる。
At the same time, the virtual address given to signal line 1 is also transferred to portion 20 of address translation buffer 2.
will be written to.

以上の動作によつて、所望のアドレス変換対が
アドレス変換バツフア2に登録され、処理装置が
主記憶をアクセスするための仮想アドレスを実ア
ドレスに変換することができた。所望の実アドレ
スは、もう一度アドレス変換バツフアを参照しな
おすことによつて得てもよいし、あるいはレジス
タ13から8,9,10を経由して信号線11に
出力してもよい。
Through the above operations, the desired address translation pair was registered in the address translation buffer 2, and the virtual address for the processing device to access the main memory was able to be translated into a real address. The desired real address may be obtained by referring to the address translation buffer once again, or may be output from the register 13 to the signal line 11 via 8, 9, and 10.

即ち、本発明によつて、その生成、維持に多く
の時間、資源を消費するところのシヤドウテーブ
ルをまつたく必要とせずに、主記憶のアドレス変
換テーブルを参照して所望の実アドレスを得てそ
れをアドレス変換バツフアに登録することが可能
になつた。
That is, according to the present invention, a desired real address can be obtained by referring to an address translation table in the main memory, without requiring a shadow table whose creation and maintenance consumes a lot of time and resources. It is now possible to register it in the address translation buffer.

上の実施例においては第1、2のアドレス変換
テーブルの先頭アドレスは共に処理装置内部のレ
ジスタに貯えられているものとしたが、これらは
例えば主記憶上のデータとして貯えられているも
のであつてもよい。その場合にはレジスタ60,
61のデータを出力するかわりに、必要な主記憶
アクセスを行なうことになる。
In the above embodiment, it is assumed that both the first and second address conversion table start addresses are stored in registers inside the processing device, but these may be stored as data in the main memory, for example. It's okay. In that case, register 60,
Instead of outputting 61 data, the necessary main memory access is performed.

上の実施例においては説明を簡単にするためレ
ベル3アドレスからレベル2アドレスへのアドレ
ス変換およびレベル2アドレスからレベル1アド
レスへのアドレス変換は各々1組のアドレス変換
テーブルによつて行なわれるものとしたが、これ
は例えば従来技術の多くに見られるようにセグメ
ントテーブルとページテーブルというような2段
の(一般には複数段の)テーブルよるものである
としても本発明の有効性は明らかである。
In the above embodiment, in order to simplify the explanation, address translation from a level 3 address to a level 2 address and address translation from a level 2 address to a level 1 address are each performed by one set of address translation tables. However, the effectiveness of the present invention is clear even if this is based on a two-level (generally multiple-level) table such as a segment table and a page table, as seen in many prior art techniques.

さらに本発明については、容易に次のような拡
張をすることができる。即ち、先にも述べたよう
に仮想アドレスの多重度は実施例に示した3段階
ばかりでなくこれより多いものも少ないものも考
えられる。一般に仮想アドレスが(M+1)重で
ある場合にはアドレス変換テーブルはM組のもの
が存在する。したがつてこのときにはアドレス変
換テーブルの先頭アドレスを示すレジスタ(また
は主記憶上のデータエリア)をM個設けて本発明
を実施することができる。
Furthermore, the present invention can be easily extended as follows. That is, as mentioned earlier, the multiplicity of virtual addresses is not limited to the three levels shown in the embodiment, but may also be greater or lesser. Generally, when there are (M+1) virtual addresses, there are M sets of address translation tables. Therefore, in this case, the present invention can be implemented by providing M registers (or data areas on the main memory) indicating the start address of the address conversion table.

更に仮想アドレスの多重度をハードウエア上固
定するのでなく、可変とすれば処理装置の融通性
を増し能力の向上とすることができる。
Furthermore, if the multiplicity of virtual addresses is made variable instead of being fixed on the hardware, the flexibility of the processing device can be increased and the performance can be improved.

このためには次のような方法が考えられる。 The following methods can be considered for this purpose.

その一は、処理装置内部のレジスタ62または
主記憶上のデータの形で、処理装置に仮想アドレ
スの多重度Mを通知する方法である。
One method is to notify the processing device of the virtual address multiplicity M in the form of data in the register 62 or main memory inside the processing device.

このときには処理装置はMを読み取つてM組の
アドレス変換テーブルの参照を行ない、第M組の
アドレス変換テーブルを参照した結果をもつて実
アドレスとする。但し、この方法においてアドレ
ス変換テーブルの先頭アドレスを処理装置内部に
レジスタ群として有するのであれば、Mはレジス
タの総数N以下でなくてはならないという制限が
生ずる。
At this time, the processing device reads M, refers to M sets of address conversion tables, and uses the result of referencing the Mth group of address conversion tables as a real address. However, in this method, if the first address of the address conversion table is stored as a register group inside the processing device, there is a restriction that M must be less than or equal to the total number of registers N.

その二は、アドレス変換テーブルの先頭アドレ
スを記したレジスタ、又はデータのそれぞれに対
し付加情報を設け、そこにアドレス変換の順番を
指定する情報を設定するという方法である。この
場合順番そのものはレジスタの位置又は主記憶上
でのデータの位置により固定したものとし、最初
のアドレス変換に当るもの、または最後のアドレ
ス変換に当るもの、またはその両方だけを可変に
するという方法もある。
The second method is to provide additional information for each register or data in which the start address of the address conversion table is written, and set therein information that specifies the order of address conversion. In this case, the order itself is fixed by the register position or the data position on main memory, and only the first address conversion, the last address conversion, or both are made variable. There is also.

以上に述べたように本発明によつて一般に仮想
アドレスが多重の構造をなす仮想記憶方式におい
て、シヤドウテーブルを作成、維持する必要なし
にアドレス変換を行なうことが可能となり、シヤ
ドウテーブルの作成維持に伴う大きな時間、資源
の消費を除去することができた。
As described above, the present invention makes it possible to perform address translation without the need to create and maintain a shadow table in a virtual memory system in which virtual addresses generally have a multiple structure. A large amount of time and resource consumption associated with maintenance could be eliminated.

本発明については1回のアドレス変換時間(最
上位の仮想アドレスから実アドレスまでの変換に
要する総時間)がシヤドウテーブルを設けた場合
よりも大きくなるという欠点がある。
The present invention has the disadvantage that the time required for one address translation (total time required for translation from the highest virtual address to the real address) is longer than when a shadow table is provided.

しかしアドレス変換バツフアの容量をある程度
以上に大きくすれば、アドレス変換テーブルを参
照してのアドレス変換を生ずる確率を十分小さく
することができるので、プログラム処理時間全体
としては、そのためのオーバヘツドの方がシヤド
ウテーブルの作成、管理に伴うオーバヘツドドよ
りもはるかに小さいものとなり、処理能力を向上
させることができる。
However, if the capacity of the address translation buffer is increased beyond a certain level, the probability of address translation occurring by referring to the address translation table can be sufficiently reduced, so the overhead for this can be reduced in terms of overall program processing time. The overhead associated with creating and managing the dow table is much smaller, and processing capacity can be improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は二重のアドレス変換テーブルとシヤド
ウテーブルとを有する仮想記憶方式を説明する概
念図、第2図は本発明の一実施例を示すブロツク
図である。 2……アドレス変換バツフア、3……比較器、
4……ゲート、5……テーブル参照制御回路、6
0および61……アドレス変換テーブルの先頭ア
ドレスを保持するレジスタ、7,8および10…
…セレクタ、9……加算器、14……主記憶装
置。
FIG. 1 is a conceptual diagram illustrating a virtual storage system having a double address translation table and a shadow table, and FIG. 2 is a block diagram illustrating an embodiment of the present invention. 2...Address conversion buffer, 3...Comparator,
4...Gate, 5...Table reference control circuit, 6
0 and 61...Registers that hold the start address of the address conversion table, 7, 8, and 10...
...Selector, 9...Adder, 14...Main memory.

Claims (1)

【特許請求の範囲】 1 仮想記憶を有する計算機システムにおいて実
現される仮想計算機システムにおいて、M組のア
ドレス変換手段であつて、第1のアドレス変換手
段は仮想計算機の仮想アドレスを第2のアドレス
に変換し、第Kのアドレス変換手段は第Kのアド
レスを第(K+1)のアドレスに変換し、第Mの
アドレス変換手段は第Mのアドレスを主記憶装置
の実アドレスに変換するM組のアドレス変換手段
と(但しK=1、2、………M−1)、 上記仮想計算機の仮想アドレスとそれに対応す
る上記主記憶装置の実アドレスとを示すアドレス
変換対を保持するアドレス変換バツフアと、 処理装置の現在のアドレス変換多重数Mを示す
表示子とを有し、 処理装置が該アドレス変換バツフアを用いて仮
想計算機の仮想アドレスを、それに対応する主記
憶装置の実アドレスに変換しようとするとき、所
要のアドレス変換対が該アドレス変換バツフアに
存在しなかつた場合には、前記M段のアドレス変
換手段のうち前記表示子で示された段数のアドレ
ス変換手段によつて所要の実アドレスを得て、該
実アドレスを対応する仮想アドレスと共に該アド
レス変換バツフアに登録することを特徴とするア
ドレス変換装置。
[Scope of Claims] 1. In a virtual computer system implemented in a computer system having virtual memory, M sets of address conversion means include a first address conversion means that converts a virtual address of a virtual machine into a second address. The K-th address converting means converts the K-th address into a (K+1)-th address, and the M-th address converting means converts the M-th address into a real address of the main memory device. a conversion means (where K=1, 2, . . . M-1), and an address translation buffer that holds an address translation pair indicating a virtual address of the virtual machine and a corresponding real address of the main storage device; and an indicator indicating the current address translation multiplex number M of the processing unit, and the processing unit attempts to convert a virtual address of the virtual machine to a corresponding real address of the main storage device using the address translation buffer. At this time, if the required address translation pair does not exist in the address translation buffer, the address translation means of the number of stages indicated by the indicator among the M stages of address translation means convert the required real address. An address translation device characterized in that the real address is obtained and registered in the address translation buffer together with the corresponding virtual address.
JP58146317A 1983-08-12 1983-08-12 Address converting device Granted JPS59132483A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58146317A JPS59132483A (en) 1983-08-12 1983-08-12 Address converting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58146317A JPS59132483A (en) 1983-08-12 1983-08-12 Address converting device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP52100501A Division JPS5858752B2 (en) 1977-08-24 1977-08-24 address translation device

Publications (2)

Publication Number Publication Date
JPS59132483A JPS59132483A (en) 1984-07-30
JPS6143744B2 true JPS6143744B2 (en) 1986-09-29

Family

ID=15404933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58146317A Granted JPS59132483A (en) 1983-08-12 1983-08-12 Address converting device

Country Status (1)

Country Link
JP (1) JPS59132483A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159142U (en) * 1986-03-25 1987-10-09

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159142U (en) * 1986-03-25 1987-10-09

Also Published As

Publication number Publication date
JPS59132483A (en) 1984-07-30

Similar Documents

Publication Publication Date Title
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP3666689B2 (en) Virtual address translation method
US4769770A (en) Address conversion for a multiprocessor system having scalar and vector processors
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4792897A (en) Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure
JPH04319747A (en) Address converting mechanism
JPH04320553A (en) Address converting mechanism
JP2768503B2 (en) Virtual memory address space access control method
JP2846697B2 (en) Cache memory controller
US4984150A (en) Virtual memory control management system
JPS5858752B2 (en) address translation device
JPS6143744B2 (en)
JPH11345168A (en) Method and system for accessing cache memory in data processing system
JPH06100987B2 (en) Address translation control method
JP3447588B2 (en) Memory management device, method, and storage medium storing program
JPS61160160A (en) Addressing control device in virtual computer system
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
JPH0336648A (en) Electronic computer, TLB device and microprocessor chip
JPH01226056A (en) Address converter
JPS6349807B2 (en)
JPH0325644A (en) Multiple virtual address space controller
JPH05225064A (en) Address translator and buffer storage controller
JPH0816477A (en) Multiprocessor system
JPS6126100B2 (en)