JPH01226055A - アドレス変換方式 - Google Patents

アドレス変換方式

Info

Publication number
JPH01226055A
JPH01226055A JP63050622A JP5062288A JPH01226055A JP H01226055 A JPH01226055 A JP H01226055A JP 63050622 A JP63050622 A JP 63050622A JP 5062288 A JP5062288 A JP 5062288A JP H01226055 A JPH01226055 A JP H01226055A
Authority
JP
Japan
Prior art keywords
address
page
virtual
address translation
tlb
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
JP63050622A
Other languages
English (en)
Inventor
Hitoshi Yamahata
山畑 均
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63050622A priority Critical patent/JPH01226055A/ja
Publication of JPH01226055A publication Critical patent/JPH01226055A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はアドレス変換方式、特に仮想記憶方式を採用す
る中央処理装置のアドレス変換方式に関する。
〔従来の技術〕
ページング方式を用いた仮想記憶方式においては2分岐
、データリード、データライトなどの主記憶アクセスが
必要となった場合に、仮想アドレスから実アドレスへの
アドレス変換を行う他に。
連続する命令実行によって命令フェッチがページの境界
を越えた時にも2次のページの仮想アドレスを実アドレ
スに変換していた。仮想アドレスから実アドレスへの変
換は、主記憶上に存在し、アドレス変換の情報を保持し
ているアドレス変換テーブルのうち、変換するべき仮想
アドレスにより特定されるエントリの情報をもとに行わ
れる。
従来の仮想記憶方式における仮想空間構成と情報処理装
置の例を以下に説明する。
第3図に示すように、仮想アドレスは32ビツトとし、
1つの仮想空間は4Gノ々イトの大きさを持ち4つのセ
クションからなる。1つのセクションはIGバイトの大
きさを持ち1024個のエリアからなる。1つのエリア
は1Mバイトの大きさを持ち256個の4−ジからなる
。1つのページは4にバイトの大きさを持つ。
第4図に示すように、32ビツトの仮想アドレスは4つ
のフィールドに分割される。401のフィールドはセク
ション番号で2ビット幅である。
402のフィールドはエリア番号で10ビット幅である
。403のフィールドはページ番号で8ビット幅である
。404のフィールドはページ内オフセットで12ビッ
ト幅である。
第5図はアドレス変換装置を備えた情報処理装置の例を
示す構成図である。501は中央処理装置、502は主
記憶装置、503はアドレス変換部を備えたアドレス変
換ユニット(以後■ルと略す)であシ、中央処理装置5
01が主記憶装置502をアクセスする際に仮想アドレ
スから実アドレス変換を行う。504は主記憶制御ユニ
ット(以後SCU七略す)であシ、 MMo、503か
らの実アドレスにより主記憶装置502をアクセスして
命令フェッチやデータリードを行う。505は命令デコ
ードユニット(以後IDUと略す)、506は命令実行
ユニット(以後EXUと略す)である。
IDU 505はSCU 504がフェッチした命令を
デコードし、命令の実行に必要な命令種別の情報等をE
XU 506に渡す。またIDU 505は分岐やオイ
ランドリードが必要なときに、主記憶装置502へのア
クセス要求をMMU 503に渡す。EXU 506は
IDU 505からの命令デコード情報とSCU 50
4からのオペランドにより命令を実行し、必要ならばラ
イトオペランドをSCU 504に渡す。
IDU 505からのアクセス要求には仮想アドレスと
アクセスの種類とが含まれている。仮想アドレスから実
アドレスへのアドレス変換は次のように行われる。MM
U 503の内部にあシエリアテーブルのペースアドレ
スを保持するエリアテーブル4−スレジメタ4本のうち
の1本が、変換すべき仮想アドレスのセクション番号4
01によって選択される。選択されたレノスタに保持さ
れているエリアテーブルベースアドレスと変換すべき仮
想アドレスのエリア番号402により主記憶上のエリア
テーブルエントリが選択され、 SCU 504によっ
て読み込まれる。読み込まれたエリアテープk エフ 
トリ内(7) 、2 .7テーブルペースアドレスと変
換すべき仮想アドレスの4−ジ番号403により主記憶
上のページテーブルエントリが選択され。
SCU 504によって読み込まれる。読み込まれたペ
ージテーブルエントリ内の実ページ番号と変換すべき仮
想アドレスのに一ジ内オフセット404とが連接されて
実アドレスとなる。
このように、アドレス変換の手順は複雑であるため、−
度アドレス変換が行われると、得られた仮想アドレスと
実アドレスの対をアドレス変換索引機構(以後TLBと
略す)K登碌しぞ以後のアドレス変換を高速に行うこと
が行われている。また仮想アドレスから実アドレスへの
変換においては。
アドレス変換テーブルに存在する保護情報も利用される
。この保護情報を用いて、特定の仮想領域に対し実行、
読み出し、書き込みの各アクセスの可否を指定すること
ができる。
このようにして、従来のアドレス変換方式はアドレス変
換テーブルを用いて仮想アドレスから実アドレスへのア
ドレス変換を行っている。
〔発明が解決しようとする課題〕
上述した従来のアドレス変換方式では、アクセスの種類
により保護の機能を持つものの、アドレス変換は仮想ア
ドレスのうちのページ内オフセットを除く部分に対して
対応する実アドレスを行うだけであシ、゛仮想アドレス
のページ内オフセットに注目してはいなかった。分岐命
令の分岐先のアドレス変換において2分岐先仮想アドレ
スのページ内オフセットが十分に大きく2次のページと
の境界に近い場合にも9分岐先のアドレス変換のみ行っ
ていた。分岐後の命令の実行が進み1次のべ−ジ境界に
達した時には、改めて次ページの仮想アドレスのアドレ
ス変換が行われる。分岐先も次4−ジもどちらのアドレ
ス変換も、 TLBではなく。
主記憶上のアドレス変換テーブルを用いてアドレス変換
が行われた場合には、1回のアドレス変換の2倍の時間
を必要とする問題点がある。
本発明は従来のもののこのような問題点を解決しようと
するもので、2回の独立したアドレス変換を行うことに
比べて高速にアドレス変換を行うことのできるアドレス
変換方式を提供するものである。
〔課題を解決するための手段〕
本発明によるとベージングによる仮想記憶方式を採用し
主記憶上のアドレス変換テーブルにより仮想アドレスか
ら実アドレスへのアドレス変換を行い且つアドレス変換
索引機構を備えたアドレス変換装置を持つ情報処理装置
において、アドレス変換時に前記アドレス変換が、特定
の種類のアクセスのアドレス変換であることを検出する
第1の検出手段と、前記アドレス変換される仮想アドレ
スの4−ジ内オフセットがページ内の終端に近いことを
検出する第2の検出手段と、前記アドレス変換される仮
想アドレスの次ページの仮想アドレスを生成するアドレ
ス生成手段とを備え、前記第1の検出手段と第2の検出
手段の検出結果をもと罠前記特定の種類のアクセスのア
ドレス変換を行う際に、前記アドレス生成手段により次
(−ジのアドレス変換をも合せて行うことを特徴とする
アドレス変換方式が得られる。
すなわち2本発明は分岐先と次ページの仮想アドレスと
は仮想空間において隣接するページであるため、アドレ
ス変換の過程は同一であシ、まとめてアドレス変換を行
えば、アドレス変換の時間を大幅に短くすることができ
ることに着目し、上述した従来のアドレス変換方式では
仮想アドレスのページ内オフセットを参照していないの
に対し。
本発明は変換する仮想アドレスが分岐先であるというこ
とと、ページ内オフセットの値とを基にして2分岐に続
く命令フェッチがページ境界に達することを予測し、そ
の予測に応じて分岐先アドレスのアドレス変換時に次ペ
ージの仮想アドレスをもアドレス変換してTLBに登録
するようKしたものである。
〔実施例〕
次に9本発明について図面を参照して説明する。
第1図は本発明によるアドレス変換方式を採用したアド
レス変換ユニットの一実施例のブロック構成図である。
第1図は第5図におけるMMo 503に相当する。
第1図において、101はTLB 、 102は仮想ア
ドレスレジスタ(以後VARと略−t−る)、103は
次ページ仮想アドレスレジスタ(以後NVARト略する
)、104は卸に入力される仮想アドレスアクセス要求
パスであり、仮想アドレスとアクセスの種類とからなる
。105は仮想アドレス32ビット信号のうちページ内
オフセットを除いた20ビツトの信号。106は仮想ア
ドレス32ビット信号のうちのページ内オフセットの1
2ビツトの信号、107はアクセスの種類を表わす信号
群であり2分岐、データリード、データライト。
被−・ゾ越え等のアクセスの埋置をエンコードして表わ
す。108はTLBへの仮想アドレス入力セレクタ、1
09はTLBの変換後出力で実アドレスの上位20ピッ
ト信号、11OはTLBミスヒツト信号、 111は5
CIJ 504へ出力される実アドレスアクセス要求パ
ス、112はアドレス変換テーブル参照時にSCU 5
04へ出力される実アドレスアクセス要求ノ々ス、11
3はセレクタ、114は仮想アドレス105のうちのペ
ージ番号をインクリメントするインクリメンタ、115
はインクリメンタ114かもノキヤ、り出力、116は
NVAR103の4−ジ番号を表す信号、117はVA
R102のセクション番号を表す信号、118はvAR
102のエリア番号を表す信号、119はVAR102
のページ番号を表す信号、12oはアドレス変換装置制
御部(以後MMUCONTと略す)。
121はエリアテーブルレジスタATRO〜3゜122
はアクセスの種類を表す信号107とページ内オフセッ
ト信号106のデコーダ、123はエリア加算器、12
4はページ加算器、125はSCU 504からのリー
ドデータバスである。
第2図は第1図のアドレス変換ユニットにおけるアドレ
ス変換でTLBミスヒツトのときにMMUCONT12
0によって仮想アドレスから実アドレスへの変換が行わ
れる過程を示す図である。第2図において、201はエ
リアテーブルペースアドレス。
202はエリアテーブルエントリアドレス、203はエ
リアテーブル、204はエリアテーブルエントリ、20
5は4−X)テーブルペースアドレス。
206Uページテーブルエントリアドレス、207i;
i ヘー シテーブル、208は4−ジテーブルエン)
!7,209は実アドレス番号を表す信号、210は実
アドレスである。
先ず始めに第1図と第2図を用いて通常のアドレス変換
がどのように行われるかを説明し9次に本発明による分
岐先アドレス変換の高速化がどのように行われるかを説
明する。
アドレス変換の要求は仮想アドレスとアクセスの種類と
を組としてIDU 505からアクセス要求パス104
経由で伝えられる。アクセス要求パス104の信号のう
ち仮想アドレスの上位20ビツトはMAR102にラッ
チされる。セレクタ108に! j5 MAR102(
7)内容でTLB 101が検索され。
TLBにヒツトした場合はミスヒツト信号110はイン
アクティブとなり、 RAR126に実アドレス番号が
読み出される。実アドレス番号を表す信号はに一ジ内オ
フセット信号106.アクセスの種類を表す信号107
とともにセレクタ113により実アドレスアクセス要求
パス111を経て5CU504へ伝えられる。
TLB 101を検索した時にTLBミスヒツトとなり
、ミスヒツト信号110がアクティブになると。
MMUCONT 120に通知され、アドレス変換テー
ブルを用いたアドレス変換が起動される。MMUCON
T120でのアドレス変換は第2図に示す過程により行
われる。まずVAR102のセクション番号を表す信号
117により4本のATR121のうちの1本が選択さ
れる。選択されたATRに保持されているコリアテーブ
ルペースアドレス201が読み出され、エリア番号を表
す信号118とともにエリア加算器123により加算さ
れてエリアテーブルエントリアドレス202が得られる
。エリアテーブルエントリアドレス202とテーブルア
クセスの種類情報とが実アドレスアクセス要求パス11
2.111を通じてSCU 504へ伝えられる。
SCUによってエリアテーブルエントリ204か読み込
まれ、リードデータバス125を通ってMMUCONT
 120に伝えられる。このリードデータのうちページ
