[go: up one dir, main page]

JPH03147039A - Address conversion device for data processing system - Google Patents

Address conversion device for data processing system

Info

Publication number
JPH03147039A
JPH03147039A JP1282954A JP28295489A JPH03147039A JP H03147039 A JPH03147039 A JP H03147039A JP 1282954 A JP1282954 A JP 1282954A JP 28295489 A JP28295489 A JP 28295489A JP H03147039 A JPH03147039 A JP H03147039A
Authority
JP
Japan
Prior art keywords
address
area
tlb
data processing
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.)
Pending
Application number
JP1282954A
Other languages
Japanese (ja)
Inventor
Hidenori Umeno
梅野 英典
Taro Inoue
太郎 井上
Hideo Sawamoto
英雄 澤本
Toshiharu Tanaka
俊治 田中
Hiroshi Ikegaya
池ヶ谷 浩
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 JP1282954A priority Critical patent/JPH03147039A/en
Publication of JPH03147039A publication Critical patent/JPH03147039A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 【産業上の利用分野〕 本発明はデータ処理システムに係り、特に、システムを
論理的に複数の区画に分割して運用するときに好適なア
ドレス変換装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing system, and particularly to an address translation device suitable for operating a system by logically dividing it into a plurality of partitions.

〔従来の技術〕[Conventional technology]

従来、データ処理システムを論理的に複数の区画に分割
して運用するシステムが特開昭64−37636に示さ
れている。これは、いわゆる1台の実計算機システムの
下で複数台のオペレーティングシステム(OS)を動作
させることのできる仮想計算機システムのひとつの実現
形態である。これを今、論理分割型の仮想計算機システ
ムと呼ぶ6仮想計算機システムにおいては、それを実現
している実計算機システム(これを以後、ホスト実計算
機システムと呼ぶ)と、それと同一か又は類似のアーキ
テクチャを有する複数台の仮想計算機(V M : V
irtual Machine)からなる。
2. Description of the Related Art Conventionally, a system for operating a data processing system by logically dividing it into a plurality of partitions is disclosed in Japanese Patent Laid-Open No. 37636/1983. This is one implementation form of a virtual computer system that can operate a plurality of operating systems (OS) under a so-called one real computer system. This is now called a logically partitioned virtual computer system.6 In a virtual computer system, the real computer system that realizes it (hereinafter referred to as the host real computer system) and the same or similar architecture. Multiple virtual machines (VM: V
virtual machine).

各VMは同時走行可能であり、VM上では、そのオペレ
ーティングシステムが動作する。
Each VM can run concurrently, and its operating system runs on the VM.

このような仮想計算機システムでは、各VM上のO8が
、メモリアクセスを行うときに、論理アドレスを生成す
る。この論理アドレスは、システムの主記憶装置にアク
セスするために、最終的には、システムの主記憶でのア
ドレス(これをシステム主記憶アドレスという)に変換
される。このアドレス変換を行うために、ホスト実計算
機は、アドレス変換バッファ(T L B : Tra
nslationLook−aside Buffer
)を有する。TLBには、上記論理アドレスと対応する
システム主記憶アドレスとが登録されており、これによ
り、TLBに登録されていれば、高速にアドレス変換を
行うことができる。さらに、もし、TLBに登録されて
いないときは、主メモリ上にO8により、構成されてい
る変換テーブルを用いて変換することになる。
In such a virtual machine system, the O8 on each VM generates a logical address when performing memory access. This logical address is ultimately converted into an address in the system's main memory (this is referred to as a system main memory address) in order to access the system's main memory. In order to perform this address translation, the host real computer uses an address translation buffer (TLB: Tra
nslationLook-aside Buffer
). The system main memory address corresponding to the above-mentioned logical address is registered in the TLB. Therefore, if the logical address is registered in the TLB, address translation can be performed at high speed. Furthermore, if it is not registered in the TLB, conversion is performed using a conversion table configured by O8 in the main memory.

これらは周知の事実である。These are well known facts.

さて、仮想計算機システムにおいては、複数のVM上の
O8が同時に論理アドレスを生成するため、これをVM
間で区別する必要性が発生する。
Now, in a virtual machine system, O8 on multiple VMs generates logical addresses at the same time, so this is
There arises a need to distinguish between

それは、VM間では、同一の論理アドレスであっても、
異なるシステム主記憶アドレスに対応するのが一般的だ
からである。
Even if the logical address is the same between VMs,
This is because they generally correspond to different system main memory addresses.

このためには、TLB内に、論理アドレスの他に、7M
識別子を持てば良いが、ソフトウェアが用いるVMfi
別子は、例えば、8バイトの名称であるとか、4バイト
のVM制御ブロックのアドレスとかであり、TLB内に
持つには、ビット数が大きすぎて持てない。
For this purpose, in addition to the logical address, 7M
It is fine to have an identifier, but the VMfi used by the software
The identifier is, for example, an 8-byte name or a 4-byte VM control block address, and the number of bits is too large to be included in the TLB.

このため、従来は、特開昭360−57449に示され
るように、ソフトウェアが用いる7M識別子をローカル
ストレジ等のメモリ上にスタックしておき、そのスタッ
クのエントリ番号をTLBに登録している0例えば、ス
タックの全エントリ数が16個とすると、TLBには4
ビツト用意しておけば良くなり、TLBの必要ビット数
を削減することができる。このスタックのエントリ番号
をハードウェアであるTLBが7M識別子として用いる
訳である。
For this reason, conventionally, as shown in Japanese Patent Application Laid-Open No. 360-57449, the 7M identifier used by software is stacked in a memory such as a local storage, and the entry number of the stack is registered in the TLB. For example, if the total number of entries in the stack is 16, the TLB contains 4 entries.
It is sufficient to prepare the bits in advance, and the number of required bits of the TLB can be reduced. This stack entry number is used by the hardware TLB as a 7M identifier.

論理分割型の仮想計算機システムにおいても同様のTL
Bが使用されていると推定される。
The same TL also applies to logically partitioned virtual machine systems.
It is presumed that B is used.

