JPH04322342A - アドレス変換方法 - Google Patents

アドレス変換方法

Info

Publication number
JPH04322342A
JPH04322342A JP3119220A JP11922091A JPH04322342A JP H04322342 A JPH04322342 A JP H04322342A JP 3119220 A JP3119220 A JP 3119220A JP 11922091 A JP11922091 A JP 11922091A JP H04322342 A JPH04322342 A JP H04322342A
Authority
JP
Japan
Prior art keywords
address
page number
virtual
address translation
translation buffer
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
JP3119220A
Other languages
English (en)
Inventor
Noboru Wada
登 和田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP3119220A priority Critical patent/JPH04322342A/ja
Publication of JPH04322342A publication Critical patent/JPH04322342A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置における
仮想記憶をサポートする際のアドレス変換方式に関する
ものである。
【0002】
【従来の技術】仮想記憶とは、情報処理装置において、
命令が生成するアドレスと実際に情報が存在する物理的
位置アドレスを分離独立させる記憶方式をいう。命令側
のアドレスを仮想アドレス又は論理アドレスといい、装
置側のアドレスを実アドレス又は物理アドレスという。 仮想記憶においては、命令の実行時に当該命令に指定さ
れた仮想アドレスを実アドレスに変換しなければならな
い。これを、アドレス変換という。
【0003】ところで、仮想記憶の管理方式の1つとし
て、ページングがある。ページングとは、仮想記憶にお
いて、主記憶装置と2次記憶装置の間の情報の転送を一
定の大きさのブロック単位で行なうことをいう。ページ
ングでは、仮想アドレスと主記憶アドレスの対応付けも
、そのブロックと同じ大きさの単位でなされる。仮想ア
ドレス空間上でのこの大きさの単位のことを、ページと
いう。ページング方式の仮想記憶では、仮想アドレスを
実アドレスに変換する際、仮想アドレスから仮想ページ
番号を求め、仮想ページ番号に対応した実ページ番号を
計算し、この実ページ番号から実アドレスを求める。
【0004】従来、アドレス変換を高速に行なうため、
アドレス変換バッファ(TLB:Translatio
n Look−aside Buffer )が装備さ
れている。アドレス変換バッファとは、以前のアドレス
変換により求められた仮想ページ番号に対応して実ペー
ジ番号を記憶したバッファである。以後、同一の仮想記
憶ページの仮想アドレスを参照する時は、このアドレス
変換バッファから直接実ページ番号を求め、実アドレス
を求める。これにより、アドレス変換時間の短縮を行な
う。アドレス変換バッファに、該当する仮想ページ番号
がない場合には、実ページ番号の計算を行なわなければ
ならない。このような計算を減らすため、アドレス変換
バッファの容量を大きくするようにする。このため、ア
ドレス変換バッファも仮想記憶としている。
【0005】従って、アドレス変換をするため、アドレ
ス変換バッファを参照すると、まず、仮想ページ番号か
ら別の仮想ページ番号が求められる。次に、求められた
別の仮想ページ番号から実ページ番号を計算する。そし
て、この実ページ番号から実アドレスを求める。このと
き、この別の仮想ページ番号に対応した実ページ番号も
アドレス変換バッファに格納しておくことにより、次回
にその別の仮想ページ番号と同じページを参照するとき
はアドレス変換バッファから直接取り出すことができる
。この結果、アドレス変換バッファにより、仮想アドレ
スから実アドレスを計算なしに求めることができる。
【0006】図2は、従来のアドレス変換バッファの構
成を示す図である。図示のように、従来のアドレス変換
バッファは、仮想ページ番号11に対応して仮想又は実
ページ番号12を格納している。これにより、仮想アド
レス9から実アドレス10を直接求める。次に、上述し
たアドレス変換バッファの動作を説明する。
【0007】図3は、従来のアドレス変換バッファの動
作例の説明図である。動作の説明を簡単にするため、ア
ドレス変換バッファは、2つのエントリ21、22を持
つものとし、初期状態で2つのエントリは未登録である
と仮定する。まず、タスク空間の仮想アドレスAL1を
実アドレスAR1にアドレス変換する過程を説明する。
【0008】仮想アドレスAL1から仮想ページ番号P
L1を取り出し、アドレス変換バッファを参照する(時
点T1)。すると、初期状態なので、アドレス変換バッ
ファの各エントリ21、22は未登録であり、ミスする
(時点T2)。従って、仮想ページ番号PL1に対応し
た別の仮想ページ番号PL1′をアドレス計算により求
める。そして、この別の仮想ページ番号PL1′でアド
レス変換バッファの各エントリ21、22を再び参照す
る(時点T3)。すると、初期状態なので、アドレス変
換バッファはミスする(時点T3)。従って、別の仮想
ページ番号PL1′に対応した実ページ番号PR1をア
ドレス計算により求める。そして、この実ページ番号P
R1をアドレス変換バッファの一方のエントリ22に格
納する(時点T4)。また、別の仮想ページ番号PL1
′をアドレス変換バッファの他方のエントリ21に格納
する(時点T5)。
【0009】その後、タスク空間の図示しない仮想アド
レスAL2を図示しない実アドレスAR2にアドレス変
換する過程を説明する。仮想アドレスAL2から仮想ペ
ージ番号PL2を取り出し、アドレス変換バッファを参
照する(時点T6)。このとき、エントリ21に仮想ペ
ージ番号PL1に対応した別の仮想ページ番号PL1′
が格納されるとともに、エントリ22に別の仮想ページ
番号PL1′に対応した実ページ番号PR1が格納され
ているが、仮想ページ番号PL2に対応した仮想ページ
番号は格納されていない。従って、アドレス変換バッフ
ァの各エントリ21、22はミスする(時点T6)。従
って、別の仮想ページ番号PL2′をアドレス計算によ
り求める。このアドレス計算の結果、仮想ページ番号P
L2′は、PL1′に等しかったとする。そこで、仮想
ページ番号PL1′でアドレス変換バッファの各エント
リ21、22を再び参照する(時点T6)。
【0010】ところが、図示のように、仮想ページ番号
PL1′のエントリは、仮想ページ番号PL2のエント
リの登録により掃き出されてしまっている(時点T6)
。この結果、アドレス変換バッファの各エントリ21、
22はミスする(時点T7)。従って、別の仮想ページ
番号PL1′に対応した実ページ番号PR1を再びアド
レス計算により求める。そして、この実ページ番号PR
1をアドレス変換バッファの一方のエントリ21に格納
する(時点T8)。また、仮想ページ番号PL2に対応
した仮想ページ番号PL1′をアドレス変換バッファの
他方のエントリ22に格納する(時点T9)。
【0011】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、タ
スクの走行が増えるに従い、アドレス変換バッファに仮
想ページ番号と別の仮想ページ番号を対応させるエント
リ数が増え、実ページ番号を格納したエントリ数が減っ
てしまう。この結果、結局は実ページ番号の計算を行な
わなければならず、アドレス変換の高速化が阻害される
という問題があった。
【0012】また、制御プログラム(OS)の走行時は
、前述したような仮想ページ番号から別の仮想ページ番
号を介して実アドレスを求めるような方法は、プログラ
ムの特性上から採られない。従って、制御プログラムの
走行により、アドレス変換バッファ内に実ページ番号を
格納したエントリが増え、以前に登録されたエントリが
掃き出されていく。この結果、処理プログラムの走行時
のアドレス変換の高速化が阻害されるという問題があっ
た。
【0013】逆に、処理プログラムの走行時には、制御
プログラムの走行時に登録されたエントリが掃き出され
てしまう。この結果、制御プログラムの走行時のアドレ
ス変換の高速化が阻害されるという問題があった。本発
明は、以上の点に着目してなされたもので、アドレス変
換時のアドレス変換バッファ上のヒット率の向上を図っ
たアドレス変換方式を提供することを目的とするもので
ある。
【0014】
【課題を解決するための手段】本発明のアドレス変換方
式は、命令に指定された仮想アドレスから取り出した仮
想ページ番号に対応して別の仮想ページ番号を格納する
命令データ用アドレス変換バッファと、当該命令データ
用アドレス変換バッファにより求められる仮想ページ番
号及び他の仮想ページ番号に対応して実ページ番号を格
納するページテーブルエントリアクセス用アドレス変換
バッファとを設けたことを特徴とするものである。
【0015】
【作用】本発明のアドレス変換方式においては、次のよ
うにして仮想アドレスから実アドレスを求める。まず、
仮想アドレスから仮想ページ番号を取り出して命令デー
タ用アドレス変換バッファを検索する。ここで、命令デ
ータ用アドレス変換バッファがミスすると、アドレス計
算により、別の仮想ページ番号を求め、命令データ用ア
ドレス変換バッファに格納する。次に、この別の仮想ペ
ージ番号によりページテーブルエントリアクセス用アド
レス変換バッファを検索する。ここで、ページテーブル
エントリアクセス用アドレス変換バッファがミスすると
、アドレス計算により、実ページ番号を求め、ページテ
ーブルエントリアクセス用アドレス変換バッファに格納
する。最後に、実ページ番号から実アドレスを求める。 このように、命令データ用アドレス変換バッファとペー
ジテーブルエントリアクセス用アドレス変換バッファが
独立しており、相互に破壊されることがない。
【0016】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明の方式を適用したアドレス
変換バッファの実施例を示す図である。図示のアドレス
変換バッファは、命令データ用アドレス変換バッファ3
1と、ページテーブルエントリアクセス用アドレス変換
バッファ32とから成る。命令データ用アドレス変換バ
ッファ31は、命令に指定された仮想アドレス1から取
り出した仮想ページ番号3に対応して別の仮想ページ番
号4を格納する。ここに、仮想アドレス1は、処理プロ
グラムの命令で指定されるアドレスである。
【0017】ページテーブルエントリアクセス用アドレ
ス変換バッファ32は、仮想ページ番号7に対応して実
ページ番号8を格納する。仮想ページ番号7は、命令デ
ータ用アドレス変換バッファ31により求められる仮想
ページ番号4及び仮想アドレス5から取り出した他の仮
想ページ番号のいずれかである。ここに、仮想アドレス
5は、制御プログラムの命令で指定されるアドレスであ
る。
【0018】次に、上述した本発明に係るアドレス変換
バッファの動作を説明する。図4は、本発明に係るアド
レス変換バッファの動作例の説明図である。説明の簡単
化のために、命令データ用アドレス変換バッファ31と
、ページテーブルエントリアクセス用アドレス変換バッ
ファ32とは、それぞれ1エントリずつしかないものと
する。また、これらの各エントリは初期状態で未登録と
する。ここで、タスク空間の仮想アドレスAL1を実ア
ドレスAR1にアドレス変換する過程を説明する。
【0019】まず、仮想アドレスAL1から仮想ページ
番号PL1を取り出して命令データ用アドレス変換バッ
ファ31を参照する(時点T11)。すると、初期状態
なので、当該命令データ用アドレス変換バッファ31は
ミスする(時点T12)。このため、ページテーブルエ
ントリアクセス用アドレス変換バッファ32を参照する
ための仮想ページ番号PL1′を実際のアドレス計算に
より求める。次に、ページテーブルエントリアクセス用
アドレス変換バッファ32を仮想ページ番号PL1′で
参照すると(時点T13)、初期状態で未登録なのでミ
スする(時点T13)。このため、実アドレスPR1を
実際のアドレス計算により求める。そして、この実アド
レスPR1及び仮想ページ番号PL1′をページテーブ
ルエントリアクセス用アドレス変換バッファ32に格納
する(時点T14)。これとともに、仮想ページ番号P
L1′及び仮想ページ番号PL1を命令データ用アドレ
ス変換バッファ31に格納する(時点T15)。
【0020】その後、タスク空間の図示しない仮想アド
レスAL2を図示しない実アドレスAR2にアドレス変
換する過程を説明する。まず、仮想アドレスAL2から
仮想ページ番号PL2を取り出し、命令データ用アドレ
ス変換バッファ31を参照すると、すでに仮想ページ番
号PL1が登録されているので、命令データ用アドレス
変換バッファ31はミスする。従って、仮想ページ番号
PL2′を実際のアドレス計算により求める。ここで、
仮想ページ番号PL2′とPL1′とが等しくなったと
する。そこで、ページテーブルエントリアクセス用アド
レス変換バッファ32を仮想ページ番号PL1′で参照
すると、ヒットし、実ページ番号PR1が求められる。 最後に、この実ページ番号PR1から実アドレスを求め
る。
【0021】前述した図3とこの図4とを比較すると、
図3では、仮想ページ番号PL1′と実アドレスPR1
とが1度格納された後、掃き出され、再度格納されてい
るが、図4では、これらが掃き出されずに残されており
、次の仮想アドレスAL2のアドレス計算に使用されて
いる。従って、図4の方式は、図3の方式に比較してア
ドレス変換の効率が向上しているのが明かである。また
、アドレス変換バッファのエントリの数がいくつであっ
ても、使用の結果、空き領域として残されるのは、1つ
か2つのエントリである。従って、本発明の方式により
任意のエントリ数のアドレス変換バッファにおいてヒッ
ト率を向上できることが分かる。
【0022】
【発明の効果】以上説明したように、本発明のアドレス
変換方式によれば、命令データ用アドレス変換バッファ
とページテーブルエントリアクセス用アドレス変換バッ
ファとを別々に設けるようにしたので、アドレス変換バ
ッファのミス回数を少なくし、ヒット率を向上させるこ
とができる。
【図面の簡単な説明】
【図1】本発明の方式を適用したアドレス変換バッファ
の実施例を示す図である。
【図2】従来のアドレス変換バッファの構成を示す図で
ある。
【図3】従来のアドレス変換バッファの動作例を示す図
である。
【図4】本発明に係るアドレス変換バッファの動作例を
示す図である。
【符号の説明】
1、5  仮想アドレス 3、4、7  仮想ページ番号 6  実アドレス 8  実ページ番号 31  命令データ用アドレス変換バッファ32  ペ
ージテーブルエントリアクセス用アドレス変換バッファ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  命令に指定された仮想アドレスから取
    り出した仮想ページ番号に対応して別の仮想ページ番号
    を格納する命令データ用アドレス変換バッファと、当該
    命令データ用アドレス変換バッファにより求められる仮
    想ページ番号及び他の仮想ページ番号に対応して実ペー
    ジ番号を格納するページテーブルエントリアクセス用ア
    ドレス変換バッファとを設けたことを特徴とするアドレ
    ス変換方式。
JP3119220A 1991-04-23 1991-04-23 アドレス変換方法 Pending JPH04322342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3119220A JPH04322342A (ja) 1991-04-23 1991-04-23 アドレス変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3119220A JPH04322342A (ja) 1991-04-23 1991-04-23 アドレス変換方法

Publications (1)

Publication Number Publication Date
JPH04322342A true JPH04322342A (ja) 1992-11-12

Family

ID=14755934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3119220A Pending JPH04322342A (ja) 1991-04-23 1991-04-23 アドレス変換方法

Country Status (1)

Country Link
JP (1) JPH04322342A (ja)

Similar Documents

Publication Publication Date Title
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
EP0851357B1 (en) Method and apparatus for preloading different default address translation attributes
US6145064A (en) Method of efficiently updating hashed page tables
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US6286092B1 (en) Paged based memory address translation table update method and apparatus
US4774653A (en) Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers
JPH0749812A (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
EP0019358B1 (en) Hierarchical data storage system
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH08272692A (ja) 仮想アドレス変換方法
JPH0652511B2 (ja) 情報処理装置のアドレス変換方式
JPH05100956A (ja) アドレス変換装置
KR101102260B1 (ko) 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
JPH04322342A (ja) アドレス変換方法
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JPH05342101A (ja) 階層キャッシュ・メモリ
JPH04205636A (ja) 高速アドレス変換装置
JPH05314009A (ja) マルチプロセッサシステム
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH02178750A (ja) アドレス変換処理方式
JPH0485641A (ja) 仮想記憶管理方式
JP2502811B2 (ja) 物理キャッシュ装置
JPH03164845A (ja) アドレス変換バッファ方式
JPH04338848A (ja) Tlb置換方式
JPH0235336B2 (ja)