テーブルペースを表す信号205とページ番号119と
がページ加算器124により加算されてページテーブル
エントリアドレス206が得られる。これをもとに前記
エリアテーブルと同様に主記憶装置がアクセスされ実ペ
ージ番号を表す信号209を得る。この実ページ番号を
表す信号209はTLB 101によるアドレス変換で
得られたRAR126の内容に相当する。TLB I 
Q 1に新らたに仮想アドレス実アドレス変換対として
VAR102の内容と実ページ番号209とが登録され
るとともに、実ページ番号209を表す信号とページ内
オフセット信号106.アクセス種類情報107により
 SCU 504へ実アドレスアクセス要求がパスll
l’に経て行われる。
次に本発明による分岐先アドレス変換の高速化について
説明する。第6図はデコーダ122を詳細に示したもの
である。アクセスの種類を表わす信号107はデコーダ
601によりブコードされる。分岐先アドレスである場
合にデコーダ601の出力603は1となる。ページ内
オフセット信号106のうち上位8ビツト(A11から
A4)がアンドゲート602によ)アンドされる。アン
ドゲート604の出力605は分岐先アドレスのアドレ
ス変換でアシ、且つページ内オフセット12ビットの値
が111111110000〜11111111111
1のときに1となる。アンドゲート604の出力605
が1のときにMMUCONT 120は通常のアドレス
変換と異なるアドレス変換を行う0 本発明は分岐先アドレスがTLBミスヒツトであ夛、且
つページ内オフセットが十分に大きい(例えば次ページ
との境界から16バイト以内)とき。
次のページのアドレス変換をも同時に行うことで高速化
を計るものである。分岐先アドレスがTLBミスヒツト
でるり、且つページ内オフセットが十分に大きいことは
TLBミスヒツト信号110とデコーダ122の出力6
05とがともに1であるととKより判る。コノときMM
UCONT 120はNVAR103を用いてTLB 
101を検索する。検索の結果TLBにヒツトした時、
すなわち分岐先の次のページのアドレスがTLBにヒツ
トしている時は。
MMUCONT 120は先に述べた通常のアドレス変
換の手順で分岐先アドレスがアドレス変換される。
NVAR103の次ページアドレスがTLB ミスヒツ
トを起こしたとき、 MMUCONT 120は分岐先
アドレス(すなわちVARl 02の内容)と次ページ
アドレス(すなわちNVAR103の内容)とを−度に
アドレス変換してTLB 101に登録する。その方法
は第2図におけるアドレス変換の過程でページテーブル
ペースアドレス205を共通に用いて。
先ず1度目はVAR102のページ番号を表す信号11
9で実アドレスを求め2次に2度目はNVAR103の
ページ番号を表す信号116で実アドレスを求めること
により行われる。このとき2つのアドレス変換が行われ
たにもかかわらすATR121とエリアテーブルエント
リ204のアクセスは1回しか行われないため、実質的
にアドレス変換が高速化されたことになる。
尚、インクリメンタ114にて次ページの仮想アドレス
を計算する際にキャリ115が発生した時には、 MM
UCONT 120は次ページのアドレス変換を行わな
い。キャリ115が発生するのはVAR102のページ
番号を表す信号119が8ビツトすべて1のときであシ
2次R−ジは次セグメントの先頭ページとなるためであ
る。
またMMUCONT 120が次ページのアドレス変換
を行うか否かはデコーダ122の出力605によるが、
アンドダートロ02の入力にページ内オフセット信号1
06のうち何本までを入力するかにより変更できる。本
実施例ではAllからA4までをアンドダート602に
入力しているため1分岐先アドレスが次ページとの境界
から16バイト以内のときにデコーダ122の出力60
5が1となる。
本発明の第2の実施例としてスタックへのブツシュでT
LBミスヒツトが起こフ、書き込みアドレスが次4−ジ
に近いときに第1実施例と同様に次ページのアドレス変
換を合せて行うことができるが、これはスタックがシー
ケンシャルに伸びるデータ構造であることによる。
このとき、インクリメンタ114はデクリメンタに、キ
ャリ信号115はポロー信号に、デコーダ122内のア
ンドダート602はナンド(NAND )ダートに、デ
コーダ601はスタックブツシュのアクセス種類をデコ
ードするように変更する。第1の実施例と同様にMMU
CONT 120が動作すれば。
スタックへのブツシュ時に次のTLBミスヒツトによる
アドレス変換を合せて行うことができる。しかしこの第
2の実施例においては、デコーダ122内でナンド(N
AND)する4−ジ内オフセット信号は。
第1の実施例の分岐による場合よフも多くのピットを用
いる必要がある。その理由は、命令7エツチに比べてス
タックへのブツシュの方が頻度が少ないため、不必要な
次ページの実アドレス’!) TLBに登録する可能性
があるためである。
第1の実施例においても第2の実施例においても、ペー
ジ内オフセット信号をデコードする本数を増減すること
によ91次ページの境界にどの程度近づいた時に次ペー
ジのアドレス変換を合せて行うかを可変できる。このこ
とによりアーキテクチャの異なる中央処理装置に対して
も適切な値に可変して性能向上を計ることができる。
〔発明の効果〕
以上説明したように本発明は、アドレス変換時に変換す
べきアクセスが分岐先命令フェッチのようにシーケンシ
ャルにアクセスが進むものであることと、その仮想アド
レス値のページ内オフセット信号とから、アクセスが次
ページに達することを予測判断することにより、変換す
べきアドレスとそれに続くアクセスによるページ越えの
アドレスとのアドレス変換をあらかじめ行うことができ
るため、2回の独立したアドレス変換を行うことに比べ
て高速にアドレス変換を行うことができるという効果が
ある。
【図面の簡単な説明】
第1図は本発明を採用したアドレス変換ユニットの一実
施例のブロック図、第2図は第1図のアドレス変換ユニ
ットの動作過程を示す図、第3図は仮想空間の構成図、
第4図は仮想アドレスの構成図、第5図はアドレス変換
装置を持つ情報処理装置の一例の構成図、第6図は第1
図のアドレス変換装置における。ページ境界分岐検出デ
コーダの一例のブロック図である。 記号の説明:101はアドレス変換索引機構。 102は仮想アドレスレジスタ、103は次頁仮想アド
レスレジスタ、、104は仮想アドレスアクセス要求ハ
ス、105はページ内オフセットヲ除いた仮想アドレス
、106はページ内オフセット。 107はアクセスの種類を表す信号、108は入力セレ
クタ、109は実アドレス(上位20ピツ))、110
はTLBミスヒツト信号、 111.112は実アドレ
スアクセス要求バス、113はセレクタ、114はイン
クリメンタ、115はキャリ出力、116はNVARの
4−ジ番号、117はVAR(7)セクション番号、1
18はVARのエリア番号。 1.19はVARのページ番号、120はアドレス変換
装置制御部、121はエリアテーブルレジスタ。 122はデコーダ、123はエリア加算器、124はイ
ージ加算器、125はリードデータバスをそれぞれ表し
ている。