この論理分割型仮想計算機システムにおいては、第2図
に示すように、システムの主記憶装置を領域に分割し、
各領域を仮想計算機の主記憶として使用する。従って、
このようなシステムでは。
In this logically partitioned virtual computer system, the main storage of the system is divided into areas, as shown in Figure 2.
Each area is used as the main memory of the virtual machine. Therefore,
In such a system.

領域と仮想計算機とが一対一に対応するので、領域識別
子と仮想計算機織子とは、等価な意味をもつ。
Since there is a one-to-one correspondence between an area and a virtual machine, the area identifier and the virtual machine identifier have equivalent meanings.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術により、VM間の論理アドレスを区別する
ことができるが、この方法、すなわち。
Although the above-mentioned conventional technology allows distinguishing logical addresses between VMs, this method, ie.

ソフトウェアVMi別子のスタックを持つことは以下の
問題点がある。
Having a stack of software VMi identifiers has the following problems.

(1)スタックの中味を調べるオーバヘッドが大きい、
VMをスタートさせるとき、そのソフトウェアVMm別
子が、スタック内に存在するが否かを調べなければなら
ない。存在するときは、そのときのエントリ番号、すな
わち、ハードウェア用のVJI別子を決定し、存在しな
ければ、新たに登録をして、エントリ番号を決定しなけ
ればならない。
(1) The overhead of checking the contents of the stack is large.
When starting a VM, it must check whether its software VMm identifier exists in the stack. If it exists, the entry number at that time, that is, the hardware VJI identifier, must be determined; if it does not exist, it must be newly registered and the entry number must be determined.

(2)上記のスタックがオーバフローしたときの処理に
種々の問題点がある。上記のスタックがオーバフローし
たとき、スタック内のどれがひとつのエントリを無効化
し、そのとき該当するTLBのエントリも無効化しなけ
ればならない。
(2) There are various problems in the processing when the above-mentioned stack overflows. When the above stack overflows, any entry in the stack must invalidate one entry, and then the corresponding TLB entry must also be invalidated.

どのエントリを無効化するかの選択のとき、例えば、最
も古く使われたエントリを選択することが良く行なわれ
るが、そのためには、最も古く使用されたエントリが容
易に見つかるようなスタックの構造にしなければならな
い。このため、スタック処理のオーバヘッドが増大する
When choosing which entry to invalidate, for example, it is common practice to select the oldest used entry. To do this, the stack structure must be such that the oldest used entry can be easily found. There must be. Therefore, the overhead of stack processing increases.

それを避けるため、スタックがオーバフローしたときは
、スタックを全てパージするという方法があるが、この
とき、TLBも全てパージしなければならない。よって
、システムの性能を低下させることとなる。
To avoid this, there is a method of purging the entire stack when the stack overflows, but at this time, all TLBs must also be purged. Therefore, the performance of the system will be degraded.

このように、従来技術において、スタックを持つことに
より、TLB内のハードウェア用のVM識別子のビット
数は削減することができるが、逆に、スタックを保守す
るためのオーバヘッドが大きくなるという問題点がある
In this way, in the conventional technology, by having a stack, the number of bits of the hardware VM identifier in the TLB can be reduced, but on the other hand, the problem is that the overhead for maintaining the stack increases. There is.

本発明の目的は、これらの問題点を解決することである
。すなわち、論理分割型の仮想計算機システムにおいて
、ソフトウェアVMra別子のスタックを用いることも
なく、さらに、TLB内のハードウェア用のVM識別子
のビット数を比較的小さく抑えるための方式を提供する
ことが9本発明の目的である。
The purpose of the present invention is to solve these problems. That is, it is possible to provide a method for keeping the number of bits of a hardware VM identifier in a TLB relatively small in a logically partitioned virtual computer system without using a stack of software VMra identifiers. 9. This is an object of the present invention.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために本発明においては以下の手段
を用いる。
In order to achieve the above object, the present invention uses the following means.

すなわち、論理分割型仮想計算機システムにおいては、
システムの主記憶装置を複数個の領域に分割する。その
各領域がVMの主記憶として使用される。ここで、各領
域は、一定の境界条件を満足するようにしてもかまわな
い。なぜなら、 VM上のO8の性能を保証するために
、ある程度の大きさの領域を与えなければならないから
である。
In other words, in a logically partitioned virtual computer system,
Divide the system's main memory into multiple areas. Each area is used as the VM's main memory. Here, each region may satisfy certain boundary conditions. This is because in order to guarantee the performance of O8 on the VM, a certain amount of space must be provided.

例えば、1メガバイト(MB)境界とか、16MB境界
とか、32MB境界とか64MB境界とかである。現在
、システムの主記憶の最大値は、2ギガバイト(QB)
すなわち202O48(すなわち31ビツト)である、
よって、上記領域の起点アドレス(α)は、IMB (
すなわち20ビツト)境界のときは、11ビツト(10
=31−20)で表現される。同様にして、起点アドレ
スαが。
For example, there are 1 megabyte (MB) boundaries, 16MB boundaries, 32MB boundaries, and 64MB boundaries. Currently, the maximum main memory of the system is 2 gigabytes (QB).
That is, 202O48 (i.e. 31 bits),
Therefore, the starting point address (α) of the above area is IMB (
In other words, when the boundary is 20 bits, it is 11 bits (10 bits).
=31-20). Similarly, the starting point address α is

16MB境界、32MB境界、64MB境界のときは、
起点アドレスαは、それぞれ、7ビツト。
In case of 16MB boundary, 32MB boundary, 64MB boundary,
Each starting point address α has 7 bits.

6ビツト、5ビツトで表現されることになる。It will be expressed in 6 bits and 5 bits.

以上の起点アドレスαの制限を前提として、以下の手段
を設ける。
On the premise of the above restriction on the starting point address α, the following means are provided.

