JPS62208147A - Expansion address converter - Google Patents

Expansion address converter

Info

Publication number
JPS62208147A
JPS62208147A JP61050375A JP5037586A JPS62208147A JP S62208147 A JPS62208147 A JP S62208147A JP 61050375 A JP61050375 A JP 61050375A JP 5037586 A JP5037586 A JP 5037586A JP S62208147 A JPS62208147 A JP S62208147A
Authority
JP
Japan
Prior art keywords
address
conversion
entry
virtual
real
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
JP61050375A
Other languages
Japanese (ja)
Inventor
Shizuo Goto
志津雄 後藤
Toyohiko Kagimasa
豊彦 鍵政
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61050375A priority Critical patent/JPS62208147A/en
Publication of JPS62208147A publication Critical patent/JPS62208147A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To shorten an address conversion time by selecting an entry coinciding with the longest part of virtual addresses out of an entry group registered in a converting buffer device and outputting one table in a head converting table group or a real address. CONSTITUTION:An instruction part 101 read from a main memory device 400 is supplied from an instruction analysis control part 100 to an instruction execution part 200 and a virtual address 2 calculated by an address calculating part 210 is outputted to an address conversion part 230. The conversion table having hierarchical structure for converting the address 2 into a real address is stored in the device 400 and specified by a register 1 in a control register control part 240. The leading address group of the conversion table is stored in the conversion buffer 20 together with the pair of the virtual address and the real address and the entry coinciding with the longest part of the virtual address is selected from the entry group registered in the buffer 20 by a level determining/selecting circuit 30. One head conversion table out of the head conversion table group or the real address is outputted in accordance with the coincident length, so that the conversion time can be shortened.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は仮想アドレスの実アドレスへのアドレス変換を
高速に行うための変換バッファ装置に係り、特に仮想ア
ドレスが拡張され多段階のアドレス変換テーブルを用い
る場合に変換処理を高速化するのに好適なアドレス変換
装置に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a translation buffer device for performing address translation from a virtual address to a real address at high speed. The present invention relates to an address translation device suitable for speeding up translation processing when used.

〔発明の背景〕[Background of the invention]

従来、仮想アドレスから実アドレスに変換するために階
層構造のアドレス変換テーブルについては、IBMマニ
ュアル; System 370Principles
 of 0peration (G A 22−700
0−8 )のDynamic Address Tra
nslationの章で示すように、2段階のものが用
いられてきた。
Traditionally, the hierarchical structure of address translation tables for translating virtual addresses to real addresses is described in the IBM manual; System 370 Principles.
of 0operation (G A 22-700
0-8) Dynamic Address Tra
Two stages have been used, as shown in the section on nslation.

しかし、仮想アドレスを31ビツトから大巾に(例えば
64ビツトに)拡張した場合には、階層構造は2段階で
は不十分であり、5段階程度の多段階階層構造とするの
が自然である。その理由はアドレス拡張を2段階のまま
で実相すると、変換テーブルの必要エントリ数がぼう大
となり、変換テーブルのために連続したぼう大なメモリ
領域の確保が必要となるためであり、多段階にすること
によって、連続して確保すべきメモリ領域を少なくする
ことができる。
However, when the virtual address is expanded from 31 bits to a wide range (for example, 64 bits), a two-level hierarchical structure is insufficient, and it is natural to use a multi-level hierarchical structure of about five levels. The reason for this is that if address expansion were to be carried out in two stages, the number of required entries for the translation table would be enormous, and a large contiguous memory area would need to be secured for the translation table. By doing so, it is possible to reduce the memory area that must be consecutively secured.

