JPS6032221B2 - Address translation method - Google Patents

Address translation method

Info

Publication number
JPS6032221B2
JPS6032221B2 JP55130445A JP13044580A JPS6032221B2 JP S6032221 B2 JPS6032221 B2 JP S6032221B2 JP 55130445 A JP55130445 A JP 55130445A JP 13044580 A JP13044580 A JP 13044580A JP S6032221 B2 JPS6032221 B2 JP S6032221B2
Authority
JP
Japan
Prior art keywords
address translation
address
atb
entry
block
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.)
Expired
Application number
JP55130445A
Other languages
Japanese (ja)
Other versions
JPS5755581A (en
Inventor
晴雄 小浜
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP55130445A priority Critical patent/JPS6032221B2/en
Publication of JPS5755581A publication Critical patent/JPS5755581A/en
Publication of JPS6032221B2 publication Critical patent/JPS6032221B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

Description

【発明の詳細な説明】 本発明は仮想メモリ方式を採用している情報処理装置に
おけるアドレス変換方式に関し、詳しくはアドレス変換
バッファ上のアドレス変換対の無効化の制御方式に関す
るものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an address translation method in an information processing apparatus employing a virtual memory method, and more particularly to a control method for invalidating address translation pairs on an address translation buffer.

多くの情報処理装置では王〆モリとは独立なアドレス空
間(これを仮想メモリと呼ぶ)を持ち、この仮想メモリ
上のアドレスを使ってプログラムを記述することにより
、主メモリ容量の制限を意識することなくプログラムの
作成を可能としている。
Many information processing devices have an independent address space (this is called virtual memory), and by writing programs using addresses on this virtual memory, you can be aware of the limitations of main memory capacity. This makes it possible to create programs without having to do anything.

一般に仮想メモリは複数のセグメントに分割され、セグ
メントは多数のページによって構成される。この仮想メ
モリ上のページを論理ページと呼ぶ。一方、王〆モリも
多数のべ」ジに分割され(これを実ページと呼ぶ)、仮
想メモリ上の論理ページを該主メモリ上の任意の実ペー
ジ位置に割付けることが可能である。上記仮想メモリ上
の或る論理ページを主メモリ上の或る実ページ位置に割
付けた場合、メモリ要求の際、仮想メモリ上のアドレス
(これを論理アドレスと呼ぶ)を主メモリ上の実際に割
付けた実ページ位置のアドレス(これを実アドレスと呼
ぶ)に変換する必要がある。
Generally, virtual memory is divided into multiple segments, and each segment is made up of a number of pages. This page on virtual memory is called a logical page. On the other hand, the main memory is also divided into a large number of pages (these are called real pages), and it is possible to allocate a logical page on the virtual memory to any real page position on the main memory. When a certain logical page on the above virtual memory is allocated to a certain real page position on main memory, when a memory request is made, the address on the virtual memory (this is called a logical address) is actually allocated on the main memory. It is necessary to convert it to the address of the actual page location (this is called a real address).

これがアドレス変換である。一般に論理アドレスを主メ
モリ上の実アドレスに変換するためにセグメント表(S
T)、ページ表(PT)が使われる。PTはセグメント
毎にそのセグメント内の論理ページアドレスと主メモI
J上の実ページアドレスの対応をつける表であり、ST
は仮想メモリ毎に仮想メモリ内のPT表の位置を示す表
である。第1図はセグメント表、ページ表を用いた一般
的なアドレス変換過程を示したものである。第1図にお
いて、1は論理アドレス、2はアドレス変換して得られ
た実アドレスを示す。3は現在実行中のプログラムが属
する仮想メモリのSTの先頭アドレスを保持するレジス
タで(これをSBRと呼ぶ)、仮想メモリの切換えは、
このSBR3の内容を変えることにより行う。
This is address translation. In general, a segment table (S) is used to convert logical addresses to real addresses on main memory.
T), page table (PT) is used. PT contains the logical page address within that segment and the main memory I for each segment.
This is a table that maps the real page addresses on J, and ST
is a table showing the position of the PT table in the virtual memory for each virtual memory. FIG. 1 shows a general address conversion process using a segment table and a page table. In FIG. 1, 1 indicates a logical address, and 2 indicates a real address obtained by address conversion. 3 is a register that holds the start address of ST of the virtual memory to which the currently running program belongs (this is called SBR), and the virtual memory is switched by:
This is done by changing the contents of this SBR3.

この方式は一般に多重仮想メモリ方式と呼ばれている。
4はセグメント表(ST)、5はページ表(PT)であ
る。
This method is generally called a multiple virtual memory method.
4 is a segment table (ST), and 5 is a page table (PT).

これらST,PTは、複数のユーザが互いに他のユーザ
の使用アドレスを意識することなくプログラムできるよ
うに複数用意される。アドレス変換は次のようにして行
われる。まずSBR3に保持されているST4の先頭ア
ドレスと論理アドレス1のセグメントフィールドを加算
してST4のェントリアドレスを得、これでST4の該
当ェントリを参照してPT5の先頭アドレスを得る。次
に、このPT5の先頭アドレスと論理アドレス1のペー
ジフィールドを加算してPT5のェントリアドレスを得
、これでPT5の該当ヱントリを参照して実ページアド
レスを得る。次に、この実ページアドレスと論理アドレ
ス1の変位フィールド(実ページ内アドレス)とを合成
して実アドレスを得る。ところで、第1図のST4,P
T5は主メモリ上に置かれており、メモリ要求の都度、
ST4,PT5を参照して実アドレスを得ていたのでは
時間がか)りすぎる。
A plurality of these STs and PTs are prepared so that a plurality of users can program each other without being aware of the addresses used by other users. Address translation is performed as follows. First, the entry address of ST4 is obtained by adding the start address of ST4 held in SBR3 and the segment field of logical address 1, and then the start address of PT5 is obtained by referring to the corresponding entry of ST4. Next, the start address of PT5 and the page field of logical address 1 are added to obtain the entry address of PT5, and the corresponding entry of PT5 is then referenced to obtain the real page address. Next, this real page address and the displacement field of logical address 1 (address within the real page) are combined to obtain a real address. By the way, ST4, P in Figure 1
T5 is placed on the main memory, and each time a memory request is made,
Obtaining the real address by referring to ST4 and PT5 takes too much time.

そこで、通常は以前に変換されたことのある論理アドレ
ス(論理ページアドレス)と実アドレス(実ページアド
レス)の変換対はCPU内の高速バッファメモリに格納
しておき、その後の同一論理ページに対するアクセスは
、該高速バッファメモリから直接実ページアドレスを得
て行い、アドレス変換の高速化を図っている。この高速
バッファメモリをアドレス変換バッファ(ATB)と呼
んでいる。第2図はATBを用いたアドレス変換過程を
示したものである。第2図において、6がATBで、こ
れは複数のェントリから成り、1つのェントリには1つ
の論理ページアドレスと、それに対応する実ページアド
レス、及び該アドレス変換対の有効性を示す有効性表示
ビット(Vビット)が格納されている。7はTLBェン
トリ制御部、8は比較回路である。
Therefore, conversion pairs of logical addresses (logical page addresses) and real addresses (real page addresses) that have been converted before are usually stored in a high-speed buffer memory within the CPU, and subsequent access to the same logical page is In this method, the real page address is obtained directly from the high-speed buffer memory, thereby speeding up the address conversion. This high-speed buffer memory is called an address translation buffer (ATB). FIG. 2 shows the address translation process using the ATB. In FIG. 2, 6 is the ATB, which consists of multiple entries, each entry containing one logical page address, the corresponding real page address, and a validity indicator indicating the validity of the address translation pair. bit (V bit) is stored. 7 is a TLB entry control unit, and 8 is a comparison circuit.

第2図の動作を説明すると、論理アドレス1のセグメン
トフィールド、ページフィールド、及びSBR3の内容
に基づき、TLBェントリ制御部7はTLB6の該当ェ
ントリの論理ページアドレス、実ページアドレス及びV
ビットを読み出す。
To explain the operation of FIG. 2, based on the segment field and page field of logical address 1, and the contents of SBR3, the TLB entry control unit 7 controls the logical page address, real page address, and V of the corresponding entry of TLB6.
Read the bit.

比較回路8は、このTLB6より読み出された論理ペー
ジアドレスを論理アドレス1の上位ビットと比較し、両
者が一致すると出力線を“1”とする。該比較回路8で
一致がとられ、且つ、TLB6の該当ェントリのVビッ
トが“1”の場合、TLB6より読み出された実ページ
アドレスと論理アドレスーの変位フィールドとを合成し
て実アドレス2とする。一方、比較回路8で一致が得ら
れない場合は第1図のアドレス変換過程により実アドレ
スを求める。この時、その求つた論理ページアドレスと
実ページアドレスの変換対をTLB6の該当ェント川こ
格納し、その後の同一ェントリに対するアクセスに利用
する。さて、前記STの先頭アドレスを保持しているS
BRの内容がプログラム等により書換えられると仮想メ
モリが切換わる。
Comparison circuit 8 compares the logical page address read from TLB 6 with the upper bit of logical address 1, and sets the output line to "1" when the two match. If a match is found in the comparison circuit 8 and the V bit of the corresponding entry in the TLB 6 is "1", the real page address read from the TLB 6 and the displacement field of the logical address are combined to form the real address 2. do. On the other hand, if the comparison circuit 8 does not find a match, the real address is determined by the address conversion process shown in FIG. At this time, the translated pair of logical page address and real page address obtained is stored in the corresponding entry of TLB 6 and used for subsequent access to the same entry. Now, the S that holds the start address of the ST
When the contents of the BR are rewritten by a program or the like, the virtual memory is switched.

従って、この時ATBに格納されているアドレス変換対
を無効とすべ〈、ATBの各ェントリの有効性表示ビッ
ト(Vビット)をリセットする必要がある。しかし、仮
想メモリのうちオペレーション・システムが占めるシス
テム空間は各ユーザ共通に使用される空間であり、仮想
メモリが切換わってもそのアドレス変換情報は同じであ
る。このため、高性能な情報処理装置では、次の方法に
より仮想メモリの切換え時のオーバヘツドの減少を図っ
ている。【1} オペレーション・システムが使用する
アドレス空間と、ユーザプログラムが使用するアドレス
空間を完全に区分し、それに対応してATBについても
、オペレーション・システムが使用する領域とユーザプ
ログラムが使用する領域に分け、仮想メモリの切換え時
には、ユーザプログラムが使用するATB領域だけを無
効化し、オペレーション・システムが使用するATB領
域は無効化しない方法(特関昭50−30435号)。
Therefore, at this time, it is necessary to invalidate the address translation pair stored in the ATB (it is necessary to reset the validity indicating bit (V bit) of each entry in the ATB). However, the system space occupied by the operating system in the virtual memory is a space commonly used by each user, and even if the virtual memory is switched, the address translation information remains the same. Therefore, in high-performance information processing devices, the following method is used to reduce the overhead when switching virtual memories. [1] The address space used by the operation system and the address space used by the user program are completely separated, and the ATB is also divided into an area used by the operation system and an area used by the user program. , A method of invalidating only the ATB area used by the user program, but not invalidating the ATB area used by the operating system, when switching virtual memory (Special Seki No. 50-30435).

‘2} ATB上のアドレス変換対の無効化に対する制
御情報としてSTにセグメント継続表示ビット(SSI
ビット)を設け、オペレーション・システムに割付けら
れたセグメントに対応するSTのSSIビットを“1”
とし、仮想メモリを切換えた時にSSIビットが“1”
であるATBのェントリは無効化しない方法。このうち
、‘1}の方法は、ハードウェアによりシステム空間(
アドレス空間)をオペレーション・システム用、ユーザ
プログラム用に区分するため、オペレーション・システ
ムが使用するシステム空間の拡大等を行うと、仮想メモ
リの切換え時のオーバヘッドが増大し、スループットが
低下するといった問題がある。
'2} The segment continuation indication bit (SSI
bit) and set the ST SSI bit corresponding to the segment allocated to the operating system to “1”.
When the virtual memory is switched, the SSI bit is “1”
A method that does not invalidate the ATB entry. Among these, method '1} uses hardware to create system space (
Address space) is partitioned into one for the operating system and one for the user program, so if you expand the system space used by the operating system, the overhead when switching virtual memory increases and throughput decreases. be.

このため、種々のオペレーション・システムが走行する
汎用の情報処理装置では、上記‘2)の方法が主に採用
されている。第3図は上記【2}の方法を採用した情報
処理装置のST,PT及びATBのェントリの一例を示
したもので、イがSTエントリ、口がPTエントリ、ハ
がATBヱントリである。なお、SFはセグメントフオ
ールトビツト、PFはページフオールトビツトを示す。
ところが従来は、上記仮想メモリの切換えによりATB
上のアドレス変換対の無効化を行う場合、ATBの1ェ
ントリ毎にそのSSIビットをチェックして、該SSI
ビットが“1”の時はVビットを変更せず、SSIビッ
トが“0”の時はVビットをリセットするようにしてい
た。
For this reason, method '2) above is mainly employed in general-purpose information processing apparatuses running various operating systems. FIG. 3 shows an example of ST, PT, and ATB entries of an information processing apparatus employing the method [2} above, where A is an ST entry, mouth is a PT entry, and C is an ATB entry. Note that SF indicates a segment fault bit, and PF indicates a page fault bit.
However, conventionally, by switching the virtual memory mentioned above, the ATB
When invalidating the above address translation pair, check the SSI bit for each entry in the ATB, and
When the bit was "1", the V bit was not changed, and when the SSI bit was "0", the V bit was reset.

このように従来はATBの1ェントリ毎にSSIビット
の内容をチェックするため、ATB上のアドレス変換対
の無効化に要する時間が長くか)るという欠点があった
。本発明は上述の従来の欠点を解決し、仮想メモリが切
換わった時のATB上のアドレス変換対の無効化に要す
る時間を短縮するため、仮想メモリのセグメントに対応
してATBを複数のブロックに分割し、且つ1つのブロ
ックに属する全てのェントIJのSSIビットが同じ内
容となるようにし、仮想メモリの切換えによってATB
上のアドレス変換対の無効化を行う時に、ATB上の1
ェントリのSSIビットの状態によってそのェントリが
属するブロックの全てのェント川こ格納されているアド
レス変換対を無効化するか否かを決定できるようにした
ものである。
As described above, since the contents of the SSI bit are checked for each entry in the ATB, the conventional method has the disadvantage that it takes a long time to invalidate the address translation pair on the ATB. The present invention solves the above-mentioned conventional drawbacks and reduces the time required to invalidate address translation pairs on the ATB when virtual memory is switched. The SSI bits of all entity IJs belonging to one block are divided into
1 on the ATB when invalidating the above address translation pair.
According to the state of the SSI bit of an entry, it can be determined whether or not to invalidate address translation pairs stored in all entries of the block to which the entry belongs.

第4図は本発明の一実施例を説明するための図であって
、10‘ま仮想メモリ、20はATBで、該ATB20
は第2図のATB6に対応する。
FIG. 4 is a diagram for explaining one embodiment of the present invention, in which 10' is a virtual memory, 20 is an ATB, and the ATB 20 is a diagram for explaining an embodiment of the present invention.
corresponds to ATB6 in FIG.

本実施例では、仮想メモリー0は4つのセグメント11
,12,13,14から成っており、それに対応してA
TB20を4つのブロック21,22,23,24に分
割する。ATB20の各ブロックはそれぞれ複数のェン
トリを持っているが、第4図ではブロック20のエント
リ201,201,203,204のみを示す。ATB
20の各ブロックの各ェントリが第3図ハの構成をとる
ことは従来と同じである。たゞし、仮想メモリ10のセ
グメント11,12,13,14に関するアドレス変換
対はATB20のそれぞれ対応するブロック21,22
,23,24に属するェントリに格納する。これにより
ATB20の1つのブロックに属する各ヱントリの第3
図ハに示すSSIビットの状態は全て同じになる。仮想
メモリの切換えによりATB上のアドレス変換対の無効
化が指示された場合、まずATB20のブロック21の
先頭ェントリ201の内容を読出し、そのSSIビット
の状態をテストする。
In this example, virtual memory 0 has four segments 11
, 12, 13, 14, and correspondingly A
The TB 20 is divided into four blocks 21, 22, 23, and 24. Although each block of the ATB 20 has a plurality of entries, only entries 201, 201, 203, and 204 of the block 20 are shown in FIG. ATB
It is the same as in the prior art that each entry in each of the 20 blocks has the configuration shown in FIG. 3C. However, the address translation pairs regarding segments 11, 12, 13, and 14 of the virtual memory 10 are the corresponding blocks 21, 22 of the ATB 20, respectively.
, 23, 24. As a result, the third entry of each entry belonging to one block of ATB20
The states of the SSI bits shown in Figure C are all the same. When invalidation of an address translation pair on the ATB is instructed due to virtual memory switching, the contents of the first entry 201 of the block 21 of the ATB 20 are first read and the state of its SSI bit is tested.

もしSSI=“0”ならばブロック2川こ属する全ての
エントリ201,202,203,204のVビットを
リセットし、ブロック21の各ェントリに格納している
アドレス変換対を無効化する。一方、SSI=“1”な
らばブロック21に属する全てのエントリ201,20
2,203,204のVビットは変更しない。22,2
3についても同様に、例えばその先頭のェントリのSS
Iビットの状態により該当ブロックの全てのェントリに
格納されているアドレス変換対を無効化するか否か決定
する。
If SSI="0", the V bits of all entries 201, 202, 203, and 204 belonging to block 2 are reset, and the address translation pairs stored in each entry of block 21 are invalidated. On the other hand, if SSI="1", all entries 201, 20 belonging to block 21
V bits 2, 203, and 204 are not changed. 22,2
Similarly, for 3, for example, the SS of the first entry
Depending on the state of the I bit, it is determined whether or not to invalidate the address translation pairs stored in all entries of the corresponding block.

第5図は本発明の他の実施例を説明するための図であっ
て、20はATB、3 1,32,33,34はATB
の各ブロック21,22,23,24に対応して設けた
SSIビットの状態を保持するラッチである。
FIG. 5 is a diagram for explaining another embodiment of the present invention, in which 20 is an ATB, 31, 32, 33, and 34 are ATBs.
This is a latch that holds the state of the SSI bit provided corresponding to each block 21, 22, 23, and 24.

即ち、第5図ではATBの各ブロックの全てのェントリ
にSSIビットを持たせることはせずに、ATBの各ブ
ロック毎にSSIビット保持用のラツチを設ける。主メ
モリ上のST,PTを参照して得られた論理アドレスと
実アドレスのアドレス変換対をATB20の該当ブロッ
クの該当ェントリに格納する時、同時にそのSSIビッ
トの状態を該ブロックに対応するラッチ31,32,3
3,34の1つに記憶する。例えば第4図の仮想メモリ
ー0のセグメント11に関するアドレス変換対をATB
20のブロック21に属するヱントリ201に格納する
場合、同時に該セグメント11に関するSTェントリの
SSIビットの状態をブロック21に対応するラッチ3
1に記憶する。仮想メモリの切換えによりATB上のア
ドレス変換対の無効化が指示された場合、ラッチ31,
32,33,34に記憶しているSSIビットの状態に
よって、対応するATB20のブロック21,22,2
3,24に格納しているアドレス変換対を無効化するか
否かを決定する。例えばラッチ31に記憶しているSS
Iビットの状態が“0”ならば、ATB20のブ。ック
21に属する全てのエントリ201,202,203,
204のVビットをリセットして、各ェントリに格納し
ているアドレス変換対を無効化する。一方、ラッチ31
に記憶しているSSIビットの状態が“1”ならば、A
TB20の該当ブロック21に属する全てのェントリの
Vビットは変更しない。このように、本発明では1回の
SSIビットのテストによりATBの1ブロックに格納
している複数のアドレス変換対について無効化するか否
かを決定することができ、仮想メモリの切換えによるA
TB上のアドレス変換対の無効化に要する時間の短縮を
はかることができる。
That is, in FIG. 5, a latch for holding the SSI bit is provided for each block of the ATB instead of providing SSI bits in all entries in each block of the ATB. When storing the address conversion pair of the logical address and real address obtained by referring to ST and PT on the main memory in the corresponding entry of the corresponding block of the ATB 20, the state of the SSI bit is simultaneously stored in the latch 31 corresponding to the block. ,32,3
3, 34. For example, the address translation pair for segment 11 of virtual memory 0 in FIG.
When storing in the entry 201 belonging to block 21 of segment 20, at the same time, the state of the SSI bit of the ST entry regarding the segment 11 is stored in the latch 3 corresponding to block 21.
Store in 1. When invalidation of the address translation pair on the ATB is instructed by virtual memory switching, the latch 31,
Depending on the state of the SSI bits stored in 32, 33, and 34, the corresponding blocks 21, 22, and 2 of the ATB 20
It is determined whether or not to invalidate the address translation pair stored in 3 and 24. For example, the SS stored in latch 31
If the state of the I bit is “0”, the ATB 20 is turned off. All entries 201, 202, 203, belonging to block 21
The V bit of 204 is reset to invalidate the address translation pair stored in each entry. On the other hand, latch 31
If the state of the SSI bit stored in A is “1”, then
The V bits of all entries belonging to the corresponding block 21 of the TB 20 are not changed. As described above, in the present invention, it is possible to determine whether or not to invalidate multiple address translation pairs stored in one block of the ATB by testing the SSI bit once.
It is possible to reduce the time required to invalidate address translation pairs on the TB.

また、本発明では仮想メモリの1セグメントに関する全
てのアドレス変換対をATBの1ブロックに格納してい
るため、ATB上の任意の1ブロックに属するェントリ
のVビットをリセツトする回路を追加することにより、
仮想メモリの指定したセグメントに関するアドレス変換
対のみを無効にすることができる。
Furthermore, in the present invention, all address translation pairs related to one segment of virtual memory are stored in one block of ATB, so by adding a circuit to reset the V bit of an entry belonging to any one block on ATB, ,
Only address translation pairs for a specified segment of virtual memory can be disabled.

これにより、プログラムでSTェントリを書換えた場合
、従来はATB上の全てのアドレス変換対を無効化して
いたが、本発明では書換えたSTェントリに対応するセ
グメントに関連するアドレス変換対だけ無効化すること
ができ、STェントリの書換え時のオーバヘッドを減ら
すことができる。なお、第4図及び第5図では仮想メモ
リを4セグメントに分割したが、セグメント数が増えた
場合もATBのブロック数をセグメント数に応じて増や
すことにより、1つのブロックに属する全てのェントリ
のSSIビットが同じ内容となり、本実施例と同機に1
回のSSIビットのテストによりATBの1ブロックに
格納している複数のアドレス変換対について無効化する
か否かを決定することができる。
As a result, when an ST entry is rewritten by a program, conventionally all address translation pairs on the ATB are invalidated, but in the present invention, only the address translation pairs related to the segment corresponding to the rewritten ST entry are invalidated. This makes it possible to reduce the overhead when rewriting the ST entry. Note that in Figures 4 and 5, the virtual memory is divided into four segments, but even if the number of segments increases, by increasing the number of blocks in the ATB according to the number of segments, all entries belonging to one block can be divided. The SSI bits have the same contents, and the same machine as this example has 1
By testing the SSI bit twice, it can be determined whether or not to invalidate a plurality of address translation pairs stored in one block of the ATB.

以上説明したように、本発明によれば、仮想メモリの切
換えに伴うATB上のアドレス変換対の無効化に要する
時間の短縮が行えるため、情報処理装置の性能向上を図
ることができる。
As described above, according to the present invention, the time required to invalidate address translation pairs on the ATB due to virtual memory switching can be shortened, so that the performance of the information processing device can be improved.

また、ATB上の任意の1ブロックのみに属するェント
リのVビットをリセットする回路を付加することにより
、プログラムによるSTェントリの書換え時のATB無
効化によるオーバヘツドを減らすことが可能である。
Furthermore, by adding a circuit for resetting the V bit of an entry belonging to only one arbitrary block on the ATB, it is possible to reduce the overhead caused by invalidating the ATB when rewriting the ST entry by a program.

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

第1図はセグメント表、ページ表を用いたアドレス変換
過程を説明するための図、第2図はアドレス変換バッフ
ァを用いたアドレス変換過程を説明するための図、第3
図はセグメント表、ページ表およびアドレス変換バッフ
ァのェントリの構成例を示す図、第4図及び第5図は本
発明の一実施例を説明するための図である。 1・・・・・・論理アドレス、2・・・・・・実アドレ
ス、3・・・…制御レジスタ、4……セグメント表、5
……ページ表、6・・・・・・アドレス変換バッファ(
ATB)、7・・・・・・ATB制御部、8・・・・・
・比較回路、1 0・…・・仮想メモリ、11〜14・
・・・・・仮想メモリのセグメント、20・・・・・・
ATB、2 1〜2 4・…・・ATBのブロック、2
0 1〜204……ATBのエントリ。 第1図第2図 第3図 第4図 第5図
Figure 1 is a diagram for explaining the address translation process using a segment table and page table, Figure 2 is a diagram for explaining the address translation process using an address translation buffer, and Figure 3 is a diagram for explaining the address translation process using an address translation buffer.
This figure shows an example of the structure of entries in a segment table, a page table, and an address translation buffer, and FIGS. 4 and 5 are diagrams for explaining one embodiment of the present invention. 1...Logical address, 2...Real address, 3...Control register, 4...Segment table, 5
...Page table, 6...Address translation buffer (
ATB), 7...ATB control section, 8...
・Comparison circuit, 1 0...Virtual memory, 11-14・
...Virtual memory segment, 20...
ATB, 2 1~2 4...ATB block, 2
0 1-204...ATB entry. Figure 1 Figure 2 Figure 3 Figure 4 Figure 5

Claims (1)

