JP2580734B2 - Virtual memory address space access control method - Google Patents

Virtual memory address space access control method

Info

Publication number
JP2580734B2
JP2580734B2 JP63246902A JP24690288A JP2580734B2 JP 2580734 B2 JP2580734 B2 JP 2580734B2 JP 63246902 A JP63246902 A JP 63246902A JP 24690288 A JP24690288 A JP 24690288A JP 2580734 B2 JP2580734 B2 JP 2580734B2
Authority
JP
Japan
Prior art keywords
address space
virtual address
register
operand
virtual
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 - Fee Related
Application number
JP63246902A
Other languages
Japanese (ja)
Other versions
JPH0291745A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63246902A priority Critical patent/JP2580734B2/en
Publication of JPH0291745A publication Critical patent/JPH0291745A/en
Application granted granted Critical
Publication of JP2580734B2 publication Critical patent/JP2580734B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔目的〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 複数個の仮想アドレス空間に存在するデータを、命令
の主記憶オペランドのベースレジスタ(BR)の番号によ
って、該仮想アドレス空間を決定して参照する仮想記憶
方式の情報処理装置における記憶域変更事象記録,及び
オペランドオーバラップ条件を検出する方式に関し、 記憶域変更事象記録,及びオペランドオーバラップの
検出を高速に行い、データ処理の高速化を図ることを目
的とし、 記憶域変更事象記録を検出すべき仮想アドレス空間を
指定する仮想アドレス空間識別番号(STPER−ASID)を
保持する第1のレジスタと、命令の主記憶オペランドの
有効アドレスをベースレジスタ(BR)、インデックスレ
ジスタ(XR),ディスプレイスメント(D)から求める
際に使用する上記ベースレジスタ(BR)の番号,或い
は、該ベースレジスタ(BR)の番号によって牽引される
レジスタの内容によってアクセスすべき仮想アドレス空
間番号(A−ARN)を決定する手段と、上記複数個の仮
想アドレス空間へのアクセスを制御するレジスタ(AR)
毎に、該アクセスする仮想アドレス空間を指定する仮想
アドレス空間識別番号を保持する第2のレジスタ(ASID
R)とを設け、上記アクセスすべき仮想アドレス空間番
号(A−ARN)を決定する手段からのベースレジスタ(B
R)の番号を用いて、上記第2のレジスタ(ASIDR)を検
索して、当該命令がアクセスする仮想アドレス空間識別
番号(A−ASID)を検索し、上記第1のレジスタの内
容と比較して、記憶域変更事象記録を検出するか、上記
複数個の仮想アドレス空間をアクセスする命令の第2オ
ペランドのアクセス時に検索した仮想アドレス空間識別
番号(A−ASID)を保持する第3のレジスタを設け、
該第3のレジスタの内容と、続いてアクセスされる第1
オペランドのアクセス時に検索した仮想アドレス空間識
別番号(A−ASID)とを比較する手段を設け、該比較
手段で不一致が得られたとき、オペランドオーバラップ
のチェックを抑止するように構成する。
DETAILED DESCRIPTION OF THE INVENTION [Purpose] Outline Field of Industrial Application Conventional Techniques and Problems to be Solved by the Invention Means for Solving the Problems Action Embodiment Effects of the Invention [Summary] Multiple virtual address spaces The existing data is determined by the number of the base register (BR) of the main memory operand of the instruction, and the virtual address space is determined and referred to. Regarding the detection method, a virtual address space that specifies a virtual address space where the storage area change event record should be detected is intended to speed up data processing by detecting the storage area change event record and operand overlap at high speed. A first register for holding an address space identification number (STPER-ASID) and a base register for storing an effective address of a main memory operand of an instruction; (BR), the index register (XR), the number of the base register (BR) used for obtaining from the displacement (D), or the contents of the register guided by the number of the base register (BR) Means for determining a virtual address space number (A-ARN) to be provided, and a register (AR) for controlling access to the plurality of virtual address spaces
A second register (ASID) holding a virtual address space identification number designating the virtual address space to be accessed for each
R) and the base register (B) from the means for determining the virtual address space number (A-ARN) to be accessed.
R), the second register (ASIDR) is searched for a virtual address space identification number (A-ASID) accessed by the instruction, and compared with the contents of the first register. A third register for holding a virtual address space identification number (A-ASID) searched at the time of detecting the storage area change event record or accessing the second operand of the instruction for accessing the plurality of virtual address spaces. Provided,
The contents of the third register and the first accessed
Means is provided for comparing the virtual address space identification number (A-ASID) retrieved at the time of accessing the operand, and when a mismatch is obtained by the comparing means, a check for operand overlap is suppressed.

〔産業上の利用分野〕[Industrial applications]

本発明は、複数個の仮想アドレス空間に存在するデー
タを、命令の主記憶オペランドのベースレジスタ(BR)
の番号によって、該仮想アドレス空間を決定して参照す
る仮想記憶方式の情報処理装置における記憶域変更事象
記録、及びオペランドオーバラップ条件を検出する方式
に関する。
According to the present invention, data existing in a plurality of virtual address spaces is stored in a base register (BR) of a main storage operand of an instruction.
And a method of detecting a storage area change event and detecting an operand overlap condition in an information processing apparatus of a virtual storage system which determines and refers to the virtual address space according to the number.

近年の情報処理装置に対する要求として、処理すべき
データ量の増大がある。特に、データベースシステムに
おいて、このデータ量の増大化が著しい。
A recent demand for information processing apparatuses is an increase in the amount of data to be processed. In particular, in a database system, the data amount has been remarkably increased.

この要求に伴い、従来の仮想記憶装置におけるアドレ
ス空間の限界を越えて、複数個の仮想アドレス空間のデ
ータを、直接、ユーザプログラムからアクセスすること
が求められるようになり、これを可能にするアーキテク
チュアが示唆されている。
With this demand, it has become necessary to directly access data in a plurality of virtual address spaces from a user program beyond the limit of the address space in the conventional virtual storage device, and an architecture that makes this possible. Has been suggested.