しかし、多段階にすることによる欠点として、変換の高
速化のために設けられる変換用バッファに該当エントリ
が存在しない場合の処理性能が悪化する問題がある。2
段階の場合、2度のメモリ要求が出るのに対し、5段階
の場合、5回のメモリ要求が必要となる。
However, a disadvantage of using multiple stages is that processing performance deteriorates when the corresponding entry does not exist in the conversion buffer provided to speed up the conversion. 2
In the case of stages, two memory requests are issued, whereas in the case of five stages, five memory requests are required.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、アドレス変換の高速化のために設ける
変換用バッファ装置に変換すべき仮想アドレスと一致す
るエントリがない場合に行われる多段階のアドレス変換
テーブル群の参照回数を減少し、アドレス変換に要する
時間を短縮するアドレス変換装置を提供することにある
An object of the present invention is to reduce the number of references to a multi-stage address translation table group that is performed when there is no entry matching a virtual address to be translated in a translation buffer device provided for speeding up address translation. An object of the present invention is to provide an address translation device that reduces the time required for translation.

〔発明の概要〕[Summary of the invention]

従来の変換用バッファ装置には、仮想アドレスと実アド
レスの対のみが登録されていたので、変換が失敗した場
合には、アドレス変換を最上位の変換テーブルから開始
せざるを得なかった。アドレス変換バッファの各エント
リに、各段階の変換テーブルのアドレスも記録し仮想ア
ドレスが一致する部分までの変換テーブルはアクセスす
る必要がなくなり、変換速度が向上できる。しかも各段
階の変換テーブルのアドレスは変換を行う過程で読込ん
だものであり負荷にならない。
Since only pairs of virtual addresses and real addresses are registered in conventional translation buffer devices, if translation fails, address translation must be started from the highest translation table. The address of the translation table at each stage is also recorded in each entry of the address translation buffer, and there is no need to access the translation table up to the portion where the virtual addresses match, thereby improving the translation speed. Moreover, the addresses of the conversion tables at each stage are read during the process of conversion, so they do not add any load.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第1図〜第5図を用いて説明
する。
An embodiment of the present invention will be described below with reference to FIGS. 1 to 5.

第1図は、本発明が適用される情報処理装置の構成を示
す、それは次のものから構成される。
FIG. 1 shows the configuration of an information processing device to which the present invention is applied, which is composed of the following.

(1)命令解析・制御部100 命令語を解読するとともに、他の部分の処理を制御する
(1) Command analysis/control unit 100 Decodes command words and controls other parts of processing.

(2)命令実行部200 命令語の実行を担当する部分であり、本発明が適用され
る部分である。
(2) Command Execution Unit 200 This is a unit in charge of executing command words, and is a unit to which the present invention is applied.

(3)メモリ制御部300 主記憶装置(MS)400とのデータ転送を制御する。(3) Memory control unit 300 Controls data transfer with the main storage device (MS) 400.

以上の構成は一般的なものである。The above configuration is a common one.

次に本発明が適用される命令実行部200内の構成を記
す。
Next, the configuration inside the instruction execution unit 200 to which the present invention is applied will be described.

(1)アドレス計算部210 仮想アドレスを計算する部分である。(1) Address calculation unit 210 This is the part that calculates the virtual address.

(2)汎用レジスタ制御部220 複数本の汎用レジスタ221からの読出し、およびそれ
らへの書込みを制御する部分である。
(2) General-purpose register control unit 220 This is a part that controls reading from and writing to a plurality of general-purpose registers 221.

(3)アドレス変換部230 アドレス計算部210の作成した仮想アドレスを実アド
レスに変換する部分である。
(3) Address conversion unit 230 This is a unit that converts the virtual address created by the address calculation unit 210 into a real address.

(4)制御レジスタ制御部240 複数本の制御レジスタ241からの読出し、およびそれ
らへの書込みを制御する部分である。本実施例では、制
御レジスタの中の1番をアドレス変換のために用いてい
る。
(4) Control Register Control Unit 240 This is a unit that controls reading from and writing to a plurality of control registers 241. In this embodiment, number 1 of the control registers is used for address translation.

