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

アドレス変換装置

Info

Publication number
JPH0652058A
JPH0652058A JP4203941A JP20394192A JPH0652058A JP H0652058 A JPH0652058 A JP H0652058A JP 4203941 A JP4203941 A JP 4203941A JP 20394192 A JP20394192 A JP 20394192A JP H0652058 A JPH0652058 A JP H0652058A
Authority
JP
Japan
Prior art keywords
address
address translation
buffer
virtual
supervisor
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
JP4203941A
Other languages
English (en)
Inventor
Satoshi Emura
里志 江村
Yukinobu Nishikawa
幸伸 西川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4203941A priority Critical patent/JPH0652058A/ja
Publication of JPH0652058A publication Critical patent/JPH0652058A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 仮想記憶方式を採用する計算機における仮想
アドレスから実アドレスへの変換装置 【構成】 スーパバイザアドレス変換バッファ11は、
仮想アドレス部と実アドレス部を含むアドレス変換エン
トリを複数個備え、ユーザアドレス変換バッファ12
は、仮想アドレス部とプロセス番号部と実アドレス部と
からなるアドレス変換エントリを複数個備える。アドレ
ス変換バッファ制御部13は、アドレス変換時にプロセ
ッサの動作モードに従って、いずれかのアドレス変換バ
ッファからアドレス変換結果の出力するように制御す
る。 【効果】 スーパバイザアドレス変換バッファではプロ
セス番号を保持しなくてもよいのでメモリ資源を節約で
きる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想記憶方式を採用す
る計算機において、プロセッサからの仮想アドレスをメ
モリへの実アドレスに変換するアドレス変換装置に関す
る。
【0002】
【従来の技術】近年、多くの計算機において仮想記憶方
式が採用されており、これらの計算機ではアドレ変換装
置をプロセッサ内部に備え、又はプロセッサの補助装置
として備えている。仮想記憶方式を採用することは、大
容量の仮想メモリを提供することによってプログラムに
対する物理的制約(メモリ空間の制約)を著しく緩和す
る反面、プログラムが指定する仮想アドレスから実際の
メモリ上の実アドレスに変換することが必要となる。
【0003】仮想記憶方式を採用するほとんどの計算機
では、使用して間もない仮想アドレスと実アドレスの対
を記憶しておくアドレス変換バッファを含むアドレス変
換装置を備えている。アドレス変換バッファは、内容ア
ドレスメモリ(Content Addressable Memory)を用いて、
アドレスの比較を並列に行なうことによりアドレス変換
の処理時間をプログラムの動作に影響しない程に軽減し
ている。(例えば、「情報処理」第32巻第12号12
30ページ〜1238ページ。)また、多くの計算機で
は、一般のユーザプログラムによってオペレーティング
システムや他のユーザプログラムが破壊されないよう
に、オペレーティングシステムが動作するスーパバイザ
モードと、ユーザプログラムが動作するユーザモードと
を設けている。
【0004】ユーザモードでは、アドレス変換装置はユ
ーザプログラムをプロセス番号によって識別し、個々の
プロセスごとに仮想アドレスから実アドレスへのアドレ
ス変換を行なう。これにより、他のユーザプログラムを
保護している。スーパバイザモードでは、アドレス変換
装置はプロセス番号を意識することなくアドレス変換を
行なう。もし、ユーザモードのプログラムがスーパバイ
ザモード専用のメモリ空間をアクセスしようとすると、
アドレス変換装置は特権違反例外信号(又は割り込み信
号)を発生する。これにより、オペレーティングシステ
ムを保護している。
【0005】以下図面を参照しながら、上記した従来の
アドレス変換装置の一例について説明する。図5は従来
のアドレス変換装置の構成を示す図である。図5におい
て、51はアドレス変換バッファ、52は出力部であ
る。図6はアドレス変換バッファ51に格納されるアド
レス変換エントリの構成を示す。61は有効ビットで、
1でそのアドレス変換エントリが有効、0で無効である
ことを示す。62は仮想アドレス部、63はプロセス番
号部、64はスーパバイザ部で、1でスーパバイザモー
ド用アドレス変換エントリ、0でユーザモード用アドレ
ス変換エントリであることを示す。65は実アドレス部
である。
【0006】以上のように構成されたアドレス変換装置
について、その動作を (1)アドレス変換バッファにアド
レス変換エントリを書き込む動作、 (2)アドレス変換動
作の順に説明する。 (1) アドレス変換バッファにアドレス変換エントリを書
き込む動作 通常の命令実行時のアドレス変換においてアドレス変換
バッファ内に所望のアドレス変換エントリが存在しない
場合、アドレス変換装置からオペレーティングシステム
にアドレス変換バッファミス例外の発生が伝えられる。
オペレーティングシステムは主記憶上に設けられたアド
レス変換テーブルを検索した後、アドレス変換バッファ
へのアドレス変換エントリの書き込みを以下のように行
なう。
【0007】アドレス変換エントリの書き込みにおい
て、オペレーティングシステムは、仮想アドレスと、プ
ロセス番号と、スーパバイザビットと、実アドレスとを
アドレス変換バッファ51に入力する。ここでスーパバ
イザビットは、1でスーパバイザモード用アドレス、0
でユーザモード用アドレスであることを示す。アドレス
変換バッファ51では、アドレス変換エントリのうち有
効ビット61が0であるアドレス変換エントリが存在す
ればそのアドレス変換エントリを、これが存在しなけれ
ばFIFOアルゴリズムまたはLRUアルゴリズムまた
はランダムアルゴリズムなどのうちから予め定められた
アルゴリズムに従って、置き換えるべきアドレス変換エ
ントリを選択する。選択されたアドレス変換エントリに
対して有効ビット61には1が、仮想アドレス部62、
プロセス番号部63、スーパバイザ部64と実アドレス
部65には、それぞれオペレーティングシステムから与
えられた仮想アドレス、プロセス番号、スーパバイザビ
ットと実アドレスとが書き込まれる。
【0008】(2) アドレス変換動作 次に、通常の命令実行時の命令アドレスやメモリアクセ
ス命令のオペランドアドレスといった仮想アドレスから
実アドレスへの変換動作について説明する。まず、プロ
セッサは仮想アドレスとプロセス番号とをアドレス変換
バッファ51へ入力する。
【0009】アドレス変換バッファ51では、バッファ
内のアドレス変換エントリのうち有効ビット61が1で
あるアドレス変換エントリにおいてはプロセッサから与
えられた仮想アドレスと仮想アドレス部62とを比較
し、スーパバイザ部64の値が0のアドレス変換エント
リにおいては更にプロセッサから与えられたプロセス番
号とプロセス番号部63とを、各アドレス変換エントリ
で並列にそれぞれ比較する。比較した結果、有効ビット
61が1で、スーパバイザ部64の値が1で、仮想アド
レス部62の値がプロセッサから与えられた仮想アドレ
スと一致するアドレス変換エントリが存在するか、また
は、有効ビット61が1でスーパバイザ部64の値が0
で、仮想アドレス部62の値がプロセッサから与えられ
た仮想アドレスと一致し、プロセス番号部63の値がプ
ロセッサから与えられたプロセス番号と一致するアドレ
ス変換エントリが存在すれば、有効な実アドレスに変換
できたこと(以下、ヒットという)を示す信号と一致し
たアドレス変換エントリの実アドレス部65を出力部5
2に出力する。逆に、一致するアドレス変換エントリが
存在しなければ、有効な実アドレスに変換できなかった
こと(以下、ミスという)を示す信号を出力部52に出
力する。出力部52では、プロセッサの状態がユーザモ
ードであるのに、スーパバイザ部64の値が1であるア
ドレス変換エントリにヒットした場合には、特権違反例
外を発生する。その他の場合は、アドレス変換バッファ
51の出力であるヒットかミスかを示す信号と、ヒット
の場合の実アドレスを出力する。
【0010】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、スーパバイザモードのアドレス変換エン
トリにも不必要なプロセス番号部を持つため、メモリ資
源を無駄にするという問題点を有していた。また、スー
パバイザモードならプロセス番号を比較せず、ユーザモ
ードならプロセス番号を比較するため、アドレス変換エ
ントリごとにスーパバイザモードかユーザモードかを区
別するビットが必要であるという問題点を有していた。
【0011】さらに、ユーザモードにおける同一プロセ
スでの連続したアドレス変換において、本来なら不必要
であるプロセス番号の比較を毎回行なうため、プロセス
番号と仮想アドレスの両者が一致していることを判定す
る処理が必要というオーバヘッド(無駄時間)が存在す
るという問題点を有していた。本発明は上記問題点に鑑
み、メモリ資源を無駄にせず、またオーバヘッドが少な
いアドレス変換装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記課題を解決するため
に本発明のアドレス変換装置は、仮想アドレスから実ア
ドレスへの変換に必要な変換情報を記憶するアドレス変
換バッファを備え、上記変換情報の構成が互いに異なる
2つ以上の動作モードを有するプロセッサからの仮想ア
ドレスを実アドレスに変換するアドレス変換装置であっ
て、上記変換情報として仮想アドレスと対応する実ドレ
スを含むアドレス変換エントリを記憶する複数のアドレ
ス変換バッファと、プロセッサからの入力されるどのモ
ードであるかを示すモード信号に基づいて、変換に用い
るアドレス変換バッファを切り換える制御部とを備え、
前記アドレス変換バッファは、異なる動作モード毎に設
けられている。
【0013】前記2つ以上の動作モードについて、1つ
はスーパバイザモードであり、少なくとも1つはユーザ
モードであってもよい。また、複数のプロセスが動作し
うる仮想記憶方式の計算機における、プロセス番号に応
じて仮想アドレスを実アドレスに変換するアドレス変換
装置であって、各プロセス番号毎に、仮想アドレスと対
応する実アドレスを記憶する複数のアドレス変換バッフ
ァと、プロセス番号に基づいて、変換に用いるアドレス
変換バッファを切り換える制御部とを備えている。
【0014】前記制御部は、プロセッサから与えられる
プロセスの切り換えを示すプロセス切り換え信号及びプ
ロセス番号に基づいて、アドレス変換に先立って対応す
るアドレス変換バッファに切り換えるように構成されて
いてもよい。
【0015】
【作用】本発明は上記した手段によって、各アドレス変
換バッファは各モード毎の変換情報の違いに応じて設け
られており、制御部はモード信号に従って変換に用いる
アドレス変換バッファを切り換える制御を行う。また、
各アドレス変換バッファはプロセス番号毎に設けられて
おり、制御部はプロセッサから入力されるプロセス番号
に従って変換に用いるアドレス変換バッファを切り換え
る制御を行う。
【0016】
【実施例】本発明の一実施例のアドレス変換装置につい
て、図面を参照しながら説明する。図1は本発明の実施
例におけるアドレス変換装置の構成図を示す。11はス
ーパバイザアドレス変換バッファで、スーパバイザモー
ドにおける仮想アドレスと対応する実アドレスからなる
アドレス変換エントリを複数保持する。
【0017】12はユーザアドレス変換バッファで、ユ
ーザモードにおける仮想アドレス、プロセス番号と、対
応する実アドレスからなるアドレス変換エントリを複数
保持する。13はアドレス変換バッファ制御部で、プロ
セッサから与えられるプロセッサ動作モード信号、スー
パバイザモード信号に従ってアドレス変換及びアドレス
変換バッファへのアドレス変換エントリの書込を制御す
る。具体的には、アドレス変換に際して、プロセッサ動
作モード信号に従って、スーパバイザモードであればス
ーパバイザアドレス変換バッファにより仮想アドレスか
ら実アドレスに、ユーザモードであればユーザアドレス
変換バッファにより仮想アドレスから実アドレスに変換
する。ここで、プロセッサ動作モード信号は、プロセッ
サの動作モードがスーパバイザモードであるかユーザモ
ードであるかを示す信号である。また、アドレス変換エ
ントリの書き込みに際して、スーパバイザモード信号に
従って、スーパバイザ用のアドレス変換エントリであれ
ばスーパバイザアドレス変換バッファに、ユーザモード
であればユーザアドレス変換バッファに、アドレス変換
エントリを書き込む。ここで、スーパバイザモード信号
は、プロセッサから与えられたアドレス変換エントリが
スーパバイザ用であるかユーザ用であるかを示す信号で
ある。
【0018】14は入力部で、アドレス変換エントリ書
き込み時にはプロセッサからの仮想アドレス、プロセス
番号、実アドレスとが入力され、通常のアドレス変換時
には仮想アドレス、プロセス番号等が入力される。15
は出力部で、アドレス変換結果である実アドレスや、ア
ドレス変換エントリが存在しなかったことを示す信号
や、特権違反例外を示す信号を出力する。
【0019】図2(a)はスーパバイザアドレス変換バ
ッファ11に保持されるアドレス変換エントリの構成を
示す。21は有効ビットで、1でそのアドレス変換エン
トリが有効、0で無効であることを示す。22は仮想ア
ドレス部で、プログラムによって指定される仮想記憶装
置での(論理)アドレスである。23は実アドレス部
で、実メモリでの(物理)アドレスである。
【0020】図2(b)はユーザアドレス変換バッファ
12に保持されるアドレス変換エントリの構成を示す。
24は有効ビットで有効ビット21と同様、25は仮想
アドレス部で仮想アドレス部22と同様、27は実アド
レス部で実アドレス部23と同様である。26はプロセ
ス番号部で、ユーザモードにおけるプロセスの番号を示
す。
【0021】上記のように構成されたアドレス変換装置
について、その動作を (1.1)アドレス変換バッファへの
アドレス変換エントリの書き込み動作、(1.2) アドレス
変換動作の順に説明する。 (1.1) アドレス変換バッファへのアドレス変換エントリ
の書き込み動作 アドレス変換バッファへの書き込みは、通常のアドレス
変換においてアドレス変換バッファ内に所望のアドレス
変換エントリが存在しなかった場合に、オペレーティン
グシステムによって行われる。オペレーティングシステ
ムは、従来例と同様にプロセッサ動作モード、スーパバ
イザモード、仮想アドレス、ユーザモードの場合のプロ
セス番号、実アドレスとをアドレス変換装置に対して出
力する。アドレス変換バッファ制御部13は、オペレー
ティングシステムから与えられたスーパバイザビットに
従って、スーパバイザモードであればスーパバイザアド
レス変換バッファ11を選択し、ユーザモードであれば
ユーザアドレス変換バッファ12を選択する。
【0022】スーパバイザアドレス変換バッファ11が
選択された場合、スーパバイザアドレス変換バッファ1
1は、有効ビット21が0であるアドレス変換エントリ
が存在すればそのアドレス変換エントリを、存在しなけ
ればFIFOアルゴリズムまたはLRUアルゴリズムま
たはランダムアルゴリズムなどに従って、置き換えるべ
きアドレス変換エントリを選択する。
【0023】ユーザアドレス変換バッファ12が選択さ
れた場合、ユーザアドレス変換バッファ12は、有効ビ
ット24を参照して、スーパバイザアドレス変換バッフ
ァ11の場合と同じ方法で、置き換えるべきアドレス変
換エントリを選択する。そして、アドレス変換バッファ
制御部13はオペレーティングシステムから与えられた
スーパバイザビットを入力部14に出力することによ
り、入力部14を制御する。入力部14は、スーパバイ
ザビットがスーパバイザモードである場合は、スーパバ
イザアドレス変換バッファ11のうち選択されたアドレ
ス変換エントリの有効ビット21に1を、仮想アドレス
部22と実アドレス部23にはそれぞれオペレーティン
グシステムから与えられた仮想アドレスと実アドレスと
を書き込む。また、スーパバイザビットがユーザモード
である場合は、ユーザアドレス変換バッファ12のうち
選択されたアドレス変換エントリの有効ビット24に1
を、仮想アドレス部25、プロセス番号部26と実アド
レス部27にはそれぞれオペレーティングシステムから
与えられた仮想アドレス、プロセス番号と実アドレスと
を書き込む。
【0024】(1.2) アドレス変換動作 次に、通常の命令実行時の命令アドレスやメモリアクセ
ス命令のオペランドアドレスといった仮想アドレスから
実アドレスへの変換動作について説明する。まず、プロ
セッサは仮想アドレスとプロセス番号とを入力部14へ
入力する。入力部14は、スーパバイザアドレス変換バ
ッファ11に対しては仮想アドレスを、ユーザアドレス
変換バッファ12に対しては仮想アドレスとプロセス番
号とを、それぞれ出力する。
【0025】スーパバイザアドレス変換バッファ11で
は、バッファ内のアドレス変換エントリのうち有効ビッ
ト21が1であるアドレス変換エントリを対象とし、入
力部14から与えられた仮想アドレスと仮想アドレス部
22とを各アドレス変換エントリで並列に比較し、一致
するアドレス変換エントリが存在すれば、ヒットである
ことを示す信号と一致したアドレス変換エントリの実ア
ドレス部23とを、出力部15に出力する。一致するア
ドレス変換エントリが存在しなければミスであることを
示す信号を出力部15に出力する。
【0026】同時に、ユーザアドレス変換バッファ12
では、バッファ内のアドレス変換エントリのうち有効ビ
ット24が1であるアドレス変換エントリを対象とし、
入力部14から与えられた仮想アドレスと仮想アドレス
部25とを、入力部14から与えられたプロセス番号と
プロセス番号部26とを、それぞれ各アドレス変換エン
トリで並列に比較する。仮想アドレス、プロセス番号と
も一致したアドレス変換エントリが存在すれば、ヒット
であることを示す信号と一致したアドレス変換エントリ
の実アドレス部27を出力部15に出力する。仮想アド
レスとプロセス番号の両方が一致するアドレス変換エン
トリが存在しなければミスであることを示す信号を出力
部15に出力する。
【0027】アドレス変換バッファ制御部13はプロセ
ッサの動作モードがスーパバイザモードであるかユーザ
モードであるかを出力部15に出力することにより、出
力部15を制御する。出力部15は、アドレス変換バッ
ファ制御部13から与えられるプロセッサ動作モードに
従って、スーパバイザアドレス変換バッファ11からの
出力とユーザアドレス変換バッファ12からの出力のど
ちらかを、最終的なアドレス変換結果として確定し出力
する。
【0028】スーパバイザアドレス変換バッファ11に
おいて一致するアドレス変換エントリが存在する場合
は、アドレス変換バッファ制御部13から出力されたプ
ロセッサ動作モードがスーパバイザモードである場合に
は、ヒットであることを示す信号とスーパバイザアドレ
ス変換バッファ11から出力された実アドレスとを出力
し、プロセッサ動作モードがユーザモードである場合に
は、特権違反例外であることを示す信号を出力する。
【0029】また、スーパバイザアドレス変換バッファ
11において一致するアドレス変換エントリが存在しな
い場合で、ユーザアドレス変換バッファ12において一
致するアドレス変換エントリが存在する場合には、プロ
セッサ動作モードにかかわらずヒットであることを示す
信号とユーザアドレス変換バッファ12から出力された
実アドレスとを出力する。
【0030】スーパバイザアドレス変換バッファ11と
ユーザアドレス変換バッファ12との両方において一致
するアドレス変換エントリが存在しない場合には、ミス
であることを示す信号を出力する。以上のように本実施
例によれば、スーパバイザアドレス変換バッファと、ユ
ーザアドレス変換を行うアドレス変換バッファからなる
ユーザアドレス変換バッファとを設けて、並列にアドレ
ス変換を行い、オペレーティングシステムに与えられた
スーパバイザビットに従ってアドレス変換の書き込みを
制御するとともに、プロセッサ動作モードに従ってアド
レス変換結果の出力を制御するアドレス変換バッファ制
御部を設ける。これによりアドレス変換エントリ毎にス
ーパバイザモードかユーザモードかを区別するビットを
持つ必要がなく、さらにスーパバイザアドレス変換バッ
ファでは不必要なプロセス番号を保持する必要がなくな
る。
【0031】以下本発明の第2の実施例について図面を
参照しながら説明する。図3は本発明の第2の実施例を
示すアドレス変換装置の構成図である。図3において、
31はスーパバイザアドレス変換バッファ、32はプロ
セスアドレス変換バッファ、33はアドレス変換バッフ
ァ制御部、34は入力部、35は出力部で、以上は図1
の構成と同様なものである。図1と異なるのは、ユーザ
アドレス変換バッファとしてプロセスアドレス変換バッ
ファ32を複数個設けた点と、これらを管理するユーザ
アドレス変換バッファ管理部36と、各プロセスアドレ
ス変換バッファ32にプロセス番号部37を設けた点で
ある。
【0032】図4は本発明の第2の実施例のスーパバイ
ザアドレス変換バッファ31及びプロセスアドレス変換
バッファ32に格納されるアドレス変換エントリの構成
を示すものであって、41は有効ビット、42は仮想ア
ドレス部、43は実アドレス部である。以上のように構
成されたアドレス変換装置について、以下図3及び図4
を用いて、(2.1) ユーザアドレス変換バッファ管理部の
動作、(2.2) アドレス変換バッファへのアドレス変換エ
ントリの書き込み動作、(2.3) アドレス変換動作の順に
説明する。
【0033】(2.1) ユーザアドレス変換バッファ管理部
の動作 まず、ユーザアドレス変換バッファ管理部36の動作に
ついて説明する。ユーザアドレス変換バッファ管理部3
6は、複数あるプロセスアドレス変換バッファ32のそ
れぞれが有効であるかどうかと、現在のアドレス変換に
用いるプロセスアドレス変換バッファ32(以下、現在
のプロセスアドレス変換バッファと呼ぶ)はどれである
かということを管理する。プロセスアドレス変換バッフ
ァ32が有効であるとは使用し得るということであり、
無効であるとは使用し得ないということである。例え
ば、プロセスが終了したとき、そのプロセス用のプロセ
スアドレス変換バッファは無効となる。また、現在のプ
ロセスアドレス変換バッファはただ一つのプロセスアド
レス変換バッファ32であり、プロセッサのプロセス番
号が変更されるのと同期して変更される。つまり、プロ
セスの切り換え時にプロセッサから通知されるプロセス
切り換え信号及びプロセス番号に従って書き換えられ
る。
【0034】ユーザアドレス変換バッファ管理部36
は、まず有効な各プロセスアドレス変換バッファ32の
プロセス番号部37とプロセッサから与えられたプロセ
ス番号とを比較し、一致するものがあれば、一致したプ
ロセスアドレス変換バッファ32を選択し、選択された
プロセスアドレス変換バッファ32を現在のプロセスア
ドレス変換バッファと記憶する。プロセス番号が一致す
る有効なプロセスアドレス変換バッファ32が存在せ
ず、有効でないプロセスアドレス変換バッファ32が存
在すれば、何らかの方法で一つの有効でないプロセスア
ドレス変換バッファ32を選択し、選択されたプロセス
アドレス変換バッファ32を現在のプロセスアドレス変
換バッファと記憶すると共に、選択されたユーザアドレ
ス変換バッファを有効とし、プロセス番号部37にプロ
セッサから与えられたプロセス番号を格納する。また、
プロセス番号が一致する有効なプロセスアドレス変換バ
ッファ32が存在せず、有効でないプロセスアドレス変
換バッファ32が存在しなければ、全ユーザアドレス変
換バッファから、FIFOアルゴリズムまたはLRUア
ルゴリズムまたはランダムアルゴリズムなどのうちから
予め定められたアルゴリズムに従って、一つのプロセス
アドレス変換バッファ32を選択し、選択されたプロセ
スアドレス変換バッファ32を現在のプロセスアドレス
変換バッファと記憶すると共に、プロセス番号部37に
プロセッサから与えられたプロセス番号を格納し、選択
されたプロセスアドレス変換バッファ32内の全アドレ
ス変換エントリの有効ビット41を0にする。
【0035】(2.2) アドレス変換バッファへのアドレス
変換エントリの書き込み動作 次にアドレス変換バッファへのアドレス変換エントリの
書き込みについて説明する。その動作が第1の実施例と
異なるのは、オペレーティングシステムから与えられる
スーパバイザビットがユーザモードの場合の、プロセス
アドレス変換バッファ32の選択方法と、選択されたユ
ーザアドレス変換バッファのアドレス変換エントリへの
書き込みである。スーパバイザビットがユーザモードの
場合、アドレス変換バッファ制御部33は、ユーザアド
レス変換バッファ管理部36が記憶している現在のプロ
セスアドレス変換バッファ32を選択する。選択された
プロセスアドレス変換バッファ32は、第1の実施例と
同じ方法で一つのアドレス変換エントリを選択し、入力
部34は選択されたアドレス変換エントリの有効ビット
41には1を、仮想アドレス部42と実アドレス部43
には、オペレーティングシステムから与えられた仮想ア
ドレスと実アドレスをそれぞれ書き込む。以上説明した
動作以外のアドレス変換バッファへのアドレス変換エン
トリの書き込み動作は、第1の実施例と同じである。
【0036】(2.3) アドレス変換動作 最後に、通常の命令実行時の命令アドレスやメモリアク
セス命令のオペランドアドレスの仮想アドレスから実ア
ドレスへの変換動作について説明する。その動作が第1
の実施例と異なるのは、入力部34はスーパバイザアド
レス変換バッファ31とユーザアドレス変換バッファ管
理部36が記憶している現在のプロセスアドレス変換バ
ッファ32へ仮想アドレスをそれぞれ出力する。現在の
プロセスアドレス変換バッファ32でのアドレス変換エ
ントリの検索動作と出力部35への出力動作は、第1の
実施例のスーパバイザアドレス変換バッファ11でのア
ドレス変換エントリの動作と同じで、有効ビット41が
1であるアドレス変換エントリを対象として、入力部3
4から与えられた仮想アドレスと仮想アドレス部42と
の比較により行なう。その他の、スーパバイザアドレス
変換バッファ31でのアドレス変換エントリの検索と出
力部35への出力動作と、アドレス変換バッファ制御部
33の出力部35に対する制御動作と、出力部35のア
ドレス変換結果の出力動作は、第1の実施例と同じであ
る。
【0037】以上のように、プロセス番号部を備えたユ
ーザアドレス変換バッファを複数設け、プロセッサのプ
ロセス番号に対応するユーザアドレス変換バッファを管
理するユーザアドレス変換バッファ管理部を設けること
により、ユーザアドレス変換バッファのアドレス変換エ
ントリにプロセス番号部を備える必要がなくなる。ま
た、プロセス切替え時に現在のプロセスアドレス変換バ
ッファを切替えることにより、アドレス変換時にプロセ
ス番号の比較をする必要がないのでプロセス番号と仮想
アドレスの両者が一致していることを判定する処理が不
要になり無駄時間を低減できる。
【0038】なお、第1の実施例及び第2の実施例にお
いて、実アドレス部23、27及び43の内容を実メモ
リアドレスとしたが、実メモリアドレスに加えてアクセ
ス制御等に用いるメモリ属性を含め、出力部15及び3
5でさらに詳細なアクセス制御を行なってもよい。
【0039】
【発明の効果】以上説明してきたように本発明によれ
ば、スーパバイザアドレス変換バッファと、ユーザアド
レス変換バッファと、アドレス変換バッファ制御部を設
けることにより、アドレス変換エントリごとに、スーパ
バイザアドレス変換バッファでは不必要なプロセス番号
を保持しなくてもよく、また、スーパバイザモードかユ
ーザモードかを区別するビットを持つ必要がなくなるの
でメモリ資源の無駄を低減するという効果がある。
【0040】また、プロセス番号部を備えた複数のプロ
セスアドレス変換バッファと、ユーザアドレス変換バッ
ファ管理部を設けることにより、ユーザアドレス変換バ
ッファの各アドレス変換エントリにもプロセス番号を保
持する必要がなくなるのでメモリ資源の無駄を低減する
という効果がある。さらに、プロセス切り換え時に予め
プロセスアドレス変換バッファを切り換えることによ
り、アドレス変換時にプロセス番号の比較をしなくても
よいのでプロセス番号と仮想アドレスの両者が一致して
いることを判定する処理が不要になりオーバヘッド(無
駄時間)を低減するという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるアドレス変換装
置の構成図である。
【図2】(a)は同実施例におけるスーパバイザアドレ
ス変換バッファのアドレス変換エントリの構成図であ
る。(b)は同実施例におけるユーザアドレス変換バッ
ファのアドレス変換エントリの構成図である。
【図3】本発明の第2の実施例におけるアドレス変換装
置の構成図である。
【図4】同実施例におけるアドレス変換エントリの構成
図である。
【図5】従来のアドレス変換装置の構成図である。
【図6】従来のアドレス変換エントリの構成図である。
【符号の説明】
11 スーパバイザアドレス変換バッファ 12 ユーザアドレス変換バッファ 13 アドレス変換バッファ制御部 14 入力部 15 出力部 21 有効ビット 22 仮想アドレス部 23 実アドレス部 24 有効ビット 25 仮想アドレス部 26 プロセス番号部 27 実アドレス部 31 スーパバイザアドレス変換バッファ 32 プロセスアドレス変換バッファ 33 アドレス変換バッファ制御部 34 入力部 35 出力部 36 ユーザアドレス変換バッファ管理部 37 プロセス番号部 41 有効ビット 42 仮想アドレス部 43 実アドレス部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスから実アドレスへの変換に
    必要な変換情報を記憶するアドレス変換バッファを備
    え、上記変換情報の構成が互いに異なる2つ以上の動作
    モードを有するプロセッサからの仮想アドレスを実アド
    レスに変換するアドレス変換装置であって、 上記変換情報として仮想アドレスと対応する実ドレスを
    含むアドレス変換エントリを記憶する複数のアドレス変
    換バッファと、 プロセッサからの入力されるどのモードであるかを示す
    モード信号に基づいて、変換に用いるアドレス変換バッ
    ファを切り換える制御部とを備え、 前記アドレス変換バッファは、異なる動作モード毎に設
    けられていることを特徴とするアドレス変換装置。
  2. 【請求項2】 前記2つ以上の動作モードについて、 1つはスーパバイザモードであり、少なくとも1つはユ
    ーザモードであることを特徴とする請求項1記載のアド
    レス変換装置。
  3. 【請求項3】 複数のプロセスが動作しうる仮想記憶方
    式の計算機における、プロセス番号に応じて仮想アドレ
    スを実アドレスに変換するアドレス変換装置であって、 各プロセス番号毎に、仮想アドレスと対応する実アドレ
    スを記憶する複数のアドレス変換バッファと、 プロセス番号に基づいて、変換に用いるアドレス変換バ
    ッファを切り換える制御部とを備えたことを特徴とする
    アドレス変換装置。
  4. 【請求項4】 前記制御部は、プロセッサから与えられ
    るプロセスの切り換えを示すプロセス切り換え信号及び
    プロセス番号に基づいて、アドレス変換に先立って対応
    するアドレス変換バッファに切り換えるように構成され
    ていることを特徴とする請求項3記載のアドレス変換装
    置。
