JPH0772880B2 - アドレス変換装置および方法 - Google Patents

アドレス変換装置および方法

Info

Publication number
JPH0772880B2
JPH0772880B2 JP4119068A JP11906892A JPH0772880B2 JP H0772880 B2 JPH0772880 B2 JP H0772880B2 JP 4119068 A JP4119068 A JP 4119068A JP 11906892 A JP11906892 A JP 11906892A JP H0772880 B2 JPH0772880 B2 JP H0772880B2
Authority
JP
Japan
Prior art keywords
address
page
output
real
address 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 - Lifetime
Application number
JP4119068A
Other languages
English (en)
Other versions
JPH05134927A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05134927A publication Critical patent/JPH05134927A/ja
Publication of JPH0772880B2 publication Critical patent/JPH0772880B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65—Details of virtual memory and virtual address translation
    • G06F2212/654—Look-ahead translation
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65—Details of virtual memory and virtual address translation
    • G06F2212/655—Same page detection

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、データ処
理システムのための仮想記憶装置(メカニズム)に関
し、より詳しくは、ページ−クロッシング(page−
crossing)を予測し、前もってページアドレス
を変換するアドレス変換装置に関する。
【0002】
【従来の技術】データ処理システムのための仮想記憶の
組織(organization)および管理(man
agement)については、たとえばHarvey
M.DeitelがAn Introduction
to Operating Systems,Addi
son−Wesley(1984)において、Haro
ld LorinおよびHarvey M.Deite
lがOperatingSystems,Addiso
n−Wesley(1981)において、また、Har
old S.StoneがHigh−Performa
nce Computer Architectur
e,Addison−Wesley(1987)におい
て記述している。仮想記憶システムにおいて、ページン
グとは、再配置およびアドレスを物理的な位置に結合す
るための装置であり、実際に利用可能なメモリ空間より
もはるかに大きいメモリ空間と思われるメモリをユーザ
のシステムに提供するための装置である。仮想記憶の概
念のキーとなる特徴は、実行中のプロセスにおいて参照
されるアドレスを主記憶装置において利用可能なアドレ
スから分離することにある。実行中のプロセスにより参
照されるアドレスが仮想アドレスと呼ばれ、一方、主記
憶装置において利用可能なアドレスは実アドレスと呼ば
れる。プロセスを実行するときに仮想アドレスを実アド
レス中にマッピングしなければならない。そして、その
ことがダイナミックアドレス変換(DAT)機構の機能
となる。そのようなアドレス変換機構のうちひとつで
は、ディレクトリルックアサイドテーブル(DLAT)
を採用する。このテーブルは、ときには変換ルックアサ
イドバッファ(TLB)とも呼ばれ、最新の仮想アドレ
ス変換を記憶する。DLATに格納された仮想アドレス
に対して、変換プロセスは1マシンサイクル、あるいは
せいぜい2マシンサイクルを要するのみである。DLA
Tに格納されていないアドレスに対しては、DATプロ
セスは15から60サイクルもしくはそれ以上のサイク
ルを要するかも知れない。
【0003】仮想アドレスから実アドレスへの変換で
は、アドレス付けのインストラクションまたはデータが
メインメモリのどこに位置するかを検出しなければなら
ない。これは典型的には1ページ単位で行われる。事
実、上記DLATにストアされた変換は実際にページ変
換であり、アドレスの最終ビットはそのページの中の位
置を示すので、ページアドレスのみを変換しなければな
らない。アドレスは、科学計算におけるようにしばしば
特定の順序にあり、この場合にはメモリにおいてアドレ
スが特定のインクリメントにある。これらインクリメン
トは“ストライド”と呼ばれている。もしも全てのアド
レスが、インクリメントの順序にあるならば、ストライ
ドは1である。しかしながら、1つおきのアドレスを用
いる場合にはストライドは2であり、以下同様となる。
このことがこれからのアドレスの予測を容易にする。科
学計算やベクトル計算では、命令によってスタートアド
レス、ストライドおよび命令中のオペランドの個数を特
定する。このことにより、先に変換されたアドレスをス
トライドだけインクリメントさせて次のアドレスを得る
というアドレス発生を行うことができ、これにより1ペ
ージ内のアドレス変換のオーバヘッドを避ける。しかし
ながら、ページ−クロッシングに直面するときにはいつ
でも、次のアドレスはDLATまたはバッファ制御エレ
メント(BCE)に行って、前のように仮想ページ−ア
ドレスを実ページ−アドレスに変換しなければならな
い。このように、ページ−クロッシングについては、3
0サイクル以上の遅れを生じるDLAT「ミス」の可能
性がある。
【0004】それ故、本発明の目的は、ページ−クロッ
シングを予測し、次ページ内の最初の仮想アドレスにつ
いてのアドレス変換を、その変換が実際に必要になる前
に実行するような改良された仮想変換機構を提供するこ
とにある。
【0005】
【作用】本発明によれば、実アドレスはストライド値に
基づき、ページ内の始まりの変換されたアドレス(開始
実アドレス)から発生される。ページ−クロッシングに
より通常、引き起こされる遅延を回避するために、次ペ
ージの最初の仮想アドレス(開始仮想アドレス)に対す
るアドレス変換のための要求が、そのアドレスが実際に
必要となる前に、送出される。これは、現在のページ内
の実アドレスが、ストライド値に基づき発生されている
間に、他のページの開始実ページアドレスのための予測
開始アドレスを発生する。これにより次のページ−クロ
ッシングを予測することにより達成される。この予測
は、ストライド値、オペランドサイズおよびページモー
ド、本実施例では4Kまたは1Mのいずれかを基にす
る。
【0006】上述の目的および他の目的、形態および利
点は、図面を参照してなされる本発明の好適実施例につ
いての以下の詳細な記述からよりよく理解されよう。
【0007】
【実施例】
以下の説明ではダイナミックルック−アサイドテーブル
に対して用語“DLAT”を用いるが、当業者は、この
用語を変換ルック−アサイドバッファに対する“TL
B”と入れ替えて用いてもよいことを理解するであろ
う。以下の説明のためにページング/セグメンテーショ
ン仮想アドレスシステムを仮定する。そのようなシステ
ムにおいて、仮想アドレスのフォーマットは図1に示す
通りであり、仮想アドレスのフォーマットは、セグメン
トインデックス(SX)に対してsビット、ページイン
デックス(PX)に対してpビットおよびディスプレイ
スメントインデックス(DX)に対してdビットを有し
ている。仮想アドレスは、たとえば32ビットとするこ
とができ、そのうちのビットA0〜A11がセグメント
ビットを構成し、ビットA12〜A19がページビット
を構成し、ビットA20〜A31がディスプレイスメン
トビットを構成する。
【0008】図2に示すように、仮想アドレスはアドレ
ス発生器20により発生される。アドレス発生器20は
中央処理装置(CPU)(不図示)の一部分である。最
も最近に参照されるページはDLAT21にエントリー
を有する。256の合同(congruence)クラ
スを持つDLATに対して、仮想アドレスのビットA1
2〜A19を用いてDLATをアドレス付けする。DL
AT21から読出された、アドレス付けされたエントリ
ーからの、仮想ページ識別ビットはコンパレータ22に
おいて、仮想アドレスのビットA1〜A11と比較され
る。もしも合致がない場合は、DLATミスが発生して
いる。DLATミスの時は、アドレス変換は、たとえ
ば、セグメント/ページテーブル検索を通して得られ、
DLATに配置される。この検索を実行する構造はバッ
ファコントロールエレメント(BCE)と呼ばれる。
【0009】セグメント/ページテーブル検索は、セグ
メントテーブルオリジンレジスタ23内の値と、加算器
24内の仮想アドレスのビットA0〜A12とを加算し
て、セグメントマップテーブル25のインデックス値を
得ることから開始する。次に、セグメントマップテーブ
ル25からのエントリー出力は、ページマップテーブル
26エントリーのためのインデックスとして用いられ
る。ここで、各セグメントに対して個別のページマップ
テーブルがある。ページマップテーブル26からのエン
トリー出力は、実記憶装置内において仮想ページが存在
するページフレームを供給し、そして、オアゲート27
を通過して、そして、仮想アドレス発生器20のディス
プレイスメントビットA20〜A31と連接されて、実
アドレスレジスタ28において実アドレスを形成する。
【0010】他方、もしもDLAT21において、合致
がある場合は、コンパレータ22は、アンドゲート29
をイネーブルして、このアンドゲート29によりDLA
T21からのエントリー出力をオアゲート27へ通過さ
せる。この場合、DLAT21からのエントリー出力
は、ディスプレイスメントビットA20〜A31に対し
て連接される関連する実アドレスフィールドであって、
レジスタ28において実記憶アドレスを形成する。明ら
かに、このアドレス変換のプロセスはDLATミスの時
に生じるセグメント/ページテーブル検索の場合よりも
著しく速い。セグメント/ページテーブル検索は完了ま
でに15〜80サイクルを要するかもしれないのに対し
てDLATアクセスは1サイクルで完了することができ
る。
【0011】通常、大抵のアドレス変換要求はDLAT
の検索によりなされ、そして、セグメント/ページテー
ブル検索は、DLATによるかかる変換を行うよりも多
数のプロセッササイクルを要するが、セグメント/ペー
ジテーブル検索自体は、変換の失敗の可能性がないわけ
ではない。セグメントマップテーブル検索は、セグメン
トが1次の、すなわち主記憶装置に存在しないことを示
すかも知れず、それによりオペレーティングシステムは
2次記憶装置、すなわち、ダイレクトアクセス記憶装置
(DASD)のセグメントを探し出し、セグメントのた
めのページテーブルを作成し、そして適切なページを1
次記憶装置にロードし、多分プロセス内の現存ページと
置換する。
【0012】たとえセグメントが1次記憶装置内に存在
していても、所望のページは1次記憶装置には存在しな
いかも知れず、それによりオペレーティングシステムは
2次記憶装置のページを探し出し、そのページを1次記
憶装置にロードし、再び、多分プロセス内の現存ページ
と置換する。2次記憶装置にアクセスするプロセスは、
数百プロセッササイクルまでかかる。
【0013】上述の説明は、プロセッササイクル毎に
(多くとも)1つの変換を行うように意図された慣例の
DLAT構造に関するものである。本発明は、この構造
を変更して、現在のページの中の最初のアドレスが仮想
アドレスから実アドレスに変換された後に、次のページ
アドレス変換を開始する。現在のページの中で引続く実
アドレスはストライド値を用いて発生されるので、アド
レス発生器は次ページアドレス変換をただちに開始する
ことができる。大抵の場合、次ページ変換は、それが必
要となる前に行うことができ、そして、最悪の場合でも
通常のモード状態の場合におけるよりも早く開始され
る。本発明によれば、DLATが使用可能な時間を持つ
ときに、2つ以上のアドレス発生器によりそのDLAT
を使用することができる。
【0014】特に図3を参照するに、ベクトル命令の開
始仮想アドレスは、たとえば、レジスタ30にストアさ
れる。ストライド値およびオペランドサイズは、それぞ
れ、レジスタ31および32にストアされる。複数サイ
ズのページの選択が実行されるページモードはレジスタ
33により選択される。好適実施例では、4Kバイトお
よび1Mバイトのページがサポートされる。レジスタ3
0からの開始仮想アドレスは、マルチプレクサ35を介
してDLAT34に送られてあるページの開始実アドレ
スを発生する。もし、DLATミスがある場合には、図
2を参照して述べたように、BCE36によりアドレス
変換を実行する。いずれの場合においても、変換された
開始実アドレスはオアゲート38およびマルチプレクサ
39を介して実アドレスレジスタ37に読み込まれる。
実アドレス変換がBCE36によりなされる場合には、
変換されたアドレスはDLAT34に読み込まれ、以後
の変換に用いられる。
【0015】マルチプレクサ35および39を除いてこ
れまでに述べた構造は図2に示すアドレス変換装置の単
純化された変形例である。特にベクトル処理およびある
スカラー処理動作に関しては、DLAT34は、あるペ
ージのための開始実アドレスが発生された後にバイパス
される。オアゲート38からのそのページのための開始
実アドレスは、レジスタ40に読み込まれ、そこから、
アンドゲート41によりゲートされてレジスタ42に供
給される。レジスタ31のストライド値は加算器43に
よりレジスタ42内の開始実アドレスに加算され、その
合計がレジスタ42にストアされる。この連続の実アド
レスはアンドゲート44およびマルチプレクサ39を通
過して実アドレスレジスタ37に到る。このようにし
て、あるページ内において、アドレス変換がストライド
加算器43により実行され、DLAT34を解放する。
【0016】ページクロッシングのときは、ページクロ
ッシング検出器45によりその旨が検出されるが、アン
ドゲート44はインヒビットされて加算器43の出力が
実アドレスレジスタ37へ供給されるのを阻止する。そ
の代わりに、オアゲート38の出力がマルチプレクサ3
9により選択されて実アドレスレジスタ37に供給され
る。それと同時に、アンドゲート41がページクロッシ
ング検出器45によりイネーブルされてレジスタ40に
一時的にストアされていた実アドレスを、新しいページ
のための開始実アドレスとして、レジスタ42と61お
よびマルチプレクサ39に読み込む。
【0017】ページクロッシング検出器45は、それの
入力として、加算器43からの出力およびレジスタ61
の内容を受け取る。レジスタ42がロードされるのと同
時に、レジスタ61はレジスタ40からアンドゲート4
1を経てロードされるが、レジスタ61はページが変わ
るまでは変化しない。図4に示すように、ページクロッ
シング検出器45のロジックは、加算器43により発生
されたアドレスの各ビットとレジスタ61からの各ビッ
トとの排他的論理和をとって、ページが変わったか否か
を決定する。図示の例では、4Kページを仮定し、そし
て取扱われるアドレスビットはA12からA19とす
る。エクスクルーシブオアゲート63の出力はオアゲー
ト64において論理和演算されて、アンドゲート41お
よび44への出力が発生される。
【0018】本発明はこの構造およびDLAT34の結
果として得られるアイドル時間を利用して、アクセスさ
れるべきメモリの次のページの中の開始実アドレスを発
生し、および/またはマルチプレクサ39が2つ以上の
アドレス発生器により用いられることを許容する。レジ
スタ31内のストライド値は乗算器46においてレジス
タ32のオペラントサイズと乗算される。乗算器46か
らの積は、コンパレータロジック47に入力され、開始
仮想アドレスをどれだけインクリメントすべきかが決定
される。たとえば、もしもスイッチ48により選択され
たページサイズが4Kバイトであり、そして、オペラン
ドサイズにおけるバイト数のストライド倍が4Kバイト
以下の場合には、アンドゲート49はコンパレータ47
によりイネーブルされて値4Kをオアゲート50を経て
加算器51に通過させる。加算器51は値4Kを仮想ア
ドレスレジスタ30にストアされている開始仮想アドレ
スに加える。このようにして、開始仮想アドレスが4K
バイトだけインクリメントされて予測仮想アドレスとし
て次の仮想ページアドレスが得られ、このアドレスは予
測仮想アドレスレジスタ52に一時的にストアされる。
この例において、もしもオペランドサイズをストライド
値倍したものが4Kバイトよりも大きい場合は、アンド
ゲート53はコンパレータ47によりイネーブルされ、
そして、開始仮想アドレスは乗算器46からの積出力だ
けインクリメントされて、次のページ仮想アドレスが得
られる。
【0019】その結果は、通常のプロセッシングおよび
DLATへのエントリーのためにマルチプレクサ35を
経てDLAT34に送られ、DLATが必要となる時に
変換の準備が完了している。このプロセスは通常のアド
レス発生プロセスと並行して続行させることができる。
DLATには低いプライオリティーが与えられており、
通常のDLAT変換を中断なしに行うことができるよう
にする。
【0020】図5はマルチプレクサ35のロジックを示
す。アンドゲート66は、命令信号の開始仮想アドレス
によりイネーブルされたとき、レジスタ30の開始仮想
アドレスをオアゲート67を経てDLAT34に通過さ
せる。アンドゲート68は、ページクロッシング検出器
45からの出力によりイネーブルされたときに、レジス
タ52からの予測仮想アドレスをオアゲート67を経て
DLAT34に通過させる。
【0021】図6はマルチプレクサ39のロジックを示
す。アンドゲート71は、命令信号の開始仮想アドレス
によりイネーブルされたときに、オアゲート38の出力
をオアゲート72を経て実アドレスレジスタ37に通過
させる。アンドゲート73は、ページクロッシング検出
器45の出力によりイネーブルされたときに、アンドゲ
ート41の出力をオアゲート72を経て実アドレスレジ
スタ37に通過させる。ページクロッシング検出器45
の出力によりアンドゲート74の出力を禁止する。アン
ドゲート74は、禁止されていない場合には、アンドゲ
ート44の出力をオアゲート72を介して実アドレスレ
ジスタ37に通過させる。このようにして、マルチプレ
クサ39は、最初の命令の変換された開始実アドレスが
実アドレスレジスタ37に行くのを許可する。次いで、
マルチプレクサ39は、アンドゲート44の出力を用い
てページクロッシングがあるまでレジスタ37にアドレ
スを供給する。ページクロッシングがある場合には、ア
ンドゲート41の出力を用いる。
【0022】以上では本発明を1つの好適実施例につい
て述べてきたが、本発明は、その特許請求の範囲の精神
および範囲内で変更して実施できることを当業者は認識
するであろう。
【0023】
【発明の効果】以上、説明したように、本発明によれ
ば、アドレスが実際に必要となる前にアドレス変換要求
が送出されるので、実ページアドレス変換において通常
生じるような遅延を回避することができる。
【図面の簡単な説明】
【図1】仮想アドレスのフォーマットを示すブロック図
である。
【図2】プロセッササイクルあて(多くとも)1アドレ
スの変換が可能な慣例のダイナミックアドレス変換構造
を示すブロック図である。
【図3】本発明の好適実施例による、ページ−クロッシ
ングを予測する仮想アドレス変換装置のブロック図であ
る。
【図4】図3に示した装置において用いられるページク
ロッシング検出器のロジック図である。
【図5】図3に示した装置において用いられるマルチプ
レクサのうちのひとつについてのロジック図である。
【図6】図3に示した装置において用いられるマルチプ
レクサの他方のもののロジック図である。
【符号の説明】
21,34 DLAT 25 セグメントテーブル 26 ページテーブル 35 マルチプレクサ 36 BCE 39 マルチプレクサ 45 ページクロッシング検出器 30 仮想アドレスレジスタ 31,32,42,61 レジスタ 37 実アドレスレジスタ 52 予測仮想アドレスレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス ドンシク キム アメリカ合衆国 08904 ニュージャージ ー州 ハイランド パーク シダー レー ン 24ビィー

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムのためのアドレス変
    換装置において、 発生された仮想アドレスに対応した、あるページ内の開
    始実アドレスをストアする手段と、 ストライド値およびオペランドサイズをストアする手段
    と、 前記ストライド値を前記開始実ページアドレスに順次に
    加算することによりそのページ内の実ページアドレスを
    発生する手段と、 前記発生された仮想アドレス、ストアされた前記ストラ
    イド値および前記オペランドサイズに基づき、他のペー
    ジの開始実ページアドレスのための予測仮想アドレスを
    発生する手段と、 ページクロッシングに先立って前記予測仮想アドレスを
    予め変換する手段とを具えたことを特徴とするアドレス
    変換装置。
  2. 【請求項2】 請求項1に記載のアドレス変換装置にお
    いて、前記予測仮想アドレスを発生する手段は、 前記ストアされたストライド値と前記オペランドサイズ
    とを乗算して積出力を発生する手段と、前記積出力と予
    め定められたページサイズとを比較する手段と、 前記比較手段に応答して前記積出力または前記予め定め
    られたページサイズのいずれかを加算対象の出力として
    選択する手段と、 前記加算対象の出力と前記発生された仮想アドレスとを
    加算して、前記予測仮想アドレスとなる出力を作成する
    加算手段とを具えたことを特徴とするアドレス変換装
    置。
  3. 【請求項3】 請求項2に記載のアドレス変換装置にお
    いて、前記予測仮想アドレスを予め変換する手段は、ダ
    イナミックアドレス変換手段を有し、該ダイナミックア
    ドレス変換手段もまた前記発生された仮想アドレスに対
    応して、あるページ内の前記開始実ページアドレスを発
    生することを特徴とするアドレス変換装置。
  4. 【請求項4】 請求項2に記載のアドレス変換装置にお
    いて、前記ページ内の実ページアドレスを発生する手段
    は、 加数入力として前記ストライド値および蓄積された出力
    を受け取り、ページ内の一連の実ページアドレスである
    出力を発生する第2の加算手段と、 前記蓄積された出力を供給する蓄積手段であって、初期
    的に前記開始実ページアドレスでロードされ、それか
    ら、前記一連の実ページアドレスを受け取る蓄積手段と
    を具えたことを特徴とするアドレス変換装置。
  5. 【請求項5】 請求項2に記載のアドレス変換装置にお
    いて、前記ページ内の実ページアドレスを発生する手段
    は、 前記開始実ページアドレスおよび前記第2の加算手段の
    出力に応答して、ページクロッシングを検出する手段
    と、 該ページクロッシングを検出する手段に応答して前記第
    2の加算手段の出力を禁止する手段とを具えたことを特
    徴とするアドレス変換装置。
  6. 【請求項6】 請求項2に記載のアドレス変換装置にお
    いて、複数のページサイズをストアする手段と、 前記複数のページサイズのうちのひとつを選択し、その
    選択されたページサイズを前記予め定めたページサイズ
    とする手段とを具えたことを特徴とするアドレス変換装
    置。
  7. 【請求項7】 データ処理システムにおけるアドレス変
    換方法において、 発生された仮想アドレスに対応した、あるページ内の開
    始実ページアドレスをストアするステップと、 ストライド値およびオペランドサイズをストアするステ
    ップと、 前記ストライド値を前記開始実ページアドレスに順次に
    加算することによりそのページ内の実ページアドレスを
    発生するステップと、 前記発生された仮想アドレス、ストアされた前記ストラ
    イド値および前記オペランドサイズに基づき、他のペー
    ジの開始実ページアドレスのための予測仮想アドレスを
    発生するステップと、 ページクロッシングに先立って、前記予測仮想アドレス
    を予め変換するステップとを具えたことを特徴とするア
    ドレス変換方法。
  8. 【請求項8】 請求項7に記載のアドレス変換方法にお
    いて、前記予測仮想アドレスを予め変換するステップ
    は、 前記ストアされたストライド値と前記オペランドサイズ
    とを乗算して積出力を発生するステップと、 前記積出力と予め定められたページサイズとを比較する
    ステップと、 前記比較手段に応答して前記積出力または前記予め定め
    られたページサイズのいずれかを加算対象の出力として
    選択するステップと、 前記加算対象の出力と前記発生された仮想アドレスとを
    加算して、前記予測仮想アドレスとなる出力を作成する
    ステップとを具えたことを特徴とするアドレス変換方
    法。
  9. 【請求項9】 請求項8に記載のアドレス変換方法にお
    いて、複数のページサイズをストアするステップと、 前記複数のページサイズのうちのひとつを選択し、その
    選択されたページサイズを前記予め定めたページサイズ
    とするステップとを具えたことを特徴とするアドレス変
    換方法。