一方、従来から、該仮想記憶空間をモニタする目的
で、記憶域変更事象記録(ストアPER)という機能があ
るが、あくまでも、単一の仮想記憶空間をモニタ(スト
アアクセスの検出)するものである。
On the other hand, conventionally, there is a function called storage area change event recording (store PER) for the purpose of monitoring the virtual storage space. However, the function only monitors a single virtual storage space (detects store access). .

又、従来から主記憶上の2つのオペランドを操作する
命令、例えば、転送命令においては、該2つのオペラン
ド間でオーバラップがあると、これを検出して、恰も、
1バイト宛処理したかのように見せるように仕様化され
ている。
Conventionally, in an instruction for operating two operands on the main memory, for example, in a transfer instruction, if there is an overlap between the two operands, this is detected, and
It is specified so that it looks as if it has been processed for one byte.

然して、複数個の仮想アドレス空間のデータを、直
接、ユーザプログラムからアクセスするアーキテクチュ
アを持つ情報処理装置においては、そのアクセス機構に
起因して、該複数個の仮想アドレス空間に対する上記記
憶変更事象記録(ストアPER)の検出に時間がかかる
か、或いは、「オペランドのオーバラップ」の検出がで
きない問題があり、このような環境においても、該記憶
域変更事象記録(ストアPER),或いは、「オペランド
のオーバラップ」の検出を高速に,且つ確実にできるこ
とが必要となってきた。
However, in an information processing apparatus having an architecture for directly accessing data in a plurality of virtual address spaces from a user program, due to the access mechanism, the storage change event record ( There is a problem that it takes a long time to detect the “store PER” or that the “overlap of the operands” cannot be detected. Even in such an environment, the storage area change event record (the store PER) or “the operand It has become necessary to be able to detect "overlap" quickly and reliably.

〔従来の技術と発明が解決しようとする課題〕[Problems to be solved by conventional technology and invention]

第3図の従来の記憶域変更事象記録の検出方式を説明
する図であって、(a),(b)は主記憶に対するアク
セス方式を説明する図であり、(c)は記憶域変更事象
記録の検出方式を示した図であり、第4図は従来のオペ
ランドのオーバラップ検出方式を説明する図である。
3A and 3B are diagrams illustrating a conventional method of detecting a storage area change event record, in which FIGS. 3A and 3B are diagrams illustrating an access method to a main storage, and FIG. FIG. 4 is a diagram showing a recording detection method, and FIG. 4 is a diagram for explaining a conventional operand overlap detection method.

従来の仮想記憶方式をとる情報処理装置においては、
(a)図に示すように、オペレーティングシステム(O
S)の管理下にあるコントロールレジスタ(CRO)10によ
って指定される単一のアドレス空間内のデータをアクセ
スすることのみ許されていた。
In an information processing apparatus using a conventional virtual storage method,
(A) As shown in the figure, the operating system (O
Only access to data in a single address space specified by a control register (CRO) 10 under the control of S) was allowed.

従って、複数の仮想アドレス空間内のデータを参照す
る為には、上記コントロールレジスタ(CRO)10の内容
を入れ替える必要があり、オペレーティングシステム
(OS)の管理下にあった。
Therefore, in order to refer to data in a plurality of virtual address spaces, it is necessary to replace the contents of the control register (CRO) 10, which is under the control of the operating system (OS).

このような状況においては、ユーザプログラムが直
接、複数個の仮想アドレス空間に股がってデータの処理
を行うことは許されていなかった。
In such a situation, the user program is not allowed to directly process data in a plurality of virtual address spaces.

然しながら、前述のように、最近のデータ処理、特に
データベースシステムの分野においては、仮想アドレス
空間の拡大化の要求が強く、ユーザプログラムから直
接、例えば、ベースレジスタ(BR)20の番号によって決
まるアドレス空間へのアクセスが許されるようになり、
これを、上記、単一の仮想アドレス空間と同様に高速に
処理することが必要になってきた。
However, as described above, in recent data processing, especially in the field of database systems, there is a strong demand for expansion of the virtual address space, and the address space determined directly from the user program, for example, by the number of the base register (BR) 20 Access is now allowed,
This has been required to be processed at a high speed as in the case of the single virtual address space.

(b)図は、ユーザプログラムが複数個の仮想アドレ
ス空間に、直接、アクセスする為の制御回路の構成例を
示したものである。
FIG. 1B shows an example of the configuration of a control circuit for allowing a user program to directly access a plurality of virtual address spaces.

即ち、ユーザプログラムが使用する複数個のアドレス
空間に対して、それぞれ、セグメントテーブル(STO
〜)30と用意し、そのセグメットテーブル(STO〜)30
に対するポインタであるセグメントテーブルオリジン
(STO)25bを複数個持ち、その何れを使用するかを、該
ユーザプログラムの該当命令で使用するベースレジスタ
(BR)20の番号によって決定するように構成する。
That is, for each of the plurality of address spaces used by the user program, the segment table (STO
~) 30 and prepare the segmet table (STO ~) 30
A plurality of segment table origins (STOs) 25b, which are pointers to the user program, and which of them is used is determined by the number of the base register (BR) 20 used by the corresponding instruction of the user program.

具体的には、(b)図に示すように、該ベースレジス
タ(BR)20の番号によってアドレス空間制御レジスタ
(ARO〜)25を選択し、該選択されたアドレス空間制御
レジスタ(ARO〜)25中に設定されている上記セグメン
トテーブルオリジン(STO)25bによって、特定の仮想ア
ドレス空間をアクセスする為のセグメントテーブル(ST
O〜)30を選択できるようになっている。
Specifically, as shown in (b), the address space control register (ARO-) 25 is selected according to the number of the base register (BR) 20, and the selected address space control register (ARO-) 25 is selected. According to the segment table origin (STO) 25b set in the segment table (ST) for accessing a specific virtual address space,
O ~) 30 can be selected.