Claims (1)

    【特許請求の範囲】
  1. 1、ページングによる仮想記憶方式を採用し主記憶上の
    アドレス変換テーブルにより仮想アドレスから実アドレ
    スへのアドレス変換を行い且つアドレス変換索引機構を
    備えたアドレス変換装置を持つ情報処理装置において、
    アドレス変換時に前記アドレス変換が、特定の種類のア
    クセスのアドレス変換であることを検出する第1の検出
    手段と、前記アドレス変換される仮想アドレスのページ
    内オフセットがページ内の終端に近いことを検出する第
    2の検出手段と、前記アドレス変換される仮想アドレス
    の次ページの仮想アドレスを生成するアドレス生成手段
    とを備え、前記第1の検出手段と第2の検出手段の検出
    結果をもとに前記特定の種類のアクセスのアドレス変換
    を行う際に、前記アドレス生成手段により次ページのア
    ドレス変換をも合せて行うことを特徴とするアドレス変
    換方式。
JP63050622A 1988-03-05 1988-03-05 アドレス変換方式 Pending JPH01226055A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63050622A JPH01226055A (ja) 1988-03-05 1988-03-05 アドレス変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63050622A JPH01226055A (ja) 1988-03-05 1988-03-05 アドレス変換方式

Publications (1)

Publication Number Publication Date
JPH01226055A true JPH01226055A (ja) 1989-09-08

Family

ID=12864077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63050622A Pending JPH01226055A (ja) 1988-03-05 1988-03-05 アドレス変換方式

Country Status (1)

Country Link
JP (1) JPH01226055A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895857A (ja) * 1994-09-29 1996-04-12 Shikoku Nippon Denki Software Kk 入出力キャッシュ
US7136933B2 (en) 2001-06-06 2006-11-14 Nec Corporation Inter-processor communication systems and methods allowing for advance translation of logical addresses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895857A (ja) * 1994-09-29 1996-04-12 Shikoku Nippon Denki Software Kk 入出力キャッシュ
US7136933B2 (en) 2001-06-06 2006-11-14 Nec Corporation Inter-processor communication systems and methods allowing for advance translation of logical addresses

Similar Documents

Publication Publication Date Title
US6625715B1 (en) System and method for translation buffer accommodating multiple page sizes
US5742802A (en) Method and system for efficiently mapping guest instruction in an emulation assist unit
CA1325283C (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
AU631420B2 (en) Processing of memory access exceptions with pre-fetched instructions within the instruction pipeline of a memory system based digital computer
US5854913A (en) Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures
US5367705A (en) In-register data manipulation using data shift in reduced instruction set processor
US4695950A (en) Fast two-level dynamic address translation method and means
JP3713312B2 (ja) データ処理装置
US11275637B2 (en) Aggregated page fault signaling and handling
US9372812B2 (en) Determining policy actions for the handling of data read/write extended page table violations
US9632776B2 (en) Preload instruction control
EP0097790A2 (en) Apparatus for controlling storage access in a multilevel storage system
US20080294867A1 (en) Arithmetic processor, information procesing apparatus and memory access method in arithmetic processor
CA2045934A1 (en) Ensuring date integrity in multiprocessor or pipelined processor system
US20160092371A1 (en) Method and Apparatus For Deterministic Translation Lookaside Buffer (TLB) Miss Handling
US5873123A (en) Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries
JP2010521748A (ja) 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア
US5469551A (en) Method and apparatus for eliminating branches using conditional move instructions
US20140189192A1 (en) Apparatus and method for a multiple page size translation lookaside buffer (tlb)
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
US9183161B2 (en) Apparatus and method for page walk extension for enhanced security checks
US6363471B1 (en) Mechanism for handling 16-bit addressing in a processor
JPH04251352A (ja) マイクロプロセサのオンチップキャッシュ内のメモリ位置の選択的ロック
KR100218617B1 (ko) 변환우선참조 버퍼를 이용하여 메모리를 관리하는 데이터 처리 시스템의 효율적인 메모리 관리 방법 및 시스템과 그를 이용한 데이터 처리 시스템
US6301647B1 (en) Real mode translation look-aside buffer and method of operation