JPH03185539A - data processing equipment - Google Patents

data processing equipment

Info

Publication number
JPH03185539A
JPH03185539A JP1325669A JP32566989A JPH03185539A JP H03185539 A JPH03185539 A JP H03185539A JP 1325669 A JP1325669 A JP 1325669A JP 32566989 A JP32566989 A JP 32566989A JP H03185539 A JPH03185539 A JP H03185539A
Authority
JP
Japan
Prior art keywords
address
register
identifier
buffer
contents
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
JP1325669A
Other languages
Japanese (ja)
Inventor
Mari Ara
荒 真理
Hidenori Sankai
山開 秀則
Hidenori Takeuchi
秀紀 竹内
Yukihiro Motomura
本村 幸広
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 JP1325669A priority Critical patent/JPH03185539A/en
Publication of JPH03185539A publication Critical patent/JPH03185539A/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 device that allows a program being executed to access operands in multiple spaces simultaneously, and in particular to a spatial address and a base point after spatial address conversion. The present invention relates to a data processing device having a spatial address translation buffer for storing pairs of addresses.

〔従来技術〕[Prior art]

従来、複数のアドレス空間制御方法については、アイ・
ビー・エム、システムジャーナル、28巻。
Conventionally, multiple address space control methods have been
B.M. System Journal, Volume 28.

1 (1989年)第15頁から第38頁(IBM。1 (1989) pp. 15-38 (IBM.

System  Journal、VOL28.Nol
、1989.PP15−38)において論じられている
System Journal, VOL28. Nol
, 1989. PP15-38).

また、アドレス空間上のアドレスと空間アドレス変換後
の基点アドレスの対を記憶するバッファについては、ア
イ・ビー・エム、エンタブライズ・システム・アーキテ
クチャ/370.プリアンプル・オブ・オペレーション
頁5−46〜5−48゜、頁10−53 (IBM、E
nterprise。
Further, a buffer for storing a pair of an address in the address space and a base address after spatial address conversion is described in IBM, Enterprise System Architecture/370. Preamble of Operations pp. 5-46-5-48°, pp. 10-53 (IBM, E
enterprise.

System  Architecture/370、
Pr1ncples  of  0perti。
System Architecture/370,
Pr1ncples of 0perti.

n、PP5−46〜5−48.PPl0−53)に論じ
られており、バッファのパージを指示する命令があり、
空間アドレス変換テーブルを変更した場合は、この命令
によって、バッファが無効化される。
n, PP5-46 to 5-48. PPl0-53), there is an instruction to purge the buffer,
If the spatial address translation table has been modified, this instruction invalidates the buffer.

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

しかしながら、上記従来技術は、前記変換バッファのア
クセスの高速化と無効化処理の高速化について考慮され
ていないという問題があった。
However, the above-described conventional technology has a problem in that it does not take into consideration speeding up access to the conversion buffer and speeding up invalidation processing.

本発明は、前記問題点を解決するためになされたもので
ある。
The present invention has been made to solve the above problems.

本発明の目的は、空間アドレス変換バッファの無効化処
理が高速にできるデータ処理装置を提供することにある
An object of the present invention is to provide a data processing device that can quickly invalidate a spatial address translation buffer.

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

前記目的を達成するために、命令によりベースレジスタ
として使用する汎用レジスタと、該汎用レジスタと対応
するアクセスレジスタとを備え、アドレス計算時、前記
アクセスレジスタの内容を仮想空間アドレスとして、複
数の仮想空間アクセスを行い、かつ、仮想空間アドレス
から空間アドレス変換を行うことにより、仮想空間の実
アドレス変換のための基点アドレスを求め、該基点アド
レスを用いて実アドレス変換を行う多重仮想空間アドレ
ス方式のデータ処理装置において、空間アドレスと空間
アドレス変換後の基点アドレスとの対を記憶する空間ア
ドレス変換バッファに識別子フィールドを設け、さらに
バッファ識別子レジスタを設け、与えられた空間アドレ
スに対し、空間アドレスの変換対が記憶されているか否
かを検出する条件に前記バッファ識別子レジスタの内容
と前記識別子フィールドの値の一致を含むようにした。
In order to achieve the above purpose, a general-purpose register used as a base register according to an instruction and an access register corresponding to the general-purpose register are provided, and when an address is calculated, the contents of the access register are used as a virtual space address and a plurality of virtual spaces are used. Data in a multiple virtual space address method that obtains a base address for real address translation in virtual space by accessing and performing space address translation from the virtual space address, and performs real address translation using the base address. In the processing device, an identifier field is provided in a spatial address conversion buffer that stores a pair of a spatial address and a base address after spatial address conversion, and a buffer identifier register is also provided to store a spatial address conversion pair for a given spatial address. The condition for detecting whether or not the buffer identifier register is stored includes a match between the contents of the buffer identifier register and the value of the identifier field.