或いは、該ベースレジスタ(BR)20の番号によって、
どのセグメントテーブルオリジン(STO)25bを使用する
かを示す情報を持つ別のレジスタを検索し、そのレジス
タの内容がどのセグメントテーブルオリジン(STO)25b
を使うかを示すという間接的な方法も可能である。
Alternatively, according to the number of the base register (BR) 20,
Search for another register with information indicating which segment table origin (STO) 25b to use, and check that the contents of that register are which segment table origin (STO) 25b
An indirect way of indicating whether to use is also possible.

(c)図は従来の記憶域変更事象記録(ストアPER)
を検出する回路例を示した図である。
(C) Figure shows conventional storage change event record (store PER)
FIG. 3 is a diagram showing an example of a circuit for detecting a signal.

本図に示されているコントロールレジスタ(CR10,CR1
1)15,16に、例えば、該記憶域変更事象記録(ストアPE
R)を行う主記憶領域の境界のアドレスが設定される。
The control registers (CR10, CR1
1) For example, the storage area change event record (store PE
R), the address of the boundary of the main storage area to be set is set.

そして、オペランドアドレスレジスタ(OAR)17に、
該記憶域変更事象記録(以下、ストアPERということが
ある)の対象となるストア命令のオペランドアドレスが
設定され、比較器18において、該オペランドアドレス
が、上記コントロールレジスタ(CR10,CR11)15,16に設
定されたストアPERの境界アドレス内にあるか否かが調
べられ、該ストアPERの境界アドレス内にあることが検
出されると、ストアPERの為のイネーブル信号(ST−PER
−ENB)が出力される。
Then, in the operand address register (OAR) 17,
The operand address of a store instruction to be subjected to the storage area change event record (hereinafter, sometimes referred to as store PER) is set, and the comparator 18 stores the operand address in the control register (CR10, CR11) 15,16. Is checked to see if it is within the boundary address of the store PER, and if it is detected that it is within the boundary address of the store PER, an enable signal for the store PER (ST-PER) is detected.
−ENB) is output.

従って、前述の複数個の仮想アドレス空間に対して、
ユーザプログラムからアクセスが行われた場合の、該ス
トアPERの検出を行う為には、上記(c)図に示された
検出回路で検出されたストア命令を、該ストアPERの為
のイネーブル信号(ST−PER−ENB)によって起動され
た、オペレーティングシステム(OS)の特定の「割込み
ハイドラ」において解釈し、ストアアドレスの仮想アド
レス空間を認識し、モニタすべき仮想アドレス空間と比
較して、該ストアPERを行っていた。
Therefore, for the plurality of virtual address spaces described above,
In order to detect the store PER when an access is made from the user program, the store instruction detected by the detection circuit shown in FIG. ST-PER-ENB), interpreted in a specific “interrupt hydra” of the operating system (OS), recognizes the virtual address space of the store address, compares it with the virtual address space to be monitored, I was doing PER.

この為、複数個の仮想アドレス空間に対して、ユーザ
プログラムが直接アクセスすることができるアーキテク
チュアの情報処理装置において、ストアPERを行うとす
ると、その検出に時間がかかり、オペレーティングシス
テム(OS)でのオーバヘッドが大きくなるという問題が
あった。
For this reason, if the store PER is performed in an architecture information processing apparatus in which a user program can directly access a plurality of virtual address spaces, it takes time to detect the store PER, and overhead in the operating system (OS) is required. There was a problem that it became large.

第4図は主記憶上の2つのオペランドを操作する命令
(例えば、第2オペランド第1オペランドへのデータ
転送命令)において、オペランドのオーバラップがある
とき、これを検出して、恰も、1バイト宛処理したかの
ように見せる必要がある場合(例えば、第2オペランド
第1オペランドへのデータ転送で、第2オペランドア
ドレス<第1オペランドアドレスの場合)の、従来のオ
ーバラップ検出方式を示した図である。
FIG. 4 shows that when an instruction for operating two operands on the main memory (for example, a data transfer instruction for the second operand and the first operand) has an operand overlap, this is detected and one byte is detected. This shows a conventional overlap detection method when it is necessary to make it appear as if it were addressed (for example, in the case of data transfer to the second operand and the first operand, where the second operand address <the first operand address). FIG.

従来方式においては、図示されている如くに、本図の
第1オペランドアドレスレジスタ(OPAR1)50に設定さ
れた第1オペランドの論理アドレスと、第2オペランド
アドレスレジスタ(OPAR2)51に設定された第2オペラ
ンドの論理アドレスとを比較器53で比較して、オーバラ
ップを検出していた。
In the conventional method, as shown, the logical address of the first operand set in the first operand address register (OPAR1) 50 and the second address set in the second operand address register (OPAR2) 51 as shown in FIG. The comparator 53 compares the logical addresses of the two operands with each other to detect the overlap.

従って、複数個の仮想アドレス空間をユーザプログラ
ムが直接アクセスできるアーキテクチュアを備えた情報
処理装置においては、異なる仮想アドレス空間へのスト
アアクセスであっても、例えば、論理アドレスが同じで
あると、本来、オペランドオーバラップ処理を禁止し
て、通常のストアアクセスでよいものを、上記従来のオ
ーバラップ検出方式では、一致信号を出力してオペラン
ドオーバラップの処理を行ってしまうという問題があっ
た。
Therefore, in an information processing apparatus having an architecture in which a user program can directly access a plurality of virtual address spaces, even if a store access to a different virtual address space has the same logical address, for example, the operands are originally Although the overlap processing is prohibited and normal store access can be performed, the above-described conventional overlap detection method has a problem that a coincidence signal is output and operand overlap processing is performed.