(1)CPU内に、現在走行中のVMの所有する主記憶
領域の起点アドレスαを保持する手段(2)TLB内に
、VM上のO8の生成した論理アドレスとともに、該V
Mの主記憶領域の起点アドレスを登録する手段 (3)TLBの一致判断制御論理において、CPU内の
現在走行中VMの主記憶領域の起点アドレスと、TLB
内の領域起点アドレスとの一致条件を判定する手段 これらの手段を設けることにより、ホスト実計算機のア
ドレス変換論理において、従来のソフトウェアVMi別
子のスタックを除外することができる。さらに、上記領
域の起点アドレスの境界条件を制限することにより、該
起点アドレスを表現するためのビット数を小さくするこ
とができる。
(1) Means for holding in the CPU the starting point address α of the main storage area owned by the currently running VM (2) In the TLB, the starting point address α of the main storage area owned by the VM currently running
Means for registering the starting point address of the main storage area of M (3) In the TLB coincidence judgment control logic, the starting point address of the main storage area of the currently running VM in the CPU and the TLB
By providing these means, it is possible to exclude the conventional software VMi identifier stack in the address translation logic of the host real computer. Furthermore, by limiting the boundary conditions of the starting point address of the area, the number of bits for expressing the starting point address can be reduced.

さらに、この小さくした該起点アドレスをTLBに登録
して、ハードウェアによるVM識別子として用いること
により、TLBにおけるビット数の増加もまた防止する
ことができる。
Furthermore, by registering this reduced starting point address in the TLB and using it as a hardware-based VM identifier, it is also possible to prevent an increase in the number of bits in the TLB.

これにより、従来の問題点を解決することができる。Thereby, conventional problems can be solved.

さらに、ホスト実計算機が、単一O8で動作するとき、
これをネイティブ(Native)モードというが、こ
のネイティブモードにおいては、その主記憶装置が論理
的に分割されることはない。
Furthermore, when the host actual computer operates on a single O8,
This is called a native mode, and in this native mode, the main storage device is not logically divided.

さらにVM@別子白子自体要となる。Furthermore, VM@Besshi Shirako itself becomes a key point.

従って、TLB内の領域起点アドレスフィールドは不要
である。
Therefore, the region origin address field in the TLB is not required.

このようなネイティブモードでは、TLB内の該領域起
点アドレスフィールドと、システム主記憶アドレスフィ
ールドとを連結して、システム主記憶アドレスを表現で
きるビット数を増加させる手段をも有する。
Such native mode also includes means for concatenating the region start address field in the TLB and the system main memory address field to increase the number of bits that can represent the system main memory address.

このときは、TLBを検索するときの一致判断制御にお
いて、上記起点アドレスの比較判断は行なわないように
する手段をも有する。
At this time, in the match determination control when searching the TLB, there is also a means for not performing the comparison determination of the starting point address.

これらの手段により、実計算機がネイティブモードで動
作するときは、TLBにおけるシステム主記憶アドレス
を表現するビット数を増加させることができる。これは
、より大きなシステム主記憶をアドレッシングできる能
力をTLBに与える。
By these means, when the real computer operates in native mode, the number of bits representing the system main memory address in the TLB can be increased. This gives the TLB the ability to address larger system main memory.

〔作用〕[Effect]

これらの手段は以下のように作用する。 These means operate as follows.

(1)先ずVMを領域においてスタートさせるとき。(1) First, when starting a VM in an area.

該領域の起点アドレスαがレジスタに設定される。The starting point address α of the area is set in the register.

(2)VM上のO8が論理アドレスを生成したとき、先
ずTLBを検索することにより、これをシステム主記憶
アドレスに変換しようと試みる。これは、周知のアドレ
ス変換動作である。
(2) When the O8 on the VM generates a logical address, it first tries to convert it to a system main memory address by searching the TLB. This is a well-known address translation operation.

(3)システムの動作の初めには、T L Bには、何
も登録されていないから、主メモリ」二にあるO8の作
成したアドレス変換テーブルを検索することにより、該
論理アドレスをシステム主記憶アドレスに変換する。こ
のアドレス変換テーブルは、上記VM上のO8が作成、
管理するテーブルである。これらもまた周知のアドレス
変換動作である。
(3) At the beginning of system operation, nothing is registered in TLB, so by searching the address translation table created by O8 in main memory 2, the logical address is transferred to the system master. Convert to storage address. This address translation table is created by O8 on the above VM,
This is a table to manage. These are also well known address translation operations.

(4)上記の結果、変換された論理アドレスと対応する
システム主記憶アドレスは、TLBに登録される。これ
もまた、周知の動作である。
(4) As a result of the above, the system main memory address corresponding to the converted logical address is registered in the TLB. This is also a well-known operation.

(5)さらに本発明においては、該領域の起点アドレス
αをもTLB内のXMffi別子として、(4)におけ
る’I−8と同時に登録する。
(5) Furthermore, in the present invention, the starting point address α of the area is also registered as the XMffi identifier in the TLB at the same time as 'I-8' in (4).

(6)こ九以後、同−VMから同一の論理アドレスが生
成されたとき、TLBによるアドレス変換において、論
理アドレスの一致条件と同時に、上記領域起点アドレス
の一致条件をも判断することにより、該VMの論理アド
レスをシステム主記憶アドレスに変換する。
(6) From now on, when the same logical address is generated from the same VM, in the address translation by TLB, the matching condition of the above area starting point address is also determined at the same time as the matching condition of the logical address. Converts a VM's logical address to a system main memory address.

以上により、VM間の論理アドレスを、その領域の起点
アドレスにより区別し、かつソフトウェアVM識別子の
スタックを不要とし、かつTLB内のハードウェアとし
てのV M m白子のビット数を低減することができる
As described above, it is possible to distinguish logical addresses between VMs by the start address of the area, eliminate the need for a stack of software VM identifiers, and reduce the number of bits of the VM white as hardware in the TLB. .

さらに、実計算機がネイティブモードのときは、TLB
内の前述のv M il別子、すなわち、領域起点アド
レスフィールドとシステム主記憶アドレスフィールドと
を連結して、ひとつのよりビット数の多いシステム主記
憶アドレスを構成することができる。
Furthermore, when the actual computer is in native mode, the TLB
The above-mentioned v M il identifier, that is, the area start address field and the system main memory address field can be concatenated to form one system main memory address with a larger number of bits.

