JPH04358242A - Device and method for translating address - Google Patents

Device and method for translating address

Info

Publication number
JPH04358242A
JPH04358242A JP3132654A JP13265491A JPH04358242A JP H04358242 A JPH04358242 A JP H04358242A JP 3132654 A JP3132654 A JP 3132654A JP 13265491 A JP13265491 A JP 13265491A JP H04358242 A JPH04358242 A JP H04358242A
Authority
JP
Japan
Prior art keywords
addresses
address
group
page number
address translation
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
JP3132654A
Other languages
Japanese (ja)
Inventor
Koichi Horiuchi
堀 内  浩 一
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 JP3132654A priority Critical patent/JPH04358242A/en
Publication of JPH04358242A publication Critical patent/JPH04358242A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide the device and method for translating addresses for improving access speed while suppressing the frequency of exchanging an entry and for effectively utilizing an area to hold the entry at a high-speed buffer for address translation. CONSTITUTION:The entries of logical page numbers and physical page numbers used for converting the addresses generated by a network controller 2, hard disk controller 4 and CPU 5 are respectively held in the prescribed areas of a logical page number part 21 and a physical page number part 23, and the entries are exchanged to the prescribed areas as well.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、CPUや周辺装置等の
アクセス手段と、メモリやI/Oレジスタ等の被アクセ
ス手段とを有する情報処理システムなどに適用され、C
PU等が発生するアドレスをメモリ等に実際に割り当て
られているアドレスに変換するアドレス変換装置および
アドレス変換方法に関するものである。
[Industrial Application Field] The present invention is applied to information processing systems having access means such as a CPU and peripheral devices, and accessed means such as memory and I/O registers.
The present invention relates to an address conversion device and an address conversion method for converting an address generated by a PU or the like into an address actually allocated to a memory or the like.

【0002】0002

【従来の技術】情報処理システム等においては、CPU
の発生するアドレスが例えば32ビットであるとすると
、4Gバイトのアドレス空間を取り扱うことができる。 これに対して、主メモリを構成するDRAMは、通常、
物理的制限や価格的制限などにより数Mバイトから数十
Mバイト程度分しか実装されない。
[Prior Art] In information processing systems, CPUs
For example, if the generated address is 32 bits, an address space of 4 Gbytes can be handled. On the other hand, DRAM that constitutes main memory usually
Due to physical limitations, price limitations, etc., only a few Mbytes to several tens of Mbytes can be implemented.

【0003】そこで、主メモリのアドレス空間よりも大
きなアドレス空間を取り扱い得るようにするために、C
PUのアドレス空間に対応するデータを大容量記憶装置
であるハードディスク装置等に格納するようにし、ハー
ドディスク装置等と主メモリとの間で適宜データ転送を
行うとともに、CPUによるアクセスは主メモリに対し
て行う、いわゆる仮想メモリと称されるシステムが多く
適用されている。ここで、上記CPUによる主メモリの
アクセスは、より詳しくは、主メモリに記憶されている
、CPUが発生する仮想のアドレス(以下、論理アドレ
スと称する。)と主メモリの実際のアドレス(以下、物
理アドレスと称する。)との対応関係を示すページテー
ブルに基づき、論理アドレスを物理アドレスに変換して
行うようになっている。
Therefore, in order to be able to handle an address space larger than that of the main memory, C
Data corresponding to the address space of the PU is stored in a hard disk device, etc., which is a mass storage device, and data is transferred between the hard disk device, etc. and the main memory as appropriate, and access by the CPU is made to the main memory. Many systems called virtual memory are being applied. Here, access to the main memory by the CPU is, more specifically, a virtual address (hereinafter referred to as a logical address) generated by the CPU stored in the main memory and an actual address of the main memory (hereinafter referred to as a logical address). This is done by converting logical addresses into physical addresses based on a page table that shows the correspondence with physical addresses (referred to as physical addresses).

【0004】これによれば、データが実際に主メモリに
記憶されているかハードディスク装置等に記憶されてい
るかに関わらず、また、データが主メモリにおける何れ
の物理アドレスの領域に格納されているかに関わらず、
仮想アドレスによるアクセスが行えるようになっている
。ところで、上記ページテーブルは、主メモリのアクセ
スを行うごとに読み出されるのでは、アクセス時間が長
くかかることになる。そこで、例えば「情報処理ハンド
ブック」(情報処理学会編、1989年5月、オーム社
発行)p.69に示されているように、TLB(tra
nslation  lookasidebuffer
)等と称されるアドレス変換用高速バッファを有するア
ドレス変換装置が用いられている。
[0004]According to this, regardless of whether data is actually stored in the main memory or in a hard disk drive or the like, and in which physical address area in the main memory the data is stored. Regardless,
Access is possible using virtual addresses. By the way, if the page table is read every time the main memory is accessed, it will take a long time to access. Therefore, for example, "Information Processing Handbook" (edited by Information Processing Society of Japan, May 1989, published by Ohm Publishing) p. 69, TLB (tra
nslation lookaside buffer
) is used, which has a high-speed buffer for address translation.

【0005】以下、従来のアドレス変換装置が備えられ
た情報処理システムの例を図3および図4に基づいて説
明する。同図に示すように、情報処理システムは、CP
U31と、アドレス変換用高速バッファ32と、主メモ
リ33と、ハードディスク装置34とが設けられて構成
されている。
An example of an information processing system equipped with a conventional address translation device will be described below with reference to FIGS. 3 and 4. As shown in the figure, the information processing system has CP
It is configured by providing a U31, a high-speed address conversion buffer 32, a main memory 33, and a hard disk device 34.

