JPH02178859A - Address converter - Google Patents

Address converter

Info

Publication number
JPH02178859A
JPH02178859A JP63335192A JP33519288A JPH02178859A JP H02178859 A JPH02178859 A JP H02178859A JP 63335192 A JP63335192 A JP 63335192A JP 33519288 A JP33519288 A JP 33519288A JP H02178859 A JPH02178859 A JP H02178859A
Authority
JP
Japan
Prior art keywords
address
address translation
page
tlb
virtual
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
JP63335192A
Other languages
Japanese (ja)
Inventor
Hitoshi Takagi
均 高木
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 JP63335192A priority Critical patent/JPH02178859A/en
Publication of JPH02178859A publication Critical patent/JPH02178859A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To decide the stop of address conversion processing in the shortest main storage access time by storing the address of a descriptor, which causes the stop of processing, and contents of a control register of an address conversion logic at this time in a TLB (translation look-aside buffer) at the time of stopping the address conversion processing by necessity so that the processing can be restarted. CONSTITUTION:When the address conversion processing cannot be continued by the descriptor in a page descriptor register (PDR) 10, contents of an actual address register (PAR) 8 where the address of the descriptor is stored are written in a TLB 5 and contents of a page control register (PCR) 11 are written in the C field of the TLB 5. V bits of the TLB 5 are set to '10' indicating the restart mode. Thus, the stop of address conversion processing is decided in the shortest access time.

Description

【発明の詳細な説明】 皮W分I 本発明はアドレス変換装置に関し、特に仮想アドレスを
実アドレスに変換するアドレス変換装置に関するもので
ある。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an address translation device, and more particularly to an address translation device that translates a virtual address into a real address.

従来技術 中規模以上の情報処理装置の多くは、メモリ管理方式と
して仮想記憶方式を採用しているにの仮想記憶方式では
、理想的なアドレス空間である仮想空間と主記憶のアド
レス空間である実空間とが主記憶上の対応表(アドレス
変換テーブル)によって管理されるようになっている。
Conventional technology Most medium-sized or larger information processing devices use virtual memory as their memory management method. However, virtual memory has two systems: virtual space, which is an ideal address space, and real space, which is the address space of main memory. The space is managed by a correspondence table (address translation table) on the main memory.

そのために、この仮想記憶方式を採用した情報処理装置
のメモリアクセスタイムには、アドレス変換デープルの
アクセスタイムか加算されることになる。
Therefore, the access time of the address translation table is added to the memory access time of an information processing apparatus that employs this virtual storage method.

例えば、第2図に示すようなアドレス変換手順を持つ仮
想記憶方式を採用した情報処理装置では、仮想アドレス
201を実空間203のアドレスに変換するには、1回
のメモリアクセスの度に1回のアドレス変換テーブル2
02へのメモリアクセスタイムか加算される。また、第
3図に示すような3段階のアドレス変換手順を持つ仮想
記憶方式を採用した情報処理装置においては、1回のメ
モリアクセスの度に3回のメモリアクセスタイムが加算
される。
For example, in an information processing device that employs a virtual memory method with an address conversion procedure as shown in FIG. address conversion table 2
The memory access time to 02 is added. Furthermore, in an information processing apparatus that employs a virtual memory system having a three-step address conversion procedure as shown in FIG. 3, three memory access times are added for each memory access.

この様に、仮想記憶を採用した情報処理装置のメモリア
クセスタイムは、仮想記憶を採用していないものに比べ
て2倍以上になってしまい、大幅な性能低下となる。そ
こで、メモリアクセスを減少させるために、比較的小規
模でしかも高速なバッファを設け、−度アドレス変換の
ためにアクセスしたアドレス変換表はこのバッファに登
録しておき、以後その高速なバッファによって短時間の
うちにアドレス変換を行うようになっている。このバッ
ファをT L B (Translation Loo
k−aside Buffer)という。TLBは通常
アソシアティブメモリになっており、アドレス変換テー
ブル全体を収めることは出来ないので、その内容は何ら
かの置換アルゴリズムによって管理されている。
As described above, the memory access time of an information processing apparatus that employs virtual memory is more than twice that of an information processing apparatus that does not employ virtual memory, resulting in a significant performance drop. Therefore, in order to reduce memory access, a relatively small and high-speed buffer is provided, and the address conversion table accessed for address conversion is registered in this buffer. It is supposed to perform address translation in time. This buffer is called TLB (Translation Loo).
K-side Buffer). The TLB is usually an associative memory and cannot accommodate the entire address translation table, so its contents are managed by some kind of replacement algorithm.

また、比較的大きい仮想空間を比較的小さな実空間に全
て対応イ1けることはてきないのて、当座に必要な仮想
記憶の部分のみ実空間におき、その部分に対応するアド
レス変換テーブルの中のその部分が実空間に1存在」し
ていることを示すビットをセットする。実空間におくこ
とか出来なかった部分は通常二次記憶(主にディスク)
上に置かれる。二次記憶に存在している部分に対するア
クセスは、アドレス変換デープルのアクセス時、ページ
不在事象を引起こす、ページというのは、仮想空間を管
理する単位であり、通常1にB〜4.KBの大きさが採
用される。ページ不在事象が起こると、二次記憶と実空
間との入替えが行なわれる。置換えられる実空間のペー
ジは、TLBの置換えの時と同様なアルゴリズムか用い
られる。
Also, since it is impossible to allocate a relatively large virtual space into a relatively small real space, it is possible to place only the part of the virtual memory that is needed at the moment in the real space, and then write the address translation table corresponding to that part. Sets a bit indicating that that part of ``exists in real space.'' Parts that cannot be placed in real space are usually stored in secondary storage (mainly disks)
placed on top. Access to a portion existing in secondary storage causes a page out event when an address translation table is accessed. A page is a unit for managing virtual space, and is usually 1 to 4. The size of KB is adopted. When a page-missing event occurs, secondary storage and real space are swapped. The same algorithm as when replacing the TLB is used for the real space page to be replaced.

第3図に示した多段のアドレス変換プロセスでは、各テ
ーブル中の詔(ディスクリブタ)内に次のレベルのテー
ブルの存在/不在を示すビットがある。これにより、ア
ドレス変換テーブルのスペースが節約できるので、今日
多くの情報処理装置に用いられている。
In the multi-stage address translation process shown in FIG. 3, there is a bit in the discriminator in each table that indicates the presence/absence of the next level table. This saves space in the address translation table, and is therefore used in many information processing devices today.

仮想記憶と’I” L Bの有効性はアクセスの局所性
という事実に負っている2ところが、この前提が有効で
ない様な事態もある。その場合には、メモリアクセスの
多くの時間はアドレス変換テーブルのアクセスタイムに
費される。特に、今日の大型情報処理装置のように処理
の先行制御を高度に行なっている装置では、次の様な性
質の問題か起こり得る。
The effectiveness of virtual memory and 'I'LB depends on the fact of locality of access, but there are situations in which this assumption is not valid.In those cases, much of the memory access time is spent in address translation. Particularly, in devices such as today's large-scale information processing devices that perform advance control of processing to a high degree, problems of the following nature may occur.

先行制御を行なっていると、先行制御部(情報処理装置
内の演算処理部の一部)は現在実行している命令の後続
の命令の命令自身および場合によってはそのオペランド
(演算対象)を出来る限り主記憶から取出そうとする6
勿論、その努力が無駄になることはある。
When advance control is performed, the advance control unit (a part of the arithmetic processing unit in the information processing device) executes the instruction itself and, in some cases, the operand (operation target) of the instruction following the currently executed instruction. Try to retrieve it from main memory as long as 6
Of course, that effort may be in vain.

例えば、条件分岐命令があると、先行制御部は分岐条件
成立/非成立両方の可能性を考えて両側の後続命令の取
出しを行なう。この条件分岐命令が実行され、分岐条件
成立/非成立か決まると、必要なない方の先取りした命
令は使用しないのて捨てて17まう。使われなかった方
の先取りの努力は無駄になる。
For example, when there is a conditional branch instruction, the preceding control unit extracts subsequent instructions on both sides, considering the possibility that the branch condition will be met or not. When this conditional branch instruction is executed and it is determined whether the branch condition is satisfied or not, the unnecessary prefetched instruction is not used and is discarded. The efforts of those who are not used will be wasted.

この様な状況の下で、局所性の悪いプログラムの実行は
その多くが主記憶上のアドレス変換テーブルのアクセス
に費やされることが予想できる。
Under such circumstances, it can be expected that most of the execution of a program with poor locality will be spent accessing the address translation table in main memory.

TLBはこの場合有効であるが、アクセスした主記憶上
のアドレス変換デープルかTLBに登録されることなく
、終わってしまうことがある。
Although the TLB is effective in this case, the accessed address translation table on the main memory may end without being registered in the TLB.

アドレス変換テーブルをアクセスした結果、次のレベル
のテーブルまたはページそのものか実空間に存在しない
ことか分った時には、アドレス変換処理はその時点で中
止し、TLBは更新されない。この不在事象はこの事象
を起こした命令に関する先取りの情報として保存され、
この命令か実際に実行する時に、不在事象として取扱わ
れることになる。
If, as a result of accessing the address translation table, it is found that the next level table or the page itself does not exist in the real space, the address translation process is stopped at that point and the TLB is not updated. This absence event is stored as preemptive information regarding the instruction that caused this event,
When this command is actually executed, it will be treated as an absent event.

不在事象か認識されれば、通常例外事象として現在のプ
ログラムの実行を中止して、二次記憶と実空間との置換
えが行なわれる。置換え処理の最後で、この例外を起こ
したページに対するアドレス変換デープル中のディスク
リブタの実空間における存在ヒツトをセン1へする。プ
ログラムは例外を起こした命令を再実行して処理を再開
する。このページに対するアクセスはアドレス変換テー
ブルのアクセスを必要とするか、今度はアドレス変換が
不在事象に妨げられることなく正常に終了するので、ア
ドレス変換の結果は’r” L Bに登録される。かく
して、以後のこのページに対するアクセスは、TLBを
用いて高速に実行できるのである。
If an absence event is recognized, execution of the current program is normally stopped as an exception event, and replacement with secondary storage and real space is performed. At the end of the replacement process, the existence hit in the real space of the discriminator in the address translation table for the page that caused this exception is sent to Sen1. The program re-executes the instruction that caused the exception and resumes processing. Either an access to this page requires an access to the address translation table, or the address translation completes normally, unhindered by the absent event, and the result of the address translation is registered in 'r'LB. Thus. , subsequent accesses to this page can be executed at high speed using the TLB.

以上の例は、先取った命令が後に実行される場合であっ
た。ところか、先に述べた分岐命令の分岐しない側の先
取りで不在事象が発生した場合、その事象を起こした命
令は決して実行されないので、二次記憶と実空間との置
換えか行なわれないので、不在事象を起こしたページに
対するアドレス変換テーブルのエントリは不在を示した
ままになり、またTLBにも登録がなされない。
The above example was a case where the pre-fetched instruction was executed later. On the other hand, if an absent event occurs during prefetching on the non-branching side of the branch instruction mentioned earlier, the instruction that caused the event will never be executed, so the only thing that can be done is to replace it with secondary memory and real space. The entry in the address translation table for the page that caused the absence event continues to indicate absence, and is not registered in the TLB.

この様な命令がプログラムのループ中にあると、アクセ
スの度に主記憶中のアドレス変換テーブルをアクセスす
ることになるので、メモリアクセスタイムは大幅に増加
する。
If such an instruction is in a program loop, the address translation table in the main memory will be accessed each time the instruction is accessed, resulting in a significant increase in memory access time.

特に、今日多く採用されている多レベルのアドレス変換
デープルを用いた仮想記憶方式では、何回もアドレス変
換テーブルへのアクセスの末にページ不在事象が分るの
で、無駄なアクセスによる性能の低下は明らかである。
In particular, in the virtual memory system that uses multi-level address translation tables that are widely used today, a page fault event is detected after accessing the address translation table many times, so performance degradation due to wasteful access is avoided. it is obvious.

発明の目的 本発明の目的は、アクセスの途中でアドレス変換処理を
中止せざるを得ない場合に、最低のアクセス時間でその
中止を判定し得るようにしたアドレス変換装置を提供す
ることである。
OBJECTS OF THE INVENTION It is an object of the present invention to provide an address translation device that can determine whether to discontinue address translation processing in the shortest access time when the address translation processing must be discontinued in the middle of an access.

九肌座員感 本発明によれは、仮想アドレスを実アドレスに変換する
ためのアドレス変換バッファと、このアドレス変換バッ
ファに必要とするアドレスが登録されていない場合に、
アドレス変換テーブルを用いてアドレス変換処理を実行
するアドレス変換手段とを含むアドレス変換装置であっ
て、前記アドレス変換テーブルを用いたアドレス変換処
理において例外事象が発生してアドレス変換処理の続行
か不可能になった場合、この外側事象を起こしたアドレ
ス変換テーブル中のディスクリブタのアドレスと、前記
アドレス変換手段のそのときの状態を決定する制御情報
とを前記アドレス変換バッファに登録するようにしたこ
とを特徴とするアドレス変換装置が得られる。
According to the present invention, there is an address translation buffer for converting a virtual address to a real address, and when a required address is not registered in this address translation buffer,
an address translation device that executes address translation processing using an address translation table, wherein an exceptional event occurs in the address translation processing using the address translation table, making it impossible to continue the address translation processing; , the address of the disc libter in the address translation table that caused this outer event and control information for determining the state of the address translation means at that time are registered in the address translation buffer. A characteristic address translation device is obtained.

X層側 本発明の実施例について図面を参照して説明する。X layer side Embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

ここでは、仮想記憶方式として、第3図に示ず様な3レ
ベルテーブルを用いるアドレス変換を考えている。また
、レベル1のアドレス変換テーブルは実空間のアドレス
Oから始まるとする。仮想空間は32ビツトで表わされ
、1ページの大きさは4にバイトである。仮想ページ内
の各レベルのアドレス変換テーブルへのインデクスは各
々4,88ビツトとする。すなわち、レベル1のアドレ
ス変換テーブルの大きさは16語、レベル2.3のアド
レス変換テーブルの大きさは最大256語となる。
Here, address translation using a three-level table as shown in FIG. 3 is considered as a virtual storage system. Further, it is assumed that the level 1 address translation table starts from address O in real space. The virtual space is represented by 32 bits, and the size of one page is 4 bytes. The indexes to the address translation table at each level within the virtual page are each 4.88 bits. That is, the size of the level 1 address translation table is 16 words, and the maximum size of the level 2.3 address translation table is 256 words.

第4図(A)に各アドレス変換テーブル内の次のレベル
テーブルのディスクリブタ(記述子)を示し、また(B
)に実ページの記述子を示す、いずれもベースBは16
ビツトであり、アドレス変換テーブルへのアドレスを求
める場合においては、このベースBと各仮想ページ番号
から得られるインデクスを加算し、また実空間のアドレ
スを求めるためにはベースBとページ内アドレスを結合
する。
FIG. 4 (A) shows the next level table descriptor in each address translation table, and (B
) shows the descriptor of the real page, base B is 16 in both cases.
To obtain the address to the address translation table, add this base B and the index obtained from each virtual page number, and to obtain the real space address, combine base B and the address in the page. do.

次に、本実施例の動作について説明する0本実施例のア
ドレス変換装置は演算処理装置と主記憶装置の間に位置
するものである。すなわち、信号線101を通じて演算
処理装置から仮想アドレスを受け、実アドレスへの変換
を行ない、信号線124を通じて主記憶へ実アドレスを
送出する。
Next, the operation of this embodiment will be explained. The address translation device of this embodiment is located between the arithmetic processing unit and the main storage device. That is, it receives a virtual address from the arithmetic processing unit through the signal line 101, converts it into a real address, and sends the real address to the main memory through the signal line 124.

通常の仮想アドレスから実アドレスへの変換はTLB5
を用いて行なわれる。本実施例ではセットアソシアティ
ブなTLBを仮定している。すなわち、演算装置から信
号線101を通じて受取った仮想アドレスを仮想アドレ
スレジスタ(VAR)1に格納する。信号線104によ
り仮想ページ番号の下位でTLB5をアドレッシングし
、対応するTLBS内の仮想アドレスフィールドVAと
VARI内の仮想ページ番号の上位とを信号線103お
よび113によって比較器6に入力し比較を行なう。
Translation from normal virtual address to real address is performed by TLB5.
This is done using This embodiment assumes a set-associative TLB. That is, the virtual address received from the arithmetic unit through the signal line 101 is stored in the virtual address register (VAR) 1. TLB 5 is addressed with the lower virtual page number by signal line 104, and the virtual address field VA in the corresponding TLBS and the higher virtual page number in VARI are input to comparator 6 via signal lines 103 and 113 for comparison. .

この比較の結果とTLBS内の有効ビットフィールド■
との両者が全て論理1の場合のみアンドゲート7はアク
ティブとなり、信号線128によりヒツト信号が出力さ
れる。
The result of this comparison and the valid bit field in the TLBS ■
AND gate 7 becomes active only when both are logical 1, and a hit signal is output through signal line 128.

■ピットは2ビツトで構成され、TLB5のエントリの
情報の有効/無効を表わすビットと、後で述べる本発明
の特徴である再開/新規かを表わずビットとからなり、
以下の如くである。
■A pit is composed of 2 bits: a bit that represents the validity/invalidity of the entry information in TLB 5, and a bit that represents restart/new information, which is a feature of the present invention that will be described later.
It is as follows.

00:そのエントリは有効でない 01:そのエントリは有効でない 10:そのエントリは有効でかつ再開可能11:そのエ
ントリは有効でかつ新規 ヒツト信号は実アドレスレジスタ(PAR)8の入力選
択回路に入力される。PAR8はヒツト信号が論理値1
のとき、実ページ番号として、1゛LB5内の実ページ
番号フィールドPAの出力115を、実ページ内アドレ
スとしてVARI内のぺ−ジ内アドレスである信号線1
05を夫々入力として選択し格納する。このようにして
与えられた仮想アドレスに対する実アドレスは信号線1
24によって図せぬ主記憶装置に送られる。
00: The entry is not valid 01: The entry is not valid 10: The entry is valid and restartable 11: The entry is valid and the new hit signal is input to the input selection circuit of the real address register (PAR) 8. Ru. PAR8 has a hit signal of logical value 1
In this case, the output 115 of the real page number field PA in LB5 is set as the real page number, and the signal line 1, which is the in-page address in VARI, is set as the real page address.
05 are selected as inputs and stored. The real address for the virtual address given in this way is signal line 1.
24 to an unillustrated main storage device.

仮想アドレスから実アドレスへの変換と同時に、TLB
5の制御フィールドCがアクセスされ、ステータスレジ
スタ(SR>9に、ヒツト信号か論理値1であることを
条件に格納される。制御フィールドCには、変換された
実ページに関する情報が納められている。これらの情報
は、たとえは読出し可能であるとか、書込み付加である
とか、保護キーなどである。これらの情報は仮想アドレ
スと同時に送られて来る要求コード〈ここでは図示せず
)内の情報と照合され、要求内容がページの情報に反す
る時には、ステータスデコード回路18によりその旨が
検出され、ステータスレジスタ9に格納される。SR9
の出力125はアドレス変換を要求した演算装置に例外
事象として報告される。
At the same time as virtual address to real address translation, TLB
The control field C of 5 is accessed and stored in the status register (SR>9 on the condition that it is a hit signal or a logical value 1.The control field C contains information about the converted real page. These pieces of information include, for example, readable, writeable, protection keys, etc. These pieces of information are included in the request code (not shown here) that is sent at the same time as the virtual address. When the request content is compared with the information, and if the requested content is contrary to the page information, the status decoding circuit 18 detects this fact and stores it in the status register 9. SR9
The output 125 of is reported as an exception event to the arithmetic unit that requested the address translation.

VARIの仮想ページ番号上位と”I’ L B 5の
VAフィールドとに一致が見られなかったとき、または
TLB5のVフィールドか論理値0の場合には、TLB
5によるアドレス変換は失敗し、第1図右側のアドレス
変換ロジックか動作する。この場合、主記憶上のアドレ
ス変換テーブルを用いる。
When there is no match between the upper virtual page number of VARI and the VA field of "I' L B 5," or when the V field of TLB5 has a logical value of 0, the TLB
5 fails, and the address translation logic on the right side of FIG. 1 operates. In this case, an address translation table on the main memory is used.

先ず、レベル1のアドレス変換テーブルのアクセスを行
なう。VARIの上位4ピツトがフィールド抽出回FR
112によって行なわれ、信号線118を通じて加算器
13に入力される。このとき、加算器13の他の入力は
Oが入力されるように入力セレクタか制御される。加算
器13の出力117はPAR8に入力セレクタを経由し
て入力される。
First, the level 1 address translation table is accessed. Top 4 pits of VARI are field extraction times FR
112 and is input to the adder 13 through a signal line 118. At this time, the other inputs of the adder 13 are controlled by the input selector so that O is input. The output 117 of the adder 13 is input to PAR8 via an input selector.

ページ制御レジスタ(PCR)1.1はアドレス変換ロ
ジックの制御レジスタであり、アドレス変換ロジックの
動作を決定するものである。PCRllの内容はアドレ
ス変換ロジックの起動時、レベル1のアドレス変換テー
ブルのアクセスであることを表示するように初期化され
、以後、制御ロジック15が作り出した次の状態を信号
線123により受取り、順次状態遷移を繰返えず。
The page control register (PCR) 1.1 is a control register for the address translation logic and determines the operation of the address translation logic. When the address conversion logic starts, the contents of PCRll are initialized to indicate that the level 1 address conversion table is being accessed, and thereafter, the next state created by the control logic 15 is received via the signal line 123 and sequentially processed. No repeated state transitions.

制御ロジック15は、アドレス変換ロジック内の状態、
現在の状態(PCR出力112)、サイズチエツクの結
果(減算器14の出力119)、存在ビット(PDR出
力110)、制御フィールド(PDR出力111)によ
って、次の状B(出力123)、ステータス(出力12
1)、有効ビット(出力120)を作り出す。
The control logic 15 controls the state within the address translation logic;
Depending on the current state (PCR output 112), size check result (subtractor 14 output 119), existence bit (PDR output 110), and control field (PDR output 111), the following state B (output 123) and status ( Output 12
1), produce a valid bit (output 120).

さて、上記、加算器13の出力117かレベル1のアド
レス変換テーブル内のあるエントリのアドレスであれは
、PAR8を通じて主記憶へのアクセスを行なう。主記
憶からのデータは信号線128を通じてページディスク
リブタレジスタPDRIOに格納される。このPDRI
Oの内容がレベル2のアドレス変換テーブルディスクリ
ブタである。
Now, whether it is the output 117 of the adder 13 or the address of a certain entry in the level 1 address conversion table, the main memory is accessed through PAR8. Data from main memory is stored in page descriptor register PDRIO through signal line 128. This PDRI
The content of O is a level 2 address translation table distributor.

次に、このレベル1のアドレス変換テーブルから、レベ
ル2のアドレス変換テーブル内のエントリのアドレスを
求める。この動作は、上述したレベルの1アドレス変換
テーブルへのアクセス方法と同じである。違う所はフィ
ールド抽出回路12かVARIからレベル2のアドレス
変換テーブルのインデクス(ビット4から11)を取出
すこと、またサイズチエツクを行なうことである。
Next, from this level 1 address translation table, the address of the entry in the level 2 address translation table is determined. This operation is the same as the method of accessing the level 1 address translation table described above. The difference is that the index (bits 4 to 11) of the level 2 address conversion table is taken out from the field extraction circuit 12 or VARI, and that a size check is performed.

サイズチエツクは、フィールド抽出回路12によって得
られたインデクスをPDRIO内のディスクリブタのし
フィールドから引き、ポロー(借り)が出ないかをチエ
ツクすることである。ボローが出れは、インデクスはペ
ージサイズを越えてしまうので、ページテーブルへのア
クセスは直ちに中止され、ホローが出た旨をSR9に格
納する。
The size check consists of subtracting the index obtained by the field extraction circuit 12 from the discreptor's left field in the PDRIO, and checking to see if there is a pollo. When a borrow occurs, the index exceeds the page size, so access to the page table is immediately stopped, and the fact that a hollow occurs is stored in SR9.

同様なチエツクは存在ビットPや実ページの制御情報に
ついても行なわれる。存在ビットPに対しては、アクセ
スしたディスクリブタのPが論理0であれは、アドレス
変換は中止される。制御情報については、前述のTLB
5を用いたアドレス変換と同様に行なわれる。いずれも
、処理を続行できない状況に陥ったら、SR9にその旨
を格納し、演算装置へ例外事象として報告する。
A similar check is also performed on the presence bit P and real page control information. Regarding the existence bit P, if P of the accessed disc libter is logical 0, address translation is stopped. For control information, the TLB mentioned above
Address conversion is performed in the same way as address conversion using 5. In either case, if a situation occurs in which the processing cannot be continued, that fact is stored in SR9 and reported to the arithmetic unit as an exception event.

レベル1のアドレス変換テーブルの情報からレベル2の
アドレス変換テーブル内のディスクリブタをアクセスし
た様に、次々と次レベルのアドレス変換テーブル内のデ
ィスクリブタをアクセスする。最終的に、実ページディ
スクリブタをアクセスし、PDRIOに格納する。この
ときPDR10の内容によって、各種チエツクか行なわ
れる。
Just as the disk libters in the level 2 address conversion table are accessed from the information in the level 1 address conversion table, the disk libters in the next level address conversion table are accessed one after another. Finally, the real page discriminator is accessed and stored in PDRIO. At this time, various checks are performed depending on the contents of PDR10.

但し、ベースBは加算器13を通って(一方の入力は0
゛にする)PA部8に格納し、ページ書込みレジスタ(
PTR)3を経由してTLBのPA部に書込まれる。同
時に、PDRIOの制御フィールドはそのまま制御回路
15、制御転送レジスタ(PCTR)17、フィールド
書込みレジスタ(CR)4を経由して、’T’ L B
 5のCフィールドに、VARlの内容がTLB5のV
Aフィールドに、そしてVビットか制御ビットと同様な
経路で書込まれる。
However, the base B passes through the adder 13 (one input is 0
8) and store it in the page write register (
PTR) 3 and is written to the PA section of the TLB. At the same time, the control field of PDRIO is passed through the control circuit 15, control transfer register (PCTR) 17, and field write register (CR) 4, and is written as 'T' L B.
In the C field of TLB5, the content of VARl is the V of TLB5.
It is written to the A field and in a similar path as the V bit or control bit.

前述のアドレス変換処理を続行できない場合には、従来
のアドレス変換装置では、ステータスを返却する以外は
何もしない。ところが、本発明では、次のような処理を
行なう。
If the address translation process described above cannot be continued, the conventional address translation device does nothing other than return the status. However, in the present invention, the following processing is performed.

PDRIOにあるデイクリブタによって、処理続行か出
来ない場合には、そのディスクリブタのアドレスか格納
されているPA部8の内容をPTR3を経由して、TL
B5へ書込む。同時にPCRllの内容をPCTR17
、CR4を経由してTLB5のCフィールドに書込む。
If it is not possible to continue processing due to the disc libter in the PDRIO, the address of the disc libter or the contents of the PA section 8 that is stored is sent to the TL via PTR3.
Write to B5. At the same time, write the contents of PCRll to PCTR17.
, and written to the C field of TLB5 via CR4.

また、VARlの内容もTLB5の■フィールドに書込
む。但し、TLB5の■ピッ1〜は再開モードを表わず
10とする。
Furthermore, the contents of VARl are also written to the ■ field of TLB5. However, the pins 1 to 1 of TLB5 do not indicate the restart mode and are set to 10.

次に、同一アドレス(同一ページ)のアドレス変換要求
があった時、TLB5をアクセスすると、■ピットの上
述の設定により、アンドゲート19がアクティブになり
、該当ページはアドレス変換を中止したページであるこ
とが認識できる。この時、TLB5のPAフィールドを
PA部8へ格納するとともに、TLB5のCフィールド
を信号線116を通じてPCRI 1に格納する。かく
して、アドレス変換ロジックは先に、処理の続行の中止
を引起こしたディスクリブタのアクセスから処理を開始
できる。勿論TLB5のCフィールドに書込む情報はア
ドレス変換か再開でき得る必要かつ十分なものである必
要かある。
Next, when there is an address conversion request for the same address (same page), when TLB5 is accessed, the AND gate 19 becomes active according to the above settings of the ■ pit, and the corresponding page is the page for which address conversion was canceled. I can recognize that. At this time, the PA field of TLB5 is stored in the PA section 8, and the C field of TLB5 is stored in PCRI 1 through the signal line 116. Thus, the address translation logic can begin processing first with the access to the discreptor that caused the abort of processing. Of course, the information written in the C field of TLB5 needs to be necessary and sufficient to enable address translation or restart.

魚馴しと麩釆 以上説明したように、本発明によれは、各種チエツクに
より多レベルページテーブルのアクセスの途中で、アド
レス変換処理を中止せざるを得ない場合に、処理の中止
を引起こしたブラフリプタのアドレスとその時点のアド
レス変換ロジックの制御レジスタを再開可能なようにT
LBに納めておくことにより、アドレス変換処理か中止
され、TLBにその結果が登録出来ないようなアクセス
かプログラムのループ中に存在する場合、最低の主記憶
アクセスでアドレス変換処理の中止を判定できるので、
プログラムの高速化が期待できるという効果がある。
As explained above, according to the present invention, when address translation processing has to be stopped in the middle of accessing a multi-level page table due to various checks, processing can be stopped. T so that the address of the bluff ripter and the control register of the address translation logic at that point can be restarted.
By storing it in the LB, if the address translation process is canceled and the result cannot be registered in the TLB, or if there is an access during a program loop, it is possible to determine whether the address translation process is canceled with the minimum main memory access. So,
This has the effect of increasing the speed of the program.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例のブロック図、第2図及び第3
図はアドレス変換テーブルを用いた場合の変換処理の概
念図、第4図(A)はアドレス変換テーブルのディスク
リブタを示ず図、第4図(B)は実ページのディスクリ
ブタを示す図である。 主要部分の符号の説明 1・・・・・・仮想アドレスレジスタ(VAR)2・・
・・・・Vピット書込みレジスタ(VR)3・・・・・
・ページ書込みレジスタ(P ’T’ R)4・・・・
・・ページ制御レジスタ(CR)5・・・・・・TLB 8・・・・・・実アドレスレジスタ(PAR)9・・・
・・・ステータスレジスタ(SR)10・・・・・・ペ
ージデータレジスタ(PDR)11・・・・・・ページ
制御レジスタ(PCR)12・・・・・・フィールド抽
出回路 15・・・・・・制御ロジック
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 and FIG.
The figure is a conceptual diagram of conversion processing when an address conversion table is used. Figure 4 (A) is a diagram that does not show the disc libter of the address translation table. Figure 4 (B) is a diagram that shows the disc libter of the real page. be. Explanation of symbols of main parts 1...Virtual address register (VAR) 2...
...V pit write register (VR) 3...
・Page write register (P 'T' R) 4...
...Page control register (CR) 5...TLB 8...Real address register (PAR) 9...
... Status register (SR) 10 ... Page data register (PDR) 11 ... Page control register (PCR) 12 ... Field extraction circuit 15 ...・Control logic

Claims (1)

【特許請求の範囲】[Claims] (1)仮想アドレスを実アドレスに変換するためのアド
レス変換バッファと、このアドレス変換バッファに必要
とするアドレスが登録されていない場合に、アドレス変
換テーブルを用いてアドレス変換処理を実行するアドレ
ス変換手段とを含むアドレス変換装置であって、前記ア
ドレス変換テーブルを用いたアドレス変換処理において
例外事象が発生してアドレス変換処理の続行が不可能に
なった場合、この例外事象を起こしたアドレス変換テー
ブル中のディスクリプタのアドレスと、前記アドレス変
換手段のそのときの状態を決定する制御情報とを前記ア
ドレス変換バッファに登録するようにしたことを特徴と
するアドレス変換装置。
(1) An address translation buffer for converting a virtual address into a real address, and an address translation means that executes address translation processing using an address translation table when the required address is not registered in this address translation buffer. If an exception occurs in the address translation process using the address translation table and it becomes impossible to continue the address translation process, the address translation device that includes the address translation table that caused the exception 1. An address translation device characterized in that an address of a descriptor of the address translation unit and control information for determining a current state of the address translation means are registered in the address translation buffer.
JP63335192A 1988-12-29 1988-12-29 Address converter Pending JPH02178859A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63335192A JPH02178859A (en) 1988-12-29 1988-12-29 Address converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63335192A JPH02178859A (en) 1988-12-29 1988-12-29 Address converter

Publications (1)

Publication Number Publication Date
JPH02178859A true JPH02178859A (en) 1990-07-11

Family

ID=18285789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63335192A Pending JPH02178859A (en) 1988-12-29 1988-12-29 Address converter

Country Status (1)

Country Link
JP (1) JPH02178859A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227880A (en) * 2010-04-22 2011-11-10 Arm Ltd Preload instruction control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227880A (en) * 2010-04-22 2011-11-10 Arm Ltd Preload instruction control
US9632776B2 (en) 2010-04-22 2017-04-25 Arm Limited Preload instruction control

Similar Documents

Publication Publication Date Title
US5809522A (en) Microprocessor system with process identification tag entries to reduce cache flushing after a context switch
JP3587591B2 (en) Method of controlling cache miss and computer system thereof
US8745334B2 (en) Sectored cache replacement algorithm for reducing memory writebacks
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
JPH06231044A (en) Data processing system provided with cache memory
JPS59165144A (en) Order extractor
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
JPWO2007099598A1 (en) Processor having prefetch function
JPH04242848A (en) System for controlling cache memory by running mode
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
US7761665B2 (en) Handling of cache accesses in a data processing apparatus
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
US5471602A (en) System and method of scoreboarding individual cache line segments
JPH10214226A (en) Method and system for strengthening memory performance of processor by removing old line of second level cache
JPH0528040A (en) Quick memory access system
JPH02178859A (en) Address converter
JPS644214B2 (en)
JPH08328959A (en) Disk cache controller
JP2000047942A (en) Device and method for controlling cache memory
US10719453B1 (en) Apparatus and method for handling maintenance operations for an address translation cache
US9037806B2 (en) Reducing store operation busy times
JPS6240555A (en) Prefetch control system
JP3284508B2 (en) Data prefetch control device
JP3190661B2 (en) Information processing system