また、前記識別子レジスタの内容を、それまでに使用し
ていない値にすることによって、前記変換バッファをパ
ージするようにした。
Further, the conversion buffer is purged by setting the contents of the identifier register to a value that has not been used so far.

さらに、前記識別子レジスタの内容には、仮想計算機識
別子を含むようにした。
Furthermore, the contents of the identifier register include a virtual machine identifier.

〔作 用〕[For production]

前記バッファ識別子レジスタは、変換バッファ無効化命
令または無効化処理が必要とされるごとに新たな値にさ
れ、また、変換バッファ内の変換対にある基点アドレス
と識別子フィールドは、空間アドレスをアクセスした時
に対応する空間アドレス変換後の基点アドレスが、変換
バッファに存在しなかった場合に、空間アドレス変換を
おこない、その結果の基点アドレスと、その時の変換バ
ッファ識別子レジスタの内容が登録される。従って、空
間アドレスアクセス時に、前記変換バッファを検索して
、識別子レジスタの内容と、変換バッファ内の識別子フ
ィールドが不一致であれば、その変換対は、その空間ア
ドレスに対しては、無効となる。
The buffer identifier register is updated to a new value each time a translation buffer invalidation instruction or invalidation process is required, and the base address and identifier fields of the translation pair in the translation buffer are updated to access the spatial address. If the base point address after the corresponding spatial address conversion does not exist in the conversion buffer, the spatial address conversion is performed, and the resulting base point address and the contents of the conversion buffer identifier register at that time are registered. Therefore, when accessing a spatial address, the translation buffer is searched and if the content of the identifier register and the identifier field in the translation buffer do not match, the translation pair becomes invalid for that spatial address.

前記バッファ識別子レジスタ内に仮想計算機識別子を含
ませることにより、仮想計算機の切替えごとに変換バッ
ファを無効化する必要がなくなる。
By including the virtual machine identifier in the buffer identifier register, there is no need to invalidate the conversion buffer every time a virtual machine is switched.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を用いて具体的に説明す
る。
Hereinafter, one embodiment of the present invention will be specifically described using the drawings.

第1図は、本発明の一実施例を示すブロック図であり、
一般命令のオペランドデータ読み出し時の実アドレスを
求める動作に必要なブロック図である。命令1は、RX
形式で第2オペランドがR1フィールドで示す汎用レジ
スタにロードされるような仕様となっている。
FIG. 1 is a block diagram showing one embodiment of the present invention,
FIG. 4 is a block diagram necessary for an operation to obtain a real address when reading operand data of a general instruction. Instruction 1 is RX
The specification is such that the second operand is loaded into the general-purpose register indicated by the R1 field.

命令1の82フイールド及びx2フィールドの内容は、
信号線5,6を介して汎用レジスタ群7に与えられ、各
々が1つの汎用レジスタを選択する。これらの選択され
た汎用レジスタの内容と信号線9を介した命令1のD2
フィールドの内容とは、アドレス計算器lOによって加
算される。アドレス計算の結果、仮想空間内部のアドレ
スとなる実行論理アドレスを求め、この実行論理アドレ
スを信号線22を介して論理アドレス変換機構23に送
出する。
The contents of field 82 and field x2 of instruction 1 are as follows:
It is applied to general-purpose register group 7 via signal lines 5 and 6, and each selects one general-purpose register. The contents of these selected general-purpose registers and D2 of instruction 1 via signal line 9
The contents of the field are added by the address calculator IO. As a result of the address calculation, an execution logical address that is an address inside the virtual space is obtained, and this execution logical address is sent to the logical address translation mechanism 23 via the signal line 22.

