JPH02205953A - アドレス変換装置 - Google Patents
アドレス変換装置Info
- Publication number
- JPH02205953A JPH02205953A JP1024859A JP2485989A JPH02205953A JP H02205953 A JPH02205953 A JP H02205953A JP 1024859 A JP1024859 A JP 1024859A JP 2485989 A JP2485989 A JP 2485989A JP H02205953 A JPH02205953 A JP H02205953A
- Authority
- JP
- Japan
- Prior art keywords
- area
- virtual
- address
- register
- page
- 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
Links
- 238000006243 chemical reaction Methods 0.000 abstract description 14
- 238000004321 preservation Methods 0.000 abstract 1
- 238000006073 displacement reaction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は情報処理装置に関し、特にマイクロプロセッサ
のアドレス変換装置に関する。
のアドレス変換装置に関する。
従来の仮想アドレスから実アドレスへのアドレス変換装
置は、アドレス空間をセクション空間にわけ、その中に
エリア空間、その中にページ空間という構成法に基づい
て行なわれる。
置は、アドレス空間をセクション空間にわけ、その中に
エリア空間、その中にページ空間という構成法に基づい
て行なわれる。
第4図に従来例のアドレス変換ブロック図を示す。
アドレス変換には、仮想セクション番号401より対応
するエリア・テーブル・レジスタ405が選択される。
するエリア・テーブル・レジスタ405が選択される。
この選択されたエリア・テーブル・レジスタの値をエリ
ア・テーブルのベース・アドレスとし仮想エリア番号4
02をインデックスとしてエリア・テーブル406のエ
ントリな指定する。指定されたエリア・テーブル情報を
ページ・テーブルのベース・アドレスとし仮想ページ番
号403をインデックスとしてページ・テーブル407
のエントリを指定する。指定されたページ・テーブル情
報を主記憶408内のページ・フレーム・アドレスのベ
ース・アドレスとして、仮想アドレスの変位404と組
み合わせて実アドレスを得ることができる。
ア・テーブルのベース・アドレスとし仮想エリア番号4
02をインデックスとしてエリア・テーブル406のエ
ントリな指定する。指定されたエリア・テーブル情報を
ページ・テーブルのベース・アドレスとし仮想ページ番
号403をインデックスとしてページ・テーブル407
のエントリを指定する。指定されたページ・テーブル情
報を主記憶408内のページ・フレーム・アドレスのベ
ース・アドレスとして、仮想アドレスの変位404と組
み合わせて実アドレスを得ることができる。
このアドレス変換では1組のレジスタと2種のアドレス
変換テーブルを参照するので、変換に時間がかかり、毎
回この方法で変換していたのでは、性能面で不利になる
。これを高速化するためにアドレス変換索引バッファ(
TLB)409によりアドレス変換の時間の短縮を図る
。このアドレス変換索引バッファ409は、仮想セクシ
ョン番号。
変換テーブルを参照するので、変換に時間がかかり、毎
回この方法で変換していたのでは、性能面で不利になる
。これを高速化するためにアドレス変換索引バッファ(
TLB)409によりアドレス変換の時間の短縮を図る
。このアドレス変換索引バッファ409は、仮想セクシ
ョン番号。
仮想エリア番号と仮想ページ番号401〜403をエン
トリとして持ち、これに対応する主記憶408内のペー
ジ・フレーム・アドレスの組を複数記憶しておく。これ
によってアドレス変換は、まずアドレス索引バッファ4
09を検索し、仮想セクション番号、仮想エリア番号、
仮想ページ番号401〜403の同じエントリが存在し
た場合には、対応した実アドレスは変位すぐに得ること
ができる。しかし、同じエントリが存在しない場合には
、上述したように、2段階のテーブルを引くことになっ
ていた。
トリとして持ち、これに対応する主記憶408内のペー
ジ・フレーム・アドレスの組を複数記憶しておく。これ
によってアドレス変換は、まずアドレス索引バッファ4
09を検索し、仮想セクション番号、仮想エリア番号、
仮想ページ番号401〜403の同じエントリが存在し
た場合には、対応した実アドレスは変位すぐに得ること
ができる。しかし、同じエントリが存在しない場合には
、上述したように、2段階のテーブルを引くことになっ
ていた。
上述した従来のアドレス変換装置は、アドレス変換索引
バッファを検索し、仮想セクション番号、仮想エリア番
号、仮想ページ番号の同じエントリが存在しない場合は
、現在の仮想セクション番号と仮想エリア番号が、直前
にアドレス変換索引バッファの入れ替えをした時の仮想
セクシミン番号と仮想エリア番号と同一である可能性が
非常に高いにもかかわらず2段階のテーブルを引くとい
う欠点がある。
バッファを検索し、仮想セクション番号、仮想エリア番
号、仮想ページ番号の同じエントリが存在しない場合は
、現在の仮想セクション番号と仮想エリア番号が、直前
にアドレス変換索引バッファの入れ替えをした時の仮想
セクシミン番号と仮想エリア番号と同一である可能性が
非常に高いにもかかわらず2段階のテーブルを引くとい
う欠点がある。
本発明のアドレス変換装置は、アドレス変換索引バッフ
ァの入れ替えたとき仮想セクション番号と仮想エリア番
号を保存するエリア保存レジスタと、アドレス変換索引
バッファの入れ替え時のエリア・テーブル・エントリな
保存するページ・テーブル・レジスタと、そのページ・
テーブル・レジスタとエリア保存レジスタの一致を検出
するエリア比較器を有している。
ァの入れ替えたとき仮想セクション番号と仮想エリア番
号を保存するエリア保存レジスタと、アドレス変換索引
バッファの入れ替え時のエリア・テーブル・エントリな
保存するページ・テーブル・レジスタと、そのページ・
テーブル・レジスタとエリア保存レジスタの一致を検出
するエリア比較器を有している。
このように、本発明は、アドレス変換索引バッファを検
索し、仮想セクション番号、仮想エリア番号、仮想ペー
ジ番号の同じエントリが存在しない場合に、直前に、ア
ドレス変換索引バッファの入れ替えをした時に保存して
おいたエリア保存レジスタと、現在の仮想セクション番
号と仮想エリア番号の値をエリア比較器を用いて比較し
、一致している場合には主記憶上のエリア・テーブルを
アクセスしないで、保存しておいたページ・テーブル・
レジスタのページ・テーブル情報を用いてページ・テー
ブルをアクセスしてアドレス変換を行なっている。
索し、仮想セクション番号、仮想エリア番号、仮想ペー
ジ番号の同じエントリが存在しない場合に、直前に、ア
ドレス変換索引バッファの入れ替えをした時に保存して
おいたエリア保存レジスタと、現在の仮想セクション番
号と仮想エリア番号の値をエリア比較器を用いて比較し
、一致している場合には主記憶上のエリア・テーブルを
アクセスしないで、保存しておいたページ・テーブル・
レジスタのページ・テーブル情報を用いてページ・テー
ブルをアクセスしてアドレス変換を行なっている。
次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例のアドレス変換ブロック
図である。仮想アドレスは、仮想セクション番号(10
1)、仮想エリア番号(102)、仮想ページ番号(1
03)、変位(104)からなっている。エリア・テー
ブル・レジスタ(111)は、仮想セクション番号(1
01)により選択され、エリア・テーブル(112)の
ベース・アドレスを持つ。エリア・テーブル(112)
は、エリア・テーブル・レジスタ(111)によりベー
ス・アドレスを指定され、仮想エリア番号(102)を
オフセットとしたエリア・テーブル情報を持つ。エリア
・テーブル(113)は、引いてきたエリア・テーブル
情報をベース・アドレスとし、仮想ページ番号(103
)をオフセットとしたページ・テーブル情報を持つ。実
アドレス(114)は、引いてきたページ・テーブル情
報、またはアドレス変換索引バッファ(121)により
一致した仮想アドレスに対応する上位実アドレスを主記
憶内ページ・フレーム−アドレスのベース・アドレスと
し、変位(104)をオフセットとした値である。
図である。仮想アドレスは、仮想セクション番号(10
1)、仮想エリア番号(102)、仮想ページ番号(1
03)、変位(104)からなっている。エリア・テー
ブル・レジスタ(111)は、仮想セクション番号(1
01)により選択され、エリア・テーブル(112)の
ベース・アドレスを持つ。エリア・テーブル(112)
は、エリア・テーブル・レジスタ(111)によりベー
ス・アドレスを指定され、仮想エリア番号(102)を
オフセットとしたエリア・テーブル情報を持つ。エリア
・テーブル(113)は、引いてきたエリア・テーブル
情報をベース・アドレスとし、仮想ページ番号(103
)をオフセットとしたページ・テーブル情報を持つ。実
アドレス(114)は、引いてきたページ・テーブル情
報、またはアドレス変換索引バッファ(121)により
一致した仮想アドレスに対応する上位実アドレスを主記
憶内ページ・フレーム−アドレスのベース・アドレスと
し、変位(104)をオフセットとした値である。
アドレス変換索引バッファ(121)は、仮想セクショ
ン番号(101)、仮想、エリア番号(102)。
ン番号(101)、仮想、エリア番号(102)。
仮想ページ番号(1,03)をエントリとして持ち、こ
れに対応する主記憶内ページ・フレーム・アドレスを複
数組記憶しておく。
れに対応する主記憶内ページ・フレーム・アドレスを複
数組記憶しておく。
エリア保存レジスタ(131)は、エリア比較器(i
32)が不一致を検出してアドレス変換索引バッファ(
121)の入れ替えをしたときに仮想セ、クション番号
(101)と仮想エリア番号(102)を記憶するレジ
スタである。
32)が不一致を検出してアドレス変換索引バッファ(
121)の入れ替えをしたときに仮想セ、クション番号
(101)と仮想エリア番号(102)を記憶するレジ
スタである。
エリア比較器(132)は、エリア保存レジスタ(13
1)と、現在の仮想セクション番号(101)と仮想エ
リア番号(102)とを比較し、−数校出をする。
1)と、現在の仮想セクション番号(101)と仮想エ
リア番号(102)とを比較し、−数校出をする。
ページ・テーブル・レジスタ(133)は、エリア比較
器(132)が不一致を検出してアドレス変換バッファ
(121)の入九替えをしたときに引いたエリア・テー
ブル(112)のエントリを記憶しておくレジスタであ
る。
器(132)が不一致を検出してアドレス変換バッファ
(121)の入九替えをしたときに引いたエリア・テー
ブル(112)のエントリを記憶しておくレジスタであ
る。
以後、アドレス変換の動作について説明する。
まず、アドレス変換索引バッファ(121)Eヒツトす
る場合がある。すなわち、仮想アドレスの仮想セクショ
ン番号(l O1)、仮想エリア番号(102)と仮想
ページ番号(103)を7ドレス変換索引バツフア(1
21)のエントリと比較し、一致したときは対応する実
アドレスを取り出し、これに変位(104)を組み合わ
せて実アドレスを得る。
る場合がある。すなわち、仮想アドレスの仮想セクショ
ン番号(l O1)、仮想エリア番号(102)と仮想
ページ番号(103)を7ドレス変換索引バツフア(1
21)のエントリと比較し、一致したときは対応する実
アドレスを取り出し、これに変位(104)を組み合わ
せて実アドレスを得る。
次に、アドレス変換索引バッファ(121)E仮想セク
ション番号(101)、仮想エリア番号(102)、仮
想ページ番号(103)の同じエントリが存在しない場
合は、直前に、アドレス変換索引バッファ(121)の
入れ替えをしたときに仮想セクション番号(101)と
仮想エリア番号(102)を保存しておいたエリア保存
レジスタ(131)’と、現在の仮想セクション番号(
101)と仮想エリア番号(102)の値とをエリア比
較器(132)を用いて比較し、一致している場合には
主記憶上のエリア・テーブル(112)をアクセスしな
いで、保存しておいたページ・テーブル・レジスタ(1
33)のページ・テーブル情報を用いてページ・テーブ
ル(113)を引いて変位(104)と組み合わせて実
アドレスを得る。そして、このときの実アドレスは、ア
ドレス変換索引バッファ(121)に新しく登録する。
ション番号(101)、仮想エリア番号(102)、仮
想ページ番号(103)の同じエントリが存在しない場
合は、直前に、アドレス変換索引バッファ(121)の
入れ替えをしたときに仮想セクション番号(101)と
仮想エリア番号(102)を保存しておいたエリア保存
レジスタ(131)’と、現在の仮想セクション番号(
101)と仮想エリア番号(102)の値とをエリア比
較器(132)を用いて比較し、一致している場合には
主記憶上のエリア・テーブル(112)をアクセスしな
いで、保存しておいたページ・テーブル・レジスタ(1
33)のページ・テーブル情報を用いてページ・テーブ
ル(113)を引いて変位(104)と組み合わせて実
アドレスを得る。そして、このときの実アドレスは、ア
ドレス変換索引バッファ(121)に新しく登録する。
最後に、アドレス変換索引バッファ(121)に仮想セ
クション番号(101)、仮想エリア番号(102)、
仮想ページ番号(103)の同じエントリが存在しない
場合、かつエリア比較器(132)が不一致を検出した
場合は、2段階のテーブルを引くことになる。まず、エ
リア・テーブル・レジスタ(111)を選択し、エリア
・テーブル(112)を引き、ページ・テーブル(11
3)を引いて変位(104)と組み合わせて実アドレス
を得る。このとき、エリア保存レジスタ(131)に仮
想セクション番号(101)と仮想エリア番号(102
)を登録し、ページ・テーブル・レジスタ(133)に
引いたエリア・テーブル(112)のエントリを登録す
る。また、仮想アドレスと実アドレスの対をアドレス変
換索引バッファ(121)に新しく登録する。
クション番号(101)、仮想エリア番号(102)、
仮想ページ番号(103)の同じエントリが存在しない
場合、かつエリア比較器(132)が不一致を検出した
場合は、2段階のテーブルを引くことになる。まず、エ
リア・テーブル・レジスタ(111)を選択し、エリア
・テーブル(112)を引き、ページ・テーブル(11
3)を引いて変位(104)と組み合わせて実アドレス
を得る。このとき、エリア保存レジスタ(131)に仮
想セクション番号(101)と仮想エリア番号(102
)を登録し、ページ・テーブル・レジスタ(133)に
引いたエリア・テーブル(112)のエントリを登録す
る。また、仮想アドレスと実アドレスの対をアドレス変
換索引バッファ(121)に新しく登録する。
この実施例1ではエリア・テーブルのエントリのアドレ
ス変換索引バッファにより、2段階のキャッシングを行
なうことによりアドレス変換の時間の短縮を図ることが
できる利点がある。
ス変換索引バッファにより、2段階のキャッシングを行
なうことによりアドレス変換の時間の短縮を図ることが
できる利点がある。
第3図は本発明の第2の実施例のアドレス変換ブ四ツク
図である。
図である。
仮想アドレスは、仮想セクション番号(301)。
仮想エリアA番号(302)、仮想エリアB番号(30
3)、仮想ページ番号(304)、変位(305)から
なっている。エリアA・テーブル・レジスタ(311)
は、仮想セクション番号(301)により選択され、エ
リアA・テーブル(312)のベース・アドレスを持つ
。エリアA・テーブル(312)は、エリアA・テーブ
ル・レジスタ(311)によりベース・アドレスを指定
され、仮想エリアA番号(302)をオフセットとした
エリアA・テーブル情報を持つ。エリアB・テーブル(
313)は、引いてきたエリアA・テーブル情報をベー
ス・アドレスとし、仮想エリアB番号(303)をオフ
セットとしたエリアB・テーブル情報を持つ。ページ・
テーブル(314)は、引いてきたエリアB・テーブル
情報をベース・アドレスとし、仮想ページ番号(304
)をオフセットとしたページ・テーブル情報を持つ。実
アドレス(315)は、引いてきたページ・テーブル情
報、またはアドレス変換索引バッファ(321)により
一致した仮想アドレスに対応する上位実アドレスヲ主記
憶内ヘージ・フレーム・アドレスのベース・アドレスと
し、変位(105)をオフセットとした値である。
3)、仮想ページ番号(304)、変位(305)から
なっている。エリアA・テーブル・レジスタ(311)
は、仮想セクション番号(301)により選択され、エ
リアA・テーブル(312)のベース・アドレスを持つ
。エリアA・テーブル(312)は、エリアA・テーブ
ル・レジスタ(311)によりベース・アドレスを指定
され、仮想エリアA番号(302)をオフセットとした
エリアA・テーブル情報を持つ。エリアB・テーブル(
313)は、引いてきたエリアA・テーブル情報をベー
ス・アドレスとし、仮想エリアB番号(303)をオフ
セットとしたエリアB・テーブル情報を持つ。ページ・
テーブル(314)は、引いてきたエリアB・テーブル
情報をベース・アドレスとし、仮想ページ番号(304
)をオフセットとしたページ・テーブル情報を持つ。実
アドレス(315)は、引いてきたページ・テーブル情
報、またはアドレス変換索引バッファ(321)により
一致した仮想アドレスに対応する上位実アドレスヲ主記
憶内ヘージ・フレーム・アドレスのベース・アドレスと
し、変位(105)をオフセットとした値である。
アドレス変換索引バッファ(321)は、仮想セクショ
ン番号(301)、仮想エリアA番号(302) 。
ン番号(301)、仮想エリアA番号(302) 。
仮想エリアB番号(303)と仮想ページ番号(304
)をエントリとして持ち、これに対応する主記憶内ペー
ジ・フレーム・アドレ゛スを複数組記憶しておく。
)をエントリとして持ち、これに対応する主記憶内ペー
ジ・フレーム・アドレ゛スを複数組記憶しておく。
エリア保存入レジスタ(331)は、エリアA比較器(
332)が不一致を検出してアドレス変換索引バッファ
(321)の入れ替えをしたときに仮想セクション番号
(301)と仮想エリアA番号(302)を記憶するレ
ジスタである。エリアA比較器(332)は、エリア保
存入レジスタ(331)と、現在の仮想セクション番号
(301)と仮想エリアA番号(302)とを比較し、
一致検出をする。エリアB・テーブル・レジスタ(33
3)は、エリアA比較器(332)が不一致を検出して
アドレス変換バッファ(321)の入れ替えをしたとき
に引いたA・テーブル(312)のエントリを記憶して
おくレジスタである。エリア保存Bレジスタ(334)
は、エリアB比較器(335)が不一致を検出してアド
レス変換索引バッファ(321)の入れ替えをしたとき
に仮想セクション番号(301)、仮想エリアA番号(
302)と仮想エリアB番号(303)を記憶するレジ
スタである。エリアB比較器(335)は、エリア保存
Bレジスタ(334)と、現在の仮想セクション番号(
301)、仮想エリアA番号(302)と仮想エリアB
番号(303)とを比較し、一致検出をする。ページ・
テーブル・レジスタ(336)は、エリアB比較器(3
53)が不一致を検出してアドレス変換バッファ(32
1)の入れ替えをしたときに引いたエリアB・テーブル
(313)のエントリを記憶しておくレジスタである。
332)が不一致を検出してアドレス変換索引バッファ
(321)の入れ替えをしたときに仮想セクション番号
(301)と仮想エリアA番号(302)を記憶するレ
ジスタである。エリアA比較器(332)は、エリア保
存入レジスタ(331)と、現在の仮想セクション番号
(301)と仮想エリアA番号(302)とを比較し、
一致検出をする。エリアB・テーブル・レジスタ(33
3)は、エリアA比較器(332)が不一致を検出して
アドレス変換バッファ(321)の入れ替えをしたとき
に引いたA・テーブル(312)のエントリを記憶して
おくレジスタである。エリア保存Bレジスタ(334)
は、エリアB比較器(335)が不一致を検出してアド
レス変換索引バッファ(321)の入れ替えをしたとき
に仮想セクション番号(301)、仮想エリアA番号(
302)と仮想エリアB番号(303)を記憶するレジ
スタである。エリアB比較器(335)は、エリア保存
Bレジスタ(334)と、現在の仮想セクション番号(
301)、仮想エリアA番号(302)と仮想エリアB
番号(303)とを比較し、一致検出をする。ページ・
テーブル・レジスタ(336)は、エリアB比較器(3
53)が不一致を検出してアドレス変換バッファ(32
1)の入れ替えをしたときに引いたエリアB・テーブル
(313)のエントリを記憶しておくレジスタである。
以後、アドレス変換の動作について説明する。
まず、アドレス変換索引バッファ(321)1mヒツト
する場合がある。すなわち、仮想アドレスの仮想セクシ
ョン番号(301)、仮想エリアA番号(302)、仮
想エリアB番号(303)と仮想ページ番号(304)
をアドレス変換索引バッファ(321)のエントリと比
較し、一致したときは対応する実アドレスを取り出し、
これに変位(305)を組み合わせて実アドレスを得る
。
する場合がある。すなわち、仮想アドレスの仮想セクシ
ョン番号(301)、仮想エリアA番号(302)、仮
想エリアB番号(303)と仮想ページ番号(304)
をアドレス変換索引バッファ(321)のエントリと比
較し、一致したときは対応する実アドレスを取り出し、
これに変位(305)を組み合わせて実アドレスを得る
。
次に、アドレス変換索引バッファ(321)に仮想セク
ション番号(301)、仮想エリアA番号(302)、
仮想エリアB番号(303)、仮想ページ番号(304
)の同じエントリが存在しない場合は、直前に、アドレ
ス変換索引バッファ(321)の入れ替えをしたときに
仮想セクション番号(301)、仮想エリアA番号(3
02)と仮想エリアB番号(303)を保存しておいた
エリア保存Bレジスタ(334)と、現在の仮想セクシ
ョン番号(301)、仮想エリアA番号(302)と仮
想エリアB番号(303)の値とをエリアB比較器(3
35)を用いて比較し、一致している場合は、1段階の
テーブルを引くことになる。つまり、主記憶上のエリア
A・テーブル(312)、!:エリアB・テーブル(3
13)をアクセスしないで、保存しておいたページ・テ
ーブル・レジスタ(336)のページ・テーブル情報を
用いてページ・テーブル(314)を引いて変位(30
5)と組み合わせて実アドレスを得る。そして、このと
きの実アドレスは、アドレス変換索引バッファ(321
)に新しく登録する。
ション番号(301)、仮想エリアA番号(302)、
仮想エリアB番号(303)、仮想ページ番号(304
)の同じエントリが存在しない場合は、直前に、アドレ
ス変換索引バッファ(321)の入れ替えをしたときに
仮想セクション番号(301)、仮想エリアA番号(3
02)と仮想エリアB番号(303)を保存しておいた
エリア保存Bレジスタ(334)と、現在の仮想セクシ
ョン番号(301)、仮想エリアA番号(302)と仮
想エリアB番号(303)の値とをエリアB比較器(3
35)を用いて比較し、一致している場合は、1段階の
テーブルを引くことになる。つまり、主記憶上のエリア
A・テーブル(312)、!:エリアB・テーブル(3
13)をアクセスしないで、保存しておいたページ・テ
ーブル・レジスタ(336)のページ・テーブル情報を
用いてページ・テーブル(314)を引いて変位(30
5)と組み合わせて実アドレスを得る。そして、このと
きの実アドレスは、アドレス変換索引バッファ(321
)に新しく登録する。
次に、アドレス変換索引バッファ(321)に仮想セク
ション番号(301)、仮想エリアA番号(302)、
仮想エリアB番号(303)、仮想ページ番号(304
)の同じエントリが存在しない場合、かつエリアB比較
器(335)が不一致を検出した場合は、直前に、アド
レス変換索引バッファ(321)の入れ替えをしたとき
に仮想セクション番号(301)と仮想エリアA番号(
302)を保存しておいたエリア保存入レジスタ(33
1)と、現在の仮想セクション番号(301)と仮想エ
リアA番号(302)の値とをエリアA比較器(332
)を用いて比較し、一致している場合は、2段階のテー
ブルを引くことになる。つまり、主記憶上のエリアA・
テーブル(312)をアクセスしないで、保存しておい
たエリアB・テーブル・レジスタ(333)のエリアB
・テーブル情報を用いてエリアB・テーブル(313)
を引き、ページ・テーブル(314)を引いて変位(3
05)と組み合わせて実アドレスを得る。
ション番号(301)、仮想エリアA番号(302)、
仮想エリアB番号(303)、仮想ページ番号(304
)の同じエントリが存在しない場合、かつエリアB比較
器(335)が不一致を検出した場合は、直前に、アド
レス変換索引バッファ(321)の入れ替えをしたとき
に仮想セクション番号(301)と仮想エリアA番号(
302)を保存しておいたエリア保存入レジスタ(33
1)と、現在の仮想セクション番号(301)と仮想エ
リアA番号(302)の値とをエリアA比較器(332
)を用いて比較し、一致している場合は、2段階のテー
ブルを引くことになる。つまり、主記憶上のエリアA・
テーブル(312)をアクセスしないで、保存しておい
たエリアB・テーブル・レジスタ(333)のエリアB
・テーブル情報を用いてエリアB・テーブル(313)
を引き、ページ・テーブル(314)を引いて変位(3
05)と組み合わせて実アドレスを得る。
そして、このときエリア保存Bレジスタ(334)に仮
想セクション番号(301)、仮想エリアA番号(30
2)と仮想−117B番号(303)を登録し、引いた
エリアB・テーブル(313)のエントリをページ・テ
ーブル・レジスタ(336)に登録する。また、仮想ア
ドレスの実アドレスの対をアドレス変換索引バッファ(
321)に新しく登録する。
想セクション番号(301)、仮想エリアA番号(30
2)と仮想−117B番号(303)を登録し、引いた
エリアB・テーブル(313)のエントリをページ・テ
ーブル・レジスタ(336)に登録する。また、仮想ア
ドレスの実アドレスの対をアドレス変換索引バッファ(
321)に新しく登録する。
最後に、アドレス変換索引バッファ(321)に仮想セ
クション番号(301)、仮想エリアA番号(302)
、仮想工!j7B番号(303)、仮想ページ番号(3
04)の同じエントリが存在しない場合、かつエリアB
比較器(335)が不一致を検出した場合、かつエリア
A比較器(332)が不一致を検出した場合は、3段階
のテーブルを引くことになる。まず、エリアA・テーブ
ル・レジスタ(311)を選択し、エリアA・テーブル
(312)を引き、エリアB・テーブル(313)を引
き、ページ・テーブル(314)を引いて変位(305
)と組み合わせて実アドレスを得る。このとき、仮想セ
クション番号(301)と仮想エリアA番号(302)
をエリア保存入レジスタ(331)に登録し、引いたエ
リアA・テーブル(312)のエントリをエリアB・テ
ーブル・レジスタ(333)に登録する。仮想セクショ
ン番号(301)、仮想エリアA番号(302)と仮想
エリアB番号(303)をエリア保存Bレジスタ(33
4)に登録し、引いたエリアB・テーブル(313)の
エントリをページ・テーブル・レジスタ(336)に登
録する。また、仮想アドレスと実アドレスの対をアドレ
ス変換索引バッファ(321)に新しく登録する。
クション番号(301)、仮想エリアA番号(302)
、仮想工!j7B番号(303)、仮想ページ番号(3
04)の同じエントリが存在しない場合、かつエリアB
比較器(335)が不一致を検出した場合、かつエリア
A比較器(332)が不一致を検出した場合は、3段階
のテーブルを引くことになる。まず、エリアA・テーブ
ル・レジスタ(311)を選択し、エリアA・テーブル
(312)を引き、エリアB・テーブル(313)を引
き、ページ・テーブル(314)を引いて変位(305
)と組み合わせて実アドレスを得る。このとき、仮想セ
クション番号(301)と仮想エリアA番号(302)
をエリア保存入レジスタ(331)に登録し、引いたエ
リアA・テーブル(312)のエントリをエリアB・テ
ーブル・レジスタ(333)に登録する。仮想セクショ
ン番号(301)、仮想エリアA番号(302)と仮想
エリアB番号(303)をエリア保存Bレジスタ(33
4)に登録し、引いたエリアB・テーブル(313)の
エントリをページ・テーブル・レジスタ(336)に登
録する。また、仮想アドレスと実アドレスの対をアドレ
ス変換索引バッファ(321)に新しく登録する。
この第2の実施例ではエリアA・テーブルのエントリ、
エリアAB・テーブルのエントリとアドレス変換索引バ
ッファにより、3段階のキャッシングを行なうことによ
りアドレス変換の時間の短縮を図ることができる利点が
ある。
エリアAB・テーブルのエントリとアドレス変換索引バ
ッファにより、3段階のキャッシングを行なうことによ
りアドレス変換の時間の短縮を図ることができる利点が
ある。
以上説明したように本発明は、エリア・テーブル・エン
トリをキャッシングすることにより、アドレス変換の時
間の短縮を図ることができる効果がある。
トリをキャッシングすることにより、アドレス変換の時
間の短縮を図ることができる効果がある。
第1図は本発明の第1の実施例のブロック図、第2図は
本実施例のフロー・チャート図、第3図は本発明の第2
の実施例のブロック図、第4図は従来例のブロック図で
ある。 101・・・・・・仮想セクシミン番号、1o2・・・
・・・仮想エリア番号、103・・・・・・仮想ページ
番号、104・°・・・・・変位(オフセット・アドレ
ス)、111・・・・・・エリア・テーブル・レジスタ
、112・旧・・エリア・テーブル、113・・・・・
・ページ・テーブル、114・・・・・・実アドレス(
主記憶)、121・・団・アドレス変換索引バッファ(
TLB)、131・・・・・・エリア保存レジスタ、1
32・・・・・・エリア比較器、133・・・・・・ペ
ージ・テーブル・レジスタ、301・・・・・・仮想セ
クシミン番号、302・・・・・・仮想エリアA番号、
303・・・・・・仮想エリアB番号、304・・・・
・・仮想ページ番1,305・・・・・・変位(オフセ
ット・アドレス)、311・・・・・・エリアA・テー
ブル・レジスタ、312・・・・・・エリアA・テーブ
ル、313・・・・・・エリアB・テーブル、314・
・・・・・ページ・テーブル、315・・・・・・実ア
ドレス(主記憶)、321・・・・・・アドレス変換索
引バッファ(TLB)、331・・・・・・エリア保存
Aレジスタ、332・・・・・・エリアA比較器、33
3・・・・・・エリアB・テーブル・レジスタ、334
・・・・・・エリア保存Bレジスタ、335・・・・・
・エリアB比較器、336・・・・・・ページ・テーブ
ル・レジスタ。 代理人 弁理士 内 原 晋 彬 切
本実施例のフロー・チャート図、第3図は本発明の第2
の実施例のブロック図、第4図は従来例のブロック図で
ある。 101・・・・・・仮想セクシミン番号、1o2・・・
・・・仮想エリア番号、103・・・・・・仮想ページ
番号、104・°・・・・・変位(オフセット・アドレ
ス)、111・・・・・・エリア・テーブル・レジスタ
、112・旧・・エリア・テーブル、113・・・・・
・ページ・テーブル、114・・・・・・実アドレス(
主記憶)、121・・団・アドレス変換索引バッファ(
TLB)、131・・・・・・エリア保存レジスタ、1
32・・・・・・エリア比較器、133・・・・・・ペ
ージ・テーブル・レジスタ、301・・・・・・仮想セ
クシミン番号、302・・・・・・仮想エリアA番号、
303・・・・・・仮想エリアB番号、304・・・・
・・仮想ページ番1,305・・・・・・変位(オフセ
ット・アドレス)、311・・・・・・エリアA・テー
ブル・レジスタ、312・・・・・・エリアA・テーブ
ル、313・・・・・・エリアB・テーブル、314・
・・・・・ページ・テーブル、315・・・・・・実ア
ドレス(主記憶)、321・・・・・・アドレス変換索
引バッファ(TLB)、331・・・・・・エリア保存
Aレジスタ、332・・・・・・エリアA比較器、33
3・・・・・・エリアB・テーブル・レジスタ、334
・・・・・・エリア保存Bレジスタ、335・・・・・
・エリアB比較器、336・・・・・・ページ・テーブ
ル・レジスタ。 代理人 弁理士 内 原 晋 彬 切
Claims (1)
- 少なくともエリア・テーブルおよびページ・テーブルを
含む複数段のテーブルを用いて仮想アドレスを実アドレ
スに変換するとともに、仮想セクション番号、仮想エリ
ア番号および仮想ページ番号を含むベクトル番号を登録
するエントリを複数有するアドレス変換索引バッファを
備えたアドレス変換装置において、前記アドレス変換索
引バッファを入れ替えた時、前記仮想セクション番号と
前記仮想エリア番号を保存するエリア保存レジスタと、
前記アドレス変換索引バッファの入れ替え時のエリア・
テーブル・エントリを保存するページ・テーブル・レジ
スタと、前記ページ・テーブル・レジスタと前記エリア
保存レジスタの一致を検出するエリア比較器とを設け、
前記アドレス変換索引バッファに現在の前記仮想ベクト
ル番号に対応したエントリが存在しない場合に、前記ア
ドレス変換索引バッファの入れ替えをした時に保存して
おいた前記エリア保存レジスタと、現在の前記仮想セク
ション番号から前記仮想エリア番号までの値とを前記エ
リア比較器を用いて比較し、一致している場合には、保
存しておいた前記ページ・テーブル・レジスタのページ
・テーブル情報を用いてページ・テーブルをアクセスし
てアドレス変換を行なうことを特徴とするアドレス変換
装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1024859A JPH02205953A (ja) | 1989-02-03 | 1989-02-03 | アドレス変換装置 |
KR1019900001284A KR930007674B1 (ko) | 1989-02-03 | 1990-02-03 | 어드레스 변환장치 |
US07/474,261 US5193160A (en) | 1989-02-03 | 1990-02-05 | Address translation system with register storing section and area numbers |
EP19900102232 EP0381245A3 (en) | 1989-02-03 | 1990-02-05 | Address translation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1024859A JPH02205953A (ja) | 1989-02-03 | 1989-02-03 | アドレス変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02205953A true JPH02205953A (ja) | 1990-08-15 |
Family
ID=12149943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1024859A Pending JPH02205953A (ja) | 1989-02-03 | 1989-02-03 | アドレス変換装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5193160A (ja) |
EP (1) | EP0381245A3 (ja) |
JP (1) | JPH02205953A (ja) |
KR (1) | KR930007674B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724540A (en) * | 1988-03-28 | 1998-03-03 | Hitachi, Ltd. | Memory system having a column address counter and a page address counter |
US5890220A (en) * | 1991-02-05 | 1999-03-30 | Hitachi, Ltd. | Address conversion apparatus accessible to both I/O devices and processor and having a reduced number of index buffers |
US5450558A (en) * | 1992-05-27 | 1995-09-12 | Hewlett-Packard Company | System for translating virtual address to real address by duplicating mask information in real page number corresponds to block entry of virtual page number |
US5918251A (en) * | 1996-12-23 | 1999-06-29 | Intel Corporation | Method and apparatus for preloading different default address translation attributes |
US7685400B2 (en) * | 2004-12-15 | 2010-03-23 | International Business Machines Corporation | Storage of data blocks of logical volumes in a virtual disk storage subsystem |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
DE3107632A1 (de) * | 1981-02-27 | 1982-09-16 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und schaltungsanordnung zur adressierung von adressumsetzungsspeichern |
GB8405491D0 (en) * | 1984-03-02 | 1984-04-04 | Hemdal G | Computers |
JPS6184754A (ja) * | 1984-10-03 | 1986-04-30 | Hitachi Ltd | 拡張アドレス変換装置 |
JPH0812636B2 (ja) * | 1986-12-24 | 1996-02-07 | 株式会社東芝 | 仮想記憶制御方式の計算機システム |
JP2615103B2 (ja) * | 1987-12-11 | 1997-05-28 | 株式会社日立製作所 | 仮想計算機システム |
US5099415A (en) * | 1989-02-15 | 1992-03-24 | International Business Machines | Guess mechanism for virtual address translation |
US5077826A (en) * | 1989-08-09 | 1991-12-31 | International Business Machines Corporation | Cache performance in an information handling system employing page searching |
-
1989
- 1989-02-03 JP JP1024859A patent/JPH02205953A/ja active Pending
-
1990
- 1990-02-03 KR KR1019900001284A patent/KR930007674B1/ko not_active IP Right Cessation
- 1990-02-05 EP EP19900102232 patent/EP0381245A3/en not_active Withdrawn
- 1990-02-05 US US07/474,261 patent/US5193160A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR930007674B1 (ko) | 1993-08-18 |
US5193160A (en) | 1993-03-09 |
EP0381245A2 (en) | 1990-08-08 |
EP0381245A3 (en) | 1992-01-15 |
KR900013395A (ko) | 1990-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3640978B2 (ja) | ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置 | |
JP4268332B2 (ja) | 仮想アドレスからページ・テーブル・インデックスを計算する方法および装置 | |
JP3998787B2 (ja) | 様々なデフォルト・アドレス変換属性を事前ロードする方法および装置 | |
JP3936378B2 (ja) | アドレス変換装置 | |
US4774653A (en) | Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers | |
KR890004994B1 (ko) | 어드레스 변환 제어장치 | |
CA1332984C (en) | Dual cache memory | |
JP2002334114A (ja) | テーブル管理方法及び装置 | |
JPH02205953A (ja) | アドレス変換装置 | |
EP1276051A2 (en) | Address translation device | |
EP0486154B1 (en) | Method of operating a virtual memory system | |
JPH04128946A (ja) | アドレス変換方式 | |
JPS623354A (ja) | キヤツシユメモリ・アクセス方式 | |
US7793069B2 (en) | Indexing for dynamic address translation | |
JPS62151958A (ja) | 仮想アドレス変換装置 | |
JP2502811B2 (ja) | 物理キャッシュ装置 | |
JP2772251B2 (ja) | アドレス変換バッファ | |
JPH06309196A (ja) | トレース機能付情報処理装置 | |
JPS626350A (ja) | Tlb制御装置 | |
JPH08101843A (ja) | 情報検索装置 | |
JPH07105097A (ja) | アドレス変換制御装置 | |
JP2004187114A (ja) | アドレスフィルタリング装置 | |
JPS6324337A (ja) | キャッシュ・メモリ管理方式 | |
JPS62172451A (ja) | デ−タ処理装置 | |
KR19990079645A (ko) | X86 호환 프로세서를 위한 메모리 관리 회로 및 그 설계 방법 |