これにより、ネイティブモードのときにも、’T” t
、 Bの該起点アドレスフィールドを有効に使うことが
できる。
This allows 'T" t even when in native mode.
, B can be effectively used.

〔実施例〕〔Example〕

以ド、本発明の一実施例を第1図により説明する。 Hereinafter, one embodiment of the present invention will be explained with reference to FIG.

第1図は、データ処理システムにおいて1本発明の特徴
を含むアドレス変換装置である。第1図において、従来
と異なるのはアドレス変換バッファ(TLB)21に、
ハードウェアが使用するVM識別子として、領域の起点
アドレス(α)を含むことである。このTLB21への
領域起点アドレスαの登録、及び、TLB21の検索時
における該αの比較論理のところが本発明の特徴である
。その他の所は従来技術と何ら変わることはない。
FIG. 1 is an address translation device that includes one feature of the present invention in a data processing system. In FIG. 1, the difference from the conventional one is that the address translation buffer (TLB) 21 is
The starting point address (α) of the area is included as a VM identifier used by the hardware. The feature of the present invention is the registration of the area starting point address α in the TLB 21 and the comparison logic of this α when searching the TLB 21. In other respects, there is no difference from the conventional technology.

上記の領域を説明するために、第2図を説明する。In order to explain the above-mentioned area, FIG. 2 will be explained.

第2図の40は仮想計算機システムをサポートする実計
算機(すなわちホスト計算機)の主記憶装置であり、そ
れが領域0.領域1.・・・、領域4に分割されている
状態を示している。
40 in FIG. 2 is the main storage device of the real computer (that is, the host computer) that supports the virtual computer system, and it is the area 0. Area 1. . . . indicates a state where the area is divided into area 4.

この領域は、論理的な分割による。どのように分割する
かは、領域4に存在するハイパバイザによって管理され
る。領域I(は、主記憶・10の高位アドレス部分を占
める。その起点アドレス)(oは、システム立ち上げ時
固定される。)Ioより」1位は、ハイパバイザと呼ば
れるソフトウェアが存在し、各VMのスケジューリング
を行う。
This area is logically divided. How to divide is managed by the hypervisor existing in area 4. Area I (occupies the high-order address part of main memory 10. Its starting point address) (o is fixed at system startup.) From Io, in the first place, there is software called a hypervisor, and each VM schedule.

例えば、領域1は、アドレスαlからα2まで(α2含
まず)の主記憶を占める。VM]、の主記憶41は、領
域1にマツピングされ、そのアドレスは、0からα2−
α1まで(α2−α1は含まない)である。さらに、V
 M l上のOS 1が仮想空間42を構成するときは
、O81がその主記憶41上にアドレス変換テーブルを
構成し、これによって、仮想空間42から主記憶41へ
のマツピングが行なわれる。以上の第2図における方式
は周知の技術である。
For example, area 1 occupies the main memory from address αl to α2 (excluding α2). VM], the main memory 41 is mapped to area 1, and its addresses range from 0 to α2-
up to α1 (not including α2-α1). Furthermore, V
When the OS 1 on M1 configures the virtual space 42, the OS 81 configures an address translation table on its main memory 41, thereby mapping the virtual space 42 to the main memory 41. The method shown in FIG. 2 above is a well-known technique.

以上より明らかなように、VM識別子と領域識別子とは
等価な意味をもつ。
As is clear from the above, the VM identifier and the area identifier have equivalent meanings.

さらに、各領域の起点アドレスを、論述するために、第
3図を説明する。
Further, FIG. 3 will be described to discuss the starting point address of each area.

第2図における各領域の起点アドレス(α)は−定の境
界制限を設ける。第3図は、1メガバイト(IMB=2
20B)境界、16MB境界、32M B境界、64M
B境界の場合の該αのビット数を示している。すなわち
、上記の順番で行くと、該αのビット数は、11ビツト
、7ビツト、6ビツト。
The starting point address (α) of each area in FIG. 2 has a - constant boundary restriction. Figure 3 shows 1 megabyte (IMB=2
20B) Boundary, 16MB Boundary, 32MB B Boundary, 64M
It shows the number of bits of α in case of B boundary. That is, in the above order, the number of bits of α is 11 bits, 7 bits, and 6 bits.

5ビツトである。It is 5 bits.

このαを何ビットにするかは、第1図に示すTLB21
の容量に大きく依存している。すなわち、TLB21の
該αを登録するフィールドの容量が最大7ビツトであれ
ば境界条件としては、16MB境界、32MB境界、6
4MB境界が許される。
The number of bits for this α is determined by the TLB 21 shown in FIG.
It is highly dependent on the capacity of In other words, if the capacity of the field that registers α in TLB 21 is 7 bits at most, the boundary conditions are 16 MB boundary, 32 MB boundary, 6
4MB boundaries are allowed.

この領域起点アドレスαの境界条件は、この論理分割型
の仮想計算機システムを立ちあげるときに、ハイパバイ
ザが、CPUフィーチャを読み出すことにより、決定さ
れる。
The boundary condition of this area starting point address α is determined by the hypervisor reading the CPU feature when starting up this logically partitioned virtual computer system.

TLB21の該αの登録フィールドの大きさはC,PU
毎に異なるため、CPUフィーチャとして与えられる。
The size of the registration field of this α in TLB21 is C, PU
Since each feature is different, it is given as a CPU feature.

ハイパバイザは、システムを立ちあげるときに、この情
報を読み出して、該領域起点アドレスαの境界条件を決
定する。
When the hypervisor starts up the system, it reads this information and determines the boundary conditions for the area starting point address α.

その後、システムのオペレータが、該境界条件に基づい
て各領域を決定する。あるいは、VMのディレクトリに
基づき、VMをログオン(log −on)したときに
、ディレクトリに定義されている主記憶サイズに従って
、そのサイズを満足する領域を決定する。
A system operator then determines each region based on the boundary conditions. Alternatively, based on the VM directory, when the VM is logged on, an area that satisfies the main memory size defined in the directory is determined.

第3図に示すように、領域の起点アドレスαに境界条件
を設けること自体は、従来技術と何ら変わらない。
As shown in FIG. 3, providing a boundary condition at the starting point address α of the area is no different from the prior art.

