JP2509981B2 - Virtual storage controller - Google Patents

Virtual storage controller

Info

Publication number
JP2509981B2
JP2509981B2 JP63117608A JP11760888A JP2509981B2 JP 2509981 B2 JP2509981 B2 JP 2509981B2 JP 63117608 A JP63117608 A JP 63117608A JP 11760888 A JP11760888 A JP 11760888A JP 2509981 B2 JP2509981 B2 JP 2509981B2
Authority
JP
Japan
Prior art keywords
page
address
logical
storage device
real
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 - Lifetime
Application number
JP63117608A
Other languages
Japanese (ja)
Other versions
JPH01287760A (en
Inventor
康智 桜井
敬人 野田
裕士 神阪
一泰 野々村
徹 渡部
拓巳 丸山
巧 竹野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63117608A priority Critical patent/JP2509981B2/en
Publication of JPH01287760A publication Critical patent/JPH01287760A/en
Application granted granted Critical
Publication of JP2509981B2 publication Critical patent/JP2509981B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 複数のページから成る情報を格納する第1の記憶装置
内の一部のページの情報ページ単位毎に区分され、各ペ
ージ毎に実ページアドレスが割り当てられて格納される
第2の記憶装置と、論理ページアドレスとページ内アド
レスとを含む論理アドレスを与えることで、前記第2の
記憶装置内から所望ページ内の特定アドレス位置の情報
を読出す処理装置と、論理ページアドレスと実ページア
ドレスとの対応関係を保持し、与えられた論理ページア
ドレスに対応する実ページアドレスを出力するアドレス
変換部と、与えられた論理ページアドレスに対応する実
ページアドレスが前記アドレス変換部にて得られないこ
とを検出し、前記処理装置に対して、前記第2の記憶装
置内に格納されているページ単位の情報と前記第1の記
憶装置内に格納されている情報の入れ替えを指示するペ
ージフオルト信号を出力するページフオルト発生部と、
備えて構成された仮想記憶制御装置に関し、 メモリ空間を有効に利用しつつ、メモリアクセスに要
する時間を短縮することを目的とし、 上記仮想記憶制御装置において、前記ページフォルト
信号にもとづき、前記処理装置に対して、当該処理装置
が次の情報を読出す時に与えられる論理ページアドレス
を前記アドレス変換部に与えるよう指示する割込み信号
を出力する割込み発生部を設けるよう構成する。
DETAILED DESCRIPTION [Overview] Information of some pages in a first storage device that stores information consisting of a plurality of pages is divided into page units, and real page addresses are assigned to each page. A second storage device to be stored, and a processing device for reading information of a specific address position in a desired page from the second storage device by giving a logical address including a logical page address and an in-page address. , An address conversion unit that holds the correspondence between the logical page address and the real page address and outputs the real page address corresponding to the given logical page address, and the real page address corresponding to the given logical page address is It is detected by the address conversion unit that the information cannot be obtained, and information about the page unit stored in the second storage device is stored in the processing device. A page full ortho generator for outputting a page full ortho signal instructing replacement of information stored in the serial first in the storage device,
A virtual storage control device configured to include a virtual storage control device for effectively utilizing a memory space and shortening a time required for memory access. On the other hand, the processor is provided with an interrupt generation unit for outputting an interrupt signal instructing the address conversion unit to be provided with the logical page address given when the processor reads the next information.

〔産業上の利用分野〕[Industrial applications]

本発明は、複数のページから成る情報を格納する補助
記憶装置と、補助記憶装置内の一部のページの情報がペ
ージ単位毎に区分され、各ページ毎に実ページアドレス
が割当てられて格納される主記憶装置と、論理ページア
ドレスとページ内アドレスとを含む論理アドレスを与え
ることで、主記憶装置内から所望ページ内の特定アドレ
ス位置の情報を読出す処理装置と、論理ページアドレス
と実ページアドレスとの対応関係を保持し、与えられた
論理ページアドレスに対応する実ページアドレスを出力
するためのアドレス変換部と、次に与えるべき論理アド
レスがページの境界を通過することを検出するページク
ロス検出部と、与えられた論理ページアドレスに対応す
る実ページアドレスが前記アドレス変換部にて得られな
かった場合にページフォルト信号を出力するページフォ
ルト発生部と、を備え、前記処理装置は、前記ページク
ロス検出部によるページクロスの検出時には次に与える
べき論理ページアドレスを前記アドレス変換部に与え、
前記ページフォルト発生部によるページフォルト信号の
出力時には主記憶装置内に格納されているページ単位の
情報の入れ替えを行なうように構成された仮想記憶制御
装置に関する。
According to the present invention, an auxiliary storage device that stores information composed of a plurality of pages and information of some pages in the auxiliary storage device are divided into page units, and real page addresses are allocated and stored for each page. A main memory device, a processor for reading information at a specific address position in a desired page from the main memory device by giving a logical address including a logical page address and an in-page address, a logical page address and a real page An address conversion unit that holds the correspondence relationship with the address and outputs the real page address corresponding to the given logical page address, and a page cross that detects that the logical address to be given next passes through a page boundary. The page when the detection unit and the real page address corresponding to the given logical page address cannot be obtained by the address conversion unit. Includes a page fault generator for outputting a Oruto signal, wherein the processing unit provides a logical page address to be given next to the detection of the page crossing by the page crossing detector to said address translation unit,
The present invention relates to a virtual storage control device configured to replace page-by-page information stored in a main storage device when a page fault signal is output by the page fault generation unit.

実行しようとするプログラムの大きさに満たない主記
憶領域においてもプログラムを実行できるのが仮想記憶
方式であり、プロセッサから主記憶装置へアクセスする
には、プログラム上の仮想アドレスから主記憶上の物理
(実)アドレスに変換しなければならないが、このアド
レス変換には、時間がかかりその効率化が要求されてい
る。
The virtual memory method allows a program to be executed even in a main memory area that is smaller than the size of the program to be executed.To access the main memory from the processor, the physical address on the main memory must be accessed from the virtual address on the program. Although it has to be converted to a (real) address, this address conversion requires time and efficiency.

〔従来の技術〕[Conventional technology]

従来、仮想記憶方式を用いるプロセッサにおいては、
メモリアクセスのたびに論理アドレスから物理アドレス
への変換を行なう方式が、あるいは命令とデータを別々
の領域(ページ単位毎)に格納し、各ページ単位でアド
レス変換を行ない、ページ内アドレスを与えて各ページ
内の所望のアドレス位置へアクセスし、アクセスのたび
にはアドレス変換を行なわないという方式かにより制御
するのが通常であった。
Conventionally, in a processor using a virtual memory system,
A method of converting a logical address to a physical address each time a memory is accessed, or instructions and data are stored in separate areas (for each page unit), address conversion is performed for each page unit, and an in-page address is given. It was usual to control by accessing a desired address position in each page and not performing address conversion every access.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

上記のような従来の仮想記憶制御方式においては、前
者では、毎回アドレス変換を行なうためにメモリアクセ
スに時間を要するという問題を有しており、後者では、
命令とデータを別々の領域に分けることから、ページの
入れ替えが多くなり、また、メモリ空間を有効に利用す
ることができないという問題があった。
In the conventional virtual memory control method as described above, the former has a problem that it takes time to access the memory in order to perform the address translation every time, and the latter has the problem that
Since the instruction and the data are divided into different areas, there is a problem that the pages are frequently replaced and the memory space cannot be effectively used.

本発明が解決しようとする課題は、このような従来の
問題点を解決し、メモリアクセスに要する時間を短縮
し、且つメモリ空間を有効利用できる仮想記憶制御方式
を提供することにある。
The problem to be solved by the present invention is to solve such conventional problems, to provide a virtual memory control method capable of shortening the time required for memory access and effectively utilizing the memory space.

〔課題を解決するための手段〕[Means for solving the problem]

前述した課題は、第1図に示されるように、複数のペ
ージから成る情報を格納する第1の記憶装置100内の一
部のページの情報がページ単位毎に区分され、各ページ
毎に実ページアドレスが割り当てられて格納される第2
の記憶装置110と、論理ページアドレスとページ内アド
レスとを含む論理アドレスを与えることで、第2の記憶
装置110から所望ページ内の特定アドレス位置の情報を
読出す処理装置120と、論理ページアドレスと実ページ
アドレスとの対応関係を保持し与えられた論理ページア
ドレスに対応する実ページアドレスを出力するアドレス
変換部130と、与えられた論理ページアドレスに対応す
る実ページアドレスがアドレス変換部130にて得られな
いことを検出し、処理装置120に対して第2の記憶装置1
10内に格納されているページ単位の情報と第1の記憶装
置100に格納されてる情報の入れ替えを指示するページ
フォルト信号を出力ページフォルト発生部150と、前記
ページフォルト信号にもとづき、処理装置120が次の情
報を読出す時に与えられる論理ページアドレスをアドレ
ス変換部130に与えるよう指示する割込み信号を出力す
る割込み発生部(ページクロス要求部)160とを備えた
ことを特徴とする仮想記憶制御の提供により解決され
る。
As shown in FIG. 1, the above-mentioned problem is that information of a part of pages in the first storage device 100 that stores information composed of a plurality of pages is divided into page units, and each page is actually processed. Second page address is allocated and stored
Storage device 110, a processing device 120 for reading information of a specific address position in a desired page from the second storage device 110 by giving a logical address including a logical page address and an in-page address, and a logical page address. And an actual page address are held in the address translation unit 130, which outputs a real page address corresponding to a given logical page address, and an actual page address corresponding to the given logical page address is sent to the address translation unit 130. Second storage device 1 for the processing device 120
A page fault signal for instructing the replacement of the information in page units stored in 10 and the information stored in the first storage device 100 is output. Based on the page fault generation unit 150 and the page fault signal, the processing device 120 Virtual memory control, which comprises an interrupt generation unit (page cross request unit) 160 which outputs an interrupt signal instructing the address conversion unit 130 to provide a logical page address given when the next information is read. Will be solved.

〔作用〕[Action]

前述したように、本発明では、ページフォルトが発生
したときにも、ページクロス時と同様に論理ページアド
レスを実ページアドレスに変換すべくアドレス変換部に
与えるようにしている。
As described above, according to the present invention, even when a page fault occurs, the logical page address is given to the address conversion unit so as to be converted into the real page address as in the case of page cross.

従って、ページフォルトが発生して、第2の記憶装置
110に格納されているページの入れ替えが第1の記憶装
置100との間に行なわれた際に、これから実行使用とす
る命令で使おうとしていたデータが追い出されたページ
の中にそんざいしていた場合でも、再度与えられた論理
ページアドレスに基づいてアドレス変換が行なわれて、
再度ページフォルトが発生して所望のページが第2の記
憶装置110内に格納される。
Therefore, a page fault occurs and the second storage device
When the page stored in 110 was exchanged with the first storage device 100, the data that was going to be used in the instruction to be used for execution was in the page being ejected. Even in this case, the address conversion is performed based on the logical page address given again,
A page fault occurs again and the desired page is stored in the second storage device 110.

従って、同一のページ内に命令とデータを格納してい
た場合でも、何ら問題なく処理を実行することができる
ので、従来のように、命令とデータを別々のページに格
納している場合に比べ、高速な読出し処理が実行できる
と共に、メモリ空間を有効に利用することが可能とな
る。
Therefore, even if the instruction and data are stored in the same page, the processing can be executed without any problems, so compared to the case where the instruction and data are stored in different pages as in the past. The high-speed reading process can be executed and the memory space can be effectively used.

〔実施例〕〔Example〕

以下、本発明の仮想記憶制御方式の実施例を図面を用
いて説明する。
An embodiment of the virtual memory control system of the present invention will be described below with reference to the drawings.

第1図は本発明の仮想記憶制御方式の実施例を示すブ
ロック図である。「特許請求の範囲」中の「第1の記
憶装置」、「第2の記憶装置、「処理装置」、
「アドレス変換部」、「ページフォルト発生部」、
「割込み発生部」は、第1図中の「補助記憶装置10
0」、「主記憶装置110」、「処理装置120」、
「アドレス変換部130」、「ページフォルト発生部15
0」、「ページクロス要求部160にそれぞれ対応する。
FIG. 1 is a block diagram showing an embodiment of the virtual memory control system of the present invention. “First storage device”, “second storage device,” “processing device” in “Claims”,
"Address conversion part", "Page fault occurrence part",
The "interrupt generator" is the "auxiliary storage device 10" in FIG.
0 "," main memory 110 "," processor 120 ",
"Address converter 130", "Page fault generator 15"
0 ”and“ page cross request unit 160, respectively.

図において、40は論理アドレスレジスタであり、処理
装置120により与えられる論理アドレスを保持するもの
である。論理アドレスは、第2図の論理アドレス空間の
説明図に示される如く、ページ単位に区分され、ページ
アドレスとページ内アドレスとを含んでいる。
In the figure, 40 is a logical address register, which holds a logical address given by the processing device 120. The logical address is divided into page units as shown in the explanatory diagram of the logical address space in FIG. 2 and includes a page address and an in-page address.

そして、メモリ空間を有効に利用するため、また、プ
ログラム作成者のプログラム作成を容易にするため、命
令とデータを同一のページ内に割り当てている。
Then, in order to effectively use the memory space and to facilitate the program creation by the program creator, the instruction and the data are allocated in the same page.

すなわち、命令とデータを別々のページに割当てる場
合、必ずしも命令,データのステップ数が1ページ丁度
とならず、例えば特定の処理を実行するための命令が1.
5ページ分,それに用いるデータが0.2ページ分となるプ
ログラムでは、3ページ分のメモリ空間を必要とする
が、命令とデータを同一のページに存在可能とし、連続
的にアドレスを割り振ることで2ページ以内とすること
ができる。
That is, when the instruction and the data are assigned to different pages, the number of steps of the instruction and the data is not necessarily exactly one page, and for example, the instruction for executing a specific process is 1.
A program that uses 5 pages and 0.2 pages of data requires 3 pages of memory space, but instructions and data can exist on the same page, and 2 pages are allocated by continuously allocating addresses. It can be within.

また、同様に、プログラム作成時に、その命令で使用
するデータを別ページに設定する場合は、この命令内に
データの格納位置を示すアドレスを組み込ませる処理が
面倒となるが、連続的に同一ページ内に格納することで
このような問題の発生を抑制できる。
Similarly, when the data used in the instruction is set to another page when creating a program, the process of incorporating the address indicating the storage location of the data in this instruction becomes troublesome, but the same page is continuously written. By storing it in the memory, it is possible to suppress the occurrence of such a problem.

処理装置120の論理アドレスレジスタにセットされた
論理アドレスの内、論理ページアドレスのみは、アドレ
ス変換部130を構成する変換索引バッファ(TLB)50に与
えられて、実ページアドレスを得るようにされ、対応す
る実ページアドレスが存在せず、TLBフォルトが発生し
た場合には、同様にアドレス変換部を構成する動的アド
レス変換部(DAT)60によるアドレス変換が行なわれ
る。
Of the logical addresses set in the logical address register of the processing unit 120, only the logical page address is given to the translation lookaside buffer (TLB) 50 that constitutes the address translation unit 130 to obtain the real page address, If the corresponding real page address does not exist and a TLB fault occurs, address translation is performed by the dynamic address translation unit (DAT) 60 that also constitutes the address translation unit.

論理ページアドレスに対応する実ページアドレスがTL
B50あるいはDAT60により得られたら、この実ページアド
レスは、オア回路51,マルチプレクサ52を通して命令用
実アドレスレジスタ53,あるいはデータ用実アドレスレ
ジスタ54のいずれか一方にセットされる。
The real page address corresponding to the logical page address is TL
When obtained by B50 or DAT60, this real page address is set to either the instruction real address register 53 or the data real address register 54 through the OR circuit 51 and the multiplexer 52.

このとき、処理装置120は、読出すべき情報が命令、
あるいはデータであることを認識できるので、マルチプ
レクサ52を切替えていずれか一方の実アドレスレジスタ
に格納させる。
At this time, the processing device 120 determines that the information to be read is a command,
Alternatively, since it can be recognized as data, the multiplexer 52 is switched and stored in either one of the real address registers.

そして、両レジスタ53,54に、論理アドレスレジスタ4
0のページ内アドレスがセットされることで、主記憶装
置110をアクセスするための実アドレスが格納されるこ
とになる。
Then, in both registers 53 and 54, the logical address register 4
By setting the in-page address of 0, the real address for accessing the main storage device 110 is stored.

そして、この実アドレスレジスタの内容は、前述と同
様にして処理装置120により選択されるマルチプレクサ5
5を介して主記憶装置110に与えられ、対応する情報が主
記憶装置110より読出される。
Then, the contents of the real address register are the same as those described above in the multiplexer 5 selected by the processing unit 120.
It is given to the main storage device 110 via 5, and corresponding information is read from the main storage device 110.

従って、第2図を用いて説明したように、特定の処理
を行なうための命令とデータから成るプログラムが第K
ページ目と第K+1ページ目に混在して格納されていた
場合には、まず、処理装置120が論理アドレスレジスタ4
0に、論理ページアドレス「0100」,ページ内アドレス
「0000」をセットする。
Therefore, as described with reference to FIG. 2, a program consisting of instructions and data for performing a specific process is the Kth program.
If the pages and the K + 1th page are stored in a mixed manner, first, the processing device 120 sets the logical address register 4
The logical page address “0100” and the page address “0000” are set to 0.

これにより、論理ページアドレス「0100」を用いて、
TLB50とDAT60構成されるアドレス変換部130にてアドレ
ス変換が行なわれ、対応する実ページアドレス、例えば
「010」が得られ、命令用実アドレスレジスタ53を介し
て主記憶装置110のアクセスが行なわれる。
As a result, using the logical page address "0100",
Address conversion is performed by the address conversion unit 130 composed of TLB50 and DAT60, a corresponding real page address, for example, "010" is obtained, and the main memory device 110 is accessed through the instruction real address register 53. .

次いで、処理装置120は、次に読出す情報が命令であ
ることからページ内アドレスのみを「0001」とすること
により、論理アドレス「01000001」に対応する主記憶装
置110上の命令を読出す。
Next, since the information to be read next is an instruction, the processing device 120 sets only the in-page address to “0001” to read the instruction in the main storage device 110 corresponding to the logical address “01000001”.

このとき、この命令で必要なデータが次の次のアドレ
ス「01000011」に格納されている場合でも、各命令で必
要なデータが必ずしも同一ページに格納されているとは
限られないので、データを読出す際には、必ずセットさ
れた論理アドレスレジスタ40のページアドレス「0100」
のアドレス変換を実行させ、得られた実ページアドレス
とページ内アドレス「0011」をデータ用実アドレスレジ
スタ54に格納することで、主記憶装置110へのアクセス
が行なわれる。
At this time, even if the data required by this instruction is stored at the next next address "01000011", the data required by each instruction is not always stored on the same page. When reading, the page address "0100" of the logical address register 40 is always set.
By executing the address translation of, and storing the obtained real page address and in-page address “0011” in the data real address register 54, the main memory device 110 is accessed.

このように、命令を読出す場合のアドレス変換はペー
ジ単位で実行し、ページ内の読出し処理はページ内アド
レスを更新するのみで良く、毎回アドレス変換をする必
要がない。
In this way, the address conversion when reading an instruction is executed in page units, and the reading process within a page only needs to update the address within the page, and does not need to perform the address conversion every time.

一方、データ(命令で必要とする定数等)は、複数の
ページに渡って点在しており、同一ページの中に存在し
ている可能性が大きくないので、毎回アドレス変換を実
行するように制御することで誤まったデータの読出しを
行なわないようにしている。
On the other hand, data (constants required for instructions, etc.) are scattered over multiple pages, and it is unlikely that they are in the same page, so perform address translation every time. The control prevents misreading of data.

このようにして、順次第Kページ目のページ内の情報
の読出しが行なわれ、ページ内アドレス「1111」のデー
タが読出され、次いで、第K+1ページ目のデータを読
出そうとしたとき、論理アドレスレジスタ40にセットさ
れる論理アドレスは「01010000」となる。
In this way, the information in the page of the Kth page is sequentially read, the data of the address “1111” in the page is read, and then the data of the K + 1th page is read, the logical address The logical address set in the register 40 is "01010000".

従って、このとき、ページ内アドレスは、「1111」か
ら「0000」となるので、ページクロス検出部140によ
り、論理アドレス空間のページの境界を通過して第K+
1ページ目になったことが検出される。
Therefore, at this time, the in-page address is changed from “1111” to “0000”, so that the page cross detection unit 140 passes the page boundary of the logical address space and then the K + th address.
It is detected that the first page is reached.

ページクロス検出部140の検出出力は、オア回路31を
通して、ページクロス割込みを発生するページクロス割
込み発生回路32に与えられ、そして、処理装置120に割
り込みが与えられる。
The detection output of the page cross detection unit 140 is applied to the page cross interrupt generation circuit 32 that generates a page cross interrupt through the OR circuit 31, and then the processing device 120 is interrupted.

処理装置120では、セットされた論理アドレスレジス
タ40の論理ページアドレスに基づいてアドレス変換を実
行させる。
The processing unit 120 executes address conversion based on the set logical page address of the logical address register 40.

これにより、論理ページアドレス「0101」に対応する
実ページアドレス、例えば「011」が得られれば、前述
と同様にして読出し処理が実行される。
As a result, if the real page address corresponding to the logical page address “0101”, for example, “011” is obtained, the reading process is executed in the same manner as described above.

しかしながら、このアドレス変換処理時に、TLB50あ
るいはDAT60のいずれにも、与えられた論理ページアド
レス「0101」に対応する実ページアドレスが格納されて
いない場合は、ページフォルト発生部115が論理ページ
アドレスに対応する実ページアドレスを保持しているこ
とを示す有効ビットテーブルの有効ビットがオフである
ことを検出し、ページフォルト信号を発生する。
However, when the real page address corresponding to the given logical page address "0101" is not stored in either TLB50 or DAT60 at the time of this address conversion processing, the page fault generating unit 115 corresponds to the logical page address. Generates a page fault signal by detecting that the valid bit in the valid bit table indicating that the real page address is held is off.

ページフォルト信号が発生すると、オペレーティング
システム(OS)は、公知の手法により、主記憶装置110
から古いページ(例えば、第n−1ページ)を追い出
し、ページフォルトとなった新しいページ(例えば、第
nページ)を、補助記憶装置100からロードする処理を
処理装置120により実行させる。
When the page fault signal is generated, the operating system (OS) uses the well-known method to make the main storage device 110
, The old page (for example, the (n−1) th page) is purged, and the new page (for example, the nth page) having the page fault is loaded from the auxiliary storage device 100 by the processing device 120.

このページフォルト信号は、同時にページクロス要求
フラグセット回路70に入力され、これによりページクロ
ス要求フラグ10をセットし、その出力をオア回路31を通
してページクロス割込み発生回路32にに与えることで、
前述と同様にして処理装置120に対して、ページクロス
割込みを与える。
This page fault signal is simultaneously input to the page cross request flag set circuit 70, whereby the page cross request flag 10 is set, and its output is given to the page cross interrupt generation circuit 32 through the OR circuit 31,
A page cross interrupt is given to the processing device 120 in the same manner as described above.

すなわち、第K+1ページ(第nページ)目が主記憶
装置110に存在しなかった時、古いページの追い出しが
行なわれ、また、第nページを補助記憶装置100から主
記憶装置110ヘロードする際にアドレス変換テーブルTLB
50及びDAT60の内容も書き換えられる。
That is, when the K + 1th page (nth page) does not exist in the main storage device 110, the old page is swept out, and when the nth page is loaded from the auxiliary storage device 100 to the main storage device 110. Address translation table TLB
The contents of 50 and DAT60 are also rewritten.

このとき、古いページとして、第Kページ目である第
n−1ページ目が選択されて追い出される場合がある。
At this time, as the old page, the n−1th page, which is the Kth page, may be selected and ejected.

このようにして主記憶装置へのページの入れ替え処理
(ページフォルト処理)が終了すると、処理装置120
は、論理アドレスレジスタ40の内容に基づいて、論理ペ
ージアドレスのアドレス変換を実行し、対応する実ペー
ジアドレスを得、命令用実アドレスレジスタ53を介して
主記憶装置110内の命令の読出しが行なわれ、前述と同
様の処理を繰り返して実行する。
When the page replacement processing (page fault processing) in the main storage device is completed in this way, the processing device 120
Executes the address conversion of the logical page address based on the contents of the logical address register 40 to obtain the corresponding real page address, and reads the instruction in the main memory device 110 via the instruction real address register 53. Then, the same processing as described above is repeatedly executed.

ところで、第Kページ目のページ内アドレス「0001」
はmove命令を示しており、このmove命令により、第Kペ
ージ目のページ内アドレス「1111」から第K+1ページ
目のページ内アドレス「0011」迄のデータを連続的に取
出す場合が存在する。
By the way, in-page address “0001” of the Kth page
Indicates a move instruction, and there are cases where the move instruction continuously fetches data from the in-page address “1111” of the Kth page to the in-page address “0011” of the (K + 1) th page.

従って、処理装置120は、このmove命令を読出すべ
く、論理アドレスレジスタ40に、論理アドレス「010000
01」をセットして主記憶装置110より読出す。
Therefore, the processor 120 loads the logical address “010000” into the logical address register 40 in order to read this move instruction.
"01" is set and read from the main storage device 110.

そして、処理装置120は、読出したmove命令に基づ
き、必要なデータが論理アドレス「01001111」から「01
010011」に格納されていると判断すると、まず、この論
理アドレス「01001111」を論理アドレスレジスタ40にセ
ットし、TLB50等によるアドレス変換を実行させて対応
する実ページアドレスをデータ用実アドレスレジスタ54
に格納する。
Then, based on the read move instruction, the processing device 120 transmits necessary data from the logical addresses “01001111” to “01”.
If it is determined that the address is stored in "010011", then the logical address "01001111" is first set in the logical address register 40, and the address conversion by the TLB 50 or the like is executed to make the corresponding real page address the data real address register 54.
To be stored.

そして、ページ内アドレス「1111」とに基づいて、主
記憶装置110をアクセスする。
Then, the main storage device 110 is accessed based on the in-page address “1111”.

次いで、データを連続的に読出すべく、論理アドレス
レジスタ40に論理アドレス「01010000」をセットする
と、ページクロス検出部140によりページクロスが検出
される。
Next, in order to continuously read the data, the logical address “01010000” is set in the logical address register 40, and the page cross detector 140 detects the page cross.

このとき、前述と同様にして、ページクロスに対応し
たアドレス変換、すなわち、ページアドレス「0101」に
基づくアドレス変換処理を実行させるが、ページフォル
トとなり、第Kページ目が追い出され、対応するページ
が補助記憶装置100から主記憶装置110へロードされる。
At this time, in the same manner as described above, the address translation corresponding to the page cross, that is, the address translation processing based on the page address “0101” is executed, but a page fault occurs, the Kth page is ejected, and the corresponding page is It is loaded from the auxiliary storage device 100 to the main storage device 110.

これにより、論理アドレスレジスタ40にセットされた
論理アドレス「01010000」に対応する実アドレスが得ら
れ、主記憶装置110からデータの読出しが実行される。
As a result, the real address corresponding to the logical address “01010000” set in the logical address register 40 is obtained, and the data is read from the main storage device 110.

そして、ページ内アドレスを「0011」迄順次変化させ
て、データの読出を実行し、move命令の処理を終了す
る。
Then, the in-page address is sequentially changed to "0011", data reading is executed, and the processing of the move instruction is completed.

そして、処理装置120は、move命令の次の命令を実行
すべく、論理アドレス「01000010」を論理アドレスレジ
スタ40にセットする。
Then, the processing device 120 sets the logical address “01000010” in the logical address register 40 in order to execute the instruction next to the move instruction.

このとき、処理装置120は、次の命令が同一ページ内
であることから、アドレス変換を指示しないので、第K
ページ目の実ページアドレスを格納している命令用実ア
ドレスレジスタ53にページ内アドレス「0010」を格納し
て、主記憶装置110をアクセスさせる。
At this time, the processor 120 does not instruct the address conversion because the next instruction is within the same page, so
The in-page address “0010” is stored in the instruction real address register 53 that stores the real page address of the page, and the main storage device 110 is accessed.

従って、この時、第Kページ目はページフォルト処理
時に主記憶装置110から追い出され、主記憶装置110内に
存在していないので、従来の仮想記憶制御装置では、誤
ったページの情報を、次の命令として読出してしまう。
Therefore, at this time, since the K-th page is ejected from the main storage device 110 during the page fault processing and does not exist in the main storage device 110, the conventional virtual storage control device may output the incorrect page information to the next page. Will be read as the command.

このため、本発明では、前述したページフォルト発生
部150によるページフォルトの検出時に出力されたペー
ジフォルト信号をページフォルト割込みとして処理装置
120に入力させると同時に、ページクロス割込みを処理
装置120に与えている。 従って、処理装置120は、次の
命令を読出すべく論理アドレスレジスタ40に論理アドレ
スをセットし、主記憶装置110のアクセス指示を発した
後、ページクロス割込みの有無を確認し、割込みが存在
する場合には、アクセス指示を抑制する一方、再度論理
アドレスレジスタ40にセットした論理アドレスに基づい
てアドレス変換を実行するように指示するようにしてい
る。
Therefore, in the present invention, the page fault signal output when the page fault generation unit 150 detects the page fault as the page fault interrupt is processed by the processing device.
At the same time as the input to 120, the page cross interrupt is given to the processor 120. Therefore, the processor 120 sets a logical address in the logical address register 40 to read the next instruction, issues an access instruction to the main memory 110, and then confirms the presence or absence of a page cross interrupt, and the interrupt exists. In this case, while suppressing the access instruction, the instruction to execute the address conversion based on the logical address set again in the logical address register 40 is given.

尚、このアドレス変換を行なうことで、フラグ10のリ
セットが行なわれる。
The flag 10 is reset by performing this address conversion.

これにより、再度論理ページアドレス「0100」のアド
レス変換処理を実行させる。
As a result, the address conversion process for the logical page address “0100” is executed again.

しかしながら、この時、対応する実ページアドレスが
存在していないので、再度ページフォルトが発生して、
この論理アドレスに対応するページ(第n−1ページ
目)を補助記憶装置100から主記憶装置110へロードす
る。
However, at this time, since the corresponding real page address does not exist, a page fault occurs again,
The page (n-1th page) corresponding to this logical address is loaded from the auxiliary storage device 100 to the main storage device 110.

そして、対応する実ページアドレスを得、命令用実ア
ドレスレジスタ53に格納して主記憶装置110をアクセス
する。
Then, the corresponding real page address is obtained and stored in the instruction real address register 53 to access the main memory device 110.

また、move命令とは異なり、あるページのページ内ア
ドレス「1101」から次のページのページ内アドレス「00
01」迄で1つの命令を構成する場合がある。
Also, unlike the move instruction, the in-page address "1101" of one page to the in-page address "00 of the next page"
There is a case where one instruction is composed up to 01 ”.

従って、処理装置120は、この命令を読出すべく、論
理アドレスレジスタ40に論理アドレスをセットする。
Therefore, the processing unit 120 sets the logical address in the logical address register 40 in order to read this instruction.

そして、ページ内アドレス「1101」の命令が読出され
た時点で、次の部分を読出す前に、この命令で必要とす
るデータを読出すべく、論理アドレスレジスタ40に論理
アドレスをセットしてアドレス変換を実行させ、対応す
る実ページアドレスをデータ用実アドレスレジスタ54に
格納しておく。
When the instruction of the address “1101” in the page is read, the logical address is set in the logical address register 40 to read the data required by this instruction before the next portion is read. The conversion is executed and the corresponding real page address is stored in the data real address register 54.

そして、この状態で、命令の次の部分の読出しを行な
うべく、論理アドレスをセットする。
Then, in this state, the logical address is set to read the next part of the instruction.

このとき、ページクロスが発生することになるので、
同様にしてページフォルトが発生し、前記あるページが
追い出され、このあるページに、レジスタ54にセットさ
れたアドレスで読出すべきデータが入っていると、全て
の命令の読出し終了後のデータ読出し時に誤まったデー
タを読出すことになってしまうが、前述したように、ペ
ージフォルト時にページクロス割込みを発生させている
ので、この主記憶装置110へのアクセス指示を発した
後、処理装置120が割込みを確認することで、このアク
セスを抑制し、再度アドレス変換を実行させることがで
きる。
At this time, a page cross will occur, so
In the same manner, a page fault occurs, the certain page is ejected, and if this certain page contains data to be read at the address set in the register 54, at the time of reading data after the completion of reading of all instructions. Although erroneous data will be read, as described above, since a page cross interrupt is generated at the time of a page fault, after issuing an access instruction to this main memory device 110, the processing device 120 By confirming the interrupt, this access can be suppressed and the address translation can be executed again.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明によれば、命令とデータ
を同じページの中に格納することが可能となり、メモリ
空間を有効利用することが可能となると共に、毎回アド
レス変換を行なう必要がなくメモリアクセスの高速化を
図ることができる。
As described above, according to the present invention, instructions and data can be stored in the same page, the memory space can be effectively used, and it is not necessary to perform address conversion every time. It is possible to speed up access.

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

第1図は本発明に係る仮想記憶制御方式の実施例の説明
図であり、第2図は論理アドレス空間の説明図である。 図において、40は論理アドレスレジスタ、50はTLB、60
はDAT、100は補助記憶装置、110は主記憶装置、120は処
理装置、130はアドレス変換部、140はページクロス検出
部、150はページフォルト発生部、160はページクロス要
求部である。
FIG. 1 is an explanatory diagram of an embodiment of a virtual memory control system according to the present invention, and FIG. 2 is an explanatory diagram of a logical address space. In the figure, 40 is a logical address register, 50 is a TLB, 60
Is a DAT, 100 is an auxiliary storage device, 110 is a main storage device, 120 is a processing device, 130 is an address conversion unit, 140 is a page cross detection unit, 150 is a page fault generation unit, and 160 is a page cross request unit.

フロントページの続き (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 渡部 徹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 丸山 拓巳 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 竹野 巧 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内Front page continuation (72) Inventor Kazuyasu Nonomura 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa, Fujitsu Limited (72) Inventor Toru Watanabe 1015, Kamedotachu, Nakahara-ku, Kawasaki, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Takumi Maruyama 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Takumi Takeno, 1015, Kamikodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のページから成る情報を格納する第1
の記憶装置内の一部のページの情報がページ単位毎に区
分され、各ページ毎に実ページアドレスが割当てられて
格納される第2の記憶装置と、 論理ページアドレスとページ内アドレスとを含む論理ア
ドレスを与えることで、前記第2の記憶装置内から所望
ページ内の特定アドレス位置の情報を読出す処理装置
と、 論理ページアドレスと実ページアドレスとの対応関係を
保持し、与えられた論理ページアドレスに対応する実ペ
ージアドレスを出力するアドレス変換部と、 与えられた論理ページアドレスに対応する実ページアド
レスが前記アドレス変換部にて得られないことを検出
し、前記処理装置に対して、前記第2の記憶装置内に格
納されているページ単位の情報と前記第1の記憶装置内
に格納されている情報の入れ替えを指示するページフォ
ルト信号を出力するページフォルト発生部と、 前記ページフォルト信号にもとづき、前記処理装置に対
して、当該処理装置が次の情報を読出す時に与えられる
論理ページアドレスを前記アドレス変換部に与えるよう
指示する割込み信号を出力する割込み発生部と、 を備えたことを特徴とする仮想記憶制御装置。
1. A first storing information comprising a plurality of pages
A second storage device in which information of a part of pages in the storage device is divided for each page, and a real page address is assigned and stored for each page; and a logical page address and an in-page address. By giving a logical address, a processing device for reading information of a specific address position in a desired page from the second storage device, and holding a correspondence relationship between a logical page address and a real page address, and giving a given logical address. An address translation unit that outputs a real page address corresponding to the page address, and detects that the real page address corresponding to the given logical page address cannot be obtained by the address translation unit, and for the processing device, A page for instructing the replacement of the page unit information stored in the second storage device and the information stored in the first storage device A page fault generating section that outputs a fault signal, and, based on the page fault signal, instruct the processing apparatus to give the logical page address given when the processing apparatus reads the next information to the address conversion section. A virtual memory control device comprising: an interrupt generation unit that outputs an interrupt signal that
JP63117608A 1988-05-13 1988-05-13 Virtual storage controller Expired - Lifetime JP2509981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63117608A JP2509981B2 (en) 1988-05-13 1988-05-13 Virtual storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63117608A JP2509981B2 (en) 1988-05-13 1988-05-13 Virtual storage controller

Publications (2)

Publication Number Publication Date
JPH01287760A JPH01287760A (en) 1989-11-20
JP2509981B2 true JP2509981B2 (en) 1996-06-26

Family

ID=14715977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63117608A Expired - Lifetime JP2509981B2 (en) 1988-05-13 1988-05-13 Virtual storage controller

Country Status (1)

Country Link
JP (1) JP2509981B2 (en)

Also Published As

Publication number Publication date
JPH01287760A (en) 1989-11-20

Similar Documents

Publication Publication Date Title
JP2635058B2 (en) Address translation method
US4037215A (en) Key controlled address relocation translation system
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
US5852738A (en) Method and apparatus for dynamically controlling address space allocation
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPH0425579B2 (en)
EP0145960B1 (en) Selective guest system purge control
US4050094A (en) Translator lookahead controls
JPH0312339B2 (en)
US4042913A (en) Address key register load/store instruction system
JP2509981B2 (en) Virtual storage controller
JP2510317B2 (en) TLB access device
JPS6220034A (en) Program status word switching control system
JPH03141444A (en) Data processor
JPS6019534B2 (en) Transfer control device
JPH07152653A (en) Data processor
JPS62256039A (en) Microprogram controller
JPH024016B2 (en)
JPS58142437A (en) Information processor
Chase et al. Virtual memories for mini-computers
JPS63221440A (en) Address converting device
JPH0812637B2 (en) Address translation method
JPH0412855B2 (en)
JPS6047613B2 (en) Microprogram control method