JPH0650480B2 - 多重仮想記憶システムおよびアドレス制御装置 - Google Patents

多重仮想記憶システムおよびアドレス制御装置

Info

Publication number
JPH0650480B2
JPH0650480B2 JP1112967A JP11296789A JPH0650480B2 JP H0650480 B2 JPH0650480 B2 JP H0650480B2 JP 1112967 A JP1112967 A JP 1112967A JP 11296789 A JP11296789 A JP 11296789A JP H0650480 B2 JPH0650480 B2 JP H0650480B2
Authority
JP
Japan
Prior art keywords
conversion
descriptor
segment table
register
address
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
JP1112967A
Other languages
English (en)
Other versions
JPH02292648A (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 JP1112967A priority Critical patent/JPH0650480B2/ja
Priority to US07/518,411 priority patent/US5305458A/en
Publication of JPH02292648A publication Critical patent/JPH02292648A/ja
Publication of JPH0650480B2 publication Critical patent/JPH0650480B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、多重仮想記憶システムに関し、特に、実行中
のプログラムが同時に複数の仮想アドレス空間をアクセ
スする際に必要とするセグメントテーブル記述子を高速
かつ効率よく提供するためのアドレス制御装置に関す
る。
[従来の技術] 多重仮想記憶システムにおいては、一般に、主記憶装置
上に置かれたセグメントテーブル及びページテーブルに
より命令及びオペランドが属する仮想アドレス空間を規
定しており、この各アドレス空間は主記憶装置上に置か
れたセグメントテーブルを位置付けするようなセグメン
トテーブル記述子(STD)と呼ばれるポインタによっ
て参照される。
この多重仮想記憶システムにおいて、実行中のプログラ
ムが同時に複数のアドレス空間をアクセスする技法は特
開昭56-140576号にて開示されており、この技法では汎
用レジスタ(GR)に関連づけられたアクセスレジスタ
(AR)がプロセッサ中に設けられ、このARの中には
オペランドが属する仮想アドレス空間を直接指定するS
TDが格納されている。オペランドアクセス時に基底レ
ジスタとして使用されるGRに関連したAR内のSTD
を使用することによりオペランドの仮想アドレス空間を
指定している。このような機構により実行中のプログラ
ムが同時に複数のアドレス空間をアクセスすることを可
能にしている。
[発明が解決しようとする課題] 上記従来技術では、ARに直接STDを有しているが、
このようにARに直接STDを有するのではなく、AR
の内容が間接的にSTDを指定するようなアドレス制御
方式に関しては明示されていない。
例えば、実行中のプログラムがアクセスできる仮想アド
レス空間を指定するSTDはシステムプログラムにより
主記憶装置上にテーブルとして準備しておくとともに、
システムプログラムにより与えられる該テーブルの先頭
アドレス及びテーブル内アドレスをそれぞれ制御レジス
タ(CR),ARに保持しておき、このCRとARによ
り間接的にSTDを指し示すようなシステムの場合、オ
ペランドアクセスの度にCRとARの内容を加算し、得
られたアドレスにて主記憶装置上のテーブルを参照して
STDを求めなければならず、仮想空間をアクセスする
度にこのような変換を実施したのではそのオーバーヘッ
ドは大きくなり処理性能は低下する。
また、STDが格納されているテーブルを参照するまで
の変換過程が複雑化すると、更に処理性能は低下すると
いう問題がある。
本発明の目的は、ARからSTDを求める変換過程によ
るオーバーヘッドを低減することができる多重仮想記憶
システムおよびアドレス制御装置を提供することにあ
る。
[課題を解決するための手段] 上記目的を達成するために、本発明による多重仮想記憶
システムは、プロセッサ中に複数の汎用レジスタおよび
該複数の汎用レジスタに対応した複数のアクセスレジス
タを有し、実行中の命令により上記いずれかの汎用レジ
スタが指定されるとき、当該命令のオペランドの論理ア
ドレスは当該指定された汎用レジスタの内容を使用して
求められ、当該オペランドが属する仮想アドレス空間は
当該指定された汎用レジスタに対応するアクセスレジス
タの内容に主記憶装置上のテーブルにより一定の規則に
従い変換して求められるセグメントテーブル記述子によ
り指定され、該セグメントテーブル記述子および上記論
理アドレスがアドレス変換機構により実アドレスに変換
される多重仮想記憶システムにおいて、上記アクセスレ
ジスタの内容に上記変換を施して上記セグメントテーブ
ル記述子を求めるアクセスレジスタ変換手段と、該アク
セスレジスタ変換手段により求まったセグメントテーブ
ル記述子および該セグメントテーブル記述子が有効であ
るか否かを示す有効ビットを上記汎用レジスタに対応づ
けて保持する記述子保持手段とを備え、命令実行にオペ
ランドアクセス時には、該オペランドの論理アドレスを
計算するための上記汎用レジスタの読出しと並行して当
該汎用レジスタに対応する上記記述子保持手段の内容を
読みだし、該読みだされたセグメントテーブル記述子が
有効である場合は該セグメントテーブル記述子を前記論
理アドレスとともにアドレス変換機構に供給し、無効で
ある場合は命令の実行を抑止して上記アクセスレジスタ
変換を実施し、該変換により求まったセグメントテーブ
ル記述子を上記記述子保持手段に格納して命令実行を再
開するようにしたものである。
本発明による他の多重仮想記憶システムは、プロセッサ
中に複数の汎用レジスタおよび該汎用レジスタに関連し
た複数のアクセスレジスタを有し、実行中の命令により
上記いずれかの汎用レジスタおよびアクセスレジスタが
指定されるとき、当該命令のオペランドの論理アドレス
は当該指定された汎用レジスタの内容を使用して求めら
れ、当該オペランドが属する仮想アドレス空間は当該指
定されたアクセスレジスタの内容を主記憶装置上のテー
ブルにより一定の規則に従い変換して求められるセグメ
ントテーブル記述子により指定され、該セグメントテー
ブル記述子および上記論理アドレスがアドレス変換機構
により実アドレスに変換される多重仮想記憶システムに
おいて、上記アクセスレジスタの内容に上記変換を施す
アクセスレジスタ変換手段と、該アクセスレジスタ変換
手段により決まったセグメントテーブル記述子および該
記述子が有効であるか否かを示す有効ビットを当該汎用
レジスタに対応づけて保持する記述子保持手段と、過去
に上記アクセスレジスタ変換を施した被変換情報と該変
換結果とを変換対の形式で複数個保持する変換バッファ
とを備え、命令実行に伴うオペランドアクセス時には、
該オペランドの論理アドレスを計算するための上記汎用
レジスタの読出しと並行して当該汎用レジスタに対応す
る上記保持手段の内容を読みだし、該読みだされたセグ
メントテーブル記述子が有効である場合は該セグメント
テーブル記述子を前記論理アドレスとともにアドレス変
換機構に供給し、無効である場合は、命令の実行を抑止
して、上記変換バッファに保持されている被変換情報と
現オペランドアクセス時の被変換情報とを比較すること
により当該被変換情報について過去にアクセスレジスタ
変換が実施されているか否かを判断し、実施されている
場合には上記変換バッファが保持しているセグメントテ
ーブル記述子を上記記述子保持手段に格納するととも
に、上記アドレス変換機構に供給して命令実行を再開
し、過去にアクセスレジスタ該変換が実施されていなけ
れば、当該アクセスレジスタ変換を実施し、該変換によ
り求まったセグメントテーブル記述子を上記記述子保持
手段および上記変換バッファに格納して命令実行を再開
するようにしたものである。
また、本発明によるアドレス制御装置は、実行中の命令
で指定される汎用レジスタに関連して各仮想アドレス空
間を定めるセグメントテーブルを参照することにより、
該命令のオペランドの属する仮想アドレス空間が指定さ
れる多重仮想記憶システムにおけるアドレス制御装置で
あって、プロセッサ内の複数の汎用レジスタに対応して
設けられ、アクセスしようとする仮想アドレス空間の指
定情報を格納する複数のアクセスレジスタと、該アクセ
スレジスタに格納された上記指定情報に基づいて、上記
セグメントテーブルを指定するセグメントテーブル記述
子を求めるアクセスレジスタ変換手段と、該アクセスレ
ジスタ変換手段により求められたセグメントテーブル記
述子を、当該アクセスレジスタが対応する上記汎用レジ
スタに対応づけて保持する記述子保持手段と、実行中の
命令により指定された汎用レジスタの内容に基づいて当
該命令のオペランドの論理アドレスを求める論理アドレ
ス算出手段と、上記命令により指定された汎用レジスタ
に対応して上記記述子保持手段の内容を参照する参照手
段と、該参照手段により参照されたセグメントテーブル
記述子および上記求められた論理アドレスに基づいて、
上記オペランドの実アドレスを得るアドレス変換機構と
を具備したものである。
本発明による他のアドレス制御装置は、仮想アドレス空
間を定めるセグメントテーブルを指定するセグメントテ
ーブル記述子を、汎用レジスタに関連して設けたアクセ
スレジスタの内容に一定の変換を施して求める多重仮想
記憶システムにおけるアドレス制御装置であって、上記
アクセスレジスタの内容に上記一定の変換を施して上記
セグメントテーブル記述子を求めるアクセスレジスタ変
換手段と、該アクセスレジスタ変換手段により求められ
たセグメントテーブル記述子を、当該汎用レジスタに対
応づけて保持する記述子保持手段と、過去に実施した上
記一定の変換における被変換情報と当該変換結果である
セグメントテーブル記述子とを変換対の形式で複数個保
持する変換バッファとを具備したものである。
上記各アドレス制御装置において、上記記述子保持手段
は、上記セグメントテーブル記述子とともに、該セグメ
ントテーブル記述子が有効であるか否かを示す有効ビッ
トを保持することが望ましい。
上記変換バッファの参照および登録は、プロセッサに内
蔵するマイクロプログラムによる制御によって行うこと
ができる。
たた、上記変換バッファは、プロセッサ内にハードウエ
ア専用のワーク用記憶装置を設け、該ワーク用記憶装置
内に構成し、あるいは、主記憶装置上に、ハードウエア
からはアクセス可能であり、かつ、実行中のプログラム
からはアクセス不可能なハードウェア専用領域を設け、
該ハードウエア専用領域に構成することができる。場合
によっては、双方に分割して構成することも可能であ
る。
上記記述子保持手段に有効ビットを有するアドレス制御
装置においては、上記アクセスレジスタの内容が書き換
えられたとき上記記述子保持手段内の対応するセグメン
トテーブル記述子の有効ビットを、“無効”とし、当該
書き換えられたアクセスレジスタの内容に基づいて上記
変換手段により得られたセグメントテーブル記述子を上
記記述子保持手段に格納したとき当該有効ビットを“有
効”とする。
[作用] 上記アクセスレジスタの内容に一定の変換を施して求ま
るセグメントテーブル記述子を、汎用レジスタに対応づ
けて(すなわちアクセスレジスタに対応づけて)保持す
る記述子保持手段を設けたので、命令解読時に汎用レジ
スタの読出しと並行して上記記述子保持手段内のセグメ
ントテーブル記述子を読みだすことにより、命令実行を
中断することなく、目的の仮想アドレス空間を求めるこ
とができる。上記一定の変換は、例えば、アクセスレジ
スタ(AR)の内容を主記憶装置上のテーブルにより一
定の規則に従って変換するものであり、この変換はAR
変換とよばれる。
具体的には、上記記述子保持手段を構成するAR-STDレジ
スタ(ASR)により、オペランドアクセス時には命令
の基底フィールドが指す汎用レジスタ(GR)の読出し
と並行して該フィールドが指すASR内のSTDを読出
し、そのSTDが有効なものであれば、これを動的アド
レス変換機構(DAT)に供給することにより、性能低
下を招くことなく仮想空間をアクセスすることが可能と
なる。
また、好ましくは上記変換バッファ(ALB)を設け、
ASRより読み出したSTDが無効なときは、このAL
Bを参照し、過去にAR変換が実施されていればALB
内の対応するSTDをDATに供給し、過去にAR変換
が実施されていなければAR変換を実施してSTDを求
め、このSTDをDATに供給する。これにより、命令
実行の中断を最小限に抑えることができる。
以上述べたように、本発明によれば。オペランドアクセ
スの度にAR変換を実施するのではなく、最初にASR
を参照し、ASRが無効ならば次にALBを参照すると
いう2段階のSTD保持手段の参照によりAR変換の発
生回数を抑制することが可能になる。
[実施例] 以下、本発明の一実施例について、図面により詳細に説
明する。
第1図は本発明の一実施例に係るアドレス制御回路のブ
ロック図である。同図において、命令レジスタ1実行命
令を格納するレジスタであり、ここでは説明を簡略化す
るために、ロード命令について記してある。ロード命令
は命令コード“58”、第1オペランドアドレスR1、
指標フィールドX2、基底フィールドB2、ページ内ア
ドレスD2で構成され、X2フィールド及びB2フィー
ルドで指し示されるGRの内容とページ内アドレスとを
加算して得られる第2オペランドアドレスで示される主
記憶装置内のデータである第2オペランドを、R1フィ
ールドで示されるGRに格納するものである。
この命令レジスタ1中のX2フィールド、B2フィール
ドはGR解読器3,4に供給される。GR解読器3,4
はGRアレイ5中のGR0からGR15より、X2フィ
ールド及びB2フィールドが指定するGRを選択してア
ドレス加算器(AA)7へ供給する。アドレス加算器7
はGRアレイ5より供給されるGRの内容と命令レジス
タ1中のD2フィールドとを加算し、その結果を第2オ
ペランドアドレスとして論理アドレスレジスタ(LA
R)11へ供給する。
これと並行してB2フィールドを解読するGR解読器3
の出力はASRアレイ6へも供給される。ASRアレイ
6には、AR0〜15の内容を主記憶装置上のテーブル
により一定の規則に従い変換して求まったSTD及び、
このSTDが有効であることを示す有効ビットVを、A
R0〜15に対応づけて保持しており、B2フィールド
が指定するエントリ内のV及びSTDを出力する。
ASR6から出力されるSTDはSTD選択器9へ供給
される。STD選択器9は制御レジスタ8に保持される
一次側STDとASRアレイ6より供給されるSTDの
いずれか一方を選択する機構であり、ORゲート14が
付勢されているとき制御レジスタ8を選択する。ORゲ
ート14は命令読出し時にセットされる命令フェッチト
リガ2が付勢されているとき、又は、基底フィールドが
“0”を指定しているときに付勢される。
STD選択器9で選択されたSTDはSTDレジスタ1
0へセットされ、周知の高速変換バッファ(TLB)を
含む動的アドレス変換機構(DAT)12に送出され
る。動的アドレス変換機構12は、このSTDレジスタ
10と論理アドレスレジスタ11中のセグメントインデ
ックスSX及びページインデックスPXとにより、TL
B又はアドレス変換過程を経てページフレーム実アドレ
スPFRAを出力する。こうして求まったページフレー
ム実アドレスPFRAと論理アドレスレジスタ11のペ
ージ内アドレスDとは実アドレスとして実アドレスレジ
スタ13にセットされる。なお、動的アドレス変換機構
12中のTLBおよびアドレス変換過程については本発
明において要旨ではないので、ここでは説明を省略す
る。
ASRアレイ6中のVビットはエントリ中のSTDが有
効であるか否かを示すビットであり、本ビットが“0”
のときエントリ内のそのSTDは使用できないことを表
わす。このVビットは、装置の初期状態時に、又は、基
底フィールドと仮想アドレス空間の割当てに変更が必要
となりARが書き換えられることによりARとASRエ
ントリ中のSTDとの対応がとれなくなったときに、
“0”が書き込まれてASRエントリ内の該当するST
Dを無効化する。オペランドアクセス時、このVビット
はGRの読出しと並行してASRアレイより読出される
ことはすでに述べたが、この読み出されたVビットが
“0”であり、かつ、制御レジスタ8内の一次側STD
を使用しないリクエストの時はANDゲート15が付勢
されてASRエントリのSTDが無効であることを報告
するための信号が命令実行制御部16へ送出される。命
令実行制御部16は本信号を受け取ると直ちに命令の実
行を抑止し、マイクロプログラムを起動する。
マイクロプログラムは、マイクロプログラムから制御可
能なマイクロプログラム制御回路17中のローカル記憶
(LS)18内に設けられたAR変換バッファ(AL
B)20を参照する。このALBは、動的アドレス変換
機構におけるTLB(Translation Look-aside Buffer)
のような機能を有し、過去に実施されたAR変換時のA
Rの内容およびコントロールレジスタの内容等の被変換
情報とAR変換の結果求まるSTDとを変換対の形式で
保持しており(第3図により後述)、このALBをマイ
クロプログラムが参照して現在のARおよびコントロー
ルレジスタ等の被変換情報をALBエントリと比較し、
変換済みのSTDが存在すればそのSTDをALBから
読み出してASRアレイ6の中のSTDに書き込む。ま
た、同時にASRアレイ中のVビットにも“1”を書き
込みASRエントリを有効化し、抑止されていた命令の
実行を再開する。
しかし、ALB参照においてALB内に変換済みのST
Dが存在しなければ、マイクロプログラム制御回路17
中のAR変換機構(ART)21によりAR変換を実施
してSTDを求め、このSTDをALB及びASRアレ
イ6に書き込んだ後、抑止されていた命令の実行を再開
する。
以上述べたようにAR変換の結果をASRアレイ6及び
ALBという階層化された2段階のSTD保持手段に保
持しておくことにより、STDを高速に供給することが
可能となる。
また、ASRアレイ6には現在のARに対応するSTD
を保持しているため、オペランドアクセス時は基底フィ
ールドが指し示すASRエントリのSTDを読み出すだ
けでよく、ALBを参照する必要がない。ALBを参照
するのはARの内容が書き換えられてARとASRエン
トリ中のSTDとの対応がとれなくなった時、すなわち
基底フィールドに対する仮想アドレス空間の割り当てに
変更が必要となった時である。この割り当ての変更が発
生する頻度は、短時間でみればプログラムが参照する領
域は極めて小さいというプログラムの局所性を考慮する
と極めて低くなる。したがってALBを参照する時間が
多少長くなっても、性能に及ぼす影響は小さい。
以上述べた理由により、第1図の実施例ではALBをハ
ードウェアでは構成せずにマイクロプログラムにより読
み出し・書込みが可能なローカル記憶18(LS)内に
構成しており、これによりハードウェア量の低減に効果
があるうえ、ALBの構成やアドレス付けの変更が、マ
イクロプログラムを変更することにより容易にできると
いう効果もある。
これと同様の効果を得る技法として、主記憶装置上にハ
ードウェアしかアクセスすることができないハードウェ
ア専用領域を設け、その中にALBを構成することも考
えられる。
第1図は実施例中のAR変換機構21の構成を第2図に
示す。
第2図において、制御レジスタ22にはSTD第1テー
ブル24内のエントリを示すアドレスが保持されてお
り、このアドレスでSTD第2テーブル内に格納されて
いるSTD第2テーブル先頭アドレスを得る。一方、第
1図のAR19にはSTD第2テーブル内アドレスが保
持されており、命令の基底フィールドで示されるARの
内容がマイクロプログラムによりARデータレジスタ2
3にセットされ、STD第2テーブル先頭アドレスと加
算すこるとによりSTD第2テーブルエントリアドレス
を得る。そして、このアドレスでSTD第2テーブル2
5内に格納されている内容がSTDとしてレジスタ26
に格納される。
STD第1テーブル24及びSTD第2テーブル25は
システムプログラムにより作成管理されるテーブルであ
り、実行中のプログラムがアクセスできる仮想アドレス
空間を規定している。
第1図の実施例中のALB20の構成を第3図に示す。
ALB20のエントリは、該エントリが有効であるか否
かを示すVビット、過去に実施されたAR変換時の被変
換情報である制御レジスタの内容を保持するCR時、同
じく被変換情報であるARの内容を保持するAR部、及
びAR変換の結果であるSTDを保持するSTD部とか
ら構成される。マイクロプログラムはオペランドアクセ
ス時のコントロールレジスタ27及び、基底フィールド
で示されるARの内容をセットしたARデータレジスタ
28の内容を、ALBエントリ制御回路29にて加算
し、ALBエントリアドレス29A及びALB比較用デ
ータ29Bを作成する。そして、ALBエントリアドレ
スで示されるALBエントリのV,CR,AR部とAL
B比較データとを比較器31で比較し、一致した場合、
すなわち、現オペランドアクセス時の被変換情報である
コントロールレジスタ及びARとALBに保持している
被変換情報であるCR部、AR部とが一致した場合に一
致信号31Aを得る。AND回路32は一致信号31A
を受けとると、ALBエントリ中の当該STDを出力す
る。
本実施例のALBでは、第2図で述べたSTD第1テー
ブル及びSTD第2テーブルをエントリ中に保持してい
ないが、これは上記テーブルはシステムプログラムによ
り作成・管理されるテーブルであるため、上記テーブル
が変更された時はシステムプログラムによりALB無効
化命令が発行されることを前提していることによる。A
LB無効化命令が発行されるとマイクロプログラムによ
りALBの全エントリのVビットに“0”が書き込まれ
ALBは無効化される。
また、第2図及び第3図で述べたAR変換及びALBの
構成は一実施例にすぎない。しかし、本発明の要旨はA
R変換及びALBの構成を述べることではなく、AR変
換の結果であるSTDをASRに保持することにあり、
また、好ましくはさらにALBを設け、ASR及びAL
Bという2階層の記述子保持手段に保持しておき、これ
らにより高速かつ効率良くSTDを供給することにある
ので本明細書では深く言及しない。
以上述べた実施例によりSTDを高速かつ効率よく供給
することができる。
[発明の効果] 本発明によれば、アクセスレジスタ(AR)に対応した
セグメントテーブル記述子(STD)を保持する記述子
保持手段(ASR)と、さらに好ましくはARとSTD
との変換対を保持する変換バッファ(ALB)との2種
の保持手段を設けることにより、高速にオペランドが属
する仮想アドレス空間を指定するSTDを供給すること
が可能となり処理性能の向上を図ることができる。
また、記述子保持手段を持つことによりALBをハード
ウェアで構成せずローカルメモリ(LS)あるいは主記
憶装置上のハードウェア専用エリア等のメモリ内に構成
することが可能となるので、ハードウェア量を低減で
き、アドレス制御装置ひいては多重仮想記憶システムを
安価に提供することができる。
【図面の簡単な説明】
第1図は本発明の実施例の全体を示すブロック図、第2
図は第1図のAR変換機構21の詳細構成を示すブロッ
ク図、第3図は第1図のAR変換バッファ20の詳細構
成を示すブロック図である。 6…ASRアレイ、17…マイクロプログラム制御回
路、18…ローカル記憶(LS)、19…アクセスレジ
スタ、20…AR変換バッファ(ALB)、21…AR
変換機構(ART)。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ中に複数の汎用レジスタおよび
    該複数の汎用レジスタに対応した複数のアクセスレジス
    タを有し、実行中の命令により上記いずれかの汎用レジ
    スタが指定されるとき、当該命令のオペランドの論理ア
    ドレスは当該指定された汎用レジスタの内容を使用して
    求められ、当該オペランドが属する仮想アドレス空間は
    当該指定された汎用レジスタに対応するアクセスレジス
    タの内容を主記憶装置上のテーブルにより一定の規則に
    従い変換して求められるセグメントテーブル記述子によ
    り指定され、該セグメントテーブル記述子および上記論
    理アドレスがアドレス変換機構により実アドレスに変換
    される多重仮想記憶システムにおいて、 上記アクセスレジスタの内容に上記変換を施して上記セ
    グメントテーブル記述子を求めるアクセスレジスタ変換
    手段と、 該アクセスレジスタ変換手段により求まったセグメント
    テーブル記述子および該セグメントテーブル記述子が有
    効であるか否かを示す有効ビットを上記汎用レジスタに
    対応づけて保持する記述子保持手段とを備え、 命令実行に伴うオペランドアクセス時には、該オペラン
    ドの論理アドレスを計算するための上記汎用レジスタの
    読出しと並行して当該汎用レジスタに対応する上記記述
    子保持手段の内容を読みだし、該読みだされたセグメン
    トテーブル記述子が有効である場合は該セグメントテー
    ブル記述子を前記論理アドレスとともにアドレス変換機
    構に供給し、無効である場合は命令の実行を抑止して上
    記アクセスレジスタ変換を実施し、該変換により求まっ
    たセグメントテーブル記述子を上記記述子保持手段に格
    納して命令実行を再開することを特徴とする多重仮想記
    憶システム。
  2. 【請求項2】プロセッサ中に複数の汎用レジスタおよび
    該汎用レジスタに関連した複数のアクセスレジスタを有
    し、実行中の命令により上記いずれかの汎用レジスタお
    よびアクセスレジスタが指定されるとき、当該命令のオ
    ペランドの論理アドレスは当該指定された汎用レジスタ
    の内容を使用して求められ、当該オペランドが属する仮
    想アドレス空間は当該指定されたアクセスレジスタの内
    容を主記憶装置上のテーブルにより一定の規則に従い変
    換して求められるセグメントテーブル記述子により指定
    され、該セグメントテーブル記述子および上記論理アド
    レスがアドレス変換機構により実アドレスに変換される
    多重仮想記憶システムにおいて、 上記アクセスレジスタの内容に上記変換を施すアクセス
    レジスタ変換手段と、 該アクセスレジスタ変換手段により求まったセグメント
    テーブル記述子および該記述子が有効であるか否かを示
    す有効ビットを当該汎用レジスタに対応づけて保持する
    記述子保持手段と、 過去に上記アクセスレジスタ変換を施した被変換情報と
    該変換結果とを変換対の形式で複数個保持する変換バッ
    ファとを備え、 命令実行に伴うオペランドアクセス時には、該オペラン
    ドの論理アドレスを計算するための上記汎用レジスタの
    読出しと並行して当該汎用レジスタに対応する上記保持
    手段の内容を読みだし、該読みだされたセグメントテー
    ブル記述子が有効である場合は該セグメントテーブル記
    述子を前記論理アドレスとともにアドレス変換機構に供
    給し、無効である場合は、命令の実行を抑止して、上記
    変換バッファに保持されている被変換情報と現オペラン
    ドアクセス時の被変換情報とを比較することにより当該
    被変換情報について過去にアクセスレジスタ変換が実施
    されているか否かを判断し、実施されている場合には上
    記変換バッファが保持しているセグメントテーブル記述
    子を上記記述子保持手段に格納するとともに、上記アド
    レス変換機構に供給して命令実行を再開し、過去にアク
    セスレジスタ変換が実施されていなければ、当該アクセ
    スレジスタ変換を実施し、該変換により求まったセグメ
    ントテーブル記述子を上記記述子保持手段および上記変
    換バッファに格納して命令実行を再開することを特徴と
    する多重仮想記憶システム。
  3. 【請求項3】実行中の命令で指定される汎用レジスタに
    関連して各仮想アドレス空間を定めるセグメントテーブ
    ルを参照することにより、該命令のオペランドの属する
    仮想アドレス空間が指定される多重仮想記憶システムに
    おけるアドレス制御装置であって、 プロセッサ内の複数の汎用レジスタに対応して設けら
    れ、アクセスしようとする仮想アドレス空間の指定情報
    を格納する複数のアクセスレジスタと、 該アクセスレジスタに格納された上記指定情報に基づい
    て、上記セグメントテーブルを指定するセグメントテー
    ブル記述子を求めるアクセスレジスタ変換手段と、 該アクセスレジスタ変換手段により求められたセグメン
    トテーブル記述子を、当該アクセスレジスタが対応する
    上記汎用レジスタに対応づけて保持する記述子保持手段
    と、 実行中の命令により指定された汎用レジスタの内容に基
    づいて当該命令のオペランドの論理アドレスを求める論
    理アドレス算出手段と、 上記命令により指定された汎用レジスタに対応して上記
    記述子保持手段の内容を参照する参照手段と、 該参照手段により参照されたセグメントテーブル記述子
    および上記求められた論理アドレスに基づいて、上記オ
    ペランドの実アドレスを得るアドレス変換機構と を具備したことを特徴とするアドレス制御装置。
  4. 【請求項4】仮想アドレス空間を定めるセグメントテー
    ブルを指定するセグメントテーブル記述子を、汎用レジ
    スタに関連して設けたアクセスレジスタの内容に一定の
    変換を施して求める多重仮想記憶システムにおけるアド
    レス制御装置であって、 上記アクセスレジスタの内容に上記一定の変換を施して
    上記セグメントテーブル記述子を求めるアクセスレジス
    タ変換手段と、 該アクセスレジスタ変換手段により求められたセグメン
    トテーブル記述子を、当該汎用レジスタに対応づけて保
    持する記述子保持手段と、 過去に実施した上記一定の変換における被変換情報と当
    該変換結果であるセグメントテーブル記述子とを変換対
    の形式で複数個保持する変換バッファと を具備したことを特徴とするアドレス制御装置。
  5. 【請求項5】上記記述子保持手段は、上記セグメントテ
    ーブル記述子とともに、該セグメントテーブル記述子が
    有効であるか否かを示す有効ビットを保持することを特
    徴とする請求項3または4記載のアドレス制御装置。
  6. 【請求項6】上記変換バッファの参照および登録を、プ
    ロセッサに内蔵するマイクロプログラムによる制御によ
    って行うことを特徴とする請求項4記載のアドレス制御
    装置。
  7. 【請求項7】プロセッサ内にハードウエア専用のワーク
    用記憶装置を設け、該ワーク用記憶装置内に上記変換バ
    ッファを構成することを特徴とする請求項4記載のアド
    レス制御装置。
  8. 【請求項8】主記憶装置上に、ハードウエアからはアク
    セス可能であり、かつ、実行中のプログラムからはアク
    セス不可能なハードウエア専用領域を設け、該ハードウ
    エア専用領域に上記変換バッファを構成することを特徴
    とする請求項4記載のアドレス制御装置。
  9. 【請求項9】プロセッサ内にハードウエア専用のワーク
    用記憶装置を設けるとともに、主記憶装置上に、ハード
    ウエアからはアクセス可能であり、かつ、実行中のプロ
    グラムからはアクセス不可能なハードウエア専用領域を
    設け、上記プロセッサ内のワーク用記憶装置および上記
    主記憶装置上のハードウエア専用領域に、上記変換バッ
    ファを分割して構成することを特徴とする請求項4記載
    のアドレス制御装置。
  10. 【請求項10】上記アクセスレジスタの内容が書き換え
    られたとき上記記述子保持手段内の対応するセグメント
    テーブル記述子の有効ビットを“無効”とし、当該書き
    換えられたアクセスレジスタの内容に基づいて上記変換
    手段により得られたセグメントテーブルを上記記述子保
    持手段に格納したとき当該有効ビットを“有効”とする
    ことを特徴とする請求項5記載のアドレス制御装置。
JP1112967A 1989-05-02 1989-05-02 多重仮想記憶システムおよびアドレス制御装置 Expired - Lifetime JPH0650480B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1112967A JPH0650480B2 (ja) 1989-05-02 1989-05-02 多重仮想記憶システムおよびアドレス制御装置
US07/518,411 US5305458A (en) 1989-05-02 1990-05-02 Multiple virtual storage system and address control apparatus having a designation table holding device and translation buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1112967A JPH0650480B2 (ja) 1989-05-02 1989-05-02 多重仮想記憶システムおよびアドレス制御装置

Publications (2)

Publication Number Publication Date
JPH02292648A JPH02292648A (ja) 1990-12-04
JPH0650480B2 true JPH0650480B2 (ja) 1994-06-29

Family

ID=14600028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1112967A Expired - Lifetime JPH0650480B2 (ja) 1989-05-02 1989-05-02 多重仮想記憶システムおよびアドレス制御装置

Country Status (2)

Country Link
US (1) US5305458A (ja)
JP (1) JPH0650480B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768503B2 (ja) * 1989-07-25 1998-06-25 富士通株式会社 仮想記憶アドレス空間アクセス制御方式
EP0680236A1 (en) * 1994-04-29 1995-11-02 International Business Machines Corporation Apparatus for swapping input values into corresponding output values
JP3476376B2 (ja) * 1998-12-16 2003-12-10 富士通株式会社 仮想記憶アドレス空間アクセス制御方法とそのための装置
GB2358791A (en) * 2000-02-04 2001-08-08 Versar Inc Method composition and apparatus for cleaning internal surfaces of oxygen converters and cylinders
JP3595252B2 (ja) * 2000-09-06 2004-12-02 三菱電機株式会社 車両用電源システム
US7089405B2 (en) * 2001-03-21 2006-08-08 Sun Microsystems, Inc. Index-based scoreboarding system and method
US7581074B2 (en) * 2006-05-19 2009-08-25 International Business Machines Corporation Facilitating use of storage access keys to access storage
US7594094B2 (en) * 2006-05-19 2009-09-22 International Business Machines Corporation Move data facility with optional specifications
US8285968B2 (en) 2009-09-29 2012-10-09 International Business Machines Corporation Performing memory accesses while omitting unnecessary address translations

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4500952A (en) * 1980-05-23 1985-02-19 International Business Machines Corporation Mechanism for control of address translation by a program using a plurality of translation tables
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5134696A (en) * 1988-07-28 1992-07-28 International Business Machines Corp. Virtual lookaside facility

Also Published As

Publication number Publication date
US5305458A (en) 1994-04-19
JPH02292648A (ja) 1990-12-04

Similar Documents

Publication Publication Date Title
CN1993683B (zh) 体系结构事件期间维持处理器资源
US20220050791A1 (en) Linear to physical address translation with support for page attributes
JP4608484B2 (ja) ストレージの無効化、バッファ・エントリの消去
US6430668B2 (en) Speculative address translation for processor using segmentation and optical paging
US8151085B2 (en) Method for address translation in virtual machines
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US5475827A (en) Dynamic look-aside table for multiple size pages
US7831799B1 (en) Speculative address translation for processor using segmentation and optional paging
JP2618175B2 (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
JPH0348541B2 (ja)
US7269825B1 (en) Method and system for relative address translation
KR101200083B1 (ko) Risc 프로세서 장치 및 그의 명령어 어드레스의 전환 룩업 방법
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
US20020156989A1 (en) Method for sharing a translation lookaside buffer between CPUs
JPH06236353A (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
JPH0650480B2 (ja) 多重仮想記憶システムおよびアドレス制御装置
US5390312A (en) Access look-aside facility
US5341485A (en) Multiple virtual address translation per computer cycle
US7519791B2 (en) Address conversion technique in a context switching environment
JPH0336648A (ja) 電子計算機及びtlb装置とマイクロプロセッサチップ
JPH06309196A (ja) トレース機能付情報処理装置
JPH1027134A (ja) アドレス変換装置およびこれを用いたプロセッサ
JPH0690687B2 (ja) アドレス変換バッファ制御方式
HK1101436B (en) Maintaining processor resources during architectural events
JPH0343652B2 (ja)