JPH03235149A - アドレス変換装置 - Google Patents

アドレス変換装置

Info

Publication number
JPH03235149A
JPH03235149A JP2029507A JP2950790A JPH03235149A JP H03235149 A JPH03235149 A JP H03235149A JP 2029507 A JP2029507 A JP 2029507A JP 2950790 A JP2950790 A JP 2950790A JP H03235149 A JPH03235149 A JP H03235149A
Authority
JP
Japan
Prior art keywords
sto
address
virtual
space
register
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.)
Pending
Application number
JP2029507A
Other languages
English (en)
Inventor
Yoshiichi Mori
森 芳一
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 JP2029507A priority Critical patent/JPH03235149A/ja
Publication of JPH03235149A publication Critical patent/JPH03235149A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、多重仮想記憶方式の情報処理装置に係り、特
に、1つの命令で複数の仮想記憶を同時にアクセスする
ために用いて好適なアドレス変換装置に関する。
[従来の技術] 一般に、仮想記憶方式を用いる情報処理装置において、
プログラムは、仮想記憶と呼ばれる見掛は上の空間にロ
ードされる。この仮想空間上のプログラムは、セグメン
トあるいはページという一定の区画に分割され、この−
区画毎に実記憶域に置かれて実行される。このため、プ
ログラムは、実記憶容量を意識することなく仮想空間を
利用することかでき、記憶容量に関するプログラミング
上の制約を受けることが緩和される。
このような仮想記憶方式の考え方をさらに拡張した多重
仮想記憶方式を用いる情報処理装置もある。この方式は
、1つのプログラムに対して1つの仮想空間を与え、こ
れを複数存在させるもので、プログラムは、1つの仮想
記憶域を占有することができる。このため、このような
多重仮想記憶方式を用いる情報処理装置は、単一の仮想
記憶方式を用いるものに比較して、プログラミング上の
制限が緩和され、プログラム多重度も、仮想空間の数だ
け許されるため、理論上無限の多重処理を行うことが可
能となり、セキュリティの面からも都合の良いものであ
る。
そして、1つの仮想空間は、一般のプログラムとデータ
とを格納するための充分な大きさを備えている。例えば
、日立製作所の汎用処理装置に採用されている、Mシリ
ーズ拡張アーキテクチャにおいては、1つの仮想空間で
、2” (2ギガ)バイトのアドレス空間を備えている
ところで、近年、情報処理装置で取り扱うデータ量が増
大の一途をたどり、1つの仮想空間に格納することがで
きないような大規模なデータ、プログラム等への対応が
求められ、また、プログラムとデータとの分離による仮
想空間相互間における連絡機能の強化が望まれている。
しかし、従来技術による多重仮想記憶方式は、複数の仮
想空間のそれぞれを独立にプログラムに対して割当てる
ため、相異なる仮想空間に存在するデータ、プログラム
等を自由にアクセスすることが、原則としてできないも
のであった。そして、従来技術は、相異なる仮想空間相
互間でデータの転送を行おうとする場合、お互いの仮想
空間に共通な仮想アドレスで定義される共通域を経由し
てデータ転送を行わなければならず、データを共通域ヘ
ロードするためのオーバーヘッドの増加、共通域の確保
による占有領域の縮少といった弊害を生じてしまう。ま
た、仮想空間の切り換えには、制御プログラムの介入が
必要であり、その際のオーバーヘッドも無視できないも
のである。
そこで、これらの問題点を解決するため、多重仮想記憶
方式において、プログラムが複数の仮想空間を任意にア
クセス可能とする手法が種々提案されている。
一般に、多重仮想記憶方式の動的アドレス変換は、セグ
メントテーブルの起点アドレスを有するセグメントテー
ブル記述子(S T O: Segment Tabl
e Origin address) 、セグメントテ
ーブル及びページテーブルを使用して行われている。前
記SToは、1つの仮想空間と1対1で対応するセグメ
ントテーブルの起点アドレスを示しており、このSTO
を切り換えることにより、アクセスすべき仮想空間を選
択することができる。
従って、一般のプログラムが前記STOを任意に指定す
ることができれば、任意の仮想空間をアクセスすること
ができることになる。
前述のように、プログラムが任意のSTOを指定できる
ようにした従来技術として、特開昭56−140576
号公報等に記載された技術が知られている。
この従来技術は、命令のオペランド単位に前記STOを
指定可能としたアドレス制御方式であり、複数の汎用レ
ジスタに関連した複数のアクセスレジスタを新たに用意
し、このアクセスレジスタの内容により、間接的にST
Oを指定するようにしたものである。
そして、この従来技術は、IBM社のシステム/370
アーキテクチャを前提としており、命令による仮想空間
上のオペランドアクセスは、次のように行われる。
命令は、その命令語の中で、Bフィールドによりベース
レジスタとして選択する汎用レジスタの番号を指定し、
Dフィールドの中で、アドレス変位を指定する。
ペースレジスタに保持されたベースアドレスとアドレス
変位とが加算されて、1仮想中間内の仮想アドレスが生
成される。
一方、ペースレジスタとして選択された汎用レジスタに
関連したアクセスレジスタの内容により、間接的にST
Oが求められ、これにより、アクセスすべき仮想空間が
指定される。
前述の動作をアドレス変換の点からまとめると、アドレ
ス変換は、次のように行われる。
すなわち、この動作は、命令のBフィールドによりアク
セスレジスタを指定し、このアクセスレジスタの内容か
らSTOを求め、該STOで示されるセグメントテーブ
ル、ページテーブル及び前記仮想アドレスに基づいて、
一定のアドレス変換手順を実行することにより、実アド
レスを求めるものである。
第2図はこの種従来技術の一例を示すブロック図であり
、以下、これについて説明する。第2図において、7は
アクセスレジスタアレイ、8は汎用レジスタアレイ、9
はSTOアレイである。
第2図において、命令のベースフィールドは、アクセス
レジスタ番号、汎用レジスタ番号、STO番号を指定可
能である。なお、これらの番号は、全て同一である。
命令が仮想空間をアクセスする場合、その命令のベース
フィールドにより、まず、STOアレイ9が調べられ、
このアレイ9内に該当するSTOがあれば、このSTO
の内容を用いて、アドレス変換処理が行われ、仮想空間
を識別し、実アドレスを求めることができる。
また、STOアレイ9内に該当するSTOがない場合、
命令のベースフィールドにより、アクセスレジスタアレ
イ7内のアクセスレジスタが指定される。指定されたア
クセスレジスタの内容は、アクセスリストと呼ばれる、
アクセスを行う仮想空間の属性等を記述した、主記憶上
の先頭アドレスを示し、これにより、対応するアクセス
リストが読み出される。この読み出されたアクセスリス
トには、アクセスする仮想空間のアドレス変換に用いら
れるセグメントテーブルの先頭アドレスを持つSTOが
含まれており、このSTOは、STOアレイ9に格納さ
れると共に、前述と同様にアドレス変換処理のために使
用される。
この結果、命令のベースフィールドと、STOとは1対
1に対応することになる。なお、この対応関係が変化す
るのは、アクセスレジスタの内容が変わったとき、ある
いは、アクセスリストの内容が変わったときである。
前述したように、前記従来技術は、通常のアドレス変換
処理に加え、STO選択処理を行う必要のあるものであ
る。STOは、アクセスレジスタを経由して汎用レジス
タと対応しているが、1対lの対応が一般的であり、ア
ドレス変換を高速に実行するためには、汎用レジスタ単
位にSTOを用意する必要がある。また、一般に、アド
レス変換によるオーバーヘッドを減少させるために、ア
ドレス変換の結果を登録したアドレス変換バッファ(T
LB)が使用されるが、このTLBエントリにもSTO
を用意しなければならない。
ところで、STO自体はセグメントテーブルの起点アド
レスを持つものであり、そのビット長が大きいものであ
る。このため、仮想空間の識別にSTOを用いることは
、ハードウェア量を増大させ、はなはだ不都合である。
そこで、仮想空間の識別にSTOを一定の規則に従って
圧縮した空間識別子と呼ばれる5TOIDを用いること
により、ハードウェア量を削減することが考えられてい
る。この5TOIDを使用する場合、5TOIDにより
TLBをアクセスして、実アドレスを求めることができ
るが、当該実アドレスがTLB内に存在しない場合には
、あくまでも、STOを使用してアドレス変換を行わな
ければならない。このためには、STO−5TOIDを
関係付けた変換対が必要になるが、変換対を設けると、
この変換対にハードウェアを費やすことになり、STO
を削減した意味がなくなるため、変換対は、ローカルス
トレージ(LS)あるいは主記憶といった低速メモリの
一部に置かれることになる。
この結果、1つの命令でアクセス可能な仮想空間が複数
の場合、アドレス変換の都度、STOを求めるために低
速メモリをアクセスしなければならず、アドレス変換処
理の性能を低下させるという問題を生じる。
[発明が解決しようとする課題] 前述したように、複数の仮想空間の1つを任意にアクセ
スするためのアドレス変換の方法が、従来各種提案され
ているが、これらの従来技術は、それぞれ、大量のハー
ドウェアを必要とし、アドレス変換処理性能が満足でき
るものではないという問題点を有している。
本発明の目的は、前記従来技術の問題点を解決し、1つ
の命令で複数の仮想空間の1つを任意にアクセス可能な
多重仮想記憶方式の処理装置において、仮想空間の識別
にSTOを圧縮した5TOIDを使用して、ハードウェ
ア量の低減を図ると共に、5TOIDの使用によるアド
レス変換処理の性能低下を防止することのできるアドレ
ス変換装置を提供することにある。
[課題を解決するための手段] 本発明によれば前記目的は、セグメントテーブル記述子
(STO)を一定の規則により圧縮した空間識別子(S
TOID)、仮想アドレス及び所定のアドレス変換手順
により求められた実アドレスの組による変換対を複数布
するアドレス変換バッファ(TLB)と、前記STO及
び該ST○に対応する前記5TOIDを1組にしたST
O変換対を複数保持するSTO記憶部と、該STO記憶
部から選択したSTO変換対を保持するキャッシュレジ
スタと、5TOIDを複数保持するレジスタアレイとを
備えることにより達成される。
そして、命令が仮想空間をアクセスする際、前記レジス
タアレイより、前記5TOIDを選択し、選択された5
TOIDを用いて前記TLBをアクセスし、該TLB内
にその5TOIDと仮想アドレスを含む変換対が登録さ
れていない場合、前記選択された5TOIDと前記キャ
ッシュレジスタに保持されているSTO変換対の5TO
IDとを比較し、一致が得られたとき、前記キャッシュ
レジスタに保持されている変換対のSTOを用いて所定
のアドレス変換が行われ、一致が得られないとき、前記
STO記憶部から前記選択されたSTOIDと仮想アド
レスを持つ変換対を選択し、その変換対のSTOを用い
て所定のアドレス変換が行われる。
[作 用] 5TOIDは、仮想空間をアクセスする度に、言い替え
れば、TLBをアクセスする度に使用され、STOは、
TLB内に当該5TOIDに対応するエントリが存在し
なかった場合に、アドレス変換を行うためにのみ使用さ
れる。
1つの命令で複数の仮想空間のアークセスを行う場合、
アドレス変換処理において、STOの選択を行う処理が
必要となるが、5TO−5TOID変換対をキャッシュ
レジスタに格納しておくことにより、STO選択の処理
を高速に行うことができる。
[実施例] 以下、本発明によるアドレス変換装置の一実施例を図面
により詳細に説明する。
第1図は本発明の一実施例の構成を示すブロック図であ
る。第1図において、1はTLB、2はレジスタアレイ
、3はSTO記憶部、4はキャッシュレジスタ、5.6
は比較器である。
第1図に示す本発明の一実施例において、レジスタアレ
イ2は、5TOIDをペースレジスタ単位に有し、命令
のペースレジスタ番号によりいずれか1つが選択され、
その5TOIDが、信号線102.103.104及び
105を介して、比較器5.6、STO記憶部3及び5
TO−5TOID変換対を保持しているキャッシュレジ
スタ4に送られる。
TLBlは、仮想アドレスLA、実アドレスRA及びS
TOIDによる変換対を格納しており、その出力のうち
STOIDは、信号線106を介して比較器5に入力さ
れ、レジスタアレイ2より送られてくる5TOIDと比
較される。
STO記憶部3は、比較的低速のメモリ内に設けられて
おり、5TOIDと1対1に対応するSToを、STO
IDの数だけ保持している。例えば、5TOIDが8ビ
ツト構成であれば、256個のSTOが、STO記憶部
3内に保持されている。STO記憶部3は、図示実施例
の場合、独立した記憶部として示されているが、低速の
RAMにより構成されたローカルストレージの一部、あ
るいは、主記憶の一部を分割したハードウェア領域に割
り当てることも可能である。
STO記憶部3内に保持されたSTOは、レジスタアレ
イ2より出力された5TOIDの値により選択され、信
号線107を介して5TO−8TOID変換対を保持す
るキャッシュレジスタ4のSTO部にセットされる。
キャッシュレジスタ4内の5TO−3TOID変換対は
、5TOID部とSTO部とからなり、レジスタアレイ
2より出力された5TOIDと、この5TOIDの値に
よりSTO記憶部3から選択されたSTOとを保持して
いる。この5TO−5T○ID変換対の5TOID部は
、信号線109を介して比較器6に与えられ、一方、S
TO部は、信号M108を介して出力され、アドレス変
換を行う場合のSTOとして使用される。
次に、前述のように構成される本発明の一実施例におい
て、命令が仮想空間をアクセスする場合の、仮想空間の
識別、及び、アドレス変換の方法を説明する。
命令が与えられると、命令のベースフィールドの値に対
応する5TOIDがレジスタアレイ2より選択される。
選択された5TOIDは、まず、比較器5により、TL
Blより読み出された当該エントリの5TOIDと比較
される。この比較の結果が一致した場合、当該エントリ
が、アクセスすべき空間の仮想アドレスの写しであるこ
とを意味するので、さらに仮想アドレスLAの比較等が
行われた後、その実アドレスRAが主記憶に対するアク
セスアドレスとして使用される。
前述の比較で一致が得られなかった場合、TLBl内に
アクセスすべき空間の変換対が存在しなかったことにな
るので、アドレス変換のためのSToを次の手順で求め
る。
前述で、レジスタアレイ2より選択された5TOIDは
、比較器6により、キャッシュレジスタ4内の5TO−
5TOID変換対の5TOIDと比較される。この比較
の結果、一致が得られた場合、レジスタアレイ2より選
択された5TOIDに対するSTOが、キャッシュレジ
スタ4内の5To−5TOID変換対に存在することに
なり、このSTOを用いてアドレス変換が行われる。
比較器6による比較により一致が得られなかった場合、
STO記憶部3の中から、前記レジスタアレイ2より選
択された5TOIDに対応するSTOを選択し、この選
択されたSTOとそのSTOよりとが、5TO−5TO
ID変換対としてキャッシュレジスタ4に登録される。
さらに、このSTOは、前述と同様にアドレス変換のた
めに用いられる。
前述のSTOからのアドレス変換は、従来技術の場合と
同様に行えばよいので、ここでの説明は省略するが、得
られた結果は、空間のアクセスに利用されると共に、T
LBl内に保持しておくことができる。
前述した本発明の一実施例において、キャッシュレジス
タ4は、STO記憶部3のキャッシュとして働き、低速
のSTO記憶部3をアクセスする頻度を低減させること
ができる。従って、前述した本発明の一実施例によれば
、複数の仮想記憶をアクセスする場合のアドレス変換を
高速に行うことが可能となる。
また、本発明の一実施例は、5TO−8TOID変換対
を1個備えるものであり、プログラム、データの局所性
を考慮すれば、効果の大きいものであるが、命令が主記
憶上のオペランドを2個持つ場合、アクセスする仮想空
間の数が、命令、オペランド1、オペランド2の3個と
なるため、3個の変換対を用意すれば、さらに効果的で
ある。
[発明の効果] 以上説明したように本発明によれば、仮想空間の識別に
5TOIDを使用することにより、ハードウェア量を低
減することができ、5TO−5TOID変換対を少数の
ハードウェアで構成したキャッシュレジスタに格納する
ことにより、処理装置の性能の低下を招くことなく、高
速なアドレス変換処理を実行することができる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は種従来技術の一例を示すブロック図である。 1・・・・・・TLB、2・・・・・・レジスタアレイ
、3・・・・・・STO記憶部、4・・・・・・キャッ
シュレジスタ、5.6・・・・・・比較器、7・・・・
・・アクセスレジスタアレイ、8・・・・・・汎用レジ
スタアレイ、9・・・・・・STOアレイ。