本発明は上記従来の欠点に鑑み、複数個の仮想アドレ
ス空間に存在するデータを、命令の主記憶オペランドの
ベースレジスタ番号によって、該仮想アドレス空間を決
定して参照する仮想記憶方式の情報処理装置における記
憶域変更事象記録,及びオペランドオーバラップ条件を
検出する方式において、ユーザプログラムから、直接、
該複数個の仮想アドレス空間にアクセスできる仮想アド
レス空間に対するアクセス機構があることに着目して、
高速に、且つ、確実に、該記憶域変更事象記録(ストア
PER),及びオペランドオーバラップを検出する方式を
提供することを目的とするものである。
SUMMARY OF THE INVENTION In view of the above-mentioned conventional disadvantages, the present invention provides an information processing apparatus of a virtual memory system that determines and refers to data existing in a plurality of virtual address spaces according to a base register number of a main memory operand of an instruction. In the method of detecting the storage area change event record and the operand overlap condition, the user program directly
Focusing on the fact that there is an access mechanism for a virtual address space that can access the plurality of virtual address spaces,
The storage area change event record (store
PER) and an operand overlap detection method.

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

上記の問題点は下記の如くに構成された仮想記憶アド
レス空間アクセス制御方式によって解決される。
The above problem is solved by a virtual memory address space access control system configured as follows.

(1)複数個の仮想アドレス空間に存在するデータを、
命令の主記憶オペランドのベースレジスタ(BR)の番号
によって、該仮想アドレス空間を決定して参照する仮想
記憶方式の情報処理装置において、 記憶域変更事象記録を検出する仮想アドレス空間を指
定する仮想アドレス空間識別番号(STPER−ASID)を保
持する第1のレジスタと、 命令の主記憶オペランドの有効アドレスをベースレジ
スタ(BR),インデックスレジスタ(XR),ディスプレ
イスメント(D)から求める際に使用する上記ベースレ
ジスタ(BR)の番号,或いは、該ベースレジスタ(BR)
の番号によって牽引されるレジスタの内容によってアク
セスすべき仮想アドレス空間番号(A−ARN)を決定す
る手段と、 上記複数個の仮想アドレス空間へのアクセスを制御す
るレジスタ(AR)毎に、該アクセスする仮想アドレス空
間を指定する仮想アドレス空間識別番号を保持する第2
のレジスタ(ASIDR)とを設け、 上記アクセスすべき仮想アドレス空間番号(A−AR
N)を決定する手段からのベースレジスタ(BR)の番号
を用いて、上記第2のレジスタ(ASIDR)を検索して、
当該命令がアクセスする仮想アドレス空間識別番号(A
−ASID)()を検索し、上記第1のレジスタと比較器
で比較して、記憶域変更事象記録を検出するように構成
する。
(1) Data existing in a plurality of virtual address spaces is
A virtual address designating a virtual address space for detecting a storage area change event record in an information processing apparatus of a virtual storage system which determines and refers to the virtual address space based on the number of a base register (BR) of a main memory operand of an instruction. A first register for holding a space identification number (STPER-ASID), and the above-mentioned register used for obtaining an effective address of a main storage operand of an instruction from a base register (BR), an index register (XR), and a displacement (D). Number of base register (BR) or base register (BR)
Means for determining a virtual address space number (A-ARN) to be accessed in accordance with the contents of a register led by the number of the virtual address space; and a register (AR) for controlling access to the plurality of virtual address spaces. The second holding the virtual address space identification number specifying the virtual address space to be
And a virtual address space number (A-AR) to be accessed.
Using the number of the base register (BR) from the means for determining N), searching the second register (ASIDR),
The virtual address space identification number (A
-ASID) (), and is compared with the first register by a comparator to detect a storage area change event record.

(2)上記複数個の仮想アドレス空間をアクセスする命
令の第2オペランドのアクセス時に検索した仮想アドレ
ス空間識別番号(A−ASID)()を保持する第3のレ
ジスタを設け、 該第3のレジスタの内容と、続いてアクセスされる第
1オペランドのアクセス時に検索した仮想アドレス空間
識別番号(A−ASID)()とを比較する手段を設け、 該比較手段で不一致が得られたとき、オペランドオー
バラップのチェックを抑止するように構成する。
(2) a third register for holding a virtual address space identification number (A-ASID) () searched at the time of accessing the second operand of the instruction for accessing the plurality of virtual address spaces; And a means for comparing the virtual address space identification number (A-ASID) () searched at the time of accessing the first operand to be subsequently accessed, and when the comparison means finds a mismatch, the operand overflow is detected. It is configured to suppress the lap check.

〔作用〕[Action]

即ち、本発明によれば、複数個の仮想アドレス空間に
存在するデータを、命令の主記憶オペランドのベースレ
ジスタ(BR)の番号によって、該仮想アドレス空間を決
定して参照する仮想記憶方式の情報処理装置における記
憶域変更事象記録,及びオペランドオーバラップ条件を
検出する方式において、該情報処理装置には、元々、ス
トア命令のオペランドによって仮想アドレス空間をアク
セスする際、ベースレジスタ(BR)によって、該命令が
アクセスする仮想アドレス空間識別番号と、そのセグメ
ントテーブルオリジン(STO)を認識できる機構(仮想
アドレス空間へのアクセス制御レジスタ)(AR)がある
ことに着目し、その仮想アドレス空間識別番号を保持し
ているレジスタ(ASIDR)を、上記アクセス命令のベー
スレジスタ(BR)番号(A−ARN)で検索して、該命令
がアクセスする仮想アドレス空間の識別番号(A−ASI
D)を認識し、該認識された仮想アドレス空間の識別
番号(A−ASID)と、当該情報処理装置においてモニ
タすべき仮想アドレス空間の識別番号(STPER−ASTD)
とを比較し、一致した場合には、該一致信号(STPER−E
NB)を、当該情報処理装置の特定のパイプラインステー
ジで取り出すことで、該命令のストアアクセスを記録
(ストアPER)することができる。
That is, according to the present invention, information of a virtual memory system in which data existing in a plurality of virtual address spaces is determined by referring to the number of a base register (BR) of a main memory operand of an instruction and the virtual address space is referred to. In a method of detecting a storage area change event record and an operand overlap condition in a processing device, the information processing device originally uses a base register (BR) to access the virtual address space by the operand of a store instruction. Focusing on the virtual address space identification number accessed by the instruction and the mechanism (access control register to virtual address space) (AR) that can recognize the segment table origin (STO), holds the virtual address space identification number The register (ASIDR) that performs the access is changed to the base register (BR) number (A- ARN) and the identification number (A-ASI) of the virtual address space accessed by the instruction.
D), and the identification number (A-ASID) of the recognized virtual address space and the identification number (STPER-ASTD) of the virtual address space to be monitored in the information processing device.
And if they match, the matching signal (STPER-E
By extracting the NB) at a specific pipeline stage of the information processing apparatus, the store access of the instruction can be recorded (store PER).