【0006】上記主メモリ33とハードディスク装置3
4との間では、ページと称される所定量単位でデータの
交換(以下、スワッピングと称する。)が行われ、主メ
モリ33にはハードディスク装置34に記憶されている
データのうちの一部が格納されるようになっている。上
記主メモリ33には、また、論理アドレスの上位ビット
を構成する論理ページ番号と、物理アドレスの上位ビッ
トを構成する物理ページ番号とを対応付けるページテー
ブル35が格納されるようになっている。
The main memory 33 and the hard disk drive 3
4, data is exchanged in units of a predetermined amount called pages (hereinafter referred to as swapping), and some of the data stored in the hard disk drive 34 is stored in the main memory 33. It is now stored. The main memory 33 also stores a page table 35 that associates logical page numbers forming the upper bits of the logical address with physical page numbers forming the upper bits of the physical address.

【0007】また、アドレス変換用高速バッファ32は
、ページテーブル35の一部を保持し、CPU31から
出力された論理ページ番号を物理ページ番号に変換する
もので、より詳しくは、図4に示すように論理ページ番
号部41と、比較部42と、物理ページ番号部43とが
設けられて構成されている。上記論理ページ番号部41
および物理ページ番号部43は、それぞれページテーブ
ル35における論理ページ番号または物理ページ番号を
エントリとして保持するものである。比較部42は、C
PU31から出力される論理ページ番号と論理ページ番
号部41内の各エントリとを比較し、一致するエントリ
に対応する物理ページ番号部43内のエントリを物理ペ
ージ番号として物理ページ番号部43に出力させるもの
である。
The high-speed address conversion buffer 32 holds a part of the page table 35 and converts the logical page number output from the CPU 31 into a physical page number. A logical page number section 41, a comparison section 42, and a physical page number section 43 are provided. The above logical page number section 41
The physical page number section 43 each holds a logical page number or a physical page number in the page table 35 as an entry. The comparison section 42
The logical page number output from the PU 31 is compared with each entry in the logical page number section 41, and the entry in the physical page number section 43 corresponding to the matching entry is outputted to the physical page number section 43 as a physical page number. It is something.

【0008】なお、CPU31から出力される論理アド
レスの下位ビットを構成する論理ページ内オフセットは
、そのまま物理ページ内オフセットとして物理ページ番
号と結合され、物理アドレスとして出力されるようにな
っている。ここで、アドレス変換用高速バッファ32に
は、ハードウェア上の制約などから、ページテーブル3
5の一部だけが保持されるように構成されるため、CP
U31から出力される論理ページ番号に一致するエント
リが存在しない場合がある。  この場合には、ページ
テーブル35における必要な部分が読み出され、新たな
エントリとしてアドレス変換用高速バッファ32に保持
された後、上記のような変換が行われるようになってい
るが、このような動作が行われると、アドレス変換時間
が長くかかり、それゆえ、アクセス時間がかえって増大
することになる。
[0008] Note that the logical intra-page offset constituting the lower bits of the logical address output from the CPU 31 is directly combined with the physical page number as an intra-physical page offset, and is output as a physical address. Here, due to hardware constraints, the address translation high-speed buffer 32 has a page table 3.
Since only a portion of 5 is retained, CP
There may be no entry matching the logical page number output from U31. In this case, the necessary portion of the page table 35 is read out and held as a new entry in the address conversion high-speed buffer 32, and then the above conversion is performed. If such an operation is performed, it will take a long time to translate the address, and therefore the access time will increase.

【0009】そこで、上記新たなエントリは、所定の時
間の範囲内で最も参照頻度の低いエントリと置き換えら
れて保持されるようになっている。すなわち、CPU3
1によって行われるアクセスは、通常、一度アクセスさ
れたアドレスの付近のアドレスに対して行われる可能性
が非常に高い。換言すれば、アクセス頻度の低い論理ペ
ージほど、再度アクセスされる可能性が低い。それゆえ
、最も参照頻度の低いエントリを新たなエントリと置き
換えることにより、必要なエントリの存在する場合がで
きるだけ多くなるようになっている。
[0009] Therefore, the new entry is maintained in place of the entry that is least frequently referenced within a predetermined time range. That is, CPU3
An access made by No. 1 is usually very likely to be made to an address near the address once accessed. In other words, the less frequently accessed a logical page is, the less likely it is to be accessed again. Therefore, by replacing the least frequently referenced entry with a new entry, the necessary entry exists as often as possible.

【0010】0010

【発明が解決しようとする課題】ところで、上記のよう
なアドレス変換装置は、CPUから出力される論理アド
レスの変換だけでなく、ネットワークコントローラやハ
ードディスクコントローラ等の複数の周辺コントローラ
などから出力される論理アドレスと物理アドレスとの対
応付けを行うために用いられることがある。
[Problems to be Solved by the Invention] By the way, the address translation device described above not only converts logical addresses output from the CPU, but also converts logical addresses output from multiple peripheral controllers such as network controllers and hard disk controllers. It is sometimes used to associate addresses with physical addresses.

【0011】しかしながら、このような場合、前記エン
トリの置き換えが頻繁に発生してアクセス速度が低下し
がちであるうえ、アドレス変換用高速バッファにおける
エントリを保持する領域が有効に活用されないという問
題点を有していた。すなわち、例えばネットワークコン
トローラが取り扱うアドレス空間はCPUが取り扱うア
ドレス空間に比べて狭い。それゆえ、ネットワークコン
トローラによってアクセスが行われる際には、常に所定
の限られた範囲のアドレスが出力される。
[0011] However, in such a case, the entry is frequently replaced and the access speed tends to decrease, and the area for holding the entry in the address translation high-speed buffer is not used effectively. had. That is, for example, the address space handled by a network controller is narrower than the address space handled by a CPU. Therefore, whenever an access is made by the network controller, a predetermined limited range of addresses is output.

【0012】ところが、これらのネットワークコントロ
ーラによるアクセス自体の頻度が少ないと、対応するエ
ントリの参照頻度が低いことになるので、前記のように
CPUによるアクセス等により新たなエントリと置き換
えられてしまい、必要なエントリがアドレス変換用高速
バッファに保持されていない場合が多くなる。それゆえ
、ネットワークコントローラによるアクセスが行われる
ごとに、エントリの置き換えが発生しがちになり、した
がってアクセス速度が低下することになる。
[0012] However, if the access frequency itself by these network controllers is low, the corresponding entries are referenced infrequently, and as described above, they are replaced with new entries due to accesses by the CPU, etc. In many cases, such entries are not held in the high-speed address translation buffer. Therefore, every time an access is made by the network controller, entry replacement tends to occur, thus reducing the access speed.

【0013】また、ハードディスクコントローラの制御
によってハードディスク装置と主メモリとの間でデータ
のスワッピングが行われる際には、論理アドレスと実ア
ドレスとの対応関係が変更されるので、ページテーブル
が書き換えられるとともに新たなエントリがアドレス変
換用高速バッファに保持され、また、ページテーブルに
おける書き換えられる前のエントリがアドレス変換用高
速バッファに保持されていた場合には、そのエントリが
無効にされる。
[0013] Furthermore, when data is swapped between the hard disk device and the main memory under the control of the hard disk controller, the correspondence between logical addresses and real addresses is changed, so the page table is rewritten and A new entry is held in the address translation high-speed buffer, and if an entry in the page table before being rewritten is held in the address translation high-speed buffer, that entry is invalidated.

【0014】ところで、上記スワッピングは、同一の論
理アドレスのデータについて連続して行われることはほ
とんどない。それゆえ、スワッピングによってアドレス
変換用高速バッファに保持されたエントリがその後のス
ワッピングによって再度参照されることもほとんどない
。ところが、スワッピングによって保持されたエントリ
は、スワッピングが行われてからある程度の時間が経過
するまではアクセス頻度が高いことになるので、他のエ
ントリと置き換えられることなく保持されていることが
多くなる。すなわち、アドレス変換用高速バッファにお
けるエントリを保持する領域が有効に活用されないこと
になるうえ、そのために、アドレス変換用高速バッファ
にCPU等によるアクセスに必要なエントリの保持され
ていない場合が多くなり、エントリの置き換えが頻繁に
発生しがちになって、やはりアクセス速度が低下するこ
とになる。
By the way, the above-mentioned swapping is almost never performed consecutively for data at the same logical address. Therefore, entries held in the high-speed address translation buffer by swapping are rarely referenced again by subsequent swapping. However, since entries held through swapping are frequently accessed until a certain amount of time has passed after swapping, they are often held without being replaced with other entries. In other words, the area for holding entries in the high-speed address conversion buffer is not effectively utilized, and as a result, the high-speed address conversion buffer often does not hold entries necessary for access by the CPU, etc. Entries tend to be replaced frequently, resulting in a decrease in access speed.

【0015】本発明は上記の点に鑑み、エントリの置き
換えの発生頻度を小さく抑えてアクセス速度を向上させ
るとともに、アドレス変換用高速バッファにおけるエン
トリを保持する領域が有効に活用されるアドレス変換装
置およびアドレス変換方法の提供を目的としている。
In view of the above-mentioned points, the present invention provides an address translation device and an address translation device in which the frequency of occurrence of entry replacement is kept low to improve access speed, and an area for holding entries in a high-speed address translation buffer is effectively utilized. Its purpose is to provide an address translation method.

【0016】[0016]

【課題を解決するための手段】上記目的を達成するため
、本発明は、被アクセス手段をアクセスする複数のアク
セス手段が発生する第1群のアドレスを、被アクセス手
段に実際に割り当てられている第2群のアドレスに変換
するアドレス変換装置であって、第1群のアドレスと第
2群のアドレスとの対応関係のうちの少なくとも一部を
保持してアドレス変換を行うアドレス変換手段と、変換
しようとする第1群のアドレスと第2群のアドレスとの
対応関係が前記アドレス変換手段に保持されていない場
合に、アドレス変換手段における各アクセス手段ごとに
割り当てられた所定の領域に前記対応関係を保持させる
対応関係制御手段とを備えたことを特徴としている。
[Means for Solving the Problems] In order to achieve the above object, the present invention provides a first group of addresses generated by a plurality of access means accessing the accessed means, which are actually assigned to the accessed means. an address conversion device that converts addresses into a second group of addresses, an address conversion means that performs address conversion while maintaining at least a part of the correspondence between the first group of addresses and the second group of addresses; If the correspondence between the first group of addresses and the second group of addresses to be accessed is not held in the address translation means, the correspondence is stored in a predetermined area allocated for each access means in the address translation means. The present invention is characterized by comprising a correspondence relationship control means for maintaining the relationship.

【0017】[0017]

【作用】上記構成によれば、アドレス変換手段は、第1
群のアドレスと第2群のアドレスとの対応関係のうちの
少なくとも一部を保持してアドレス変換を行い、対応関
係制御手段は、変換しようとする第1群のアドレスと第
2群のアドレスとの対応関係が前記アドレス変換手段に
保持されていない場合に、アドレス変換手段における各
アクセス手段ごとに割り当てられた所定の領域に前記対
応関係を保持させる。
[Operation] According to the above configuration, the address conversion means
Address translation is performed by retaining at least a part of the correspondence between the group addresses and the second group addresses, and the correspondence control means is configured to maintain at least a part of the correspondence between the addresses of the group and the addresses of the second group. If the correspondence relationship is not held in the address conversion means, the correspondence relationship is held in a predetermined area allocated for each access means in the address conversion means.