JP4119068A 1991-06-21 1992-05-12 アドレス変換装置および方法 Expired - Lifetime JPH0772880B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US718739 1991-06-21
US07/718,739 US5278963A (en) 1991-06-21 1991-06-21 Pretranslation of virtual addresses prior to page crossing

Publications (2)

Publication Number Publication Date
JPH05134927A JPH05134927A (ja) 1993-06-01
JPH0772880B2 true JPH0772880B2 (ja) 1995-08-02

Family

ID=24887301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4119068A Expired - Lifetime JPH0772880B2 (ja) 1991-06-21 1992-05-12 アドレス変換装置および方法

Country Status (2)

Country Link
US (1) US5278963A (ja)
JP (1) JPH0772880B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
JPH05165715A (ja) * 1991-12-12 1993-07-02 Nec Corp 情報処理装置
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
KR950701437A (ko) * 1992-05-01 1995-03-23 요시오 야마자끼 슈퍼스칼라 마이크로프로세서에서의 명령어 회수를 위한 시스템 및 방법
US5715421A (en) * 1992-10-16 1998-02-03 Seiko Epson Corporation Apparatus and method of addressing paged mode memory including adjacent page precharging
JP2725546B2 (ja) * 1992-12-07 1998-03-11 株式会社日立製作所 デ−タ処理装置
US5729723A (en) * 1992-11-16 1998-03-17 Hitachi, Ltd. Data processing unit
US5628021A (en) * 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
KR100292300B1 (ko) 1992-12-31 2001-09-17 야스카와 히데아키 레지스터재명명시스템및방법
US5548739A (en) * 1993-11-04 1996-08-20 Sun Microsystems, Inc. Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US5752275A (en) * 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
US5918250A (en) * 1995-05-05 1999-06-29 Intel Corporation Method and apparatus for preloading default address translation attributes
US5694568A (en) * 1995-07-27 1997-12-02 Board Of Trustees Of The University Of Illinois Prefetch system applicable to complex memory access schemes
US5758087A (en) * 1996-06-14 1998-05-26 International Business Machines Corporation Apparatus and method for predicted response generation
US5893930A (en) * 1996-07-12 1999-04-13 International Business Machines Corporation Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer
US5918251A (en) * 1996-12-23 1999-06-29 Intel Corporation Method and apparatus for preloading different default address translation attributes
US6580431B1 (en) 1999-03-04 2003-06-17 Nexmem System, method, and computer program product for intelligent memory to accelerate processes
US20020135611A1 (en) * 1999-03-04 2002-09-26 Trevor Deosaran Remote performance management to accelerate distributed processes
US6961837B2 (en) * 2003-03-25 2005-11-01 Intel Corporation Method and apparatus for address translation pre-fetch
US7418572B2 (en) * 2004-08-18 2008-08-26 International Business Machines Corporation Pretranslating input/output buffers in environments with multiple page sizes
US7660964B2 (en) * 2005-08-02 2010-02-09 International Business Machines Corporation Windowing external block translations
US9804969B2 (en) 2012-12-20 2017-10-31 Qualcomm Incorporated Speculative addressing using a virtual address-to-physical address page crossing buffer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism
US4228504A (en) * 1978-10-23 1980-10-14 International Business Machines Corporation Virtual addressing for I/O adapters
US4520439A (en) * 1981-01-05 1985-05-28 Sperry Corporation Variable field partial write data merge
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US4722047A (en) * 1985-08-29 1988-01-26 Ncr Corporation Prefetch circuit and associated method for operation with a virtual command emulator
US4903194A (en) * 1987-11-12 1990-02-20 International Business Machines Corporation Storage addressing error detection circuitry
JP3005626B2 (ja) * 1988-09-21 2000-01-31 株式会社日立製作所 データ処理システムおよびデータ転送方法