Claims (1)

  1. 【特許請求の範囲】 1、複数の仮想空間を使用する多重仮想記憶方式の処理
    装置において、セグメントテーブル記述子を一定の規則
    により圧縮した空間識別子を用いて仮想空間の識別を行
    い、セグメントテーブル記述子と空間識別子の変換対を
    格納するキャッシュレジスタを備え、アドレス変換処理
    におけるセグメントテーブル記述子の選択を、前記キャ
    ッシュレジスタを用いて行うことを特徴とするアドレス
    変換装置。 2、複数の仮想空間を使用する多重仮想記憶方式の処理
    装置において、セグメントテーブル記述子を一定の規則
    により圧縮した空間識別子、仮想アドレス及び所定のア
    ドレス変換手順により求められた実アドレスの組による
    変換対を複数有するアドレス変換バッファと、前記セグ
    メントテーブル記述子及び該記述子に対応する前記空間
    識別子を1組にしたSTO変換対を複数保持するSTO
    記憶部と、該STO記憶部から選択したSTO変換対を
    保持するキャッシュレジスタと、前記空間識別子を複数
    保持するレジスタアレイとを備え、命令が仮想空間をア
    クセスする際、前記レジスタアレイより、前記空間識別
    子を選択し、選択された空間識別子を用いて前記アドレ
    ス変換バッファをアクセスし、該バッファ内にその空間
    識別子と仮想アドレスを含む変換対が登録されていない
    場合、前記キャッシュレジスタに保持されているSTO
    変換対、または、前記STO記憶部内のSTO変換対の
    、前記選択された空間識別子と同一の値を持つSTO変
    換対のセグメントテーブル記述子を用いて所定のアドレ
    ス変換を行うことを特徴とするアドレス変換装置。 3、前記キャッシュレジスタは、命令用と、1または複
    数のオペランド用に複数備えられることを特徴とする特
    許請求の範囲第1項または第2項記載のアドレス変換装
    置。