【0018】[0018]

【実施例】以下本発明の実施例を図面を用いて詳細に説
明する。図1は本発明の一実施例におけるアドレス変換
装置を備えた情報処理システムのブロック図である。同
図に示すように、情報処理システムは、ネットワーク1
に接続されたネットワークコントローラ2と、ハードデ
ィスク装置3に接続されたハードディスクコントローラ
4と、CPU5と、調停部6と、アドレス変換用高速バ
ッファ7と、アドレスバス8と、主メモリ12およびI
/Oレジスタ13から成るデータ格納部11とが設けら
れて構成されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram of an information processing system including an address translation device according to an embodiment of the present invention. As shown in the figure, the information processing system includes network 1
a network controller 2 connected to the hard disk device 3, a hard disk controller 4 connected to the hard disk device 3, a CPU 5, an arbitration unit 6, a high-speed address conversion buffer 7, an address bus 8, a main memory 12 and an I
A data storage section 11 consisting of a /O register 13 is provided.

【0019】上記調停部6は、ネットワークコントロー
ラ2等から同時にアドレスが出力されることのないよう
に、ネットワークコントローラ2等からのデータ転送要
求信号に応じて、いずれか一つだけにデータ転送許可信
号を出力するとともに、アドレス変換用高速バッファ7
に、後述するネットワークコントローラ用論理ページ番
号部21a等を選択するための選択信号を出力するよう
になっている。
The arbitration unit 6 sends a data transfer permission signal to only one of the network controllers 2, etc. in response to a data transfer request signal from the network controller 2, etc., so that addresses are not output simultaneously from the network controllers 2, etc. In addition to outputting the address conversion high-speed buffer 7
In addition, a selection signal for selecting a network controller logical page number section 21a, which will be described later, is output.

【0020】主メモリ12とハードディスク装置3との
間では、ページと称される所定量単位でデータの交換(
以下、スワッピングと称する。)が行われ、主メモリ1
2にはハードディスク装置3に記憶されているデータの
うちの一部が格納されるようになっている。主メモリ1
2には、また、全ての論理アドレスの上位ビットを構成
する論理ページ番号と、物理アドレスの上位ビットを構
成する物理ページ番号とを対応付けるページテーブル1
4が格納されるようになっている。
Data is exchanged between the main memory 12 and the hard disk drive 3 in units of a predetermined amount called pages.
Hereinafter, this will be referred to as swapping. ) is performed and main memory 1
Part 2 of the data stored in the hard disk device 3 is stored therein. Main memory 1
2 also includes a page table 1 that associates logical page numbers that constitute the upper bits of all logical addresses with physical page numbers that constitute the upper bits of physical addresses.
4 is stored.

【0021】また、アドレス変換用高速バッファ7は、
対応関係にある論理ページ番号と物理ページ番号とをエ
ントリとして保持し、CPU5等から出力された論理ペ
ージ番号を物理ページ番号に変換するもので、より詳し
くは、図2に示すように論理ページ番号部21、比較部
22、および物理ページ番号部23が設けられて構成さ
れている。
[0021] Furthermore, the address conversion high-speed buffer 7 is
It holds logical page numbers and physical page numbers in a corresponding relationship as entries, and converts the logical page numbers output from the CPU 5 etc. into physical page numbers.More specifically, as shown in Figure 2, the logical page numbers A section 21, a comparison section 22, and a physical page number section 23 are provided.

【0022】論理ページ番号部21は、ネットワークコ
ントローラ用論理ページ番号部21a、ハードディスク
コントローラ用論理ページ番号部21b、およびCPU
用論理ページ番号部21cから構成される一方、物理ペ
ージ番号部23は、ネットワークコントローラ用物理ペ
ージ番号部23a、ハードディスクコントローラ用物理
ページ番号部23b、およびCPU用物理ページ番号部
23cから構成されている。
The logical page number section 21 includes a logical page number section 21a for the network controller, a logical page number section 21b for the hard disk controller, and a logical page number section 21b for the CPU.
The physical page number section 23 consists of a physical page number section 23a for a network controller, a physical page number section 23b for a hard disk controller, and a physical page number section 23c for a CPU. .

【0023】上記ネットワークコントローラ用論理ペー
ジ番号部21a、およびネットワークコントローラ用物
理ページ番号部23aは、例えばページサイズが8Kバ
イト、ネットワークコントローラ2から出力されるアド
レスのアドレス空間が16Kバイトとすると、16/8
=2組のエントリ、すなわちネットワークコントローラ
2が取り扱う全アドレス空間分のエントリを保持し得る
ように構成されている。このエントリは情報処理システ
ムの初期設定時にCPU5の制御によって設定され、そ
の後は変更されないようになっている。
If the page size is 8K bytes and the address space of the address output from the network controller 2 is 16K bytes, the network controller logical page number section 21a and the network controller physical page number section 23a have 16/16K bytes. 8
It is configured to be able to hold two sets of entries, that is, entries for the entire address space handled by the network controller 2. This entry is set under the control of the CPU 5 at the time of initial setting of the information processing system, and is not changed thereafter.

【0024】ハードディスクコントローラ用論理ページ
番号部21b、およびハードディスクコントローラ用物
理ページ番号部23bは、例えばページサイズが8Kバ
イト、1回のデータ転送による最大転送量が64Kバイ
トとすると、64/8=8組のエントリ、すなわち1回
のデータ転送で参照されるすべてのエントリを保持し得
るように構成されている。このエントリはデータ転送開
始時ごとにCPU5の制御によって設定されるようにな
っている。
The hard disk controller logical page number section 21b and the hard disk controller physical page number section 23b are 64/8=8, for example, assuming that the page size is 8K bytes and the maximum transfer amount in one data transfer is 64K bytes. It is configured to be able to hold a set of entries, that is, all entries referenced in one data transfer. This entry is set under the control of the CPU 5 every time data transfer is started.