本発明は、第2図に示す論理分割型の仮想計算機システ
ムにおいて、第1図のTLB21に示すように、システ
ム主記憶40の大きさの増大とともに、領域の大きさも
又大きくなることから、実際の運用において該αを表現
するためのビット数は、小さくなる傾向にある。この点
に注目して、本発明では、第1図のTLB21に、該α
そのものを、登録する訳である。
In the logically partitioned virtual computer system shown in FIG. 2, the present invention is based on the fact that as the size of the system main memory 40 increases, the area size also increases, as shown in the TLB 21 in FIG. In the operation of , the number of bits for expressing α tends to become smaller. Paying attention to this point, in the present invention, the α
This means that it is registered.

ここで再び、第1図に戻り、動作説明を行う。Here, returning to FIG. 1 again, the operation will be explained.

ハイパバイザが、領域において、VMをスタートさせる
とき、システム主記憶読出しデータにより、該領域の起
点アドレスαがS A R(StartAddress
 Register) 10に設定され、該領域の終点
アドレスβがE A R(End Address R
egister)11に設定される。該VM上でO8が
その仮想空間を構成するために、セグメントテーブルを
構成し、その先頭アドレス(STO)をSTOR(Se
gment Table Origin Regist
er) 12にロードする。VM上のO8が生成した論
理アドレスは、L A R(Logical Addr
ess Register) 13に設定される。これ
らの動作は従来と同じである。
When the hypervisor starts a VM in an area, the system main memory read data causes the start address α of the area to be S A R (StartAddress
Register) is set to 10, and the end address β of the area is E A R (End Address R
egister) is set to 11. In order for O8 to configure its virtual space on the VM, it configures a segment table and sets its start address (STO) to STOR (Se
gment Table Origin Register
er) Load into 12. The logical address generated by O8 on the VM is LAR (Logical Addr).
ess Register) is set to 13. These operations are the same as before.

LAR13内の論理アドレス(x)は、最初は、TLB
21には登録されておらず、従って、動的アドレス変換
機構DAT20によりシステム主記憶アドレスに変換さ
れる。DAT20は、5AR10内の現領域起点アドレ
スα、EAR11内の現領域終点アドレスβ、5TOR
12内の現走行中VM上のO8が構成したセグメントテ
ーブルの先頭アドレスSTO,LAR13内の論理アド
レス(x)のページアドレス部LAを入力とし、該O8
のセグメントテーブル及び、ページテーブルを検索して
、該LAを対応するシステム主記憶ページアドレスPA
に変換し、線35を経由して、レジスタMAR19に設
定する。このとき、ページ内のアドレスDXは、線37
を経由してそのままMAR19の下位に設定される。さ
らに、レジスタEARII内の領域終点アドレスβを用
いて、該領域外へのアクセスがなされいないかチエツク
され、もし、そこへアクセスしていれば、線34にアド
レス例外信号を発生し、プログラム割込みを発生させる
。以上のDAT20の動作は従来と同じである。
The logical address (x) in LAR13 is initially TLB
21, and is therefore converted into a system main memory address by the dynamic address translation mechanism DAT20. DAT20 is the current area starting point address α in 5AR10, the current area ending point address β in EAR11, and 5TOR.
The starting address STO of the segment table configured by O8 on the currently running VM in 12, the page address part LA of the logical address (x) in LAR13 is input, and the O8
The segment table and page table of the LA are searched to determine the corresponding system main memory page address PA.
and set it in register MAR19 via line 35. At this time, the address DX within the page is the line 37
It is directly set to the lower level of MAR19 via . Furthermore, the area end address β in register EARII is used to check whether there is an access outside the area, and if there is an access, an address exception signal is generated on line 34 and a program interrupt is generated. generate. The above operation of the DAT 20 is the same as the conventional one.

DAT20によるアドレス変換が例外なく成功してMA
Rl9に設定されたとする。このとき。
Address conversion by DAT20 is successful without exception and MA
Assume that it is set to Rl9. At this time.

MARl9内の変換後のシステム主記憶ページアドレス
PAは、線38を経由して、TLB21の該当のエント
リに書き込まれる。TLB2]−の該当のエントリすな
わち、TLB21の該当カラムは、LAR13の論理ア
ドレスのページ部分LAの一部分をハツシングすること
により決定される。
The converted system main memory page address PA in MAR19 is written to the corresponding entry in TLB21 via line 38. TLB2]-, that is, the corresponding column of TLB21, is determined by hashing a portion of the page portion LA of the logical address of LAR13.

この方ラム決定は、TLB@御部T L B 、C14
L:より行なわむる。このようにして、決定された、T
LB2Iの該当のカラムに、5ARIOの内容である領
域起点アドレスα、5TOR12内のセグメントテーブ
ル起点アドレスSTO,LAR13内の論理アドレスの
ページ部分LAも設定される。以北のようにして、論理
ページアドレスLAと対応するシステム主記憶ページア
ドレスPAがTLB21に登録された後、LAR13内
の論理アドレスは、DAT20によらず、TLB21に
より高速にシステム主記憶アドレスに変換される。
This Ram decision is TLB@Obe TLB, C14
L: I will do more. In this way, T
The area starting point address α, which is the contents of 5ARIO, the segment table starting point address STO in 5TOR12, and the page portion LA of the logical address in LAR13 are also set in the corresponding column of LB2I. After the logical page address LA and the corresponding system main memory page address PA are registered in the TLB 21 as described above, the logical address in the LAR 13 is quickly converted to a system main memory address by the TLB 21, regardless of the DAT 20. be done.

以上の動作の中で、従来と異なるのは、該領域の起点ア
ドレスαをTLB21に登録する部分だけであり、その
他は、従来と同じである。
Among the above operations, the only difference from the conventional method is that the starting point address α of the area is registered in the TLB 21, and the rest is the same as the conventional method.

以下に、TLBによるアドレス変換方式を述べる。The address translation method using TLB will be described below.