又、ある命令(例えば、データ転送命令)がアクセス
する第2オペランドの仮想アドレス空間の識別番号(A
−ASID)を、例えば、パイプラインのAステージで検
出したとき、該第2オペランドの仮想アドレス空間の識
別番号(A−ASID)を記録しておき、続いて投入され
た第1オペランドの仮想アドレス空間の識別番号(A−
ASID)と比較して、不一致信号が得られた時には、ス
トアアクセスの仮想アドレス空間が異なることになるの
で、前述のオペランドオーバラップの検出を抑止するよ
うに機能させる。
Also, the identification number (A) of the virtual address space of the second operand accessed by a certain instruction (for example, a data transfer instruction)
-ASID), for example, when it is detected in the A stage of the pipeline, the identification number (A-ASID) of the virtual address space of the second operand is recorded, and then the virtual address of the first operand input Space identification number (A-
Compared with ASID), when a mismatch signal is obtained, the virtual address space of the store access will be different, so that the above-described function of suppressing the operand overlap detection is performed.

このように動作するので、記憶域変更事象記録(スト
アPER)と,オペランドオーバラップの検出が高速に,
且つ、確実に、行うことができる効果がある。
Because of this operation, the storage change event record (store PER) and the detection of operand overlap can be performed at high speed.
And there is an effect that it can be performed reliably.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって詳述する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明の一実施例を示した図であり、第2図
は本発明のオペランドオーバラップの検出動作タイムチ
ヤートであり、仮想アドレス空間識別番号を保持してい
る第2のジレスタ(ASIDR)25aを、ストア命令のベース
レジスタ(BR)の番号(A−ARN)で検索したストアす
べきアドレスの仮想アドレス識別番号(A−ASID)
と、モニタすべき仮想アドレス空間識別番号を保持して
いる第1のレジスタ(SIPER−ASID)3との比較回路
4、及び、上記データ転送元の第2オペランドアドレス
の仮想アドレス識別番号(A−ASID)を保持する第3
のレジスタ5と、第1オペランドアドレスの仮想アドレ
ス識別番号(A−ASID)とを比較する手段6が本発明
を実施するのに必要な手段である。尚、全図を通して同
じ符号は同じ対象物を示している。
FIG. 1 is a diagram showing an embodiment of the present invention, and FIG. 2 is a time chart of an operation of detecting an operand overlap according to the present invention, in which a second register (a virtual address space identification number) is held. ASIDR) 25a is a virtual address identification number (A-ASID) of an address to be stored, which is retrieved by a base instruction (BR) number (A-ARN) of a store instruction.
A first register (SIPER-ASID) 3 for holding a virtual address space identification number to be monitored, and a virtual address identification number (A- ASID) third
And a means 6 for comparing the register 5 with the virtual address identification number (A-ASID) of the first operand address is a means necessary to carry out the present invention. Note that the same reference numerals indicate the same object throughout the drawings.

以下、第1図,第2図を用いて本発明の仮想記憶アド
レス空間アクセス制御方式を説明する。
Hereinafter, the virtual memory address space access control method of the present invention will be described with reference to FIGS.

本実施例においては、例えば、第2図に示したような
D(デコード)ステージ〜W(演算結果の書き込み)ス
テージで処理されるパイプラインで動作する情報処理装
置を例にしているが、これに限定されるものでないこと
はいう迄もないことである。
In the present embodiment, for example, an information processing apparatus that operates in a pipeline processed in the D (decode) stage to the W (write operation result) stage as shown in FIG. 2 is taken as an example. Needless to say, the present invention is not limited to this.

先ず、記憶域変更事象記録(ストアPER)の対象とな
るストア命令の主記憶オペランドの有効アドレスをベー
スレジスタ(BR)、インデックスレジスタ(XR),ディ
スプレイスメント(D)から求める際に使用する上記ベ
ースレジスタ(BR)の番号,或いは、該ベースレジスタ
(BR)の番号によって牽引されるレジスタの内容によっ
てアクセスすべき仮想アドレス空間識別番号(A−AR
N)を決定する手段{第3図(b)参照}から、パイプ
ラインのAステージで出力された該ストアアクセスのベ
ースレジスタ番号(A−ARN)2により、仮想アドレス
空間識別番号レジスタ(ASID)25aの内容を検索して、
当該ストア命令がアクセスする仮想アドレス空間識別番
号(A−ASID)を識別し、それと、予め、オペレーテ
ィングシステム(OS)によって設定されているモニタす
べき仮想アドレス空間識別番号(STPER−ASID)を保持
している第1のレジスタ3とを、比較器4で比較し、一
致信号(A−STPER−ENB)が得られると、パイプライン
の各ステージを図示されている如くに流れて、例えば、
Bステージで一致信号(B−STPER−ENB)となり、図示
していないストアPER検出器に送出される。
First, the base used when obtaining the effective address of the main storage operand of the store instruction to be subjected to the storage area change event record (store PER) from the base register (BR), index register (XR), and displacement (D). A virtual address space identification number (A-AR) to be accessed according to the register (BR) number or the contents of the register led by the base register (BR) number
From the means for determining N) {see FIG. 3 (b)}, the virtual address space identification number register (ASID) is obtained by the base register number (A-ARN) 2 of the store access output at the A stage of the pipeline. Search the contents of 25a,
The virtual address space identification number (A-ASID) to be accessed by the store instruction is identified, and the virtual address space identification number to be monitored (STPER-ASID) set in advance by the operating system (OS) is held. The first register 3 is compared with the first register 3 by a comparator 4, and when a coincidence signal (A-STPER-ENB) is obtained, each stage of the pipeline flows as shown in FIG.
At the B stage, it becomes a coincidence signal (B-STPER-ENB) and is sent to a store PER detector (not shown).