【特許請求の範囲】 1 アドレス変換バツフアに論理アドレスと実アドレス
のアドレス対等のアドレス変換情報を記憶し、論理アド
レスが与えられた時に対応する実アドレスを前記アドレ
ス変換バツフアより高速に得るアドレス変換方式におい
て、前記アドレス変換バツフアを仮想メモリの複数に分
割されたセグメントに対応して複数のブロツクに分割し
て、仮想メモリの各セグメントに関するアドレス対等の
アドレス変換情報をアドレス変換バツフアの対応するブ
ロツクに格納し、前記アドレス変換バツフアのアドレス
変換情報の無効化が指示された時、該アドレス変換バツ
フアの1つのアドレス変換情報が保持している無効化制
御情報によつて該アドレス変換情報が存在するブロツク
内の全てのアドレス変換情報を無効にするか否かを決定
することを特徴とするアドレス変換方式。 2 特許請求の範囲第1項記載のアドレス変換方式にお
いて、前記アドレス変換バツフアの各ブロツクに対応し
て無効化制御情報を保持するラツチを設け、アドレス変
換情報の無効化が指示された時、該ラツチに保持してい
る無効化制御情報によつてアドレス変換バツフアの対応
するブロツクに記憶している全てのアドレス変換情報を
無効にするか否かを決定することを特徴とするアドレス
変換方式。
[Scope of Claims] 1. Address translation method in which address translation information of logical addresses and real addresses is stored in an address translation buffer, and when a logical address is given, a corresponding real address is obtained faster than the address translation buffer. In the step, the address translation buffer is divided into a plurality of blocks corresponding to the plurality of divided segments of the virtual memory, and address translation information of address equality for each segment of the virtual memory is stored in the corresponding block of the address translation buffer. However, when the invalidation of the address translation information of the address translation buffer is instructed, the invalidation control information held by one of the address translation information of the address translation buffer causes the block in which the address translation information exists to be invalidated. An address translation method characterized by determining whether or not to invalidate all address translation information. 2. In the address translation method according to claim 1, a latch is provided for holding invalidation control information corresponding to each block of the address translation buffer, and when invalidation of the address conversion information is instructed, An address translation method characterized by determining whether or not to invalidate all address translation information stored in a corresponding block of an address translation buffer based on invalidation control information held in a latch.
JP55130445A 1980-09-19 1980-09-19 Address translation method Expired JPS6032221B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55130445A JPS6032221B2 (en) 1980-09-19 1980-09-19 Address translation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55130445A JPS6032221B2 (en) 1980-09-19 1980-09-19 Address translation method

Publications (2)

Publication Number Publication Date
JPS5755581A JPS5755581A (en) 1982-04-02
JPS6032221B2 true JPS6032221B2 (en) 1985-07-26

Family

ID=15034405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55130445A Expired JPS6032221B2 (en) 1980-09-19 1980-09-19 Address translation method

Country Status (1)

Country Link
JP (1) JPS6032221B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4561865A (en) * 1983-11-01 1985-12-31 Greene & Kellogg, Inc. Single bed pressure swing adsorption gas separation system
JPH0679295B2 (en) * 1986-02-26 1994-10-05 日本電気株式会社 Address translator
IT1219238B (en) * 1988-04-26 1990-05-03 Olivetti & Co Spa ADDRESS TRANSLATION DEVICE FOR A COMPUTER OPERATIONAL MEMORY
JPH0612330A (en) * 1992-06-24 1994-01-21 Nec Corp Storage control system

Also Published As

Publication number Publication date
JPS5755581A (en) 1982-04-02

Similar Documents

Publication Publication Date Title
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
JPH0137773B2 (en)
JPH03142644A (en) Cache memory control system
US20060236070A1 (en) System and method for reducing the number of translation buffer invalidates an operating system needs to issue
JPS589277A (en) Data processor
JPH0315211B2 (en)
JP2768503B2 (en) Virtual memory address space access control method
JPS6032221B2 (en) Address translation method
JP3190700B2 (en) Address translator
JPH06187286A (en) Bus conversion adapter
JPS6149703B2 (en)
JPH02101552A (en) Address conversion buffer processing system
JPH0690686B2 (en) Address translation index invalidator
JPS59201288A (en) Address converting system
JPH04205535A (en) Copy on write system
JPS5821352B2 (en) Buffer memory control method
JP2564377B2 (en) Information processing device with cache memory
JPH01206442A (en) Address converting system for extended storage
JPS6341101B2 (en)
JPS6213699B2 (en)
JPH1027134A (en) Address converter and processor using the converter
JPH0479020B2 (en)
JPS6341102B2 (en)