JPH0812636B2 - 仮想記憶制御方式の計算機システム - Google Patents

仮想記憶制御方式の計算機システム

Info

Publication number
JPH0812636B2
JPH0812636B2 JP61306316A JP30631686A JPH0812636B2 JP H0812636 B2 JPH0812636 B2 JP H0812636B2 JP 61306316 A JP61306316 A JP 61306316A JP 30631686 A JP30631686 A JP 30631686A JP H0812636 B2 JPH0812636 B2 JP H0812636B2
Authority
JP
Japan
Prior art keywords
address
virtual
tlb
virtual address
entry
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 - Fee Related
Application number
JP61306316A
Other languages
English (en)
Other versions
JPS63159953A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP61306316A priority Critical patent/JPH0812636B2/ja
Priority to US07/137,082 priority patent/US4961135A/en
Publication of JPS63159953A publication Critical patent/JPS63159953A/ja
Publication of JPH0812636B2 publication Critical patent/JPH0812636B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

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

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、仮想アドレスと物理アドレスとの対を各
エントリに保持するアドレス変換バッファを備えた仮想
記憶制御方式の計算機システムに係り、特にアドレス変
換バッファ内エントリの参照方式に関する。
(従来の技術) 一般に仮想記憶制御方式を適用する計算機システムで
は、仮想アドレスを物理アドレスに変換するアドレス変
換の高速化のために、仮想アドレスと物理アドレスとの
対(アドレス変換対)を各エントリに保持するアドレス
変換バッファ(以下、TLBと称する)を備えている。こ
のTLBを参照するのためのアドレス(TLBアドレス)に
は、仮想アドレスの一部を切取って用いるのが一般的で
ある。この切取り方、即ちTLBの参照方式は、方式1と
方式2に大別される。
まず、方式1について、第3図を参照して説明する。
第3図において、11は2m+n個のエントリを持つTLBであ
る。このTLB11を参照する際には、アドレス変換対象の
仮想アドレスが仮想アドレスレジスタ12に保持される。
仮想アドレスレジスタ12(内の仮想アドレス)のm+n
ビットの所定フィールド13の内容はTLBレジスタ14にロ
ードされ、TLB11内エントリを指定するのに用いられ
る。
第3図に示す方式1では、TLB11の利用状況は第4図
に示す通りとなり、仮想記憶空間VSにおいてそれぞれ2
m+nページで構成される領域Ap0〜Api(iの値は仮想記
憶空間VSの大きさで決まる)が、いずれもTLB11の領域
全体に対応する。したがって方式1は、単一プログラム
により大きな連続領域が要求される場合には効果的であ
る。しかし、第4図において斜線で示すように、アクセ
ス対象領域が各領域Ap0〜Apiに分散しているような場合
には、(TLBヒット率が低下して)TLB11内エントリのリ
プレース動作の発生頻度が高くなり、極めて効率が悪
い。このような状態は、例えばコード部やデータ部が仮
想記憶空間VS上の複数の領域に分散しているようなプロ
グラムを実行する場合、或は複数のプログラムを切替え
ながら並行して実行しようとする場合に発生する。
次に、方式2について、第5図を参照して説明する。
第5図において、21は2n個のエントリから成るエントリ
ブロックTq0,Tq1…Tqi(i=2m−1)を持つTLBであ
る。このTLB21を参照する際には、アドレス変換対象の
仮想アドレスが仮想アドレスレジスタ22に保持される。
仮想アドレスレジスタ22(内の仮想アドレス)の独立し
たmビットの所定フィールド23およびnビットの所定フ
ィールド24の各内容は連結されてTLBレジスタ25にロー
ドされ、TLB21内エントリを指定するのに用いられる。
上記した第5図に示す方式2は、セグメントテーショ
ンを行なう場合や、空間識別子を用いて多重仮想空間を
実現する場合(この場合、空間識別子も仮想アドレスの
一部として扱われる)に適用される。第5図に示す方式
2では、TLB21の利用状況は第6図に示す通りとなり、
仮想記憶空間VSをi+1等分(i=2m−1)して得られ
る領域Aq0〜AqiはTLB21内の各エントリブロックTq0〜Tq
iに対応する。更に具体的に述べるならば、例えば領域A
q0をj等分して得られる2nページ(jはAq0の大きさで
決まる)の各領域は、いずれもエントリブロックTq0に
対応する。したがって方式2は、仮想記憶空間VS上の分
散した領域を要求するプログラムの実行や、複数プログ
ラムの並列実行に対しては、TLB21内の使用エントリブ
ロックが異なるために効果的であるが、大きな連続領域
が要求される場合には極めて効率が悪い。例えば第6図
に示す仮想記憶空間VS内の領域Aq0の全域をアクセスす
る場合には、TLB21のエントリブロックTq0のみが使用さ
れることになり、効率が悪い。
このように、従来は、仮想記憶空間上の1つの大きな
連続領域を効率的にアクセスできる方式では、仮想記憶
空間上の複数の分散した領域をアクセスする場合の効率
が悪くなり、仮想記憶空間上の複数の分散した領域を効
率的にアクセスできる方式では、仮想記憶空間上の1つ
の大きな連続領域をアクセスする場合の効率が悪くなる
問題があった。
(発明が解決しようとする問題点) 上記したように、従来の仮想記憶制御方式の計算機シ
ステムでは、仮想記憶空間上の1つの大きな連続領域を
アクセスする場合と、仮想記憶空間上の複数の分散した
領域をアクセスする場合のいずれか一方において、TLB
(アドレス変換バッファ)を効率的に使用することがで
きない問題があった。
この発明は上記事情に鑑みてなされたものでその目的
は、仮想記憶空間上の1つの大きな連続領域をアクセス
する場合にも、仮想記憶空間上の複数の分散した領域を
アクセスする場合にも、TLB(アドレス変換バッファ)
を効率的に使用することができる仮想記憶制御方式の計
算機システムを提供することにある。
[発明の構成] (問題点を解決するための手段と作用) この発明は、TLB(アドレス変換バッファ)内エント
リの指定に供される複数の独立したフィールドを有する
仮想アドレスを保持する仮想アドレスレジスタと、この
仮想アドレスに保持されている上記仮想アドレスの複数
フィールドのうち、少なくとも2つの所定フィールドの
内容を加算する加算器とを設け、この加算器の加算結果
をTLBをアクセスするためのアドレス、またはアドレス
の一部とすることにより、仮想記憶空間上の大きな連続
領域をアクセスする場合でも、仮想記憶空間上の複数の
分散した領域をアクセスする場合でも、TLB内の参照領
域が偏らないで済むようにしたものである。
(実施例) 第1図はこの発明の一実施例に係る仮想記憶制御方式
の計算機システムの要部のブロック構成を示す。同図に
おいて、31は2n個のエントリから成るエントリブロック
Tr0,Tr1…Tri(i=2m−1)を持つTLB、32はTLB31内エ
ントリの指定に供される独立のフィールド33〜35を持つ
仮想アドレスを保持する仮想アドレスレジスタである。
フィールド33,34はmビット、フィールド35はnビット
である。フィールド33はフィールド34の上位に位置し、
フィールド34はフィールド35の上位に位置する。フィー
ルド35は、ページ番号全体またはページ番号の下位ビッ
トを示す。フィールド34,35は連続している。36は仮想
アドレスレジスタ32(内の仮想アドレス)のフィールド
33,34の各内容を加算するmビットの加算器、37は加算
器36の加算結果(mビット),仮想アドレスレジスタ32
(内の仮想アドレス)のフィールド35の内容(nビッ
ト)を、TLB31内エントリを指定するTLBアドレス(m+
nビット)のそれぞれ上位アドレス,下位アドレスとし
て保持するm+nビットのTLBレジスタである。
次に、第1図の構成の動作を説明する。今、アドレス
変換対象となる仮想アドレスが仮想アドレスレジスタ32
に保持されたものとする。仮想アドレスレジスタ32(内
の仮想アドレス)のフィールド33,34の内容(mビッ
ト)は加算器36に導かれ、同加算器36により加算され
る。この加算器36の加算結果(mビット)は、TLBレジ
スタ37の上位mビットのフィールドにロードされる。ま
たTLBレジスタ37の残りのnビットのフィールドには、
仮想アドレスレジスタ32(内の仮想アドレス)のフィー
ルド35の内容(nビット)がロードされる。このTLBレ
ジスタ37の内容(m+nビット)、即ち仮想アドレスレ
ジスタ32(内の仮想アドレス)のフィールド33,34の各
内容の加算結果(mビット)と仮想アドレスレジスタ32
(内の仮想アドレス)のフィールド35の内容(nビッ
ト)とが連結されたTLBアドレスはTLB31に導かれ、この
TLBアドレスの指定するTLB31内エントリが参照される。
上記したように、仮想アドレスレジスタ32(内の仮想
アドレス)のフィールド33,34の各内容の加算結果(m
ビット)と仮想アドレスレジスタ32(内の仮想アドレ
ス)のフィールド35の内容(nビット)とが連結された
TLBアドレスによりTLB31が参照される本実施例では、TL
B31の利用状況は第2図に示す通りとなる。即ち、仮想
記憶空間VSをi+1(=2m)等分して得られる領域をAr
0〜Ariとすると、各領域Ar0〜AriはいずれもTLB31の領
域全体に対応する。更に具体的に述べるならば、仮想記
憶空間VSの各領域Ar0〜Ariをそれぞれj等分(jはAr0
〜Ariの大きさで決まるものであり、第2図では便宜的
にj=iの場合が示されている)して得られる2nページ
の領域を、(領域Ar0〜Ariに無関係に)いずれもP0,P1
…Piとすると、まず領域Ar0の2nページ領域P0,P1…Piは
それぞれTLB31のエントリブロックTr0,Tr1…Triと対応
する。もしjがiより大きく、領域Ar0においてPiに後
続する2nページ領域Pi+1,Pi+2…P2i+1が存在する
場合には、このPi+1,Pi+2…P2i+1は、P0,P1…Piと
同様にTLB31のエントリブロックTr0,Tr1…Triと対応す
る。また、領域Ar1の2nページ領域P0,P1…Pi−1,Piはそ
れぞれTLB31のエントリブロックTr1,Tr2…Tri,Tr0と対
応する。同様に、最終領域Ariの2nページ領域P0,P1…Pi
−1,PiはそれぞれTLB31のエントリブロックTri,Tr0,Tr1
…Tri−1と対応する。
上記したように、この実施例では、TLB31内エントリ
を指定するm+nビットのTLBアドレスの上位mビット
を、フィールド33,34の各mビットを加算することで生
成しているため、仮想記憶空間VSをi等分して得られる
領域Ar0〜Ariにおける各2nページ領域P0〜PiとTLB31の
各エントリブロックTr0〜Triとの対応関係を、上記i等
分領域が1つずれる毎に1エントリブロックずつずらす
ことができる。このため、仮想記憶空間VS上の1つの大
きな連続領域、例えば領域Ar0の全域をアクセスする場
合でも、第4図と同様に仮想記憶空間VS上の複数の分散
した領域をアクセスする場合にも、TLB31は効率良く使
用される。なお第2図では、システムで1つだけ存在す
るTLB31が、理解を容易にするために仮想記憶空間VSの
各領域Ar0〜Ari毎に示されていることに注意されたい。
[発明の効果] 以上詳述したようにこの発明によれば、仮想記憶空間
上の1つの大きな連続領域をアクセスする場合にも、仮
想記憶空間上の複数の分散した領域をアクセスする場合
にも、TLB(アドレス変換バッファ)を効率的に使用す
ることができるので、TLBヒット率が向上し、システム
性能の向上が図れる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る計算機システムの要
部のブロック構成図、第2図は第1図に示すTLBの利用
状況を説明する図、第3図は従来例を示すブロック図、
第4図は第3図に示すTLBの利用状況を説明する図、第
5図は他の従来例を示すブロック図、第6図は第5図に
示すTLBの利用状況を説明する図である。 31……TLB(アドレス変換バッファ)、32……仮想アド
レスレジスタ、36……加算器、37……TLBレジスタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】仮想アドレスと物理アドレスとの対を各エ
    ントリに保持するアドレス変換バッファを備えた仮想記
    憶制御方式の計算機システムにおいて、上記アドレス変
    換バッファ内エントリの指定に供される複数の独立した
    フィールドを有する仮想アドレスを保持する仮想アドレ
    スレジスタと、この仮想アドレスに保持されている上記
    仮想アドレスの上記複数フィールドのうち、少なくとも
    2つの所定フィールドの内容を加算して上記アドレス変
    換バッファをアクセスするためのアドレスの少なくとも
    一部を生成する加算器とを具備し、この加算器の加算結
    果を用いて上記アドレス変換バッファ内エントリを参照
    するようにしたことを特徴とする仮想記憶制御方式の計
    算機システム。