次に、該情報処理装置で実行される命令が第2オペラ
ンドから第1オペランドにデータを転送する命令である
場合のオペランドオーバラップ検出方式について説明す
る。
Next, an operand overlap detection method in the case where the instruction executed by the information processing device is an instruction for transferring data from the second operand to the first operand will be described.

当該データ転送命令の第2オペランドによる主記憶ア
クセスによって出力された上記仮想アドレス空間識別番
号(A−ASID)が、第3のレジスタ5に保持されると
共に、続いて、該パイプラインに投入された第1オペラ
ンドによる主記憶アクセスによって出力された上記仮想
アドレス空間識別番号(A−ASID)とが、オペランド
オーバラップを検出する為の比較器6で比較され、不一
致が検出されると、図示の“INH−OVLP−CHK"が出力さ
れ、第3図(c)で説明した従来のオペランドオーバラ
ップ検出回路で一致信号が出力されたとしても、該2つ
のオペランドはオーバラップしないものとして処理され
るように機能する。{第2図の動作タイムチャート参
照} このように、本発明は、複数個の仮想アドレス空間に
存在するデータを、命令の主記憶オペランドのベースレ
ジスタ(BR)の番号によって、該仮想アドレス空間を決
定して参照する仮想記憶方式の情報処理装置における記
憶域変更事象記録、及びオペランドオーバラップ条件を
検出する方式において、元々、ストア命令のオペランド
によって仮想アドレス空間をアクセスする際、ベースレ
ジスタ(BR)によって、該命令がアクセスする仮想アド
レス空間識別番号と、そのセグメントテーブルオリジン
(STO)を認識できる機構(仮想アドレス空間へのアク
セス制御レジスタ)(AR)があることに着目し、その仮
想アドレス空間識別番号を保持しているレジスタ(ASID
R)を、上記アクセス命令のベースレジスタ(BR)番号
で検索して、該命令がアクセスする仮想アドレス空間の
識別番号(A−ASID)を認識し、該認識された仮想ア
ドレス空間の識別番号(A−ASID)と、当該情報処理
装置においてモニタすべき仮想アドレス空間の識別番号
(STPER−ASTD)とを比較し、一致した場合には、該一
致信号(STPER−ENB)をストアPER検出信号とするよう
にし、又、データ転送命令がアクセスする第2オペラン
ドの仮想アドレス空間の識別番号(A−ASID)を、例
えば、パイプラインのAステージで検出したとき、該仮
想アドレス空間の識別番号(A−ASID)を記憶してお
き、続いて投入された第1オペランドの仮想アドレス空
間の識別番号(A−ASID)と比較して、不一致信号が
得られた時には、ストアアクセスの仮想アドレス空間が
異なることになるので、オペランドのオーバラップはな
いものとして処理するようにした所に特徴がある。
The virtual address space identification number (A-ASID) output by the main memory access by the second operand of the data transfer instruction is held in the third register 5 and subsequently input to the pipeline. The virtual address space identification number (A-ASID) output by the main memory access by the first operand is compared by a comparator 6 for detecting an operand overlap. INH-OVLP-CHK "is output, and even if a coincidence signal is output by the conventional operand overlap detection circuit described with reference to FIG. 3C, the two operands are processed as if they did not overlap. To work. << Refer to the operation time chart of FIG. 2 >> As described above, according to the present invention, data present in a plurality of virtual address spaces is stored in the virtual address space by the number of the base register (BR) of the main memory operand of the instruction. In a method of detecting a storage area change event and detecting an operand overlap condition in a virtual storage type information processing device to be determined and referred to, when a virtual address space is originally accessed by a store instruction operand, a base register (BR) is used. Paying attention to the fact that there is a virtual address space identification number to be accessed by the instruction and a mechanism (access control register to virtual address space) (AR) that can recognize the segment table origin (STO). Register holding the number (ASID
R) with the base register (BR) number of the access instruction to recognize the identification number (A-ASID) of the virtual address space accessed by the instruction, and to identify the identified virtual address space identification number (A-ASID). A-ASID) is compared with the identification number (STPER-ASTD) of the virtual address space to be monitored in the information processing device, and if they match, the match signal (STPER-ENB) is compared with the store PER detection signal. When the identification number (A-ASID) of the virtual address space of the second operand accessed by the data transfer instruction is detected, for example, at the stage A of the pipeline, the identification number (A-ASID) of the virtual address space is detected. -ASID) is compared with the identification number (A-ASID) of the virtual address space of the subsequently input first operand, and when a mismatch signal is obtained, the virtual address of the store access is obtained. Since the spaces are different, the feature is that the operands are processed as if they did not overlap.

〔発明の効果〕〔The invention's effect〕

