JPS6143744B2 - - Google Patents

Info

Publication number
JPS6143744B2
JPS6143744B2 JP58146317A JP14631783A JPS6143744B2 JP S6143744 B2 JPS6143744 B2 JP S6143744B2 JP 58146317 A JP58146317 A JP 58146317A JP 14631783 A JP14631783 A JP 14631783A JP S6143744 B2 JPS6143744 B2 JP S6143744B2
Authority
JP
Japan
Prior art keywords
address
virtual
address translation
real
translation
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
JP58146317A
Other languages
English (en)
Other versions
JPS59132483A (ja
Inventor
Masao Kato
Koichi Ikeda
Kenichiro Noguchi
Kazuhiko Oomachi
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 JP58146317A priority Critical patent/JPS59132483A/ja
Publication of JPS59132483A publication Critical patent/JPS59132483A/ja
Publication of JPS6143744B2 publication Critical patent/JPS6143744B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

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

Claims (1)

  1. 【特許請求の範囲】 1 仮想記憶を有する計算機システムにおいて実
    現される仮想計算機システムにおいて、M組のア
    ドレス変換手段であつて、第1のアドレス変換手
    段は仮想計算機の仮想アドレスを第2のアドレス
    に変換し、第Kのアドレス変換手段は第Kのアド
    レスを第(K+1)のアドレスに変換し、第Mの
    アドレス変換手段は第Mのアドレスを主記憶装置
    の実アドレスに変換するM組のアドレス変換手段
    と(但しK=1、2、………M−1)、 上記仮想計算機の仮想アドレスとそれに対応す
    る上記主記憶装置の実アドレスとを示すアドレス
    変換対を保持するアドレス変換バツフアと、 処理装置の現在のアドレス変換多重数Mを示す
    表示子とを有し、 処理装置が該アドレス変換バツフアを用いて仮
    想計算機の仮想アドレスを、それに対応する主記
    憶装置の実アドレスに変換しようとするとき、所
    要のアドレス変換対が該アドレス変換バツフアに
    存在しなかつた場合には、前記M段のアドレス変
    換手段のうち前記表示子で示された段数のアドレ
    ス変換手段によつて所要の実アドレスを得て、該
    実アドレスを対応する仮想アドレスと共に該アド
    レス変換バツフアに登録することを特徴とするア
    ドレス変換装置。
JP58146317A 1983-08-12 1983-08-12 アドレス変換装置 Granted JPS59132483A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JPS59132483A JPS59132483A (ja) 1984-07-30
JPS6143744B2 true JPS6143744B2 (ja) 1986-09-29

Family

ID=15404933

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS59132483A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159142U (ja) * 1986-03-25 1987-10-09

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159142U (ja) * 1986-03-25 1987-10-09

Also Published As

Publication number Publication date
JPS59132483A (ja) 1984-07-30

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
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP3666689B2 (ja) 仮想アドレス変換方法
US4769770A (en) Address conversion for a multiprocessor system having scalar and vector processors
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4792897A (en) Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure
JPH04319747A (ja) アドレス変換機構
JPH04320553A (ja) アドレス変換機構
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US4984150A (en) Virtual memory control management system
EP0442474B1 (en) Apparatus and method for controlling cache memory
JPS5858752B2 (ja) アドレス変換装置
JPS6143744B2 (ja)
JPH11345168A (ja) デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JPH06100987B2 (ja) アドレス変換制御方法
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
JPS61160160A (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装置とマイクロプロセッサチップ
JPH01226056A (ja) アドレス変換回路
JPH0325644A (ja) 多重仮想アドレス空間制御装置
JPH05225064A (ja) アドレス変換装置及びバッファ記憶制御装置
JPH0816477A (ja) マルチプロセッサシステム
JPS6126100B2 (ja)
JPS608971A (ja) 中央処理装置