JPS5858752B2 - address translation device - Google Patents

address translation device

Info

Publication number
JPS5858752B2
JPS5858752B2 JP52100501A JP10050177A JPS5858752B2 JP S5858752 B2 JPS5858752 B2 JP S5858752B2 JP 52100501 A JP52100501 A JP 52100501A JP 10050177 A JP10050177 A JP 10050177A JP S5858752 B2 JPS5858752 B2 JP S5858752B2
Authority
JP
Japan
Prior art keywords
address
virtual
address translation
real
main memory
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
JP52100501A
Other languages
Japanese (ja)
Other versions
JPS5434722A (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.)
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 JP52100501A priority Critical patent/JPS5858752B2/en
Publication of JPS5434722A publication Critical patent/JPS5434722A/en
Publication of JPS5858752B2 publication Critical patent/JPS5858752B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]

Description

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

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

仮想記憶方式は近年多くの計算機システムにおいて採用
されており、その詳細については周知であるので、これ
以上の説明は省略する。
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台の実計算機が、各タイムスロッ
トごとに、あたかも別々の計算機のごと(に動作するも
のである。
A virtual computer is a real computer that is used for time sharing, and by setting virtual hardware information (control registers, calculation registers, PSW, etc.) to the real hardware in each time slot, one real computer can Each time slot operates as if it were a separate computer.

したがって1台の計算機で、複数個の異なったオペレー
ティングシステムが、見かけ上回時に走行できることに
なる。
Therefore, a single computer can run multiple different operating systems at an apparently faster 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, but the real address for a virtual machine is the same as the real address on the main memory. It can't be.

主記憶装置は各仮想計算機からは、あたかも専有されて
いるかのように見えなくてはならないからである。
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, and this 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との間に任意の数だけの中間
段階アドレスを設定し得ることは明らかである。
(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: Real address for the virtual computer Although the most basic three-level virtual address has been shown, it is clear that in general, any number of intermediate level addresses can be set between level 1 and level 3.

したがって、後述するように本発明も一般の多段階アド
レスをもつ仮想記憶方式に適用され得るものではあるが
、具体的な説明は、上に述べた3段階の場合について示
すものとする。
Therefore, although the present invention can be applied to a general virtual storage system with multi-stage addresses as 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 conversion chifur...
...Conversion from level 3 address to level 2 address (2>second address conversion table...)
Conversion from Level 2 Address to Level 1 Address In general, in a virtual storage 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 above-mentioned address conversion table cannot be directly referred to by the node-ware of the processing device.

なぜならば従来の処理装置・・−ドウエアは、仮想計算
機システムを意識しないで設計されているので、1回の
アドレス変換により得られた新アドレスを実アドレスと
して使用するのである。
This is because conventional processing devices are designed without being aware of the virtual computer system, and therefore use a new address obtained through one address conversion as a real address.

このため、仮想計算機システムにおいては、従来、次に
述べるシャドウテーブルをソフトウェアの前杆において
主記憶上に準備し、処理装置ノ・−ドウエアの参照に供
してきた。
For this reason, in virtual computer systems, a shadow table, which will be described below, has conventionally been prepared in the main memory at the front of the software and used for reference by the processing unit hardware.

即ちあらかじめ第1、第2のアドレス変換チーフルの内
容から、スべてのレベル3アドレス対スるレベル1アド
レスの対応表(シャドウテーブル)を作成して、これを
第1、第2のアドレス変換テーブルとは別に主記憶装置
上のデータとして格納しておく。
That is, a correspondence table (shadow table) of all level 3 addresses to level 1 addresses is created in advance from the contents of the first and second address translation tables, and this is used for the first and second address translations. It is stored as data on the main memory separately from the table.

一般の主記憶装置へのアクセスにあたっては、第1、第
2のアドレス変換テーブルを参照するのでな(、シャド
ウテーブルを参照すれば、1回のアドレス変換によって
実アドレスを得ることができるのである。
When accessing a general main memory, the first and second address translation tables are referred to (by referring to the shadow table, the real address can be obtained by one address translation).

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

仮想記憶方式を有する計算機システムでは、般に処理装
置内部にアドレス変換バッファを有する。
A computer system using a virtual memory method generally has an address translation buffer inside the processing device.

これは仮想アドレスとそれに対応する実アドレスとの対
を複数個貯えた連想記憶装置であり、TLB (Tra
nslation Lookaside Buffer
)などと呼ばれている。
This is an associative memory device that stores multiple pairs of virtual addresses and corresponding real addresses, and TLB (Tra
nslation Lookaside Buffer
) etc.

アドレス変換バッファは周知の技術であって説明は要し
ない。
Address translation buffers are a well-known technology and need no explanation.

仮想計算機システムが実現されたときには、アドレス変
換バッファはレベル3のアドレスとそれに対応するレベ
ル1アドレスを貯えることになる。
When a virtual computer system is implemented, the address translation buffer will store level 3 addresses and corresponding level 1 addresses.

主記憶へのアクセスにあたって、もし所望のアドレス変
換対がアドレス変換バッファにないときには前記のシャ
ドウテーブルを参照して求めるレベルlアドレスを得て
、得られたレベル1アドレスと元のレベル3アドレスと
共にアドレス変換バッファに登録をする。
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 obtained level 1 address and the original level 3 address are used together with the address. Register in the conversion 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 unit is a virtual computer system, but this has some disadvantages in terms of performance.

その第1点は、シャドウテーブルを生成するのに多大の
時間を要することである。
The first point is that it takes a lot of time to generate a shadow table.

1個の仮想空間にはアドレス変換の最少単位となるペー
ジが数千〜数百存在し得る。
One virtual space may have thousands to hundreds of pages, which are the minimum unit of address translation.

その各々について第1、第2のアドレス変換テーブルを
参照し、シャドウテーブルを作成するには平均して1ペ
ージ当りフログラムの数10ステップが必要となるであ
ろう。
Referring to the first and second address translation tables for each of them and creating a shadow table will require, on average, 10 steps per page.

したがってシャドウテーブルを1紐生成するには数百〜
数10万ステップのプログラムが走行しなくてはならな
い。
Therefore, to generate one shadow table, there are several hundred
A program of several hundred thousand 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. No.

実際にはシャドウテーブルの部分的な更新が困難である
ときにはその空間に関するシャドウテーブル全体を無効
とすることも行なわれる。
In reality, when it is difficult to partially update a shadow table, the entire shadow table for that space may be invalidated.

この場合には後に再びその空間をアクセスすることがあ
ればシャドウテーブルは上に述べたような長時間を要し
て、再び生成されなくてはならない。
In this case, if the space is to be accessed again later, the shadow table must be regenerated, taking a long time as described above.

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

1個の空間に数千〜数百のページが存在するときにはシ
ャドウテーブルとして少な(とも数百)くイトの記憶領
域が必要となる。
When several thousand to several hundred pages exist in one space, a small (several hundred) ite storage area is required as a shadow table.

シャドウテーブルはその性質上主記憶に常駐されねばな
らないので、シャドウテーブルが主記憶の中で少なから
ぬ部分を占めてしまうことになる。
Since the shadow table must be resident in the main memory due to its nature, the shadow table occupies a considerable portion of the main memory.

以上に述べたように、シャドウチーフルは従来の処理装
置・・−ドウエアにより、仮想計算機システムでの仮想
記憶方式を実現するものであるが、その生成、維持に多
大のプログラム走行時間と主記憶領域を消費する欠点が
ある。
As mentioned above, Shadow Chiful implements a virtual memory system in a virtual computer system using conventional processing equipment, but it requires a large amount of program running time and main memory to generate and maintain it. It has the disadvantage of consuming space.

しかも1組のシャドウテーブルの中には結局−回も使用
されないままに終るデータも少なくないであろうが、プ
ログラム時間と主記憶領域とはこれらのものによっても
等分に消費され、これらのための時間、資源は浪費され
ることになる。
Furthermore, although there is likely to be a large amount of data in a set of shadow tables that is never used, the program time and main storage area are equally consumed by these items. time and resources will be 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, and to increase the program running time and the effectiveness of the main storage area. It is.

本発明の要旨は、処理装置の・・−ドウエアが第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 device in which the present invention is implemented.

第2図において信号線1には処理装置が主記憶装置14
をアクセスするための仮想アドレスが与えられる。
In FIG. 2, the processing device is connected to the main memory 14 on the signal line 1.
is given a virtual address to access.

これはアドレス変換バッファ2に入力され実アドレスに
変換される。
This is input to the address conversion buffer 2 and converted into a real address.

詳細に言えば、アドレス変換バッファ20部分20には
仮想アドレスが、部分21にはそれに対応する実アドレ
スが複数組格納されており、信号線1の仮想アドレスの
一部により1組が選択、出力される。
To be more specific, a virtual address is stored in the address translation buffer 20 section 20, and a plurality of sets of corresponding real addresses are stored in the section 21, and one set is selected and output according to a portion of the virtual address on the signal line 1. be done.

アドレス変換バッファの部分20から出力された仮想ア
ドレスは比較器3において仮想アドレス1と比較され、
一致した場合には対応する実アドレスが所望の実アドレ
スとしてゲート4、セレクタ10を介して主記憶アクセ
スアドレス線11に与えられる。
The virtual address output from part 20 of the address translation buffer is compared with virtual address 1 in comparator 3;
If they match, the corresponding real address is applied to the main memory access address line 11 via the gate 4 and selector 10 as a desired real address.

比較器3において比較の結果、一致しなかったときは主
記憶上のアドレス変換テーブルを参照して所望の実アド
レスを求めるため、テーブル参照制御回路5が起動され
る。
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 on 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に入力される。
The register 60 stores the first address of the first address conversion chifur, and the contents of the register 60 are input to the adder 9 via the selector 7.

また信号線1の仮想アドレスの一部分が加算器9のもう
一方に入力され、この加算の結果が第1のアドレス変換
テーブルアドレスとして線11に与えられ、主記憶14
の読み出しが行なわれる。
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 given to the line 11 as the first address conversion table address, and the main memory 14
is read out.

主記憶14から読み出された第1のアドレス変換テーブ
ルの内容は即ちレベル2のアドレスである。
The contents of the first address conversion table read from the main memory 14 are level 2 addresses.

これは主記憶14かもの読み出しデータ線12を介して
読み出しデータレジスタ13にセットされる。
This is set in the read data register 13 via the read data line 12 of the main memory 14.

次に制御回路5は第2のアドレス変換テーフルの読み出
しを行なう。
Next, the control circuit 5 reads the second address translation table.

レジスタ61には第2のアドレス変換テーブルの先頭ア
ドレスが収納されており、セレクタ7を介して加算器9
に入力される。
The first address of the second address conversion table is stored in the register 61, and is sent to the adder 9 via the selector 7.
is input.

加算器9のもう一方の入力にはレジスタ13にセットさ
れたレベル2のアドレスの一部分が入力され、力目算の
結果が第2のアドレス変換テーブルアドレスとして、セ
レクタ10を介して主記憶アクセスアドレス線11に与
えられる。
A part of the level 2 address set in the register 13 is input to the other input of the adder 9, and the result of the power calculation is sent to the main memory access address line via the selector 10 as the second address conversion table address. given to 11.

主記憶14から読み出された第2のアドレス変換テーブ
ルには求める実アドレスが記されている。
The desired real address is written in the second address conversion table read from the main memory 14.

これは主記憶読み出しデータ線12を介して読み出され
、データレジスタ13にセットされ、そこから信号線1
4を介してアドレス変換バッファ20部分21に書き込
まれる。
This is read out via the main memory read data line 12, set in the data register 13, and from there the signal line 1
4 to the address translation buffer 20 portion 21.

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

以上の動作によって、所望のアドレス変換対がアドレス
変換バッファ2に登録され、処理装置が主記憶をアクセ
スするための仮想アドレスを実アドレスに変換すること
ができた。
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.

所望の実アドレスハ、も5一度アドレス変換バッファを
参照しなおすことによって得てもよいし、あるいはレジ
スタ13から8,9.10を経由して信号線11に出力
してもよい。
The desired real address may be obtained by referencing the address translation buffer once again, or may be output from register 13 to signal line 11 via registers 8, 9, and 10.

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

上の実施例においては第1、第2のアドレス変換テーブ
ル0)先頭アドレスは共に処理装置内部のレジスタに貯
えられるものとしたが、これらは例えば主記憶上のデー
タとして貯えられているものであってもよい。
In the above embodiment, both the first and second address conversion table 0) 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.

その場合にはレジスタ60゜610データを出力するか
わりに、必要な主記憶アクセスを行なうことになる。
In that case, instead of outputting register 60.degree. 610 data, the necessary main memory access will be 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 using one address translation table. The effectiveness of the present invention is clear even if this is due to a two-stage (generally multiple stages) chiffle, such as a segment chiffle and a page chiffle, as seen in many prior art techniques.

さらに本発明については、容易に次のような拡張をする
ことができる。
Furthermore, the present invention can be easily extended as follows.

即ち、先にも述べたように仮想アドレスの多重度は実施
例に示した3段階ばかりでなくこれより多いものも少な
いものも考えられる。
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.

一般に仮想アドレスが(M+1 )重である場合にはア
ドレス変換チーフルはM組のものが存在する。
Generally, when there are (M+1) virtual addresses, there are M sets of address translation tables.

したがってこのときにはアドレス変換テーブルの先頭ア
ドレスを示すレジスタ(または主記憶上のデータエリア
)をM個設けて本発明を実施することができる。
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 improved.

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

その−は、処理装置内部のレジスタ62または主記憶上
のデータの形で、処理装置に仮想アドレスの多重度Mを
通知する方法である。
The second 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組のアドレス
変換テーブルの参照を行ない、第0組のアドレス変換テ
ーブルを参照した結果をもって実アドレスとする。
At this time, the processing device reads M, refers to M sets of address translation tables, and uses the result of referring to the 0th set of address translation tables as a real address.

但し、この方法においてアドレス変換テーブルの先頭ア
ドレスを処理装置内部にレジスタ群として有するのであ
れば、Mはレジスタの総数N以下でなくてはならないと
いう制限が生ずる。
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 where virtual addresses generally have a multiplexed structure. It was possible to eliminate the consumption of time and resources.

本発明については1回のアドレス変換時間(最上位の仮
想アドレスから実アドレスまでの変換に要する総時間)
がシャドウテーブルを設けた場合よりも大きくなるとい
う欠点がある。
Regarding the present invention, one address translation time (total time required for translation from the highest virtual address to the real address)
This has the disadvantage that it becomes larger 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 will be a shadow of the overall program processing time. This is much smaller than the overhead associated with table creation and management, and processing capacity can be improved.

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

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

Claims (1)

【特許請求の範囲】[Claims] 1 仮想記憶を有する計算機システムにおいて実現され
る仮想計算機システムにおいて、M組のアドレス変換手
段であって、第1のアドレス変換手段は仮想計算機の仮
想アドレスを第2のアドレスに変換し、第にのアドレス
変換手段は第にのアドレスを第(K+1 )のアドレス
に変換し、第Mのアドレス変換手段は第Mのアドレスを
主記憶装置の実アドレスに変換するM組のアドレス変換
手段と(但しに=1.2、・・・・・・・・・M−1)
、上記仮想計算機の仮想アドレスとそれに対応する上記
主記憶装置の実アドレスとを示すアドレス変換対を保持
するアドレス変換バッファとを有し、処理装置が該アド
レス変換バッファを用いて仮想計算機の仮想アドレスを
、それに対応する主記憶装置の実アドレスに変換しよう
とするとき、所要のアドレス変換対が該アドレス変換バ
ッファに存在しなかった場合には、前記M段のアドレス
変換手段を順次使用することによって所要の実アドレス
を得て、該実アドレスを対応する仮想アドレスと共に該
アドレス変換バッファに登録することを特徴とするアド
レス変換装置。
1. In a virtual computer system realized in a computer system having virtual memory, there are M sets of address translation means, the first address translation means converts the virtual address of the virtual machine to a second address, and the first The address conversion means converts the first address into the (K+1)th address, and the M-th address conversion means converts the M-th address into a real address of the main storage device. =1.2,...M-1)
, 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 a processing device uses the address translation buffer to convert the virtual address of the virtual machine. When attempting to convert the address into the corresponding real address of the main memory, if the required address conversion pair does not exist in the address conversion buffer, by sequentially using the M stages of address conversion means. An address translation device characterized by obtaining a required real address and registering the real address together with a corresponding virtual address in the address translation buffer.
JP52100501A 1977-08-24 1977-08-24 address translation device Expired JPS5858752B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JPS5434722A JPS5434722A (en) 1979-03-14
JPS5858752B2 true JPS5858752B2 (en) 1983-12-27