以上、詳細に説明したように、本発明の仮想記憶アド
レス空間アクセス制御方式は、複数個の仮想アドレス空
間に存在するデータを、命令の主記憶オペランドのベー
スレジスタ(BR)の番号によって、該仮想アドレス空間
を決定して参照する仮想記憶方式の情報処理装置におけ
る記憶域変更事象記録,及びオペランドオーバラップ条
件を検出するのに、記憶域変更事象記録を検出すべき仮
想アドレス空間を指定する仮想アドレス空間識別番号
(STPER−ASID)を保持する第1のレジスタと、命令の
主記憶オペランドの有効アドレスをベースレジスタ(B
R),インデックスレジスタ(XR),ディスプレイスメ
ント(D)から求める際に使用する上記ベースレジスタ
(BR)の番号,或いは、該ベースレジスタ(BR)の番号
によって牽引されるレジスタの内容によってアクセスす
べき仮想アドレス空間番号(A−ARN)を決定する手段
と、上記複数個の仮想アドレス空間へのアクセスを制御
するレジスタ(AR)毎に、該アクセスする仮想アドレス
空間を指定するアドレス空間識別番号を保持する第2の
レジスタ(ASIDR)とを設け、上記アクセスすべき仮想
アドレス空間番号(A−ARN)を決定する手段からのベ
ースレジスタ(BR)の番号を用いて、上記第2のレジス
タ(ASIDR)を検索して、当該命令がアクセスする仮想
アドレス空間識別番号(A−ASID)を牽引し、上記第
1のレジスタの内容と比較して、記憶域変更事象記録を
検出するか、上記複数個の仮想アドレス空間をアクセス
する命令(例えば、データ転送命令)の第2オペランド
のアクセス時に検索した仮想アドレス空間識別番号(A
−ASID)を保持する第3のレジスタを設け、該第3の
レジスタの内容と、続いてアクセスされる第1オペラン
ドのアクセス時に検索した仮想アドレス空間識別番号
(A−ASID)とを比較する手段を設け、該比較手段で
不一致が得られたとき、オペランドオーバラップのチェ
ックを抑止するようにしたものであるので、記憶域変更
事象記録(ストアPER),及び、オペランドオーバラッ
プの検出が高速に、且つ、確実にでき、データ処理の高
速化が図れる効果がある。
As described above in detail, in the virtual memory address space access control method of the present invention, data existing in a plurality of virtual address spaces is assigned to the virtual memory by the number of the base register (BR) of the main memory operand of the instruction. A virtual address specifying a virtual address space in which a storage area change event record is to be detected in order to detect a storage area change event record and an operand overlap condition in an information processing apparatus of a virtual storage system which determines and refers to an address space. A first register for holding a space identification number (STPER-ASID) and a base register (B
R), the index register (XR), the number of the base register (BR) used for obtaining from the displacement (D), or the contents of the register guided by the number of the base register (BR) A means for determining a virtual address space number (A-ARN) and, for each register (AR) controlling access to the plurality of virtual address spaces, holding an address space identification number designating the virtual address space to be accessed. A second register (ASIDR) to be accessed, and using the number of the base register (BR) from the means for determining the virtual address space number (A-ARN) to be accessed, the second register (ASIDR) To retrieve the virtual address space identification number (A-ASID) accessed by the instruction, compare it with the contents of the first register, and store The virtual address space identification number (A) searched at the time of detecting the area change event record or accessing the second operand of an instruction (for example, a data transfer instruction) for accessing the plurality of virtual address spaces.
Means for comparing the contents of the third register with a virtual address space identification number (A-ASID) retrieved at the time of accessing the first operand subsequently accessed. Is provided, and when a mismatch is obtained by the comparing means, the check of the operand overlap is suppressed, so that the storage area change event record (store PER) and the detection of the operand overlap can be performed at high speed. In addition, there is an effect that data processing can be performed at high speed.

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