【0025】CPU用論理ページ番号部21c、および
CPU用物理ページ番号部23cは、情報処理システム
の用途等に応じた所定量のエントリを保持し得るように
構成され、ページテーブル14の一部が保持されるよう
になっている。また、CPU5から出力される論理ペー
ジ番号に一致するエントリがCPU用論理ページ番号部
21cに存在しない場合には、ページテーブル14にお
ける必要な部分が読み出され、CPU用論理ページ番号
部21cおよびCPU用物理ページ番号部23cに新た
なエントリとして設定されるようになっている。
The CPU logical page number section 21c and the CPU physical page number section 23c are configured to hold a predetermined amount of entries depending on the purpose of the information processing system. It is meant to be retained. Further, if an entry matching the logical page number output from the CPU 5 does not exist in the CPU logical page number section 21c, the necessary portion in the page table 14 is read out, and the CPU logical page number section 21c and CPU A new entry is set in the physical page number field 23c.

【0026】比較部22は、ネットワークコントローラ
用比較部22a、ハードディスクコントローラ用比較部
22b、およびCPU用比較部22cから構成され、調
停部6からの選択信号に応じていずれか一つの比較部2
2a〜22cが選択され、CPU5等から出力される論
理ページ番号とCPU用論理ページ番号部21c等内の
各エントリとを比較し、一致するエントリに対応するC
PU用物理ページ番号部23c等内のエントリを物理ペ
ージ番号としてCPU用物理ページ番号部23c等に出
力させるようになっている。
The comparing section 22 is composed of a comparing section 22a for a network controller, a comparing section 22b for a hard disk controller, and a comparing section 22c for a CPU.
2a to 22c are selected, the logical page number output from the CPU 5, etc. is compared with each entry in the CPU logical page number section 21c, etc., and the C corresponding to the matching entry is selected.
Entries in the PU physical page number section 23c, etc. are output as physical page numbers to the CPU physical page number section 23c, etc.

【0027】なお、CPU5等から出力される論理アド
レスの下位ビットを構成する論理ページ内オフセットは
、そのまま物理ページ内オフセットとして物理ページ番
号と結合され、物理アドレスとして出力されるようにな
っている。上記の構成において、ネットワークコントロ
ーラ2がデータ格納部11をアクセスする際には、ネッ
トワークコントローラ2は、まず調停部6にデータ転送
要求信号を出力する。
Note that the logical intra-page offset that constitutes the lower bits of the logical address output from the CPU 5 and the like is directly combined with the physical page number as an intra-physical page offset, and is output as a physical address. In the above configuration, when the network controller 2 accesses the data storage unit 11, the network controller 2 first outputs a data transfer request signal to the arbitration unit 6.

【0028】調停部6は、CPU5等から同時にデータ
転送要求信号が出力されていなければネットワークコン
トローラ2にデータ転送許可信号を出力するとともに、
アドレス変換用高速バッファ7にネットワークコントロ
ーラ用論理ページ番号部21a、ネットワークコントロ
ーラ用比較部22a、およびネットワークコントローラ
用物理ページ番号部23aを選択するための選択信号を
出力する。
If the data transfer request signal is not simultaneously output from the CPU 5 or the like, the arbitration unit 6 outputs a data transfer permission signal to the network controller 2, and
A selection signal for selecting the network controller logical page number section 21a, the network controller comparison section 22a, and the network controller physical page number section 23a is output to the address conversion high-speed buffer 7.

【0029】そこでネットワークコントローラ2が論理
アドレスを出力すると、ネットワークコントローラ用比
較部22aは、その上位ビットの論理ページ番号をネッ
トワークコントローラ用論理ページ番号部21a内のエ
ントリと比較する。ここで、ネットワークコントローラ
用論理ページ番号部21aには、前記のようにネットワ
ークコントローラ2から出力される全ての論理ページ番
号のエントリがあらかじめ設定され、ネットワークコン
トローラ2のアクセスなどによって置き換えられること
はないので、必ず何れかのエントリが一致し、高速なア
ドレス変換が行われる。また、ハードディスクコントロ
ーラ用論理ページ番号部21bやCPU用論理ページ番
号部21c等のエントリの置き換えが生じることもない
When the network controller 2 outputs a logical address, the network controller comparing section 22a compares the logical page number of its upper bits with the entry in the network controller logical page number section 21a. Here, entries for all logical page numbers output from the network controller 2 are set in advance in the network controller logical page number section 21a as described above, and are not replaced by access from the network controller 2. , one of the entries always matches, and high-speed address translation is performed. Further, entries such as the hard disk controller logical page number section 21b and the CPU logical page number section 21c are not replaced.