JP61306316A 1986-12-24 1986-12-24 仮想記憶制御方式の計算機システム Expired - Fee Related JPH0812636B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61306316A JPH0812636B2 (ja) 1986-12-24 1986-12-24 仮想記憶制御方式の計算機システム
US07/137,082 US4961135A (en) 1986-12-24 1987-12-23 Translation lookaside buffer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61306316A JPH0812636B2 (ja) 1986-12-24 1986-12-24 仮想記憶制御方式の計算機システム

Publications (2)

Publication Number Publication Date
JPS63159953A JPS63159953A (ja) 1988-07-02
JPH0812636B2 true JPH0812636B2 (ja) 1996-02-07

Family

ID=17955637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61306316A Expired - Fee Related JPH0812636B2 (ja) 1986-12-24 1986-12-24 仮想記憶制御方式の計算機システム

Country Status (2)

Country Link
US (1) US4961135A (ja)
JP (1) JPH0812636B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058003A (en) * 1988-12-15 1991-10-15 International Business Machines Corporation Virtual storage dynamic address translation mechanism for multiple-sized pages
JPH02205953A (ja) * 1989-02-03 1990-08-15 Nec Corp アドレス変換装置
US5201052A (en) * 1989-02-10 1993-04-06 Fujitsu Limited System for transferring first and second ring information from program status word register and store buffer
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
US5329629A (en) * 1989-07-03 1994-07-12 Tandem Computers Incorporated Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
US5282274A (en) * 1990-05-24 1994-01-25 International Business Machines Corporation Translation of multiple virtual pages upon a TLB miss
JPH087717B2 (ja) * 1991-09-03 1996-01-29 富士通株式会社 動的アドレス変換処理装置
US5448707A (en) * 1991-10-29 1995-09-05 Intel Corporation Mechanism to protect data saved on a local register cache during inter-subsystem calls and returns
US5329627A (en) * 1992-04-17 1994-07-12 Sun Microsystems, Inc. Method and apparatus for a translation lookaside buffer with built-in replacement scheme in a computer system
CA2107056C (en) * 1993-01-08 1998-06-23 James Allan Kahle Method and system for increased system memory concurrency in a multiprocessor computer system
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US7149878B1 (en) * 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7243208B2 (en) * 2003-08-13 2007-07-10 Renesas Technology Corp. Data processor and IP module for data processor
JP5085180B2 (ja) * 2007-04-24 2012-11-28 株式会社東芝 情報処理装置およびアクセス制御方法
GB2526873A (en) * 2014-06-06 2015-12-09 Roke Manor Research System and method for mitigating remanence in volatile memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
US4654777A (en) * 1982-05-25 1987-03-31 Tokyo Shibaura Denki Kabushiki Kaisha Segmented one and two level paging address translation system
US4731740A (en) * 1984-06-30 1988-03-15 Kabushiki Kaisha Toshiba Translation lookaside buffer control system in computer or virtual memory control scheme
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置

