JPS6024491B2 - Address conversion control method - Google Patents
Address conversion control methodInfo
- Publication number
- JPS6024491B2 JPS6024491B2 JP56115931A JP11593181A JPS6024491B2 JP S6024491 B2 JPS6024491 B2 JP S6024491B2 JP 56115931 A JP56115931 A JP 56115931A JP 11593181 A JP11593181 A JP 11593181A JP S6024491 B2 JPS6024491 B2 JP S6024491B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- address
- virtual
- size
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明は、仮想記憶方式を実現する情報処理システムに
おけるアドレス変換装置に係り、アドレス変換の基本単
位となるページの大きさを可変するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an address translation device in an information processing system that implements a virtual storage system, and is capable of varying the size of a page, which is a basic unit of address translation.
一般に情報処理装置では、プログラムが主記憶装置を意
識しないで済むように、又、仮想記憶を実現するために
、中央処理装置では論理アドレスをそのまま用い、又主
記憶装置へのアクセスは論理アドレスを実アドレスに変
換したものを用いて行ない、そのための論理アドレスか
ら実アドレスへの変換表を主記憶装置の中に有している
。In general, in information processing devices, the central processing unit uses logical addresses as they are, so that programs do not need to be aware of the main memory, and in order to implement virtual memory, and when accessing the main memory, logical addresses are used as is. This is done using the converted real address, and a conversion table from logical addresses to real addresses for this purpose is stored in the main memory.
さらに、主記憶装置へのアクセスのたびごとに該変換表
を参照していたのでは、中央処理装置の処理速度に比べ
、主記憶装置は遅いので非能率的である。従って、処理
速度向上のために上記変換表の中からアクセス頻度の高
いページの仮想アドレスと実アドレスの対応表アクセス
タイムの遠い素子で作られてい るTLB(Tra船l
ationUmkasideBuffer)と呼ばれる
機構に格納しておき、該TLBによってアドレス変換を
行なっている。そして、該TLB中に格納されていない
たな論理アドレスについて主記憶装置をアクセスする
ときは、主記憶装置上の変換表を用いて実アドレスへ変
換すると共に、該変換対を新たにTLB上に格納される
。Furthermore, referring to the conversion table every time the main memory is accessed is inefficient because the main memory is slower than the processing speed of the central processing unit. Therefore, in order to improve processing speed, a TLB (Train ship l
ationUmkasideBuffer), and address translation is performed by the TLB. When accessing the main memory for a logical address that is not stored in the TLB, it is converted to a real address using a conversion table on the main memory, and the conversion pair is newly stored in the TLB. Stored.
そして、このような論理アドレス(仮想アドレス)から
実アドレスへの変換は、ページアドレスに対して行なわ
れる。Such conversion from a logical address (virtual address) to a real address is performed for a page address.
主記憶装置はページ単位に分割管理され、外部補助記憶
装置上のデータやプログラムはページ単位で所定のアド
レスへ格納される。従って、プログラムの使用する論理
アドレス空間(仮想アドレス空間)も、ページ単位で分
割されて主記憶装置へページ単位で対応づけられる。こ
の場合、プログラムのすべてが主記憶装置にロードされ
ている必要はなく、実行と必要とされるページだけでロ
ードされていればよい。The main storage device is divided and managed in page units, and data and programs on the external auxiliary storage device are stored in page units at predetermined addresses. Therefore, the logical address space (virtual address space) used by the program is also divided into page units and associated with the main storage device in page units. In this case, it is not necessary that the entire program be loaded into the main memory, but only the pages required for execution may be loaded.
仮想記憶方式を用いた従来の情報処理装置においては、
このページの大きさが、ハードウェア一の構成上定まっ
てくる最小の大きさ例えば512バイトで1ページとす
るか、あるいは、512バイトの整数倍、例えば2倍(
1024バイトで1べ−ジ)、4倍(204&ゞイトで
1ページ)あるいは8倍(4096ゞィトで1ページ)
という形で固定的に定まっていた。In conventional information processing devices using virtual memory,
The size of this page can be the minimum size determined by the hardware configuration, for example 512 bytes, or an integral multiple of 512 bytes, for example 2 times (
1024 bytes = 1 page), 4 times (204 bytes = 1 page), or 8 times (4096 bytes = 1 page)
It was fixed in a fixed manner.
そしてこの1ページの大きさを例えば2倍あるいは4倍
に変えようとするとアドレス変換装置のハードウェア一
の設計変更とそれに基づく改造及びハードウェア一の追
加等が必要とされていた。情報処理装置を実際に運用す
る場合、プログラムの種類によっては、このページの大
きさを変えて、アドレス変換を行なうとアドレス変換効
率を向上させることができる場合があることは容易に考
えられる。If the size of one page is to be doubled or quadrupled, for example, it is necessary to change the design of the hardware of the address translation device, modify it based on the design change, and add hardware. When actually operating an information processing device, it is easy to imagine that depending on the type of program, it may be possible to improve address conversion efficiency by changing the size of this page and performing address conversion.
しかし、従来の装置では、ページの大きさを変えること
によってアドレス変換の効率を上げようとすれば、ハー
ドウェア一の設計変更、改造、追加等が必要になるとい
う欠点を有していた。However, conventional devices have a drawback in that in order to improve the efficiency of address translation by changing the page size, it is necessary to change the design, modify, or add hardware.
本発明は、ハードウェア−の設計変更、改造および追加
等を行なわずにページの大きさを変えることができるよ
うにし、もって従来装置の欠点を除去しようとするもの
である。以下図面に基づいて説明する。The present invention attempts to eliminate the drawbacks of conventional devices by making it possible to change the size of a page without changing the design, modifying, or adding hardware. This will be explained below based on the drawings.
第1図は、任意にページの大きさを変えるということを
しない従来のアドレス変換装置の動作を示すブロック図
である。FIG. 1 is a block diagram showing the operation of a conventional address translation device that does not arbitrarily change the page size.
1は仮想アドレスのビット幅とその内容を示す。1 indicates the bit width of the virtual address and its contents.
今ハードウェア一の構成上定まってくる最小単位のペー
ジの大きさを512バイトで1ページであるとし、仮想
記憶空間として3松ページを有する場合を考えるならば
仮想ページ番号を指示するためのビット幅は15ビット
となり、1ページ内の512のバイトを指示するための
ビット幅は9ビットとなり合計24ビット幅が必要とな
り、第1図はこの場合を示す。If we assume that the size of the smallest page determined by the hardware configuration is 512 bytes, and we have 3 pages as virtual storage space, we will use a bit to indicate the virtual page number. The width is 15 bits, and the bit width for indicating 512 bytes in one page is 9 bits, requiring a total width of 24 bits, and FIG. 1 shows this case.
図中の2は9ビット幅と15ビット幅の境界部分を現わ
したものである。また図中信号径路を示す線に交差して
描かれた波型の線に付された丸で囲まれた数字は通過信
号のビット幅をあらわす。まず、プログラマにより、仮
想アドレスでアクセスされると、仮想アドレス中の仮想
ページ番号を示すビット幅の信号3はTLBとアクセス
する。TLBには、仮想アドレスを実アドレスに変換す
るためのアドレス変換テーブルから、使用頻度の高いペ
ージの仮想アドレスと実アドレスとの対応表が登録され
ている。従って、対応が登録されていればアクセスした
仮想ページ番号に対応する実アドレス指示信号が6とし
て出力される。7は実アドレスのビット幅とその内容で
あり、仮想アドレスと同じく24ビット幅である。2 in the figure represents the boundary between the 9-bit width and the 15-bit width. Further, in the figure, the number enclosed in a circle attached to the wavy line drawn intersecting the line indicating the signal path represents the bit width of the passing signal. First, when a virtual address is accessed by a programmer, a bit-width signal 3 indicating a virtual page number in the virtual address accesses the TLB. A correspondence table between virtual addresses and real addresses of frequently used pages is registered in the TLB from an address conversion table for converting virtual addresses to real addresses. Therefore, if the correspondence is registered, the real address instruction signal corresponding to the accessed virtual page number is output as 6. 7 is the bit width of the real address and its contents, which is 24 bits wide like the virtual address.
そして上位15ビットにはTLBからの実アドレス指示
信号が入り、下位9ビットには1の仮想アドレスからペ
ージ内アドレスを示す信号5がそのまま納められる。ペ
ージ内アドレスは仮想アドレスでも実アドレスでも同じ
であるから何らの処理をすることなくそのまま利用でき
る。結局7には24ビットの実アドレス信号が保持され
ることにより、主記憶装置へのアクセスはこの実アドレ
ス信号によって行なわれることになる。そして主記憶装
置へのアクセスが行なわれるとその主記憶城の実ページ
番号に対応する記憶キーにアクセス情報が記憶される。
以上のようなTLBによるアドレス変換が成功しなかっ
た場合は、TLBにプログラムが必要とする仮想アドレ
ス対実アドレスの対応表が格納されていないことを示し
ているので、TLBに目的の仮想ページ番号と実ページ
番号の対応を格納してやらなければならない。これは、
主記憶装置上のアドレス変換テーブルから目的の仮想ペ
ージ番号と実ページ番号との対応を取り出してTLBに
登録することにより行なわれる。以上が、1ページの大
きさが、ハードウェア一の構成により定まってくる例え
ば512バイトという固定したものの場合のアドレス変
換の説明である。これに対して本発明は、ハードウェア
一の改造や増加なくして、ページの大きまを、ハードウ
ェア一の構成により定まってくる基本サイズの整数倍に
任意に変え得るようにすることによってアドレス変換の
変換効率を上げようとするものである。The upper 15 bits contain a real address instruction signal from the TLB, and the lower 9 bits contain a signal 5 indicating an in-page address from the virtual address 1 as is. Since the intra-page address is the same whether it is a virtual address or a real address, it can be used as is without any processing. In the end, since a 24-bit real address signal is held in 7, access to the main memory device is performed using this real address signal. When the main memory is accessed, access information is stored in the memory key corresponding to the actual page number of the main memory.
If the above address conversion using the TLB is not successful, it means that the TLB does not contain the virtual address to real address correspondence table required by the program, so the TLB does not contain the desired virtual page number. The correspondence between the page number and the actual page number must be stored. this is,
This is done by extracting the correspondence between the target virtual page number and real page number from the address translation table on the main memory and registering it in the TLB. The above is an explanation of address conversion in the case where the size of one page is fixed, for example, 512 bytes, which is determined by the hardware configuration. In contrast, the present invention provides address conversion by making it possible to arbitrarily change the page size to an integral multiple of the basic size determined by the hardware configuration without modifying or increasing the hardware. The aim is to increase the conversion efficiency of
以下、ページの大きさを更新する処理の仕方の実施例お
よび更新後のTLBを用いたアドレス変換の実施例を図
を用いて説明する。Hereinafter, an example of how to update the page size and an example of address conversion using the updated TLB will be described with reference to the drawings.
第2図はTLBのページの大きさの更新処理を示す図で
ある。FIG. 2 is a diagram showing the process of updating the TLB page size.
1は仮想アドレスのビット幅とその内容、8はアドレス
変換テーブル(ACT)、9は実ページ番号を示すビッ
ト幅、4はTLBである。1 is the bit width of the virtual address and its contents, 8 is the address translation table (ACT), 9 is the bit width indicating the real page number, and 4 is the TLB.
本図では、一例としてページの大きさを、512バイト
の4倍(204&ゞィト)に更新する場合について説明
する。ページの大きさを4倍にした反面、仮想アドレス
のページ数は4分の1となり、ページ内アドレスの数は
4倍となる。このため仮想ページ番号を指示するのに必
要なビット幅は、2ビット少くてすみ、これに対してペ
ージ内アドレスを指示するために必要なビット幅は2ビ
ットだけ増加する。このことは仮想アドレスビット幅1
内の仮想ページ番号とべ‐ジ内アドレスの境界2が、第
1図の場合よりも2ビット幅だけ左の方に移動すること
を意味する。In this figure, as an example, a case will be described in which the page size is updated to four times 512 bytes (204 & bytes). Although the page size is quadrupled, the number of virtual address pages is reduced to one-fourth, and the number of addresses within the page is quadrupled. Therefore, the bit width required to designate a virtual page number is reduced by 2 bits, whereas the bit width required to designate an intra-page address increases by 2 bits. This means that the virtual address bit width is 1
This means that the boundary 2 between the virtual page number in the page and the address in the page is moved to the left by 2 bit width compared to the case in FIG.
結局、仮想ページ番号のビット幅は13ビット、ページ
内アドレスのビット幅は11ビットになる。まず、プo
グラムによって仮想ページ番号が指示されると信号13
として8のアドレス変換テーブル(ACT)をアクセス
する。As a result, the bit width of the virtual page number is 13 bits, and the bit width of the intra-page address is 11 bits. First of all,
When a virtual page number is specified by the program, signal 13 is activated.
The address translation table (ACT) of 8 is accessed as follows.
ACT内の実ページ番号はプログラムのページの大きさ
が使われているのでACTから信号11として取り出さ
れる実ページ番号も13ビットの信号となっている。し
かし、TLBへの登録はハードウェア−の構成によって
定まるページの大きさで行なう必要があるので、このた
め1のページ内アドレスの上位2ビットを信号10とし
て取り出し、これをACTからの実ページ番号ビット幅
の下位部分に付加することによって15ビット幅の実ペ
ージ番号の信号を作っている。一方仮想ページ番号の方
も、1から取り出すとき13ビットの仮想ページ番号だ
けではなく、ページ内アドレスの上位部分2ビットをも
併せて取り出し、15ビットの仮想ページの信号14と
して、TLBに加えられる。結局、TLBには、信号と
して1ページが512バイトの仮想ページ番号が加えら
れると共に信号12として、同じく1ページ512バイ
トの実ページ番号が加えられ、仮想ページ番号に対応す
る実ページ番号の対応表が登録されることとなる。第3
図は、このようにして、ページの大きさを更新されたT
LBによりアドレス変換を行なわせる場合のブ。ック図
である。第1図との相違点は、仮想アドレス内の仮想ペ
ージ番号とべ‐ジ内アドレスとの境界2′が第3図では
第1図より左の方へ2ビット分だけ移動したという点だ
けである。この場合、記憶キーは、指定された仮想ペー
ジ番号に対応する、ハードウェア一の構成によって定ま
る大きさの実ページ番号の記憶キー総て、すなわち本発
明においては、仮想ページ1ページに対応する実ページ
4ページの記憶キーに情報の書き込み又は、読み出しの
記録を行なうことになる。Since the size of the page of the program is used as the real page number in ACT, the real page number taken out as signal 11 from ACT is also a 13-bit signal. However, since it is necessary to register in the TLB with a page size determined by the hardware configuration, the upper two bits of the in-page address of 1 are extracted as signal 10, and this is used as the real page number from ACT. By adding this to the lower part of the bit width, a 15-bit width real page number signal is created. On the other hand, when extracting the virtual page number from 1, not only the 13-bit virtual page number but also the upper 2 bits of the intra-page address are extracted and added to the TLB as the 15-bit virtual page signal 14. . In the end, a virtual page number of 512 bytes per page is added as a signal to the TLB, and a real page number of 512 bytes per page is also added as signal 12, and a correspondence table of real page numbers corresponding to virtual page numbers is added. will be registered. Third
The figure shows the updated page size T
This is used when address translation is performed by LB. This is a diagram. The only difference from Figure 1 is that the boundary 2' between the virtual page number in the virtual address and the address in the page has been moved by 2 bits to the left in Figure 3 than in Figure 1. . In this case, the storage keys are all the storage keys of real page numbers corresponding to the specified virtual page number and whose size is determined by the configuration of the hardware. Writing or reading of information will be recorded in the memory key of page 4.
以上、本発明にかかる、仮想記憶を採用するシステムに
おいて、アドレス変換の際のページの大きさを任意に変
更することが可能なアドレス変換制御方式の説明を行な
って来たが、これを実現するに当っては、簡単な切替回
路を付加する他は殆んどハードウェア一の改造ないし増
加を必要としない。Above, we have described an address translation control method that can arbitrarily change the page size during address translation in a system that employs virtual memory according to the present invention. In this case, almost no modification or increase in hardware is required other than adding a simple switching circuit.
その結果、本発明によってシステムの経済性、安定性、
信頼性、保守性等を損うことなくアドレス変換の効率の
向上を図ることができる。As a result, the present invention improves system economy, stability,
It is possible to improve the efficiency of address translation without impairing reliability, maintainability, etc.
第1図は、アドレス変換の際のページの大きさが、ハー
ドウェア一の構成から定まってくる最小単位の大きさに
固定されている従来のアドレス変換方式を示すブロック
図。
第2図はTLBのページの大きさの更新処理を示す図。
第3図はページの大きさを更新されたTLBによりアド
レス変換を行なわせる場合のブロック図。1・・・仮想
アドレス、2,2′・・・仮想ページ番号のビット幅と
べ‐ジ内アドレスのビット幅の境界を示すマーク、3・
・・仮想ページ番号を示す信号、4…TLB、5…べ−
ジ内アドレスを示す信号、6・・・実ページ番号を示す
信号、7・・・実アドレス、8・・・アドレス変換テー
フル、9・・・実ページ番号ビット幅、10・・・ペー
ジ内アドレスの上位2ビットの信号、11・・・仮想ペ
ージと同じ大きさの実ページ番号の信号、12・・・ハ
ードウェア一の構成によって定まる大きさのページの実
ページの信号、13・・・仮想ページ番号を示す信号、
14・・・ページ内アドレス上位2ビット付加の仮想ペ
ージ番号信号。
穣′図
第2図
礎3図FIG. 1 is a block diagram showing a conventional address translation method in which the page size during address translation is fixed to the minimum unit size determined from the hardware configuration. FIG. 2 is a diagram showing the process of updating the TLB page size.
FIG. 3 is a block diagram when address translation is performed using a TLB whose page size has been updated. 1... Virtual address, 2, 2'... Mark indicating the boundary between the bit width of the virtual page number and the bit width of the address within the page, 3.
・・Signal indicating virtual page number, 4...TLB, 5...Ba-
6... Signal indicating real page number, 7... Real address, 8... Address conversion table, 9... Real page number bit width, 10... Address in page 11... Signal of real page number of the same size as the virtual page, 12... Signal of real page of page of size determined by hardware configuration, 13... Signal of virtual page number A signal indicating the page number,
14...Virtual page number signal with addition of upper 2 bits of intra-page address. Figure 2, Foundation Figure 3
Claims (1)
B)へ格納し、高速アドレス変換を行なう情報処理シス
テムでのアドレス変換制御方式において、ハードウエア
ーの構成から定まつてくる最小単位のページの大きかの
2^n(n:自然数)倍の大きさのページを有する仮想
アドレスでアクセスする時、TLBにアドレス変換対が
登録されていなければ、主記憶装置上にあるアドレス変
換テーブルへのアクセスをそのページの大きさで行ない
、高速素子で構成されたTLBへの登録は、アドレス変
換テーブルから得られた実ページ番号のビツト幅に上記
仮想アドレスのページ内アドレスの上位nビツトを付加
した実ページ番号で行なうことを特徴とするアドレス変
換制御方式。1 Virtual address and real address translation pairs are transferred to a high-speed element (TL
B) In the address translation control method for an information processing system that performs high-speed address translation, the size is 2^n (n: natural number) times the size of the minimum unit page determined from the hardware configuration. When accessing with a virtual address having a page size, if no address translation pair is registered in the TLB, the address translation table on the main memory is accessed using the page size, and the address translation table is accessed using the page size. The address translation control system is characterized in that the registration in the TLB is performed using a real page number obtained by adding the upper n bits of the intra-page address of the virtual address to the bit width of the real page number obtained from the address translation table.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56115931A JPS6024491B2 (en) | 1981-07-24 | 1981-07-24 | Address conversion control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56115931A JPS6024491B2 (en) | 1981-07-24 | 1981-07-24 | Address conversion control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5817586A JPS5817586A (en) | 1983-02-01 |
| JPS6024491B2 true JPS6024491B2 (en) | 1985-06-13 |
Family
ID=14674726
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56115931A Expired JPS6024491B2 (en) | 1981-07-24 | 1981-07-24 | Address conversion control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6024491B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60113187U (en) * | 1983-12-28 | 1985-07-31 | 三菱電機株式会社 | Laser processing machine |
| JPS61283483A (en) * | 1985-06-10 | 1986-12-13 | Amada Co Ltd | Laser beam machine |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2858795B2 (en) * | 1989-07-14 | 1999-02-17 | 株式会社日立製作所 | Real memory allocation method |
| KR101078277B1 (en) | 2007-06-20 | 2011-10-31 | 후지쯔 가부시끼가이샤 | Computer, translation-lookaside buffer control method, and computer readable recording medium |
-
1981
- 1981-07-24 JP JP56115931A patent/JPS6024491B2/en not_active Expired
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60113187U (en) * | 1983-12-28 | 1985-07-31 | 三菱電機株式会社 | Laser processing machine |
| JPS61283483A (en) * | 1985-06-10 | 1986-12-13 | Amada Co Ltd | Laser beam machine |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5817586A (en) | 1983-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4145738A (en) | Plural virtual address space processing system | |
| EP1709540A2 (en) | Virtual to physical address translation | |
| JPH05509189A (en) | Method of operating a computer system and memory management device in a computer system | |
| US4961135A (en) | Translation lookaside buffer control system | |
| GB1398182A (en) | Storage address translation | |
| JPS6024491B2 (en) | Address conversion control method | |
| US4490787A (en) | STO Stack control system | |
| JPS63240653A (en) | Translation between memory management unit and virtual-real address | |
| JPS6220583B2 (en) | ||
| KR920005296B1 (en) | Information processing device | |
| JPS5858752B2 (en) | address translation device | |
| JPH01226056A (en) | Address converter | |
| JP2635310B2 (en) | Address translation device | |
| JPS59201288A (en) | Address converting system | |
| JPS6360427B2 (en) | ||
| JPH01206442A (en) | Address converting system for extended storage | |
| JPH02101552A (en) | Address conversion buffer processing system | |
| JPS55117780A (en) | Buffer memory unit | |
| JPS56145583A (en) | Buffer memory device | |
| JPS58189892A (en) | Multiple virtual storage system | |
| JPH0479020B2 (en) | ||
| JPS56169279A (en) | Data processing system | |
| JPH0159611B2 (en) | ||
| JPS63172356A (en) | Address translation method | |
| JPH02116940A (en) | Page shared system using indirect pointer |