JPS6184754A - 拡張アドレス変換装置 - Google Patents

拡張アドレス変換装置

Info

Publication number
JPS6184754A
JPS6184754A JP59206219A JP20621984A JPS6184754A JP S6184754 A JPS6184754 A JP S6184754A JP 59206219 A JP59206219 A JP 59206219A JP 20621984 A JP20621984 A JP 20621984A JP S6184754 A JPS6184754 A JP S6184754A
Authority
JP
Japan
Prior art keywords
address
conversion
entry
virtual
addresses
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
JP59206219A
Other languages
English (en)
Inventor
Shizuo Goto
志津雄 後藤
Toyohiko Kagimasa
豊彦 鍵政
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 JP59206219A priority Critical patent/JPS6184754A/ja
Priority to US06/783,084 priority patent/US4792897A/en
Publication of JPS6184754A publication Critical patent/JPS6184754A/ja
Pending 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]
    • 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/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables

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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は仮想アドレスの実アドレスへのアドレス変換を
高速に行うための変換バッファ装置に係り、特に仮想ア
ドレスが拡張され多段階のアドレス変換テーブルを用い
る場合に変換処理を高速化するのに好適なアドレス変換
装置に関する。
〔発明の背景〕
従来、仮想アドレスから実アドレスに変換するために階
層構造のアドレス変換テーブルについては、IBMマニ
ュアル; System 370Principles
 of 0peration (G A 22−700
0−8 )のDinamic Address Tra
nslationの章で示すように、2段階のものが用
いられてきた。
しかし、仮想アドレスを31ビツトから大巾に(例えば
64ビツトに)拡張した場合には、階層構造は2段階で
は不十分であり、5段階程度の多段階階層構造とするの
が自然である。その理由はアドレス拡張を2段階のまま
で実現すると、変換テーブルの必要エントリ数がぼう大
となり、変換テーブルのために連続したぼう大なメモリ
領域の確保が必要となるためであり、多段階にすること
によって、連続して確保すべきメモリ領域を少なくする
ことができる。
しかし、多段階にすることによる欠点として、変換の高
速化のために設けられる変換用バッファに該当エントリ
が存在しない場合の処理性能が悪化する問題がある。2
段階の場合、2度のメモリ要求が出るのに対し、5段階
の場合、5回のメモリ要求が必要となる。
〔発明の目的〕
本発明の目的は、アドレス変換の高速化のために設ける
変換用バッファ装置に変換すべき仮想アドレスと一致す
るエントリがない場合に行われる多段階のアドレス変換
テーブル群の参照回数を減少し、アドレス変換に要する
時間を短縮するアドレス変換装置を提供することにある
〔発明の概要〕
従来の変換用バッファ装置には、仮想アドレスと実アド
レスの対のみが登録されていたので、変換が失敗した場
合には、アドレス変換を最上位の変換テーブルから開始
せざるを得なかった。もし各段階の変換テーブルのアド
レスも記録しておけば、仮想アドレスが一致する部分ま
での変換テーブルはアクセスする必要がなくなり、変換
速度が向上できる。しかも各段階の変換テーブルのアド
レスは変換を行う過程で読込んだものであり負荷になら
ない。
〔発明の実施例〕
以下、本発明の一実施例を第1図〜第4図を用いて説明
する。
第1図は、仮想アドレスを対応する実アドレスに変換す
るアドレス変換テーブルの構成を示す6本実施例では仮
想アドレスは64ビツトであり、仮想アドレスは次の6
組に分解される。
(1)Blパート (2)B2パート (3)B3パート (4)Sパート (5)Pパート (6)Dパート 制御レジスタ1は、階層構造をなす変換テーブル群の先
頭アドレスを指すために用いられる。制御レジスタ1の
内容に、仮想アドレスのBlパート部の内容の8倍の値
を加えた値が、B1パートに対応するエントリのアドレ
スであり、そのエントリには、B2パート用変換テーブ
ルの先頭アドレスが含まれている。B2パート用変換テ
ーブルの先頭アドレスに、仮想アドレス内のB2パート
の内容の8倍の値を加えた値が、B2パートに対応する
エントリのアドレスであり、そのエントリには、B3パ
ート用変換テーブルの先頭アドレスが含れている。以下
、同様にして、Sパート用変換テーブルの先頭アドレス
、Pパート用変換テーブルの先頭アドレスを得る。Pパ
ート用変換テーブル内のPバートの内容に対応するエン
トリには。
実ページ番号(RPN)が含まれている。RPNと、仮
想アドレス内のDパートを連結した値が、当該仮想アド
レスに対応する実アドレスとなる。
なお、上記の過程において、各変換テーブルのエントリ
の下位部分にはインバリッド(Irrvalid)ビッ
トがあり、それが1の時には、仮想アドレスが実メモリ
に割当てられていないと見なされ、アドレス変換例外の
プログラム割込みが発生する。
第2図は、変換用バッファによるアドレス変換の回路を
示す。変換用バッファの1エントリの中には、次の10
種の情報が含まれている。
(1)仮想アドレスの81パート (2)仮想アドレスの82パート (3)仮想アドレスの83パート (4)仮想アドレスのSパート (5)仮想アドレスのPパート (6)B2Tテーブルの先頭アドレス (7)B3Tテーブルの先頭アドレス (8)ST子テーブル先頭アドレス (9)PT子テーブル先頭アドレス (10)仮想アドレスに対する実ページ番号RPN変換
すべき仮想アドレスと変換用バッファ・エントリとの比
較は次のように実施されるっ即ち、仮想アドレスと変換
用バッファ・エントリ内の対応する5つのバードがそれ
ぞれ比較器C工、C2゜c、、C,、Cs によって比
較され、一致すればオン、不一致ならばオフが出力され
る。5本の出力信号線はデコーダDECに入力される。
デコーダDECの出力の1つは、選択器SELのための
選択情報として使われる。デコーダDECの他の1つの
出力は、出力レベルのコード情報として使われる。デコ
ーダDECの5つの入力線の値°と出力情報との関係は
、回内の表に示すとおりである。
次に、第3図を用いて、アドレス変換処理の流れを説明
する。
(1)変換用バッファから、仮想アドレスと一致する部
分が上位から数えて最も長いものを見つける。そのため
の回路を第4図に示す1図において、変換用バッファは
多面で構成される。各面には複数のエントリが格納され
ている。仮想アドレスの中の一部分のビットが圧縮器に
より選択され、変換用バッファの各面に入力され、圧縮
されたビットで指定された位置の内容がそれぞれの面で
出力される。それらは選択回路への入力となる。選択回
路では、仮想アドレスの上位から最も長く一致するもの
が選択される。選択回路は第2図のように比較器、デコ
ーダ、セレクタによって構成される。
(2)選択されたエントリの出力レベルが0か調べる。
0であれば、該当エントリが見つかったことを意味し、
アドレス変換成功として終了する。
(3)出力レベルがOでなければ、出力レベルと出力ア
ドレスを、ワーク・レジスタlyJにそれぞれセットし
、以下の処理(4)〜(8)を繰り返す。
(4)レジスタiの値に従って、仮想アドレスの中の対
応するパートの情報を得、ワーク・レジスタkにセット
する。例えば出力レベルが2であれば、第2図における
Sパートの内容をレジスタkにセットする。
(5)レジスタにの内容の8倍とレジスタjの内容の和
をアドレスとして、メモリ′1J168Bのデータを読
み出す。
(6)読み出したデータの中のInvalid bit
が1かどうか調べる。1であれば、プログラム割込み処
理に制御を渡し、処理を終了する。
(7)1でなければ、レジスタで(出力レベル)から1
を減じる。
(8)レジスタ1が0でなければ、処理(4)に行く。
(9)レジスタiがOになれば、アドレス変換が成功し
たことになる。その場合には変換用バッファに登録する
処理を行う。すなわち、従来より知られたリプレースメ
ント・アルゴリズムを使って、登録すべきエントリ位置
を決定する。
(10)そして、決定されたエントリ位置に次の情報を
登録し、アドレス変換処理を終了する。
(a)仮想アドレスのB1.B2.B”3.’S、P。
の各パート。
(b)B2Tテーブル、B3Tテーブル、ST子テーブ
ルPT子テーブル各先頭アドレス、これらの情報は、(
1)で選択されたエントリに含まれていた情報のうち有
効なレベルまでの情報、および(5)で順次読み出され
た情報である。
以上1本発明の一実施例を説明した。本実施例は、64
ビツトの仮想アドレスが6個のパートに分割される例を
述べたが、他の長さの仮想アドレスや分割のしかたを変
えた場合に適用することは容易であることを言及してお
く。
本実施例によれば、変換すべき仮想アドレスが変換用バ
ッファ装置内に見つからない場合のアドレス変換を高速
に処理できる。本例では5回のメモリ参照を1〜5回に
することができる。
〔発明の効果〕
本発明によれば、変換用バッファ装置の各エントリに1
階層構造の変換テーブルの各段階の先頭アドレスが含ま
れており、変換用バッファから変換すべき仮想アドレス
に最も近いエントリを得ることができるので、変換用バ
ッファ内に位置アドレスが完全に一致するエントリが見
つからなかった場合にはそれに最も近いエントリ内に記
録された各段階の変換テーブルの先頭アドレスを利用す
ることができる。その結果、変換用バッファに該当する
エントリがない場合のアドレス変換処理の速度を向上す
ることができるという効果がある。
【図面の簡単な説明】
第1図は本発明が有効に適用される拡張された仮想アド
レスと、その実アドレスへの変換テーブルの階層構造を
示す図、第2図は変換用バッファのエントリの構成図、
第3図はアドレス変換の処理の流れを示す図、第4図は
変換用バッファの全体の構成8図である。 1・・・アドレス変換のための制御レジスタ、2・・・
仮想アドレス、3〜7・・・変換テーブル、8・・・変
換された実アドレス、10・・・変換用バッファ・エン
トリ、11〜15・・・−数比較器、16・・・デコー
ダ、17・・・セレクタ、18・・・変換用バッファ出
力、20・・・変換用バッファ、30・・・選択回路、
40・・・第 1 区 42 区 遁 3 図