LAR13内の論理アドレス(x)は1周知のセットア
ソシャテイブ(set −associative)方
式により、TLB21によりシステム主記憶アドレスに
変換される。すなわち、Xは、ページアドレス部分LA
とページ内アドレス部分とからなる。
The logical address (x) in the LAR 13 is converted into a system main memory address by the TLB 21 using a well-known set-associative method. That is, X is the page address portion LA
and an address part within the page.

TLB21の制御部TLBC14は、上記LAを受は取
りその一部分ハツシングすることによって、TLB21
に登録する場所(カラム)を決定する。
The control unit TLBC14 of the TLB 21 receives the LA and hashes a part of it, thereby controlling the TLB 21.
Decide where (column) to register.

そのカラムのTLBのエントリの起点アドレスフィール
ドの内容α、セグメントテーブル起点アドレスフィール
ドの内容STO,論理アドレスフィールドの内容LA、
対応するシステム主記憶アドレスフィールドの内容PA
が、それぞ九、比較器15、比較器16.比較器17.
メモリアドレスレジスタMAR19に読み出される。こ
のとき、同時に、比較器15においては、上記TLBよ
り送られてきたαと現走行中VMの領域の起点アドレス
を含むレジスタ5ARIOの内容(α)との比較が行な
わわ、結果が、線33を経由してANDゲート18へ送
られる。また、TLB21より読み出されたSTOは、
現走行中VMのレジスタ5TOR12内のセグメントテ
ーブル起点アドレスST○と比較器16により比較され
、その結果が上記と同じANDゲート18に送られる。
Contents α of the starting point address field of the TLB entry in that column, contents STO of the segment table starting point address field, contents LA of the logical address field,
Contents of the corresponding system main memory address field PA
9, comparator 15, comparator 16. Comparator 17.
It is read out to memory address register MAR19. At this time, at the same time, the comparator 15 compares α sent from the TLB with the contents (α) of the register 5ARIO containing the starting point address of the area of the currently running VM, and the result is shown on the line 33. The signal is sent to the AND gate 18 via the . Moreover, the STO read from TLB21 is
It is compared with the segment table starting point address ST○ in the register 5TOR12 of the currently running VM by the comparator 16, and the result is sent to the same AND gate 18 as described above.

さらに、TLB21より読みだされたLAと、論理アド
レスレジスタLAR13内のLAとが比較器17により
比較され、結果が同じ<ANDゲート18に送られる。
Further, the LA read from the TLB 21 and the LA in the logical address register LAR13 are compared by the comparator 17, and the result is sent to the same <AND gate 18.

ANDゲート18の出力はメモリアドレスレジスタ19
の内容であるPAを確定する。すなわち、比較器15,
16.17での比較が全て一致したときのみ、MARl
、9の内容PAが確定される。このとき、論理アドレス
13内のページ内アドレスDXは、そのまま、MARl
9内の下位に設定される。以上がT L B 2−]−
によるアドレス変換方式である。
The output of AND gate 18 is sent to memory address register 19.
The content of PA is determined. That is, comparator 15,
16. Only when all comparisons in 17 match, MARl
, 9 is determined. At this time, the in-page address DX in the logical address 13 remains unchanged as MARl.
It is set at the lower end of 9. The above is T L B 2-]-
This is an address conversion method based on

以上のTLBアドレス変換動作で、従来と異なるのは、
領域の起点アドレスαを比較条件として使用するところ
だけであり、他は、従来と同じである。
The difference between the above TLB address conversion operation and the conventional one is as follows.
The only difference is that the starting point address α of the area is used as a comparison condition, and the rest is the same as the conventional method.

以上によって理解されるとおり、領域における論理アド
レスを、領域の起点アドレス(α)によって区別するこ
とができ、従来技術にみられるVM識別子のスタックを
別に設ける必要性はなくなる。
As understood from the above, logical addresses in an area can be distinguished by the starting point address (α) of the area, and there is no need to separately provide a stack of VM identifiers as seen in the prior art.

領域の起点アドレス(α)を表現するためのビット数も
大幅に小さくできるから、TLBのビット数も抑制する
ことができる。これにより、VM識別子のスタックを管
理するためのオーバヘッドを除外することができる。さ
らに、TLBの7M識別子として使用されるフィールド
のビット数の増大も防止することができる。
Since the number of bits for expressing the starting point address (α) of the area can also be significantly reduced, the number of bits of the TLB can also be suppressed. This allows the overhead of managing a stack of VM identifiers to be eliminated. Furthermore, it is possible to prevent an increase in the number of bits in the field used as the 7M identifier of the TLB.

第4図に、本発明の第2の実施例を示す。FIG. 4 shows a second embodiment of the invention.

第1図との違いは、ネイティブモードのフラグ45が存
在すること、T L B 21の領域の起点アドレス(
α)の格納フィールドに入力する値をセレクトするセレ
クタ41が存在することである。
The difference from FIG. 1 is that there is a native mode flag 45, and the start address of the TLB 21 area (
There is a selector 41 that selects the value to be input into the storage field of α).

セレクタ41の入力は領域起点アドレス(α)とレジス
タMAR’ 19’の上位部分である。前者は、レジス
タ5ARIOより線31を経由して与えられ、後者は、
線40を経由して与えられる。
The inputs of the selector 41 are the area starting point address (α) and the upper part of the register MAR'19'. The former is given via line 31 from register 5 ARIO, and the latter is
is provided via line 40.

レジスタMAR’  19’は、第1図のレジスタMA
R19よりも、上位の部分だけ長い。その上位部分は、
TLB21の領域起点アドレス(α)の格納フィールド
と同じ大きさである。
Register MAR'19' is register MA in FIG.
Only the upper part is longer than R19. The upper part is
It has the same size as the storage field for the area start address (α) of the TLB 21.

セレクタ41の出力は、フラグ45の内容f=1のとき
、MAR’  19’の上位部分が線40を経由して、
出力され、TLBの該当部へ入力される。
When the content of the flag 45 is f=1, the output of the selector 41 is as follows:
The data is output and input to the relevant section of the TLB.

