JPH0648470B2 - 多重仮想アドレス空間制御装置 - Google Patents

多重仮想アドレス空間制御装置

Info

Publication number
JPH0648470B2
JPH0648470B2 JP1159649A JP15964989A JPH0648470B2 JP H0648470 B2 JPH0648470 B2 JP H0648470B2 JP 1159649 A JP1159649 A JP 1159649A JP 15964989 A JP15964989 A JP 15964989A JP H0648470 B2 JPH0648470 B2 JP H0648470B2
Authority
JP
Japan
Prior art keywords
address
register
logical
address space
logical 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 - Fee Related
Application number
JP1159649A
Other languages
English (en)
Other versions
JPH0325644A (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 JP1159649A priority Critical patent/JPH0648470B2/ja
Priority to DE4019961A priority patent/DE4019961C2/de
Publication of JPH0325644A publication Critical patent/JPH0325644A/ja
Publication of JPH0648470B2 publication Critical patent/JPH0648470B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多重仮想アドレス空間制御機構に関し、特
に、アドレス空間の切替えに付帯するアドレス変換バツ
フア(TLB)及びバツフア記憶の制御に関する。
〔従来の技術〕
ベースアドレスを保持する複数のベースレジスタのそれ
ぞれにアドレス空間を割当てることにより、一つのアプ
リケーシヨンプログラムが、特別なアドレス空間切替命
令によらずに、複数のアドレス空間にアクセスできるよ
うにすることは、公知である。例えば、特公昭60−2237
7号公報に記載されたアドレス制御機構においては、ベ
ースレジスタとして使用可能な一群の汎用レジスタのそ
れぞれに対応して、アドレス空間に対応するSTO(Segmen
t Table Origin)を保持するアクセスレジスタが設けら
れ、ある汎用レジスタが命令によりベースレジスタとし
て指定されると、対応するアクセスレジスタからのST
Oが読出されて、アドレス変換に使用される。したがつ
て、ベースレジスタの指定を変更するだけで、異なるア
ドレス空間にアクセスすることができる。
仮想アドレスを表わす論理アドレスから絶対アドレス
(物理アドレス)への変換の高速化のために、アドレス
変換バツフア、すなわちTLB(Translation Look-asid
e Buffer)、が設けられる。TLBは、最近アクセスさ
れたことのある領域の論理アドレスを、対応する絶対ア
ドレスと対にして保持し、論理アドレスに基づいて探索
される。命令から導き出された論理アドレスは、もしも
該当する領域がTLBに登録されていれば、TLB内の
アドレス対を用いて直ちに絶対アドレスに変換され、セ
グメントテーブル,ページテーブル等を用いる正規のア
ドレス変換処理は省略される。
一方、主記憶アクセス時間の見掛け上の短縮のために、
主記憶内のデータの一部の写しを保持する高速・小容量
のバツフア(又はキヤツシユ)記憶を設けることは、周
知である。バツフア記憶へのアクセスのために、アドレ
スアレイ(又はデイレクトリ)が設けられる。アドレス
アレイは、バツフア記憶中の各領域に保持されたデータ
が占める主記憶領域の、絶対アドレスを保持する。バツ
フア記憶とアドレスアレイは、基本的には、絶対アドレ
スに基づいて探索される。しかし、論理アドレスが使用
されるシステムにおいては、バツフア記憶とアドレスア
レイの探索機能の一部に、論理アドレスが利用される。
こうすることによつて、バツフア記憶とアドレスアレイ
の探索を、TLBの探索と並行して行なうことができ、
したがつて、アクセス時間が短縮される。
〔発明が解決しようとする課題〕
TLB及びバツフア記憶とそのアドレスアレイのアドレ
シングのためのカラムアドレスとして、論理アドレスの
一部を用いるアドレス制御機構においては、前述のよう
にアドレス空間が頻繁に切替えられる多重仮想アドレス
空間環境の下で、アドレス空間の切替えに伴うリプレー
スメントの問題が生じる。
例えば、TLBにおいて、第1アドレス空間に関するあ
るアドレス対が登録された後、同じ値の論理アドレスを
持つ第2アドレス空間の領域がアクセスされると、第1
アクセス空間のための前記アドレス対を、第2アドレス
空間のためのアドレス対でリプレースしなければならな
いことになる。その後、第1アドレス空間における同じ
論理アドレス領域がアクセスされると、再度のリプレー
スメントが必要になる。したがつて、複数のアドレス空
間における同じ値の論理アドレスを持つ領域が循環的に
アクセスされる場合に、アドレス空間の切替えのたびに
リプレースメントが行なわれ、したがつて、そのたび
に、変換テーブル群を用いた正規のアドレス変換処理が
必要である。このことは、TLBの効率の著しい低下
と、オーバヘツドの増加を意味する。前述したような、
複数のアドレス空間への循環的アクセスは、例えば、複
数の大きなデータアレイを複数のアドレス空間の対応す
る論理アドレス領域に置き、これらのデータアレイの間
で演算を反復するときに生じる。
バツフア記憶とそのアドレスアレイについても、同様な
リプレースメントの問題が生じる。
本発明の課題は、TLB及びバツフア記憶とそのアドレ
スアレイにおいて、アドレス空間の切替えに伴うリプレ
ースメントの必要を除き、それにより、前述の問題を解
決することにある。
〔課題を解決するための手段〕
本発明によれば、TLB及び/又はバツフア記憶とその
アドレスアレイへのアクセスに用いられる論理アドレス
の各部分を、その論理アドレスの物理アドレスへの変換
に用いられるアドレス空間識別情報(例えばSTO)で
修飾する回路が、設けられる。
〔作用〕
前記の修飾回路は、TLB及び/又はバツフア記憶とそ
のアドレスアレイへのアクセスに用いられる情報(例え
ばカラムアドレス)を、たとえ論理アドレスは同じで
も、アドレス空間によつて変化させる。その結果、異な
るアドレス空間に属する同じ値の論理アドレスに異なる
位置が割当てられ、したがつて、複数のアドレス空間に
おける同じ値の論理アドレスが循環的にアクセスされて
も、TLB及び/又はバツフア記憶とそのアドレスアレ
イにおけるリプレースメントは生じない。
〔実施例〕
第1図は、本発明の一実施例の概要をブロツクダイヤグ
ラムで示す。命令解読部1は、命令を解読して、変位値
(DP)と、インデクスレジスタ番号(IX)と、ベー
スレジスタ番号(BR)を逆出する。16個の汎用レジ
スタからなるGRアレイ2が設けられ、インデクスレジ
スタ番号により指定された汎用レジスタの内容と、ベー
スレジスタ番号により指定された汎用レジスタの内容
と、変位値とは、アドレス加算器3により加算されて、
31ビツトの論理アドレス20を形成する。
16個のアクセスレジスタからなるARアレイ4が設け
られ、ベースレジスタ番号は、更に、これらのアクセス
レジスタの1個を選択するのにも用いられる。各アクセ
スレジスタは、仮想アドレス空間を識別する情報を保持
し、これは、本実施例では、アドレス変換に使用される
セグメントテーブルの先頭アドレスを示す19ビツトの
STO(Segment Table Origin)である。アドレス変換部
5は、選択されたアクセスレジスタから読出されたST
O21と、アドレス加算器3からの論理アドレス20と
に基づいて、周知の手順により、31ビツトの絶対アド
レス22を生成する。論理アドレスの最下位12ビツ
ト、すなわちビツト20〜31は、そのまま絶対アドレ
スの最下位12ビツトとして使用され、残りのビツト1
〜19は、セグメントテーブルとページテーブルのイン
デクスとして使用される。こうして生成された絶対アド
レスの一部は、次に述べるように、対応する論理アドレ
スの一部及びSTOと共に、TLB6に格納される。
TLB6は、本実施例では512カラム、1ローの構成
であり、アドレス変換テーブルのインデクスとして用い
られる論理アドレスの部分の下位9ビツト、すなわちビ
ツト11〜19が、カラムの選択に使用される。TLB
6の各エントリは、論理アドレス(LA)フイールド
と、STOフイールドと、有効性(V)フイールドと、
絶対アドレス(AA)フイールドから成る。図におい
て、括弧内の数字は各フイールドのビツト数を示す。L
Aフイールドは、論理アドレスの最上位10ビツト、す
なわちビツト1〜10を保持する。次のSTOフイール
ドは、19ビツトのSTOをそのまま保持する。1ビツ
トのVフイールドは、当該エントリが有効な時に値
“1”を取り、それが無効な時に値“0”を取る。AA
フイールドは、絶対アドレスのビツト1〜19、すなわ
ち主記憶のページフレームアドレスを保持する。TLB
ヒツト判定部7は、TLB6から読出されたLAフイー
ルドの値及びSTOフイールドの値が、アドレス加算器
3からの論理アドレス20のビツト1〜10及びアクセ
スレジスタからのSTO21とそれぞれ一致し、かつ、
Vフイールドの値が“1”であれば、TLBヒツト信号
23を発生する。
バツフア記憶アドレスアレイ(BAA)8は、本実施例
では512カラム、1ローの構成であり、論理アドレス
のビツト16〜24が、カラムの選択に使用される。そ
の各エントリは、バツフア記憶中の128バイトのブロ
ツクに対応し、絶対アドレス(AA)フイールドと、有
効性(V)フイールドから成る。AAフイールドは、登
録されたブロツクの絶対アドレスのビツト1〜19を保
持する。Vフイールドは、当該エントリが有効な時に値
“1”を取り、それが無効の時に値“0”を取る。BA
Aヒツト判定部9は、TLB6からのAAフイールドの
値がBAA8からのAAフイールドの値と一致し、か
つ、BAA8からのVフイールドの値が“1”であれ
ば、BAAヒツト信号24を発生する。
バツフア記憶(BS)10は、本実施例では8Kカラ
ム,1ローの構成であり、論理アドレスのビツト16〜
28がカラムの選択に使用される。各カラムは8ビツト
のデータを収容する。TLBヒツト信号23とBAAヒ
ツト信号24の双方が発生される時、バツフア記憶の選
択されたカラムは、指定された仮想アドレス空間内の指
定された論理アドレスに対応する主記憶アドレスの内容
を保持しており、演算部はそれにアクセスすることがで
きる。
本発明により、カラムアドレスを修飾するための修飾部
11が設けられる。簡単に述べると、修飾部11は、ア
ドレス加算器3からの論理アドレス20の一部と、選択
されたアクセスレジスタからのSTO21の一部とを、
論理的に組合せて、TLB6,BAA8,バツフア記憶
10のためのそれぞれの修飾されたカラムアドレス2
5,26,27を発生する。
第2図は、修飾部11の詳細を示す。アクセスレジスタ
からのSTO21のビツト11〜19は、ビツト置換回
路30により並べ替えられる。ビツト置換回路30は、
例えば、循環シフト回路,シヤフル回路などでよい。排
他的論理和回路31は、ビツト置換回路30の出力と、
論理アドレスのビツト11〜19、すなわち、TLBカ
ラムの選択に使用すべきビツト群との、ビツトごとの排
他的論理和を作り、その結果を、TLBカラムアドレス
25として送出する。もう一つの排他的論理和回路32
は、ビツト置換回路30の出力と、論理アドレスのビツ
ト16〜24、すなわち、BAAカラムの選択に使用す
べきビツト群との、ビツトごとの排他的論理和を作り、
その結果を、BAAカラムアドレス26として送出す
る。排他的論理和回路32の出力は、また、その下位に
論理アドレスのビツト25〜28が連結されて、BSカ
ラムアドレス27を形成する。
このようにして、TLBとBAAとBSのカラムアドレ
スは、STOにより修飾され、その結果、仮想アドレス
空間、すなわちSTOが異なれば、同じ論理アドレスに
異なるカラムアドレスが割当てられる。
アクセスレジスタに、STOそのものの代りに、仮想ア
ドレス空間を識別する他の型式の情報、例えばアドレス
空間番号が、保持されてもよい。この仮想アドレス空間
識別情報そのものを、STOの代りに、カラムアドレス
の修飾に使用することができる。
カラムアドレスの修飾のために、任意の適当な論理及び
/又は算術演算回路を用いることができるが、STOそ
の他の仮想アドレス空間識別情報の値の差の増幅度が大
きいものを選ぶのがよい。
〔発明の効果〕
本発明によれば、異なるアドレス空間に属する同じ値の
論理アドレスに対して、TLB及びバツフア記憶とその
アドレスアレイの異なる位置が割当てられ、その結果、
複数のアドレス空間内の同じ値の論理アドレスが循環的
にアクセスされても、TLB及びバツフア記憶とそのア
ドレスアレイにおけるリプレースメントは生じない。し
たがつて、命令処理速度が向上する。しかも、単一のア
ドレス空間のみを使用するプログラムの実行速度は、本
発明の適用のために低下することがない。
【図面の簡単な説明】
第1図は本発明の一実施例の概要を示すブロツクダイヤ
グラムであり、第2図は第1図中のカラムアドレス修飾
部の詳細を示すブロツクダイヤグラムである。 3…アドレス加算器、4…STOを供給するアクセスレ
ジスタアレイ、5…アドレス変換部、6…TLB、8…
バツフア記憶アドレスアレイ、10…バツフア記憶、1
1…カラムアドレス修飾部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 玉野 明広 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 安部 秀一 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ベースレジスタとして使用可能な複数の第
    1レジスタと、それぞれ前記第1レジスタに対応し、か
    つ、アドレス空間識別情報を保持する複数の第2レジス
    タと、命令から導出される論理アドレスを前記命令によ
    りベースレジスタとして指定された前記第1レジスタに
    対応する前記第2レジスタからのアドレス空間識別情報
    を用いて物理アドレスに変換する手段と、前記変換され
    た物理アドレスの一部分を対応する論理アドレスの一部
    分と対にして保持し、論理アドレスの一部分を用いてア
    クセスされるアドレス変換バツフアとを備え、特徴とし
    て、前記アドレス変換バツフアへのアクセスに用いられ
    る論理アドレスの部分を前記第2レジスタからのアドレ
    ス空間識別情報で修飾する回路を備える、多重仮想アド
    レス空間制御装置。
  2. 【請求項2】ベースレジスタとして使用可能な複数の第
    1レジスタと、それぞれ前記第1レジスタに対応し、か
    つ、アドレス空間識別情報を保持する複数の第2レジス
    タと、命令から導出される論理アドレスを前記命令によ
    りベースレジスタとして指定された前記第1レジスタに
    対応する前記第2レジスタからのアドレス空間識別情報
    を用いて物理アドレスに変換する手段と、主記憶内のデ
    ータの一部の写しを保持し、論理アドレスの一部分を用
    いてアクセスされるバツフア記憶と、前記バツフア記憶
    に保持されたデータの主記憶アドレスを保持し、論理ア
    ドレスの一部分を用いてアクセスされるアドレスアレイ
    とを備え、特徴として、前記バツフア記憶へのアクセス
    に用いられる論理アドレスの部分と、前記アドレスアレ
    イへのアクセスに用いられる論理アドレスの部分を、前
    記第2レジスタからのアドレス空間識別情報で修飾する
    回路を備える、多重仮想アドレス空間制御装置。
  3. 【請求項3】請求項2において、更に、前記変換された
    物理アドレスの一部分を対応する論理アドレスの一部分
    と対にして保持し、論理アドレスの一部分を用いてアク
    セスされるアドレス変換バツフアを備え、特徴として、
    更に、前記アドレス変換バツフアへのアクセスに用いら
    れる論理アドレスの部分を前記第2レジスタからのアド
    レス空間識別情報で修飾する回路を備える、多重仮想ア
    ドレス空間制御装置。
JP1159649A 1989-06-23 1989-06-23 多重仮想アドレス空間制御装置 Expired - Fee Related JPH0648470B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1159649A JPH0648470B2 (ja) 1989-06-23 1989-06-23 多重仮想アドレス空間制御装置
DE4019961A DE4019961C2 (de) 1989-06-23 1990-06-22 Steuerung für den Zugriff auf einen Adreßumsetzungsspeicher in einem Prozessorsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1159649A JPH0648470B2 (ja) 1989-06-23 1989-06-23 多重仮想アドレス空間制御装置

Publications (2)

Publication Number Publication Date
JPH0325644A JPH0325644A (ja) 1991-02-04
JPH0648470B2 true JPH0648470B2 (ja) 1994-06-22

Family

ID=15698326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1159649A Expired - Fee Related JPH0648470B2 (ja) 1989-06-23 1989-06-23 多重仮想アドレス空間制御装置

Country Status (1)

Country Link
JP (1) JPH0648470B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319761A (en) * 1991-08-12 1994-06-07 International Business Machines Corporation Directory look-aside table for a virtual storage system including means for minimizing synonym entries
US6109687A (en) 1998-09-09 2000-08-29 Lifetime Products, Inc. Nested, independently deployable bench and table apparatus and method

Also Published As

Publication number Publication date
JPH0325644A (ja) 1991-02-04

Similar Documents

Publication Publication Date Title
KR920005280B1 (ko) 고속 캐쉬 시스템
US5018061A (en) Microprocessor with on-chip cache memory with lower power consumption
US5371864A (en) Apparatus for concurrent multiple instruction decode in variable length instruction set computer
US4792897A (en) Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure
US4495575A (en) Information processing apparatus for virtual storage control system
JPH04319747A (ja) アドレス変換機構
JPH04320553A (ja) アドレス変換機構
US6571316B1 (en) Cache memory array for multiple address spaces
US5713001A (en) Circuit for converting address operands supplied by a program to hashed virtual address
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
US4618926A (en) Buffer storage control system
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
JPH0648470B2 (ja) 多重仮想アドレス空間制御装置
US5408674A (en) System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size
JPH07248974A (ja) 情報処理装置
US6427200B1 (en) Multiple changeable addressing mapping circuit
JPH01177145A (ja) 情報処理装置
JP2797961B2 (ja) 検索システム
JP2004152292A (ja) 予測アドレス値を生成するための計算回路、および計算回路で次アドレスを予測する方法
JPH02176839A (ja) 情報処理装置
JP2733253B2 (ja) 論理演算回路
JPH05225064A (ja) アドレス変換装置及びバッファ記憶制御装置
JPS6143744B2 (ja)
JPS60100245A (ja) アドレス変換装置
JPS5975483A (ja) バツフア・ストレ−ジ制御方式

Legal Events

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