【0030】ネットワークコントローラ用物理ページ番
号部23aは、上記一致したエントリに対応するエント
リを物理ページ番号として出力し、論理ページ内オフセ
ット(=物理ページ内オフセット)と結合されて物理ア
ドレスとして出力され、データ格納部11の主メモリ1
2がアクセスされる。また、ハードディスクコントロー
ラ4を介して主メモリ12とハードディスク装置3との
間でスワッピングが行われる場合には、まず、CPU5
がデータ転送に用いられるエントリをハードディスクコ
ントローラ用論理ページ番号部21bおよびハードディ
スクコントローラ用物理ページ番号部23bに設定する
。すなわち、ネットワークコントローラ用論理ページ番
号部21aやCPU用論理ページ番号部21c等のエン
トリが新たなエントリに置き換えられることはない。 しかも、新たなエントリは、ハードディスクコントロー
ラ用論理ページ番号部21b、およびハードディスクコ
ントローラ用物理ページ番号部23bにおける以前のス
ワッピングが行われる際に用いられたエントリと置き換
えられるので、エントリを保持する領域は有効に活用さ
れることになる。
The network controller physical page number unit 23a outputs the entry corresponding to the matching entry as a physical page number, which is combined with the logical page offset (=physical page offset) and output as a physical address, Main memory 1 of data storage unit 11
2 is accessed. Furthermore, when swapping is performed between the main memory 12 and the hard disk device 3 via the hard disk controller 4, first the CPU 5
sets an entry used for data transfer in the hard disk controller logical page number section 21b and the hard disk controller physical page number section 23b. That is, entries such as the network controller logical page number section 21a and the CPU logical page number section 21c are not replaced with new entries. Moreover, since the new entry replaces the entry used when the previous swapping was performed in the hard disk controller logical page number section 21b and the hard disk controller physical page number section 23b, the area holding the entry is valid. It will be used for

【0031】その後、上記ネットワークコントローラ2
によるアクセスの場合と同様に、調停部6からの選択信
号によってハードディスクコントローラ用論理ページ番
号部21b、ハードディスクコントローラ用比較部22
b、およびハードディスクコントローラ用物理ページ番
号部23bが選択され、ハードディスクコントローラ用
比較部22bが、ハードディスクコントローラ4から出
力された論理ページ番号とハードディスクコントローラ
用論理ページ番号部21b内のエントリとを比較し、ハ
ードディスクコントローラ用物理ページ番号部23bは
物理ページ番号を出力して、物理アドレスによる主メモ
リ12のアクセスによりデータ転送が行われる。
After that, the network controller 2
Similarly to the access by
b and the hard disk controller physical page number section 23b are selected, and the hard disk controller comparing section 22b compares the logical page number output from the hard disk controller 4 with the entry in the hard disk controller logical page number section 21b, The hard disk controller physical page number unit 23b outputs a physical page number, and data transfer is performed by accessing the main memory 12 using a physical address.

【0032】ここで、スワッピングが行われている際中
に例えばネットワークコントローラ2やCPU5による
割り込み処理等が行われたとしても、ハードディスクコ
ントローラ用論理ページ番号部21bおよびハードディ
スクコントローラ用物理ページ番号部23bのエントリ
が置き換えられることはないので、スワッピングが完了
するまでアドレス変換は高速に行われる。
Here, even if, for example, interrupt processing is performed by the network controller 2 or the CPU 5 while swapping is being performed, the hard disk controller logical page number section 21b and the hard disk controller physical page number section 23b are Since no entries are replaced, address translations occur quickly until swapping is complete.

【0033】一方、CPU5がデータ格納部11をアク
セスする際には、前記ネットワークコントローラ2によ
るアクセスの場合と同様に、CPU用比較部22cが、
CPU5から出力された論理ページ番号とCPU用論理
ページ番号部21c内のエントリとを比較し、CPU用
物理ページ番号部23cは物理ページ番号を出力して、
物理アドレスによる主メモリ12またはI/Oレジスタ
13のアクセスが行われる。
On the other hand, when the CPU 5 accesses the data storage section 11, as in the case of access by the network controller 2, the CPU comparison section 22c
The logical page number output from the CPU 5 is compared with the entry in the CPU logical page number section 21c, and the CPU physical page number section 23c outputs the physical page number,
Main memory 12 or I/O register 13 is accessed by physical address.

【0034】ここで、上記比較によって一致するエント
リが存在しない場合には、ページテーブル14における
必要な部分が読み出され、新たなエントリとして、CP
U用論理ページ番号部21cおよびCPU用物理ページ
番号部23cにおける、所定の時間の範囲内で最も参照
頻度の低いエントリと置き換えられる。すなわち、ネッ
トワークコントローラ用論理ページ番号部21aやハー
ドディスクコントローラ用論理ページ番号部21b等の
エントリを置き換えてネットワークコントローラ2等の
アクセス時間を増大させることはない。また、前記のよ
うにネットワークコントローラ2、またはハードディス
クコントローラ4のアクセスなどによってエントリの置
き換えが生じることもないので、参照される可能性の高
いエントリが常に保持され、高速なアドレス変換が行わ
れることになる。
[0034] Here, if there is no matching entry as a result of the above comparison, the necessary part in the page table 14 is read out, and the CP
It is replaced with the least frequently referenced entry within a predetermined time range in the U logical page number section 21c and the CPU physical page number section 23c. In other words, the access time of the network controller 2 etc. is not increased by replacing entries such as the network controller logical page number section 21a and the hard disk controller logical page number section 21b. In addition, as mentioned above, entry replacement does not occur due to access by the network controller 2 or hard disk controller 4, so entries that are likely to be referenced are always held and high-speed address translation is performed. Become.

【0035】なお、上記のようにエントリの参照、およ
び置き換えを、ネットワークコントローラ2等に対応す
るネットワークコントローラ用論理ページ番号部21a
やネットワークコントローラ用物理ページ番号部23a
等に対してだけ行う場合には、それぞれ独立したアドレ
ス空間を持たせることもできるし、また、アドレス変換
用高速バッファ7を複数に分割して別個に設けることも
できる。
[0035] Note that, as described above, referencing and replacing entries is performed using the network controller logical page number section 21a corresponding to the network controller 2, etc.
and physical page number section 23a for network controller
In the case where the conversion is performed only for the above, it is possible to provide each with an independent address space, or the high-speed address conversion buffer 7 can be divided into a plurality of parts and provided separately.

【0036】一方、例えばCPU5のアクセスが行われ
る場合に、エントリの置き換えだけが、CPU用論理ペ
ージ番号部21cおよびCPU用物理ページ番号部23
cに限定されるようにして、アドレス変換はハードディ
スクコントローラ用論理ページ番号部21b等をも参照
し得るようにしてもよい。また、アドレス変換用高速バ
ッファ7には、ネットワークコントローラ2、ハードデ
ィスクコントローラ4、およびCPU5に限らず、さら
に他の複数の周辺コントローラ等が接続されるようにし
てもよい。
On the other hand, for example, when the CPU 5 accesses, only entry replacement is performed in the CPU logical page number section 21c and the CPU physical page number section 23.
Address translation may also refer to the logical page number section 21b for the hard disk controller, etc., by limiting the number to c. Further, the address conversion high-speed buffer 7 is not limited to the network controller 2, the hard disk controller 4, and the CPU 5, but may also be connected to a plurality of other peripheral controllers.

【0037】また、ネットワークコントローラ用論理ペ
ージ番号部21a等へのエントリの設定はCPU5の制
御により行われるように構成された例を示したが、これ
に限らず例えば専用のマネジメントユニットなどを設け
るようにしてもよい。
Furthermore, although an example has been shown in which entries are configured to be set in the network controller logical page number section 21a etc. under the control of the CPU 5, the present invention is not limited to this. You can also do this.

【0038】[0038]

【発明の効果】以上説明したように、本発明によれば、
変換しようとする第1群のアドレスと第2群のアドレス
との対応関係がアドレス変換手段に保持されていない場
合に、アドレス変換手段における各アクセス手段ごとに
割り当てられた所定の領域に前記対応関係を保持させる
対応関係制御手段を備えていることにより、各アクセス
手段のアクセスによって新たな対応関係が保持される場
合でも、その新たな対応関係が、他のアクセス手段によ
るアクセス時のアドレス変換に必要な対応関係と置き換
えられることはないので、対応関係の置き換えの発生頻
度を小さく抑えてアクセス速度を向上させることができ
、しかも、アドレス変換手段における対応関係を保持す
る領域の容量は、各アクセス手段ごとに必要最小限の容
量に設定することができるという効果を奏する。
[Effects of the Invention] As explained above, according to the present invention,
If the correspondence between the first group of addresses and the second group of addresses to be converted is not held in the address conversion means, the correspondence is stored in a predetermined area allocated to each access means in the address conversion means. By providing a correspondence relationship control means that maintains a new correspondence relationship, even if a new correspondence relationship is maintained due to access by each access means, that new correspondence relationship is necessary for address conversion when accessed by other access means. Since the correspondence relationship is never replaced with a corresponding relationship, the frequency of occurrence of correspondence relationship replacement can be kept low and the access speed can be improved. Moreover, the capacity of the area for holding the correspondence relationship in the address conversion means is limited to This has the advantage that the capacity can be set to the minimum necessary for each case.

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

【図1】本発明の一実施例におけるアドレス変換装置を
備えた情報処理システムの構成を示すブロック図である
FIG. 1 is a block diagram showing the configuration of an information processing system including an address translation device according to an embodiment of the present invention.

【図2】同アドレス変換用高速バッファの詳細な構成を
示すブロック図である。
FIG. 2 is a block diagram showing a detailed configuration of the address translation high-speed buffer.

【図3】従来のアドレス変換装置を備えた情報処理シス
テムの構成を示すブロック図である。
FIG. 3 is a block diagram showing the configuration of an information processing system including a conventional address translation device.

【図4】同アドレス変換用高速バッファの詳細な構成を
示すブロック図である。
FIG. 4 is a block diagram showing a detailed configuration of the address translation high-speed buffer.

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

1    ネットワーク 2    ネットワークコントローラ 3    ハードディスク装置 4    ハードディスクコントローラ5    CP
U 6    調停部 7    アドレス変換用高速バッファ8    アド
レスバス 11    データ格納部 12    主メモリ 13    I/Oレジスタ 14    ページテーブル 21    論理ページ番号部 21a  ネットワークコントローラ用論理ページ番号
部21b  ハードディスクコントローラ用論理ページ
番号部 21c  CPU用論理ページ番号部 22    比較部 22a  ネットワークコントローラ用比較部22b 
 ハードディスクコントローラ用比較部22c  CP
U用比較部 23    物理ページ番号部 23a  ネットワークコントローラ用物理ページ番号
部23b  ハードディスクコントローラ用物理ページ
番号部 23c  CPU用物理ページ番号部
1 Network 2 Network controller 3 Hard disk device 4 Hard disk controller 5 CP
U 6 Arbitration unit 7 Address conversion high-speed buffer 8 Address bus 11 Data storage unit 12 Main memory 13 I/O register 14 Page table 21 Logical page number unit 21a Network controller logical page number unit 21b Hard disk controller logical page number unit 21c CPU logical page number section 22 Comparison section 22a Network controller comparison section 22b
Hard disk controller comparison section 22c CP
Comparison section for U 23 Physical page number section 23a Physical page number section for network controller 23b Physical page number section for hard disk controller 23c Physical page number section for CPU

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】  被アクセス手段をアクセスする複数の
アクセス手段が発生する第1群のアドレスを、被アクセ
ス手段に実際に割り当てられている第2群のアドレスに
変換するアドレス変換装置であって、第1群のアドレス
と第2群のアドレスとの対応関係のうちの少なくとも一
部を保持してアドレス変換を行うアドレス変換手段と、
変換しようとする第1群のアドレスと第2群のアドレス
との対応関係が前記アドレス変換手段に保持されていな
い場合に、アドレス変換手段における各アクセス手段ご
とに割り当てられた所定の領域に前記対応関係を保持さ
せる対応関係制御手段とを備えたことを特徴とするアド
レス変換装置。
1. An address translation device for converting a first group of addresses generated by a plurality of access means accessing an accessed means into a second group of addresses actually assigned to the accessed means, comprising: Address translation means that performs address translation while retaining at least part of the correspondence between the first group of addresses and the second group of addresses;
If the correspondence between the first group of addresses and the second group of addresses to be converted is not held in the address conversion means, the correspondence is stored in a predetermined area allocated for each access means in the address conversion means. An address translation device comprising: correspondence control means for maintaining a relationship.
【請求項2】  少なくとも1つのアクセス手段が発生
する前記第1群のアドレスのアドレス空間は、他のアク
セス手段が発生する第1群のアドレスのアドレス空間と
は独立したアドレス空間であることを特徴とする請求項
1のアドレス変換装置。
2. The address space of the first group of addresses generated by at least one access means is an address space independent of the address space of the first group of addresses generated by other access means. 2. The address translation device according to claim 1.
【請求項3】  少なくとも1つのアクセス手段に応じ
た前記対応関係を、所定の初期設定時に、前記アドレス
変換手段に保持させる対応関係初期制御手段を備えたこ
とを特徴とする請求項1のアドレス変換装置。
3. Address translation according to claim 1, further comprising correspondence initial control means for causing the address translation means to hold the correspondence according to at least one access means at the time of predetermined initial setting. Device.
【請求項4】  アクセス手段によってデータ転送が開
始される際に、そのデータ転送に応じた前記対応関係を
前記アドレス変換手段に保持させる対応関係データ転送
時制御手段を備えたことを特徴とする請求項1のアドレ
ス変換装置。
4. The present invention further comprises correspondence data transfer control means for causing the address conversion means to hold the correspondence according to the data transfer when data transfer is started by the access means. Item 1. Address translation device.
【請求項5】  被アクセス手段をアクセスする複数の
アクセス手段が発生する第1群のアドレスを、被アクセ
ス手段に実際に割り当てられている第2群のアドレスに
変換するアドレス変換方法であって、アドレス変換手段
に、第1群のアドレスと第2群のアドレスとの対応関係
のうちの少なくとも一部を保持させてアドレス変換を行
わせるとともに、変換させようとする第1群のアドレス
と第2群のアドレスとの対応関係が前記アドレス変換手
段に保持されていない場合に、アドレス変換手段におけ
る各アクセス手段ごとに割り当てられた所定の領域に前
記対応関係を保持させることを特徴とするアドレス変換
方法。
5. An address conversion method for converting a first group of addresses generated by a plurality of access means accessing the accessed means into a second group of addresses actually assigned to the accessed means, comprising: The address translation means is caused to perform address translation while retaining at least a part of the correspondence between the first group of addresses and the second group of addresses, and the first group of addresses to be translated and the second group of addresses are An address conversion method characterized in that, when the correspondence relationship with the addresses of a group is not held in the address conversion means, the correspondence relationship is held in a predetermined area allocated for each access means in the address conversion means. .
【請求項6】  少なくとも1つのアクセス手段に応じ
た前記対応関係を、所定の初期設定時に、前記アドレス
変換手段に保持させることを特徴とする請求項5のアド
レス変換方法。
6. The address translation method according to claim 5, wherein the correspondence relationship corresponding to at least one access means is held in the address translation means at the time of predetermined initial setting.
【請求項7】  アクセス手段によってデータ転送が開
始される際に、そのデータ転送に応じた前記対応関係を
前記アドレス変換手段に保持させることを特徴とする請
求項5のアドレス変換方法。
7. The address translation method according to claim 5, wherein when data transfer is started by the access means, the address translation means holds the correspondence relationship corresponding to the data transfer.
JP3132654A 1991-06-04 1991-06-04 Device and method for translating address Pending JPH04358242A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3132654A JPH04358242A (en) 1991-06-04 1991-06-04 Device and method for translating address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3132654A JPH04358242A (en) 1991-06-04 1991-06-04 Device and method for translating address

Publications (1)

Publication Number Publication Date
JPH04358242A true JPH04358242A (en) 1992-12-11

Family

ID=15086380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3132654A Pending JPH04358242A (en) 1991-06-04 1991-06-04 Device and method for translating address

Country Status (1)

Country Link
JP (1) JPH04358242A (en)

Similar Documents

Publication Publication Date Title
JP4562919B2 (en) Method and apparatus for implementing dynamic display memory
US5754818A (en) Architecture and method for sharing TLB entries through process IDS
EP0208428B1 (en) Direct input/output in a virtual memory system
US3761881A (en) Translation storage scheme for virtual memory system
US4218743A (en) Address translation apparatus
US5386524A (en) System for accessing information in a data processing system
KR960001946B1 (en) Translation lookaside buffer
US5752275A (en) Translation look-aside buffer including a single page size translation unit
CA2026224C (en) Apparatus for maintaining consistency in a multiprocess computer system using virtual caching
US6345347B1 (en) Address protection using a hardware-defined application key
US4654777A (en) Segmented one and two level paging address translation system
US5918250A (en) Method and apparatus for preloading default address translation attributes
JP2974526B2 (en) Data transfer processing method and data transfer processing device
JP3666689B2 (en) Virtual address translation method
US5182805A (en) Method and system for determining copy-on-write condition
JPH02189659A (en) Address converter
JPH1091525A (en) Translation lookaside buffer and memory management system
JPH04319747A (en) Address converting mechanism
JPH04320553A (en) Address converting mechanism
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
JPH0312339B2 (en)
US5293622A (en) Computer system with input/output cache
US7343469B1 (en) Remapping I/O device addresses into high memory using GART
JPH0831060B2 (en) Computer system
JPH04308953A (en) Virtual address computer system