Also Published As

Publication number Publication date
JPH05134927A (ja) 1993-06-01
US5278963A (en) 1994-01-11

Similar Documents

Publication Publication Date Title
JPH05134927A (ja) アドレス変換装置および方法
KR960001946B1 (ko) 우선 변환 참조버퍼
US3735360A (en) High speed buffer operation in a multi-processing system
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US5247639A (en) Microprocessor having cache bypass signal terminal
JP2618175B2 (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
US4985825A (en) System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
KR930002328B1 (ko) 가상 어드레스의 유효 성능을 물리적 어드레스 변환으로 예측하는 방법 및 장치
US5475827A (en) Dynamic look-aside table for multiple size pages
JP2769097B2 (ja) アドレス変換方法及びデータ処理装置
EP3454219B1 (en) An apparatus and method for efficient utilisation of an address translation cache
TWI582592B (zh) 用於存取快取記憶體的方法與裝置
KR930002945A (ko) 프리페치버퍼 및 프리페치버퍼를 적용한 정보처리장치
KR100335672B1 (ko) 메모리페이지크로싱예측주석을사용하는실제주소지정데이타기억구조로부터의빠른데이타검색
KR20170139659A (ko) 메모리를 어드레싱하기 위한 별개의 레지스터들을 가진 컴퓨터 프로세서
US20180157601A1 (en) Apparatus and method for avoiding conflicting entries in a storage structure
US7269825B1 (en) Method and system for relative address translation
CN110059027A (zh) 执行维护操作的装置和方法
KR100354465B1 (ko) 어드레스 변환 회로
KR910001314B1 (ko) 데이타 처리 시스템에서의 가상 메모리 사용방법
CN110046107A (zh) 存储器地址转换
JPH06236353A (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
EP0519685A1 (en) Address translation
US5341485A (en) Multiple virtual address translation per computer cycle
JP4574712B2 (ja) 演算処理装置、情報処理装置及び制御方法