Claims (1)

    【特許請求の範囲】
  1. 仮想アドレスから実アドレスへの変換を、階層構造のア
    ドレス変換テーブル群を用いて行い、かつ当該アドレス
    変換の高速化のために仮想アドレスおよび該仮想アドレ
    スに対応する実アドレスの対を複数個記憶する変換用バ
    ツフア装置を有する情報処理装置において、(1)上記
    階層構造の変換テーブル群の各階層の変換テーブルの先
    頭アドレス群を上記仮想アドレスと実アドレスの対とと
    もに記録する変換用バツフア装置を設け、(2)該変換
    用バツフア装置に登録されたエントリ群の中で仮想アド
    レスの最も長い部分が一致するエントリを選択し、一致
    する長さに応じて該エントリに記録されている先頭変換
    テーブル群の1つまたは実アドレスのどちらかを出力す
    る装置を設けたことを特徴とする拡張アドレス変換装置
JP59206219A 1984-10-03 1984-10-03 拡張アドレス変換装置 Pending JPS6184754A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59206219A JPS6184754A (ja) 1984-10-03 1984-10-03 拡張アドレス変換装置
US06/783,084 US4792897A (en) 1984-10-03 1985-10-02 Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59206219A JPS6184754A (ja) 1984-10-03 1984-10-03 拡張アドレス変換装置

