JPH03100747A - Multiple virtual address space access device - Google Patents

Multiple virtual address space access device

Info

Publication number
JPH03100747A
JPH03100747A JP1236853A JP23685389A JPH03100747A JP H03100747 A JPH03100747 A JP H03100747A JP 1236853 A JP1236853 A JP 1236853A JP 23685389 A JP23685389 A JP 23685389A JP H03100747 A JPH03100747 A JP H03100747A
Authority
JP
Japan
Prior art keywords
address
register
sto
identification code
registers
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.)
Granted
Application number
JP1236853A
Other languages
Japanese (ja)
Other versions
JPH0664554B2 (en
Inventor
Yuki Yamada
山田 由紀
Shigeo Sawada
沢田 栄夫
Mutsuyasu Ishibashi
石橋 陸泰
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 JP1236853A priority Critical patent/JPH0664554B2/en
Publication of JPH03100747A publication Critical patent/JPH03100747A/en
Publication of JPH0664554B2 publication Critical patent/JPH0664554B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To control simultaneous access to many address spaces with a small hardware quantity by holding the identification code of an address conversion table origin address, e.g. STO(segment table origin address) instead of the origin address. CONSTITUTION:An IDR array 6 consists of ID registers IDR0 - IDR15 correspond ing to general registers GR0 - GR15 one to one and when one general register is selected as a base register, a corresponding ID register is selected at the same time. Each ID register holds an STO identification code, i.e. code for identifying an STO corresponding to an address space and identifies the address space. Consequently, the register groups IDR0 - IDR15 which hold the identifica tion codes of address conversion table origin addresses are provided instead of a register group for holding the address conversion table origin addresses themselves, so the simultaneous access to many address space can be controlled with a small quantity of hardware.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多重仮想記憶システムに関し、特に、多数の
アドレス空間への同時アクセスが容易な多重仮想記憶シ
ステムに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiple virtual memory system, and more particularly to a multiple virtual memory system that facilitates simultaneous access to multiple address spaces.

〔従来の技術〕 多重仮想記憶システムにおいて、ベースアドレスを供給
するベースレジスタとして使用される複数のレジスタに
、それぞれアドレス空間を割当てることにより、プログ
ラムがベースレジスタの指定を変更するだけで異なるア
ドレス空間にアクセスできるようにする機構は、既に公
知である。
[Prior Art] In a multiple virtual memory system, by allocating an address space to each of multiple registers used as base registers that supply base addresses, a program can move to a different address space simply by changing the designation of the base register. Mechanisms for providing access are already known.

例えば、特公昭60−22377号公報に記載されたシ
ステムは、各汎用レジスタに1個ずつ関連付けられた一
群のアクセスレジスタを有し、各アクセスレジスタは、
アドレス空間に対応するSTO(Seg+++ent 
Table Origin、セグメントテーブル起点ア
ドレス)を保持する。ある汎用レジスタが命令によりベ
ースレジスタとして指定されると、それに関連付けられ
たアクセスレジスタからSTOが読出されて、論理アド
レスから実アドレスへの変換のために使用される。すな
わち、そのSTOは、T L B (Translat
ion Look−aside Buffer。
For example, the system described in Japanese Patent Publication No. 60-22377 has a group of access registers associated with each general-purpose register, and each access register is
STO (Seg+++ent) corresponding to the address space
Holds Table Origin (segment table starting point address). When a general purpose register is designated as a base register by an instruction, the STO is read from its associated access register and used for logical to real address translation. That is, the STO is T L B (Translat
ion Look-aside Buffer.

アドレス変換バッファ)の探索に使用され、そして、所
望ページがT L B 4.−登録されていなければセ
グメントテーブルへのアクセスに使用きれ、以下周知の
過程により、ページテーブルを介して実ページアドレス
が得られる。
address translation buffer) and the desired page is T L B 4. - If it is not registered, it can be used to access the segment table, and the real page address is obtained via the page table by a well-known process.

特公昭60−41379号公報に記載されたシステムは
、やや異なる構造を持つ。このシステムは、アクセスレ
ジスタ群の代りに、各汎用レジスタに1個ずつ関連付け
られた一群のデイジットを持つマスクレジスタと、それ
ぞれがSTOを保持する複数のSTOレジスタとを有し
、マスクレジスタの各デイジットは、STOレジスタの
選択のためのアドレス情報として使用される。ある汎用
レジスタがベースレジスタとして指定されると、それに
関連付けられたマスクレジスタデイジットが読出され、
デコードされて、STOレジスタの一つを選択し、選択
されたSTOレジスタが、STOを前記と同様なアドレ
ス変換のために供給する。
The system described in Japanese Patent Publication No. 60-41379 has a slightly different structure. Instead of a group of access registers, this system has a mask register with a group of digits, one associated with each general-purpose register, and a plurality of STO registers, each holding an STO, with each digit of the mask register is used as address information for selecting the STO register. When a general-purpose register is designated as a base register, its associated mask register digits are read and
It is decoded to select one of the STO registers, and the selected STO register supplies the STO for address translation as described above.

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

複数のアドレス空間に容易にアクセスできる前記のよう
な機能は、中・小型機にとってもやはり備えることが望
ましいものである。他方、中・小型機にとっては、ハー
ドウェア量の節減が切実な要請である。前掲特公昭60
−41379号公報記載のシステムは、同60−223
77号公報記載のシステt1と比較すれば、同時に使用
されるアドレス空間の数、したがってSTOレジスタの
数がさほど多くない限り、ハードウェアの所要量が少な
い。しかし、それでも、相当数のSTOレジスタが必要
であり、そして各STOレジスタは、少なくともSTo
の長さ(典型的には20ビット前後)の容量を持たねば
ならない、同時に使用しうるアドレス空間の数を増すと
、STOレジスタの数の増加に加えて、マスクレジスタ
のサイズも増大し、その結果、ハードウェア量節減の効
果は減少する。のみならず、TLBの各エントリも、S
TOのためのフィールドを含まなければない。
The above-mentioned function that allows easy access to multiple address spaces is desirable for small and medium-sized machines as well. On the other hand, for small and medium-sized machines, there is an urgent need to reduce the amount of hardware required. Above mentioned special public service 1986
The system described in Publication No. 41379 is 60-223
Compared to the system t1 described in Japanese Patent No. 77, the required amount of hardware is small as long as the number of address spaces used simultaneously, and therefore the number of STO registers, is not very large. However, a significant number of STO registers is still required, and each STO register is at least STO
Increasing the number of simultaneously usable address spaces, which must have a capacity of approximately As a result, the effect of reducing the amount of hardware decreases. In addition, each entry in the TLB is
Must include a field for TO.

本発明の課題は、なるべく多くのアドレス空間への同時
アクセスを、なるべく少ないハードウェア量で制御する
ことにある。
An object of the present invention is to control simultaneous access to as many address spaces as possible with as little hardware as possible.

本発明の付加的な課題は、ハードウェア量の節減に起因
する命令処理速度の低下を極力防ぎつつ、前記課題を解
決することにある。
An additional object of the present invention is to solve the above-mentioned problems while preventing as much as possible a decrease in instruction processing speed due to reduction in the amount of hardware.

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

本発明に従えば、各アドレス空間のためのアドレス変換
テーブル起点アドレス(例えば5TO)がコード化され
る。すなわち、アドレス変換テーブル起点アドレスを識
別する識別コードを保持するための一群の識別コードレ
ジスタが、特公昭60−22377号公報に記載された
アクセスレジスタの代りに、ベースレジスタとして使用
可能な一群のレジスタに対応して設けられ、加えて、T
LBも、アドレス変換テーブル起点アドレスの代りに、
その識別コードを保持し、この点で、特公昭60−41
379号公報に記載されたシステムとも異なる。
According to the invention, an address translation table starting address (eg, 5TO) for each address space is encoded. That is, a group of identification code registers for holding an identification code for identifying the address conversion table starting point address is a group of registers that can be used as a base register instead of the access register described in Japanese Patent Publication No. 60-22377. T
LB also uses instead of the address translation table starting address,
To retain its identification code, in this regard, the
This system is also different from the system described in Publication No. 379.

また、特公昭60−41379号公報に記載されたST
Oレジスタの代りに、アドレス変換テーブル起点アドレ
スをその識別コードに対応するアドレスに保持するため
の、主記憶とは別でより高速の記憶アレイが、識別コー
ドからアドレス変換テーブル起点アドレスへの変換のた
めに設けられる。更に、1次アドレス空間(実行中のプ
ログラムが駐在するアドレス空間)のためのアドレス変
換テーブル起点アドレスとその識別コードをそれぞれ保
持するための1次起点アドレスレジスタと1次識別コー
ドレジスタが設けられるとともに、命令フェッチ動作時
には前記1次起点アドレスレジスタと1次識別コードレ
ジスタを選択し、他の記憶アクセス動作時には前記記憶
アレイと識別コードレジスタを選択して、それらの内容
をアドレス変換機構に供給する回路が設けられる。
Also, ST described in Japanese Patent Publication No. 60-41379
Instead of the O register, a faster storage array separate from the main memory for holding the address translation table starting address at the address corresponding to its identification code is used to store the translation from the identification code to the address translation table starting address. established for the purpose of Furthermore, a primary address register and a primary identification code register are provided for holding the address translation table starting address and its identification code for the primary address space (the address space where the program being executed resides), respectively. , a circuit that selects the primary starting point address register and the primary identification code register during an instruction fetch operation, selects the storage array and the identification code register during other memory access operations, and supplies their contents to an address translation mechanism. is provided.

前記記憶アレイは、アドレス変換テーブル起点アドレス
の登録とその識別コードの決定を容易にするために、ス
タック構造を取ることができる。
The storage array may have a stack structure to facilitate registration of the address translation table starting address and determination of its identification code.

すなわち、新しいアドレス変換テーブル起点アドレスが
格納されるべきアドレスを示す第1ポインタと、指定さ
れたアドレス変換テーブル起点アドレスが既に保持され
ているか否かの調査のためにこの記憶アレイを第1ポイ
ンタが示す範囲内で走査するための第2ポインタとが設
けられ、第1ポインタ又は第2ポインタの内容が、第2
レジスタに設定すべき識別コードとして使用される。
That is, the first pointer indicates the address where a new address translation table starting address is to be stored, and the first pointer points to this storage array to check whether the specified address translation table starting address is already held. a second pointer for scanning within the indicated range, and the content of the first pointer or the second pointer is
Used as an identification code to be set in a register.

また、1次識別コードレジスタの内容は、1次アドレス
空間のためのアドレス変換テーブル起点アドレスの識別
コードの第2レジスタへの設定に使用されてもよい。
Further, the contents of the primary identification code register may be used to set the identification code of the address translation table starting point address for the primary address space in the second register.

〔作用〕[Effect]

ある命令によりベースレジスタが選択されると。 When a base register is selected by an instruction.

それに対応する識別コードレジスタが同時に選択されて
、識別コードが読出され、この識別コードがTLB内の
識別コードと直接比較されて、それにより、TLB内の
アドレス変換ペアのアドレス空間が所望のアドレス空間
と一致するか否かが判定される。所望の実アドレスがT
LBから得られない時には、記憶アレイからのアドレス
変換テーブル起点アドレスを用いて、正規のアドレス変
換が行なわれる。命令フェッチ動作時には、アドレス変
換テーブル起点アドレスとその識別コードが、それぞれ
1次起点アドレスレジスタと1次識別コードレジスタか
ら直接得られる。
The corresponding identification code registers are simultaneously selected to read the identification code, and this identification code is directly compared with the identification code in the TLB, thereby changing the address space of the address translation pair in the TLB to the desired address space. It is determined whether or not they match. The desired real address is T
If not obtained from LB, normal address translation is performed using the address translation table starting address from the storage array. During an instruction fetch operation, the address translation table starting address and its identification code are obtained directly from the primary starting address register and primary identification code register, respectively.

アドレス変換テーブル起点アドレスそのものを保持する
レジスタ群の代りにそれらの識別コードを保持するレジ
スタ群を設け、かつ、TLBにもアドレス変換テーブル
起点アドレスの代りにそれらの識別コードを格納し、更
に、識別コードに対応するアドレス変換テーブル起点ア
ドレスの供給源として、レジスタ群の代りに記憶アレイ
を設けた結果、レジスタの個数とサイズ並びにTLBの
サイズが大幅に低減される。追加される記憶アレイのハ
ードウェア量は、同一容量のレジスタのそれと比較して
僅少であり、特に、この記憶アレイは、他の高速記憶(
例えば、制御記憶、バッファ記憶等)と共に集積回路と
して形成できるので、ハードウェア量の大幅な低減が期
待できる。
Instead of the register group that holds the address translation table starting point address itself, a register group that holds their identification codes is provided, and those identification codes are also stored in the TLB instead of the address translation table starting point address, and furthermore, the identification Providing a storage array instead of a group of registers as a source of the address translation table starting address corresponding to the code greatly reduces the number and size of the registers as well as the size of the TLB. The amount of hardware added to the storage array is negligible compared to that of registers of the same capacity;
For example, since it can be formed as an integrated circuit together with control memory, buffer memory, etc., a significant reduction in the amount of hardware can be expected.

他方、記憶アクセス時間は、TLBがヒツトする限り、
前述した従来のシステムのそれと変らない、また、はぼ
1回おきの記憶アクセスが充当される命令フェッチ動作
においては、所要のアドレス変換テーブル起点アドレス
とその識別コードが、1次起点アドレスレジスタと1次
識別コードレジスタから直接に、極めて短時間の内に得
られるから、TLBがヒツトしない時でさえ、命苓フェ
ッチ時間は従来のシステムのそれと変りがない。したが
って、総合的な命令処理速度の低下は僅少である。
On the other hand, the memory access time is as long as the TLB is hit.
In the instruction fetch operation, which is the same as that of the conventional system described above, and in which memory access is performed approximately once every other time, the required address translation table starting address and its identification code are stored in the primary starting address register and 1. Since it is obtained directly from the next identification code register in a very short time, the fetch time is no different from that of conventional systems even when the TLB is not hit. Therefore, the overall instruction processing speed is only slightly reduced.

第1及び第2ポインタは、アドレス変換テーブルの登録
と識別コードの決定を容易にする。あるアドレス変換テ
ーブル起点アドレスが与えられた時、第2ポインタの値
を順次インクリメントすることによって、記憶アレイに
既に登録されているアドレス変換テーブル起点アドレス
を順次読出して、与えられたアドレス変換テーブル起点
アドレスと比較することができる。もしもそれらが一致
すれば、その時の第2ポインタの値が、識別コードレジ
スタに設定されるべき識別コードを示す。
The first and second pointers facilitate registration of the address translation table and determination of the identification code. When a certain address translation table start address is given, by sequentially incrementing the value of the second pointer, the address translation table start addresses already registered in the memory array are read out sequentially, and the given address translation table start address is obtained. can be compared with. If they match, the value of the second pointer at that time indicates the identification code to be set in the identification code register.

第2ポインタの値が第1ポインタの値に達するまでに一
致が検出されなければ、その起点アドレスは未登録であ
り、第1ポインタの値が、その起点アドレスの格納位置
と識別コードを示す。
If no match is detected before the value of the second pointer reaches the value of the first pointer, the starting point address is unregistered, and the value of the first pointer indicates the storage location and identification code of the starting point address.

1次アドレス空間のための識別コードの供給源として1
次識別コードレジスタを用いれば、ベースレジスタに割
当てられる率が高い1次アドレス空間については、その
識別コードの設定のために前述のような記憶アレイの検
索を必要とせず、したがって、識別コードの設定に要す
る時間が大幅に短縮される。
1 as a source of identification code for the primary address space.
By using the next identification code register, it is not necessary to search the storage array as described above for setting the identification code for the primary address space that is often allocated to the base register, and therefore, the setting of the identification code is not necessary. The time required for this is significantly reduced.

〔実施例〕 第1図は、本発明による多重仮想アドレス空間アクセス
装置の一例を示す。命令処理部1は、命令を解読して、
ベースレジスタ番号(BR#)、すなわち、ベースレジ
スタとして使用される汎用レジスタの識別番号と、オペ
ランドアドレスのディスプレースメント部分(DSP)
を発生する。
Embodiment FIG. 1 shows an example of a multiple virtual address space access device according to the present invention. The instruction processing unit 1 decodes the instruction and
Base register number (BR#), i.e. the identification number of the general-purpose register used as the base register, and the displacement part of the operand address (DSP)
occurs.

命令処理部1は、また、順次命令フェッチ動作又は分岐
先命令フェッチ動作を指示する命令フェッチ信号(IF
)を発生し、更に、順次命令フェッチ動作時に命令カウ
ンタ値(rc)を送出する。
The instruction processing unit 1 also receives an instruction fetch signal (IF
), and further sends out an instruction counter value (rc) during a sequential instruction fetch operation.

GRアレイ2は、16個の汎用レジスタ(G RO〜G
R15)からなり、それらの任意の一つがベースレジス
タ番号によって選択される。選択された汎用レジスタの
内容は、アドレス加算器3によりディスプレースメント
と加算されて、論理アドレスを形成する。なお、簡明の
ため図示は省略されているが、命令によりインデクスレ
ジスタとして指定された汎用レジスタの内容も、アドレ
ス加算器3に供給される。セレクタ4は、信号IFが順
次命令フェッチ動作を指定している時には命令カウント
値を選択し、それ以外の時にはアドレス加算器3の出力
を選択して、論理アドレスレジスタ(LAR)5に格納
する。
GR array 2 has 16 general-purpose registers (G RO to G
R15), any one of which is selected by the base register number. The contents of the selected general purpose register are added with the displacement by address adder 3 to form a logical address. Although not shown for the sake of clarity, the contents of the general-purpose register designated as the index register by the instruction are also supplied to the address adder 3. The selector 4 selects the instruction count value when the signal IF specifies a sequential instruction fetch operation, and otherwise selects the output of the address adder 3 and stores it in the logical address register (LAR) 5.

IDRアレイ6は、汎用レジスタと1対1に対応する1
6個のIDレジスタ(IDRO−IDR15)からなり
、ある汎用レジスタがベースレジスタとして選択される
と、それに対応するIDレジスタが同時に選択される。
The IDR array 6 has a one-to-one correspondence with a general-purpose register.
It consists of six ID registers (IDRO-IDR15), and when a certain general-purpose register is selected as a base register, the corresponding ID registers are selected at the same time.

各IDレジスタは、STO識別コード(STOID)、
すなわち、アドレス空間に対応するSTOを識別するコ
ードを保持し、本実施例では、その長さは6ビツトであ
って、それにより、64個の異なる5TO1すなわちア
ドレス空間を識別することができる。1次5TOL/ジ
Xり(PSTOR)7は、1次5TO1すなわち、−次
アドレス空間(実行中のプログラムが駐在するアドレス
空間)に対応するSTOを保持する制御レジスタであり
、1次IDレジスタ(PIDR)8は、−次STOを識
別するSTO識別コードを保持する制御レジスタである
。セレクタ9は、信号IFが順次命令フェッチ動作又は
分岐先命令フェッチ動作を指示している時には、1次I
Dレジスタ8の出力を選択し、それ以外の時には、ID
Rアレイ6の出力を選択する。
Each ID register has an STO identification code (STOID),
That is, it holds a code that identifies the STO corresponding to the address space, and in this embodiment, its length is 6 bits, thereby making it possible to identify 64 different 5TO1s, ie, address spaces. The primary 5TOL/PSTOR 7 is a control register that holds the primary 5TO1, that is, the STO corresponding to the -th address space (the address space where the program being executed resides), and the primary ID register ( PIDR) 8 is a control register that holds an STO identification code that identifies the -next STO. When the signal IF instructs a sequential instruction fetch operation or a branch destination instruction fetch operation, the selector 9 selects the primary I
Selects the output of D register 8; otherwise, ID
Select the output of R array 6.

TLB 10は、論理アドレスの上位部分の一部でアド
レス指定される一部のエントリからなり、各エントリは
、STO識別コードが格納される5TOIDフイールド
と、論理アドレスの上位部分が格納されるLAフィール
ドと、実ページアドレスが格納されるRAフィールドを
含む。アドレス指定された位置から読出されたTLBエ
ントリ中の5TOIDフイールドの値は、一致回路11
により、セレクタ9からのSTO識別コードと比較され
、LAフィールドの値は、一致回路12により、論理ア
ドレスの上位部分と比較される。
The TLB 10 consists of some entries that are addressed by a part of the upper part of the logical address, and each entry has 5 TOID fields in which the STO identification code is stored and an LA field in which the upper part of the logical address is stored. and an RA field in which the real page address is stored. The value of the 5TOID field in the TLB entry read from the addressed location is determined by the matching circuit 11.
The value of the LA field is compared with the STO identification code from the selector 9, and the value of the LA field is compared with the upper part of the logical address by the matching circuit 12.

致回路11.12が共に一致を検出すると、ANDゲー
ト13がTLBヒツト信号を発生し、これに応答してセ
レクタ14がTLBからのRAフィールド値を選択する
。セレクタ14の出力は、論理アドレスの下位部分と連
結されて、実アドレスレジスタ(RAR)15内に実ア
ドレスを生成する。
When match circuits 11, 12 both detect a match, AND gate 13 generates a TLB hit signal, in response to which selector 14 selects the RA field value from the TLB. The output of selector 14 is concatenated with the lower part of the logical address to generate a real address in real address register (RAR) 15.

他方、−数回路11.12の少なくとも一方が一致を検
出しない場合は、インバータ16を経て、TLBミス信
号がアドレス変換部17に送られ、このアドレス変換部
が、周知のアドレス変換プロセスにより、セグメントテ
ーブルとページテーブルを用いて、論理アドレスの上位
部分を実ページアドレスに変換する。この変換に際して
、セグメントテーブルにアクセスするためのSTOは、
セレクタ18を介して、命令フェッチ動作時には1次S
TOレジスタから得られ、それ以外の場合には後述する
5TOID変換部19から得られる。
On the other hand, if at least one of the -number circuits 11 and 12 does not detect a match, the TLB miss signal is sent to the address translation unit 17 via the inverter 16, and this address translation unit converts the segment into segments using a well-known address translation process. Convert the upper part of a logical address to a real page address using a table and a page table. During this conversion, the STO for accessing the segment table is
Through the selector 18, the primary S
It is obtained from the TO register, and in other cases it is obtained from the 5TOID converter 19, which will be described later.

こうして得られた実ページアドレスは、対応する論理ア
ドレスの上位部分及びアドレス空間識別コードと共に、
TLB I Oの対応するエントリに格納される。この
実ページアドレスは、また、セレクタ14で選択されて
、実アドレスレジスタ15に送られる。
The real page address obtained in this way, together with the upper part of the corresponding logical address and address space identification code,
It is stored in the corresponding entry of TLB IO. This real page address is also selected by the selector 14 and sent to the real address register 15.

STOを5TOII別コードに変換して、それをIDR
アレイ6又は1次IDレジスタ8に設定するために、5
TOID変換部19とSTO検索部20が設けられる。
Convert STO to 5TOII code and convert it to IDR
5 to set in array 6 or primary ID register 8.
A TOID conversion section 19 and an STO search section 20 are provided.

5TOID変換部19は、また、STO識別コードから
STOへの変換にも使用される。第2図は、STO検索
部20を、機能の観点から図示する。STO識別コード
の設定に際し、指定されたベースレジスタ番号(BR#
)は、加算器30aにより、アドレス空間テーブル起点
レジスタ(ASTOR)31中の起点アドレスと加算さ
れ、主記憶中のアドレス空間テーブル(AST)32の
対応するエントリのアドレスを作る。このテーブル32
には、各ベースレジスタに割当てられたアドレス空間番
号(A S N)が格納されている。こうして得られた
ベースレジスタに対応するアドレス空間番号は、4倍回
路(2ビツト左シフタ)33により4倍された後、加算
器30bにより、データ空間管理テーブル起点レジ、l
 (DSTOR)34中の起点アドレスと加算されて、
主記憶中のデータ空間管理テーブル(DST)35の対
応するエントリのアドレスを与える。このテーブル35
には、各アドレス空間番号に対応するSTOが格納され
ている。こうして得られたアドレス空間番号とSTOは
、ベースレジスタ番号と共に5TOID変換部19に送
られる。なお、図において別々に示された2台の加算器
30aと30bは、実際には同一の加算器であり、更に
いえば、第1図中のアドレス加算器3と同じものであっ
てもよい。
The 5TOID converter 19 is also used to convert an STO identification code to an STO. FIG. 2 illustrates the STO search unit 20 from a functional perspective. When setting the STO identification code, the specified base register number (BR#
) is added to the starting point address in the address space table starting point register (ASTOR) 31 by an adder 30a to create the address of the corresponding entry in the address space table (AST) 32 in main memory. This table 32
stores the address space number (A S N) assigned to each base register. The address space number corresponding to the base register obtained in this way is multiplied by 4 by the quadrupling circuit (2-bit left shifter) 33, and then added to the data space management table starting point register, l, by the adder 30b.
(DSTOR) is added to the starting point address in 34,
Gives the address of the corresponding entry in the data space management table (DST) 35 in main memory. This table 35
stores the STO corresponding to each address space number. The address space number and STO thus obtained are sent to the 5TOID converter 19 together with the base register number. Note that the two adders 30a and 30b shown separately in the figure are actually the same adder, and furthermore, they may be the same as the address adder 3 in FIG. .

第3図は、5TOID変換防19の構成を示す。FIG. 3 shows the configuration of the 5TOID conversion prevention 19.

STO登録テーブル(STOT)40は、プロセッサ内
部の高速小容量の記憶アレイ中に設けられ、STO識別
コードのビット数“6”に照応して、アドレスO〜63
に64個のエントリを持つ。これらのアドレスの値は5
Tora別コードと一致し、そして、各エントリは、そ
のアドレス値をSTO識別コードとして持つSTOを保
持する。TLBがヒツトしなかった場合には、第1図に
示されるIDRアレイ6から読出された5TOjl別コ
ード(STOID)が、STO登録テーブル40の読出
しアドレスとして使用され、そこから読出されたSTO
が、セレクタ18を経てアドレス変換部17に送られて
、アドレス変換に使用される。
The STO registration table (STOT) 40 is provided in a high-speed, small-capacity storage array inside the processor, and is assigned addresses O to 63 in accordance with the bit number "6" of the STO identification code.
has 64 entries. The value of these addresses is 5
Tora specific code, and each entry holds an STO having its address value as the STO identification code. If the TLB is not hit, the 5TOjl separate code (STOID) read from the IDR array 6 shown in FIG.
is sent to the address translation unit 17 via the selector 18 and used for address translation.

テーブルを走査して登録されているSTOを検索するた
めのSTOポインタ(STOPTR) 41と、次のS
TOが登録されるべき位置(又は登録されているSTO
の個数)を示すSTOカウンタ(STOCNT)42が
設けられ、これらによって、STO登録テーブル40は
、STO識別コードを設定する過程で、スタックとして
機能する。制御部43は、STO検索部20(第2図)
から、STOとアドレス空間番号(ASN)とベースレ
ジスタ番号(BR#)を受け、更に、1次STOレジス
タと1次IDレジスタ8からそれらの内容を受けて、S
TOポインタ41とSTOカウンタ42を制御し、後述
する手順に従って、STO登録テーブル40とIDRア
レイ6の内容を設定又は更新し、また、場合によっては
1次IDレジスタ8Iの内容を更新する。
STO pointer (STOPTR) 41 for scanning the table and searching for registered STO, and the next S
The location where the TO should be registered (or the STO that is registered)
An STO counter (STOCNT) 42 is provided to indicate the number of STO identification codes, and the STO registration table 40 functions as a stack in the process of setting the STO identification code. The control unit 43 controls the STO search unit 20 (FIG. 2)
It receives the STO, address space number (ASN), and base register number (BR#) from
It controls the TO pointer 41 and the STO counter 42, sets or updates the contents of the STO registration table 40 and the IDR array 6, and updates the contents of the primary ID register 8I in accordance with the procedure described later.

アプリケーションプログラムの起動時に、O8は、デー
タ空間管理テーブル35を用意する。その第1エントリ
は、初期1次5TO1すなわち。
When the application program is started, the O8 prepares the data space management table 35. Its first entry is the initial primary 5TO1 ie.

このプログラムの少なくとも先頭部分が駐在するアドレ
ス空間のSTOである。アドレス空間テーブル起点レジ
スタ31とデータ空間管理テーブル起点レジスタ34に
は然るべき値がセットされ、アドレス空間テーブル32
とIDRアレイ6はすべて0′″にリセットされ、ST
O登録テーブル40の第1エントリ(アドレス′″O”
)には前記の初期1次STOが書込まれ、そして、ST
Oカウンタ42は“1”にセットされる。更に、O8は
、1次STOレジスタ7にこの初期1次STOをセット
するとともに、1次IDレジスタ8を“0”にリセット
し、そして、このアプリケーションプログラムを起動す
る。したがって、このアプリケーションプログラムは、
その起動直後には初期−次アドレス空間内のみにおいて
処理される。
This is the STO of the address space where at least the beginning part of this program resides. Appropriate values are set in the address space table starting point register 31 and the data space management table starting point register 34, and the address space table 32
and IDR array 6 are all reset to 0''', and ST
The first entry of the O registration table 40 (address '"O"
) is written with the above-mentioned initial primary STO, and then ST
The O counter 42 is set to "1". Furthermore, O8 sets this initial primary STO in the primary STO register 7, resets the primary ID register 8 to "0", and starts this application program. Therefore, this application program
Immediately after its activation, processing occurs only within the initial-next address space.

アプリケーションプログラムは、アドレス空間テーブル
32の内容を変更することによりIDRアレイ6の内容
を変更することができ、それによって、ベースレジスタ
の指定を介してアクセス可能なアドレス空間を、自由に
変更することができる。このようなアドレス空間割当て
の変更のために、あるベースレジスタ番号と、このベー
スレジスタに新たに割当てるべきアドレス空間番号とが
指定される。そうすると、第2図を参照して、指定され
たベースレジスタ番号(BR#)とアドレス空間テーブ
ル31中の起点アドレスとの和により、アドレス空間テ
ーブル32の対応するエントリが選択されて、新たに指
定されたアドレス空間番号がそこに書込まれ、次いで、
この新アドレス空間番号の4倍値とデータ空間管理テー
ブル起点レジスタ34中の起点アドレスとの和により、
データ空間管理テーブル35の対応するエントリが選択
されて、その内容(STO)が読出される。
The application program can change the contents of the IDR array 6 by changing the contents of the address space table 32, thereby freely changing the address space accessible through the specification of the base register. can. In order to change address space allocation in this way, a certain base register number and an address space number to be newly allocated to this base register are specified. Then, referring to FIG. 2, the corresponding entry in the address space table 32 is selected based on the sum of the specified base register number (BR#) and the starting point address in the address space table 31, and a new designated entry is selected. address space number is written there, and then
By the sum of the quadruple value of this new address space number and the starting point address in the data space management table starting point register 34,
A corresponding entry in the data space management table 35 is selected and its contents (STO) are read.

続いて、第3図に示される5TOID変換部が、第4図
にフローチャートで示される動作を開始する。まず、S
TOポインタ41が110”にリセットされ(Sl)、
次にSTOカウンタ42の値が調べられる(S2)、S
TOカウンタの値が# O11の時は、STO登録テー
ブル40には未だ何も登録されていない、その場合は、
STOカウンタの値が示すs’rou録テーブルのエン
トリ、すなわちアドレス“0”に、1次STOレジスタ
7の内容、すなわち1次STOが転送されるとともに。
Subsequently, the 5TOID converter shown in FIG. 3 starts the operation shown in the flowchart of FIG. First, S
The TO pointer 41 is reset to 110'' (Sl),
Next, the value of the STO counter 42 is checked (S2), S
When the value of the TO counter is #O11, nothing has been registered in the STO registration table 40. In that case,
At the same time, the contents of the primary STO register 7, that is, the primary STO, are transferred to the entry of the s'rou record table indicated by the value of the STO counter, that is, address "0."

STOカウンタの内容、すなわち“O”が、1次IDレ
ジスタ8に転送される(Sa)、次いで、STOカウン
タの値が“1′″だけインクリメントされ(84)、そ
の後でステップS5が行なわれる。しかし、ステップS
2においてSTOカウンタの値が# Oj+でなければ
、直ちにステップS5が行なわれる。
The content of the STO counter, ie "O", is transferred to the primary ID register 8 (Sa), and then the value of the STO counter is incremented by "1'" (84), after which step S5 is performed. However, step S
2, if the value of the STO counter is not #Oj+, step S5 is immediately performed.

ステップS5において、ベースレジスタ番号又はアドレ
ス空間番号が0”の時は、−次アドレス空間が指定され
ており、したがって、1次IDレジスタ8の内容が、ベ
ースレジスタ番号により選択されたIDRアレイ中のI
Dレジスタに転送されて(S6)、処理は終了する。し
かし、ベースレジスタ番号もアドレス空間番号も“0″
でなければ、STOポインタ41が指すS T Q 登
録テーブルのエントリの内容が、STO検索部20から
のSTOと比較され(87)、一致が検出されない限り
、STOポインタの値が111”だけインクリメントさ
れて(Sa)、そのイ直がSTOカウンタ42の値に達
するまで(S9)、ステップ87〜S9が反復される。
In step S5, when the base register number or address space number is 0'', the -th address space is specified, and therefore the contents of the primary ID register 8 are stored in the IDR array selected by the base register number. I
The data is transferred to the D register (S6), and the process ends. However, both the base register number and address space number are “0”
If not, the content of the entry in the STQ registration table pointed to by the STO pointer 41 is compared with the STO from the STO search unit 20 (87), and unless a match is detected, the value of the STO pointer is incremented by 111''. (Sa), and steps 87 to S9 are repeated until the value reaches the value of the STO counter 42 (S9).

ステップS7において一致が検出されれば、その時のS
TOポインタの値が、5TOra別コードとして、ベー
スレジスタ番号により選択されたIDレジスタに転送さ
れて(SIO)、処理は終了する。
If a match is detected in step S7, the current S
The value of the TO pointer is transferred as a 5TOra separate code to the ID register selected by the base register number (SIO), and the process ends.

他方、ステップS7で一致が検出されることなく、かつ
、ステップS9においてSTOポインタの値がSTOカ
ウンタの値に達したことが検出されると、STOカウン
タの値が1154 j+に達しているか否かが調べられ
(811)、未だ達していなければ、STO検索部20
からのSTOが。
On the other hand, if no match is detected in step S7 and it is detected in step S9 that the value of the STO pointer has reached the value of the STO counter, it is determined whether the value of the STO counter has reached 1154 j+. is checked (811), and if it has not been reached yet, the STO search unit 20
STO from.

STOカウンタの値が指すS T Ou録テーブル40
のエントリに転送されて登録され、かつ、その時のST
Oカウンタの値が、5TOII別コードとして、ベース
レジスタ番号により選択されたIDレジスタに転送され
(Si2)、それから、STOカウンタの値がII I
 IIだけインクリメントされて(S13)、処理は終
了する。
ST Out record table 40 pointed to by the value of the STO counter
is transferred to and registered in the entry of ST
The value of the O counter is transferred as a 5TOII separate code to the ID register selected by the base register number (Si2), and then the value of the STO counter is transferred to the ID register selected by the base register number.
The value is incremented by II (S13), and the process ends.

しかし、ステップSllにおいてSTOカウンタの値が
64”に達していれば、STO登8テーブル40にはも
はや空いたエントリがない、そこで、TLBIOの全エ
ントリが無効にされ(S14) 、STOカウンタが0
″′にリセットされて(515)、その後、ステップ8
1〜S13がベースレジスタ番号0〜15について反復
されて(S16)、それによりSTO登録テーブル40
とIDレジスタアレイ6の内容が全面的に改訂される。
However, if the value of the STO counter has reached 64'' in step Sll, there are no more empty entries in the STO registration table 40, so all entries in TLBIO are invalidated (S14), and the STO counter becomes 0.
``'' (515), then step 8
1 to S13 are repeated for base register numbers 0 to 15 (S16), thereby registering the STO registration table 40.
The contents of the ID register array 6 are completely revised.

1次ST○レジスタ7の内容が変更された時には、まず
、1次IDレジスタ8の内容が、第5図にフローチャー
トで示される手順に従って更新される。ステップ820
〜S23におし1て、ST。
When the contents of the primary ST○ register 7 are changed, the contents of the primary ID register 8 are first updated according to the procedure shown in the flowchart of FIG. Step 820
-ST at S23.

カウンタ42の値が0″′ならば、S T O登録テー
ブル40のアドレスdi OItに1次STOレジスタ
の内容が転送され、かつ、1次IDレジスタにSTOカ
ウンタの値′″0″が転送され(S 22)、次いでS
TOカウンタの値が“1″にインクリメントされて(8
23)、処理は終了する。他方、STOカウンタの値が
110”でなければ、第4図のステップ87〜S9と同
様なループS24〜S26により、STOポインタの値
をII I IIずつインクリメントしながら、5TO
f録テーブル40が検索され、新1次ST○が既に31
.録されていれば、ステップS27において、その登録
位置を示すSTOポインタの値が1次IDレジスタに転
送される。
If the value of the counter 42 is 0'', the contents of the primary STO register are transferred to the address diOIt of the STO registration table 40, and the STO counter value ``0'' is transferred to the primary ID register. (S 22), then S
The value of the TO counter is incremented to “1” (8
23), the process ends. On the other hand, if the value of the STO counter is not 110'', the value of the STO pointer is incremented by II I II through a loop S24 to S26 similar to steps 87 to S9 in FIG.
The f record table 40 is searched and the new primary ST○ is already 31.
.. If it has been recorded, the value of the STO pointer indicating the registered position is transferred to the primary ID register in step S27.

しかし、新1次STOが未だS T OR録テーブルに
登録されていない場合には、STOカウンタの値が11
 (34IIに達しているか否かが調べられて(328
)、未だ達していなければ、SToカウンタの値が示す
アドレスに1次STOレジスタ7の内容が転送されて登
録されるとともに、STOカウンタの内容が1次IDレ
ジスタに転送され(329)、次いでSTOカウンタの
値が“1″だけインクリメントされて(S30)、処理
は終了する。他吟、STOカウンタの値が既にII 6
4 TTに達していれば、TLBIOが無効にされ(S
31)、次いでSTOカウンタがir Onにリセッ1
〜されて(S32)、その後で、前述のステップS29
及びS30の処理が行なわれ、その結果、1次STOレ
ジスタ7の内容がSTOテーブル40のアドレス“O′
″に転送されるとともに、値“OIIが1次IDレジス
タ8に入る。
However, if the new primary STO has not yet been registered in the STO record table, the value of the STO counter will be 11.
(It is checked whether it has reached 34II (328
), if it has not yet been reached, the contents of the primary STO register 7 are transferred and registered at the address indicated by the value of the STo counter, and the contents of the STO counter are transferred to the primary ID register (329), and then the contents of the STO counter are transferred to the primary ID register (329). The value of the counter is incremented by "1" (S30), and the process ends. Tagin, STO counter value is already II 6
4 If TT is reached, TLBIO is invalidated (S
31), then the STO counter is reset to ir On1
~ (S32), and then the above-mentioned step S29
As a result, the contents of the primary STO register 7 are changed to the address “O′” of the STO table 40.
” and the value “OII” is entered into the primary ID register 8.

このようにして1次IDレジスタ8の内容が更新された
後、第4図に示された処理が、ベースレジスタ番号0〜
15について反復される。その結果、ベースレジスタ番
号“0”に対応するIDレジスタの内容と、アドレス空
間番号440 uが割当てられたベースレジスタに対応
するIDレジスタの内容が、ステップS5と86におい
て更新される。他のIDレジスタの内容は通常は不変に
保たれるが、ステップS28でSTOカウンタの値が1
46411に達していた場合には、第4図に示される処
理がSTOカウンタの値111”から始まるので、新規
割当ての場合と同様に、STOテーブル40とIDRア
レイ6の内容が全面的に改訂される。
After the contents of the primary ID register 8 are updated in this way, the process shown in FIG.
Repeated for 15 times. As a result, the contents of the ID register corresponding to base register number "0" and the contents of the ID register corresponding to the base register to which address space number 440 u is assigned are updated in steps S5 and 86. The contents of other ID registers are normally kept unchanged, but the value of the STO counter is set to 1 in step S28.
46411, the processing shown in FIG. 4 starts from the STO counter value 111'', so the contents of the STO table 40 and the IDR array 6 are completely revised as in the case of new allocation. Ru.

STOカウンタ42は、次の空きアドレスの代りに、登
録されている最後のSTOのアドレスを示すように、変
更してもよい。STO検索検索部上0TOID変換部1
9の制御は、マイクロプログラムで実現しても、ハード
ウェアで実現してもよい。
The STO counter 42 may be changed to indicate the address of the last registered STO instead of the next free address. STO search search section 0 TOID conversion section 1
The control of 9 may be realized by a microprogram or by hardware.

前述の実施例では6ビツトの識別コードが用いられたが
、その長さは任意に選ぶことができる。
Although a 6-bit identification code was used in the embodiment described above, its length can be chosen arbitrarily.

ただし、必要以上に長くするのは、ハードウェアの無益
な増大を招くので、好ましくない。STO登録テーブル
のエントリの個数は、STO識別コードの長さによって
決まる。
However, making it longer than necessary is not preferable because it will result in unnecessary increase in hardware. The number of entries in the STO registration table is determined by the length of the STO identification code.

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

以上の説明から明らかなように、本発明によれば、従来
の装置と比較して、より多くのアドレス空間への同時ア
クセスを、より少量のハードウェアで制御することがで
き、しかも、ハードウエア量の節減の割には、命令処理
速度の低下が少なくて済む。
As is clear from the above description, according to the present invention, compared to conventional devices, simultaneous access to more address spaces can be controlled with a smaller amount of hardware. Although the amount is saved, the reduction in instruction processing speed is small.

具体的にいえば、レジスタに関しては、命令フェッチ用
の1次STOレジスタと1次IDレジスタを除けば、ベ
ースレジスタとして使用されるレジスタと同数の短いI
Dレジスタが必要なだけであり、代りに必要な記憶アレ
イは、他の高速記憶と共に集積回路として形成しうるか
ら、そのハードウェア量は僅少である。同時に、TLB
のサイズも削減される。他方、記憶アクセス時間につい
ては、TLBがヒツトする限り従来のシステムと変らず
、記憶アクセス回数の約半分を占める命令フェッチの場
合は、全〈従来のシステムと変りがない。
Specifically, regarding the registers, there are as many short I
The amount of hardware is minimal since only D registers are required and the storage array required can alternatively be formed as an integrated circuit with other high speed storage. At the same time, T.L.B.
The size of is also reduced. On the other hand, the memory access time is the same as the conventional system as long as the TLB is hit, and in the case of instruction fetch, which accounts for about half of the number of memory accesses, there is no difference from the conventional system.

STO識別コードの設定は、前記記憶アレイにスタック
機能を付与することにより、能率よく行なうことができ
る。特に、ベースレジスタへの割当て率が高い1次アド
レス空間のための識別コードの設定は、前記記憶アレイ
を検索する代りに1次IDレジスタの内容を直接使用す
ることにより、極めて短時間で行なうことができる。例
えば、ベースレジスタの374に1次アドレス空間が割
当てられるとすれば、識別コードの設定に要する合計時
間は約174に短縮される。
The STO identification code can be set efficiently by providing the storage array with a stacking function. In particular, the setting of the identification code for the primary address space, which has a high allocation rate to the base register, can be done in an extremely short time by directly using the contents of the primary ID register instead of searching the storage array. I can do it. For example, if the primary address space is allocated to base register 374, the total time required to set the identification code is reduced to approximately 174.

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

第1図は本発明の一実施例を示すブロックダイヤグラム
であり、第2図は第1図中のSTO変換部のブロックダ
イヤグラムであり、第3図は第1図中の5TOID変換
部のブロックダイヤグラムであり、第4図は第1図中の
5TOID変換部で行なわれる識別コード設定動作のフ
ローチャートであり、第5図は同じ5TOID変換部で
行なわれる1次識別コード設定動作のフローチャートで
ある。 2・・・汎用レジスタ(第2レジスタ)アレイ、6・・
・識別レジスタ(第2レジスタ)アレイ、7・・・1次
STOレジスタ(第3レジスタ)、8・・・1次識別コ
ードレジスタ(第4レジスタ)、9.18・・・選択回
路、10・・・TLB (アドレス変換バッファ)、1
7・・・アドレス変換部、40・・・5TCI録テーブ
ル(記憶アレイ)、41・・・STOポインタ(第2ポ
インタ)、42・・・STOカウンタ(第1ポインタ)
FIG. 1 is a block diagram showing one embodiment of the present invention, FIG. 2 is a block diagram of the STO converter in FIG. 1, and FIG. 3 is a block diagram of the 5TOID converter in FIG. FIG. 4 is a flowchart of the identification code setting operation performed by the 5TOID converter in FIG. 1, and FIG. 5 is a flowchart of the primary identification code setting operation performed by the same 5TOID converter. 2... General-purpose register (second register) array, 6...
・Identification register (second register) array, 7... Primary STO register (third register), 8... Primary identification code register (fourth register), 9.18... Selection circuit, 10. ...TLB (address translation buffer), 1
7...Address translation unit, 40...5TCI record table (storage array), 41...STO pointer (second pointer), 42...STO counter (first pointer)
.

Claims (1)

【特許請求の範囲】 1、ベースレジスタとして使用しうる複数の第1レジス
タのそれぞれに、アドレス空間上の論理アドレスから実
アドレスへの変換のためのアドレス変換テーブルの起点
アドレスを割当てることにより、複数のアドレス空間へ
の同時アクセスを可能にする多重仮想記憶システムにお
いて、命令中のベースレジスタ指定情報により選択され
る、前記アドレス変換テーブル起点アドレスの識別コー
ドをそれぞれ保持するための複数の第2レジスタと、 複数の前記アドレス変換テーブル起点アドレスをそれぞ
れの識別コードに対応するアドレスに保持し、選択され
た前記第2レジスタからの識別コードに応答してそれに
対応するアドレス変換テーブル起点アドレスを出力する
、主記憶とは別でそれより高速の記憶アレイと、 最近アクセスされた論理アドレスとそれに対応する実ア
ドレスとこの実アドレスの決定に使用されたアドレス変
換テーブル起点アドレスに代わるその識別コードとを組
にして保持するアドレス変換バッファを含み、前記アド
レス変換テーブル起点アドレス又はその識別コードを用
いて論理アドレスを実アドレスに変換するアドレス変換
手段と、 実行中のプログラム部分が駐在するアドレス空間のため
のアドレス変換テーブル起点アドレス及びその識別コー
ドをそれぞれ保持するための第3レジスタ及び第4レジ
スタと、 命令フェッチ動作時には前記第3及び第4レジスタを選
択し、他の記憶アクセス動作時には前記選択された第2
レジスタ及び記憶アレイを選択して、それらの出力を前
記アドレス変換手段に供給する選択手段と、 を備える多重仮想アドレス空間アクセス装置。 2、請求項1において、前記記憶アレイは、新しいアド
レス変換テーブル起点アドレスが格納されるべきアドレ
スを示すための第1ポインタと、指定されたアドレス変
換テーブル起点アドレスが既に保持されているか否かの
調査のために当該記憶アレイを前記第1ポインタが示す
範囲内で走査するための第2ポインタとを有し、前記第
1又は第2ポインタの値が前記第2レジスタの指定され
た一つに設定されるべき識別コードとして使用される、
多重仮想アドレス空間アクセス装置。 3、請求項2において、前記第4レジスタは、更に、前
記第2レジスタの指定された一つに設定されるべき、実
行中のプログラムが駐在するアドレス空間に対応する識
別コードを供給する、多重仮想アドレス空間アクセス装
置。
[Claims] 1. By assigning a starting point address of an address conversion table for converting a logical address in an address space to a real address to each of a plurality of first registers that can be used as base registers, a plurality of first registers can be used as base registers. a plurality of second registers each holding an identification code of the address translation table starting point address selected by base register designation information in the instruction; , a main unit that holds a plurality of address translation table starting addresses at addresses corresponding to respective identification codes, and outputs the corresponding address translation table starting address in response to the selected identification code from the second register; A storage array that is different from, but faster than, the most recently accessed logical address, its corresponding real address, and its identification code, which replaces the starting address of the address translation table used to determine this real address, is combined. an address translation means for converting a logical address into a real address using the address translation table starting point address or its identification code; and an address translation table for the address space where the program part being executed resides. a third register and a fourth register for holding a start address and its identification code, respectively; the third and fourth registers are selected during an instruction fetch operation, and the selected second register is used during other memory access operations;
a selection means for selecting registers and storage arrays and supplying their outputs to said address translation means. 2. In claim 1, the storage array includes a first pointer for indicating an address where a new address translation table starting address is to be stored, and a first pointer for indicating whether a specified address translation table starting address is already held. and a second pointer for scanning the storage array within the range indicated by the first pointer for investigation, wherein the value of the first or second pointer is set to a specified one of the second registers. used as an identification code to be set,
Multiple virtual address space access device. 3. In claim 2, the fourth register further comprises a multiplexer for providing an identification code corresponding to an address space in which an executing program resides, which is to be set in a designated one of the second registers. Virtual address space access device.
JP1236853A 1989-09-14 1989-09-14 Multiple virtual address space access device Expired - Lifetime JPH0664554B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1236853A JPH0664554B2 (en) 1989-09-14 1989-09-14 Multiple virtual address space access device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1236853A JPH0664554B2 (en) 1989-09-14 1989-09-14 Multiple virtual address space access device

Publications (2)

Publication Number Publication Date
JPH03100747A true JPH03100747A (en) 1991-04-25
JPH0664554B2 JPH0664554B2 (en) 1994-08-22

Family

ID=17006772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1236853A Expired - Lifetime JPH0664554B2 (en) 1989-09-14 1989-09-14 Multiple virtual address space access device

Country Status (1)

Country Link
JP (1) JPH0664554B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387043B2 (en) 2008-02-07 2013-02-26 Hitachi, Ltd. USB port shared control method in a plurality of virtual machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387043B2 (en) 2008-02-07 2013-02-26 Hitachi, Ltd. USB port shared control method in a plurality of virtual machines

Also Published As

Publication number Publication date
JPH0664554B2 (en) 1994-08-22

Similar Documents

Publication Publication Date Title
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US6173369B1 (en) Computer system for processing multiple requests and out of order returns using a request queue
US5475827A (en) Dynamic look-aside table for multiple size pages
US5220669A (en) Linkage mechanism for program isolation
US5465337A (en) Method and apparatus for a memory management unit supporting multiple page sizes
EP0331900B1 (en) Method and apparatus for capability control
EP0327707B1 (en) Nonhierarchical program authorization mechanism
US4979098A (en) Multiple address space token designation, protection controls, designation translation and lookaside
EP0058844B1 (en) Address generator for multiple virtual address spaces
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5826057A (en) Method for managing virtual address space at improved space utilization efficiency
CA1123959A (en) Data processing apparatus having opcode extension register
US5287475A (en) Data processing apparatus operable in extended or unextended virtual address spaces without software modification
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
JPH03194632A (en) Cache access on the basis of translation look ahead
JPH077363B2 (en) Access device and method
WO1998044419A1 (en) A method and apparatus for implementing a page table walker with a sliding field
US20220276870A1 (en) Extended tags for speculative and normal executions
JPH07104818B2 (en) Large-scale virtual address space providing device and address translation method
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
EP0519685A1 (en) Address translation
EP0730237A1 (en) Multi-processor system with virtually addressable communication registers and controlling method thereof
CN111279324A (en) Method for localizing bit data
JPH03100747A (en) Multiple virtual address space access device
US4984150A (en) Virtual memory control management system