さらに、セレクタ42が存在し、これには、TLB21
の領域アドレス(α)フィールドの値が線32を経由し
て入力される。セレクタ42の出力は、フラグ45の内
容f=1、すなわち、ネイティブモードのとき、入力さ
れた値は、線46側に出力され、MAR’19’の上位
部分に設定される。
Furthermore, there is a selector 42, which includes TLB21
The value of the area address (α) field of is input via line 32. When the output of the selector 42 is the content f=1 of the flag 45, that is, the native mode, the input value is output to the line 46 side and set in the upper part of MAR'19'.

さらに、ORゲート43が存在し、これは上記f=1、
すなわち、ネイティブモードのとき線33′には常に1
が出力される。これにより、上記のときは、比較器15
の結果は無視される。
Furthermore, there is an OR gate 43, which has the above f=1,
That is, in native mode there is always a 1 on line 33'.
is output. As a result, in the above case, the comparator 15
results are ignored.

フラグ45の値f=o、すなわち、非ネイティブモード
のとき、セレクタ41の出力は、領域の起点アドレス(
α)であり、レジスタ5ARIOの内容が線31を経由
してセレクタ41に入力され。
When the value f=o of the flag 45, that is, in non-native mode, the output of the selector 41 is the starting point address of the area (
α), and the contents of register 5ARIO are input to selector 41 via line 31.

TLB21側へ出力される。It is output to the TLB21 side.

さらに、上記f=oのときの、セレクタ42の出力は、
比較器15の方へ与えられる。すなわち、TLB21の
領域起点アドレス(α)が比較器15に入力され、現走
行VMの領域の起点アドレス(レジスタ 5ARIOの
内容)の(α)と比較される。さらにf=oのときは、
ORゲート43の出力は、比較器15の出力が、そのま
ま出力さ九、線33′を経由してANDゲート18に入
力される。また、f=oのときは、セレクタ42の出力
は、線46側には出力されないので。
Furthermore, when f=o, the output of the selector 42 is:
is applied to comparator 15. That is, the area starting point address (α) of the TLB 21 is input to the comparator 15, and is compared with (α) of the area starting point address (the contents of the register 5ARIO) of the currently running VM. Furthermore, when f=o,
The output of the OR gate 43 is the same as the output of the comparator 15, and is input to the AND gate 18 via a line 33'. Further, when f=o, the output of the selector 42 is not output to the line 46 side.

MAR’  19’ の上位部分には何も設定されず、
初期値Oのままである。
Nothing is set in the upper part of MAR'19',
It remains at the initial value O.

以上によって明らかなように、該フラグf=0のときは
、非ネイティブモードであり、そのときの第4図のシス
テム動作は、第1図のシステムの動作と全く同じである
As is clear from the above, when the flag f=0, it is a non-native mode, and the system operation of FIG. 4 at that time is exactly the same as the system operation of FIG. 1.

f=1.すなわち、ネイティブモードのときは。f=1. That is, when in native mode.

レジスタ5ARIOの内容は何ら動作に影響を与えず、
TLB21の領域起点アドレスフィールド(α)は、シ
ステム主記憶アドレスフィールドPAと連結されて、よ
り大きなシステム主記憶アドレスを表わす。このとき、
該フィールドαは上位アドレスビットを占める。こうし
て連結されたシステム主記憶アドレスは、レジスタMA
R’19′に設定される。
The contents of register 5ARIO have no effect on the operation.
The area start address field (α) of TLB 21 is concatenated with the system main memory address field PA to represent a larger system main memory address. At this time,
The field α occupies the upper address bits. The system main memory address concatenated in this way is the register MA
It is set to R'19'.

これによって分かるとおり、f=1のときは、TLB2
1内の領域アドレス格納フィールド(α)をより大きな
システム主記憶アドレスの表現手段として使用すること
ができる。
As can be seen from this, when f=1, TLB2
The area address storage field (α) within 1 can be used as a means of representing a larger system main memory address.

f=1.すなわち、ネイティブモードのときは、システ
ム主記憶と領域に分割することはしないから、TLB内
の領域起点アドレスは不要である。
f=1. That is, in the native mode, the area is not divided into the system main memory and the area, so the area starting address in the TLB is not necessary.

しかし、ネイティブモードフラグ45とセレクタ41.
42.ORゲート43の働きにより、該起点アドレスフ
ィールドをより大きなシステム主記憶アドレスの表現に
用いることができる。これによりTLBのフィールドの
有効活用ができる。
However, the native mode flag 45 and selector 41.
42. Due to the action of OR gate 43, the origin address field can be used to represent a larger system main memory address. This allows effective use of the TLB field.

〔発明の効果〕〔Effect of the invention〕

本発明によれば以下の効果がある。 According to the present invention, there are the following effects.

(1)論理分割型の仮想計算機システムにおいて、VM
識別子のスタックを作る必要性を除外し、これにより、
アドレス変換における該スタックの保守管理オーバヘッ
ドを除外することができる。
(1) In a logically partitioned virtual computer system, VM
Eliminating the need to create a stack of identifiers, this
Maintenance overhead of the stack in address translation can be eliminated.

(2)システム主記憶を分割した領域の起点アドレス表
現に必要なビット数を小さくし、それをアドレス変換バ
ッファ(TLB)のVMm別子または領域識別子として
登録する。これにより、VM間の論理アドレスを区別す
ることができるとともに、TLBのVMi別子フィール
ドのビット数を制限することができる。
(2) Reduce the number of bits required to represent the starting point address of the area into which the system main memory is divided, and register it as the VMm identifier or area identifier of the address translation buffer (TLB). This makes it possible to distinguish logical addresses between VMs, and to limit the number of bits in the VMi identifier field of the TLB.

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