Also Published As

Publication number Publication date
US4961135A (en) 1990-10-02
JPS63159953A (ja) 1988-07-02

Similar Documents

Publication Publication Date Title
JPH0812636B2 (ja) 仮想記憶制御方式の計算機システム
CA1236588A (en) Dynamically allocated local/global storage system
US4453212A (en) Extended address generating apparatus and method
JP4608484B2 (ja) ストレージの無効化、バッファ・エントリの消去
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US5111389A (en) Aperiodic mapping system using power-of-two stride access to interleaved devices
EP0213843B1 (en) Digital processor control
JP5647252B2 (ja) メモリ管理装置及び仮想メモリ領域を提供する方法
TWI848131B (zh) 資料結構處理
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
EP0528584A1 (en) Directory look-aside table for a virtual data storage system
JPH01144152A (ja) データ処理システムの制御方法
US5414821A (en) Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
CA1115425A (en) Data processor with address extension
US5479631A (en) System for designating real main storage addresses in instructions while dynamic address translation is on
US5379392A (en) Method of and apparatus for rapidly loading addressing registers
US5450587A (en) Expanded memory addressing scheme
JPH0353659B2 (ja)
JPH04127339A (ja) キヤツシユメモリシステム
JPS6143744B2 (ja)
JPH02101552A (ja) アドレス変換バッファ処理方式
JPS6177936A (ja) 情報処理装置
Theaker et al. Memory Management—Paging Systems
JPH06100991B2 (ja) 仮想計算機システムにおけるデータ転送方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees