JPH03257643A - Information processor - Google Patents

Information processor

Info

Publication number
JPH03257643A
JPH03257643A JP2058559A JP5855990A JPH03257643A JP H03257643 A JPH03257643 A JP H03257643A JP 2058559 A JP2058559 A JP 2058559A JP 5855990 A JP5855990 A JP 5855990A JP H03257643 A JPH03257643 A JP H03257643A
Authority
JP
Japan
Prior art keywords
address
address translation
translation buffer
real
buffer circuit
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
JP2058559A
Other languages
Japanese (ja)
Inventor
Kiyoshi Hori
清志 堀
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 JP2058559A priority Critical patent/JPH03257643A/en
Publication of JPH03257643A publication Critical patent/JPH03257643A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To shorten time for generating a logic/real address without requiring useless machine cycle for address conversion by providing the first and second address conversion buffer circuits. CONSTITUTION:When the first address conversion buffer circuit 100 and no real address exists, before generating the real address by a real address generating circuit 300, the second address conversion buffer circuit 400 is accessed and the pair of the logic/real address, which is generated when the same address generation request is continuously outputted plural times from the first address conversion buffer circuit 100, is written into the first address conversion buffer circuit 100. Simultaneously, the pair of the logic/real excluded from the first address conversion buffer circuit 100 is written into the second address conversion buffer circuit 400. Thus, any useless machine cycle is not required for the address conversion and the time for generating the logic/real address is shortened.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は仮想記憶を有する情報処理装置に関し、特に仮
想計算機が作る論理アドレスを実アドレスに変換するア
ドレス変換バッファ回路に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device having virtual memory, and more particularly to an address conversion buffer circuit that converts a logical address created by a virtual computer into a real address.

[従来の技術] 従来、この種のアドレス変換バッファ回路では論理アド
レスから実アドレスへの変換ロスを少なくするためバッ
ファ容量を太きくしたり、用途別に例えば命令取出し用
とオペランド取出し用の複数持つようにしていた。
[Prior Art] Conventionally, this type of address translation buffer circuit has been designed to have a large buffer capacity in order to reduce conversion loss from a logical address to a real address, or to have multiple buffers for different purposes, for example, one for fetching instructions and one for fetching operands. was.

[発明が解決しようとする課題] 上述した従来の方法は、計算機のマシンサイクルが超高
速になるにつれ1マシンサイクルタイム内にアクセス可
能なアドレス変換バッファの容量が制限されバッファ容
量を大きく持てなくなってきたため、また使用可能性の
あるデータがバッファ容量の制限で新しいデータに追い
出され、古いデータを再度使用使おうとした時に改めて
仮想アドレスから実アドレスを作成しアドレス変換バッ
ファに格納しているためアドレス変換のために無駄なマ
シンサイクルを要する欠点があり、また用途別にアドレ
ス変換バッファを持つため、互いに共通なアドレス領域
を使用する場合でも論理アドレス/実アドレスの生成を
それぞれのアドレス変換バッファからの要求毎に2度行
う欠点があった。
[Problems to be Solved by the Invention] In the conventional method described above, as the machine cycles of computers become extremely fast, the capacity of the address translation buffer that can be accessed within one machine cycle time is limited, and it is no longer possible to have a large buffer capacity. Therefore, data that could be used is replaced by new data due to buffer capacity limitations, and when trying to use old data again, a real address is created from the virtual address and stored in the address translation buffer, so address translation is not possible. This has the disadvantage that it requires wasted machine cycles, and since address translation buffers are provided for each purpose, logical addresses/real addresses must be generated for each request from each address translation buffer even when a common address area is used. There was a drawback that it was done twice.

本発明の目的は、アドレス変換のために無駄なマシンサ
イクルを要せず、かつ論理アドレス/実アドレスの生成
時間が短縮された情報処理装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an information processing device that does not require wasted machine cycles for address conversion and reduces the time required to generate logical addresses/real addresses.

[課題を解決するための手段] 本発明の情報処理装置は、 仮想アドレスから実アドレスへ変換するアドレス変換バ
ッファを含み、アドレス変換バッファをアクセスする毎
にリプレースメモリの内容を更新してアクセスされたデ
ータが最新であることを記録し、必要とするデータがア
ドレス変換バッファに存在しない場合は新たに仮想アド
レスから実アドレスを作成し、前記リプレースメモリの
読出しデータに基づいて追い出されるブロックへ格納す
る複数の第1のアドレス変換バッファ回路および第2の
アドレス変換バッファ回路と、主記憶装置のアドレス変
換テーブルを索引し、仮想アドレスに対応した実アドレ
スを生成する実アドレス生成回路とを有し、 第1のアドレス変換バッファ回路は、アドレス変換バッ
ファに仮想アドレスに対応する論理アドレス/実アドレ
スの変換対が登録されていなければ第2のアドレス変換
バッファ回路に実アドレス生成要求を出し、同一実アド
レス生成要求が所定回数連続したことが第2のアドレス
変換バッファ回路から通知されると、アドレス変換バッ
ファから追い出されるレベルの論理アドレス/実アドレ
スの変換対を読出し、第2のアドレス変換バッファ回路
に送出するとともに、第2のアドレス変換バッファ回路
に保持されていた実アドレスを取込み、追出したレベル
に論理アドレス/実アドレスの対をアドレス変換バッフ
ァに格納し、第2のアドレス変換バッファ回路は、第1
のアドレス変換バッファ回路から所定回数連続して同一
実アドレス生成要求があった場合には該当する第1のア
ドレス変換バッファ回路に対し実アドレスを渡すととも
にアドレス変換バッファにデータ登録指示をし、該当す
る第1のアドレス変換バッファ回路から追い出された論
理アドレス/実アドレスの変換対を自アドレス変換バッ
ファに登録し、所定回数連続した同一実アドレス生成要
求でなければ自アドレス変換バッファを索引して論理ア
ドレス/実アドレスの変換対が登録されているかチェッ
クし、未登録ならば実アドレス生成回路により実アドレ
スを生成して該当する第1のアドレス変換バッファ回路
に通知する。
[Means for Solving the Problems] An information processing device of the present invention includes an address translation buffer that translates from a virtual address to a real address, and updates the contents of a replacement memory every time the address translation buffer is accessed. Record that the data is the latest, and if the required data does not exist in the address conversion buffer, create a new real address from the virtual address and store it in the block to be evicted based on the read data of the replace memory. a first address translation buffer circuit and a second address translation buffer circuit; and a real address generation circuit that indexes an address translation table in a main storage device and generates a real address corresponding to a virtual address; If the logical address/real address translation pair corresponding to the virtual address is not registered in the address translation buffer, the address translation buffer circuit issues a real address generation request to the second address translation buffer circuit, and requests the same real address generation. When it is notified from the second address translation buffer circuit that the address translation buffer circuit continues for a predetermined number of times, the logical address/real address translation pair of the level to be evicted from the address translation buffer is read out and sent to the second address translation buffer circuit. , takes in the real address held in the second address translation buffer circuit and stores the logical address/real address pair in the address translation buffer at the evicted level, and the second address translation buffer circuit
When the same real address generation request is received a predetermined number of times consecutively from the address translation buffer circuit of the first address translation buffer circuit, the real address is passed to the corresponding first address translation buffer circuit, and data registration instruction is given to the address translation buffer. The translation pair of logical address/real address evicted from the first address translation buffer circuit is registered in the own address translation buffer, and if the same real address generation request is not repeated a predetermined number of times, the own address translation buffer is indexed and the logical address is /Checks whether a real address translation pair is registered, and if not registered, generates a real address by the real address generation circuit and notifies the corresponding first address translation buffer circuit.

[作 用] 第1のアドレス変換バッファ回路をアクセスして実アド
レスが存在しない場合は、実アドレス生成回路で実アド
レスを生成する以前に第2のアドレス変換バッファ回路
をアクセスし第1のアドレス変換バッファ回路から同一
アトレス生成要求が所定回数連続した時に生成した論理
アドレス/実アドレスの対を第1のアドレス変換バッフ
ァ回路に書込むと共に第1のアドレス変換バッファ回路
から追い出された論理アドレス/実アドレスの対を第2
のアドレス変換バッファ回路に書込む。
[Function] If the first address translation buffer circuit is accessed and a real address does not exist, the second address translation buffer circuit is accessed and the first address translation is performed before the real address generation circuit generates a real address. Writing the logical address/real address pair generated when the same address generation request is consecutively received from the buffer circuit a predetermined number of times into the first address translation buffer circuit, and the logical address/real address evicted from the first address translation buffer circuit. the second pair of
write to the address translation buffer circuit.

[実施例] 次に、本発明の実施例について図面を参照して説明する
。
[Example] Next, an example of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例の情報処理装置のブロック図
である。
FIG. 1 is a block diagram of an information processing apparatus according to an embodiment of the present invention.

本実施例の情報処理装置は、命令取出を要求する命令取
出ユニット1と、演算用データ取出を要求するオペラン
ド取出ユニット2と、それぞれの取出ユニット1.2に
対応して論理/実アドレス変換をアドレス変換バッファ
(TLB)を用いて行う命令用アドレス変換バッファ回
路100およびオペランド用アドレス変換バッファ回路
200と、命令用アドレス変換バッファ回路100.オ
ペランド用アドレス変換バッファ回路200に該当する
実アドレスが存在しない場合のアドレス変換バッファ回
路400と、さらに第2のアドレス変換バッファ回路4
00にも該当する実アドレスが存在しない場合は主記憶
装置3のアドレス変換テーブルを用いて実アドレスを生
成する実アドレス生成回路300を含んでいる。
The information processing device of this embodiment performs logical/real address conversion corresponding to an instruction fetching unit 1 that requests instruction fetching, an operand fetching unit 2 that requests fetching data for operation, and each fetching unit 1.2. An address translation buffer circuit 100 for instructions, an address translation buffer circuit 200 for operands, and an address translation buffer circuit 100 for instructions using an address translation buffer (TLB). The address translation buffer circuit 400 when there is no corresponding real address in the operand address translation buffer circuit 200 and the second address translation buffer circuit 4
It includes a real address generation circuit 300 that generates a real address using an address conversion table in the main memory 3 when there is no real address corresponding to 00.

アドレス変換バッファ回路400は実アドレス生成回路
300から実アドレスを受取ったら要求した命令用また
はオペランド用アドレス変換バッファ回路100または
200に対し求めた実アドレスを渡す。
When the address translation buffer circuit 400 receives the real address from the real address generation circuit 300, it passes the obtained real address to the requested instruction or operand address translation buffer circuit 100 or 200.

また、アドレス変換バッファ回路400はアドレス変換
バッファ回路100または200から同アドレスのアド
レス変換要求が2回連続して来たかチェックする回路を
含んでおり、2回連続して論理/実アドレス変換要求が
あった場合は該当するアドレス変換バッファ回路100
または200に対し実アドレスデータを渡すと共にアド
レス変換バッファにデータ登録指示をし、命令またはオ
ペランド用アドレス変換バッファ回路100または20
0より追い出された論理アドレス/実アドレスの変換対
をアドレス変換バッファに登録する。
Further, the address translation buffer circuit 400 includes a circuit that checks whether an address translation request for the same address has been received twice consecutively from the address translation buffer circuit 100 or 200, and the address translation buffer circuit 400 includes a circuit that checks whether an address translation request for the same address has been received twice in a row from the address translation buffer circuit 100 or 200. If there is, the corresponding address translation buffer circuit 100
Or, it passes real address data to the instruction or operand address translation buffer circuit 100 or 200 and instructs the address translation buffer to register the data.
The logical address/real address translation pair evicted from 0 is registered in the address translation buffer.

命令用またはオペランド用アドレス変換バッファ回路1
00または200はアドレス変換バッファ回路400か
ら2回連続して同アドレスのアドレス変換要求があった
旨を受けたら、新しいデータを登録すべきアドレス変換
バッファに保持していた実アドレスデータを読出しアド
レス変換バッフ7回路400に送出し、新しい論理/実
アドレスの変換対データを登録する。
Instruction or operand address translation buffer circuit 1
00 or 200 reads the real address data held in the address translation buffer in which new data should be registered when receiving two consecutive address translation requests for the same address from the address translation buffer circuit 400, and performs address translation. The data is sent to the buffer 7 circuit 400 to register new logical/real address conversion pair data.

第2図は第1図中の命令用アドレス変換バッファ回路1
00、オペランド用アドレス変換バッファ回路200、
実アドレス生成回路300、アドレス変換バッファ回路
400の詳細S成因である。
Figure 2 shows the instruction address translation buffer circuit 1 in Figure 1.
00, operand address conversion buffer circuit 200,
This is the detailed S cause of the real address generation circuit 300 and address translation buffer circuit 400.

命令用アドレス変換バッファ回路100は、仮想アドレ
スレジスタ110と、仮想アドレス情報とそれに対応す
る実アドレス情報を対て保持するアドレス変換バッファ
120と、アドレス変換バッファ120に新たなエント
リを登録する際のリプレースメント制御回路140と、
リプレースアルゴリズムのための情報を保持するLRU
(LeastRecently Llsed)メモリ1
30と、仮想アドレスレジスタ110の一部とアドレス
変換バッファ120の読出データの仮想アドレスを比較
する比較回路150と、アドレス変換バッファ120か
らの読出しデータまたは新たに求めた実アドレスを選択
するセレクタ160から構成される。アドレス変換バッ
ファ120は2レベル有しており、アドレス変換バッフ
ァ120に新たなエントリを!I!録する際のリプレー
スメントアルゴリズムはL RU (Least Re
cently Used)を採用している。
The instruction address translation buffer circuit 100 includes a virtual address register 110, an address translation buffer 120 that holds virtual address information and corresponding real address information, and a replacement register when registering a new entry in the address translation buffer 120. A control circuit 140;
LRU that holds information for the replacement algorithm
(Least Recently Llsed) Memory 1
30, a comparison circuit 150 that compares the virtual address of part of the virtual address register 110 and the read data of the address translation buffer 120, and a selector 160 that selects the read data from the address translation buffer 120 or the newly obtained real address. configured. The address translation buffer 120 has two levels, and new entries are added to the address translation buffer 120! I! The replacement algorithm when recording is LRU (Least Re
used).

オペランド用アドレス変換バッファ回路200も命令用
アドレス変換バッファ回路100と同様の構成で、仮想
アドレスレジスタ210と、仮想アドレス情報とそれに
対応する実アドレス情報を対で保持するアドレス変換バ
ッファ220と、アドレス変換バッファ220に新たな
エントリを登録する際のリプレース制御回路240と、
リプレースアルゴリズムのための情報を保持するLRU
メモリ230と、仮想アドレスレジスタ210の一部と
アドレス変換バッファ220からの読出データの仮想ア
ドレスとを比較する比較回路250と、アドレス変換バ
ッファ220からの読出データまたは新たに求めた実ア
ドレスを選択するセレクタ260から構成される。
The operand address translation buffer circuit 200 has the same configuration as the instruction address translation buffer circuit 100, and includes a virtual address register 210, an address translation buffer 220 that holds virtual address information and corresponding real address information in pairs, and an address translation buffer circuit 200 for address translation. a replacement control circuit 240 when registering a new entry in the buffer 220;
LRU that holds information for the replacement algorithm
The memory 230, a comparison circuit 250 that compares a part of the virtual address register 210 with the virtual address of the data read from the address translation buffer 220, and selects the data read from the address translation buffer 220 or the newly obtained real address. It is composed of a selector 260.

実アドレス生成回路300はアクセスした仮想アドレス
に対応する実アドレスが命令用アドレス変換バッファ1
20、オペランド用アドレス変換バッファ220に登録
されておらず、さらにアドレス変換バッファ回路400
にも登録されていない時に働き、主記憶装置3のアドレ
ス変換テーブルを索引し、仮想アドレスに対応した実ア
ドレスを生成する。
The real address generation circuit 300 converts the real address corresponding to the accessed virtual address into the instruction address translation buffer 1.
20, it is not registered in the operand address translation buffer 220, and the address translation buffer circuit 400
It operates when the virtual address is not registered in the address conversion table of the main memory 3 and generates a real address corresponding to the virtual address.

アドレス変換バッファ回路400は、命令用の仮想アド
レスレジスタ110、オペランド用の仮想アドレスレジ
スタ210からのデータを選択するセレクタ410と、
仮想アドレスレジスタ430と、命令用、オペランド用
のそれぞれのアドレス変換バッファ120,220から
の続出データまたは求めた実アドレスデータ302を選
択するセレクタ420と、第2のアドレス変換バッファ
460と、第2のアドレス変換バッファ460への書込
保持レジスタ440、アドレス変換バッファ460に新
たなエントリを登録する際のリプレース制御回路4AO
と、リプレースアルゴリズムのための情報を保持するL
RUメモリ470と、仮想アドレスレジスタ430の一
部と第2のアドレス変換バッファ460からの読出デー
タの仮想アドレスとを比較する比較回路490と、アド
レス変換バッファ460からの読出しデータ、実アドレ
ス生成回路300で生成された実アドレス、セレクタ4
45のいずれか実アドレスを選択するセレクタ4BOと
、命令用、オペランド用に求められた実アドレスを送出
するためのレジスタ4COと、同一アトレス要求が2回
連続したかをチェックするための命令用/オペランド用
の仮想アドレスを保持するレジスタ40A、40B、セ
レクタ41A、比較回路480と、求められた実アドレ
スを保持する命令用レジスタ40C、オペランド用レジ
スタ40Dと、実アドレスデータ選択用のセレクタ44
5より構成される。
The address translation buffer circuit 400 includes a selector 410 that selects data from a virtual address register 110 for instructions and a virtual address register 210 for operands;
A virtual address register 430, a selector 420 that selects successive data from the instruction and operand address translation buffers 120 and 220, or the obtained real address data 302, a second address translation buffer 460, and a second address translation buffer 460. Write holding register 440 to address translation buffer 460, replacement control circuit 4AO when registering a new entry to address translation buffer 460
and L that holds information for the replacement algorithm.
RU memory 470, a comparison circuit 490 that compares a part of the virtual address register 430 with the virtual address of the read data from the second address translation buffer 460, and a real address generation circuit 300 for the read data from the address translation buffer 460. Real address generated by selector 4
a selector 4BO for selecting one of the real addresses of 45; a register 4CO for sending out the real address requested for the instruction and operand; and a register 4CO for the instruction and for checking whether the same address request is made twice in succession Registers 40A and 40B that hold virtual addresses for operands, selector 41A, comparison circuit 480, instruction register 40C that holds the obtained real address, register 40D for operand, and selector 44 for selecting real address data.
Consists of 5.

次に、本実施例の動作を第2図を用い説明する。Next, the operation of this embodiment will be explained using FIG. 2.

オペランド取出ユニット2の要求ならば仮想アドレスレ
ジスタ210に仮想アドレスを取込み、アドレス変換バ
ッファ220を索引し、論理/実アドレスの変換対が登
録されているかチェックする。登録されているならば求
めた実アドレスをそのまま使用し次の動作に移行する。
If the request is from the operand fetching unit 2, the virtual address is taken into the virtual address register 210, the address translation buffer 220 is indexed, and it is checked whether a logical/real address translation pair is registered. If it is registered, the obtained real address is used as is and the process moves to the next operation.

論理/実アドレスの対が登録されているかどうかは仮想
アドレスレジスタの一部でアドレス変換バッファ220
の論理アドレス部を読出し、読出したデータと仮想アド
レスレジスタ210のさらに一部とが比較回路250で
判定され、〜致していれば登録、不一致であれば未登録
となり信号線251で通知される。
Whether a logical/real address pair is registered or not is determined by the address translation buffer 220 as part of the virtual address register.
The read data and a further part of the virtual address register 210 are determined by a comparison circuit 250. If they match, it is registered, and if they do not match, it is unregistered, and is notified via a signal line 251.

本実施例ではアドレス変換バッファ22(12レヘル分
有しており、比較も2レベル分同時に行われる。論理/
実アドレスの変換対は必ず一方のレヘルに登録されてい
るか、未登録状態になる。
In this embodiment, the address translation buffer 22 (12 levels) is included, and comparison is also performed for 2 levels at the same time.
A translation pair of real addresses is always registered in one level or is in an unregistered state.

2レベルあるアドレス変換バッファのどちらのレベルに
登録するかはリプレースメント制御回路240とリプレ
ースアルゴリズムのための情報を保持するLRUメモリ
230の読出しデータで決まるLRU制御方式を採用し
ている。論理/実アドレスの変換対が未登録であったな
らばオペランド用アドレス変換バッファ回路200から
信号線251を介し、アドレス変換バッファ回路400
に通知する。アドレス変換バッファ回路400は未登録
の通知を受は付けたならばセレクタ410でオペランド
用の仮想アドレスレジスタ210を選択し、仮想アドレ
スの内容をレジスタ430に取込むと同時にセレクタ4
1Aでオペランド用の以前要求した仮想アドレスを保持
するレジスタ40Bを選択して両者を比較回路480で
比較する。レジスタ40A、40Bには以前に命令用、
オペランド用アドレス変換バッファ回路100゜200
から要求した仮想アドレスが保持されている。また、レ
ジスタ40C,40Dにはその時求めた実アドレスが保
持されている。比較回路480でアドレス比較の結果、
アドレスが一致していたならば、レジスタ40Dの内容
をセレクタ445.4BOで選択してレジスタ4COに
取込み、同一アドレス変換要求が2回連続したことを信
号線403でオペランド用アドレス変換バッファ回路2
00に通知する。
An LRU control method is adopted in which which level of the two-level address conversion buffer to register is determined by read data from the replacement control circuit 240 and the LRU memory 230 that holds information for the replacement algorithm. If the logical/real address translation pair is unregistered, it is sent from the operand address translation buffer circuit 200 to the address translation buffer circuit 400 via the signal line 251.
to notify. When the address translation buffer circuit 400 receives an unregistered notification, the selector 410 selects the virtual address register 210 for the operand, and at the same time, the selector 410 takes the contents of the virtual address into the register 430.
1A selects the register 40B holding the previously requested virtual address for the operand, and compares the two in the comparison circuit 480. Registers 40A and 40B have previously been used for instructions,
Operand address conversion buffer circuit 100°200
The virtual address requested from is retained. Further, the real addresses obtained at that time are held in registers 40C and 40D. As a result of address comparison in the comparison circuit 480,
If the addresses match, the contents of register 40D are selected by selector 445.4BO and taken into register 4CO, and the operand address conversion buffer circuit 2
Notify 00.

通知を受けたオペランド用アドレス変換バック7回路2
00はリプレース制御回路240の決定でどちらか追い
出されるレベルの論理/実アドレスの対データをアドレ
ス変換バッファ220から読出しセレクタ260で選択
してアドレス変換バッファ回路400に送出する。追出
したレベルにはアドレス変換バッファ回路400に保持
していた実アドレスを取込み論理/実アドレスの対を格
納する。アドレス変換バッファ220の書込みはレジス
タ210の出力(論理アドレス)とレジスタ4COの出
力(実アドレス)から行われる。
Address conversion back 7 circuit 2 for the notified operand
00, the logical/real address pair data of whichever level is removed based on the determination of the replacement control circuit 240 is read out from the address translation buffer 220, selected by the selector 260, and sent to the address translation buffer circuit 400. The real address held in the address translation buffer circuit 400 is taken into the ejected level and the logical/real address pair is stored. Writing to the address translation buffer 220 is performed from the output (logical address) of the register 210 and the output (actual address) of the register 4CO.

そして同時にセレクタ260てレジスタ4COを選択し
て求めた実アドレスをそのまま使用して次の動作に移る
。一方、アドレス変換バッファ回路400はオペランド
用アドレス変換バッファ回路200から追い出された論
理/実アドレス対をセレクタ420で選択してレジスタ
440に取込みアドレス変換バッファ460に書込む。
At the same time, the register 4CO is selected by the selector 260, and the obtained real address is used as it is to proceed to the next operation. On the other hand, the address translation buffer circuit 400 selects the logical/real address pair evicted from the operand address translation buffer circuit 200 by the selector 420, takes it into the register 440, and writes it into the address translation buffer 460.

書込みレベルはリプレース制御回路4AOにより決定さ
れる。
The write level is determined by replacement control circuit 4AO.

アドレス変換バッファ回路400は比較回路480での
アドレス比較で結果が不一致であったならば、仮想アド
レスレジスタ430でアドレス変換バッファ460を索
引して論理/実アドレスの変換対が登録されているかチ
ェックする。
If the result of the address comparison in the comparison circuit 480 is a mismatch, the address translation buffer circuit 400 indexes the address translation buffer 460 using the virtual address register 430 and checks whether a logical/real address translation pair is registered. .

チェックはオペランド用アドレス変換バッファ220の
索引と同様に行われ、仮想アドレスの一部でアドレス変
換バッファ460の論理アドレス部を読出し、仮想アド
レスレジスタ430との一部か比較回路490で比較判
定され一致していれば登録、不一致であれば未登録とな
る。不一致の時は信号線491で実アドレス生成回路3
00に通知される。
The check is performed in the same way as the indexing of the address translation buffer 220 for operands, and a part of the virtual address is read out from the logical address part of the address translation buffer 460, and a comparison circuit 490 compares and determines whether it is part of the virtual address register 430 or not. If they match, it will be registered; if they do not match, it will be unregistered. When there is a mismatch, the real address generation circuit 3 is sent to the signal line 491.
00 will be notified.

本実施例ではアドレス変換バッファ460は2レベル分
有しており、比較も2レベル分同時に行うか、容量をも
っと多く持っても何等問題はない。アドレス変換バッフ
ァ460に登録されていたならば、求めた実アドレスを
セレクタ4BOで選択してレジスタ4COに取込み、信
号@403でオペランド用アドレス変換バッファ回路2
00に通知する。そしてこの時比較回路480の結果も
合わせて通知する。比較回路480の結果はオペランド
用アドレス変換バッファ回路200に受取った実アドレ
スを書込むか否かに使用される。
In this embodiment, the address translation buffer 460 has two levels, and there is no problem even if the comparison is performed simultaneously for two levels or if it has a larger capacity. If it is registered in the address conversion buffer 460, the obtained real address is selected by the selector 4BO and taken into the register 4CO, and the signal @403 is sent to the operand address conversion buffer circuit 2.
Notify 00. At this time, the result of the comparison circuit 480 is also notified. The result of the comparison circuit 480 is used to determine whether or not to write the received real address into the operand address conversion buffer circuit 200.

アドレス変換バッファ回路400はこの時オペランド用
の仮想アドレスを保持するレジスタ210からレジスタ
40Bに仮想アドレスを取込むと共にレジスタ4COか
らレジスタ40Dに実アドレスデータを取込んでおく。
At this time, the address translation buffer circuit 400 takes in the virtual address from the register 210 that holds the virtual address for the operand into the register 40B, and also takes in the real address data from the register 4CO into the register 40D.

オペランド用アドレス変換バッファ回路200はアドレ
ス比較の結果の不一致と、実アドレスが求まったことを
信号線403で通知を受けたならば、求めた実アドレス
データを自分のアドレス変換バッファ220に書込みは
しないですぐにセレクタ260でレジスタ4COからの
実アドレスデータを選択して次の動作に移行する。
When the operand address translation buffer circuit 200 is notified via the signal line 403 that there is a discrepancy in the result of address comparison and that the real address has been obtained, it does not write the obtained real address data to its own address translation buffer 220. Then, the selector 260 immediately selects the real address data from the register 4CO and moves on to the next operation.

アドレス変換バッファ回路400のレジスタ40Bには
直前にアクセスした仮想アドレスが、そしてレジスタ4
0Dにはそれに対応する実アドレスが準備され、次の要
求への対応が可能になる。
The register 40B of the address translation buffer circuit 400 contains the virtual address accessed immediately before, and the register 40B contains the virtual address accessed immediately before.
A corresponding real address is prepared in 0D, making it possible to respond to the next request.

アドレス変換バッファ回路400で比較回路480での
アドレス比較の結果が不一致で、更にアドレス変換バッ
ファ460を索引し論理/実アドレスの変換対が登録さ
れていない場合は信号線401で実アドレス生成回路3
00に報告する。
In the address translation buffer circuit 400, if the results of the address comparison in the comparison circuit 480 do not match and the address translation buffer 460 is further indexed and no logical/real address translation pair is registered, the signal line 401 is sent to the real address generation circuit 3.
Report to 00.

実アドレス生成回路300は仮想アドレスレジスタ43
0の内容で主記憶装置3のアドレス変換対テーブルの内
容を参照し実アドレスを求める。実アドレス生成回路3
00が主記憶装置3のテーブルを参照して実アドレスを
生成することについては公知であるので説明は省略する
。実アドレスが得られたならば信号線301でアドレス
変換バッファ回路400に通知される。アドレス変換バ
ッファ回路400は通知を受けたならばセレクタ4BO
で実アドレスデータ302を選択してレジスタ4COに
取込み信号線403で実アドレスが求まったことを通知
する。通知を受けたオペランド用アドレス変換バッファ
回路200は比較回路480の結果も合わせて通知され
ているので前述した様に求めた実アドレスデータを自分
のアドレス変換バッファ回路220に書込みはしないで
すぐにセレクタ260でレジスタ4COからの実アドレ
スデータを選択して次の動作に移行する。アドレス変換
バッファ回路400はオペランド用の仮想アドレスを保
持するレジスタ210から仮想アドレスをレジスタ40
Bに取込むと共にレジスタ4COからレジスタ40Dに
実アドレスデータを取込む。そしてセレクタ420て論
理アドレスデータ430から、実アドレスデータはレジ
スタ4COからそれぞれ選択してレジスタ440に取込
みアドレス変換バッファ460に書込む。書込みするレ
ベルはリプレース制御回路4AOによって決定される。
The real address generation circuit 300 is a virtual address register 43
With the content of 0, the content of the address translation pair table in the main storage device 3 is referred to to obtain the real address. Real address generation circuit 3
It is well known that 00 generates a real address by referring to a table in the main storage device 3, so a description thereof will be omitted. When the real address is obtained, it is notified to the address conversion buffer circuit 400 via the signal line 301. When the address translation buffer circuit 400 receives the notification, the selector 4BO
selects the real address data 302 and notifies the register 4CO through the take-in signal line 403 that the real address has been found. The operand address translation buffer circuit 200 that has received the notification is also notified of the result of the comparison circuit 480, so it does not write the real address data obtained as described above to its own address translation buffer circuit 220, but immediately selects the address data. At step 260, the real address data from the register 4CO is selected and the process moves to the next operation. The address translation buffer circuit 400 transfers the virtual address from the register 210 holding the virtual address for the operand to the register 40.
At the same time, the real address data is fetched from register 4CO to register 40D. Then, the selector 420 selects the logical address data 430 and the real address data from the register 4CO, respectively, and takes them into the register 440 and writes them into the address conversion buffer 460. The writing level is determined by replacement control circuit 4AO.

以上オペランド用アドレス変換バッファ回路200から
の動作を説明したが、命令用アドレス変換バッファ回路
100からの動作も同様て、オペランド用レジスタ40
Bの変りに40A。
The operation from the operand address translation buffer circuit 200 has been described above, but the operation from the instruction address translation buffer circuit 100 is also similar to the operation from the operand register 40.
40A instead of B.

40Dの代りに40Cを使うだけで動作は同しである。The operation is the same just by using 40C instead of 40D.

命令用アドレス変換バッファ回路100と才へランド用
アドレス変換バッファ回路200は同時に並行して動作
している。アドレス変換バッファ回路400は命令用ア
ドレス変換バッファ回路100とオペランド用アドレス
変換バッファ回路200から同時に要求を受けた時はい
ずれか一方からの要求を受付け、処理を行うが、実施例
では命令側を優先させるよう定めている。
The instruction address translation buffer circuit 100 and the land address translation buffer circuit 200 operate simultaneously in parallel. When the address translation buffer circuit 400 receives requests from the instruction address translation buffer circuit 100 and the operand address translation buffer circuit 200 at the same time, it accepts and processes the request from either one, but in the embodiment, priority is given to the instruction side. It is prescribed that

[発明の効果] 以上説明したように本発明は、第1のアドレス変換バッ
ファ回路に求めるべき論理/実アドレスの変換対が存在
しない時、実アドレス生成回路で生成された実アドレス
を1回目のアクセスで第1のアドレス変換バッファ回路
に登録しないで、共通にアクセスできる第2のアドレス
変換バッファ回路内のバッファとレジスタに登録し、更
にまた第1のアドレス変換バッファ回路に登録する際に
追出した変換対を′!J2のアドレス変換バッファ回路
に登録することによってたった1回だけのアドレス変換
のために第1のアドレス変換バッファ回路を使用しない
で連続して同じアクセスのあった時に第1のアドレス変
換バッファ回路に諭1!!/実アドレスの対を登録する
ことにより、アドレス変換バッファを有効に使用でき、
さらに1J2のアドレス変換バッファ回路を持ち、共通
にアクセスすることによって各々個別要求毎に生成して
いた論理/実アドレスの生成時間を第2のアドレス変換
バッファ回路のアクセスたけて短縮できる効果がある。
[Effects of the Invention] As explained above, the present invention provides the first address translation buffer circuit with a real address generated by the real address generation circuit when there is no logical/real address translation pair to be obtained in the first address translation buffer circuit. When accessing, it is not registered in the first address translation buffer circuit, but is registered in the buffer and register in the second address translation buffer circuit that can be accessed in common, and then ejected when it is registered in the first address translation buffer circuit. The transformation pair ′! By registering in the address translation buffer circuit of J2, the first address translation buffer circuit is not used for only one address translation, and the first address translation buffer circuit is notified when the same access occurs continuously. 1! ! / By registering pairs of real addresses, the address translation buffer can be used effectively.
Furthermore, by having 1J2 address translation buffer circuits and accessing them in common, the generation time of logical/real addresses, which were generated for each individual request, can be shortened by accessing the second address translation buffer circuit.

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

第1図は本発明の一実施例の情報処理装置の概略構成図
、第2図は第1図の一点鎖線で囲まれた部分の詳細構成
図である。 1・・・命令取出ユニット、 2・・・オペランド取出ユニット、 3−・主記憶装置、 100・・・命令用アドレス変換バッファ回路、300
・−実アドレス生成回路、 400・−アドレス変換バッファ回路。 130.230,470−LRUメ%す、140゜ 240 4 A O−・リプレース制御回路
FIG. 1 is a schematic configuration diagram of an information processing apparatus according to an embodiment of the present invention, and FIG. 2 is a detailed configuration diagram of a portion surrounded by a dashed line in FIG. DESCRIPTION OF SYMBOLS 1... Instruction fetch unit, 2... Operand fetch unit, 3-- Main memory device, 100... Instruction address conversion buffer circuit, 300
-Real address generation circuit, 400.-Address translation buffer circuit. 130.230,470-LRU me%, 140°240 4 A O-・Replace control circuit

Claims (1)

【特許請求の範囲】 1、情報処理装置において、 仮想アドレスから実アドレスへ変換するアドレス変換バ
ッファを含み、アドレス変換バッファをアクセスする毎
にリプレースメモリの内容を更新してアクセスされたデ
ータが最新であることを記録し、必要とするデータがア
ドレス変換バッファに存在しない場合は新たに仮想アド
レスから実アドレスを作成し、前記リプレースメモリの
読出しデータに基づいて追い出されるブロックへ格納す
る複数の第1のアドレス変換バッファ回路および第2の
アドレス変換バッファ回路と、主記憶装置のアドレス変
換テーブルを索引し、仮想アドレスに対応した実アドレ
スを生成する実アドレス生成回路とを有し、 第1のアドレス変換バッファ回路は、アドレス変換バッ
ファに仮想アドレスに対応する論理アドレス/実アドレ
スの変換対が登録されていなければ第2のアドレス変換
バッファ回路に実アドレス生成要求を出し、同一実アド
レス生成要求が所定回数連続したことが第2のアドレス
変換バッファ回路から通知されると、アドレス変換バッ
ファから追い出されるレベルの論理アドレス/実アドレ
スの変換対を読出し、第2のアドレス変換バッファ回路
に送出するとともに、第2のアドレス変換バッファ回路
に保持されていた実アドレスを取込み追出したレベルに
論理アドレス/実アドレスの対をアドレス変換バッファ
に格納し、第2のアドレス変換バッファ回路は、第1の
アドレス変換バッファ回路から所定回数連続して同一実
アドレス生成要求があった場合には該当する第1のアド
レス変換バッファ回路に対し実アドレスを渡すとともに
アドレス変換バッファにデータ登録指示をし、該当する
第1のアドレス変換バッファ回路から追い出された論理
アドレス/実アドレスの変換対を自アドレス変換バッフ
ァに登録し、所定回数連続した同一実アドレス生成要求
でなければ自アドレス変換バッファを索引して論理アド
レス/実アドレスの変換対が登録されているかチェック
し、未登録ならば実アドレス生成回路により実アドレス
を生成して該当する第1のアドレス変換バッファ回路に
通知することを特徴とする情報処理装置。
[Scope of Claims] 1. An information processing device that includes an address translation buffer that translates from a virtual address to a real address, and updates the contents of a replacement memory every time the address translation buffer is accessed so that the accessed data is the latest. A plurality of first registers record a certain fact, and if the required data does not exist in the address translation buffer, create a new real address from a virtual address and store it in the block to be evicted based on the read data of the replace memory. The first address translation buffer includes an address translation buffer circuit, a second address translation buffer circuit, and a real address generation circuit that indexes an address translation table in a main memory and generates a real address corresponding to a virtual address. If the logical address/real address translation pair corresponding to the virtual address is not registered in the address translation buffer, the circuit issues a real address generation request to the second address translation buffer circuit, and the same real address generation request is made a predetermined number of times in a row. When notified from the second address translation buffer circuit that the conversion has occurred, the logical address/real address translation pair at the level to be evicted from the address translation buffer is read out and sent to the second address translation buffer circuit. The logical address/real address pair is stored in the address translation buffer at the level at which the real address held in the address translation buffer circuit has been taken in and has been ejected, and the second address translation buffer circuit receives the real address from the first address translation buffer circuit. If the same real address generation request is made a predetermined number of times in succession, the real address is passed to the corresponding first address translation buffer circuit, and data registration instructions are given to the address translation buffer, and the corresponding first address translation buffer circuit The logical address/real address translation pair that has been kicked out of the circuit is registered in the own address translation buffer, and if the same real address generation request is not repeated a predetermined number of times, the own address translation buffer is indexed and the logical address/real address translation pair is registered. 1. An information processing apparatus, characterized in that the information processing apparatus checks whether the address is registered, and if it is not registered, generates a real address by a real address generation circuit and notifies the corresponding first address translation buffer circuit.
JP2058559A 1990-03-08 1990-03-08 Information processor Pending JPH03257643A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2058559A JPH03257643A (en) 1990-03-08 1990-03-08 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2058559A JPH03257643A (en) 1990-03-08 1990-03-08 Information processor

Publications (1)

Publication Number Publication Date
JPH03257643A true JPH03257643A (en) 1991-11-18

Family

ID=13087814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2058559A Pending JPH03257643A (en) 1990-03-08 1990-03-08 Information processor

Country Status (1)

Country Link
JP (1) JPH03257643A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594370A (en) * 1991-04-25 1993-04-16 Internatl Business Mach Corp <Ibm> Computer memory system and virtual memory addressing partitioning method
JP2011028610A (en) * 2009-07-28 2011-02-10 Fujitsu Ltd Processor and arithmetic processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0594370A (en) * 1991-04-25 1993-04-16 Internatl Business Mach Corp <Ibm> Computer memory system and virtual memory addressing partitioning method
JP2011028610A (en) * 2009-07-28 2011-02-10 Fujitsu Ltd Processor and arithmetic processing method
US8650380B2 (en) 2009-07-28 2014-02-11 Fujitsu Limited Processor and arithmatic operation method

Similar Documents

Publication Publication Date Title
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
KR920005280B1 (en) High speed cache system
JP2825550B2 (en) Multiple virtual space address control method and computer system
US4410944A (en) Apparatus and method for maintaining cache memory integrity in a shared memory environment
US5257361A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US3761881A (en) Translation storage scheme for virtual memory system
JPS589277A (en) Data processor
JPH0470656B2 (en)
JPS5823375A (en) Method and apparatus for selectively clearing cache in a data processing system
US5557622A (en) Method and apparatus for parity generation
JP3190700B2 (en) Address translator
JPH11345168A (en) Method and system for accessing a cache memory in a data processing system
JPH01163852A (en) Subsystem in data processing system and its operation method
JPH01226056A (en) Address converter
GB2037466A (en) Computer with cache memory
JP2636485B2 (en) Cache storage
JPH02136946A (en) Cache memory control circuit
JPH02122347A (en) Information processor
JPS59207098A (en) Information processor
JPH04199242A (en) Cache storage device
JPS59218690A (en) Buffer memory
JPH04199243A (en) Cache storage device
JPS62298851A (en) Access system for address conversion buffer
JP2002169724A (en) Partial invalidation device in cache memory
JPH02176839A (en) Information processor