JPH0652058A - Address converter - Google Patents

Address converter

Info

Publication number
JPH0652058A
JPH0652058A JP4203941A JP20394192A JPH0652058A JP H0652058 A JPH0652058 A JP H0652058A JP 4203941 A JP4203941 A JP 4203941A JP 20394192 A JP20394192 A JP 20394192A JP H0652058 A JPH0652058 A JP H0652058A
Authority
JP
Japan
Prior art keywords
address
address translation
buffer
virtual
supervisor
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
JP4203941A
Other languages
Japanese (ja)
Inventor
Satoshi Emura
里志 江村
Yukinobu Nishikawa
幸伸 西川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4203941A priority Critical patent/JPH0652058A/en
Publication of JPH0652058A publication Critical patent/JPH0652058A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To save memory resources since it is not required to hold a process number in a supervisor address conversion buffer in a converter from a virtual address to a real address in a computer in which a virtual memory system is employed. CONSTITUTION:The supervisor address conversion buffer 11 is equipped with plural address conversion entries including a virtual address part and a real address part, and a user address conversion buffer 12 is equipped with the plural address conversion entries consisting of a virtual address part, a process number part, and a real address part. An address conversion buffer control part 13 performs such control to output an address conversion result from either of the address conversion buffers according to the operating mode of a processor in address conversion.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、仮想記憶方式を採用す
る計算機において、プロセッサからの仮想アドレスをメ
モリへの実アドレスに変換するアドレス変換装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address conversion device for converting a virtual address from a processor into a real address to a memory in a computer adopting a virtual memory system.

【0002】[0002]

【従来の技術】近年、多くの計算機において仮想記憶方
式が採用されており、これらの計算機ではアドレ変換装
置をプロセッサ内部に備え、又はプロセッサの補助装置
として備えている。仮想記憶方式を採用することは、大
容量の仮想メモリを提供することによってプログラムに
対する物理的制約(メモリ空間の制約)を著しく緩和す
る反面、プログラムが指定する仮想アドレスから実際の
メモリ上の実アドレスに変換することが必要となる。
2. Description of the Related Art In recent years, a virtual memory system has been adopted in many computers, and these computers have an address conversion device inside the processor or as an auxiliary device of the processor. Adopting the virtual memory method relieves the physical restrictions (memory space restrictions) on the program significantly by providing a large amount of virtual memory, but on the other hand, from the virtual address specified by the program to the actual address on the memory. Need to be converted to.

【0003】仮想記憶方式を採用するほとんどの計算機
では、使用して間もない仮想アドレスと実アドレスの対
を記憶しておくアドレス変換バッファを含むアドレス変
換装置を備えている。アドレス変換バッファは、内容ア
ドレスメモリ(Content Addressable Memory)を用いて、
アドレスの比較を並列に行なうことによりアドレス変換
の処理時間をプログラムの動作に影響しない程に軽減し
ている。(例えば、「情報処理」第32巻第12号12
30ページ〜1238ページ。)また、多くの計算機で
は、一般のユーザプログラムによってオペレーティング
システムや他のユーザプログラムが破壊されないよう
に、オペレーティングシステムが動作するスーパバイザ
モードと、ユーザプログラムが動作するユーザモードと
を設けている。
Most computers adopting the virtual memory system are provided with an address translation device including an address translation buffer for storing a pair of a virtual address and a real address which have recently been used. The address translation buffer uses a content addressable memory,
By performing address comparison in parallel, the processing time for address conversion is reduced to the extent that it does not affect the operation of the program. (For example, "Information Processing" Vol. 32, No. 12, 12
Pages 30-1238. In addition, many computers are provided with a supervisor mode in which the operating system operates and a user mode in which the user program operates so that the general user program does not destroy the operating system or other user programs.

【0004】ユーザモードでは、アドレス変換装置はユ
ーザプログラムをプロセス番号によって識別し、個々の
プロセスごとに仮想アドレスから実アドレスへのアドレ
ス変換を行なう。これにより、他のユーザプログラムを
保護している。スーパバイザモードでは、アドレス変換
装置はプロセス番号を意識することなくアドレス変換を
行なう。もし、ユーザモードのプログラムがスーパバイ
ザモード専用のメモリ空間をアクセスしようとすると、
アドレス変換装置は特権違反例外信号(又は割り込み信
号)を発生する。これにより、オペレーティングシステ
ムを保護している。
In the user mode, the address translator identifies the user program by the process number and translates the virtual address to the real address for each individual process. This protects other user programs. In the supervisor mode, the address translation device translates addresses without being aware of the process number. If a user mode program tries to access the memory space dedicated to supervisor mode,
The address translator generates a privilege violation exception signal (or interrupt signal). This protects the operating system.

【0005】以下図面を参照しながら、上記した従来の
アドレス変換装置の一例について説明する。図5は従来
のアドレス変換装置の構成を示す図である。図5におい
て、51はアドレス変換バッファ、52は出力部であ
る。図6はアドレス変換バッファ51に格納されるアド
レス変換エントリの構成を示す。61は有効ビットで、
1でそのアドレス変換エントリが有効、0で無効である
ことを示す。62は仮想アドレス部、63はプロセス番
号部、64はスーパバイザ部で、1でスーパバイザモー
ド用アドレス変換エントリ、0でユーザモード用アドレ
ス変換エントリであることを示す。65は実アドレス部
である。
An example of the above-mentioned conventional address translation device will be described below with reference to the drawings. FIG. 5 is a diagram showing the configuration of a conventional address translation device. In FIG. 5, reference numeral 51 is an address translation buffer, and 52 is an output unit. FIG. 6 shows the structure of the address translation entry stored in the address translation buffer 51. 61 is a valid bit,
A value of 1 indicates that the address translation entry is valid, and a value of 0 indicates that it is invalid. Reference numeral 62 is a virtual address portion, 63 is a process number portion, 64 is a supervisor portion, and 1 indicates a supervisor mode address translation entry, and 0 indicates a user mode address translation entry. Reference numeral 65 is a real address part.

【0006】以上のように構成されたアドレス変換装置
について、その動作を (1)アドレス変換バッファにアド
レス変換エントリを書き込む動作、 (2)アドレス変換動
作の順に説明する。 (1) アドレス変換バッファにアドレス変換エントリを書
き込む動作 通常の命令実行時のアドレス変換においてアドレス変換
バッファ内に所望のアドレス変換エントリが存在しない
場合、アドレス変換装置からオペレーティングシステム
にアドレス変換バッファミス例外の発生が伝えられる。
オペレーティングシステムは主記憶上に設けられたアド
レス変換テーブルを検索した後、アドレス変換バッファ
へのアドレス変換エントリの書き込みを以下のように行
なう。
The operation of the address translation device configured as described above will be described in the order of (1) operation of writing an address translation entry in the address translation buffer and (2) address translation operation. (1) Operation to write an address translation entry in the address translation buffer If the desired address translation entry does not exist in the address translation buffer during normal instruction address translation, the address translation device issues an address translation buffer miss exception to the operating system. Occurrence is reported.
The operating system searches the address translation table provided in the main memory and then writes the address translation entry into the address translation buffer as follows.

【0007】アドレス変換エントリの書き込みにおい
て、オペレーティングシステムは、仮想アドレスと、プ
ロセス番号と、スーパバイザビットと、実アドレスとを
アドレス変換バッファ51に入力する。ここでスーパバ
イザビットは、1でスーパバイザモード用アドレス、0
でユーザモード用アドレスであることを示す。アドレス
変換バッファ51では、アドレス変換エントリのうち有
効ビット61が0であるアドレス変換エントリが存在す
ればそのアドレス変換エントリを、これが存在しなけれ
ばFIFOアルゴリズムまたはLRUアルゴリズムまた
はランダムアルゴリズムなどのうちから予め定められた
アルゴリズムに従って、置き換えるべきアドレス変換エ
ントリを選択する。選択されたアドレス変換エントリに
対して有効ビット61には1が、仮想アドレス部62、
プロセス番号部63、スーパバイザ部64と実アドレス
部65には、それぞれオペレーティングシステムから与
えられた仮想アドレス、プロセス番号、スーパバイザビ
ットと実アドレスとが書き込まれる。
In writing the address translation entry, the operating system inputs the virtual address, the process number, the supervisor bit, and the real address into the address translation buffer 51. Here, the supervisor bit is 1 and the supervisor mode address is 0.
Indicates that the address is for user mode. In the address translation buffer 51, if there is an address translation entry whose valid bit 61 is 0 among the address translation entries, the address translation entry is determined in advance, and if it does not exist, it is determined in advance from among the FIFO algorithm, the LRU algorithm, the random algorithm or the like. Select the address translation entry to replace according to the algorithm provided. 1 is set in the valid bit 61 for the selected address translation entry,
A virtual address, a process number, a supervisor bit and a real address given by the operating system are written in the process number section 63, the supervisor section 64 and the real address section 65, respectively.

【0008】(2) アドレス変換動作 次に、通常の命令実行時の命令アドレスやメモリアクセ
ス命令のオペランドアドレスといった仮想アドレスから
実アドレスへの変換動作について説明する。まず、プロ
セッサは仮想アドレスとプロセス番号とをアドレス変換
バッファ51へ入力する。
(2) Address Translation Operation Next, the translation operation from a virtual address such as an instruction address during normal instruction execution or an operand address of a memory access instruction to a real address will be described. First, the processor inputs the virtual address and the process number into the address translation buffer 51.

【0009】アドレス変換バッファ51では、バッファ
内のアドレス変換エントリのうち有効ビット61が1で
あるアドレス変換エントリにおいてはプロセッサから与
えられた仮想アドレスと仮想アドレス部62とを比較
し、スーパバイザ部64の値が0のアドレス変換エント
リにおいては更にプロセッサから与えられたプロセス番
号とプロセス番号部63とを、各アドレス変換エントリ
で並列にそれぞれ比較する。比較した結果、有効ビット
61が1で、スーパバイザ部64の値が1で、仮想アド
レス部62の値がプロセッサから与えられた仮想アドレ
スと一致するアドレス変換エントリが存在するか、また
は、有効ビット61が1でスーパバイザ部64の値が0
で、仮想アドレス部62の値がプロセッサから与えられ
た仮想アドレスと一致し、プロセス番号部63の値がプ
ロセッサから与えられたプロセス番号と一致するアドレ
ス変換エントリが存在すれば、有効な実アドレスに変換
できたこと(以下、ヒットという)を示す信号と一致し
たアドレス変換エントリの実アドレス部65を出力部5
2に出力する。逆に、一致するアドレス変換エントリが
存在しなければ、有効な実アドレスに変換できなかった
こと(以下、ミスという)を示す信号を出力部52に出
力する。出力部52では、プロセッサの状態がユーザモ
ードであるのに、スーパバイザ部64の値が1であるア
ドレス変換エントリにヒットした場合には、特権違反例
外を発生する。その他の場合は、アドレス変換バッファ
51の出力であるヒットかミスかを示す信号と、ヒット
の場合の実アドレスを出力する。
In the address translation buffer 51, among the address translation entries in the buffer whose effective bit 61 is 1, the virtual address given from the processor is compared with the virtual address portion 62, and the supervisor portion 64 In the address translation entry whose value is 0, the process number given by the processor and the process number section 63 are compared in parallel in each address translation entry. As a result of the comparison, there is an address translation entry in which the valid bit 61 is 1, the value of the supervisor section 64 is 1, and the value of the virtual address section 62 matches the virtual address given by the processor, or the valid bit 61 is Is 1 and the value of the supervisor section 64 is 0
Then, if there is an address translation entry in which the value of the virtual address part 62 matches the virtual address given by the processor and the value of the process number part 63 matches the process number given by the processor, it becomes a valid real address. The output unit 5 outputs the real address portion 65 of the address translation entry that matches the signal indicating that the translation has been completed (hereinafter referred to as a hit).
Output to 2. On the contrary, if there is no matching address translation entry, a signal indicating that the real address cannot be translated (hereinafter referred to as a mistake) is output to the output unit 52. In the output unit 52, when the state of the processor is in the user mode but the address translation entry in which the value of the supervisor unit 64 is 1 is hit, a privilege violation exception is generated. In other cases, the output of the address conversion buffer 51, which is a signal indicating hit or miss, and the real address in the case of hit are output.

【0010】[0010]

【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、スーパバイザモードのアドレス変換エン
トリにも不必要なプロセス番号部を持つため、メモリ資
源を無駄にするという問題点を有していた。また、スー
パバイザモードならプロセス番号を比較せず、ユーザモ
ードならプロセス番号を比較するため、アドレス変換エ
ントリごとにスーパバイザモードかユーザモードかを区
別するビットが必要であるという問題点を有していた。
However, the above-mentioned configuration has a problem in that the memory resource is wasted because the process number portion which is unnecessary in the address translation entry of the supervisor mode is also used. Further, since the process numbers are not compared in the supervisor mode but the process numbers are compared in the user mode, there is a problem that a bit for distinguishing between the supervisor mode and the user mode is required for each address translation entry.

【0011】さらに、ユーザモードにおける同一プロセ
スでの連続したアドレス変換において、本来なら不必要
であるプロセス番号の比較を毎回行なうため、プロセス
番号と仮想アドレスの両者が一致していることを判定す
る処理が必要というオーバヘッド(無駄時間)が存在す
るという問題点を有していた。本発明は上記問題点に鑑
み、メモリ資源を無駄にせず、またオーバヘッドが少な
いアドレス変換装置を提供することを目的とする。
Further, in successive address conversions in the same process in the user mode, since process numbers that would otherwise be unnecessary are compared every time, it is determined that both process numbers and virtual addresses match. However, there is a problem that there is an overhead (dead time) that is required. In view of the above problems, it is an object of the present invention to provide an address translation device which does not waste memory resources and has a small overhead.

【0012】[0012]

【課題を解決するための手段】上記課題を解決するため
に本発明のアドレス変換装置は、仮想アドレスから実ア
ドレスへの変換に必要な変換情報を記憶するアドレス変
換バッファを備え、上記変換情報の構成が互いに異なる
2つ以上の動作モードを有するプロセッサからの仮想ア
ドレスを実アドレスに変換するアドレス変換装置であっ
て、上記変換情報として仮想アドレスと対応する実ドレ
スを含むアドレス変換エントリを記憶する複数のアドレ
ス変換バッファと、プロセッサからの入力されるどのモ
ードであるかを示すモード信号に基づいて、変換に用い
るアドレス変換バッファを切り換える制御部とを備え、
前記アドレス変換バッファは、異なる動作モード毎に設
けられている。
In order to solve the above-mentioned problems, the address translation device of the present invention comprises an address translation buffer for storing translation information necessary for translation from a virtual address to a real address. An address translation device that translates a virtual address from a processor having two or more operation modes different from each other into a real address, and stores a plurality of address translation entries including a real address corresponding to the virtual address as the translation information. Of the address translation buffer and a control unit for switching the address translation buffer used for translation based on a mode signal indicating which mode is input from the processor,
The address translation buffer is provided for each different operation mode.

【0013】前記2つ以上の動作モードについて、1つ
はスーパバイザモードであり、少なくとも1つはユーザ
モードであってもよい。また、複数のプロセスが動作し
うる仮想記憶方式の計算機における、プロセス番号に応
じて仮想アドレスを実アドレスに変換するアドレス変換
装置であって、各プロセス番号毎に、仮想アドレスと対
応する実アドレスを記憶する複数のアドレス変換バッフ
ァと、プロセス番号に基づいて、変換に用いるアドレス
変換バッファを切り換える制御部とを備えている。
Of the two or more operation modes, one may be a supervisor mode and at least one may be a user mode. Further, in a virtual storage system computer in which a plurality of processes can operate, an address translation device that translates a virtual address into a real address according to a process number, and a real address corresponding to the virtual address is provided for each process number. It is provided with a plurality of address translation buffers to be stored and a control unit for switching the address translation buffers used for translation based on the process number.

【0014】前記制御部は、プロセッサから与えられる
プロセスの切り換えを示すプロセス切り換え信号及びプ
ロセス番号に基づいて、アドレス変換に先立って対応す
るアドレス変換バッファに切り換えるように構成されて
いてもよい。
The control unit may be configured to switch to a corresponding address translation buffer prior to address translation based on a process switching signal and a process number given by the processor that indicate switching of processes.

【0015】[0015]

【作用】本発明は上記した手段によって、各アドレス変
換バッファは各モード毎の変換情報の違いに応じて設け
られており、制御部はモード信号に従って変換に用いる
アドレス変換バッファを切り換える制御を行う。また、
各アドレス変換バッファはプロセス番号毎に設けられて
おり、制御部はプロセッサから入力されるプロセス番号
に従って変換に用いるアドレス変換バッファを切り換え
る制御を行う。
According to the present invention, each address translation buffer is provided according to the difference in the translation information for each mode by the above-mentioned means, and the control unit controls the switching of the address translation buffer used for translation according to the mode signal. Also,
Each address translation buffer is provided for each process number, and the control unit controls to switch the address translation buffer used for translation according to the process number input from the processor.

【0016】[0016]

【実施例】本発明の一実施例のアドレス変換装置につい
て、図面を参照しながら説明する。図1は本発明の実施
例におけるアドレス変換装置の構成図を示す。11はス
ーパバイザアドレス変換バッファで、スーパバイザモー
ドにおける仮想アドレスと対応する実アドレスからなる
アドレス変換エントリを複数保持する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An address translator according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an address translator according to an embodiment of the present invention. Reference numeral 11 denotes a supervisor address translation buffer, which holds a plurality of address translation entries composed of real addresses corresponding to virtual addresses in the supervisor mode.

【0017】12はユーザアドレス変換バッファで、ユ
ーザモードにおける仮想アドレス、プロセス番号と、対
応する実アドレスからなるアドレス変換エントリを複数
保持する。13はアドレス変換バッファ制御部で、プロ
セッサから与えられるプロセッサ動作モード信号、スー
パバイザモード信号に従ってアドレス変換及びアドレス
変換バッファへのアドレス変換エントリの書込を制御す
る。具体的には、アドレス変換に際して、プロセッサ動
作モード信号に従って、スーパバイザモードであればス
ーパバイザアドレス変換バッファにより仮想アドレスか
ら実アドレスに、ユーザモードであればユーザアドレス
変換バッファにより仮想アドレスから実アドレスに変換
する。ここで、プロセッサ動作モード信号は、プロセッ
サの動作モードがスーパバイザモードであるかユーザモ
ードであるかを示す信号である。また、アドレス変換エ
ントリの書き込みに際して、スーパバイザモード信号に
従って、スーパバイザ用のアドレス変換エントリであれ
ばスーパバイザアドレス変換バッファに、ユーザモード
であればユーザアドレス変換バッファに、アドレス変換
エントリを書き込む。ここで、スーパバイザモード信号
は、プロセッサから与えられたアドレス変換エントリが
スーパバイザ用であるかユーザ用であるかを示す信号で
ある。
Reference numeral 12 is a user address translation buffer, which holds a plurality of address translation entries consisting of virtual addresses, process numbers and corresponding real addresses in the user mode. An address translation buffer control unit 13 controls address translation and writing of an address translation entry into the address translation buffer according to a processor operation mode signal and a supervisor mode signal provided from the processor. Specifically, in address translation, in accordance with the processor operation mode signal, in the supervisor mode, the virtual address is translated by the supervisor address translation buffer into the virtual address, and in the user mode, the virtual address is translated by the user address translation buffer in the user address translation buffer. . Here, the processor operation mode signal is a signal indicating whether the operation mode of the processor is the supervisor mode or the user mode. When writing the address translation entry, the address translation entry is written in the supervisor address translation buffer for the supervisor address translation entry or in the user address translation buffer for the user mode in accordance with the supervisor mode signal. Here, the supervisor mode signal is a signal indicating whether the address translation entry given from the processor is for the supervisor or for the user.

【0018】14は入力部で、アドレス変換エントリ書
き込み時にはプロセッサからの仮想アドレス、プロセス
番号、実アドレスとが入力され、通常のアドレス変換時
には仮想アドレス、プロセス番号等が入力される。15
は出力部で、アドレス変換結果である実アドレスや、ア
ドレス変換エントリが存在しなかったことを示す信号
や、特権違反例外を示す信号を出力する。
An input unit 14 receives a virtual address, a process number, and a real address from the processor when writing an address translation entry, and inputs a virtual address, a process number, and the like during normal address translation. 15
Is an output unit that outputs a real address as a result of address translation, a signal indicating that an address translation entry does not exist, and a signal indicating a privilege violation exception.

【0019】図2(a)はスーパバイザアドレス変換バ
ッファ11に保持されるアドレス変換エントリの構成を
示す。21は有効ビットで、1でそのアドレス変換エン
トリが有効、0で無効であることを示す。22は仮想ア
ドレス部で、プログラムによって指定される仮想記憶装
置での(論理)アドレスである。23は実アドレス部
で、実メモリでの(物理)アドレスである。
FIG. 2A shows the structure of the address translation entry held in the supervisor address translation buffer 11. Reference numeral 21 is a valid bit, and 1 indicates that the address translation entry is valid, and 0 indicates that it is invalid. Reference numeral 22 is a virtual address portion, which is a (logical) address in the virtual storage device specified by the program. Reference numeral 23 is a real address part, which is a (physical) address in a real memory.

【0020】図2(b)はユーザアドレス変換バッファ
12に保持されるアドレス変換エントリの構成を示す。
24は有効ビットで有効ビット21と同様、25は仮想
アドレス部で仮想アドレス部22と同様、27は実アド
レス部で実アドレス部23と同様である。26はプロセ
ス番号部で、ユーザモードにおけるプロセスの番号を示
す。
FIG. 2B shows the structure of the address translation entry held in the user address translation buffer 12.
24 is a valid bit, which is the same as the valid bit 21, 25 is a virtual address part, which is similar to the virtual address part 22, and 27 is a real address part, which is similar to the real address part 23. Reference numeral 26 is a process number section, which indicates the number of a process in the user mode.

【0021】上記のように構成されたアドレス変換装置
について、その動作を (1.1)アドレス変換バッファへの
アドレス変換エントリの書き込み動作、(1.2) アドレス
変換動作の順に説明する。 (1.1) アドレス変換バッファへのアドレス変換エントリ
の書き込み動作 アドレス変換バッファへの書き込みは、通常のアドレス
変換においてアドレス変換バッファ内に所望のアドレス
変換エントリが存在しなかった場合に、オペレーティン
グシステムによって行われる。オペレーティングシステ
ムは、従来例と同様にプロセッサ動作モード、スーパバ
イザモード、仮想アドレス、ユーザモードの場合のプロ
セス番号、実アドレスとをアドレス変換装置に対して出
力する。アドレス変換バッファ制御部13は、オペレー
ティングシステムから与えられたスーパバイザビットに
従って、スーパバイザモードであればスーパバイザアド
レス変換バッファ11を選択し、ユーザモードであれば
ユーザアドレス変換バッファ12を選択する。
The operation of the address translation device configured as described above will be described in the order of (1.1) operation of writing an address translation entry into the address translation buffer and (1.2) address translation operation. (1.1) Write operation of address translation entry to address translation buffer Write to address translation buffer is performed by operating system when desired address translation entry does not exist in address translation buffer in normal address translation. . The operating system outputs the processor operation mode, the supervisor mode, the virtual address, the process number in the case of the user mode, and the real address to the address translator as in the conventional example. The address translation buffer control unit 13 selects the supervisor address translation buffer 11 in the supervisor mode and the user address translation buffer 12 in the user mode according to the supervisor bit given from the operating system.

【0022】スーパバイザアドレス変換バッファ11が
選択された場合、スーパバイザアドレス変換バッファ1
1は、有効ビット21が0であるアドレス変換エントリ
が存在すればそのアドレス変換エントリを、存在しなけ
ればFIFOアルゴリズムまたはLRUアルゴリズムま
たはランダムアルゴリズムなどに従って、置き換えるべ
きアドレス変換エントリを選択する。
When the supervisor address translation buffer 11 is selected, the supervisor address translation buffer 1
1 selects the address translation entry to be replaced according to the FIFO algorithm, the LRU algorithm, the random algorithm or the like if the address translation entry having the valid bit 21 of 0 exists if it does not exist.

【0023】ユーザアドレス変換バッファ12が選択さ
れた場合、ユーザアドレス変換バッファ12は、有効ビ
ット24を参照して、スーパバイザアドレス変換バッフ
ァ11の場合と同じ方法で、置き換えるべきアドレス変
換エントリを選択する。そして、アドレス変換バッファ
制御部13はオペレーティングシステムから与えられた
スーパバイザビットを入力部14に出力することによ
り、入力部14を制御する。入力部14は、スーパバイ
ザビットがスーパバイザモードである場合は、スーパバ
イザアドレス変換バッファ11のうち選択されたアドレ
ス変換エントリの有効ビット21に1を、仮想アドレス
部22と実アドレス部23にはそれぞれオペレーティン
グシステムから与えられた仮想アドレスと実アドレスと
を書き込む。また、スーパバイザビットがユーザモード
である場合は、ユーザアドレス変換バッファ12のうち
選択されたアドレス変換エントリの有効ビット24に1
を、仮想アドレス部25、プロセス番号部26と実アド
レス部27にはそれぞれオペレーティングシステムから
与えられた仮想アドレス、プロセス番号と実アドレスと
を書き込む。
When the user address translation buffer 12 is selected, the user address translation buffer 12 refers to the valid bit 24 and selects the address translation entry to be replaced in the same manner as in the case of the supervisor address translation buffer 11. Then, the address translation buffer control unit 13 controls the input unit 14 by outputting the supervisor bit given from the operating system to the input unit 14. When the supervisor bit is in the supervisor mode, the input unit 14 sets the valid bit 21 of the selected address translation entry in the supervisor address translation buffer 11 to 1, and the virtual address unit 22 and the real address unit 23 to the operating system, respectively. Write the virtual address and the real address given by. When the supervisor bit is in the user mode, 1 is set in the valid bit 24 of the address translation entry selected in the user address translation buffer 12.
The virtual address, process number and real address given by the operating system are written in the virtual address part 25, the process number part 26 and the real address part 27, respectively.

【0024】(1.2) アドレス変換動作 次に、通常の命令実行時の命令アドレスやメモリアクセ
ス命令のオペランドアドレスといった仮想アドレスから
実アドレスへの変換動作について説明する。まず、プロ
セッサは仮想アドレスとプロセス番号とを入力部14へ
入力する。入力部14は、スーパバイザアドレス変換バ
ッファ11に対しては仮想アドレスを、ユーザアドレス
変換バッファ12に対しては仮想アドレスとプロセス番
号とを、それぞれ出力する。
(1.2) Address Translation Operation Next, the translation operation from a virtual address such as an instruction address during normal instruction execution or an operand address of a memory access instruction to a real address will be described. First, the processor inputs the virtual address and the process number into the input unit 14. The input unit 14 outputs a virtual address to the supervisor address translation buffer 11 and a virtual address and a process number to the user address translation buffer 12, respectively.

【0025】スーパバイザアドレス変換バッファ11で
は、バッファ内のアドレス変換エントリのうち有効ビッ
ト21が1であるアドレス変換エントリを対象とし、入
力部14から与えられた仮想アドレスと仮想アドレス部
22とを各アドレス変換エントリで並列に比較し、一致
するアドレス変換エントリが存在すれば、ヒットである
ことを示す信号と一致したアドレス変換エントリの実ア
ドレス部23とを、出力部15に出力する。一致するア
ドレス変換エントリが存在しなければミスであることを
示す信号を出力部15に出力する。
In the supervisor address translation buffer 11, the address translation entry whose valid bit 21 is 1 among the address translation entries in the buffer is the target, and the virtual address given from the input unit 14 and the virtual address unit 22 are used for each address. The translation entries are compared in parallel, and if there is a matching address translation entry, the real address part 23 of the address translation entry that matches the signal indicating a hit is output to the output part 15. If there is no matching address translation entry, a signal indicating a miss is output to the output unit 15.

【0026】同時に、ユーザアドレス変換バッファ12
では、バッファ内のアドレス変換エントリのうち有効ビ
ット24が1であるアドレス変換エントリを対象とし、
入力部14から与えられた仮想アドレスと仮想アドレス
部25とを、入力部14から与えられたプロセス番号と
プロセス番号部26とを、それぞれ各アドレス変換エン
トリで並列に比較する。仮想アドレス、プロセス番号と
も一致したアドレス変換エントリが存在すれば、ヒット
であることを示す信号と一致したアドレス変換エントリ
の実アドレス部27を出力部15に出力する。仮想アド
レスとプロセス番号の両方が一致するアドレス変換エン
トリが存在しなければミスであることを示す信号を出力
部15に出力する。
At the same time, the user address translation buffer 12
Then, among the address translation entries in the buffer, the address translation entry whose effective bit 24 is 1 is targeted,
The virtual address and the virtual address portion 25 given from the input unit 14 are compared in parallel with the process number and the process number portion 26 given from the input unit 14 in each address translation entry. If there is an address translation entry that also matches the virtual address and the process number, the real address unit 27 of the address translation entry that matches the signal indicating a hit is output to the output unit 15. If there is no address translation entry in which both the virtual address and the process number match, a signal indicating a miss is output to the output unit 15.

【0027】アドレス変換バッファ制御部13はプロセ
ッサの動作モードがスーパバイザモードであるかユーザ
モードであるかを出力部15に出力することにより、出
力部15を制御する。出力部15は、アドレス変換バッ
ファ制御部13から与えられるプロセッサ動作モードに
従って、スーパバイザアドレス変換バッファ11からの
出力とユーザアドレス変換バッファ12からの出力のど
ちらかを、最終的なアドレス変換結果として確定し出力
する。
The address translation buffer control unit 13 controls the output unit 15 by outputting to the output unit 15 whether the operation mode of the processor is the supervisor mode or the user mode. The output unit 15 determines either the output from the supervisor address translation buffer 11 or the output from the user address translation buffer 12 as the final address translation result according to the processor operation mode given from the address translation buffer control unit 13. Output.

【0028】スーパバイザアドレス変換バッファ11に
おいて一致するアドレス変換エントリが存在する場合
は、アドレス変換バッファ制御部13から出力されたプ
ロセッサ動作モードがスーパバイザモードである場合に
は、ヒットであることを示す信号とスーパバイザアドレ
ス変換バッファ11から出力された実アドレスとを出力
し、プロセッサ動作モードがユーザモードである場合に
は、特権違反例外であることを示す信号を出力する。
If there is a matching address translation entry in the supervisor address translation buffer 11, if the processor operation mode output from the address translation buffer control unit 13 is the supervisor mode, a signal indicating a hit is given. The real address output from the supervisor address translation buffer 11 is output, and when the processor operation mode is the user mode, a signal indicating a privilege violation exception is output.

【0029】また、スーパバイザアドレス変換バッファ
11において一致するアドレス変換エントリが存在しな
い場合で、ユーザアドレス変換バッファ12において一
致するアドレス変換エントリが存在する場合には、プロ
セッサ動作モードにかかわらずヒットであることを示す
信号とユーザアドレス変換バッファ12から出力された
実アドレスとを出力する。
If there is no matching address translation entry in the supervisor address translation buffer 11 and there is a matching address translation entry in the user address translation buffer 12, it is a hit regardless of the processor operation mode. And a real address output from the user address conversion buffer 12 are output.

【0030】スーパバイザアドレス変換バッファ11と
ユーザアドレス変換バッファ12との両方において一致
するアドレス変換エントリが存在しない場合には、ミス
であることを示す信号を出力する。以上のように本実施
例によれば、スーパバイザアドレス変換バッファと、ユ
ーザアドレス変換を行うアドレス変換バッファからなる
ユーザアドレス変換バッファとを設けて、並列にアドレ
ス変換を行い、オペレーティングシステムに与えられた
スーパバイザビットに従ってアドレス変換の書き込みを
制御するとともに、プロセッサ動作モードに従ってアド
レス変換結果の出力を制御するアドレス変換バッファ制
御部を設ける。これによりアドレス変換エントリ毎にス
ーパバイザモードかユーザモードかを区別するビットを
持つ必要がなく、さらにスーパバイザアドレス変換バッ
ファでは不必要なプロセス番号を保持する必要がなくな
る。
When there is no matching address translation entry in both the supervisor address translation buffer 11 and the user address translation buffer 12, a signal indicating a miss is output. As described above, according to the present embodiment, the supervisor address translation buffer and the user address translation buffer including the address translation buffer for performing the user address translation are provided, the address translation is performed in parallel, and the supervisor provided to the operating system is provided. An address translation buffer control unit is provided that controls writing of address translation according to the bits and controls output of the address translation result according to the processor operation mode. As a result, it is not necessary to have a bit for distinguishing between the supervisor mode and the user mode for each address translation entry, and it is also unnecessary to hold an unnecessary process number in the supervisor address translation buffer.

【0031】以下本発明の第2の実施例について図面を
参照しながら説明する。図3は本発明の第2の実施例を
示すアドレス変換装置の構成図である。図3において、
31はスーパバイザアドレス変換バッファ、32はプロ
セスアドレス変換バッファ、33はアドレス変換バッフ
ァ制御部、34は入力部、35は出力部で、以上は図1
の構成と同様なものである。図1と異なるのは、ユーザ
アドレス変換バッファとしてプロセスアドレス変換バッ
ファ32を複数個設けた点と、これらを管理するユーザ
アドレス変換バッファ管理部36と、各プロセスアドレ
ス変換バッファ32にプロセス番号部37を設けた点で
ある。
A second embodiment of the present invention will be described below with reference to the drawings. FIG. 3 is a block diagram of an address translation device showing a second embodiment of the present invention. In FIG.
Reference numeral 31 is a supervisor address translation buffer, 32 is a process address translation buffer, 33 is an address translation buffer control unit, 34 is an input unit, and 35 is an output unit.
The configuration is the same as that of. The difference from FIG. 1 is that a plurality of process address conversion buffers 32 are provided as user address conversion buffers, a user address conversion buffer management unit 36 for managing these, and a process number unit 37 for each process address conversion buffer 32. That is the point.

【0032】図4は本発明の第2の実施例のスーパバイ
ザアドレス変換バッファ31及びプロセスアドレス変換
バッファ32に格納されるアドレス変換エントリの構成
を示すものであって、41は有効ビット、42は仮想ア
ドレス部、43は実アドレス部である。以上のように構
成されたアドレス変換装置について、以下図3及び図4
を用いて、(2.1) ユーザアドレス変換バッファ管理部の
動作、(2.2) アドレス変換バッファへのアドレス変換エ
ントリの書き込み動作、(2.3) アドレス変換動作の順に
説明する。
FIG. 4 shows the structure of the address translation entry stored in the supervisor address translation buffer 31 and the process address translation buffer 32 according to the second embodiment of the present invention. 41 is a valid bit and 42 is a virtual bit. The address part and 43 are real address parts. The address translation device configured as described above will be described below with reference to FIGS.
The following describes the operations in the order of (2.1) operation of user address translation buffer management unit, (2.2) operation of writing address translation entry to address translation buffer, and (2.3) address translation operation.

【0033】(2.1) ユーザアドレス変換バッファ管理部
の動作 まず、ユーザアドレス変換バッファ管理部36の動作に
ついて説明する。ユーザアドレス変換バッファ管理部3
6は、複数あるプロセスアドレス変換バッファ32のそ
れぞれが有効であるかどうかと、現在のアドレス変換に
用いるプロセスアドレス変換バッファ32(以下、現在
のプロセスアドレス変換バッファと呼ぶ)はどれである
かということを管理する。プロセスアドレス変換バッフ
ァ32が有効であるとは使用し得るということであり、
無効であるとは使用し得ないということである。例え
ば、プロセスが終了したとき、そのプロセス用のプロセ
スアドレス変換バッファは無効となる。また、現在のプ
ロセスアドレス変換バッファはただ一つのプロセスアド
レス変換バッファ32であり、プロセッサのプロセス番
号が変更されるのと同期して変更される。つまり、プロ
セスの切り換え時にプロセッサから通知されるプロセス
切り換え信号及びプロセス番号に従って書き換えられ
る。
(2.1) Operation of User Address Translation Buffer Management Unit First, the operation of the user address translation buffer management unit 36 will be described. User address translation buffer management unit 3
6 indicates whether each of a plurality of process address translation buffers 32 is valid and which process address translation buffer 32 is used for the current address translation (hereinafter referred to as the current process address translation buffer). Manage. If the process address translation buffer 32 is valid, it means that it can be used.
Invalid means that it cannot be used. For example, when a process terminates, the process address translation buffer for that process becomes invalid. Further, the current process address conversion buffer is only one process address conversion buffer 32, and is changed in synchronization with the change of the process number of the processor. That is, it is rewritten according to the process switching signal and the process number notified from the processor when switching the process.

【0034】ユーザアドレス変換バッファ管理部36
は、まず有効な各プロセスアドレス変換バッファ32の
プロセス番号部37とプロセッサから与えられたプロセ
ス番号とを比較し、一致するものがあれば、一致したプ
ロセスアドレス変換バッファ32を選択し、選択された
プロセスアドレス変換バッファ32を現在のプロセスア
ドレス変換バッファと記憶する。プロセス番号が一致す
る有効なプロセスアドレス変換バッファ32が存在せ
ず、有効でないプロセスアドレス変換バッファ32が存
在すれば、何らかの方法で一つの有効でないプロセスア
ドレス変換バッファ32を選択し、選択されたプロセス
アドレス変換バッファ32を現在のプロセスアドレス変
換バッファと記憶すると共に、選択されたユーザアドレ
ス変換バッファを有効とし、プロセス番号部37にプロ
セッサから与えられたプロセス番号を格納する。また、
プロセス番号が一致する有効なプロセスアドレス変換バ
ッファ32が存在せず、有効でないプロセスアドレス変
換バッファ32が存在しなければ、全ユーザアドレス変
換バッファから、FIFOアルゴリズムまたはLRUア
ルゴリズムまたはランダムアルゴリズムなどのうちから
予め定められたアルゴリズムに従って、一つのプロセス
アドレス変換バッファ32を選択し、選択されたプロセ
スアドレス変換バッファ32を現在のプロセスアドレス
変換バッファと記憶すると共に、プロセス番号部37に
プロセッサから与えられたプロセス番号を格納し、選択
されたプロセスアドレス変換バッファ32内の全アドレ
ス変換エントリの有効ビット41を0にする。
User address translation buffer management unit 36
Compares the process number portion 37 of each valid process address conversion buffer 32 with the process number given by the processor, and if there is a match, selects the matched process address conversion buffer 32 and selects it. The process address translation buffer 32 is stored as the current process address translation buffer. If there is no valid process address translation buffer 32 with the same process number and there is an invalid process address translation buffer 32, one invalid process address translation buffer 32 is selected by some method, and the selected process address The translation buffer 32 is stored as the current process address translation buffer, the selected user address translation buffer is enabled, and the process number portion 37 stores the process number given by the processor. Also,
If there is no valid process address translation buffer 32 with the same process number and there is no invalid process address translation buffer 32, the FIFO algorithm, the LRU algorithm, the random algorithm, or the like is preliminarily selected from all user address translation buffers. According to a predetermined algorithm, one process address translation buffer 32 is selected, the selected process address translation buffer 32 is stored as the current process address translation buffer, and the process number given by the processor is stored in the process number section 37. The valid bit 41 of all the address translation entries stored in the selected process address translation buffer 32 is set to 0.

【0035】(2.2) アドレス変換バッファへのアドレス
変換エントリの書き込み動作 次にアドレス変換バッファへのアドレス変換エントリの
書き込みについて説明する。その動作が第1の実施例と
異なるのは、オペレーティングシステムから与えられる
スーパバイザビットがユーザモードの場合の、プロセス
アドレス変換バッファ32の選択方法と、選択されたユ
ーザアドレス変換バッファのアドレス変換エントリへの
書き込みである。スーパバイザビットがユーザモードの
場合、アドレス変換バッファ制御部33は、ユーザアド
レス変換バッファ管理部36が記憶している現在のプロ
セスアドレス変換バッファ32を選択する。選択された
プロセスアドレス変換バッファ32は、第1の実施例と
同じ方法で一つのアドレス変換エントリを選択し、入力
部34は選択されたアドレス変換エントリの有効ビット
41には1を、仮想アドレス部42と実アドレス部43
には、オペレーティングシステムから与えられた仮想ア
ドレスと実アドレスをそれぞれ書き込む。以上説明した
動作以外のアドレス変換バッファへのアドレス変換エン
トリの書き込み動作は、第1の実施例と同じである。
(2.2) Write Operation of Address Translation Entry to Address Translation Buffer Next, writing of the address translation entry to the address translation buffer will be described. The operation is different from that of the first embodiment in that the process address translation buffer 32 is selected when the supervisor bit provided by the operating system is in the user mode, and the address translation entry of the selected user address translation buffer is changed. It is writing. When the supervisor bit is in the user mode, the address translation buffer control unit 33 selects the current process address translation buffer 32 stored in the user address translation buffer management unit 36. The selected process address translation buffer 32 selects one address translation entry in the same manner as in the first embodiment, and the input unit 34 sets 1 in the valid bit 41 of the selected address translation entry and the virtual address unit. 42 and real address part 43
In, the virtual address and the real address given by the operating system are written respectively. The operation of writing the address translation entry to the address translation buffer other than the operation described above is the same as that of the first embodiment.

【0036】(2.3) アドレス変換動作 最後に、通常の命令実行時の命令アドレスやメモリアク
セス命令のオペランドアドレスの仮想アドレスから実ア
ドレスへの変換動作について説明する。その動作が第1
の実施例と異なるのは、入力部34はスーパバイザアド
レス変換バッファ31とユーザアドレス変換バッファ管
理部36が記憶している現在のプロセスアドレス変換バ
ッファ32へ仮想アドレスをそれぞれ出力する。現在の
プロセスアドレス変換バッファ32でのアドレス変換エ
ントリの検索動作と出力部35への出力動作は、第1の
実施例のスーパバイザアドレス変換バッファ11でのア
ドレス変換エントリの動作と同じで、有効ビット41が
1であるアドレス変換エントリを対象として、入力部3
4から与えられた仮想アドレスと仮想アドレス部42と
の比較により行なう。その他の、スーパバイザアドレス
変換バッファ31でのアドレス変換エントリの検索と出
力部35への出力動作と、アドレス変換バッファ制御部
33の出力部35に対する制御動作と、出力部35のア
ドレス変換結果の出力動作は、第1の実施例と同じであ
る。
(2.3) Address Translation Operation Finally, the translation operation from the virtual address of the instruction address during the normal instruction execution and the operand address of the memory access instruction to the real address will be described. That action is first
Unlike the above embodiment, the input unit 34 outputs virtual addresses to the current process address conversion buffer 32 stored in the supervisor address conversion buffer 31 and the user address conversion buffer management unit 36, respectively. The search operation of the address translation entry in the current process address translation buffer 32 and the output operation to the output unit 35 are the same as the operation of the address translation entry in the supervisor address translation buffer 11 of the first embodiment, and the valid bit 41 Targeting the address translation entry whose value is 1
The comparison is performed by comparing the virtual address given from No. 4 with the virtual address portion 42. Others, the search operation of the address translation entry in the supervisor address translation buffer 31 and the output operation to the output unit 35, the control operation to the output unit 35 of the address translation buffer control unit 33, and the output operation of the address translation result of the output unit 35. Is the same as in the first embodiment.

【0037】以上のように、プロセス番号部を備えたユ
ーザアドレス変換バッファを複数設け、プロセッサのプ
ロセス番号に対応するユーザアドレス変換バッファを管
理するユーザアドレス変換バッファ管理部を設けること
により、ユーザアドレス変換バッファのアドレス変換エ
ントリにプロセス番号部を備える必要がなくなる。ま
た、プロセス切替え時に現在のプロセスアドレス変換バ
ッファを切替えることにより、アドレス変換時にプロセ
ス番号の比較をする必要がないのでプロセス番号と仮想
アドレスの両者が一致していることを判定する処理が不
要になり無駄時間を低減できる。
As described above, by providing a plurality of user address translation buffers having the process number portion and providing the user address translation buffer management portion for managing the user address translation buffer corresponding to the process number of the processor, the user address translation buffer is provided. It is not necessary to provide the process number part in the address translation entry of the buffer. Also, by switching the current process address translation buffer when switching processes, there is no need to compare process numbers when translating addresses, so processing that determines whether both the process number and virtual address match is unnecessary. The dead time can be reduced.

【0038】なお、第1の実施例及び第2の実施例にお
いて、実アドレス部23、27及び43の内容を実メモ
リアドレスとしたが、実メモリアドレスに加えてアクセ
ス制御等に用いるメモリ属性を含め、出力部15及び3
5でさらに詳細なアクセス制御を行なってもよい。
In the first and second embodiments, the contents of the real address parts 23, 27 and 43 are used as real memory addresses. However, in addition to the real memory addresses, the memory attributes used for access control etc. Including, output section 15 and 3
Further detailed access control may be performed in step 5.

【0039】[0039]

【発明の効果】以上説明してきたように本発明によれ
ば、スーパバイザアドレス変換バッファと、ユーザアド
レス変換バッファと、アドレス変換バッファ制御部を設
けることにより、アドレス変換エントリごとに、スーパ
バイザアドレス変換バッファでは不必要なプロセス番号
を保持しなくてもよく、また、スーパバイザモードかユ
ーザモードかを区別するビットを持つ必要がなくなるの
でメモリ資源の無駄を低減するという効果がある。
As described above, according to the present invention, by providing the supervisor address translation buffer, the user address translation buffer, and the address translation buffer control unit, the supervisor address translation buffer is provided for each address translation entry. It is not necessary to hold an unnecessary process number, and it is not necessary to have a bit for distinguishing between the supervisor mode and the user mode, which has an effect of reducing waste of memory resources.

【0040】また、プロセス番号部を備えた複数のプロ
セスアドレス変換バッファと、ユーザアドレス変換バッ
ファ管理部を設けることにより、ユーザアドレス変換バ
ッファの各アドレス変換エントリにもプロセス番号を保
持する必要がなくなるのでメモリ資源の無駄を低減する
という効果がある。さらに、プロセス切り換え時に予め
プロセスアドレス変換バッファを切り換えることによ
り、アドレス変換時にプロセス番号の比較をしなくても
よいのでプロセス番号と仮想アドレスの両者が一致して
いることを判定する処理が不要になりオーバヘッド(無
駄時間)を低減するという効果がある。
By providing a plurality of process address conversion buffers having a process number section and a user address conversion buffer management section, it becomes unnecessary to hold the process number in each address conversion entry of the user address conversion buffer. This has an effect of reducing waste of memory resources. Furthermore, by switching the process address conversion buffer in advance when switching processes, it is not necessary to compare process numbers during address conversion, so processing for determining that both the process number and virtual address match is not required. This has the effect of reducing overhead (dead time).

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

【図1】本発明の第1の実施例におけるアドレス変換装
置の構成図である。
FIG. 1 is a configuration diagram of an address translation device according to a first embodiment of the present invention.

【図2】(a)は同実施例におけるスーパバイザアドレ
ス変換バッファのアドレス変換エントリの構成図であ
る。(b)は同実施例におけるユーザアドレス変換バッ
ファのアドレス変換エントリの構成図である。
FIG. 2A is a configuration diagram of an address translation entry of a supervisor address translation buffer in the embodiment. FIG. 7B is a configuration diagram of an address translation entry of the user address translation buffer in the embodiment.

【図3】本発明の第2の実施例におけるアドレス変換装
置の構成図である。
FIG. 3 is a configuration diagram of an address translation device according to a second embodiment of the present invention.

【図4】同実施例におけるアドレス変換エントリの構成
図である。
FIG. 4 is a configuration diagram of an address translation entry in the embodiment.

【図5】従来のアドレス変換装置の構成図である。FIG. 5 is a configuration diagram of a conventional address translation device.

【図6】従来のアドレス変換エントリの構成図である。FIG. 6 is a configuration diagram of a conventional address translation entry.

【符号の説明】[Explanation of symbols]

11 スーパバイザアドレス変換バッファ 12 ユーザアドレス変換バッファ 13 アドレス変換バッファ制御部 14 入力部 15 出力部 21 有効ビット 22 仮想アドレス部 23 実アドレス部 24 有効ビット 25 仮想アドレス部 26 プロセス番号部 27 実アドレス部 31 スーパバイザアドレス変換バッファ 32 プロセスアドレス変換バッファ 33 アドレス変換バッファ制御部 34 入力部 35 出力部 36 ユーザアドレス変換バッファ管理部 37 プロセス番号部 41 有効ビット 42 仮想アドレス部 43 実アドレス部 11 supervisor address conversion buffer 12 user address conversion buffer 13 address conversion buffer control unit 14 input unit 15 output unit 21 valid bit 22 virtual address unit 23 real address unit 24 valid bit 25 virtual address unit 26 process number unit 27 real address unit 31 supervisor Address translation buffer 32 Process address translation buffer 33 Address translation buffer control unit 34 Input unit 35 Output unit 36 User address translation buffer management unit 37 Process number unit 41 Effective bit 42 Virtual address unit 43 Real address unit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 仮想アドレスから実アドレスへの変換に
必要な変換情報を記憶するアドレス変換バッファを備
え、上記変換情報の構成が互いに異なる2つ以上の動作
モードを有するプロセッサからの仮想アドレスを実アド
レスに変換するアドレス変換装置であって、 上記変換情報として仮想アドレスと対応する実ドレスを
含むアドレス変換エントリを記憶する複数のアドレス変
換バッファと、 プロセッサからの入力されるどのモードであるかを示す
モード信号に基づいて、変換に用いるアドレス変換バッ
ファを切り換える制御部とを備え、 前記アドレス変換バッファは、異なる動作モード毎に設
けられていることを特徴とするアドレス変換装置。
1. An address translation buffer for storing translation information necessary for translation from a virtual address to a real address, wherein a virtual address from a processor having two or more operation modes in which the configurations of the translation information are different from each other is implemented. An address translation device for translating an address, showing a plurality of address translation buffers that store an address translation entry including a real address corresponding to a virtual address as the translation information, and which mode is input from a processor An address translation device, comprising: a control unit that switches an address translation buffer used for translation based on a mode signal, wherein the address translation buffer is provided for each different operation mode.
【請求項2】 前記2つ以上の動作モードについて、 1つはスーパバイザモードであり、少なくとも1つはユ
ーザモードであることを特徴とする請求項1記載のアド
レス変換装置。
2. The address translation device according to claim 1, wherein, of the two or more operation modes, one is a supervisor mode and at least one is a user mode.
【請求項3】 複数のプロセスが動作しうる仮想記憶方
式の計算機における、プロセス番号に応じて仮想アドレ
スを実アドレスに変換するアドレス変換装置であって、 各プロセス番号毎に、仮想アドレスと対応する実アドレ
スを記憶する複数のアドレス変換バッファと、 プロセス番号に基づいて、変換に用いるアドレス変換バ
ッファを切り換える制御部とを備えたことを特徴とする
アドレス変換装置。
3. An address translation device for translating a virtual address into a real address according to a process number in a virtual storage system computer in which a plurality of processes can operate, each process number corresponding to a virtual address. An address translation device comprising: a plurality of address translation buffers that store real addresses; and a control unit that switches an address translation buffer used for translation based on a process number.
【請求項4】 前記制御部は、プロセッサから与えられ
るプロセスの切り換えを示すプロセス切り換え信号及び
プロセス番号に基づいて、アドレス変換に先立って対応
するアドレス変換バッファに切り換えるように構成され
ていることを特徴とする請求項3記載のアドレス変換装
置。
4. The control unit is configured to switch to a corresponding address translation buffer prior to address translation based on a process switching signal and a process number which indicate switching of a process given from a processor. The address translation device according to claim 3.
JP4203941A 1992-07-30 1992-07-30 Address converter Pending JPH0652058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4203941A JPH0652058A (en) 1992-07-30 1992-07-30 Address converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4203941A JPH0652058A (en) 1992-07-30 1992-07-30 Address converter

Publications (1)

Publication Number Publication Date
JPH0652058A true JPH0652058A (en) 1994-02-25

Family

ID=16482220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4203941A Pending JPH0652058A (en) 1992-07-30 1992-07-30 Address converter

Country Status (1)

Country Link
JP (1) JPH0652058A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528640A (en) * 2013-08-20 2016-09-15 華為技術有限公司Huawei Technologies Co.,Ltd. Method and apparatus for querying physical memory addresses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528640A (en) * 2013-08-20 2016-09-15 華為技術有限公司Huawei Technologies Co.,Ltd. Method and apparatus for querying physical memory addresses
US10114762B2 (en) 2013-08-20 2018-10-30 Huawei Technologies Co., Ltd. Method and apparatus for querying physical memory address

Similar Documents

Publication Publication Date Title
JP3640978B2 (en) Memory address control device using hash address tag in page table
EP0851357B1 (en) Method and apparatus for preloading different default address translation attributes
JPH07287668A (en) Data processor
JPH08272692A (en) Conversion method of virtual address
JP2006146965A (en) Method for arbitrating among pending requests
JP3449487B2 (en) Conversion index buffer mechanism
JP3045952B2 (en) Full associative address translator
JPH04242848A (en) System for controlling cache memory by running mode
EP0410740B1 (en) A virtual storage address space access control system and method
US5860145A (en) Address translation device storage last address translation in register separate from TLB
EP0239359B1 (en) Address translation circuit
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
JP3970705B2 (en) Address translator, address translation method, and two-layer address translator
JPH05100956A (en) Address converter
US6766435B1 (en) Processor with a general register set that includes address translation registers
JPH0652058A (en) Address converter
KR20070049677A (en) A virtual address cache and method for sharing data using a unique task identifier
JPH0540694A (en) Cache memory device
JPH11238015A (en) Processor device
JP2000148589A (en) Memory management device, its method and storage medium storing program
JPH04369061A (en) Control system for cache memory
JPH0520195A (en) Cache memory controller
JP2000267932A (en) Tag address comparing device
JPH04205154A (en) Microprocessor system
JPH041373B2 (en)