以上の構成は一般的なものなので詳細な説明は省略する
が、本図を基に命令語の処理の流れを説明し、アドレス
変換の位置付けを記す。
Since the above configuration is a general one, a detailed explanation will be omitted, but the flow of instruction word processing will be explained based on this figure, and the position of address conversion will be described.

MS400より読込まれた命令語101内のオペレーシ
ョン・コード(op)を解読し、命令の種類を認識する
とともに命令語内の各パートを取り出す。命令語内のB
2L+ X2.D2パートを基に、オペランドのアドレ
スを計算する。具体的には、(a)命令語内の82パー
トの内容を汎用レジスタ制御部220に伝え、B2の指
示する汎用レジスタを読出し、Bzレジスタ・データ2
11に設定する。(b)Ca’lと同様にしてX2パー
トに対応して、x2レジスタ・データ212に値を設定
する。
The operation code (OP) in the instruction word 101 read from the MS 400 is decoded, the type of instruction is recognized, and each part in the instruction word is extracted. B in imperative word
2L+X2. Calculate the address of the operand based on the D2 part. Specifically, (a) the contents of part 82 in the instruction word are transmitted to the general-purpose register control unit 220, the general-purpose register specified by B2 is read out, and the Bz register data 2 is read.
Set to 11. (b) Similarly to Ca'l, a value is set in the x2 register data 212 corresponding to the X2 part.

(C)命令語内のD!パー1−の内容をDzデータ・レ
ジスタ213に設定する。(d)Bzレジスタ・データ
211、Xzレジスタ・データ212、D2データ・レ
ジスタ213の3者を入力とするアドレス・アダー21
4により加算が行われ、結果がアドレス・レジスタ21
5に設定される。この内容が仮想アドレスと呼ばれるも
のであり、これをMS上の実際のアドレス(実アドレス
)に変換するのがアドレス変換部230の役目である。
(C) D in the command word! The contents of par 1- are set in the Dz data register 213. (d) Address adder 21 that receives three inputs: Bz register data 211, Xz register data 212, and D2 data register 213.
4, the addition is performed and the result is stored in the address register 21.
Set to 5. This content is called a virtual address, and the role of the address translation unit 230 is to translate this into an actual address (real address) on the MS.

この詳細については後述するが、結果として実アドレス
が、変換アドレス・レジスタ232に、設定される。変
換アドレス・レジスタ232の内容は、メモリ制御部3
00内のMSアドレス・レジスタ30】に伝えられ、M
S400に対するフェッチまたはストア動作に利用され
る。
The details will be described later, but as a result, the real address is set in the translation address register 232. The contents of the translation address register 232 are stored in the memory control unit 3.
MS address register 30] in M
Used for fetch or store operations for S400.

以上で命令語の処理の流れとその中でのアドレス変換部
230の役割を説明した。
The flow of instruction word processing and the role of the address translation unit 230 therein have been described above.

第2図は、仮想アドレスを対応する実アドレスに変換す
るアドレス変換テーブルの構成を示す。
FIG. 2 shows the structure of an address translation table that translates virtual addresses into corresponding real addresses.

アドレス変換テーブルはMS400内に格納されている
。本実施例では仮想アドレスは64ピツ1〜であり、仮
想アドレスは次の6組に分解されろ。
The address translation table is stored within the MS 400. In this embodiment, the virtual address is 64 bits 1~, and the virtual address is divided into the following six sets.

