JPH0812640B2 - Address translation method and apparatus - Google Patents
Address translation method and apparatusInfo
- Publication number
- JPH0812640B2 JPH0812640B2 JP61117290A JP11729086A JPH0812640B2 JP H0812640 B2 JPH0812640 B2 JP H0812640B2 JP 61117290 A JP61117290 A JP 61117290A JP 11729086 A JP11729086 A JP 11729086A JP H0812640 B2 JPH0812640 B2 JP H0812640B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- segment
- virtual
- tlb
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想記憶装置を備える計算機システムに係
り、特に実記憶装置を有効に利用するのに好適なアドレ
ス変換方式に関する。The present invention relates to a computer system including a virtual storage device, and more particularly to an address conversion method suitable for effectively using a real storage device.
従来のアドレス変換の代表的な方式の一つ、セグメン
トテーブルおよびページテーブルノ2つのアドレス変換
テーブルにより、仮想アドレスから実アドレスへの変換
を行うものであつた。〔例えばマニユアル「HITAC M
シリーズ処理装置(日立製作所製)M/EAモード」8080−
2−083pp.47〜53〕この方式は、実記憶の効率的な利用
に対して特に優れており、例えば、参照される可能性の
薄いページはページテーブルの実ページ不在ビツトをオ
ンにすることにより、動的に実ページを実記憶装置から
削除可能とし、さらに、参照する可能性の薄いセグメン
トに対しては、セグメントテーブルのセグメント不在ビ
ツトをオンにすることにより、動的にページテーブルを
実記憶から削除可能としている。One of the typical conventional address conversion methods, a segment table and a page table, is used to convert a virtual address into a real address. [For example, "HITAC M
Series processor (manufactured by Hitachi Ltd.) M / EA mode ”8080-
2-083 pp.47-53] This method is particularly excellent for efficient use of real memory. For example, for pages that are unlikely to be referred to, turn on the real page fault bit in the page table. This enables real pages to be dynamically deleted from the real storage device, and for segments that are unlikely to be referenced, the segment table bit in the segment table is turned on to dynamically create the page table. It can be deleted from memory.
ところが、近年ハードウェアおよび計算機アーキテク
チャの発達により実記憶装置および仮想記憶装置の容量
は飛躍的に増大し、数GB(ギガバイト:Giga Byte)乃至
数百GBに拡張する傾向にある。これに対してページサイ
ズは従来のままであるため、ページ数の増加により、ア
ドレス変換テーブルのメモリ容量や検索等に要するプロ
セッサ時間などの記憶装置の管理コストは急激に増加す
る。特に、巨大な記憶領域を要求するジョブに対して従
来と同じページ単位のメモリ割り付けを行っていたので
は、変換テーブルに要するメモリ容量は巨大なものにな
る。However, in recent years, due to the development of hardware and computer architecture, the capacities of real memory devices and virtual memory devices have increased dramatically, and tend to expand to several GB (Giga Byte) to several hundred GB. On the other hand, since the page size remains the same as the conventional one, the management cost of the storage device such as the memory capacity of the address translation table and the processor time required for the search rapidly increases with the increase of the number of pages. In particular, if the same memory allocation for each page is performed for a job that requires a huge storage area, the memory capacity required for the conversion table becomes enormous.
ページサイズを拡大することにより、これらの管理コ
ストは低減する。しかし、その一方でメモリの断片化に
よりメモリ利用効率が低下する。さらに、既存のソフト
ウェア、特にオペレーティング・システムの互換性を考
慮すると、ページサイズを変更することは容易ではな
い。By increasing the page size, these management costs are reduced. On the other hand, however, memory fragmentation reduces memory utilization efficiency. Furthermore, changing the page size is not easy given the compatibility of existing software, especially operating systems.
本発明の目的は、従来との互換性を維持しつつ、前述
の管理コストを削減することによって記憶装置の有効利
用を図り、ジョブの多重度およびシステムのスループッ
トを向上させることにある。An object of the present invention is to improve the multiplicity of jobs and the throughput of the system by maintaining the compatibility with the prior art while reducing the above-mentioned management cost to effectively utilize the storage device.
上記目的を達成するため、本発明では、実記憶装置中
の連続する領域を割り当てられたセグメントに対して、
セグメントテーブルおよびセグメント内変位から直接実
アドレスを生成し、ページテーブルを省略する。In order to achieve the above-mentioned object, in the present invention, for a segment to which a continuous area in a real storage device is allocated,
The real address is generated directly from the segment table and the displacement within the segment, and the page table is omitted.
このような仮想記憶情報システムにおいてさらに、ペ
ージを単位とする従来のアドレス変換と上述のセグメン
ト単位のアドレス変位の両方を同時に扱えるようにする
ため、本発明では望ましくはセグメントテーブルエント
リにページテーブルを使用しない旨を表わすEビットを
設け、セグメント単位に2つのアドレス変換方式を切り
換えられるようにする。すなわち、アドレス変換時に、
仮想アドレスに対応するセグメントテーブルエントリ内
のEビットがオンならば、該エントリ内のアドレスとセ
グメント内変位から実アドレスを生成する。そして、E
ビットがオフならば、従来どおりページテーブルを用い
て実アドレスを生成する。Further, in such a virtual memory information system, the present invention preferably uses a page table for the segment table entry in order to be able to simultaneously handle both the conventional address translation in units of pages and the above-mentioned address displacement in units of segments. An E bit indicating that the address is not set is provided so that the two address conversion methods can be switched in segment units. That is, at the time of address translation,
If the E bit in the segment table entry corresponding to the virtual address is ON, the real address is generated from the address in the entry and the displacement in the segment. And E
If the bit is off, the page table is used as before to generate the real address.
本発明によれば、セグメントサイズの連続する実記憶
装置を割り当てる場合、ページテーブルが不要となるの
で、実記憶装置を有効に利用することができ、ジヨブの
多重度およびシステムのスループツトを向上させること
ができる。According to the present invention, when allocating a real storage device having continuous segment sizes, the page table is not required, so that the real storage device can be effectively used, and the multiplicity of jobs and the system throughput can be improved. You can
また、セグメント毎にセグメント単位のアドレス変換
と従来のページ単位のアドレス変換を切り換えられるの
で、1つのジョブにおいて両方のアドレス変換を同時に
扱え、既存のプログラムの互換性を維持することができ
る。Further, since it is possible to switch between the segment-based address conversion and the conventional page-based address conversion for each segment, it is possible to handle both address conversions simultaneously in one job and maintain compatibility with existing programs.
以下図面に従つて本発明を詳細に説明する。第3図
は、本発明の計算機システムにおける位置付けを表した
ものである。命令実行時CPU10は命令アドレスまたはオ
ペランド・アドレスを論理アドレス・レジスタLAR11に
セツトする。このアドレスを動的アドレス変換機構DAT2
0により実アドレスに変換し、得られた実アドレスを実
記憶制御装置SCU30に送ることにより、実記憶装置MS40
より対応するデータを得る。The present invention will be described in detail below with reference to the drawings. FIG. 3 shows the positioning in the computer system of the present invention. When executing an instruction, the CPU 10 sets the instruction address or operand address in the logical address register LAR11. This address is a dynamic address translation mechanism DAT2
The real address is converted to a real address by 0, and the obtained real address is sent to the real storage controller SCU30,
Get more corresponding data.
DAT20は一般にアドレス変換テーブルに基づいて論理
アドレスを実アドレスに変換するアドレス変換機構22と
変換の高速化を目的とした連想記憶装置TLB21からな
る。本発明はこのDATに関するものである。The DAT 20 generally comprises an address translation mechanism 22 for translating a logical address into a real address based on an address translation table, and an associative memory device TLB 21 for the purpose of speeding up the translation. The present invention relates to this DAT.
第2図は仮想記憶装置VS50と実記憶装置MS40および両
者の対応付けを行うアドレス変換テーブルについて示し
たものである。アドレス変換テーブルは、当該仮想記憶
空間のセグメントテーブルを指すセグメントテーブルオ
リジン・レジスタSTOR12とセグメントテーブルSGT221お
よびセグメントテーブルのエントリが指すベージテーブ
ルPGT222からなる。SGT221のエントリにはセグメント単
位のアドレス変換を行うか否かの情報を表すEビツトを
設ける。Eビツトが0(オフ)のときは、当該エントリ
に対応するセグメントはページ単位に実記憶装置が割り
当てられており、従来のページテーブルを索引するペー
ジ単位のアドレス変換を行う。Eビツトが1(オン)の
ときには、当該エントリに対応するセグメントはセグメ
ント単位に実記憶装置が割り当てられておりページテー
ブルを使わず直接MS40の実セグメント41にマツピングす
る。これにより、Eビツトがオンであるセグメントのペ
ージテーブルを省略できる。変換テーブルはMS40上に置
かれるため、本発明により実記憶装置のオーバヘツドを
軽減できる。さらに、アドレス変換テーブルは1度しか
参照しないため、変換に要する処理オーバヘツドを減少
できる。FIG. 2 shows a virtual storage device VS50, a real storage device MS40, and an address conversion table for associating them with each other. The address translation table includes a segment table origin register STOR12 that points to the segment table of the virtual storage space, a segment table SGT221, and a page table PGT222 that points to the entry of the segment table. The entry of the SGT 221 is provided with an E bit indicating information as to whether or not address conversion in segment units is performed. When the E bit is 0 (off), a real storage device is assigned to the segment corresponding to the entry in page units, and address conversion is performed in page units to index the conventional page table. When the E bit is 1 (ON), the segment corresponding to the entry is assigned a real storage device in segment units and directly maps to the real segment 41 of the MS 40 without using the page table. As a result, the page table of the segment in which the E bit is on can be omitted. Since the conversion table is placed on the MS 40, the present invention can reduce the overhead of the real storage device. Further, since the address conversion table is referenced only once, the processing overhead required for the conversion can be reduced.
次に、アドレス変換テーブルによるアドレス変換方式
について説明する。第6図は、アドレス変換に必要なレ
ジスタを、第1図は変換の流れを示したものである。論
理アドレスはLARにセツトされるが、セグメント単位に
変換するときと、ページ単位に変換するときとでは、そ
のフイールドの意味が異なる。第6図(a)はページを
変換の単位としたときのLARフイールドの意味である。L
ARの上位からセグメント番号S#111、ページ番号P#1
12およびページ内変位DP113の各フイールドに分かれて
いる。一方、セグメントを単位とするときのLARフイー
ルドは同図(b′)のようになり、その意味は、最上位
はセグメント番号であり、下位はセグメント内変位DS11
4である。セグメントテーブルエントリは同図(c)に
示すようなフイールドを持ち、アドレスPGTA221−aと
Eビツト221−bからなる。PGTA221−aの内容は、Eビ
ット221−bが0(オフ)のときには対応するページテ
ーブルのアドレスであり、Eビット221−bが1(オ
ン)のときには対応する実セグメントのアドレスであ
る。また、ページテーブルエントリ同図(d)は、実ペ
ージアドレスRPGA222−aを持つ。Next, an address conversion method using the address conversion table will be described. FIG. 6 shows registers necessary for address conversion, and FIG. 1 shows a flow of conversion. The logical address is set to LAR, but the meaning of the field is different when converting into segment units and when converting into page units. FIG. 6 (a) shows the meaning of the LAR field when the page is used as a conversion unit. L
Segment number S # 111 and page number P # 1 from the top of AR
There are 12 and in-page displacement DP113 fields. On the other hand, the LAR field when the segment is used as a unit is as shown in Fig. 7 (b '), which means that the highest is the segment number and the lower is the intra-segment displacement DS11.
4 The segment table entry has a field as shown in FIG. 9C, and is composed of an address PGTA221-a and an E bit 221-2b. The content of PGTA 221-a is the address of the corresponding page table when the E bit 221-b is 0 (off), and the address of the corresponding real segment when the E bit 221-b is 1 (on). Further, the page table entry (d) in the figure has a real page address RPGA222-a.
次に、アドレス変換の流れについて第1図に示す。ア
ドレス変換を行う要求が発生したとき、まず、223−a
においてSTOR12からセグメントテーブルの先頭アドレス
を求め、これにS#111にセグメントテーブルエントリ
のサイズを乗じた値を加えることにより、対応するセグ
メントテーブルエントリの実アドレスを求める。この実
アドレスをSCU30に与えることにより、セグメントテー
ブルエントリを求める。次に223−bにおいてセグメン
トテーブルエントリのEビツトを調べ、0(オフ)なら
ば223−cの処理を行う。223−cでは、ページ単位のア
ドレス変換を行うため、PGTA221−aとP#112にページ
テーブルエントリサイズを乗じた値を加えることによ
り、対応するページテーブルエントリの実アドレスを求
める。このアドレスをSCU30に与えることにより、ペー
ジテーブルエントリを求める。そして、223−dにおい
てRPGA222−aとDPを加えることにより実アドレスを求
める。Next, FIG. 1 shows the flow of address conversion. When a request for address translation is generated, first, 223-a
At, the start address of the segment table is obtained from STOR12, and the value obtained by multiplying S # 111 by the size of the segment table entry is added to obtain the real address of the corresponding segment table entry. By giving this real address to the SCU 30, the segment table entry is obtained. Next, at 223-b, the E bit of the segment table entry is checked, and if 0 (off), the processing at 223-c is performed. In 223-c, since the address conversion is performed in page units, the real address of the corresponding page table entry is obtained by adding the value obtained by multiplying PGTA 221-a and P # 112 by the page table entry size. By giving this address to the SCU 30, the page table entry is obtained. Then, the actual address is obtained by adding RPGA222-a and DP in 223-d.
一方223−bの処理においてEビツトが1(オン)な
らば、223−eの処理を行う。223−eでは、セグメント
テーブルエントリのPGTA221−aとセグメント内変位DS1
14を加えることにより実アドレスを求める。On the other hand, if the E bit is 1 (ON) in the process of 223-b, the process of 223-e is performed. 223-e, the segment table entry PGTA221-a and the intra-segment displacement DS1
Calculate the real address by adding 14.
次に、EビツトをサポートするためのTLBの構成につ
いて説明する。第4図は、EビツトサポートするTLBの
構成の一例を示したものである。TLB21はSTOR12と論理
アドレスLARのセグメント番号S#とページ番号P#を
入力することにより、実アドレスRAを出力する。TLBの
各エントリにはEビツトを設けておく。TLB索引時、E
ビツトが0(オフ)ならば論理積回路221−bがアクテ
イブとなり、ページ内変位DPが加算器212への入力とな
りTLBの出力であるRAが加えられ、実アドレスが生成さ
れる。Next, the structure of the TLB for supporting the E-bit will be described. FIG. 4 shows an example of the structure of a TLB that supports E-bit. The TLB 21 outputs the real address RA by inputting STOR12, the segment number S # of the logical address LAR and the page number P #. An E bit is provided for each TLB entry. E at TLB index
If the bit is 0 (off), the logical product circuit 221-b becomes active, the in-page displacement DP becomes an input to the adder 212, and RA which is the output of TLB is added to generate an actual address.
一方Eビツトが1(オン)のとき、論理積回路221−
aがアクテイブとなり、論理アドレスのP#およびDPフ
ィールドを各々上位部および下位部とするセグメント内
変位が加算器212への入力となり、TLBの出力であるRAと
加えられ実アドレスが生成される。On the other hand, when the E bit is 1 (on), the AND circuit 221-
a becomes active, and the intra-segment displacement having the P # and DP fields of the logical address as the upper part and the lower part, respectively, becomes an input to the adder 212, and is added to RA which is the output of TLB to generate a real address.
TLBに対応するエントリがない場合は、変換テーブル
によるアドレス変換要求23がオンとなり、上述した変換
テーブルによるアドレス変換が行われる。この変換が終
了すると、セグメントテーブルエントリとページテーブ
ルエントリの情報をTLBにセツトする。実アドレスフイ
ールドには、Eビツトが0(オフ)のときには、RPGA22
2−aを、1(オン)のときには、PGTA221−aをセツト
する。If there is no entry corresponding to the TLB, the address translation request 23 by the translation table is turned on, and the address translation by the above translation table is performed. When this conversion is completed, the information of the segment table entry and page table entry is set in the TLB. For the real address field, when the E bit is 0 (off), RPGA22
When 2-a is 1 (on), PGTA221-a is set.
ところで、第4図に示したTLBの構成ではエントリが
ページ単位であるため、セグメント単位の割り当てにお
いても、無駄にエントリが使われてしまう。そこで、セ
グメント単位とページ単位の2つのTLBを設けることに
よりこの問題を解決する。第5図は、このTLBの構成を
示したものである。TLB21−aはエントリがページ単位
であり、またTLB21−bはエントリがセグメント単位で
ある。TLB21−aの入力は、STOR2と論理アドレス11のセ
グメント番号S#とページ番号P#であり、出力RAは実
ページアドレスである。入力とマツチしたエントリがあ
つた場合、TLB21−aの出力RAとページ内変位DPは、加
算器212−aの入力となり実アドレスが生成される。By the way, in the TLB configuration shown in FIG. 4, since entries are in page units, entries are uselessly used even in allocation in segment units. Therefore, this problem is solved by providing two TLBs for each segment and each page. FIG. 5 shows the structure of this TLB. The TLB21-a has entries in page units, and the TLB21-b has entries in segment units. The input of TLB21-a is the segment number S # and page number P # of STOR2 and logical address 11, and the output RA is the real page address. When there is a matched entry with the input, the output RA of the TLB 21-a and the intra-page displacement DP become the input of the adder 212-a, and the real address is generated.
一方、TLB21−bのエントリとマツチした入力があつ
た場合は、TLB21−bの出力RAと論理アドレスLAR11のP
#およびDPフィールドを各々上位部および下位部とする
セグメント内変位は、加算器212−bへの入力となり、
実アドレスが生成される。On the other hand, if there is a matched input with the entry of TLB21-b, the output RA of TLB21-b and the P of logical address LAR11.
The intra-segment displacement having the # and DP fields as the upper part and the lower part, respectively, becomes an input to the adder 212-b,
A real address is generated.
いずれのTLBにもマツチしない論理アドレスがあつた
場合には、論理積回路231がオンとなりアドレス変換テ
ーブルによる変換要求23をオンとする。アドレス変換テ
ーブルによる変換は上述したとうりである。この変換の
完了後、セグメントテーブルエントリとページテーブル
エントリの情報をTLBにセツトする。ただし、Eビツト
が1(オン)である場合には、論理積回路241−bがオ
ンとなり、TLB21−bだけに情報がセツトされる。ま
た、Eビツトが0(オフ)の場合には、論理積回路241
−aがオンとなり、TLB21−aだけに情報がセツトされ
る。このようにすることにより、両方のTLBのエントリ
に重複がないことを保証する。When there is a logical address that does not match in any TLB, the AND circuit 231 is turned on and the conversion request 23 by the address conversion table is turned on. The conversion by the address conversion table is as described above. After this conversion is complete, the segment table entry and page table entry information is set in the TLB. However, when the E bit is 1 (on), the AND circuit 241-b is turned on and the information is set only in the TLB 21-b. When the E bit is 0 (off), the AND circuit 241
-A is turned on, and information is set only in TLB21-a. This ensures that the entries in both TLBs are unique.
ページテーブルの削除による効果を以下に説明する。
セグメントの大きさを1MB、ページの大きさを4KB、1ペ
ージテーブルエントリの大きさを16Bとすれば、1セグ
メントあたり4KBのページテーブルが必要となる。い
ま、ジヨブの仮想記憶領域をS(MB)、ジヨブの多重度
をn、実記憶装置の大きさをM(MB)とし、簡単化のた
めページング、スワツピングは無視して全仮想記憶領域
に実記憶装置が割り当てられているとすれば、(S/256
+S)・n=M、即ちS・n=256/257・Mとなる。ペ
ージテーブルがなければ、S・n=Mとなるので、本発
明によりM/257の大きさの実記憶装置が有効利用でき
る。即ち、Mが257GBの大きさであれば、1GBの仮想記憶
領域を持つジヨブを実記憶装置上に1つ置くことが可能
となる。実記憶装置の大きさMは今後飛躍的に拡大する
ことが予想されるため、本発明による実記憶装置の有効
利用はジヨブの多重度、システムのスループツト向上の
効果は大きくなる。The effect of deleting the page table will be described below.
If the size of a segment is 1 MB, the size of a page is 4 KB, and the size of a page table entry is 16 B, then a page table of 4 KB is required for each segment. Now, assuming that the virtual memory area of Job is S (MB), the multiplicity of Job is n, and the size of the real memory device is M (MB), paging and swapping are ignored for the sake of simplification. If storage is allocated, (S / 256
+ S) · n = M, that is, S · n = 256/257 · M. If there is no page table, S · n = M, so that the present invention makes it possible to effectively use an actual storage device having a size of M / 257. That is, if M has a size of 257 GB, one job having a virtual storage area of 1 GB can be placed on the real storage device. Since the size M of the real storage device is expected to increase dramatically in the future, the effective use of the real storage device according to the present invention will greatly increase the multiplicity of the job and the throughput of the system.
本発明によれば、セグメントサイズの連続する実記憶
装置が割り当てられたセグメントに対してページテーブ
ルを省略するので、実記憶装置を有効に利用することが
でき、ジョブの多重度およびシステムのスループットを
向上させることができる。According to the present invention, since the page table is omitted for the segment to which the real storage devices having continuous segment sizes are allocated, the real storage device can be effectively used, and the multiplicity of jobs and the system throughput can be improved. Can be improved.
第1図は本発明の変換方式の一実施例を示す処理フロー
図、第2図はアドレス変換テーブルの構成図、第3図は
本発明の位置づけを説明するブロツク図、第4図,第5
図はEビツトをサポートしたTLBの構成例を示すブロツ
ク図、第6図はアドレス変換に必要とされるレジスタの
内容を例示する説明図である。 10……CPU、11……論理アドレスレジスタ、12……セグ
メントテーブルオリジン・レジスタ、20……動的アドレ
ス変換機構、21……TLB、22……変換テーブルによるア
ドレス変換、30……記憶制御装置、40……実記憶装置、
50……仮想記憶装置、41……実セグメント、42……実ペ
ージ、51……仮想セグメント、52……仮想ページ、221
……セグメントテーブル、222……ページテーブル。FIG. 1 is a processing flow chart showing an embodiment of a translation system of the present invention, FIG. 2 is a block diagram of an address translation table, FIG. 3 is a block diagram for explaining the positioning of the present invention, FIGS.
FIG. 6 is a block diagram showing a configuration example of a TLB that supports E-bits, and FIG. 6 is an explanatory diagram illustrating the contents of registers required for address translation. 10 ... CPU, 11 ... Logical address register, 12 ... Segment table origin register, 20 ... Dynamic address translation mechanism, 21 ... TLB, 22 ... Translation table address translation, 30 ... Storage controller , 40 …… Real storage device,
50 ... Virtual storage device, 41 ... Real segment, 42 ... Real page, 51 ... Virtual segment, 52 ... Virtual page, 221
…… Segment table, 222 …… Page table.
Claims (7)
の前記セグメントからなる仮想記憶空間を実記憶装置上
に構成し、前記仮想記憶空間に対応するセグメントテー
ブルと、前記セグメントに対応するページテーブルとを
用いて、仮想アドレスから実アドレスへのアドレス変換
を行う仮想記憶情報処理システムにおいて、 前記仮想アドレスが属するセグメントに対するアドレス
変換単位がセグメント単位かページ単位かを選択し、 選択結果がセグメント単位の場合、前記セグメントテー
ブルの前記セグメントに対応するエントリに指定された
アドレスと前記仮想アドレスの前記セグメント内の変位
から実アドレスを生成し、 選択結果がページ単位の場合、前記セグメントに対応す
る前記ページテーブルのアドレスを前記セグメントテー
ブルの前記セグメントに対応するエントリから求め、前
記ページテーブルの前記仮想アドレスが属するページに
対応するエントリに指定されたアドレスと前記仮想アド
レスの前記ページ内の変位から実アドレスを生成するこ
とを特徴とするアドレス変換方法。1. A segment consisting of a plurality of pages and a virtual storage space consisting of the plurality of segments are configured on a real storage device, and a segment table corresponding to the virtual storage space and a page table corresponding to the segment. In a virtual memory information processing system that performs address translation from a virtual address to a real address using, selecting whether the address translation unit for the segment to which the virtual address belongs is a segment unit or a page unit, and the selection result is a segment unit , Generating a real address from the displacement in the segment of the virtual address and the address specified in the entry corresponding to the segment of the segment table, and if the selection result is in page units, the page table of the segment corresponding to the segment Address the segment table Of the segment corresponding to the segment, the real address is generated from the address designated in the entry corresponding to the page to which the virtual address of the page table belongs and the displacement of the virtual address within the page. Address translation method.
前記アドレス変換単位を選択するステップで、前記セグ
メントテーブルのエントリに記憶された情報に基づいて
アドレス変換単位を選択することを特徴とするアドレス
変換方法。2. The address translation method according to claim 1,
The address conversion method, wherein in the step of selecting the address conversion unit, the address conversion unit is selected based on information stored in the entry of the segment table.
前記セグメントテーブルと前記ページテーブルとを用い
て仮想アドレスから実アドレスへのアドレス変換を行う
前に、 アドレス変換バッファ(TLB)中に前記仮想アドレスに
対応するTLBエントリを求め、 前記仮想アドレスが属するセグメントに対するアドレス
変換単位がセグメント単位かページ単位かを選択し、 選択結果がセグメント単位の場合、前記仮想アドレスの
前記セグメント内の変位と前記TLBエントリ中の実アド
レスとから前記仮想アドレスの実アドレスを生成し、 選択結果がページ単位の場合、前記仮想アドレスの前記
ページ内の変位と前記TLBエントリ中の実アドレスとか
ら前記仮想アドレスの実アドレスを生成することを特徴
とするアドレス変換方法。3. The address conversion method according to claim 1,
Before performing the address translation from the virtual address to the real address using the segment table and the page table, the TLB entry corresponding to the virtual address is obtained in the address translation buffer (TLB), and the segment to which the virtual address belongs Is selected as the unit of address translation for segment or page, and when the selection result is the unit of segment, the real address of the virtual address is generated from the displacement of the virtual address in the segment and the real address in the TLB entry. If the selection result is in page units, the real address of the virtual address is generated from the displacement of the virtual address within the page and the real address in the TLB entry.
位を選択するステップで、前記TLBエントリに記憶され
た情報に基づいてアドレス変換単位を選択することを特
徴とするアドレス変換方法。4. The address translation method according to claim 3, wherein in the step of selecting the address translation unit at the time of address translation using the TLB, the address translation unit is selected based on the information stored in the TLB entry. An address translation method characterized by the above.
前記仮想記憶情報処理システムは、アドレス変換バッフ
ァ(TLB)として前記セグメント単位のアドレス変換を
行う仮想アドレスと実アドレスの対応を置く第1のTLB
と、前記ページ単位のアドレス変換を行う仮想アドレス
と実アドレスの対応のみを置く第2のTLBを有し、 前記セグメントテーブルと前記ページテーブルとを用い
て仮想アドレスから実アドレスへのアドレス変換を行う
前に、 前記第1のTLBおよび前記第2のTLB中にアドレス変換対
象の仮想アドレスに対応するTLBエントリを求め、 求めたTLBエントリが前記第1のTLBのエントリの場合、
前記仮想アドレスの前記セグメント内の変位と前記TLB
エントリ中の実アドレスとから前記仮想アドレスの実ア
ドレスを生成し、 求めたTLBエントリが前記第2のTLBのエントリの場合、
前記仮想アドレスの前記ページ内の変位と前記TLBエン
トリ中の実アドレスとから前記仮想アドレスの実アドレ
スを生成することを特徴とするアドレス変換方法。5. The address translation method according to claim 1,
The virtual memory information processing system, as an address translation buffer (TLB), places a correspondence between virtual addresses and real addresses for performing the address translation in the segment unit as a first TLB.
And a second TLB in which only the correspondence between the virtual address and the real address for performing the address conversion in the page unit is set, and the address translation from the virtual address to the real address is performed using the segment table and the page table. Before, the TLB entry corresponding to the virtual address of the address translation target is obtained in the first TLB and the second TLB, and when the obtained TLB entry is the entry of the first TLB,
The displacement within the segment of the virtual address and the TLB
If the real address of the virtual address is generated from the real address in the entry and the obtained TLB entry is the entry of the second TLB,
An address translation method, wherein a real address of the virtual address is generated from a displacement of the virtual address within the page and a real address in the TLB entry.
つからない場合、 前記セグメントテーブルと前記ページテーブルとを用い
てアドレス変換を行った後に、 前記アドレス変換単位を選択するステップの結果に応じ
て、前記仮想アドレスが属するセグメントに対するアド
レス変換単位がセグメント単位の場合、前記第1のTLB
に前記セグメントに対応するエントリを登録し、前記仮
想アドレスが属するセグメントに対するアドレス変換単
位がページ単位の場合、前記第2のTLBに前記仮想アド
レスが属するページに対応するエントリを登録すること
を特徴とするアドレス変換方法。6. The address translation method according to claim 5, wherein when the TLB entry is not found in the step of obtaining the TLB entry, after the address translation is performed using the segment table and the page table, the address According to the result of the step of selecting a translation unit, if the address translation unit for the segment to which the virtual address belongs is a segment unit, the first TLB
An entry corresponding to the segment is registered in, and when the address translation unit for the segment to which the virtual address belongs is page unit, the entry corresponding to the page to which the virtual address belongs is registered in the second TLB. Address translation method.
の前記セグメントからなる仮想記憶空間を実記憶装置上
に構成し、仮想記憶空間に対応するセグメントテーブル
と、前記セグメントテーブル内のセグメントテーブルエ
ントリで指定されるページテーブルとを用いて、仮想ア
ドレスから実アドレスを生成するページ単位のアドレス
変換を行う仮想記憶情報処理システムにおいて、前記実
記憶装置中の単一の連続領域を割り当てられた前記セグ
メントに対応する前記セグメントテーブルエントリに前
記連続領域のアドレスを指定する手段と、前記連続領域
を割り当てられたセグメントに対して前記セグメントテ
ーブル中の対応するエントリに指定された前記連続領域
のアドレスと仮想アドレスのセグメント内変位から実ア
ドレスを生成するセグメント単位のアドレス変換を行う
手段を有することを特徴とするアドレス変換装置。7. A segment composed of a plurality of pages and a virtual memory space composed of the plurality of segments are configured on a real memory, and a segment table corresponding to the virtual memory space and a segment table entry in the segment table are provided. In a virtual memory information processing system that performs page-based address conversion for generating a real address from a virtual address using a designated page table, a single continuous area in the real memory device is assigned to the segment. Means for designating an address of the continuous area in the corresponding segment table entry, and an address and a virtual address of the continuous area designated in the corresponding entry in the segment table for the segment to which the continuous area is allocated Generate real address from displacement in segment Address converting apparatus characterized by comprising means for performing address translation segment units.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61117290A JPH0812640B2 (en) | 1986-05-23 | 1986-05-23 | Address translation method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61117290A JPH0812640B2 (en) | 1986-05-23 | 1986-05-23 | Address translation method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62274351A JPS62274351A (en) | 1987-11-28 |
| JPH0812640B2 true JPH0812640B2 (en) | 1996-02-07 |
Family
ID=14708088
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61117290A Expired - Lifetime JPH0812640B2 (en) | 1986-05-23 | 1986-05-23 | Address translation method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0812640B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2858795B2 (en) * | 1989-07-14 | 1999-02-17 | 株式会社日立製作所 | Real memory allocation method |
| JPH04360252A (en) * | 1991-06-06 | 1992-12-14 | Mitsubishi Electric Corp | Address conversion system for virtual storage in computer |
-
1986
- 1986-05-23 JP JP61117290A patent/JPH0812640B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62274351A (en) | 1987-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8799621B2 (en) | Translation table control | |
| JPS61141055A (en) | Address conversion method for information processing equipment | |
| US5729714A (en) | Shared memory access method and apparatus with address translation | |
| JPH05165715A (en) | Information processor | |
| CN85107534A (en) | Dynamically allocated local/global memory system | |
| JPH04319747A (en) | Address converting mechanism | |
| JPH0137773B2 (en) | ||
| JP2774862B2 (en) | DMA control device and information processing device | |
| JPH10187538A5 (en) | ||
| KR910001314B1 (en) | How virtual memory is used in data processing systems | |
| JPH0195347A (en) | System for converting address | |
| JPH0812640B2 (en) | Address translation method and apparatus | |
| JPH087719B2 (en) | Information processing system | |
| US20250181516A1 (en) | Method and apparatus for translating virtual address for processing-in memory | |
| JPS5998367A (en) | Address converting buffer memory | |
| JPS5858752B2 (en) | address translation device | |
| JP2001022640A (en) | Memory managing method | |
| JPH0546462A (en) | Multi CPU address translation mechanism | |
| JPH04277846A (en) | High-speed address converting system | |
| JPS58200363A (en) | Input and output control system of virtual system | |
| JPH0517583B2 (en) | ||
| JPS5821352B2 (en) | Buffer memory control method | |
| JPS6360427B2 (en) | ||
| JPS608971A (en) | Central processing unit | |
| JPH03252745A (en) | Microprocessor |