第1図、第4図は本発明の実施例のアドレス変換装置の
ハードウェアブロック図、第2図は論理分割型仮想計算
機システムの主記憶の分割を示す説明図、第3図は領域
起点アドレスαのビット数を表わす図である。 10・・・領域開始アドレスαを含むレジスタ(SAR
)、11・・・領域終了アドレスβを含むレジスタ(E
AR)、12・・・セグメントテーブル起点アドレスを
含むレジスタ(STOR)、13・・・論理アドレスを
含むレジスタ(LAR)、14・・アドレス変換バッフ
ァ(TLBC)、19・・・アドレス変換後のアドレス
を含むレジスタ(MAR)、20・・動的アドレス変換
機構(DAT) 、21・・アドレス変換バッファ(T
LB)、40・・・システム主記憶装置。 ス シス払 −i1乙傳任:l:112.。 4)会ユ・−、lrフ 第 囚 lρ 冗 凹
1 and 4 are hardware block diagrams of an address translation device according to an embodiment of the present invention, FIG. 2 is an explanatory diagram showing division of main memory in a logically partitioned virtual computer system, and FIG. 3 is an area starting address FIG. 3 is a diagram showing the number of bits of α. 10...Register containing area start address α (SAR
), 11...Register containing area end address β (E
AR), 12... Register containing the segment table starting point address (STOR), 13... Register containing the logical address (LAR), 14... Address translation buffer (TLBC), 19... Address after address translation register (MAR), 20... dynamic address translation mechanism (DAT), 21... address translation buffer (T
LB), 40...System main storage device. Susispay-i1tsudenden:l:112. . 4) Kaiyu -, lrfu 1st prisoner lρ Jakugou

Claims (1)

【特許請求の範囲】 1、複数のオペレーティングシステムを動作させ、上記
データ処理システムの主記憶装置を論理的に複数の領域
に分割し、上記領域を上記オペレーティングシステムが
その主記憶領域として使用し、上記オペレーティングシ
ステムがその主記憶領域において論理アドレスを生成し
、その論理アドレスをデータ処理システムの主記憶アド
レスに変換するアドレス変換バッファを有するデータ処
理システムにおいて、アドレス変換バッファ内に上記主
記憶領域の起点アドレスを仮想計算機識別子又は領域識
別子として格納する手段を有することを特徴とするデー
タ処理システムのアドレス変換装置。 2、請求項1記載のデータ処理システムのアドレス変換
装置において、該データ処理システムはネイテイブモー
ドを有し、ネイテイブモードにおいては、アドレス変換
バッファ内の上記主記憶領域の起点アドレスを格納する
フィールドとシステムの主記憶アドレスを格納するフィ
ールドとを連結し、データ処理システムのひとつの主記
憶アドレスを表わすフィールドとして使用する手段を有
することを特徴とするデータ処理システムのアドレス変
換装置。 3、請求項1記載のデータ処理システムのアドレス変換
装置において、アドレス変換バッファ内の仮想計算機識
別子又は領域識別子を表わすためのビット数をCPUの
フイーチヤとして格納する手段と、それを読み取る手段
を有することを特徴とするデータ処理システムのアドレ
ス変換装置。
[Scope of Claims] 1. Operating a plurality of operating systems, logically dividing the main storage device of the data processing system into a plurality of areas, and using the area as its main storage area by the operating system; In a data processing system in which the operating system generates a logical address in its main memory area and has an address translation buffer that converts the logical address to a main memory address of the data processing system, the origin of the main memory area is located in the address translation buffer. An address translation device for a data processing system, comprising means for storing an address as a virtual machine identifier or an area identifier. 2. The address translation device for a data processing system according to claim 1, wherein the data processing system has a native mode, and in the native mode, a field and a system for storing a starting point address of the main storage area in the address translation buffer. 1. An address conversion device for a data processing system, comprising means for connecting a field storing a main memory address of the data processing system and using the field as a field representing one main memory address of the data processing system. 3. The address translation device for a data processing system according to claim 1, comprising means for storing the number of bits for representing the virtual machine identifier or area identifier in the address translation buffer as a feature of the CPU, and means for reading it. An address translation device for a data processing system characterized by:
JP1282954A 1989-11-01 1989-11-01 Address conversion device for data processing system Pending JPH03147039A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1282954A JPH03147039A (en) 1989-11-01 1989-11-01 Address conversion device for data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1282954A JPH03147039A (en) 1989-11-01 1989-11-01 Address conversion device for data processing system

Publications (1)

Publication Number Publication Date
JPH03147039A true JPH03147039A (en) 1991-06-24

Family

ID=17659274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1282954A Pending JPH03147039A (en) 1989-11-01 1989-11-01 Address conversion device for data processing system

Country Status (1)

Country Link
JP (1) JPH03147039A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286974A (en) * 1995-04-14 1996-11-01 Kofu Nippon Denki Kk Cache memory device
JP2007122305A (en) * 2005-10-27 2007-05-17 Hitachi Ltd Virtual computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286974A (en) * 1995-04-14 1996-11-01 Kofu Nippon Denki Kk Cache memory device
JP2007122305A (en) * 2005-10-27 2007-05-17 Hitachi Ltd Virtual computer system

Similar Documents

Publication Publication Date Title
US9996475B2 (en) Maintaining processor resources during architectural events
US4742450A (en) Method to share copy on write segment for mapped files
US7734893B2 (en) Method for speeding up page table address update on virtual machine
US6275917B1 (en) High-speed address translation system
KR920005853B1 (en) Data Transfer Method in Page Split Virtual Memory Data Processing System
JPH0816479A (en) Memory-address space management
JPH03142644A (en) Cache memory control system
EP0766177A1 (en) Information handling system including effective address translation for one or more auxiliary processors
JPH0652511B2 (en) Address conversion method for information processing equipment
US6427162B1 (en) Separate code and data contexts: an architectural approach to virtual text sharing
EP1204029A2 (en) Microprocessor and address translation method for microprocessor
CN112596913A (en) Method and device for improving performance of transparent large page of memory, user equipment and storage medium
KR20020016513A (en) Reclaim space reserve for a compressed memory system
JPH10283259A (en) Information processing device and processor
JPH03147039A (en) Address conversion device for data processing system
JPS644214B2 (en)
JPH05250263A (en) Virtual processor method and non-volatile storage method
JPH0211931B2 (en)
JPH01197844A (en) Address converter
JPH0235336B2 (en)
JPS6269338A (en) Address translation buffer control method
JPH02217945A (en) Cache memory system
JPS60134360A (en) information processing equipment
JPH0337217B2 (en)