JPH0664554B2 - 多重仮想アドレス空間アクセス装置 - Google Patents

多重仮想アドレス空間アクセス装置

Info

Publication number
JPH0664554B2
JPH0664554B2 JP1236853A JP23685389A JPH0664554B2 JP H0664554 B2 JPH0664554 B2 JP H0664554B2 JP 1236853 A JP1236853 A JP 1236853A JP 23685389 A JP23685389 A JP 23685389A JP H0664554 B2 JPH0664554 B2 JP H0664554B2
Authority
JP
Japan
Prior art keywords
address
register
sto
identification code
starting point
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 - Lifetime
Application number
JP1236853A
Other languages
English (en)
Other versions
JPH03100747A (ja
Inventor
由紀 山田
栄夫 沢田
陸泰 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1236853A priority Critical patent/JPH0664554B2/ja
Publication of JPH03100747A publication Critical patent/JPH03100747A/ja
Publication of JPH0664554B2 publication Critical patent/JPH0664554B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多重仮想記憶システムに関し、特に、多数の
アドレス空間への同時アクセスが容易な多重仮想記憶シ
ステムに関する。
〔従来の技術〕
多重仮想記憶システムにおいて、ベースアドレスを供給
するベースレジスタとして使用される複数のレジスタ
に、それぞれアドレス空間を割当てることにより、プロ
グラムがベースレジスタの指定を変更するだけで異なる
アドレス空間にアクセスできるようにする機構は、既に
公知である。
例えば、特公昭60-22377号公報に記載されたシステム
は、各汎用レジスタに1個ずつ関連付けられた一群のア
クセスレジスタを有し、各アクセスレジスタは、アドレ
ス空間に対応するSTO(Segment Table Origin,セグ
メントテーブル起点アドレス)を保持する。ある汎用レ
ジスタが命令によりベースレジスタとして指定される
と、それに関連付けられたアクセスレジスタからSTO
が読出されて、論理アドレスから実アドレスへの変換の
ために使用される。すなわち、そのSTOは、TLB
(Translation Look-aside Buffer,アドレス変換バツ
フア)の探索に使用され、そして、所望ページがTLB
に登録されていなければセグメントテーブルへのアクセ
スに使用され、以下周知の過程により、ページテーブル
を介して実ページアドレスが得られる。
特公昭60-41379号公報に記載されたシステムは、やや異
なる構造を持つ。このシステムは、アクセスレジスタ群
の代りに、各汎用レジスタに1個ずつ関連付けられた一
群のデイジツトを持つマスクレジスタと、それぞれがS
TOを保持する複数のSTOレジスタとを有し、マスク
レジスタの各デイジツトは、STOレジスタの選択のた
めのアドレス情報として使用される。ある汎用レジスタ
がベースレジスタとして指定されると、それに関連付け
られたマスクレジスタデイジツトが読出され、デコード
されて、STOレジスタの一つを選択し、選択されたS
TOレジスタが、STOを前記と同様なアドレス変換の
ために供給する。
〔発明が解決しようとする課題〕
複数のアドレス空間に容易にアクセスできる前記のよう
な機能は、中・小型機にとつてもやはり備えることが望
ましいものである。他方、中・小型機にとつては、ハー
ドウエア量の節減が切実な要請である。前掲特公昭60-4
1379号公報記載のシステムは、同60-22377号公報記載の
システムと比較すれば、同時に使用されるアドレス空間
の数、したがつてSTOレジスタの数がさほど多くない
限り、ハードウエアの所要量が少ない。しかし、それで
も、相当数のSTOレジスタが必要であり、そして各S
TOレジスタは、少なくともSTOの長さ(典型的には
20ビツト前後)の容量を持たねばならない。同時に使
用しうるアドレス空間の数を増すと、STOレジスタの
数の増加に加えて、マスクレジスタのサイズも増大し、
その結果、ハードウエア量節減の効果は減少する。のみ
ならず、TLBの各エントリも、STOのためのフイー
ルドを含まなければない。
本発明の課題は、なるべく多くのアドレス空間への同時
アクセスを、なるべく少ないハードウエア量で制御する
ことにある。
本発明の付加的な課題は、ハードウエア量の節減に起因
する命令処理速度の低下を極力防ぎつつ、前記課題を解
決することにある。
〔課題を解決するための手段〕
本発明に従えば、各アドレス空間のためのアドレス変換
テーブル起点アドレス(例えばSTO)がコード化され
る。すなわち、アドレス変換テーブル起点アドレスを識
別する識別コードを保持するための一群の識別コードレ
ジスタが、特公昭60-22377号公報に記載されたアクセス
レジスタの代りに、ベースレジスタとして使用可能な一
群のレジスタに対応して設けられ、加えて、TLBも、
アドレス変換テーブル起点アドレスの代りに、その識別
コードを保持し、この点で、特公昭60-41379号公報に記
載されたシステムとも異なる。また、特公昭60-41379号
公報に記載されたSTOレジスタの代りに、アドレス変
換テーブル起点アドレスをその識別コードに対応するア
ドレスに保持するための、主記憶とは別でより高速の記
憶アレイが、識別コードからアドレス変換テーブル起点
アドレスへの変換のために設けられる。更に、1次アド
レス空間(実行中のプログラムが駐在するアドレス空
間)のためのアドレス変換テーブル起点アドレスとその
識別コードをそれぞれ保持するための1次起点アドレス
レジスタと1次識別コードレジスタが設けられるととも
に、命令フエツチ動作時には前記1次起点アドレスレジ
スタと1次識別コードレジスタを選択し、他の記憶アク
セス動作時には前記記憶アレイと識別コードレジスタを
選択して、それらの内容をアドレス変換機構に供給する
回路が設けられる。
前記記憶アレイは、アドレス変換テーブル起点アドレス
の登録とその識別コードの決定を容易にするために、ス
タツク構造を取ることができる。すなわち、新しいアド
レス変換テーブル起点アドレスが格納されるべきアドレ
スを示す第1ポインタと、指定されたアドレス変換テー
ブル起点アドレスが既に保持されているか否かの調査の
ためにこの記憶アレイを第1ポインタが示す範囲内で走
査するための第2ポインタとが設けられ、第1ポインタ
又は第2ポインタの内容が、第2レジスタに設定すべき
識別コードとして使用される。
また、1次識別コードレジスタの内容は、1次アドレス
空間のためのアドレス変換テーブル起点アドレスの識別
コードの第2レジスタへの設定に使用されてもよい。
〔作用〕
ある命令によりベースレジスタが選択されると、それに
対応する識別コードレジスタが同時に選択されて、識別
コードが読出され、この識別コードがTLB内の識別コ
ードと直接比較されて、それにより、TLB内のアドレ
ス変換ペアのアドレス空間が所望のアドレス空間と一致
するか否かが判定される。所望の実アドレスがTLBか
ら得られない時には、記憶アレイからのアドレス変換テ
ーブル起点アドレスを用いて、正規のアドレス変換が行
なわれる。命令フエツチ動作時には、アドレス変換テー
ブル起点アドレスとその識別コードが、それぞれ1次起
点アドレスレジスタと1次識別コードレジスタから直接
得られる。
アドレス変換テーブル起点アドレスそのものを保持する
レジスタ群の代りにそれらの識別コードを保持するレジ
スタ群を設け、かつ、TLBにもアドレス変換テーブル
起点アドレスの代りにそれらの識別コードを格納し、更
に、識別コードに対応するアドレス変換テーブル起点ア
ドレスの供給源として、レジスタ群の代りに記憶アレイ
を設けた結果、レジスタの個数とサイズ並びにTLBの
サイズが大幅に低減される。追加される記憶アレイのハ
ードウエア量は、同一容量のレジスタのそれと比較して
僅少であり、特に、この記憶アレイは、他の高速記憶
(例えば、制御記憶、バツフア記憶等)と共に集積回路
として形成できるので、ハードウエア量の大幅な低減が
期待できる。
他方、記憶アクセス時間は、TLBがヒツトする限り、
前述した従来のシステムのそれと変らない。また、ほぼ
1回おきの記憶アクセスが充当される命令フエツチ動作
においては、所要のアドレス変換テーブル起点アドレス
とその識別コードが、1次起点アドレスレジスタと1次
識別コードレジスタから直接に、極めて短時間の内に得
られるから、TBLがヒツトしない時でさえ、命令フエ
ツチ時間は従来のシステムのそれと変りがない。したが
つて、総合的な命令処理速度の低下は僅少である。
第1及び第2ポインタは、アドレス変換テーブルの登録
と識別コードの決定を容易にする。あるアドレス変換テ
ーブル起点アドレスが与えられた時、第2ポインタの値
を順次インクリメントすることによつて、記憶アレイに
既に登録されているアドレス変換テーブル起点アドレス
を順次読出して、与えられたアドレス変換テーブル起点
アドレスと比較することができる。もしもそれらが一致
すれば、その時の第2ポインタの値が、識別コードレジ
スタに設定されるべき識別コードを示す。第2ポインタ
の値が第1ポインタの値に達するまでに一致が検出され
なければ、その起点アドレスは未登録であり、第1ポイ
ンタの値が、その起点アドレスの格納位置と識別コード
を示す。
1次アドレス空間のための識別コードの供給源として1
次識別コードレジスタを用いれば、ベースレジスタに割
当てられる率が高い1次アドレス空間については、その
識別コードの設定のために前述のような記憶アレイの検
索を必要とせず、したがつて、識別コードの設定に要す
る時間が大幅に短縮される。
〔実施例〕
第1図は、本発明による多重仮想アドレス空間アクセス
装置の一例を示す。命令処理部1は、命令を解読して、
ベースレジスタ番号(BR♯)、すなわち、ベースレジ
スタとして使用される汎用レジスタの識別番号と、オペ
ランドアドレスのデイスプレースメント部分(DSP)
を発生する。命令処理部1は、また、順次命令フエツチ
動作又は分岐先命令フエツチ動作を指示する命令フエツ
チ信号(IF)を発生し、更に、順次命令フエツチ動作
時に命令カウンタ値(IC)を送出する。GRアレイ2
は、16個の汎用レジスタ(GR0〜GR15)からな
り、それらの任意の一つがベースレジスタ番号によつて
選択される。選択された汎用レジスタの内容は、アドレ
ス加算器3によりデイスプレースメントと加算されて、
論理アドレスを形成する。なお、簡明のため図示は省略
されているが、命令によりインデクスレジスタとして指
定された汎用レジスタの内容も、アドレス加算器3に供
給される。セレクタ4は、信号IFが順次命令フエツチ
動作を指定している時には命令カウント値を選択し、そ
れ以外の時にはアドレス加算器3の出力を選択して、論
理アドレスレジスタ(LAR)5に格納する。
IDRアレイ6は、汎用レジスタと1対1に対応する1
6個のIDレジスタ(IDR0〜IDR15)からな
り、ある汎用レジスタがベースレジスタとして選択され
ると、それに対応するIDレジスタが同時に選択され
る。各IDレジスタは、STO識別コード(STOI
D)、すなわち、アドレス空間に対応するSTOを識別
するコードを保持し、本実施例では、その長さは6ビツ
トであつて、それにより、64個の異なるSTO、すな
わちアドレス空間を識別することができる。1次STO
レジスタ(PSTOR)7は、1次STO、すなわち、
一次アドレス空間(実行中のプログラムが駐在するアド
レス空間)に対応するSTOを保持する制御レジスタで
あり、1次IDレジスタ(PIDR)8は、一次STO
を識別するSTO識別コードを保持する制御レジスタで
ある。セレクタ9は、信号IFが順次命令フエツチ動作
又は分岐先命令フエツチ動作を指示している時には、1
次IDレジスタ8の出力を選択し、それ以外の時には、
IDRアレイ6の出力を選択する。
TLB10は、論理アドレスの上位部分の一部でアドレ
ス指定される一群のエントリからなり、各エントリは、
STO識別コードが格納されるSTOIDフイールド
と、論理アドレスの上位部分が格納されるLAフイール
ドと、実ページアドレスが格納されるRAフイールドを
含む。アドレス指定された位置から読出されたTLBエ
ントリ中のSTOIDフイールドの値は、一致回路11
により、セレクタ9からのSTO識別コードと比較さ
れ、LAフイールドの値は、一致回路12により、論理
アドレスの上位部分と比較される。一致回路11,12
が共に一致を検出すると、ANDゲート13がTLBヒ
ツト信号を発生し、これに応答してセレクタ14がTL
BからのRAフイールド値を選択する。セレクタ14の
出力は、論理アドレスの下位部分と連結されて、実アド
レスレジスタ(RAR)15内に実アドレスを生成す
る。
他方、一致回路11,12の少なくとも一方が一致を検
出しない場合は、インバータ16を経て、TLBミス信
号がアドレス変換部17に送られ、このアドレス変換部
が、周知のアドレス変換プロセスにより、セグメントテ
ーブルとページテーブルを用い、論理アドレスの上位部
分を実ページアドレスに変換する。この変換に際して、
セグメントテーブルにアクセスするためのSTOは、セ
レクタ18を介して、命令フエツチ動作時には1次ST
Oレジスタから得られ、それ以外の場合には後述するS
TOID変換部19から得られる。こうして得られた実
ページアドレスは、対応する論理アドレスの上位部分及
びアドレス空間識別コードと共に、TLB10の対応す
るエントリに格納される。この実ページアドレスは、ま
た、セレクタ14で選択されて、実アドレスレジスタ1
5に送られる。
STOをSTO識別コードに変換して、それをIDRア
レイ6又は1次IDレジスタ8に設定するために、ST
OID変換部19とSTO検索部20が設けられる。S
TOID変換部19は、また、STO識別コードからS
TOへの変換にも使用される。第2図は、STO検索部
20を、機能の観点から図示する。STO識別コードの
設定に際し、指定されたベースレジスタ番号(BR♯)
は、加算器30aにより、アドレス空間テーブル起点レ
ジスタ(ASTOR)31中の起点アドレスと加算さ
れ、主記憶中のアドレス空間テーブル(AST)32の
対応するエントリのアドレスを作る。このテーブル32
には、各ベースレジスタに割当てられたアドレス空間番
号(ASN)が格納されている。こうして得られたベー
スレジスタに対応するアドレス空間番号は、4倍回路
(2ビツト左シフタ)33により4倍された後、加算器
30bにより、データ空間管理テーブル起点レジスタ
(DSTOR)34中の起点アドレスと加算されて、主
記憶中のデータ空間管理テーブル(DST)35の対応
するエントリのアドレスを与える。このテーブル35に
は、各アドレス空間番号に対応するSTOが格納されて
いる。こうして得られたアドレス空間番号とSTOは、
ベースレジスタ番号と共にSTOID変換部19に送ら
れる。なお、図において別々に示された2台の加算器3
0aと30bは、実際には同一の加算器であり、更にい
えば、第1図中のアドレス加算器3と同じものであつて
もよい。
第3図は、STOID変換防19の構成を示す。STO
登録テーブル(STOT)40は、プロセツサ内部の高
速小容量の記憶アレイ中に設けられ、STO識別コード
のビツト数“6”に照応して、アドレス0〜63に64
個のエントリを持つ。これらのアドレスの値はSTO識
別コードと一致し、そして、各エントリは、そのアドレ
ス値をSTO識別コードとして持つSTOを保持する。
TLBがヒツトしなかつた場合には、第1図に示される
IDRアレイ6から読出されたSTO識別コード(ST
OID)が、STO登録テーブル40の読出しアドレス
として使用され、そこから読出されたSTOが、セレク
タ18を経てアドレス変換部17に送られて、アドレス
変換に使用される。
テーブルを走査して登録されているSTOを検索するた
めのSTOポインタ(STOPTR)41と、次のSTOが登
録されるべき位置(又は登録されているSTOの個数)
を示すSTOカウンタ(STOCNT)42が設けられ、これ
らによつて、STO登録テーブル40は、STO識別コ
ードを設定する過程で、スタツクとして機能する。制御
部43は、STO検索部20(第2図)から、STOと
アドレス空間番号(ASN)とベースレジスタ番号(B
R#)を受け、更に、1次STOレジスタと1次IDレ
ジスタ8からそれらの内容を受けて、STOポインタ4
1とSTOカウンタ42を制御し、後述する手順に従つ
て、STO登録テーブル40とIDRアレイ6の内容を
設定又は更新し、また、場合によつては1次IDレジス
タ8の内容を更新する。
アプリケーシヨンプログラムの起動時に、OSは、デー
タ空間管理テーブル35を用意する。その第1エントリ
は、初期1次STO、すなわち、このプログラムの少な
くとも先頭部分が駐在するアドレス空間のSTOであ
る。アドレス空間テーブル起点レジスタ31とデータ空
間管理テーブル起点レジスタ34には然るべき値がセツ
トされ、アドレス空間テーブル32とIDRアレイ6は
すべて“0”にリセツトされ、STO登録テーブル40
の第1エントリ(アドレス“0”)には前記の初期1次
STOが書込まれ、そして、STOカウンタ42は
“1”にセツトされる。更に、OSは、1次STOレジ
スタ7にこの初期1次STOをセツトするとともに、1
次IDレジスタ8を“0”にリセツトし、そして、この
アプリケーシヨンプログラムを起動する。したがつて、
このアプリケーシヨンプログラムは、その起動直後には
初期一次アドレス空間内のみにおいて処理される。
アプリケーシヨンプログラムは、アドレス空間テーブル
32の内容を変更することによりIDRアレイ6の内容
を変更することができ、それによつて、ベースレジスタ
の指定を介してアクセス可能なアドレス空間を、自由に
変更することができる。このようなアドレス空間割当て
の変更のために、あるベースレジスタ番号と、このベー
スレジスタに新たに割当てるべきアドレス空間番号とが
指定される。そうすると、第2図を参照して、指定され
たベースレジスタ番号(BR♯)とアドレス空間テーブ
ル31中の起点アドレスとの和により、アドレス空間テ
ーブル32の対応するエントリが選択されて、新たに指
定されたアドレス空間番号がそこに書込まれ、次いで、
この新アドレス空間番号の4倍値とデータ空間管理テー
ブル起点レジスタ34中の起点アドレスとの和により、
データ空間管理テーブル35の対応するエントリが選択
されて、その内容(STO)が読出される。
続いて、第3図に示されるSTOID変換部が、第4図
にフローチヤートで示される動作を開始する。まず、S
TOポインタ41が“0”にリセツトされ(S1)、次
にSTOカウンタ42の値が調べられる(S2)。ST
Oカウンタの値が“0”の時は、STO登録テーブル4
0には未だ何も登録されていない。その場合は、STO
カウンタの値が示すSTO登録テーブルのエントリ、す
なわちアドレス“0”に、1次STOレジスタ7の内
容、すなわち1次STOが転送されるとともに、STO
カウンタの内容、すなわち“0”が、1次IDレジスタ
8に転送される(S3)。次いで、STOカウンタの値
が“1”だけインクリメントされ(S4)、その後でス
テツプS5が行なわれる。しかし、ステツプS2におい
てSTOカウンタの値が“0”でなければ、直ちにステ
ツプS5が行なわれる。
ステツプS5において、ベースレジスタ番号又はアドレ
ス空間番号が“0”の時は、一次アドレス空間が指定さ
れており、したがつて、1次IDレジスタ8の内容が、
ベースレジスタ番号により選択されたIDRアレイ中の
IDレジスタに転送されて(S6)、処理は終了する。
しかし、ベースレジスタ番号もアドレス空間番号も
“0”でなければ、STOポインタ41が指すSTO登
録テーブルのエントリの内容が、STO検索部20から
のSTOと比較され(S7)、一致が検出されない限
り、STOポインタの値が“1”だけインクリメントさ
れて(S8)、その値がSTOカウンタ42の値に達す
るまで(S9)、ステツプS7〜S9が反復される。ス
テツプS7において一致が検出されれば、その時のST
Oポインタの値が、STO識別コードとして、ベースレ
ジスタ番号により選択されたIDレジスタに転送されて
(S10)、処理は終了する。
他方、ステツプS7で一致が検出されることなく、か
つ、ステツプS9においてSTOポインタの値がSTO
カウンタの値に達したことが検出されると、STOカウ
ンタの値が“64”に達しているか否かが調べられ(S
11)、未だ達していなければ、STO検索部20から
のSTOが、STOカウンタの値が指すSTO登録テー
ブル40のエントリに転送されて登録され、かつ、その
時のSTOカウンタの値が、STO識別コードとして、
ベースレジスタ番号により選択されたIDレジスタに転
送され(S12)、それから、STOカウンタの値が
“1”だけインクリメントされて(S13)、処理は終
了する。
しかし、ステツプS11においてSTOカウンタの値が
“64”に達していれば、STO登録テーブル40には
もはや空いたエントリがない。そこで、TLB10の全
エントリが無効にされ(S14)、STOカウンタが
“0”にリセツトされて(S15)、その後、ステツプ
S1〜S13がベースレジスタ番号0〜15について反
復されて(S16)、それによりSTO登録テーブル4
0とIDレジスタアレイ6の内容が全面的に改訂され
る。
1次STOレジスタ7の内容が変更された時には、ま
ず、1次IDレジスタ8の内容が、第5図にフローチヤ
ートで示される手順に従つて更新される。ステツプS2
0〜S23において、STOカウンタ42の値が“0”
ならば、STO登録テーブル40のアドレス“0”に1
次STOレジスタの内容が転送され、かつ、1次IDレ
ジスタにSTOカウンタの値“0”が転送され(S2
2)、次いでSTOカウンタの値が“1”にインクリメ
ントされて(S23)、処理は終了する。他方、STO
カウンタの値が“0”でなければ、第4図のステツプS
7〜S9と同様なループ24〜S26により、STOポ
インタの値を“1”ずつインクリメントしながら、ST
O登録テーブル40が検索され、新1次STOが既に登
録されていれば、ステツプS27において、その登録位
置を示すSTOポインタの値が1次IDレジスタに転送
される。
しかし、新1次STOが未だSTO登録テーブルに登録
されていない場合には、STOカウンタの値が“64”
に達しているか否かが調べられて(S28)、未だ達し
ていなければ、STOカウンタの値が示すアドレスに1
次STOレジスタ7の内容が転送されて登録されるとと
もに、STOカウンタの内容が1次IDレジスタに転送
され(S29)、次いでSTOカウンタの値が“1”だ
けインクリメントされて(S30)、処理は終了する。
他吟、STOカウンタの値が既に“64”に達していれ
ば、TLB10が無効にされ(S31)、次いでSTO
カウンタが“0”にリセツトされて(S32)、その後
で、前述のステツプS29及びS30の処理が行なわ
れ、その結果、1次STOレジスタ7の内容がSTOテ
ーブル40のアドレス“0”に転送されるとともに、値
“0”が1次IDレジスタ8に入る。
このようにして1次IDレジスタ8の内容が更新された
後、第4図に示された処理が、ベースレジスタ番号0〜
15について反復される。その結果、ベースレジスタ番
号“0”に対応するIDレジスタの内容と、アドレス空
間番号“0”が割当てられたベースレジスタに対応する
IDレジスタの内容が、ステツプS5とS6において更
新される。他のIDレジスタの内容は通常は不変に保た
れるが、ステツプS28でSTOカウンタの値が“6
4”に達していた場合には、第4図に示される処理がS
TOカウンタの値“1”から始まるので、新規割当ての
場合と同様に、STOテーブル40とIDRアレイ6の
内容が全面的に改訂される。
STOカウンタ42は、次の空きアドレスの代りに、登
録されている最後のSTOのアドレスを示すように、変
更してもよい。STO検索部20とSTOID変換部1
9の制御は、マイクロプログラムで実現しても、ハード
ウエアで実現してもよい。
前述の実施例では6ビツトの識別コードが用いられた
が、その長さは任意に選ぶことができる。ただし、必要
以上に長くするのは、ハードウエアの無益な増大を招く
ので、好ましくない。STO登録テーブルのエントリの
個数は、STO識別コードの長さによつて決まる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、従来
の装置と比較して、より多くのアドレス空間への同時ア
クセスを、より少量のハードウエアで制御することがで
き、しかも、ハードウエア量の節減の割には、命令処理
速度の低下が少なくて済む。
具体的にいえば、レジスタに関しては、命令フエツチ用
の1次STOレジスタと1次IDレジスタを除けば、ベ
ースレジスタとして使用されるレジスタと同数の短いI
Dレジスタが必要なだけであり、代りに必要な記憶アレ
イは、他の高速記憶と共に集積回路として形成しうるか
ら、そのハードウエア量は僅少である。同時に、TLB
のサイズも削減される。他方、記憶アクセス時間につい
ては、TLBがヒツトする限り従来のシステムと変ら
ず、記憶アクセス回数の約半分を占める命令フエツチの
場合は、全く従来のシステムと変りがない。
STO識別コードの設定は、前記記憶アレイにスタツク
機能を付与することにより、能率よく行なうことができ
る。特に、ベースレジスタへの割当て率が高い1次アド
レス空間のための識別コードの設定は、前記記憶アレイ
を検索する代りに1次IDレジスタの内容を直接使用す
ることにより、極めて短時間で行なうことができる。例
えば、ベースレジスタの3/4に1次アドレス空間が割
当てられるとすれば、識別コードの設定に要する合計時
間は約1/4に短縮される。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツクダイヤグラム
であり、第2図は第1図中のSTO変換部のブロツクダ
イヤグラムであり、第3図は第1図中のSTOID変換
部のブロツクダイヤグラムであり、第4図は第1図中の
STOID変換部で行なわれる識別コード設定動作のフ
ローチヤートであり、第5図は同じSTOID変換部で
行なわれる1次識別コード設定動作のフローチヤートで
ある。 2…汎用レジスタ(第1レジスタ)アレイ、6…識別レ
ジスタ(第2レジスタ)アレイ、7…1次STOレジス
タ(第3レジスタ)、8…1次識別コードレジスタ(第
4レジスタ)、9,18…選択回路、10…TLB(ア
ドレス変換バツフア)、17…アドレス変換部、40…
STO登録テーブル(記憶アレイ)、41…STOポイ
ンタ(第2ポインタ)、42…STOカウンタ(第1ポ
インタ)。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ベースレジスタとして使用しうる複数の第
    1レジスタのそれぞれに、アドレス空間上の論理アドレ
    スから実アドレスへの変換のためのアドレス変換テーブ
    ルの起点アドレスを割当てることにより、複数のアドレ
    ス空間への同時アクセスを可能にする多重仮想記憶シス
    テムにおいて、 命令中のベースレジスタ指定情報により選択される、前
    記アドレス変換テーブル起点アドレスの識別コードをそ
    れぞれ保持するための複数の第2レジスタと、 複数の前記アドレス変換テーブル起点アドレスをそれぞ
    れの識別コードに対応するアドレスに保持し、選択され
    た前記第2レジスタからの識別コードに応答してそれに
    対応するアドレス変換テーブル起点アドレスを出力す
    る、主記憶とは別でそれより高速の記憶アレイと、 最近アクセスされた論理アドレスとそれに対応する実ア
    ドレスとこの実アドレスの決定に使用されたアドレス変
    換テーブル起点アドレスに代わるその識別コードとを組
    にして保持するアドレス変換バツフアを含み、前記アド
    レス変換テーブル起点アドレス又はその識別コードを用
    いて論理アドレスを実アドレスに変換するアドレス変換
    手段と、 実行中のプログラム部分が駐在するアドレス空間のため
    のアドレス変換テーブル起点アドレス及びその識別コー
    ドをそれぞれ保持するための第3レジスタ及び第4レジ
    スタと、 命令フエツチ動作時には前記第3及び第4レジスタを選
    択し、他の記憶アクセス動作時には前記選択された第2
    レジスタ及び記憶アレイを選択して、それらの出力を前
    記アドレス変換手段に供給する選択手段と、 を備える多重仮想アドレス空間アクセス装置。
  2. 【請求項2】請求項1において前記記憶アレイは、新し
    いアドレス変換テーブル起点アドレスが格納されるべき
    アドレスを示すための第1ポインタと、指定されたアド
    レス変換テーブル起点アドレスが既に保持されているか
    否かの調査のために当該記憶アレイを前記第1ポインタ
    が示す範囲内で走査するための第2ポインタとを有し、
    前記第1又は第2ポインタの値が前記ベースレジスタ指
    定情報により選択された前記第2レジスタに設定される
    べき識別コードとして使用される、多重仮想アドレス空
    間アクセス装置。
  3. 【請求項3】請求項2において、前記第4レジスタは、
    更に、前記ベースレジスタ指定情報により選択された前
    記第2レジスタに設定されるべき、実行中のプログラム
    が駐在するアドレス空間に対応する識別コードを供給す
    る、多重仮想アドレス空間アクセス装置。
JP1236853A 1989-09-14 1989-09-14 多重仮想アドレス空間アクセス装置 Expired - Lifetime JPH0664554B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1236853A JPH0664554B2 (ja) 1989-09-14 1989-09-14 多重仮想アドレス空間アクセス装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1236853A JPH0664554B2 (ja) 1989-09-14 1989-09-14 多重仮想アドレス空間アクセス装置

Publications (2)

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

Family

ID=17006772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1236853A Expired - Lifetime JPH0664554B2 (ja) 1989-09-14 1989-09-14 多重仮想アドレス空間アクセス装置

Country Status (1)

Country Link
JP (1) JPH0664554B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187368A (ja) 2008-02-07 2009-08-20 Hitachi Ltd Usbポートの共有制御方法

Also Published As

Publication number Publication date
JPH03100747A (ja) 1991-04-25

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
US5475827A (en) Dynamic look-aside table for multiple size pages
US6629208B2 (en) Cache system for concurrent processes
US5220669A (en) Linkage mechanism for program isolation
US4136385A (en) Synonym control means for multiple virtual storage systems
US5991757A (en) Method and system for searching an array for an array value
US4945480A (en) Data domain switching on program address space switching and return
EP0058844B1 (en) Address generator for multiple virtual address spaces
US5465337A (en) Method and apparatus for a memory management unit supporting multiple page sizes
US4979098A (en) Multiple address space token designation, protection controls, designation translation and lookaside
KR960001946B1 (ko) 우선 변환 참조버퍼
US5426751A (en) Information processing apparatus with address extension function
JPH077363B2 (ja) アクセス装置及び方法
JPH10177520A (ja) データプロセッサ及びデータ処理システム
JPH03194632A (ja) 変換予見にもとづくキャッシュアクセス
JPH10198563A (ja) マイクロプロセッサ内の動的にロード可能なパターン履歴表
JPH0348541B2 (ja)
US7093100B2 (en) Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes
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
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US5390312A (en) Access look-aside facility
US5715420A (en) Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer
US6915406B2 (en) Address translation apparatus, address translation method, and two-layer address translation apparatus
US5305458A (en) Multiple virtual storage system and address control apparatus having a designation table holding device and translation buffer
JPH06139149A (ja) 多重仮想空間制御装置