第1図は本発明の一実施例を示した図, 第2は本発明のオペランドオーバラップの検出動作のタ
イムチャート, 第3図は従来の記憶域変更事象記録の検出方式を説明す
る図, 第4図は従来のオペランドのオーバラップ検出方式を説
明する図, である。 図面において、 25aは仮想アドレス空間識別番号レジスタ,又は、第2
のレジスタ(ASIDR), 2はアクセスすべき仮想アドレス空間番号で、ベースレ
ジスタ(BR)番号、又は、該ベースレジスタ(BR)の番
号によって牽引されるレジスタの内容(A−ARN), 3はモニタすべき仮想アドレス空間識別番号(STPER−A
SID),又は第1のレジスタ, 4,6は比較器, 5は第3のレジスタ,又は、第2オペランドの仮想アド
レス空間識別番号を保持するレジスタ, 10はコントロールレジスタ(CRO), 15,16はコントロールレジスタ(CR10,11), 17はオペランドアドレスレジスタ(OAR), 20はベースレジスタ(BR), 25は仮想アドレス空間へのアクセスを制御するレジスタ
(AR), 25bはセグメントテーブルオリジン(STO), 30はセグメントテーブル(STO〜), 50は第1オペランドアドレスレジスタ(OPAR1), 51は第2オペランドアドレスエジスタ(OPAR2), 53は比較器, は命令がアクセウスする仮想アクセス空間識別番号
(A−ASID), をそれぞれ示す。
FIG. 1 is a diagram showing an embodiment of the present invention, FIG. 2 is a time chart of an operation of detecting an operand overlap of the present invention, FIG. 3 is a diagram for explaining a conventional method of detecting a storage area change event record, FIG. 4 is a diagram for explaining a conventional operand overlap detection method. In the drawing, 25a is a virtual address space identification number register or a second address.
Is a virtual address space number to be accessed, 2 is a base register (BR) number, or the contents of a register (A-ARN) guided by the base register (BR) number, and 3 is a monitor. Virtual address space identification number (STPER-A
SID) or the first register, 4 and 6 are comparators, 5 is the third register or a register holding the virtual address space identification number of the second operand, 10 is the control register (CRO), 15, 16 Is the control register (CR10, 11), 17 is the operand address register (OAR), 20 is the base register (BR), 25 is the register that controls access to the virtual address space (AR), and 25b is the segment table origin (STO) , 30 is a segment table (STO ~), 50 is a first operand address register (OPAR1), 51 is a second operand address register (OPAR2), 53 is a comparator, is a virtual access space identification number (A) to which the instruction accesses. −ASID) and.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数個の仮想アドレス空間に存在するデー
タを、命令の主記憶オペランドのベースレジスタ(BR)
の番号によって、該仮想アドレス空間を決定して参照す
る仮想記憶方式の情報処理装置において、 記憶域変更事象記録を検出すべき仮想アドレス空間を指
定する仮想アドレス空間識別番号(STPER−ASID)を保
持する第1のレジスタ(3)と、 命令の主記憶オペランドの有効アドレスをベースレジス
タ(BR),インデックスレジスタ(XR),ディスプレイ
スメント(D)から求める際に使用する上記ベースレジ
スタ(BR)の番号,或いは、該ベースレジスタ(BR)の
番号によって索引されるレジスタの内容によって、アク
セスすべき仮想アドレス空間番号(A−ARN)(2)を
決定する手段と、 上記複数個の仮想アドレス空間へのアクセスを制御する
レジスタ(AR)25毎に、該アクセスする仮想アドレス空
間を指定する仮想アドレス空間識別番号を保持する第2
のレジスタ(ASIDR)(25a)とを設け、 上記アクセスすべき仮想アドレス空間番号(A−ARN)
(2)を決定する手段からのベースレジスタ(BR)の番
号を用いて、上記第2のレジスタ(ASIDR)(25a)を検
索して、当該命令がアクセスする仮想アドレス空間識別
番号(A−ASID)()を検索し、上記第1のレジスタ
(3)と比較器(4)で比較して、記憶域変更事象記録
を検出することを特徴とする仮想記憶アドレス空間アク
セス制御方式。
A base register (BR) of a main storage operand of an instruction stores data existing in a plurality of virtual address spaces.
The virtual address space identification number (STPER-ASID) that specifies the virtual address space in which the storage area change event record is to be detected is stored in the information processing device of the virtual storage system that determines and refers to the virtual address space by the number of the virtual address space. The first register (3) to be executed, and the number of the base register (BR) used to determine the effective address of the main storage operand of the instruction from the base register (BR), index register (XR), and displacement (D) Or means for determining a virtual address space number (A-ARN) (2) to be accessed based on the contents of a register indexed by the number of the base register (BR); A virtual address space identification number that specifies the virtual address space to be accessed is stored for each register (AR) 25 that controls access. The second to
(ASIDR) (25a), and the virtual address space number to be accessed (A-ARN)
The second register (ASIDR) (25a) is searched using the number of the base register (BR) from the means for determining (2), and the virtual address space identification number (A-ASID) accessed by the instruction is searched. (3) A virtual memory address space access control method wherein (1) is searched and compared with the first register (3) and the comparator (4) to detect a storage area change event record.
【請求項2】上記複数個の仮想アドレス空間をアクセス
する命令の第2オペランドのアクセス時に検索した仮想
アドレス空間識別番号(A−ASID)()を保持する第
3のレジスタ(5)を設け、 該第3のレジスタ(5)の内容と、続いてアクセスされ
る第1オペランドのアクセス時に検索した仮想アドレス
空間識別番号(A−ASID)()とを比較する手段
(6)を設け、 該比較手段(6)で不一致が得られたとき、オペランド
オーバラップのチェックを抑止することを特徴とする請
求項1に記載の仮想記憶アドレス空間アクセス制御方
式。
2. A third register (5) for holding a virtual address space identification number (A-ASID) () retrieved at the time of accessing a second operand of an instruction for accessing the plurality of virtual address spaces, Means (6) for comparing the contents of the third register (5) with the virtual address space identification number (A-ASID) () searched at the time of accessing the subsequently accessed first operand; 2. The virtual memory address space access control method according to claim 1, wherein when a mismatch is obtained by the means (6), the check of the operand overlap is suppressed.
JP63246902A 1988-09-28 1988-09-28 Virtual memory address space access control method Expired - Fee Related JP2580734B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63246902A JP2580734B2 (en) 1988-09-28 1988-09-28 Virtual memory address space access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63246902A JP2580734B2 (en) 1988-09-28 1988-09-28 Virtual memory address space access control method

Publications (2)

Publication Number Publication Date
JPH0291745A JPH0291745A (en) 1990-03-30
JP2580734B2 true JP2580734B2 (en) 1997-02-12

Family

ID=17155445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63246902A Expired - Fee Related JP2580734B2 (en) 1988-09-28 1988-09-28 Virtual memory address space access control method

Country Status (1)

Country Link
JP (1) JP2580734B2 (en)

Also Published As

Publication number Publication date
JPH0291745A (en) 1990-03-30

Similar Documents

Publication Publication Date Title
US5295251A (en) Method of accessing multiple virtual address spaces and computer system
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
EP0139407B1 (en) Data select match
JPS6341100B2 (en)
US4999770A (en) Command controlled multi-storage space protection key pretesting system permitting access regardless of test result if selected key is predetermined value
US6571316B1 (en) Cache memory array for multiple address spaces
EP0125855A2 (en) Buffer-storage control system
US5129071A (en) Address translation apparatus in virtual machine system using a space identifier field for discriminating datoff (dynamic address translation off) virtual machines
WO2004099974A1 (en) Simultaneous access of the same line in cache storage
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
US4670836A (en) Device for detecting an overlap of operands to be accessed
JP2580734B2 (en) Virtual memory address space access control method
US7617380B2 (en) System and method for synchronizing translation lookaside buffer access in a multithread processor
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
KR0128506B1 (en) Data processing system capable of communicating with other computer system
US20030018842A1 (en) Interrupt controller
JP2004005710A (en) Information processor
JPH05134930A (en) Memory protecting device
GB2037466A (en) Computer with cache memory
JPS59112479A (en) High speed access system of cache memory
JPS6175446A (en) Address comparison system
JPH05241965A (en) Memory managing device
JP3055271B2 (en) Task identification method
JP2797961B2 (en) Search system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees