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

アドレス変換装置

Info

Publication number
JPS5858752B2
JPS5858752B2 JP52100501A JP10050177A JPS5858752B2 JP S5858752 B2 JPS5858752 B2 JP S5858752B2 JP 52100501 A JP52100501 A JP 52100501A JP 10050177 A JP10050177 A JP 10050177A JP S5858752 B2 JPS5858752 B2 JP S5858752B2
Authority
JP
Japan
Prior art keywords
address
virtual
address translation
real
main memory
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
Application number
JP52100501A
Other languages
English (en)
Other versions
JPS5434722A (en
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 JP52100501A priority Critical patent/JPS5858752B2/ja
Publication of JPS5434722A publication Critical patent/JPS5434722A/ja
Publication of JPS5858752B2 publication Critical patent/JPS5858752B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

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

【発明の詳細な説明】 本発明は、仮想記憶方式を有する計算機システムにおい
て実現される仮想計算機システムに関するものであり、
特にそのアドレス変換装置に関する。
仮想記憶方式とは、処理装置が主記憶装置内に記憶され
ているデータをアクセスするとき、そのデータの主記憶
装置上での所在地を示すアドレス(実アドレス)とは別
に定められた仮想アドレスによってアクセスする方式を
言う。
仮想記憶方式は近年多くの計算機システムにおいて採用
されており、その詳細については周知であるので、これ
以上の説明は省略する。
なお仮想アドレスと実アドレスとの対応関係は、一般に
はソフトウェアの管理するアドレス変換テーブルによっ
て規定される。
また仮想アドレスを実アドレスに変換することをアドレ
ス変換と称するものとする。
仮想計算機とは、実計算機を時分割に使用し、各タイム
スロットにおいて仮想のハードウェア情報(制御レジス
タ、演算レジスタ、PSWなど)を実ハードウェアに設
定することにより、1台の実計算機が、各タイムスロッ
トごとに、あたかも別々の計算機のごと(に動作するも
のである。
したがって1台の計算機で、複数個の異なったオペレー
ティングシステムが、見かけ上回時に走行できることに
なる。
仮想計算機方式は、最近いくつかの計算機システムにお
いて実現されているので、これについてもより詳細な説
明は不要であろう。
仮想計算機方式においては、仮想記憶は一般に多重レベ
ル構成で実現される。
このことは本発明の基本的背景をなすものであるのでこ
れについて以下に説明する。
各仮想計算機は主記憶装置上のデータをアクセスするた
めに、各々において仮想アドレスと、それに対応する実
アドレスとを有するのであるが、仮想計算機にとっての
実アドレスはそのまま主記憶装置上の実アドレスとはな
り得ない。
主記憶装置は各仮想計算機からは、あたかも専有されて
いるかのように見えなくてはならないからである。
このため各仮想計算機にとっての実アドレスは、実計算
機にとっての仮想アドレスであって、これはもう一度変
換されて主記憶装置上の実アドレスとなる。
以上に述べたように、仮想計算機方式における仮想記憶
方式では、次の3段階のアドレスが存在する。
(1) レベル1;主記憶装置上の実アドレス(実計
算機にとっての実アドレス) (2)レベル2:実計算機にとっての仮想アドレス(仮
想計算機にとっての実アドレ ス (3) レベル3:仮想計算機にとっての仮想アドレ
ス 上では最も基本的な3段階のアドレスを示したが、一般
に′はレベル1とレベル3との間に任意の数だけの中間
段階アドレスを設定し得ることは明らかである。
したがって、後述するように本発明も一般の多段階アド
レスをもつ仮想記憶方式に適用され得るものではあるが
、具体的な説明は、上に述べた3段階の場合について示
すものとする。
ところで、3段階のアドレスを有する仮想記憶方式にお
いては次の2種類のアドレス変換テーブルが必要である
(1) 第1のアドレス変換チーフル・・・・・・・
・・レベル3アドレスからレベル2アドレスへの変換 (2>第2のアドレス変換テーブル・・・・・・・・・
レベル2アドレスからレベル1アドレスへの変換 一般に(M+1)段階のアドレスを有する仮想記憶方式
においてはM種類のアドレス変換テーブルが必要である
しかし従来は実際に、仮想アドレスによって主記憶にあ
るデータをアクセスするときには、上記のアドレス変換
テーブルを処理装置のノ・−ドウエアが直接参照するこ
とはできない。
なぜならば従来の処理装置・・−ドウエアは、仮想計算
機システムを意識しないで設計されているので、1回の
アドレス変換により得られた新アドレスを実アドレスと
して使用するのである。
このため、仮想計算機システムにおいては、従来、次に
述べるシャドウテーブルをソフトウェアの前杆において
主記憶上に準備し、処理装置ノ・−ドウエアの参照に供
してきた。
即ちあらかじめ第1、第2のアドレス変換チーフルの内
容から、スべてのレベル3アドレス対スるレベル1アド
レスの対応表(シャドウテーブル)を作成して、これを
第1、第2のアドレス変換テーブルとは別に主記憶装置
上のデータとして格納しておく。
一般の主記憶装置へのアクセスにあたっては、第1、第
2のアドレス変換テーブルを参照するのでな(、シャド
ウテーブルを参照すれば、1回のアドレス変換によって
実アドレスを得ることができるのである。
第1図に各レベルのアドレスのアドレス変換テーブルの
関係を概念的に示す。
仮想記憶方式を有する計算機システムでは、般に処理装
置内部にアドレス変換バッファを有する。
これは仮想アドレスとそれに対応する実アドレスとの対
を複数個貯えた連想記憶装置であり、TLB (Tra
nslation Lookaside Buffer
)などと呼ばれている。
アドレス変換バッファは周知の技術であって説明は要し
ない。
仮想計算機システムが実現されたときには、アドレス変
換バッファはレベル3のアドレスとそれに対応するレベ
ル1アドレスを貯えることになる。
主記憶へのアクセスにあたって、もし所望のアドレス変
換対がアドレス変換バッファにないときには前記のシャ
ドウテーブルを参照して求めるレベルlアドレスを得て
、得られたレベル1アドレスと元のレベル3アドレスと
共にアドレス変換バッファに登録をする。
以上において仮想計算機システムにおいて仮想記憶方式
を実現しているところの従来技術の概略を述べた。
次に、このような従来技術における問題点について説明
する。
シャドウテーブルは、処理装置のハードウェアが仮想計
算機システムであることを意識する必要がない点で便利
な存在であるが、これは性能的にはいくつかの不利な点
を生じている。
その第1点は、シャドウテーブルを生成するのに多大の
時間を要することである。
1個の仮想空間にはアドレス変換の最少単位となるペー
ジが数千〜数百存在し得る。
その各々について第1、第2のアドレス変換テーブルを
参照し、シャドウテーブルを作成するには平均して1ペ
ージ当りフログラムの数10ステップが必要となるであ
ろう。
したがってシャドウテーブルを1紐生成するには数百〜
数10万ステップのプログラムが走行しなくてはならな
い。
その第2点は、主記憶上のページのスワツピングにより
アドレス変換テーブルの情報を更新する必要が生じたと
きは、第1または第2のアドレス変換テーブルたけでな
く、シャドウテーブルも更新されなくてはならない。
実際にはシャドウテーブルの部分的な更新が困難である
ときにはその空間に関するシャドウテーブル全体を無効
とすることも行なわれる。
この場合には後に再びその空間をアクセスすることがあ
ればシャドウテーブルは上に述べたような長時間を要し
て、再び生成されなくてはならない。
その第3点は、シャドウチーフルは、それ自体非常に大
きな記憶容量を要することである。
1個の空間に数千〜数百のページが存在するときにはシ
ャドウテーブルとして少な(とも数百)くイトの記憶領
域が必要となる。
シャドウテーブルはその性質上主記憶に常駐されねばな
らないので、シャドウテーブルが主記憶の中で少なから
ぬ部分を占めてしまうことになる。
以上に述べたように、シャドウチーフルは従来の処理装
置・・−ドウエアにより、仮想計算機システムでの仮想
記憶方式を実現するものであるが、その生成、維持に多
大のプログラム走行時間と主記憶領域を消費する欠点が
ある。
しかも1組のシャドウテーブルの中には結局−回も使用
されないままに終るデータも少なくないであろうが、プ
ログラム時間と主記憶領域とはこれらのものによっても
等分に消費され、これらのための時間、資源は浪費され
ることになる。
本発明の目的は、処理装置の・・−ドウエアに新しい機
能を付加することによって、上記のような困難を有する
シャドウテーブルの存在を不要とし、プログラム走行時
間および主記憶領域の有効性を高めるものである。
本発明の要旨は、処理装置の・・−ドウエアが第1、第
2のアドレス変換テーブルを直接参照することを可能と
するというものである。
以下では本発明の内容を図2に示す実施例によって説明
する。
第2図は、本発明を実施したところの処理装置の一部を
示すブロック図である。
第2図において信号線1には処理装置が主記憶装置14
をアクセスするための仮想アドレスが与えられる。
これはアドレス変換バッファ2に入力され実アドレスに
変換される。
詳細に言えば、アドレス変換バッファ20部分20には
仮想アドレスが、部分21にはそれに対応する実アドレ
スが複数組格納されており、信号線1の仮想アドレスの
一部により1組が選択、出力される。
アドレス変換バッファの部分20から出力された仮想ア
ドレスは比較器3において仮想アドレス1と比較され、
一致した場合には対応する実アドレスが所望の実アドレ
スとしてゲート4、セレクタ10を介して主記憶アクセ
スアドレス線11に与えられる。
比較器3において比較の結果、一致しなかったときは主
記憶上のアドレス変換テーブルを参照して所望の実アド
レスを求めるため、テーブル参照制御回路5が起動され
る。
テーブル参照制御回路5が起動されると、まず第1のア
ドレス変換テーブルを参照する。
レジスタ60には第1のアドレス変換チーフルの先頭ア
ドレスが収納されており、セレクタ7を介してレジスタ
60の内容が加算器9に入力される。
また信号線1の仮想アドレスの一部分が加算器9のもう
一方に入力され、この加算の結果が第1のアドレス変換
テーブルアドレスとして線11に与えられ、主記憶14
の読み出しが行なわれる。
主記憶14から読み出された第1のアドレス変換テーブ
ルの内容は即ちレベル2のアドレスである。
これは主記憶14かもの読み出しデータ線12を介して
読み出しデータレジスタ13にセットされる。
次に制御回路5は第2のアドレス変換テーフルの読み出
しを行なう。
レジスタ61には第2のアドレス変換テーブルの先頭ア
ドレスが収納されており、セレクタ7を介して加算器9
に入力される。
加算器9のもう一方の入力にはレジスタ13にセットさ
れたレベル2のアドレスの一部分が入力され、力目算の
結果が第2のアドレス変換テーブルアドレスとして、セ
レクタ10を介して主記憶アクセスアドレス線11に与
えられる。
主記憶14から読み出された第2のアドレス変換テーブ
ルには求める実アドレスが記されている。
これは主記憶読み出しデータ線12を介して読み出され
、データレジスタ13にセットされ、そこから信号線1
4を介してアドレス変換バッファ20部分21に書き込
まれる。
このとき同時に、信号線1に与えられている仮想アドレ
スもアドレス変換バッファ20部分20に書き込まれる
以上の動作によって、所望のアドレス変換対がアドレス
変換バッファ2に登録され、処理装置が主記憶をアクセ
スするための仮想アドレスを実アドレスに変換すること
ができた。
所望の実アドレスハ、も5一度アドレス変換バッファを
参照しなおすことによって得てもよいし、あるいはレジ
スタ13から8,9.10を経由して信号線11に出力
してもよい。
即ち、本発明によって、その生成、維持に多くの時間、
資源を消費するところのシャドウチーフルをまったく必
要とせずに、主記憶のアドレス変換テーブルを参照して
所望の実アドレスを得てそれをアドレス変換バッファに
登録することが可能になった。
上の実施例においては第1、第2のアドレス変換テーブ
ル0)先頭アドレスは共に処理装置内部のレジスタに貯
えられるものとしたが、これらは例えば主記憶上のデー
タとして貯えられているものであってもよい。
その場合にはレジスタ60゜610データを出力するか
わりに、必要な主記憶アクセスを行なうことになる。
上の実施例においては説明を簡単にするためレベル3ア
ドレスからレベル2アドレスへのアドレス変換およびレ
ベル2アドレスからレベル1アドレスへのアドレス変換
は各々1糺のアドレス変換テーブルによって行なわれる
ものとしたが、これは例えば従来技術の多くに見られる
ようにセグメントチーフルとページチーフルというよう
な2段の(一般には複数段の)チーフルによるものであ
るとしても本発明の有効性は明らかである。
さらに本発明については、容易に次のような拡張をする
ことができる。
即ち、先にも述べたように仮想アドレスの多重度は実施
例に示した3段階ばかりでなくこれより多いものも少な
いものも考えられる。
一般に仮想アドレスが(M+1 )重である場合にはア
ドレス変換チーフルはM組のものが存在する。
したがってこのときにはアドレス変換テーブルの先頭ア
ドレスを示すレジスタ(または主記憶上のデータエリア
)をM個設けて本発明を実施することができる。
更に仮想アドレスの多重度を・・−ドウエア上固定とす
るのでなく、可変とすれば処理装置の融通性を増し能力
の向上とすることができる。
このためには次のような方法が考えられる。
その−は、処理装置内部のレジスタ62または主記憶上
のデータの形で、処理装置に仮想アドレスの多重度Mを
通知する方法である。
このときには処理装置はMを読み取ってM組のアドレス
変換テーブルの参照を行ない、第0組のアドレス変換テ
ーブルを参照した結果をもって実アドレスとする。
但し、この方法においてアドレス変換テーブルの先頭ア
ドレスを処理装置内部にレジスタ群として有するのであ
れば、Mはレジスタの総数N以下でなくてはならないと
いう制限が生ずる。
その二は、アドレス変換テーブルの先頭アドレスを記し
たレジスタ、又はデータのそれぞれに対し付加情報を設
け、そこにアドレス変換の順番を指定する情報を設定す
るという方法である。
この場合順番そのものはレジスタの位置又は主記憶上で
のデータの位置により固定したものとし、最初のアドレ
ス変換に当るもの、または最後のアドレス変換に当るも
の、またはその両方だけを可変にするという方法もある
以上に述べたように本発明によって一般に仮想アドレス
が多重の構造をなす仮想記憶方式において、シャドウテ
ーブルを作成、維持する必要なしにアドレス変換を行な
うことが可能となり、シャドウテーブルの作成維持に伴
う大きな時間、資源の消費を除去することができた。
本発明については1回のアドレス変換時間(最上位の仮
想アドレスから実アドレスまでの変換に要する総時間)
がシャドウテーブルを設けた場合よりも大きくなるとい
う欠点がある。
しかしアドレス変換バッファの容量をある程度以上に大
きくすれば、アドレス変換テーブルを参照してのアドレ
ス変換を生ずる確率を十分小さくすることができるので
、プログラム処理時間全体としては、そのためのオーバ
ヘッドの方がシャドウテーブルの作成、管理に伴うオー
バヘッドよりもはるかに小さいものとなり、処理能力を
向上させることができる。
【図面の簡単な説明】
第1図は二重のアドレス変換テーブルとシャドウテーブ
ルとを有する仮想記憶方式を訪問する概念図、第2図は
本発明の一実施例を示すブロック図である。 2・・・・・・アドレス変換バッファ、3・・・・・・
比較器、4・・・・・・ゲート、5・・・・・・テーブ
ル参照制御回路、60および61・・・・・・アドレス
変換テーブルの先頭アドレスを保持するレジスタ、7,
8および10・・・・・・セレクタ、9・・・・・・加
算器、14・・・・・・主記憶装置。

Claims (1)

    【特許請求の範囲】
  1. 1 仮想記憶を有する計算機システムにおいて実現され
    る仮想計算機システムにおいて、M組のアドレス変換手
    段であって、第1のアドレス変換手段は仮想計算機の仮
    想アドレスを第2のアドレスに変換し、第にのアドレス
    変換手段は第にのアドレスを第(K+1 )のアドレス
    に変換し、第Mのアドレス変換手段は第Mのアドレスを
    主記憶装置の実アドレスに変換するM組のアドレス変換
    手段と(但しに=1.2、・・・・・・・・・M−1)
    、上記仮想計算機の仮想アドレスとそれに対応する上記
    主記憶装置の実アドレスとを示すアドレス変換対を保持
    するアドレス変換バッファとを有し、処理装置が該アド
    レス変換バッファを用いて仮想計算機の仮想アドレスを
    、それに対応する主記憶装置の実アドレスに変換しよう
    とするとき、所要のアドレス変換対が該アドレス変換バ
    ッファに存在しなかった場合には、前記M段のアドレス
    変換手段を順次使用することによって所要の実アドレス
    を得て、該実アドレスを対応する仮想アドレスと共に該
    アドレス変換バッファに登録することを特徴とするアド
    レス変換装置。
JP52100501A 1977-08-24 1977-08-24 アドレス変換装置 Expired JPS5858752B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52100501A JPS5858752B2 (ja) 1977-08-24 1977-08-24 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52100501A JPS5858752B2 (ja) 1977-08-24 1977-08-24 アドレス変換装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP58146317A Division JPS59132483A (ja) 1983-08-12 1983-08-12 アドレス変換装置

Publications (2)

Publication Number Publication Date
JPS5434722A JPS5434722A (en) 1979-03-14
JPS5858752B2 true JPS5858752B2 (ja) 1983-12-27

Family

ID=14275674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52100501A Expired JPS5858752B2 (ja) 1977-08-24 1977-08-24 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPS5858752B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5690355A (en) * 1979-12-24 1981-07-22 Nec Corp Data processing unit
JPS58194189A (ja) * 1982-05-10 1983-11-12 Nec Corp 仮想計算機システムにおけるアドレス変換方式
JPH04128021U (ja) * 1991-05-17 1992-11-20 河村電器産業株式会社 電線外被剥離装置
JP5246014B2 (ja) * 2009-04-22 2013-07-24 富士通株式会社 仮想化プログラム、仮想化処理方法及び装置

Also Published As

Publication number Publication date
JPS5434722A (en) 1979-03-14

Similar Documents

Publication Publication Date Title
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JP3666689B2 (ja) 仮想アドレス変換方法
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5182805A (en) Method and system for determining copy-on-write condition
JPH04319747A (ja) アドレス変換機構
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JPH0749812A (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
JPH04320553A (ja) アドレス変換機構
JPH0654478B2 (ja) 計算機システム
JPH0512126A (ja) 仮想計算機のアドレス変換装置及びアドレス変換方法
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JPH0550776B2 (ja)
JPS5858752B2 (ja) アドレス変換装置
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JPS6143744B2 (ja)
EP0502211A1 (en) System equipped with processor and method of converting addresses in said system
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
JPH0336648A (ja) 電子計算機及びtlb装置とマイクロプロセッサチップ
JPS63240651A (ja) キヤツシユメモリ
JPH01226056A (ja) アドレス変換回路
JP2684752B2 (ja) 拡張記憶制御方式
JPS6349807B2 (ja)