Publications (1)

Publication Number Publication Date
JPS6184754A true JPS6184754A (ja) 1986-04-30

Family

ID=16519736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59206219A Pending JPS6184754A (ja) 1984-10-03 1984-10-03 拡張アドレス変換装置

Country Status (2)

Country Link
US (1) US4792897A (ja)
JP (1) JPS6184754A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213619A (ja) * 2003-04-22 2007-08-23 Internatl Business Mach Corp <Ibm> 共用仮想記憶を管理する方法および装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8405491D0 (en) * 1984-03-02 1984-04-04 Hemdal G Computers
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
JP2615103B2 (ja) * 1987-12-11 1997-05-28 株式会社日立製作所 仮想計算機システム
JPH02205953A (ja) * 1989-02-03 1990-08-15 Nec Corp アドレス変換装置
US5375213A (en) * 1989-08-29 1994-12-20 Hitachi, Ltd. Address translation device and method for managing address information using the device
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
US5617554A (en) * 1992-02-10 1997-04-01 Intel Corporation Physical address size selection and page size selection in an address translator
US5574923A (en) * 1993-05-10 1996-11-12 Intel Corporation Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor
US5446854A (en) * 1993-10-20 1995-08-29 Sun Microsystems, Inc. Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes
WO1996027832A1 (en) * 1995-03-03 1996-09-12 Hal Computer Systems, Inc. Parallel access micro-tlb to speed up address translation
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US5752275A (en) * 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
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
US7555628B2 (en) * 2006-08-15 2009-06-30 Intel Corporation Synchronizing a translation lookaside buffer to an extended paging table
TW200832440A (en) * 2007-01-25 2008-08-01 Genesys Logic Inc Flash memory translation layer system
US8078827B2 (en) * 2007-07-05 2011-12-13 International Business Machines Corporation Method and apparatus for caching of page translations for virtual machines
US10467159B2 (en) * 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10592424B2 (en) 2017-07-14 2020-03-17 Arm Limited Range-based memory system
US10489304B2 (en) 2017-07-14 2019-11-26 Arm Limited Memory address translation
US10353826B2 (en) 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US10613989B2 (en) 2017-07-14 2020-04-07 Arm Limited Fast address translation for virtual machines
US10534719B2 (en) * 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
US10565126B2 (en) 2017-07-14 2020-02-18 Arm Limited Method and apparatus for two-layer copy-on-write
US10884850B2 (en) 2018-07-24 2021-01-05 Arm Limited Fault tolerant memory system
US11461237B2 (en) 2019-12-03 2022-10-04 International Business Machines Corporation Methods and systems for translating virtual addresses in a virtual memory based system
US11163695B2 (en) * 2019-12-03 2021-11-02 International Business Machines Corporation Methods and systems for translating virtual addresses in a virtual memory based system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4376297A (en) * 1978-04-10 1983-03-08 Signetics Corporation Virtual memory addressing device
US4215402A (en) * 1978-10-23 1980-07-29 International Business Machines Corporation Hash index table hash generator apparatus
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213619A (ja) * 2003-04-22 2007-08-23 Internatl Business Mach Corp <Ibm> 共用仮想記憶を管理する方法および装置

Also Published As

Publication number Publication date
US4792897A (en) 1988-12-20

Similar Documents

Publication Publication Date Title
JPS6184754A (ja) 拡張アドレス変換装置
US7653619B1 (en) Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
JPH0666050B2 (ja) ソート処理方法
JPS583033A (ja) 木構造検索処理装置
JPH07248974A (ja) 情報処理装置
JPS62208147A (ja) 拡張アドレス変換装置
JP2503702B2 (ja) アドレス変換装置
EP0381245A2 (en) Address translation system
JPS6046456B2 (ja) デ−タアクセス装置
JP2507399B2 (ja) デ―タベ―ス装置
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
CN118193520A (zh) 一种持久性内存和内存混合的哈希连接方法
JPH0547856B2 (ja)
JPS60122443A (ja) 情報処理装置
JPS6019811B2 (ja) アドレス変換装置
JPH0137774B2 (ja)
JPS63118958A (ja) 索引フアイル記憶装置
JPS603767A (ja) 情報処理装置
JPS60211541A (ja) デ−タ検索回路
JPH0648470B2 (ja) 多重仮想アドレス空間制御装置
JPH0797311B2 (ja) データソート装置
JPS63141127A (ja) 記号デ−タ処理装置
JPS6346537A (ja) 検索処理装置における検索条件判定方法
JPS615628A (ja) デ−タ変換処理回路
JPS59132483A (ja) アドレス変換装置