JP4203941A 1992-07-30 1992-07-30 アドレス変換装置 Pending JPH0652058A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4203941A JPH0652058A (ja) 1992-07-30 1992-07-30 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4203941A JPH0652058A (ja) 1992-07-30 1992-07-30 アドレス変換装置

Publications (1)

Publication Number Publication Date
JPH0652058A true JPH0652058A (ja) 1994-02-25

Family

ID=16482220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4203941A Pending JPH0652058A (ja) 1992-07-30 1992-07-30 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPH0652058A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528640A (ja) * 2013-08-20 2016-09-15 華為技術有限公司Huawei Technologies Co.,Ltd. 物理メモリアドレスを問い合わせる方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528640A (ja) * 2013-08-20 2016-09-15 華為技術有限公司Huawei Technologies Co.,Ltd. 物理メモリアドレスを問い合わせる方法及び装置
US10114762B2 (en) 2013-08-20 2018-10-30 Huawei Technologies Co., Ltd. Method and apparatus for querying physical memory address

Similar Documents

Publication Publication Date Title
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US5918251A (en) Method and apparatus for preloading different default address translation attributes
JP3666689B2 (ja) 仮想アドレス変換方法
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JP2016192241A (ja) プロセッサ及びシステム
JPH08235072A (ja) セットアソシアティブ方式メモリの動的分画化方法及び装置
WO1996027832A1 (en) Parallel access micro-tlb to speed up address translation
JP2006172499A (ja) アドレス変換装置
JPH10232834A (ja) キャッシュメモリを作動する方法およびコンピュータシステム
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
EP0410740B1 (en) A virtual storage address space access control system and method
JP3456768B2 (ja) アドレス変換装置
EP0239359B1 (en) Address translation circuit
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
JPH05100956A (ja) アドレス変換装置
KR20070049677A (ko) 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
US6766435B1 (en) Processor with a general register set that includes address translation registers
US20050050296A1 (en) Method for page sharing in a processor with multiple threads and pre-validated caches
JP3517580B2 (ja) プロセッサ装置
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
US5873128A (en) Data processing system with dynamic address translation function
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JPWO1999057642A1 (ja) データ処理装置
KR0136511B1 (ko) 다중 페이지 구조를 갖는 가상주소변환장치의 적중실패 처리장치 및 그 방법