一方、命令のB2フィールドにより選択された汎用レジ
スタに対応するアクセスレジスタ(AR)群8内の一つ
のAR内の内容が読み出され、信号線11を介してAL
Bエントリ制御回路24へ送出され、空間アドレス変換
バッファ(ALU)1Gがアクセスされる。ALBlG
のエントリはエントリ内の情報が有効か否かを示すVフ
ィールド、ALBエントリの識別子を示すALBID、
アクセスレジスタの内容と、それに基づいて、空間アド
レス変換の結果水められた基点アドレス(STO)の内
容などからなる。信号線12を介してアクセスされたA
LBエントリのVフィールドがバリッドであり、そのと
き選択されているARの内容と、エントリ内のアクセス
レジスタの内容が等しくて、かつ、識別子レジスタ17
の値と、エントリ内のALBIDの値の一致が比較回路
18によって検出されるとエントリ内の基点アドレス(
STO)が基点アドレスレジスタ19送出される。
On the other hand, the contents of one AR in the access register (AR) group 8 corresponding to the general-purpose register selected by the B2 field of the instruction are read out and sent to the AL via the signal line 11.
The signal is sent to the B entry control circuit 24, and the spatial address translation buffer (ALU) 1G is accessed. ALBlG
The entry includes a V field that indicates whether the information in the entry is valid, an ALBID that indicates the identifier of the ALB entry,
It consists of the contents of the access register and the contents of the base address (STO) that has been waterlogged as a result of spatial address conversion based on the contents. A accessed via signal line 12
The V field of the LB entry is valid, the contents of the AR selected at that time are equal to the contents of the access register in the entry, and the identifier register 17
When the comparison circuit 18 detects a match between the value of ALBID in the entry and the value of ALBID in the entry, the base point address in the entry (
STO) is sent to the base address register 19.

ALBに前記条件を満たすエントリが存在しなかった場
合5選択されたARの内容をもとに主記憶2の空間アド
レス変換テーブル3が読み出され、空間アドレス変換機
構4を介して得られた基点アドレスの値が、信号線15
を介して、A L B 1G内の該当するエントリ内の
STOフィールドに設定され、また基点アドレスレジス
タ19にも設定される。
If there is no entry in the ALB that satisfies the above conditions, the spatial address conversion table 3 in the main memory 2 is read out based on the contents of the selected AR, and the base point obtained via the spatial address conversion mechanism 4 is read out. The address value is signal line 15
is set in the STO field in the corresponding entry in ALB1G, and also in the base address register 19.

そのとき該ALBエントリのVフィールドは、バリッド
値が設定され、ALBIDフィールドには識別子レジス
タ(ID)17の内容が設定される。
At this time, a valid value is set in the V field of the ALB entry, and the contents of the identifier register (ID) 17 are set in the ALBID field.

基点アドレスレジスタ19の内容は、信号線21を介し
て論理アドレス変換機構23へ送出され、アドレス計算
器10の結果を用いて、実アドレスに変換され、それに
よってバッファ記憶装置がアクセスされる。
The contents of the base address register 19 are sent via signal line 21 to the logical address translation mechanism 23 and, using the result of the address calculator 10, are translated into real addresses, thereby accessing the buffer storage.

次に第1図を用いて、ALBの無効化処理を説明する。Next, ALB invalidation processing will be explained using FIG. 1.

ALB無効命令は、それまでに登録したALB情報を使
用しないようにするのが目的であるので、ALB!#、
効命令が発行されたら識別子レジスタ17の内容を、そ
れまで使用していない値に設定する。識別子レジスタ1
7がとり得る全ての値を使用してしまった場合のみ、A
LBエントリのVフィールドを無効値にすることとし、
それ以外の場合は、ALB無効処理のためにALBをア
クセスしない。
The purpose of the ALB invalidation command is to prevent the use of previously registered ALB information, so ALB! #,
When a valid instruction is issued, the contents of the identifier register 17 are set to a value that has not been used so far. identifier register 1
A only if all possible values of 7 have been used.
The V field of the LB entry is set to an invalid value,
In other cases, the ALB is not accessed for ALB invalidation processing.

次に、仮想計算機システムにおけるALB I Dの使
用方法について、第2.3.4図を用いて説明する。
Next, how to use ALB ID in the virtual computer system will be explained using FIG. 2.3.4.

第2図は、仮想計算機システムの構成を示す。FIG. 2 shows the configuration of the virtual computer system.

いま、ホスト上に仮想計算機が3個存在し、各々VMI
、VM2.VM3と呼び、各々のvM識別子番号(VM
 I D)を1.2.3とする。ホストのVMIDはO
とする。
Currently, there are three virtual machines on the host, each with VMI
, VM2. VM3, and each vM identifier number (VM
ID) is set to 1.2.3. Host VMID is O
shall be.

