JPH05298185A - Virtual storage system and device - Google Patents
Virtual storage system and deviceInfo
- Publication number
- JPH05298185A JPH05298185A JP4098324A JP9832492A JPH05298185A JP H05298185 A JPH05298185 A JP H05298185A JP 4098324 A JP4098324 A JP 4098324A JP 9832492 A JP9832492 A JP 9832492A JP H05298185 A JPH05298185 A JP H05298185A
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- tlb
- logical
- physical
- 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.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、仮想記憶方式を採用し
た計算機、特に現在アクセスしているページの次のペー
ジのアドレス変換処理を前以って行うことを特徴した仮
想記憶方式および装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer adopting a virtual memory system, and more particularly to a virtual memory system and apparatus characterized by preliminarily performing an address conversion process for a page next to a currently accessed page. It is a thing.
【0002】[0002]
【従来の技術】最近の大部分の計算機では、ユーザが計
算機が持つ主メモリよりも遙かに大きな仮想的なアドレ
ス空間を用いてプログラム開発を行える仮想記憶方式が
採用されている。このときの仮想的なアドレス空間は論
理アドレス空間と呼ばれ、ディスク装置などの2次記憶
装置によって実現されており、また、計算機が所有する
主メモリは物理アドレス空間と呼ばれている。2. Description of the Related Art Most of recent computers employ a virtual memory system in which a user can develop a program by using a virtual address space much larger than a main memory of the computer. The virtual address space at this time is called a logical address space, which is realized by a secondary storage device such as a disk device, and the main memory owned by the computer is called a physical address space.
【0003】論理アドレス空間は一定の大きさのセクシ
ョンと呼ばれる領域に分割されており、一つのセクショ
ンは一定の大きさのページと呼ばれる単位に分割され
る。CPUが命令を実行するためには、主メモリ上に命
令が存在する必要があるため、CPUが実行しようとし
ている命令が存在する論理アドレス空間中のページが主
メモリ上にローディングされていなければならない。こ
のときに論理アドレス空間上の各ページが物理アドレス
空間上のどのページに対応するかが予め決定されていな
ければならない。この対応付けは、主メモリ上に保持さ
れるアドレス変換テーブルによって決められる。アドレ
ス変換テーブルはセクション・テーブルとページ・テー
ブルとから成る。The logical address space is divided into areas called sections of a fixed size, and one section is divided into units called pages of a fixed size. In order for the CPU to execute an instruction, it is necessary that the instruction exists in the main memory. Therefore, the page in the logical address space in which the instruction that the CPU is going to execute exists must be loaded in the main memory. .. At this time, it must be previously determined to which page in the physical address space each page in the logical address space corresponds. This correspondence is determined by the address conversion table stored in the main memory. The address translation table consists of a section table and a page table.
【0004】図3は2段ページング方式による論理アド
レスから物理アドレスへの変換過程を示す図である。同
図に示すように、論理アドレスのセクション・インデッ
クス(Sx)によってセクション・テーブルの先頭から
のオフセットが指定され、セクション・テーブル・エン
トリが決定される。セクション・テーブル・エントリが
持つページ・テーブル・ベース(PTB)がページ・テ
ーブルの先頭を示し、ページ・インデックス(Px)に
よってページ・テーブル・エントリが得られる。ページ
・テーブル・エントリには、ページ・フレーム・ナンバ
ー(PFN)が保持されており、これが物理空間上での
ページとなる。従って、論理空間上のページijはペー
ジjに割り当てられる。FIG. 3 is a diagram showing a process of converting a logical address to a physical address by the two-stage paging method. As shown in the figure, the section index (Sx) of the logical address specifies the offset from the beginning of the section table, and the section table entry is determined. The page table base (PTB) of the section table entry indicates the beginning of the page table, and the page table entry is obtained by the page index (Px). The page table entry holds a page frame number (PFN), which is a page in the physical space. Therefore, page ij in the logical space is assigned to page j.
【0005】以上の動的アドレス変換(Dynamic Address
Translation:DAT) により論理アドレスから物理ア
ドレスへの変換が行われるが、アドレス変換テーブルの
参照に時間がかかるため、実際には一部の論理アドレス
と物理アドレスを対にしたTLB(Translation Lookasi
de Buffer)をチップ内に設けて処理の高速化を図ったも
のが多い。したがって、CPUが新しいページにアクセ
スするときは、先ずTLBを検索してヒットすればTL
Bで得られた物理アドレスを用いて主メモリをアクセス
し、ミスヒットしたときはDATによって物理アドレス
を得る。なお、実行したい命令を含むページが主メモリ
上に無い場合は、例外処理によって2次記憶装置にアク
セスして、必要なページを主メモリ上の指定されたペー
ジにローディングする。The above dynamic address conversion (Dynamic Address
Translation: DAT) is used to translate a logical address to a physical address. However, since it takes time to look up the address translation table, in reality, some logical addresses and physical addresses are paired with a TLB (Translation Lookasi).
In many cases, de buffer) is provided in the chip to speed up the process. Therefore, when the CPU accesses a new page, it first searches the TLB and hits the TL.
The physical memory obtained in B is used to access the main memory, and when there is a mishit, the physical address is obtained by DAT. If the page containing the instruction to be executed is not in the main memory, the secondary storage device is accessed by exception processing and the required page is loaded into the designated page in the main memory.
【0006】[0006]
【発明が解決しようとする課題】命令の実行が連続的に
進み、そのページの終わりに達した時に始めて次ページ
のTLBの検索を行うが、このときTLBにヒットすれ
ば即座にアドレス変換が行われ、処理の遅れが殆どな
い。しかし、連続的に並んだ命令を処理する状態の下で
新しいページに処理が移るときにTLBにヒットする可
能性は低く、DAT処理を行う必要がある。DAT処理
を実行すると、アドレス変換テーブルを参照するため、
主メモリをアクセスし、また、更新ビットおよび参照ビ
ットのセット等のために処理が遅くなり、更に、一般に
はアドレス変換に用いられる演算器は命令処理に用いら
れる演算器と共通であるため、DAT時にはパイプライ
ン処理を止めなければならず、著しい遅延を生じた。本
発明は、この点に鑑みて創作されたものであって、命令
を連続的に実行しているときに、現在実行中の命令と並
行して次ページ検索またはDATを行い、新しいページ
のアドレス変換処理による処理の遅延を抑止することを
目的としている。When the end of the page is reached, the TLB of the next page is searched for only when the end of the page is reached. At this time, if the TLB is hit, the address conversion is performed immediately. There is almost no delay in processing. However, it is unlikely that the TLB will be hit when the processing moves to a new page under the condition that the instructions arranged in succession are processed, and the DAT processing needs to be performed. When the DAT processing is executed, since the address conversion table is referred to,
The processing is slowed because the main memory is accessed and the update bit and the reference bit are set. Moreover, the arithmetic unit used for address translation is common to the arithmetic unit used for instruction processing. Sometimes pipeline processing had to be stopped, causing significant delays. The present invention was created in view of this point, and when the instructions are continuously executed, the next page search or DAT is performed in parallel with the currently executing instruction, and the address of the new page is obtained. The purpose is to prevent processing delay due to conversion processing.
【0007】[0007]
【課題を解決するための手段】そしてそのため、本発明
の請求項1の仮想記憶方式は、論理アドレスと物理アド
レス間の変換を行うためのアドレス変換テーブル及びそ
の一部を保持するためのTLBを有する仮想記憶方式の
計算機における仮想記憶方式であって、中央処理装置の
命令実行中に、該命令が存在するページの次のページに
関してTLB検索を前以って行い、TLBにミスヒット
した場合には、直ちに動的アドレス変換を現在の実行中
の命令処理と並行して行うことを特徴とするものであ
る。本発明の請求項2の仮想記憶装置は、論理アドレス
と物理アドレス間の変換を行うためのアドレス変換テー
ブル及びその一部を保持するためのTLBを有する仮想
記憶方式の計算機における仮想記憶装置であって、ペー
ジ・アドレス部およびオフセット部より成る論理アドレ
スがセットされるプログラム・カウンタ(1) と、アドレ
ス変換テーブル(5) およびアドレス変換演算装置(6) を
持つアドレス変換処理部(7) と、論理ページ・アドレス
部,物理ページ・アドレス部および有効ビットを有する
TLBレジスタ(10)と、論理ページ・アドレスと物理ペ
ージ・アドレスの対が書き込まれたエントリの複数個を
持つTLB(9) と、+1回路(2) と、比較器(3) と、装
置の各部の制御を行う制御部(4) とを具備し、制御部
(4) は、プログラム・カウンタ(1) のオフセット値が所
定値に達した時に、+1回路(2) にプログラム・カウン
タ(1) の論理ページ・アドレスを入力させることにより
次ページの論理ページ・アドレスを求め、TLB(9) の
次ページに対応するエントリから次ページの論理ページ
・アドレスを求め、+1回路(2)から得た次ページの論
理ページ・アドレスとTLB(9) から得た次ページの論
理ページ・アドレスとを比較器(3) に比較させ、比較結
果が不一致を示す場合には+1回路(2) から得た次ペー
ジの論理ページ・アドレスをアドレス変換処理部(7) に
送りアドレス変換処理を実行させ、アドレス変換処理部
(7) から出力された物理ページ・アドレス及び対応する
論理ページ・アドレスをTLBレジスタ(10)に書き込む
と共にTLBレジスタ(10)の有効ビットを有効を示す値
とし、プログラム・カウンタ(1) が次ページに移る直前
の値を示した時に、TLBレジスタ(10)の有効ビットを
調べ、有効ビットが有効を示している場合にはTLBレ
ジスタ(10)の物理ページ・アドレスを使用して次ページ
の先頭命令をプリフェッチすると共に、TLBレジスタ
(10)の論理ページ・アドレスと物理ページ・アドレスの
対をTLB(9) に登録するための制御を行うよう構成さ
れていることを特徴とするものである。本発明の請求項
3の仮想記憶装置は、請求項2の仮想記憶装置におい
て、アドレス変換演算装置(6) が、命令処理を行うため
の演算装置とは別の演算装置であることを特徴とするも
のである。Therefore, according to the virtual storage system of claim 1 of the present invention, an address translation table for performing translation between a logical address and a physical address and a TLB for holding a part thereof are provided. A virtual memory system in a computer of the virtual memory system that has, when a central processing unit is executing an instruction, a TLB search is performed in advance for a page next to the page in which the instruction exists, and a TLB is missed. Is characterized in that the dynamic address translation is immediately performed in parallel with the currently executed instruction processing. A virtual storage device according to claim 2 of the present invention is a virtual storage device in a virtual storage system computer having an address translation table for performing translation between a logical address and a physical address and a TLB for holding a part thereof. , A program counter (1) in which a logical address consisting of a page address part and an offset part is set, an address conversion processing part (7) having an address conversion table (5) and an address conversion arithmetic unit (6), A TLB register (10) having a logical page address part, a physical page address part and a valid bit, and a TLB (9) having a plurality of entries in which a pair of a logical page address and a physical page address is written, The control unit includes a +1 circuit (2), a comparator (3), and a control unit (4) for controlling each unit of the device.
(4) is for setting the logical page address of the next page by inputting the logical page address of the program counter (1) to the +1 circuit (2) when the offset value of the program counter (1) reaches a predetermined value. The address is obtained, the logical page address of the next page is obtained from the entry corresponding to the next page of TLB (9), the logical page address of the next page obtained from the +1 circuit (2), and the logical page address obtained from the TLB (9) are obtained. The logical page address of the page is compared with the comparator (3), and if the comparison result shows a mismatch, the logical page address of the next page obtained from the +1 circuit (2) is sent to the address conversion processing unit (7). Sending address conversion processing is executed, and address conversion processing unit
The physical page address and the corresponding logical page address output from (7) are written to the TLB register (10), and the valid bit of the TLB register (10) is set to a value indicating that the program counter (1) has the following value. When the value immediately before moving to the page is shown, the valid bit of the TLB register (10) is checked, and if the valid bit shows valid, the physical page address of the TLB register (10) is used to read the next page. Prefetch the first instruction, and also TLB register
It is characterized by being configured to perform control for registering the pair of the logical page address and the physical page address of (10) in the TLB (9). A virtual memory device according to a third aspect of the present invention is the virtual memory device according to the second aspect, wherein the address translation arithmetic device (6) is an arithmetic device different from the arithmetic device for performing instruction processing. To do.
【0008】[0008]
【作用】請求項1の仮想記憶方式の作用について説明す
る。請求項1の仮想記憶方式においては、中央処理装置
の命令実行中に、該命令が存在するページの次のページ
がTLBに存在するか否かを調べる。存在しない場合に
は、DATを行い、次ページの存在する物理ページ・ア
ドレスを求める。このDAT処理は、命令処理と並行し
て行われる。DATによって得られた物理ページ・アド
レス及び対応する論理ページ・アドレスは、適当な記憶
手段の中に記憶される。The operation of the virtual memory system according to claim 1 will be described. In the virtual memory system according to the first aspect, during execution of an instruction of the central processing unit, it is checked whether or not the page next to the page in which the instruction exists is present in the TLB. If it does not exist, DAT is performed to find the physical page address where the next page exists. This DAT processing is performed in parallel with the instruction processing. The physical page address obtained by DAT and the corresponding logical page address are stored in suitable storage means.
【0009】請求項2の仮想記憶装置の作用について説
明する。プログラム・カウンタ(1)のオフセット部の値
が所定値になった時に、プログラム・カウンタ(1) のペ
ージ部の値を+1し、次ページの論理ページ・アドレス
を求め、この論理ページ・アドレスがTLB(9) に登録
されているか否かを調べる。登録されていない場合に
は、次ページの論理ページ・アドレスをアドレス変換処
理部(7) に送り、DATを実行させる。アドレス変換処
理部(7) によって得られた物理ページ・アドレス及び対
応する論理ページ・アドレスは、TLBレジスタ(10)書
き込まれる。このとき、TLBレジスタ(10)の有効ビッ
トは1(有効を示す)とされる。The operation of the virtual storage device according to the second aspect will be described. When the offset value of the program counter (1) reaches a predetermined value, the page value of the program counter (1) is incremented by 1, and the logical page address of the next page is calculated. Check whether it is registered in TLB (9). If it is not registered, the logical page address of the next page is sent to the address translation processing unit (7) to execute DAT. The physical page address and the corresponding logical page address obtained by the address conversion processing unit (7) are written in the TLB register (10). At this time, the valid bit of the TLB register (10) is set to 1 (indicating validity).
【0010】プログラム・カウンタ(1) が次ページに移
る直前の値(ページの終わりまでにあと数命令が残す状
態)を示した時に、TLBレジスタ(10)の有効ビットが
1の場合には、TLBレジスタ(10)の物理ページ・アド
レスを使用して次ページの先頭命令をプリフェッチする
と共に、TLBレジスタ(10)の論理ページ・アドレスと
物理ページ・アドレスの対をTLB(9) に登録する。な
お、このプリフェッチは、命令バッファに空きがあるこ
とを条件として行われることは当然である。When the program counter (1) indicates a value immediately before the next page is transferred (a state in which a few more instructions remain by the end of the page) and the effective bit of the TLB register (10) is 1, The physical page address of the TLB register (10) is used to prefetch the first instruction of the next page, and the pair of the logical page address and physical page address of the TLB register (10) is registered in the TLB (9). It should be noted that this prefetch is naturally performed on condition that the instruction buffer has a free space.
【0011】請求項3の仮想記憶装置の作用について説
明する。請求項3の仮想記憶装置においては、アドレス
変換処理部(7) の中のアドレス変換演算装置(6) が命令
処理で使用される演算装置とは別の演算装置であるの
で、アドレス変換処理部(7) がDAT処理を行っている
間、命令処理を停止する必要がない。The operation of the virtual storage device according to the third aspect will be described. In the virtual storage device according to claim 3, the address translation processing unit (6) in the address translation processing unit (7) is a computing unit different from the computing unit used in the instruction processing, and therefore the address translation processing unit It is not necessary to stop instruction processing while (7) is performing DAT processing.
【0012】[0012]
【実施例】図1は本発明の次ページDAT処理時のアド
レス変換過程を説明する図である。同図において、7は
アドレス変換処理部、9はTLB,10はTLBレジス
タをそれぞれ示している。アドレス変換処理部7は、セ
クション・テーブルとページ・テーブルとを有してお
り、セクション・テーブルとページ・テーブルを使用し
て論理アドレスを物理アドレスに変換する。論理アドレ
スは、セクション・インデックス部Sx,ページ・イン
デックス部Pxおよびオフセットから構成されており、
セクション・インデックス部Sxとページ・インデック
ス部Pxを合わせたものが論理ページ・アドレスLAと
なる。現在実行中の命令の論理ページ・アドレスはLA
n で表されており、次のページの論理ページ・アドレス
はLAn+1 で表されている。また、現在実行中の命令の
物理ページ・アドレスはPAn で表されており、次のペ
ージの物理ページ・アドレスはPAn+1 で表されてい
る。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a diagram for explaining an address conversion process in the next page DAT processing of the present invention. In the figure, 7 is an address conversion processing unit, 9 is a TLB, and 10 is a TLB register. The address translation processing unit 7 has a section table and a page table, and translates a logical address into a physical address using the section table and the page table. The logical address is composed of a section index part Sx, a page index part Px and an offset,
The logical page address LA is a combination of the section index part Sx and the page index part Px. The logical page address of the instruction currently being executed is LA
It is represented by n , and the logical page address of the next page is represented by LA n + 1 . Also, the physical page address of the instruction currently being executed is represented by PA n , and the physical page address of the next page is represented by PA n + 1 .
【0013】プログラム・カウンタ(図示せず)のオフ
セット値が所定値になると、次のページがTLB9に登
録されているか否かが調べられ、登録されていない場合
には、次のページを示す論理ページ・アドレスがアドレ
ス変換処理部7に与えられる。アドレス変換処理部7
は、セクション・テーブルおよびページ・テーブルを参
照して、次のページを示す物理ページ・アドレスPA
n+1 (ページ・フレーム・ナンバーPFNと同義)を求
める。When the offset value of the program counter (not shown) reaches a predetermined value, it is checked whether or not the next page is registered in the TLB 9, and if it is not registered, a logic indicating the next page is displayed. The page address is given to the address conversion processing unit 7. Address conversion processing unit 7
Refers to the section table and page table to indicate the next page, the physical page address PA
Find n + 1 (synonymous with page frame number PFN).
【0014】TLBレジスタ10は、タグ部,論理ペー
ジ・アドレスLAの一部,物理ページ・アドレスPA及
び有効ビットVを記憶する。このタグ部の値は、論理ペ
ージ・アドレスの下位5ビットの値に等しい。有効ビッ
トVはTLBレジスタ10の内容の有効/無効を示して
いる。タグ部(論理ページ・アドレスLAn+1 の下位5
ビット),論理ページ・アドレスLAn+1 の一部(論理
ページ・アドレスLA n+1 の下位5ビットを除いたも
の)およびアドレス変換処理部7によって求められた物
理ページ・アドレスPAn+1 は、TLBレジスタ10に
格納され、同時にTLBレジスタ10の有効ビットVが
1とされる。The TLB register 10 includes a tag section and a logical page.
A part of the address LA, physical page address PA and
And valid bit V are stored. The value of this tag is the logical
Equal to the lower 5 bits of the page address. Effective Bit
V indicates whether the contents of TLB register 10 are valid or invalid.
There is. Tag part (logical page address LAn + 1Lower 5
Bit), logical page address LAn + 1Part of (logical
Page address LA n + 1Except the lower 5 bits of
And the one obtained by the address translation processing unit 7.
Physical page address PAn + 1In the TLB register 10
Stored, and at the same time the valid bit V of the TLB register 10
It is assumed to be 1.
【0015】TLB9は複数のエントリを有している。
各エントリは、タグ部,論理ページ・アドレスLAの一
部および物理ページ・アドレスPAを有している。一番
上のエントリのタグ部の値は00、2番目のエントリの
タグ部の値は01、16番目のエントリのタグ部の値は
15、17番目のエントリのタグ部の値は16とされて
いる。下位5ビットが(00000)2 の論理ページ・
アドレスはタグ部が00のエントリに割り当てられ、下
位5ビットが(00001)2 の論理ページ・アドレス
はタグ部が01のエントリに割り当てられ、下位5ビッ
トが(01111)2 の論理ページ・アドレスはタグ部
が15のエントリに割り当てられ、下位5ビットが(1
0000)2 の論理ページ・アドレスはタグ部が16の
エントリに割り当てられている。TLBのエントリの論
理アドレス部には、下位5ビットを除いた論理ページ・
アドレスが記入される。The TLB 9 has a plurality of entries.
Each entry has a tag part, a part of the logical page address LA, and a physical page address PA. The value of the tag part of the top entry is 00, the value of the tag part of the second entry is 01, the value of the tag part of the 16th entry is 15, and the value of the tag part of the 17th entry is 16. ing. Logical page whose lower 5 bits are (00000) 2
The address is assigned to the entry whose tag part is 00, the lower 5 bits are (00001) 2 logical page addresses are assigned to the entry whose tag part is 01, and the lower 5 bits are (01111) 2 logical page addresses are The tag part is assigned to 15 entries, and the lower 5 bits are (1
The logical page address of 0000) 2 is assigned to the 16 entries in the tag portion. In the logical address part of the TLB entry, the logical page
The address is filled in.
【0016】プログラム・カウンタの値が次のページに
移る直前に、TLBレジスタ10の有効ビットVが1で
あることを確認して、TLBレジスタ10の内容をTL
B9に登録し、同時にTLBレジスタ10の物理ページ
・アドレスPAn+1 を使用して次ページの先頭命令をプ
リフェッチする。TLBレジスタ10の内容をTLB9
に登録した時、TLBレジスタ10の有効ビットVは0
とされる。なお、TLBレジスタ10の有効ビットVが
0のときは、次ページの先頭命令のプリフェッチはTL
B9を用いて行われる。Immediately before the value of the program counter moves to the next page, it is confirmed that the valid bit V of the TLB register 10 is 1, and the content of the TLB register 10 is changed to TL.
At the same time, the first instruction of the next page is prefetched using the physical page address PA n + 1 of the TLB register 10. The contents of TLB register 10 are changed to TLB9
When registered in, the valid bit V of the TLB register 10 is 0
It is said that. When the valid bit V of the TLB register 10 is 0, the prefetch of the first instruction on the next page is TL.
B9.
【0017】図2は本発明の仮想記憶装置の1実施例の
ブロック図である。同図において、1はプログラム・カ
ウンタ、2は+1回路、3は比較器、4は制御部、5は
アドレス変換テーブル、6はアドレス変換演算装置、7
はアドレス変換処理部、8はメモリ、9はTLB、10
はTLBレジスタをそれぞれ示している。プログラム・
カウンタ1の値は論理アドレスであり、論理ページ・ア
ドレスLAn とオフセットから構成されている。+1回
路2は、プログラム・カウンタ1に格納されている論理
ページ・アドレスLAn を+1する。比較器3は、+1
回路2から出力された次ページの論理ページ・アドレス
と、TLB9における次ページに対応するエントリの論
理ページ・アドレスとを比較する。比較結果は信号線S
1を経由して制御部4に入力される。FIG. 2 is a block diagram of an embodiment of the virtual storage device of the present invention. In the figure, 1 is a program counter, 2 is a +1 circuit, 3 is a comparator, 4 is a control unit, 5 is an address conversion table, 6 is an address conversion arithmetic unit, 7
Is an address conversion processing unit, 8 is a memory, 9 is a TLB, 10
Indicate TLB registers, respectively. program·
The value of the counter 1 is a logical address and is composed of a logical page address LA n and an offset. The +1 circuit 2 increments the logical page address LA n stored in the program counter 1. Comparator 3 is +1
The logical page address of the next page output from the circuit 2 is compared with the logical page address of the entry corresponding to the next page in the TLB 9. The comparison result is the signal line S
It is input to the control unit 4 via 1.
【0018】制御部4は全体の制御を行うものであり、
例えばマイクロプログラム制御の様なものである。な
お、図2の回路は、CPUの記憶制御部の中に存在する
ものと考えて良い。制御部4には、信号線ADR1を経
由してプログラム・カウンタ1のオフセット部の内容が
入力される。このオフセットの値が所定値になった時に
比較器3の出力が不一致を示していると、制御部4は信
号ADR2を経由して次ページの論理ページ・アドレス
およびアドレス変換処理起動指示をアドレス変換処理部
7に送る。The control unit 4 controls the entire system,
For example, it is like microprogram control. It should be noted that the circuit of FIG. 2 may be considered to exist in the storage control unit of the CPU. The contents of the offset portion of the program counter 1 are input to the control unit 4 via the signal line ADR1. When the output of the comparator 3 indicates a mismatch when the value of this offset reaches a predetermined value, the control unit 4 converts the logical page address of the next page and the address conversion processing start instruction via the signal ADR2. It is sent to the processing unit 7.
【0019】アドレス変換処理部7は、アドレス変換テ
ーブル5とアドレス変換演算装置6を有している。アド
レス変換テーブル5は、セクション・テーブルとページ
・テーブルとから構成されている。アドレス変換演算装
置6は、動的アドレス変換に必要な演算を行うものであ
り、命令処理に使用する演算装置とは別のものである。
アドレス変換テーブルはメモリ8の中に存在する。The address conversion processing unit 7 has an address conversion table 5 and an address conversion arithmetic unit 6. The address conversion table 5 is composed of a section table and a page table. The address translation arithmetic unit 6 performs arithmetic necessary for dynamic address translation, and is different from the arithmetic unit used for instruction processing.
The address conversion table exists in the memory 8.
【0020】TLB9は複数のエントリを有しており、
各エントリはタグ部,論理アドレス部および物理アドレ
ス部を有している。TLB9の各エントリのタグ部に
は、予め00,01,…,15,16,…等の数字が記
入されている。TLB9のエントリ数が例えば32個と
仮定すると、タグ部の値は論理ページ・アドレスの下位
5ビットと対応している。例えば、タグ部の値が15の
エントリは下位5ビットが(01111)2 の論理ペー
ジ・アドレスに割り当てられ、タグ部の値が16のエン
トリは下位5ビットが(10000)2 の論理ページ・
アドレスに割り当てられる。図示の例では、現在実行中
のページに対応するエントリはタグ部の値が15である
エントリとされている。The TLB 9 has a plurality of entries,
Each entry has a tag part, a logical address part and a physical address part. Numbers such as 00, 01, ..., 15, 16, ... Are written in advance in the tag portion of each entry of the TLB 9. Assuming that the number of entries in the TLB 9 is 32, the value of the tag portion corresponds to the lower 5 bits of the logical page address. For example, an entry whose tag part value is 15 is assigned to the logical page address whose lower 5 bits are (01111) 2 , and an entry whose tag part value is 16 is the logical page address whose lower 5 bits is (10000) 2.
Assigned to an address. In the illustrated example, the entry corresponding to the page currently being executed is the entry having the tag portion value of 15.
【0021】TLBレジスタ10は、タグ部,論理ペー
ジ・アドレスの一部,物理ページ・アドレスおよび有効
ビットVを記憶する。アドレス変換処理部7は、信号線
ADR3を経由して、タグ部,論理ページ・アドレスの
ページ部,物理ページ・アドレスおよび1の有効ビット
VをTLBレジスタ10に送る。TLBレジスタ10
は、送られてきた此等のデータを記憶する。The TLB register 10 stores a tag part, a part of a logical page address, a physical page address and a valid bit V. The address conversion processing unit 7 sends the tag portion, the page portion of the logical page address, the physical page address and the valid bit V of 1 to the TLB register 10 via the signal line ADR3. TLB register 10
Stores these sent data.
【0022】TLBレジスタ10の有効ビットVは、読
出点を指示する読出ポインタ信号RPとして利用され
る。有効ビットVが0のときは読出ポインタ信号RP1
が1となり、TLB9を使用して論理アドレス−物理ア
ドレスの変換が行われる。有効ビットVが1のときは読
出ポインタ信号RP2が1となり、TLBレジスタ10
を使用して論理アドレス−物理アドレスの変換が行われ
る。The valid bit V of the TLB register 10 is used as a read pointer signal RP indicating a read point. When the valid bit V is 0, the read pointer signal RP1
Becomes 1, and the logical address-physical address conversion is performed using the TLB 9. When the valid bit V is 1, the read pointer signal RP2 becomes 1, and the TLB register 10
Is used to perform the logical address-physical address conversion.
【0023】図2の装置の動作について説明する。現在
実行中の命令の論理アドレスを指すプログラム・カウン
タ1のオフセット値を制御部4が監視し、それが或る値
に達した時にプログラム・カウンタ1の論理ページ・ア
ドレスLAn に1を加算する。この時に得られる次ペー
ジの論理ページ・アドレスの値と、現在実行中のページ
を示すTLB9のエントリの次のエントリの論理ページ
・アドレスの値を比較器3で比較する。The operation of the apparatus shown in FIG. 2 will be described. The control unit 4 monitors the offset value of the program counter 1 that points to the logical address of the instruction currently being executed, and when it reaches a certain value, adds 1 to the logical page address LA n of the program counter 1. .. The comparator 3 compares the value of the logical page address of the next page obtained at this time with the value of the logical page address of the entry next to the entry of the TLB 9 indicating the page currently being executed.
【0024】比較の結果、一致が検出されれば、次のペ
ージの論理ページ・アドレスはTLB9に登録されてい
ることになり、信号S1によって次ページの論理ページ
・アドレスのアドレス変換処理部7への転送は抑止され
る。比較結果が不一致であった場合には、信号S1に基
づいて制御部4から次ページの論理ページ・アドレスが
アドレス変換処理部7へ送られ、DAT処理が行われ
る。このとき、アドレス変換処理部7には専用のアドレ
ス変換演算装置6が設けられているため、現在実行中の
命令処理を止める必要がない。DATによって得られた
論理ページ・アドレスと物理ページ・アドレスの対は信
号線ADDR3を通してTLBレジスタ10に格納さ
れ、同時にTLBレジスタ10の有効ビットVは1に設
定される。If a match is detected as a result of the comparison, it means that the logical page address of the next page is registered in the TLB 9, and the signal S1 is sent to the address conversion processing unit 7 of the logical page address of the next page. Forwarding is suppressed. If the comparison result is a mismatch, the control section 4 sends the logical page address of the next page to the address conversion processing section 7 based on the signal S1, and the DAT processing is performed. At this time, since the address translation processing unit 7 is provided with the dedicated address translation arithmetic unit 6, it is not necessary to stop the instruction processing currently being executed. The logical page address and physical page address pair obtained by DAT is stored in the TLB register 10 through the signal line ADDR3, and at the same time, the valid bit V of the TLB register 10 is set to 1.
【0025】命令が連続的に実行されてページの終わり
を検出した時に、TLBレジスタ10の有効ビットVよ
り読出ポインタ信号RP1,RP2を発生して、次ペー
ジの物理アドレスをTLB9から得るか,TLBレジス
タ10から得るかを決定する。次ページのDATが行わ
れた場合には有効ビットVは1となっているためTLB
レジスタ10を指示する読出ポインタ信号RP2が有効
となり、この物理ページ・アドレスで示される次ページ
の先頭命令をプリフェッチすると同時に、TLBレジス
タ10の情報を信号線ADR4を通してTLB9に登録
する。この際、TLBレジスタ10の有効ビットVを0
にキャンセルする。また、次ページのDATを行わなか
った場合には、TLBレジスタ10の有効ビットは0の
ままであり、TLB9を指示する読出ポインタ信号RP
1が有効となって、次ページの先頭命令のプリフェッチ
はTLB9を使用して行われる。When the instructions are continuously executed and the end of the page is detected, the read pointer signals RP1 and RP2 are generated from the valid bit V of the TLB register 10 to obtain the physical address of the next page from the TLB 9 or the TLB 9. It is determined whether to obtain from the register 10. When the DAT of the next page is performed, the valid bit V is 1, so TLB is set.
The read pointer signal RP2 for instructing the register 10 becomes valid, and the first instruction of the next page indicated by this physical page address is prefetched, and at the same time, the information of the TLB register 10 is registered in the TLB 9 through the signal line ADR4. At this time, the valid bit V of the TLB register 10 is set to 0.
To cancel. When the DAT of the next page is not performed, the valid bit of the TLB register 10 remains 0, and the read pointer signal RP for instructing the TLB 9 is read.
When 1 is valid, the prefetch of the first instruction of the next page is performed using TLB9.
【0026】[0026]
【発明の効果】一般に、プログラムは連続的であり、命
令は連続したページに置かれることが多いと考えられ
る。連続的に命令が実行されているときにページが変わ
ると、この時に発生する命令DATによって、以降の命
令の実行が待たされることがある。本発明により、連続
したページのDATにおいては命令処理の待ちがなく
り、処理効率が向上する。In general, it is considered that a program is continuous and that instructions are often placed in continuous pages. When the page is changed while the instructions are continuously executed, the instruction DAT generated at this time may delay the execution of the subsequent instructions. According to the present invention, in DAT of consecutive pages, there is no need to wait for instruction processing, and processing efficiency is improved.
【図1】本発明の次ページDAT処理時のアドレス変換
過程を説明する図である。FIG. 1 is a diagram illustrating an address conversion process during a next page DAT process of the present invention.
【図2】本発明の1実施例を示す図である。FIG. 2 is a diagram showing an embodiment of the present invention.
【図3】論理アドレスから物理アドレスへの変換過程を
説明する図である。FIG. 3 is a diagram illustrating a process of converting a logical address to a physical address.
1 プログラム・カウンタ 2 +1回路 3 比較器 4 制御部 5 アドレス変換テーブル 6 アドレス変換演算装置 7 アドレス変換処理部 8 メモリ 9 TLB 10 TLBレジスタ 1 Program Counter 2 +1 Circuit 3 Comparator 4 Control Unit 5 Address Conversion Table 6 Address Conversion Arithmetic Unit 7 Address Conversion Processing Unit 8 Memory 9 TLB 10 TLB Register
Claims (3)
行うためのアドレス変換テーブル及びその一部を保持す
るためのTLBを有する仮想記憶方式の計算機における
仮想記憶方式であって、 中央処理装置の命令実行中に、該命令が存在するページ
の次のページに関してTLB検索を前以って行い、 TLBにミスヒットした場合には、直ちに動的アドレス
変換を現在の実行中の命令処理と並行して行うことを特
徴とする仮想記憶方式。1. A virtual memory system in a computer of a virtual memory system having an address translation table for performing a translation between a logical address and a physical address and a TLB for holding a part thereof, which is an instruction of a central processing unit. During the execution, a TLB search is performed in advance for the page next to the page in which the instruction exists, and if a TLB is missed, the dynamic address translation is immediately performed in parallel with the currently executing instruction processing. A virtual memory method characterized by performing.
行うためのアドレス変換テーブル及びその一部を保持す
るためのTLBを有する仮想記憶方式の計算機における
仮想記憶装置であって、 ページ・アドレス部およびオフセット部より成る論理ア
ドレスがセットされるプログラム・カウンタ(1) と、 アドレス変換テーブル(5) およびアドレス変換演算装置
(6) を持つアドレス変換処理部(7) と、 論理ページ・アドレス部,物理ページ・アドレス部およ
び有効ビットを有するTLBレジスタ(10)と、 論理ページ・アドレスと物理ページ・アドレスの対が書
き込まれたエントリの複数個を持つTLB(9) と、 +1回路(2) と、 比較器(3) と、 装置の各部の制御を行う制御部(4) とを具備し、 制御部(4) は、プログラム・カウンタ(1) のオフセット
値が所定値に達した時に、+1回路(2) にプログラム・
カウンタ(1) の論理ページ・アドレスを入力させること
により次ページの論理ページ・アドレスを求め、TLB
(9) の次ページに対応するエントリから次ページの論理
ページ・アドレスを求め、+1回路(2)から得た次ペー
ジの論理ページ・アドレスとTLB(9) から得た次ペー
ジの論理ページ・アドレスとを比較器(3) に比較させ、
比較結果が不一致を示す場合には+1回路(2) から得た
次ページの論理ページ・アドレスをアドレス変換処理部
(7) に送りアドレス変換処理を実行させ、アドレス変換
処理部(7) から出力された物理ページ・アドレス及び対
応する論理ページ・アドレスをTLBレジスタ(10)に書
き込むと共にTLBレジスタ(10)の有効ビットを有効を
示す値とし、 プログラム・カウンタ(1) が次ページに移る直前の値を
示した時に、TLBレジスタ(10)の有効ビットを調べ、
有効ビットが有効を示している場合にはTLBレジスタ
(10)の物理ページ・アドレスを使用して次ページの先頭
命令をプリフェッチすると共に、TLBレジスタ(10)の
論理ページ・アドレスと物理ページ・アドレスの対をT
LB(9) に登録するための制御を行うよう構成されてい
ることを特徴とする仮想記憶装置。2. A virtual memory device in a virtual memory computer having an address translation table for performing a translation between a logical address and a physical address and a TLB for holding a part of the address translation table, the page address part and Program counter (1) in which logical address consisting of offset part is set, address conversion table (5) and address conversion arithmetic unit
An address translation processing unit (7) having (6), a TLB register (10) having a logical page address part, a physical page address part and a valid bit, and a pair of a logical page address and a physical page address are written. The control unit (4) includes a TLB (9) having a plurality of registered entries, a +1 circuit (2), a comparator (3), and a control unit (4) for controlling each unit of the device. When the offset value of the program counter (1) reaches a predetermined value, the program is added to the +1 circuit (2).
The logical page address of the next page is obtained by inputting the logical page address of the counter (1), and the TLB
The logical page address of the next page is obtained from the entry corresponding to the next page of (9), and the logical page address of the next page obtained from the +1 circuit (2) and the logical page address of the next page obtained from TLB (9). Compare the address with the comparator (3),
If the comparison result shows a mismatch, the logical page address of the next page obtained from the +1 circuit (2) is used as the address conversion processing unit.
(7) executes the send address conversion process, writes the physical page address and the corresponding logical page address output from the address conversion processing unit (7) to the TLB register (10) and validates the TLB register (10). Check the valid bit of the TLB register (10) when the program counter (1) shows the value immediately before moving to the next page by setting the bit to the value indicating valid.
TLB register when the valid bit indicates valid
The physical page address of (10) is used to prefetch the first instruction of the next page, and the pair of the logical page address and physical page address of the TLB register (10) is set to T.
A virtual memory device, characterized in that it is arranged to perform control for registration in the LB (9).
を行うための演算装置とは別の演算装置であることを特
徴とする請求項2の仮想記憶装置。3. The virtual memory device according to claim 2, wherein the address translation arithmetic unit (6) is an arithmetic unit different from the arithmetic unit for performing instruction processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4098324A JPH05298185A (en) | 1992-04-17 | 1992-04-17 | Virtual storage system and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4098324A JPH05298185A (en) | 1992-04-17 | 1992-04-17 | Virtual storage system and device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05298185A true JPH05298185A (en) | 1993-11-12 |
Family
ID=14216728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4098324A Withdrawn JPH05298185A (en) | 1992-04-17 | 1992-04-17 | Virtual storage system and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05298185A (en) |
-
1992
- 1992-04-17 JP JP4098324A patent/JPH05298185A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6321314B1 (en) | Method and apparatus for restricting memory access | |
KR960001946B1 (en) | Translation lookaside buffer | |
JP2618175B2 (en) | History table of virtual address translation prediction for cache access | |
US5918250A (en) | Method and apparatus for preloading default address translation attributes | |
KR100346014B1 (en) | Improved computer memory address translation system | |
JPH04232551A (en) | Method and apparatus for converting multiple virtaul addresses | |
EP0408058A2 (en) | Microprocessor | |
JPH0193847A (en) | Address extending system | |
KR20020039685A (en) | Fine grain translation discrimination | |
JP3254019B2 (en) | Data prefetch control device | |
US5764944A (en) | Method and apparatus for TLB invalidation mechanism for protective page fault | |
US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
JP2000339221A (en) | System and method for invalidating entry of conversion device | |
JPH0327940B2 (en) | ||
JPH05100956A (en) | Address converter | |
US6324635B1 (en) | Method and apparatus for address paging emulation | |
JPH05298185A (en) | Virtual storage system and device | |
JPH02236652A (en) | Page table within virtual memory | |
JP2845754B2 (en) | Multiprocessor system | |
JPH0594370A (en) | Computer memory system and virtual memory addressing partitioning method | |
JPH0336647A (en) | Cache buffering control system | |
JP2507785B2 (en) | Pageable entry invalidation device | |
JP3013996B2 (en) | Information processing device | |
JPH02101552A (en) | Address conversion buffer processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990706 |