JPS61105654A - Address conversion control method - Google Patents
Address conversion control methodInfo
- Publication number
- JPS61105654A JPS61105654A JP59227012A JP22701284A JPS61105654A JP S61105654 A JPS61105654 A JP S61105654A JP 59227012 A JP59227012 A JP 59227012A JP 22701284 A JP22701284 A JP 22701284A JP S61105654 A JPS61105654 A JP S61105654A
- Authority
- JP
- Japan
- Prior art keywords
- address
- area
- translated
- address translation
- storage means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置におけるアドレス変換制御方式
、特に複数のアドレス空間を格納管理するアドレス変換
テーブルと、このアドレス変換テーブルの一部を格納す
る変換アドレス格納手段を備えたアドレス変換機構によ
り、アドレス空間からの被変換アドレスを物理アドレス
に変換する場合の、アドレス変換テーブルの一部を変換
アドレス格納手段に格納する際の対応を規定するアドレ
ス変換制御方式に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an address translation control method in an information processing device, particularly an address translation table for storing and managing a plurality of address spaces, and a method for storing a part of this address translation table. An address that defines the correspondence when a part of the address translation table is stored in the translated address storage means when a translated address from the address space is translated into a physical address by an address translation mechanism equipped with a translated address storage means. Concerning conversion control method.
複数のアドレス空間を格納管理するアドレス変換テーブ
ルにより、1つのアドレス空間がらの被変換アドレスを
物理アドレスにアドレス変換する場合、従来のアドレス
変換制御方式によるアドレス変換においては、高速で動
作するメモリ又はレジスタ等の変換アドレス格納手段に
、アドレス変換テーブルから一部分のアドレス空間の写
しを格納してアドレス変換を高速で実行しようとしてい
た。When converting a translated address in one address space into a physical address using an address translation table that stores and manages multiple address spaces, address translation using conventional address translation control methods requires memory or registers that operate at high speed. An attempt was made to store a copy of a portion of the address space from an address translation table in a translated address storage means such as the above, in order to perform address translation at high speed.
この従来のアドレス変換制御方式において、変換アドレ
ス格納手段にメモリを用いた場合は、アドレス変換テー
ブルの写しを保持する情報量は多くなるが、アドレス変
換制御を高速に実行できるようにするのが困難であった
。また所望のアドレス空間の写しがない場合などでメモ
リの写しを更新するときは、そのアルゴリズムが複雑で
更新処理に時間がかかり、またハードウェアがレジスタ
を用いた場合よりも多くなるという問題があった。In this conventional address translation control method, if memory is used as the translation address storage means, the amount of information that holds a copy of the address translation table increases, but it is difficult to execute address translation control at high speed. Met. Furthermore, when updating a copy of memory when a copy of a desired address space is not available, the algorithm is complex and the update process takes time, and there is a problem that the number of hardware is larger than when registers are used. .
一方、レジスタを用いた場合は、変換アドレス格納手段
を少いハードウェア量で構成でき、かつアドレス変換の
実行を高速に行うことができるが、その反面、アドレス
変換テーブルの写しを保持する情報量が少ないので、ア
ドレス変換テーブルとレジスタの間での情報の入れ換え
の回数が多くなり、アドレス変換の実行を高速に行うこ
とが妨げられるという不都合があった。On the other hand, when registers are used, the translated address storage means can be configured with a small amount of hardware and the address translation can be executed at high speed, but on the other hand, the amount of information required to hold a copy of the address translation table is Since the number of addresses is small, the number of exchanges of information between the address translation table and the register increases, which is disadvantageous in that it is difficult to perform address translation at high speed.
従来のアドレス変換制御方式においては、前述のように
、変換アドレス格納手段にメモリを用いたものは、アド
レス変換を高速に行うことが困難であり、かつハードウ
ェアも多いという問題があり、レジスタを用いたものは
、ハードウェアは少いが、その割にはアドレス変換を高
速に実行できないという問題があった。このように、従
来のアドレス変換制御方式においては、少ないハードウ
ェアでかつアドレス変換を高速で実行することが困難で
あった。In conventional address translation control methods, as mentioned above, those that use memory as a means for storing translated addresses have the problem that it is difficult to perform address translation at high speed and requires a large amount of hardware. Although the system used had less hardware, it had the problem of not being able to perform address translation at high speed. As described above, in the conventional address translation control system, it is difficult to perform address translation at high speed with less hardware.
本発明は、従来のアドレス変換制御方式における前述の
問題点を解決し、最小限のハードウェアにより高速でか
つ効率のよいアドレス変換制御方式を提供するもので、
そのための手段として、複数のアドレス空間を管理する
アドレス変換テーブルとこのアドレス変換テーブルの一
部を格納する変換アドレス格納手段を備えたアドレス変
換機構により、アドレス空間からの被変換アドレスをア
ドレス変換する場合のアドレス変換制御方式において、
前記アドレス変換テーブル内にアドレス変換テーブルの
内容を変換アドレス格納手段に格納するときの対応を指
示する領域識別情報を格納する領域を設け、さらに、こ
の領域識別情報の指示に従って、前記アドレス変換テー
ブルの一部を前記変換アドレス格納手段に格納する手段
を設けるように構成したものである。The present invention solves the above-mentioned problems in conventional address translation control methods, and provides a high-speed and efficient address translation control method using a minimum amount of hardware.
As a means for this purpose, an address translation mechanism that includes an address translation table that manages multiple address spaces and translation address storage means that stores a part of this address translation table is used to translate the translated address from the address space. In the address translation control method of
The address translation table includes an area for storing area identification information that instructs how to store the contents of the address conversion table in the converted address storage means, and furthermore, according to the instructions of this area identification information, the address conversion table is stored. It is configured to include means for storing a part of the translated address in the translated address storage means.
アドレス変換テーブルは、アドレス変換テーブルに必要
なアクセス制御情報やアドレス空間の論理アドレスに対
応する物理アドレスの他に、変換アドレス格納手段に格
納するときの対応を指示する領域識別情報を有している
。変換アドレス格納手段には、アドレス変換テーブルの
一部が格納され、アドレス空間からの被変換アドレスの
論理アドレスとそれに対応する物理アドレスが保持され
ている。アドレス空間からの被変換アドレスが入力され
たとき、そのアドレス空間が変換アドレス格納手段に存
在するときは、変換アドレス格納手段に格納されている
物理アドレスに基づいてアドレス変換が行われる。対応
するアドレス空間が存在しないときは、アドレス変換テ
ーブルから領域識別情報の指示に従って、被変換アドレ
スに対応するアドレス空間の領域部分が変換アドレス格
納手段の所定領域に格納され、この更新データに基いて
アドレス変換が行われる。これにより、最小限のハード
ウェアでかつ高速なアドレス変換を実行することができ
る。The address translation table has, in addition to the access control information necessary for the address translation table and the physical address corresponding to the logical address in the address space, area identification information that instructs the response when storing in the translated address storage means. . The translated address storage means stores a part of the address translation table, and holds the logical address of the translated address from the address space and the corresponding physical address. When a translated address from an address space is input and the address space exists in the translated address storage means, address translation is performed based on the physical address stored in the translated address storage means. When the corresponding address space does not exist, the area portion of the address space corresponding to the address to be translated is stored in a predetermined area of the translated address storage means according to the instructions of the area identification information from the address conversion table, and based on this updated data. Address translation is performed. This allows high-speed address translation to be performed with a minimum amount of hardware.
本発明の実施例を図面を参照して詳細に説明する。第1
図は本発明の一実施例の構成を示すブロック図、第2図
は変換アドレス格納手段を中心とした本発明の一実施例
の回路構成を示すブロック図、第3図は本発明のアドレ
ス変換制御方式によるアドレス変換過程の概略説明図で
ある。Embodiments of the present invention will be described in detail with reference to the drawings. 1st
Figure 2 is a block diagram showing the configuration of an embodiment of the present invention, Figure 2 is a block diagram showing the circuit configuration of an embodiment of the invention centering around the translated address storage means, and Figure 3 is an address conversion diagram of the present invention. FIG. 2 is a schematic explanatory diagram of an address conversion process using a control method.
まず、第3図により本発明のアドレス変換制御方式によ
るアドレス変換過程の概略を説明する。First, an outline of the address translation process using the address translation control system of the present invention will be explained with reference to FIG.
第3図において、AS (1〜n)はユーザ状態で使用
される複数のアドレス空間で、各アドレス空間はそれぞ
れのプロセス域を有している。In FIG. 3, AS (1 to n) are a plurality of address spaces used in the user state, and each address space has its own process area.
CTはアドレス変換テーブルで、各アドレス空間AS
(1〜n)を分割管理している。すなわち、各アドレス
空間に共通の共用域は、共用プログラム域CTCP及び
共用データ域CTCHに、各アドレス空間のプロセス域
は、ユーザプログラム域CTUP、ユーザデータ域CT
UD及びユーザスタック域CTUSの各領域に分割管理
されている。CT is an address translation table, and each address space AS
(1 to n) are managed separately. That is, the shared areas common to each address space are the shared program area CTCP and the shared data area CTCH, and the process areas of each address space are the user program area CTUP and the user data area CT.
It is divided and managed into each area of UD and user stack area CTUS.
アドレス変換テーブルCTには、第1図で詳細に説明す
るように、本発明の特徴であるアドレス変換テーブルC
Tの一部を変換アドレス格納部(CR)に格納する際の
両者の対応を指示する領域識別情報を格納する領域識別
情報域CTDIが設けられている。なお、各アドレス空
間及びアドレス変換テーブルは、いずれも論理アドレス
を用いて論理空間を構成している。As explained in detail in FIG. 1, the address translation table CT includes an address translation table C, which is a feature of the present invention.
An area identification information area CTDI is provided for storing area identification information that indicates the correspondence between the two when storing a part of T in the translated address storage section (CR). Note that each address space and the address conversion table form a logical space using logical addresses.
CRは変換アドレス格納部で、アドレス変換テーブルC
Tの各領域に対応して、共用プログラム、共用データ、
ユーザプログラム、ユーザデータ、ユーザスタックの各
領域を備え、これらの領域にアドレス変換テーブルCT
の一部を、それらの論理アドレス(論理ページ)とそれ
に対応する物理アドレス(物理ページ)とともに格納し
ている。CR is a translation address storage area, and address translation table C
Corresponding to each area of T, shared programs, shared data,
It has user program, user data, and user stack areas, and an address conversion table CT is provided in these areas.
, along with their logical addresses (logical pages) and corresponding physical addresses (physical pages).
psは主記憶装置の物理アドレスを格納する物理空間で
、カーネル(Kernel)域PSKD、各アドレス空
間の共用域PSCD、各ユーザの利用するユーザ域PS
UD、入出力制御域I10、各種制御情報が格納される
ROM域ROM、ディスプレイ画面表示用メモリ域FM
が設けられている。ps is a physical space that stores the physical addresses of the main storage device, and includes a kernel area PSKD, a shared area PSCD for each address space, and a user area PS used by each user.
UD, input/output control area I10, ROM area ROM where various control information is stored, memory area FM for display screen display
is provided.
次に、第3図のアドレス変換過程について説明する。各
アドレス空間AS (1〜n)は、前述のように、アド
レス変換テーブルCTにより、共用プログラム域CTC
P、共用データ域CTCD。Next, the address conversion process shown in FIG. 3 will be explained. As mentioned above, each address space AS (1 to n) is assigned to the shared program area CTC by the address translation table CT.
P, shared data area CTCD.
ユーザプログラム域CTUP、ユーザデータ域CTUD
及びユ・−ザスタック域CTUSの各空間に分割されて
管理される。User program area CTUP, user data area CTUD
and a user stack area CTUS.
このアドレス変換テーブル内のアドレス空間の一部が、
一定単位例えばページ単位で写しが作成されて、変換ア
ドレス格納部CRにその領域識別情報の指示に従って格
納する(この点については、次の第1図で詳細に説明す
る)。Part of the address space in this address translation table is
A copy is created in a fixed unit, for example, a page, and stored in the converted address storage section CR according to the instructions of the area identification information (this point will be explained in detail in FIG. 1 below).
変換アドレス格納部CRは、1つのアドレス空間から被
変換アドレスが入力されると、それを参照情報として被
変換アドレスに対応する物理アドレスを作成する。When a translated address is input from one address space, the translated address storage unit CR creates a physical address corresponding to the translated address using it as reference information.
被変換アドレスに対応するアドレス変換テーブルの部分
が変換アドレス格納部CRに格納されていないときは、
被変換アドレスにより元のアドレス変換テープCTをア
ドレスし、被変換アドレスに対応するエントリ部分を読
み出して変換アドレス格納部CRの内容を更新する。そ
の際、アドレス変換テーブルCTの領域識別情報にした
がって変換アドレス格納部CRの所定の個所を更新して
格納する処理が行われる。したがって、更新処理は前述
のいずれの従来方式よりも高速に行うことができるので
、全体のアドレス変換処理を高速化することができる。When the part of the address translation table corresponding to the address to be translated is not stored in the translated address storage section CR,
The original address conversion tape CT is addressed by the address to be converted, the entry portion corresponding to the address to be converted is read out, and the contents of the converted address storage section CR are updated. At this time, processing is performed to update and store a predetermined location in the translated address storage section CR according to the area identification information of the address translation table CT. Therefore, the update processing can be performed faster than any of the conventional methods described above, so that the overall address conversion processing can be speeded up.
第1図は、アドレス変換テーブルCTと変換アドレス格
納手段CRの構成及びアドレス変換テーブルの一部を変
換アドレス格納手段CRに格納する方法を説明したもの
である。FIG. 1 explains the structure of the address translation table CT and the translated address storage means CR, and the method of storing a part of the address translation table in the translated address storage means CR.
アドレス変換テーブルCTは、各アドレス空間を一定単
位(通常ページ(4KB)単位、以下ページ単位で説明
する)毎に物理空間に配置するための管理テーブルで、
先に説明したように、各アドレス空間を共用データ域C
TCD、共用プログラム域CTCP、ユーザスタック域
CTUS、ユーザデータ域CTUD及びユーザプログラ
ム域CTUP域に分割管理している。The address conversion table CT is a management table for arranging each address space in a physical space in fixed units (generally in page (4KB) units, hereinafter explained in page units).
As explained earlier, each address space is divided into a shared data area C.
It is divided and managed into TCD, shared program area CTCP, user stack area CTUS, user data area CTUD, and user program area CTUP area.
分割された各領域には、ユーザプログラム域CTUP中
に1つが例示されているように、各アドレス空間からの
被変換アドレスにそれぞれ対応するエントリCTEが格
納されている。各エントリは、例えば32ビツトで構成
され、アクセス制御情報を格納するアクセス制御域CT
AC1被変換アドレスの論理ページに対応する物理アド
レスを格納する物理ページ域CTPP及び当該エントリ
がプログラム域、データ域、スタック域、共用域等のい
ずれであるかを示す領域識別情報を格納する領域識別域
CTDIを有している。Each divided area stores entries CTE corresponding to the addresses to be translated from each address space, as shown in one example in the user program area CTUP. Each entry consists of, for example, 32 bits, and has an access control area CT that stores access control information.
A physical page area CTPP that stores the physical address corresponding to the logical page of the AC1 translated address and an area identification that stores area identification information indicating whether the entry is a program area, data area, stack area, shared area, etc. It has an area CTDI.
領域識別情報は、例えば5ビツト構成で、「00000
Jがプログラム域、ro 0100Jがデータ域I、r
01000Jがデータ域■、「01100」がスタック
域、rl OOOOJが共用プログラム域、rl 01
00Jが共用データ域を指示するようにして、領域識別
を行う。The area identification information has a 5-bit configuration, for example, and is "00000".
J is the program area, ro 0100J is the data area I, r
01000J is the data area ■, "01100" is the stack area, rl OOOOJ is the shared program area, rl 01
Area identification is performed so that 00J indicates the shared data area.
変換アドレス格納手段CRは、アドレス変換テーブルの
各領域に対応して、共用データ域CRCD1共用プログ
ラム域CRCP、ユーザスタック域CRUS、ユーザデ
ータ域CRUD、ユーザプログラム域CRUPを備えて
いる。各領域には、アクセス制御情報を格納するアクセ
ス制御域CRAC1被変換アドレスの論理ページを格納
する論理ページ域CRRP、この被変換アドレスに対応
する物理ページを格納する物理ページ域CRPPを有し
ている。The translated address storage means CR includes a shared data area CRCD1, a shared program area CRCP, a user stack area CRUS, a user data area CRUD, and a user program area CRUP, corresponding to each area of the address conversion table. Each area has an access control area CRAC for storing access control information, a logical page area CRRP for storing the logical page of the translated address, and a physical page area CRPP for storing the physical page corresponding to this translated address. .
変換アドレス格納手段CRは、アドレス変換を゛高速で
行うことができるようにするため、例えばレジスタで構
成される。また各領域の有するエントリの個数は、少く
とも1個すなわちアドレス変換テーブルCT中の1つの
アドレス空間骨を格納できるようにすれば、次の第2図
で説明するように、アドレス変換を実行することができ
るので、変換アドレス格納手段CRを含めてアドレス変
換機構を最小限のハードウェアで構成することができる
。The translated address storage means CR is composed of, for example, a register in order to be able to perform address translation at high speed. Furthermore, if each area has at least one entry, that is, one address space bone in the address translation table CT, then address translation can be performed as explained in Figure 2 below. Therefore, the address translation mechanism including the translated address storage means CR can be configured with a minimum amount of hardware.
第2図は、本発明のアドレス変換制御方式の具体的な回
路構成をブロック図で示したものである。FIG. 2 is a block diagram showing a specific circuit configuration of the address translation control method of the present invention.
第2図において、11はアドレス空間から入力される被
変換アドレスで、論理アドレス構成をとっており、本実
施例では論理ページ及びオフセットで構成される。12
はアドレス変換境界レジスタ(ATCR)で、アドレス
変換を行う境界となるアドレス値PGSが格納されてい
る。アドレス空間からの被変換アドレスの全てについて
アドレス変換を行う必要があるものでなく、アドレス空
間の種類に関係しないカーネル域部分については、アド
レス変換を行う必要はない。このカーネル域部分のアド
レス(論理ページ)は、アドレス空間のアドレス(論理
ページ)よりも下位に設定されている。In FIG. 2, reference numeral 11 denotes a translated address input from the address space, which has a logical address configuration, and in this embodiment is configured by a logical page and an offset. 12
is an address translation boundary register (ATCR) in which an address value PGS serving as a boundary for address translation is stored. It is not necessary to perform address translation for all addresses to be translated from the address space, and there is no need to perform address translation for kernel area portions that are not related to the type of address space. The address (logical page) of this kernel area portion is set lower than the address (logical page) of the address space.
したがって、両者の境界のアドレス値であるアドレス変
換境界値PGSと被変換アドレス11のページ値を比較
することにより、被変換アドレスがアドレス変換を行う
べきものであるか否かを判定することができる。13は
比較器で、被変換アドレス11の論理ページ値とATC
R12のアドレス変換境界値PGSを比較する。Therefore, by comparing the address translation boundary value PGS, which is the address value at the boundary between the two, and the page value of the translated address 11, it is possible to determine whether the translated address should undergo address translation. . 13 is a comparator, which compares the logical page value of the address to be converted 11 with the ATC
The address translation boundary value PGS of R12 is compared.
14Aは変換アドレス格納手段CRのユーザプログラム
域CRUP、14Bはユーザデータ域■CRUDIS
14Cはユーザデータ域ffcRUD■、140はユー
ザスタック域CRUS、14Eは共用プログラム域CR
CP、14Fは共用データ域CRCDである。各領域は
、前述のように、アクセス制御域CRAC,8!理ペー
ジ域CRRP。14A is the user program area CRUP of the conversion address storage means CR, 14B is the user data area CRUDIS
14C is user data area ffcRUD■, 140 is user stack area CRUS, 14E is shared program area CR
CP, 14F is a shared data area CRCD. Each area has an access control area CRAC, 8!, as described above. Management page area CRRP.
物理ページ域CRPPを有している。アクセス制御域C
RACには、Inva l i d (1) 、Wr
its Protect (W)、Accessed
(R) 、Mod i f i ed (C)の
アクセス制御情報が格納されている。It has a physical page area CRPP. Access control area C
RAC has Invalid (1), Wr.
Its Protect (W), Accessed
(R) and Modified (C) access control information is stored.
15A、15B、15C,15D、15E、15Fはそ
れぞれ比較器A、比較器B、比較器C1比較器D1比較
器E、比較器Fで、各対応する領域CRUP13A、C
RUD113B、CRUD1113C,CRUS13D
、CRCP13E、CRC:D13Fの論理ページ値と
被変換アドレス11の論理ページ値を比較し、一致して
いるときにのみ出力を発生する。15A, 15B, 15C, 15D, 15E, and 15F are comparator A, comparator B, comparator C1, comparator D1, comparator E, and comparator F, respectively, and the corresponding areas CRUP13A, C
RUD113B, CRUD1113C, CRUS13D
, CRCP13E, CRC:D13F and the logical page value of the converted address 11 are compared, and an output is generated only when they match.
16A〜16Fは、対応する比較器15A〜15Fの出
力とアクセス制御域CRACのrビットの否定を入力と
するアンド回路、17A〜17Fは対応するアンド回路
16A〜16Fの出力と物理ページ域dRPPの出力を
入力とするアンド回路、18はアンド回路17A〜17
Fの出力と比較器13の出力を入力とするアンド回路、
19は比較器13出力の否定と被変換アドレス11のペ
ージ部分を入力とするアンド回路、20A〜20Fは対
応するアンド回路16A〜16Fの出力とアクセス制御
域CRACのWビットの出力を入力とするアンド回路、
2LA〜21Fは対応するアンド回路20A〜20Fの
出力とリード・ライト信号(R/W)の反転信号を入力
とするアンド回路、22〜24はオア回路、25はイン
バータである。16A to 16F are AND circuits that input the outputs of the corresponding comparators 15A to 15F and the negation of the r bit of the access control area CRAC, and 17A to 17F are the outputs of the corresponding AND circuits 16A to 16F and the negation of the r bit of the access control area CRAC. AND circuit whose output is input, 18 is AND circuit 17A to 17
an AND circuit whose inputs are the output of F and the output of comparator 13;
19 is an AND circuit whose inputs are the negation of the output of the comparator 13 and the page portion of the address to be converted 11, and 20A to 20F are inputs the outputs of the corresponding AND circuits 16A to 16F and the output of the W bit of the access control area CRAC. and circuit,
2LA to 21F are AND circuits which input the outputs of the corresponding AND circuits 20A to 20F and an inverted signal of a read/write signal (R/W), 22 to 24 are OR circuits, and 25 is an inverter.
25はセレクタレジスタで、図示しないアドレス変換テ
ーブルCTの領域識別域CTDI(第1図参照)から読
出された領域識別情報を入力として、対応する変換レジ
スタ格納部CRの領域に論理ページと物理ページの格納
を行う。Reference numeral 25 denotes a selector register, which inputs the area identification information read from the area identification area CTDI (see FIG. 1) of the address conversion table CT (not shown) and assigns logical pages and physical pages to the area of the corresponding conversion register storage CR. Perform storage.
26はアドレスレジスタで、被変換アドレス11のオフ
セットとその論理ページに対応する物理ページが書込ま
れる。26 is an address register in which the offset of the address to be translated 11 and the physical page corresponding to the logical page are written.
次に第2図の動作について説明する。図示しないアドレ
ス空間の1つから被変換アドレス11が入力されると、
比較器I3は、格納しであるアドレス変換境界値PGS
と被変換アドレス11の論理ページ値を比較する。Next, the operation shown in FIG. 2 will be explained. When the converted address 11 is input from one of the address spaces not shown,
Comparator I3 stores the address translation boundary value PGS
and the logical page value of the address to be translated 11.
前者が後者より大きいときは、被変換アドレス11はカ
ーネル域からのものであると判定して、変換制御信号T
Cを出力しない。したがって、被変換アドレス11の論
理ページは、アンド回路19及びオア回路22を経由し
てアドレスレジスタ26に書込まれ、物理ページとなる
。アドレスレジスタ26には、被変換アドレス11から
そのオフセットが書込まれており、これらの物理ページ
とオフセットの値から、カーネル域の物理アドレスが形
成される。When the former is larger than the latter, it is determined that the address to be converted 11 is from the kernel area, and the conversion control signal T
Does not output C. Therefore, the logical page of the address to be translated 11 is written to the address register 26 via the AND circuit 19 and the OR circuit 22, and becomes a physical page. The offset from the address to be translated 11 is written in the address register 26, and a physical address in the kernel area is formed from these physical pages and offset values.
アドレス変換境界値PGSが被変換アドレス11の論理
ページ値より小さいときは、比較器13は、被変換アド
レス11が変換を必要とするものであると判定して変換
制御信号TCを出力する。When the address conversion boundary value PGS is smaller than the logical page value of the address to be converted 11, the comparator 13 determines that the address to be converted 11 requires conversion and outputs the conversion control signal TC.
したがって、アンド回路17A〜17Fのいずれから出
力された物理ページが、アンド回路18及びオア回路2
2を経由してアドレスレジスタに書込まれることになる
。Therefore, the physical page output from any of the AND circuits 17A to 17F is determined by the AND circuit 18 and the OR circuit 2.
It will be written to the address register via 2.
一方、被変換アドレス11の論理ページは、比較器A1
5A〜比較器F15Fの一方の入力端に加えられる。こ
れらの比較器の他方の入力端には、対応するCRUD
14.A−CRCD 14 Eの各論理ページが加えら
れる。各比較器は両者の論理ページを比較し、一致した
ときに一致出力を発生するが、いまその比較器が比較器
D14Dであるとする。比較器D14Dからの一致出力
によりアンド回路16Dと17Dが開き、CRUS14
Dの物理ページが、アンド回路17D、18及びオア回
路22を経由してアドレスレジスタ26に書込まれる。On the other hand, the logical page of address 11 to be converted is
5A to one input terminal of comparator F15F. The other inputs of these comparators have the corresponding CRUD
14. Each logical page of A-CRCD 14E is added. Each comparator compares the two logical pages and generates a match output when they match. Assume now that the comparator is comparator D14D. The coincidence output from comparator D14D opens AND circuits 16D and 17D, and CRUS14
Physical page D is written to address register 26 via AND circuits 17D and 18 and OR circuit 22.
アクセス制御域CRACの■ビットは、正しい被変換ア
ドレス11に対してはrOJである。The ■ bit of the access control area CRAC is rOJ for the correct translated address 11.
アドレスレジスタ26は、CRUS 14Dから書込ま
れた物理ページと被変換アドレス11から書込まれたオ
フセットから、被変換アドレス11に対応する物理アド
レスを形成する。Address register 26 forms the physical address corresponding to translated address 11 from the physical page written from CRUS 14D and the offset written from translated address 11.
このようにすることにより、アドレス空間の任惹の領域
(前述の例はユーザスタック域)からの被変換アドレス
を、対応する物理空間の物理ア、ドレスに変換すること
ができる。By doing so, it is possible to convert the address to be translated from an arbitrary area of the address space (the user stack area in the above example) into a physical address of the corresponding physical space.
変換アドレス格納手段CRに格納されているアドレス空
間中に、被変換アドレス11に対応するアドレス空間が
存在しないときは、比較器A15A〜比較器F15Fの
いずれからも一致出力は発生されない。したがって、ア
ドレスレジスタ26に対する物理ページの書込みは行わ
れない。When there is no address space corresponding to the translated address 11 in the address space stored in the translated address storage means CR, no match output is generated from any of the comparators A15A to F15F. Therefore, no physical page is written to the address register 26.
このとき、オア回路23はフォルト(Fault)信号
を発生する。このフォルト信号を受けると、図示しない
アドレッシング回路は、被変換アドレス11によりアド
レス変換テーブルCTをアドレスして、被変換アドレス
11に対応するエントリから物理ページ及びそのエント
リの領域識別情報を読出す。その領域識別情報はセレク
トレジスタ回路25に供給され、一方、その物理ページ
は被変換アドレス11の論理ページとともに更新データ
を形成して、変換アドレス格納手段CRの各領域CRU
DI 4A NCRCDI 4Fの各論理ページ域及び
物理ページ域に供給される。At this time, the OR circuit 23 generates a fault signal. Upon receiving this fault signal, an addressing circuit (not shown) addresses the address translation table CT using the translated address 11 and reads out the physical page and area identification information of the entry from the entry corresponding to the translated address 11. The area identification information is supplied to the select register circuit 25, and on the other hand, the physical page forms update data together with the logical page of the translated address 11, and each area CRU of the translated address storage means CR
DI 4A NCRC DI Supplied to each logical page area and physical page area of 4F.
セレクタレジスタ25は、領域識別情報を受けると、前
記エントリを格納する変換アドレス格納手段CR中の領
域を選定して(実施例では、CRUS14D)、その領
域(CRUS 14D)の論理ページ及び物理ページ域
に、前記更新データに従って前記エントリの物理ページ
及び被変換アドレス11の論理ページを書込み、その内
容を更新する。Upon receiving the area identification information, the selector register 25 selects an area in the translated address storage means CR to store the entry (CRUS14D in the embodiment), and selects the logical page and physical page area of that area (CRUS14D). Then, the physical page of the entry and the logical page of the translated address 11 are written in accordance with the update data, and their contents are updated.
この結果、比較器DI 5Dにより一致出力が発生され
、前述と同様に、アドレスレジスタ26から被変換アド
レス11に対応する物理アドレスが形成される。As a result, a match output is generated by the comparator DI 5D, and a physical address corresponding to the translated address 11 is formed from the address register 26 as before.
この更新動作は、全てハードウェアによって行われると
ともに、領域識別情報により更新の対象となる変換アト
、レス格納手段の領域があらかじめ選定されているので
、従来の変換アドレス格納手段にレジスタを用いたもの
よりも一段と高速に実行することができる。This update operation is entirely performed by hardware, and the areas of the conversion address and address storage means to be updated are selected in advance based on the area identification information. It can be executed much faster than.
比較器A15A〜比較器F15Fのいずれかから一致出
力が発生したときは、アクセス制御域のW(ライト・プ
ロテクト)ビット、アンド回路20(A−F)、アンド
回路21(A−F)、オア′回路24等によりプロテク
ション例外信号が発生され、誤った更新を阻止する。When a match output is generated from any of comparators A15A to F15F, the W (write protect) bit in the access control area, AND circuit 20 (A-F), AND circuit 21 (A-F), and OR A protection exception signal is generated by circuit 24 or the like to prevent erroneous updates.
以上のようにして、変換アドレス格納手段CRに所望の
アドレス空間が格納されている場合にも、いない場合に
も、対応する物理アドレスに対するアドレス変換が高速
に実行される。As described above, whether or not a desired address space is stored in the translated address storage means CR, address translation for the corresponding physical address is executed at high speed.
なお、前述の実施例では、変換アドレス格納手段CRに
格納されるアドレス変換テーブルCTの一部として各領
域から1個のエントリを格納しているが、本発明は1個
の場合に限定されるものでなく、アドレス変換テーブル
CTの各領域から複数のエントリを変換アドレス格納手
段CRに格納する場合も包含するものである。その場合
、領域識別情報は、対応する変換アドレス格納手段CR
の領域と、その領域内のエントリ番号を指示するものと
なる。In the above embodiment, one entry is stored from each area as part of the address translation table CT stored in the translation address storage means CR, but the present invention is limited to one entry. It also includes a case where a plurality of entries from each area of the address translation table CT are stored in the translated address storage means CR. In that case, the area identification information is stored in the corresponding translation address storage means CR.
This indicates the area and the entry number within that area.
以上説明したように、本発明によれば、アドレス変換テ
ーブルの各領域のそれぞれのエントリに、それらが格納
される変換アドレス格納手段における領域に対する領域
識別情報を持つようにしたので、変換アドレス格納手段
に所望のアドレス空間の写しが存在しない場合に、アド
レス変換テーブルから所望のアドレス空間のエントリを
読出して、変換アドレス格納手段の所定領域を速やかに
更新することができる。したがって、全体のアドレス変
換処理を高速に実行することができる。また、変換アド
レス格納手段の更新が速やかに行えることから、変換ア
ドレス格納手段が格納するアドレス変換用の情報量を最
小限のものですますことができるので、最小限のハード
ウェアで変換アドレス格納手段を含むアドレス変換機構
を構成することができる。As explained above, according to the present invention, each entry of each area of the address translation table has area identification information for the area in the translated address storage means in which they are stored. If a copy of the desired address space does not exist in the address translation table, the entry for the desired address space can be read from the address translation table to quickly update the predetermined area of the translated address storage means. Therefore, the entire address translation process can be executed at high speed. In addition, since the translated address storage means can be updated quickly, the amount of information for address translation stored in the translated address storage means can be kept to a minimum. An address translation mechanism including the following can be configured.
第1図は本発明のアドレス変換制御方式の説明図、第2
図は本発明のアドレス変換制御方式の具体的な回路構成
のブロック説明図、第3図は本発明のアドレス変換制御
方式によるアドレス変換過程の説明図である。
図中、11は被変換アドレス、12はアドレス変換境界
レジスタ(ATCR) 、13は比較器、14Aは変換
アドレス格納手段(CR)のユーザプログラム域(CR
UP) 、14Bは同じくユーザデータ域I (CR
UDI) 、14Gは同じくユーザデータ域II (C
RUD■)、14Dは同じくユーザスタック域(CRU
S) 、14Eは同じく共用プログラム域(CRCP)
、14Fは同じく共用データ域(CRCD) 、15
A 〜15Fは比較器A〜比較器F、16A〜16F、
17A〜17F、18,19,20,21はアンド回路
、22〜24はオア回路、25はインバータ、26はア
ドレスレジスタをそれぞれ示す。
また、CTはアドレス変換テーブル、CTACはアクセ
ス制御域、CTPPは物理ページ域、CTDIは領域識
別域を示す。FIG. 1 is an explanatory diagram of the address translation control method of the present invention, and FIG.
FIG. 3 is a block diagram illustrating a specific circuit configuration of the address translation control system of the present invention, and FIG. 3 is a diagram illustrating an address translation process using the address translation control system of the present invention. In the figure, 11 is the address to be translated, 12 is the address translation boundary register (ATCR), 13 is the comparator, and 14A is the user program area (CR) of the translated address storage means (CR).
UP), 14B is also the user data area I (CR
UDI), 14G is also user data area II (C
RUD■), 14D is also the user stack area (CRU
S), 14E is also the shared program area (CRCP)
, 14F is also the shared data area (CRCD), 15
A to 15F are comparators A to F, 16A to 16F,
17A to 17F, 18, 19, 20, and 21 are AND circuits, 22 to 24 are OR circuits, 25 is an inverter, and 26 is an address register, respectively. Further, CT indicates an address translation table, CTAC indicates an access control area, CTPP indicates a physical page area, and CTDI indicates an area identification area.
Claims (1)
このアドレス変換テーブルの一部を格納する変換アドレ
ス格納手段を備えたアドレス変換機構により、アドレス
空間からの被変換アドレスをアドレス変換する場合のア
ドレス返還制御方式において、前記アドレス変換テーブ
ル内にアドレス変換テーブルの内容を変換アドレス格納
手段に格納するときの対応を指示する領域識別情報を格
納する領域を設け、さらに、この領域識別情報の指示に
従って、前記アドレス変換テーブルの一部を前記変換ア
ドレス格納手段に格納する手段を設けるようにしたこと
を特徴とするアドレス変換制御方式。An address return control method when a translated address from an address space is translated by an address translation mechanism that includes an address translation table that manages multiple address spaces and a translated address storage means that stores a part of this address translation table. In the address conversion table, an area is provided for storing area identification information that instructs how to store the contents of the address conversion table in the converted address storage means, and further, the address conversion is performed according to the instructions of the area identification information. An address translation control system characterized in that means is provided for storing a part of the table in the translated address storage means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59227012A JPS61105654A (en) | 1984-10-29 | 1984-10-29 | Address conversion control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59227012A JPS61105654A (en) | 1984-10-29 | 1984-10-29 | Address conversion control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61105654A true JPS61105654A (en) | 1986-05-23 |
Family
ID=16854129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59227012A Pending JPS61105654A (en) | 1984-10-29 | 1984-10-29 | Address conversion control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61105654A (en) |
-
1984
- 1984-10-29 JP JP59227012A patent/JPS61105654A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4218743A (en) | Address translation apparatus | |
| JP2635058B2 (en) | Address translation method | |
| EP0149389B1 (en) | Address translation control system | |
| US5182805A (en) | Method and system for determining copy-on-write condition | |
| JPS61141055A (en) | Address conversion method for information processing equipment | |
| JPS63231550A (en) | Multiple virtual space control method | |
| JPH077363B2 (en) | Access device and method | |
| JPS6376034A (en) | Multiple address space control method | |
| JP3045952B2 (en) | Full associative address translator | |
| JP3454854B2 (en) | Memory management device and method | |
| JPH0313615B2 (en) | ||
| JPH0312339B2 (en) | ||
| EP0531123B1 (en) | A dynamic address translation processing apparatus in a data processing system | |
| JP2768503B2 (en) | Virtual memory address space access control method | |
| US5479631A (en) | System for designating real main storage addresses in instructions while dynamic address translation is on | |
| JPS623357A (en) | Tlb control system | |
| JPH03235144A (en) | Cache memory controller | |
| US4424564A (en) | Data processing system providing dual storage of reference bits | |
| JPS61105654A (en) | Address conversion control method | |
| JPS6273347A (en) | address translation device | |
| JPS62151958A (en) | virtual address translation device | |
| JP3290682B2 (en) | Address translation device | |
| JPS62172451A (en) | Data processor | |
| JPS646492B2 (en) | ||
| JPS589272A (en) | Invalidation processing system for address conversion index buffer |