第3図は、該仮想計算機システム実行中のVMIDの値
の切替えを示している。VMIDが異なる状態間では、
ARの内容が等しくても、同−ALBエントリ内の情報
を使用できないようにするために、VMID切替わり時
に第4図の識別子レジスタ(ID)17の内容を更新す
る。すなわち、識別子レジスタの内容は、VMIDを含
むようにし、ALB無効処理時はID内のVMID以外
の部分即ちAIDフィールドを更新する。VM終了時は
ALB ID管理テーブル25のVMIDの一致するエ
ントリに、IDの内容を設定しておき、再び、同じVM
IDのVMが走行するときに、その値をID17に設定
する。ホスト走行時も同様にVMID=Oに対応するA
LBID管理テーブル25のエントリの値をID17に
設定する。
FIG. 3 shows switching of the VMID value during execution of the virtual computer system. Between states with different VMIDs,
Even if the contents of the ARs are the same, the contents of the identifier register (ID) 17 in FIG. 4 are updated at the time of VMID switching so that the information in the same ALB entry cannot be used. That is, the contents of the identifier register are made to include the VMID, and during ALB invalidation processing, the portion of the ID other than the VMID, that is, the AID field, is updated. When the VM is terminated, set the ID contents to the entry that matches the VM ID in the ALB ID management table 25, and restart the same VM again.
When the VM with ID runs, the value is set to ID17. Similarly, when running the host, A corresponding to VMID=O
The entry value of the LBID management table 25 is set to ID17.

このように、識別子レジスタ(ID)17にVMID値
を含ませることにより、VM切替えごとにALBをパー
ジしなくてよい。
In this way, by including the VMID value in the identifier register (ID) 17, it is not necessary to purge the ALB every time a VM is switched.

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

以上、説明したように、本発明によれば、ALB無効化
処理を、識別子レジスタを更新することにより行ってい
るので、ALB無効化処理が高速にできる。
As described above, according to the present invention, the ALB invalidation process is performed by updating the identifier register, so the ALB invalidation process can be performed at high speed.

また、仮想計算機の切替え毎にALBを無効化する必要
がないので、ALBの使用効率が向上する。
Furthermore, since there is no need to invalidate the ALB each time a virtual machine is switched, the efficiency of ALB usage is improved.

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

第1図は、本発明の一実施例の構成を示すブロック図、 第2図は、仮想計算機のシステム構成を示す図、第3図
は、VMIDの遷移を示す図。 第4図は、仮想計算機システムにおけるALBID管理
テーブルとALB IDの比較を示す図である。 図中、1・・・命令、2・・・主記憶、3・・・空間ア
ドレス変換テーブル、4・・・空間アドレス変換機構、
7・・・汎用レジスタ群、8・・・アクセスレジスタ群
、16・・・空間アドレス変換バッファ(ALB)、1
7・・・識別子レジスタ、 19・・・基点アドレスレ
ジスタ、25・・・ALBID管理テーブル。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a diagram showing the system configuration of a virtual machine, and FIG. 3 is a diagram showing VMID transition. FIG. 4 is a diagram showing a comparison of the ALBID management table and ALB ID in the virtual computer system. In the figure, 1... Instruction, 2... Main memory, 3... Space address conversion table, 4... Space address conversion mechanism,
7... General-purpose register group, 8... Access register group, 16... Space address translation buffer (ALB), 1
7...Identifier register, 19...Base address register, 25...ALBID management table.

Claims (1)

【特許請求の範囲】 1、命令のベースレジスタで指定される汎用レジスタと
、該汎用レジスタに対応するアクセスレジスタと、該ア
クセスレジスタの内容と空間アドレス変換後の基点アド
レスとの対を記憶する空間アドレス変換バッファとを備
え、該バッファ内の前記基点アドレスを用いて仮想空間
アドレスを実空間アドレスに変換する多重仮想空間アド
レス方式のデータ処理装置において、前記変換バッファ
内に識別子フィールドを設け、該フィールドの値が所定
の値であるか否かを比較する手段を設け、比較の結果一
致したとき変換対を有効とすることを特徴とするデータ
処理装置。 2、前記所定の値は、識別子レジスタに設定されている
ことを特徴とする請求項1記載のデータ処理装置。 3、前記識別子レジスタに、前記バッファ内のフィール
ドで使用されていない値を設定することにより前記バッ
ファをパージすることを特徴とする請求項2記載のデー
タ処理装置。 4、前記識別子レジスタの内容には、仮想計算機識別子
が含まれていることを特徴とする請求項2記載のデータ
処理装置。
[Claims] 1. A space for storing a general-purpose register specified by the base register of an instruction, an access register corresponding to the general-purpose register, and a pair of the contents of the access register and the base address after spatial address conversion. an address translation buffer, and converts a virtual space address into a real space address using the base address in the buffer, an identifier field is provided in the translation buffer, and an identifier field is provided in the translation buffer; 1. A data processing device comprising means for comparing whether or not the value of is a predetermined value, and the conversion pair is validated when the comparison results in a match. 2. The data processing device according to claim 1, wherein the predetermined value is set in an identifier register. 3. The data processing apparatus according to claim 2, wherein the buffer is purged by setting a value that is not used in a field in the buffer in the identifier register. 4. The data processing device according to claim 2, wherein the contents of the identifier register include a virtual machine identifier.
JP1325669A 1989-12-14 1989-12-14 data processing equipment Pending JPH03185539A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1325669A JPH03185539A (en) 1989-12-14 1989-12-14 data processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1325669A JPH03185539A (en) 1989-12-14 1989-12-14 data processing equipment