(1)BLパート (2)B2パート (3)B3パート (4)Sパート (5)Pバート (6)Dパート 制御1ノジスタ1は1階)PI溝構造なす変換テーブル
群の先頭アドレスを指すために用いられる。制御レジス
タ1の内容に、仮想アドレスの81パ一ト部の内容の8
倍の値を加えた値が、B1パートに対応するエントリの
アドレスであり、そのエントリには、B2パート用変換
テーブルの先頭アドレスが含まれている。B2パート用
変換テーブルの先頭アドレスに、仮想アドレス内のB2
パートの内容の8倍の値を加えた値が、B2パートに対
応するエントリのアドレスであり、そのエントリには、
B3パート用変換テーブルの先頭アドレスが含まれてい
る。以下、同様にして、Sパート用変換テーブルの先頭
アドレス、Pパー1−用変換テーブルの先頭アドレスを
得る。Pパート用変換テーブル内のPパートの内容に対
応するエントリには、実ページ番号(RP N)が含ま
れている。
(1) BL part (2) B2 part (3) B3 part (4) S part (5) P part (6) D part Control 1 no register 1 indicates the start address of the conversion table group formed by the PI groove structure on the 1st floor used for 8 of the contents of the 81st part of the virtual address is added to the contents of control register 1.
The value obtained by adding the multiplied value is the address of the entry corresponding to the B1 part, and this entry includes the start address of the conversion table for the B2 part. B2 in the virtual address is added to the start address of the conversion table for B2 part.
The value obtained by adding 8 times the value of the content of the part is the address of the entry corresponding to the B2 part, and the entry contains the following:
Contains the start address of the B3 part conversion table. Thereafter, in the same manner, the start address of the S-part conversion table and the start address of the P-part 1- conversion table are obtained. The entry corresponding to the contents of the P part in the P part conversion table includes a real page number (RP N).

RPNと、仮想アドレス内のDパー1−を連結した値が
、当該仮想アドレスに対応する実アドレスとなる。
The value obtained by concatenating the RPN and Dpar1- in the virtual address becomes the real address corresponding to the virtual address.

なお、上記の過程において、各変換テーブルのエントリ
の下位部分にはインバリッド(Invalid)ビット
があり、それが1の時に、は、仮想アドレスが実メモリ
に割当てられていないと見なされ、アドレス変換例外の
プログラム割込みが発生する。
In addition, in the above process, there is an invalid bit in the lower part of each translation table entry, and when it is 1, it is assumed that the virtual address is not allocated to real memory, and an address translation exception is generated. A program interrupt occurs.

次に、第3図を用いて、アドレス変換処理の流れを説明
する。
Next, the flow of address conversion processing will be explained using FIG.

(1)変換用バッファから、仮想アドレスと一致する部
分が上位から数えて最も長いものを見つける。そのため
の回路を第4図に示す。図において、変換用バッファは
多面で構成される。各面には複数のエントリが格納され
ている。仮想アドレスの中の一部分のビットが圧縮器4
0により選択され、変換用バッファ20の各面に入力さ
れ、圧縮されたビット41で指定された位置の内容42
がそれぞれの面で出力される。ビット圧縮器40は、例
えばハツシュ回路(公知)で構成するのがよい。また、
1つの入力に対し、複数の出力を出すような読出し制御
回路は公知なので詳細は省略する。それらの出力10は
選択回路30への入力となる。選択回路30では、仮想
アドレスの上位から最も長く一致するものが選択される
(1) Find the longest part of the translation buffer that matches the virtual address, counting from the top. A circuit for this purpose is shown in FIG. In the figure, the conversion buffer has multiple sides. Each plane stores multiple entries. Some bits in the virtual address are compressed by compressor 4.
0, input to each side of the conversion buffer 20, and compressed contents 42 of the position specified by the bit 41.
is output on each side. The bit compressor 40 is preferably configured with a hash circuit (known in the art), for example. Also,
A readout control circuit that outputs a plurality of outputs in response to one input is well known, so its details will be omitted. Their outputs 10 become inputs to the selection circuit 30. The selection circuit 30 selects the longest matching virtual address from the top.

第5図に、本発明の直接の適用対象である変換用バッフ
ァによるアドレス変換処理の主要部を構成する選択回路
を示す。変換用バッファの1エントリ10の中には1次
の10種の情報が含まれている。
FIG. 5 shows a selection circuit constituting the main part of address translation processing by a translation buffer to which the present invention is directly applied. One entry 10 of the conversion buffer includes 10 types of primary information.