Family

ID=14275674

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS5858752B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5690355A (en) * 1979-12-24 1981-07-22 Nec Corp Data processing unit
JPS58194189A (en) * 1982-05-10 1983-11-12 Nec Corp Address converting system in virtual computer system
JPH04128021U (en) * 1991-05-17 1992-11-20 河村電器産業株式会社 Wire sheath stripping device
JP5246014B2 (en) * 2009-04-22 2013-07-24 富士通株式会社 Virtualization program, virtualization processing method and apparatus

Also Published As

Publication number Publication date
JPS5434722A (en) 1979-03-14

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
JP3666689B2 (en) Virtual address translation method
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP2625385B2 (en) Multiprocessor system
US5694567A (en) Direct-mapped cache with cache locking allowing expanded contiguous memory storage by swapping one or more tag bits with one or more index bits
US5182805A (en) Method and system for determining copy-on-write condition
JPH04319747A (en) Address converting mechanism
JPS61141055A (en) Information processor
JPH04320553A (en) Address converting mechanism
JPH0654478B2 (en) Computer system
KR960001945B1 (en) Apparatus for increasing the number of hits in a translation
CN114328295A (en) Storage management apparatus, processor, related apparatus and related method
JPH0512126A (en) Device and method for address conversion for virtual computer
JP2768503B2 (en) Virtual memory address space access control method
JP3210637B2 (en) Method and system for accessing a cache memory in a data processing system
JPH0550776B2 (en)
JPS5858752B2 (en) address translation device
JP2008511882A (en) Virtual address cache and method for sharing data using unique task identifiers
JPS6143744B2 (en)
EP0502211A1 (en) System equipped with processor and method of converting addresses in said system
JPS623354A (en) Cache memory access system
JP3447588B2 (en) Memory management device, method, and storage medium storing program
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