Publications (1)

Publication Number Publication Date
JPH03185539A true JPH03185539A (en) 1991-08-13

Family

ID=18179394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1325669A Pending JPH03185539A (en) 1989-12-14 1989-12-14 data processing equipment

Country Status (1)

Country Link
JP (1) JPH03185539A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508598A (en) * 2004-07-30 2008-03-21 インテル コーポレイション Preserving processor resources during architectural events

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508598A (en) * 2004-07-30 2008-03-21 インテル コーポレイション Preserving processor resources during architectural events
US7899972B2 (en) 2004-07-30 2011-03-01 Intel Corporation Maintaining processor resources during architectural events
US7904694B2 (en) 2004-07-30 2011-03-08 Intel Corporation Maintaining processor resources during architectural events
JP2011181094A (en) * 2004-07-30 2011-09-15 Intel Corp Maintaining processor resource during architectural event
JP2011181095A (en) * 2004-07-30 2011-09-15 Intel Corp Maintaining processor resource during architectural event
US8543793B2 (en) 2004-07-30 2013-09-24 Intel Corporation Maintaining processor resources during architectural events
JP2013257911A (en) * 2004-07-30 2013-12-26 Intel Corp Holding of processor resource between architecture events
US8788790B2 (en) 2004-07-30 2014-07-22 Intel Corporation Maintaining processor resources during architectural events
US8806172B2 (en) 2004-07-30 2014-08-12 Intel Corporation Maintaining processor resources during architectural evens
JP2015084260A (en) * 2004-07-30 2015-04-30 インテル コーポレイション Processor and system
US9086958B2 (en) 2004-07-30 2015-07-21 Intel Corporation Maintaining processor resources during architectural events
US9152561B2 (en) 2004-07-30 2015-10-06 Intel Corporation Maintaining processor resources during architectural events
US9164918B2 (en) 2004-07-30 2015-10-20 Intel Corporation Maintaining processor resources during architectural events
US9164901B2 (en) 2004-07-30 2015-10-20 Intel Corporation Maintaining processor resources during architectural events
JP2016192241A (en) * 2004-07-30 2016-11-10 インテル コーポレイション Processor and system
US9507730B2 (en) 2004-07-30 2016-11-29 Intel Corporation Maintaining processor resources during architectural events
US9996475B2 (en) 2004-07-30 2018-06-12 Intel Corporation Maintaining processor resources during architectural events
JP2019050027A (en) * 2004-07-30 2019-03-28 インテル コーポレイション Processor
US10303620B2 (en) 2004-07-30 2019-05-28 Intel Corporation Maintaining processor resources during architectural events
US10740249B2 (en) 2004-07-30 2020-08-11 Intel Corporation Maintaining processor resources during architectural events

Similar Documents

Publication Publication Date Title
US5295251A (en) Method of accessing multiple virtual address spaces and computer system
US4347565A (en) Address control system for software simulation
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JPH0658650B2 (en) Virtual computer system
EP0217068A2 (en) Method of emulating the instructions of a target computer
US5297281A (en) Multiple sequence processor system
JPH0364890B2 (en)
US5129071A (en) Address translation apparatus in virtual machine system using a space identifier field for discriminating datoff (dynamic address translation off) virtual machines
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPH02304650A (en) Microprocessor of pipeline system
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
JPH03185539A (en) data processing equipment
JPS615357A (en) Data processor
JPH0552539B2 (en)
JPS59112479A (en) High speed access system of cache memory
JPH0193831A (en) System for controlling operand access of virtual computer
JPH02168332A (en) Data processor
JP2980327B2 (en) Instruction processing unit
JPS589452B2 (en) Firmware broom
JP2917384B2 (en) Information processing device
JPH0219495B2 (en)
GB1486900A (en) Data processing system
JPH03109656A (en) Multiplex virtual space address system and data processor
JPH0443445A (en) Registered data invalidating processing system for associative storage mechanism
JPS6353574B2 (en)