(a)仮想アドレスの81バート (b)仮想アドレスの82パート (c)仮想アドレスのB3パート (d)仮想アドレスのSパート (e)仮想アドレスのPバート (f)B2Tテーブルの先頭アドレス (g)83Tテーブルの先頭アドレス (h)ST子テーブル先頭アドレス (i)PT子テーブル先頭アドレス (j)仮想アドレスに対する実ページ番号RPN変換す
べき仮想アドレスと変換用バッファ・エントリとの比較
は次のように実施される。即ち、仮想アドレスと変換用
バッファ・エントリ内の対応する5つのパートがそれぞ
れ比較器Cu1l、 Cxxx、 Caza+ C41
41C5x8によって比較され、一致すればオン、不一
致ならばオフが出力される。5本の出力信号線はデコー
ダDEC16に入力される。デコーダDEC16の出力
の1つは、選択器5EL17のための選択情報として使
われる。デコーダDEC16の他の1つの出力は、出力
レベルのコード情報として使われる。デコーダDECの
5つの入力線の値と出力情報18との関係は、回内の表
に示すとおりである。
(a) 81 part of virtual address (b) 82 part of virtual address (c) B3 part of virtual address (d) S part of virtual address (e) P part of virtual address (f) Start address of B2T table (g ) 83T table start address (h) ST child table start address (i) PT child table start address (j) Real page number for virtual address RPN The comparison between the virtual address to be converted and the conversion buffer entry is as follows. will be implemented. That is, the virtual address and the corresponding five parts in the translation buffer entry are respectively
41C5x8, and if they match, ON is output, and if they do not match, OFF is output. The five output signal lines are input to a decoder DEC16. One of the outputs of the decoder DEC16 is used as selection information for the selector 5EL17. Another output of the decoder DEC16 is used as output level code information. The relationship between the values of the five input lines of the decoder DEC and the output information 18 is as shown in the pronation table.

変換用バッファの各面における出力情報18はすべて最
小出力レベル選択回路19の入力になりその結果、最小
の出力レベルを持つエントリが選択される。第6図に最
小出力レベル選択回路19の構成を示す。本図において
、出力レベル18aと定数′0′〜15′とが比較され
All the output information 18 on each side of the conversion buffer is input to the minimum output level selection circuit 19, and as a result, the entry having the minimum output level is selected. FIG. 6 shows the configuration of the minimum output level selection circuit 19. In this figure, the output level 18a and constants '0' to 15' are compared.

比較結果信号線31に従い、出力情報18の内容がセレ
クタ32を経由して選択器33の入力に伝えられる。一
方、OR回路36の各々の出力信号線35は、出力レベ
ル0〜5のものがあったか否かを表わす。この出力信号
線35はNOT回路36、AND回路37の作用を受け
て、選択器33の選択信号線38のたかだかどれか1つ
をオンにし、他をオフにする。その際、出力レベルが小
さいものがオンになれば、それより大きい出力レベルの
選択信号線38はオフになる。かくして、選択器33の
どれか1つが選択されてレジスタ34を経由して出力情
報232が出力される。
Following the comparison result signal line 31, the contents of the output information 18 are transmitted to the input of the selector 33 via the selector 32. On the other hand, each output signal line 35 of the OR circuit 36 indicates whether there is an output level 0 to 5. This output signal line 35 is operated by a NOT circuit 36 and an AND circuit 37 to turn on at most one of the selection signal lines 38 of the selector 33 and turn off the others. At this time, if the one with a lower output level is turned on, the selection signal line 38 with a higher output level is turned off. In this way, one of the selectors 33 is selected and the output information 232 is outputted via the register 34.

(2)選択されたエントリの出力レベルが0かどうか、
0比較器80によって調べる。0であれば、該当エント
リが見つかったことを意味し、アドレス変換成功として
終了する。
(2) Whether the output level of the selected entry is 0 or not;
Check by 0 comparator 80. If it is 0, it means that the corresponding entry has been found, and the process ends as address translation is successful.

(3)出力レベルが0でなければ、出力レベル31と出
力アドレス32を、ワーク・レジスタ1(33)、j(
34)にそれぞれセットし、以下の処理(4)〜(8)
を繰り返す。
(3) If the output level is not 0, set the output level 31 and output address 32 to work register 1 (33), j(
34) respectively, and perform the following processes (4) to (8).
repeat.

(4)パート部分選択信号92はレジスタ1(33)の
値に従って、仮想アドレスの中の対応するパートの情報
を得、ワーク・レジスタk(35)にセットする。例え
ば出力レベルが2であれば、第5図におけるSパートの
内容をレジスタk(35)にセットする。
(4) Part selection signal 92 obtains information on the corresponding part in the virtual address according to the value of register 1 (33), and sets it in work register k (35). For example, if the output level is 2, the contents of the S part in FIG. 5 are set in register k (35).

(5)アドレス計算部81はレジスタk(35)の内容
の8倍とレジスタjの内容の和をアドレスとして、メモ
リから8Bのデータ302を読み出す。そして、その内
容をレジスタj (34)に設定するとともに、変換用
バッファ20への書き込みエントリ・データ・レジスタ
22に値を設定するためのマージ回路21への入力とす
る。
(5) The address calculation unit 81 reads 8B of data 302 from the memory using the sum of eight times the contents of register k (35) and the contents of register j as an address. Then, the contents are set in register j (34) and are input to the merge circuit 21 for setting the value in the write entry data register 22 to the conversion buffer 20.

マージ回路21はレジスタ1(33)の値に従って、エ
ントリ・データ・レジスタ22内の対応するパートのア
ドレス部に設定する。
The merge circuit 21 sets the address part of the corresponding part in the entry data register 22 according to the value of register 1 (33).

(6)読み出したデータの中のInvalid bit
が1がどうか調べる。1であれば、プログラム割込み処
理に制御を渡し、処理を終了する。
(6) Invalid bit in read data
Check whether is 1. If it is 1, control is passed to the program interrupt process and the process ends.

(7)1でなければ、レジスタi (出力レベル)(3
3)から1を減じる。
(7) If not 1, register i (output level) (3
Subtract 1 from 3).

(8)レジスタi (33)が0でなければ、処理(4
)に行く。
(8) If register i (33) is not 0, process (4)
)go to.

(9)レジスタ1(33)が0になれば、アドレス変換
が成功したことになる。その場合には変換用バッファに
登録する処理を行う。すなわち、従来より知られたリプ
レースメント・アルゴリズム70を使って、登録すべき
エントリ位置を決定する。
(9) If register 1 (33) becomes 0, it means that the address conversion was successful. In that case, processing is performed to register it in the conversion buffer. That is, a conventionally known replacement algorithm 70 is used to determine the entry position to be registered.

(10)そして、決定されたエンド位置にエントリ・デ
ータ・レジスタ22の内容を書込み、アドレス変換処理
を終了する。書込まれる情報は次のものからなる。
(10) Then, the contents of the entry data register 22 are written to the determined end position, and the address conversion process is completed. The information written consists of the following:

CB>仮想アドレスのpi、B2.B3.S、Pの各パ
ート。
CB>virtual address pi, B2. B3. S and P parts.

(b)B2Tテーブル、B3Tテーブル、ST子テーブ
ルPT子テーブル各先頭アドレス、これらの情報は、(
1)で選択されたエントリに含まれていた情報23のう
ち有効なレベルまでの情報、および(5)で順次読み出
された情報である。
(b) B2T table, B3T table, ST child table PT child table each start address, these information are (
These are the information up to the valid level of the information 23 included in the entry selected in 1), and the information sequentially read out in (5).

以上、本発明の一実施例を説明した。本実施例は、64
ビツトの仮想アドレスが6個のパートに分割される例を
述べたが、他の長さの仮想アドレスや分割のしかたを変
えた場合に適用することば容易であることを言及してお
く。
One embodiment of the present invention has been described above. In this example, 64
Although we have described an example in which a bit virtual address is divided into six parts, it should be noted that the present invention can easily be applied to virtual addresses of other lengths or when the method of division is changed.

本実施例によれば、変換すべき仮想アドレスが変換用バ
ッファ装置内に見つからない場合のアドレス変換を高速
に処理できる。本例では5回のメモリ参照を1〜5回に
することができる。
According to this embodiment, address translation can be processed at high speed when the virtual address to be translated is not found in the translation buffer device. In this example, 5 memory references can be reduced to 1 to 5 times.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、変換用バッファ装置の各エントリに、
階層構造の変換テーブルの各段階の先頭アドレスが含ま
れており、変換用バッファから変換すべき仮想アドレス
に最も近いエントリを得ることができるので、変換用バ
ッファ内に位置アドレスが完全に一致するエントリが見
つからなかった場合にはそれに最も近いエントリ内に記
録された各段階の変換テーブルの先頭アドレスを利用す
ることができる。その結果、変換用バッファに該当する
エントリがない場合のアドレス変換処理の速度を向上す
ることができるという効果がある。
According to the present invention, in each entry of the conversion buffer device,
The start address of each stage of the hierarchical translation table is included, and the entry closest to the virtual address to be translated can be obtained from the translation buffer, so the entry whose position address completely matches the translation buffer is If not found, the start address of the conversion table for each stage recorded in the entry closest to it can be used. As a result, there is an effect that the speed of address translation processing when there is no corresponding entry in the translation buffer can be improved.

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

第1図は本発明が適用される情報処理装置の構成図、第
2図は本発明が有効に適用される拡張された仮想アドレ
スと、その実アドレスへの変換テーブルの階層構造を示
す図、第3図はアドレス変換の処理の流れを示す図、第
4図は変換用バッファの全体の構成図、第5図は変換用
バッファのエントリの構成図、第6図は最も長くアドレ
スの一致するエントリを選択する回路図、第7図は、第
5図のデコーダ16の動作説明図である。 1・・・アドレス変換のための制御レジスタ、2・・・
仮想アドレス、3〜7・・・変換テーブル、8・・・変
換された実アドレス、10・・・変換用バッファ・エン
トリ、11〜]、5・・・−数比較器、16・・・デコ
ーダ、17・・・セレクタ、18・・・変換用バッファ
出力、20・・・変換用バッファ、30・・・選択回路
、40・・・42  目 早 3 目 秦 4 口
FIG. 1 is a block diagram of an information processing device to which the present invention is applied; FIG. 2 is a diagram showing the hierarchical structure of an extended virtual address to which the present invention is effectively applied and a conversion table for converting it to a real address; Figure 3 shows the flow of address conversion processing, Figure 4 shows the overall configuration of the conversion buffer, Figure 5 shows the configuration of the entries in the conversion buffer, and Figure 6 shows the entry with the longest matching address. FIG. 7 is an explanatory diagram of the operation of the decoder 16 shown in FIG. 5. 1... Control register for address conversion, 2...
Virtual address, 3-7... Conversion table, 8... Converted real address, 10... Conversion buffer entry, 11-], 5...-Number comparator, 16... Decoder , 17...Selector, 18...Conversion buffer output, 20...Conversion buffer, 30...Selection circuit, 40...42 Eye 3 Eye Qin 4 Mouth

Claims (1)

【特許請求の範囲】[Claims] 仮想アドレスから実アドレスへの変換を、階層構造のア
ドレス変換テーブル群を用いて行い、かつ当該アドレス
変換の高速化のために仮想アドレスおよび該仮想アドレ
スに対応する実アドレスの対を複数個記憶する変換用バ
ッファ装置を有する情報処理装置において、上記階層構
造の変換テーブル群の各階層の変換テーブルの先頭アド
レス群を上記仮想アドレスと実アドレスの対とともに記
録する変換用バッファ装置と、該変換用バッファ装置に
登録されたエントリ群の中で仮想アドレスの最も長い部
分が一致するエントリを選択し、一致する長さに応じて
該エントリに記録されている先頭変換テーブル群の1つ
または実アドレスのどちらかを出力する装置を設けたこ
とを特徴とする拡張アドレス変換装置。
Conversion from a virtual address to a real address is performed using a hierarchically structured address conversion table group, and a plurality of pairs of virtual addresses and real addresses corresponding to the virtual addresses are stored in order to speed up the address conversion. An information processing device having a conversion buffer device, comprising: a conversion buffer device for recording a start address group of a conversion table in each layer of the layered conversion table group together with the pair of virtual address and real address; Select the entry whose virtual address matches the longest part among the entries registered in the device, and select either one of the head translation table group or the real address recorded in the entry depending on the matching length. An extended address translation device characterized in that it is provided with a device for outputting an address.
JP61050375A 1986-03-10 1986-03-10 Expansion address converter Pending JPS62208147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61050375A JPS62208147A (en) 1986-03-10 1986-03-10 Expansion address converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61050375A JPS62208147A (en) 1986-03-10 1986-03-10 Expansion address converter

Publications (1)

Publication Number Publication Date
JPS62208147A true JPS62208147A (en) 1987-09-12

Family

ID=12857133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61050375A Pending JPS62208147A (en) 1986-03-10 1986-03-10 Expansion address converter

Country Status (1)

Country Link
JP (1) JPS62208147A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509470A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic address translation with fetch protection

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509470A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic address translation with fetch protection
US8677098B2 (en) 2008-01-11 2014-03-18 International Business Machines Corporation Dynamic address translation with fetch protection
US9021225B2 (en) 2008-01-11 2015-04-28 International Business Machines Corporation Dynamic address translation with fetch protection in an emulated environment
US9378128B2 (en) 2008-01-11 2016-06-28 International Business Machines Corporation Dynamic address translation with fetch protection in an emulated environment
US9934159B2 (en) 2008-01-11 2018-04-03 International Business Machines Corporation Dynamic address translation with fetch protection in an emulated environment
US10423539B2 (en) 2008-01-11 2019-09-24 International Business Machines Corporation Dynamic address translation with access control in an emulator environment
US10977190B2 (en) 2008-01-11 2021-04-13 International Business Machines Corporation Dynamic address translation with access control in an emulator environment

Similar Documents

Publication Publication Date Title
US4792897A (en) Address translation unit for translation of virtual address to real address using translation tables of multi-level hierarchical structure
US3618041A (en) Memory control system
JPH0248931B2 (en)
JPH0512126A (en) Device and method for address conversion for virtual computer
JPS62208147A (en) Expansion address converter
JP3190700B2 (en) Address translator
JPH07248974A (en) Information processor
JPH087719B2 (en) Information processing system
JP2503702B2 (en) Address translation device
EP0533190A2 (en) Data processing system with address translation function for different page sizes
JP2743947B2 (en) Micro program control method
JPH07191911A (en) Address converter and microprocessor computation method
JPH06332701A (en) Information processor
JPH0648470B2 (en) Multiple virtual address space controller
JPH0573424A (en) High speed address converting system
JPS6331816B2 (en)
JPH0258654B2 (en)
JPH0547856B2 (en)
JPH0812637B2 (en) Address translation method
JPS5956278A (en) Data processing device
JPH0346045A (en) Address conversion device
JPH0319985B2 (en)
JPH0137774B2 (en)
JPS63118958A (en) Index file memory device
JPH0216653A (en) Information processor incorporating address converting mechanism