JP2029507A 1990-02-13 1990-02-13 アドレス変換装置 Pending JPH03235149A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2029507A JPH03235149A (ja) 1990-02-13 1990-02-13 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2029507A JPH03235149A (ja) 1990-02-13 1990-02-13 アドレス変換装置

Publications (1)

Publication Number Publication Date
JPH03235149A true JPH03235149A (ja) 1991-10-21

Family

ID=12278007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2029507A Pending JPH03235149A (ja) 1990-02-13 1990-02-13 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPH03235149A (ja)

Similar Documents

Publication Publication Date Title
US4835734A (en) Address translation apparatus
US5404476A (en) Multiprocessing system having a single translation lookaside buffer with reduced processor overhead
EP0855057B1 (en) Address transformation in a cluster computer system
JPS6027964A (ja) メモリアクセス制御回路
JPS61141055A (ja) 情報処理装置のアドレス変換方式
US4876646A (en) Data processor having multilevel address translation tables
JP2774862B2 (ja) Dma制御装置および情報処理装置
US5341484A (en) Virtual machine system having an extended storage
US20050060441A1 (en) Multi-use data access descriptor
JPH03235149A (ja) アドレス変換装置
JPH02211560A (ja) 情報処理システム
JP2503702B2 (ja) アドレス変換装置
JPS63244152A (ja) 拡張記憶装置アクセス制御装置
JPS5853075A (ja) 高速分離バツフアを備えた情報処理装置
JP3456727B2 (ja) データ処理装置
JPS5858752B2 (ja) アドレス変換装置
JPS63245743A (ja) メモリアクセス方式
JP2895892B2 (ja) データ処理装置
JPS61221846A (ja) アドレス変換制御方式
JPS6143744B2 (ja)
JPH0812637B2 (ja) アドレス変換方式
JPH01108652A (ja) アドレス変換方式
JPS6243746A (ja) タグ付デ−タ制御方式
JPH0476643A (ja) 主記憶初期化制御方式
JPH0447344B2 (ja)