JPS5918787B2 - TLB partition method - Google Patents
TLB partition methodInfo
- Publication number
- JPS5918787B2 JPS5918787B2 JP54137358A JP13735879A JPS5918787B2 JP S5918787 B2 JPS5918787 B2 JP S5918787B2 JP 54137358 A JP54137358 A JP 54137358A JP 13735879 A JP13735879 A JP 13735879A JP S5918787 B2 JPS5918787 B2 JP S5918787B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- tlb
- logical address
- bit
- emulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明は複数プログラムを多重処理するコンピュータに
おいて、複数の論理アドレス系をTLBによつて時分割
処理する方式に関し、特にエミュレーションモードのア
ドレス変換方式に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for time-sharing processing of a plurality of logical address systems using a TLB in a computer that multi-processes a plurality of programs, and particularly relates to an address conversion method in emulation mode.
マルチ処理機能を有するコンピュータシステムにおいて
オペレーティングシステムの管理のもとに、アーキテク
チャの異なる他のコンピュータシステムにおいて機械語
レベルのプログラムのまゝ実行する場合、即ちエミレー
シヨンを実行する場合はエミユトシヨン対象となるコン
ピュータシステムの論理アドレスからエミュレーション
を実行するコンピュータシステムの実アドレスヘのアド
レス変換はソフトウェアによつて主記憶上の変換テーブ
ルを参照して行なわれている。第1図a、bはコンピュ
ータシステム間でエミュレーションを実施する場合のオ
ペレーティング・システムとエミュレーションを可能と
するソフトウェアの関係を示している。When a computer system with multi-processing functions executes a program at the machine language level on another computer system with a different architecture under the management of an operating system, that is, when executing emulation, the computer system to be emulated. The address conversion from the logical address of the computer system to the real address of the computer system executing emulation is performed by software by referring to a conversion table in the main memory. FIGS. 1a and 1b show the relationship between an operating system and software that enables emulation when emulation is performed between computer systems.
図においてコンピュータシステムA、Bにはそれぞれを
管理するオペレーティング・システムOSA、OSBが
あつて、各オペレーティングシステムOSA(50SB
の関係はコンピュータBがコンピュータAのプログラム
をエミュレーションする場合、コンピュータBのハード
ウェアのエミュレーション機構と、それを補助するソフ
トウェアであるコンパテイブル・エグゼキユータOSA
−EXを使用してエミュレーションを可能としている。
コンパテイブル・エグゼキユータOSA−EXはコンピ
ュータシステムBのハードウェア上にコンピュータシス
テムAのハードウェアを仮想的に作成することによつて
コンピュータシステムAのジョブ・プログラムとオペレ
ーティング・システムOSAを実行させる。このコンパ
テイブル・エグゼキユータOSA一EXはオペレーティ
ング・システムOSBの管理下にあり、オペレーティン
グ・システムOSBによる他のジョブ・プログラムとの
並行処理が可能である。ここで、両コンピュータが仮想
記憶方式を採用している場合、前記エミュレーションを
行なうとして両輪理アドレスAL、BL及び実アドレス
AR、BR間のアドレス変換の手段は次の如くである。
第1図cはこの関係を示している。即ち、コンピュータ
システムBにおいて、コンピュータシステムAのプログ
ラムをエミュレーションするときはコンピユータシステ
ムAの論理アドレスALをコンピユータシステムBの実
アドレスBRにアドレス変換する必要があり、コンピユ
ータシステムAのオペレーテイング・システム0SAの
管理下においてあらかじめ作成された論理アドレスAL
と実アドレスARの変換テーブルTAによつてまず与え
られたALからARを求め次いでこの実アドレスARを
コンピユータシステムBの論理アドレスBLとして扱い
、これをコンピユータシステムBのオペレーテイング・
システム0SBの管理下においてあらかじめ作成された
論理アドレスBLと、実アドレスBRの変換テーブルT
Bによつて論理アドレスBLに対応する実アドレスBR
が得られる。ところで、論理アドレスから実アドレスへ
の変換を行なうにはアドレス変換のためのテーブル・エ
ントリ一を2回読出す必要があり、それに要する時間が
すべてオーバンヘツドに加算されるため効率的に行なう
方法としてアドレス変換用バツフア記憶TLB(Tra
nslatiOnLOOkasideBuffer)を
参照する方法が行なわれている。In the figure, computer systems A and B have operating systems OSA and OSB that manage them, respectively, and each operating system OSA (50SB
The relationship is that when computer B emulates computer A's program, computer B's hardware emulation mechanism and the supporting software, the compatible executor OSA,
- Emulation is possible using EX.
Compatible executor OSA-EX executes the job program and operating system OSA of computer system A by virtually creating the hardware of computer system A on the hardware of computer system B. This compatible executor OSA-EX is under the control of the operating system OSB, and can be processed in parallel with other job programs by the operating system OSB. Here, when both computers employ a virtual memory system, the means for address conversion between the virtual addresses AL and BL and the real addresses AR and BR is as follows, assuming that the emulation is performed.
Figure 1c shows this relationship. That is, when computer system B emulates the program of computer system A, it is necessary to convert the logical address AL of computer system A into the real address BR of computer system B, and the Logical address AL created in advance under management
First, AR is obtained from the given AL using the real address AR conversion table TA, and then this real address AR is treated as the logical address BL of computer system B, and this is used in the operating system of computer system B.
Conversion table T between logical address BL and real address BR created in advance under the management of system 0SB
The real address BR corresponding to the logical address BL by B
is obtained. By the way, in order to convert a logical address to a real address, it is necessary to read the table entry 1 for address conversion twice, and the time required for this is all added to the overhead, so address conversion is an efficient method. Buffer memory TLB (Tra
nslatiOnLOOkasideBuffer).
しかし、このTLBに関してはエミユレーシヨンの場合
の様に異なる論理アドレス系の場合に参照する方法がな
い為に、ソフトウエアによつてその都度アドレス変換す
るため、オーバーヘツドが大きくなり効率が悪いもので
あつた。本発明の目的は多重プログラム処理を行なうオ
ペレーテイング・システム下において異なる複数の論理
アドレス系があつても、オーバーヘツドを少なくして効
率よいアドレス変換方式を提供することである。However, since there is no way to refer to this TLB when different logical address systems are used, as in the case of emulation, the address is converted each time by software, which results in large overhead and inefficiency. Ta. SUMMARY OF THE INVENTION An object of the present invention is to provide an efficient address translation method that reduces overhead even if there are a plurality of different logical address systems under an operating system that performs multiple program processing.
本発明によれば論理アドレス入力から実アドレス出力を
得るTLBを使用したアドレス変換機構においてTLB
アドレスを指定するアドレス・ビツト内に、TLBエン
トリと比較する仮想アドレスのアドレス・ビツトにも重
複して使用される特定ビツトを設け、該特定ビツトの組
合せによつて異なる論理アドレス系を識別するビツトに
対応せしめ、該論理アドレス入力が異なる論理アドレス
系であることを示す選択信号を受信したとき、TLBア
ドレスを指定する際に前記特定ピツト出力に代えて該選
択信号によつてTLBアドレス指定して、TLBを分割
使用するTLBパーテイシヨン方式が得られる。According to the present invention, in an address translation mechanism using a TLB that obtains a real address output from a logical address input, the TLB
Within the address bits that specify the address, there are specific bits that are used redundantly in the address bits of the virtual address that is compared with the TLB entry, and the bits that identify different logical address systems depending on the combination of the specific bits. When a selection signal indicating that the logical address input is of a different logical address system is received, the TLB address is specified using the selection signal instead of the specific pit output when specifying the TLB address. , a TLB partitioning method is obtained in which the TLB is divided and used.
以下図面を参照して本発明を説明する。The present invention will be explained below with reference to the drawings.
第2図はエミユレーシヨン・モードにおけるジヨブ・プ
ログラムの処理過程を示す図である。ここで、ネーテイ
ブ・モードはコンピユータそれ自身の機械語をそのコン
ピユータ自身が処理するモード、エミユレーシヨン・モ
ードは他のコンピユータシステムの機械語を処理するモ
ードである。図においていまJOB#1、#2がオペレ
ーテイングシステムBの直接管理のもとにネーテイブ・
モードで動作していると共にJOB#3はコンパテイブ
ル・エグゼキユータ0SA−EXの管理のもとにエミユ
レーシヨン・モードで動作している。このエミユレーシ
ヨン処理はDIL(DOInterpretiveLO
Op)命令によつて以下に続く処理プログラムはエミユ
レーシヨン・モードによつて処理されるべきことが告げ
られる。FIG. 2 is a diagram showing the process of processing a job program in emulation mode. Here, the native mode is a mode in which the computer processes its own machine language, and the emulation mode is a mode in which the computer processes the machine language of another computer system. In the figure, JOB #1 and #2 are currently running natively under the direct management of operating system B.
At the same time, JOB #3 is operating in emulation mode under the management of compatible executor 0SA-EX. This emulation process is performed using DIL (DOInterpretiveLO
The Op) instruction tells that the processing program that follows is to be processed in emulation mode.
又、この命令は他からの割込みがあるか又は処理不能な
命令があるまでエミユレーシヨン・プログラムのループ
を実行させる命令である。このDIL命令によつてエミ
ユレーシヨンを実行する必要がないときはネーテイブ・
モードとなつてコンピユータ自身の機械語プログラムを
処理するモードに戻る。第3図は本発明の一実施例を示
すアドレス変換方式のプロツク図である。Also, this instruction is an instruction for executing a loop of the emulation program until there is an interrupt from another source or an unprocessable instruction. When there is no need to execute emulation using this DIL instruction, the native
mode and returns to the mode in which the computer processes its own machine language program. FIG. 3 is a block diagram of an address conversion system showing one embodiment of the present invention.
本例では論理アドレスとして24ビツトのアドレス・ビ
ツトの長さをもち、ページング方式によるアドレス空間
の2段階の分割は論理アドレス1をセグメント番号5ビ
ツト(第0ビツト〜第4ビツト)、ページ番号8ビツト
(第5ビツト〜第12ビツト)よりなる論理アドレス部
Ll3ビツト及びバイト・アドレスDllビツト(13
ビツト〜第23ビツト)として考える。次に実アドレス
3としては22ビツトのアドレス・ビツトの長さをもち
、実ページ・アドレスRllビツト(第0ビツト〜第1
0ビツト)及びバイト・アドレスDllビツト(第11
ビツト〜第21ビツト)よりなるものとする。図におい
て、TLB2のエントリは256個であり、そのエント
リは仮想アドレス7と、実ページ・アドレス8とが対に
なつて記憶されている。TLB2を利用した通常のアド
レス変換については論理アドレス1が与えられると論理
アドレスからTLBアドレスを求め、ここでは論理アド
レス1のビツト5〜ビツト12の8ビツトによつてTL
Bアトレスがデコーダ4によつて、選択されて、該当す
るエントリ内に求める実アドレスが記憶されているか否
かが比較回路5によつてTLBエントリの仮想アドレス
部7と論理アドレス1の上位6ビツトとが比較されて判
別される。ここで一致が確認されるとTLB2に記憶し
ている実ページ・アドレス8と論理アドレス1のバイト
・アドレスDを加えて実ページ・アドレスRとバイト・
アドレスDよりなる実アドレス3を作成してアドレス変
換を終了する。上記の比較結果が不一致のときは該当す
る論理アドレス1に対する実アドレス3へのアドレス変
換は主記憶上のアドレス変換テーブルを参照することに
より行なわれる。そして、あらたに求めた論理アドレス
に対する実アドレスは後のアドレス変換の為に信号ライ
ンL3を経由してTLB2へ登録される。In this example, the logical address has an address bit length of 24 bits, and the address space is divided into two stages using the paging method: logical address 1 is divided into segment number 5 bits (0th bit to 4th bit) and page number 8. The logical address part L1 consists of 3 bits (5th bit to 12th bit) and the byte address Dll bit (13th bit)
bit to 23rd bit). Next, the real address 3 has an address bit length of 22 bits, and the real page address Rll bits (0th bit to 1st bit).
0 bit) and byte address Dll bit (11th
bit to 21st bit). In the figure, there are 256 entries in TLB2, in which a virtual address 7 and a real page address 8 are stored as a pair. Regarding normal address conversion using TLB2, when logical address 1 is given, the TLB address is calculated from the logical address.
The B address is selected by the decoder 4, and the comparison circuit 5 checks the virtual address part 7 of the TLB entry and the upper 6 bits of the logical address 1 to determine whether the desired real address is stored in the corresponding entry. are compared and determined. If a match is confirmed here, the real page address 8 stored in TLB2 and the byte address D of logical address 1 are added to form the real page address R and byte address D.
A real address 3 consisting of address D is created and address conversion is completed. If the above comparison results do not match, address translation for the corresponding logical address 1 to real address 3 is performed by referring to the address translation table in the main memory. Then, the real address corresponding to the newly obtained logical address is registered in the TLB2 via the signal line L3 for later address translation.
例として、2種類の論理アドレスが存在して、TLBを
両者で半分づつ使用する場合について示す。As an example, a case will be shown in which there are two types of logical addresses and each uses half of the TLB.
それぞれの論理アドレスをタイプ1,2としてタイプ1
あるいはタイプ2だけが存在する場合は前記の如く論理
アドレス1のセグメント及びページ番号を構成する論理
アドレス部Ll3ビツトの内の下位8ビツトをTLBア
ドレス指定に使い、残り、5ビツトとTLBアドレスに
使用した内の1ビツト計6ビツトを組合せたものをTL
Bエントリ一の仮想アドレス部7と比較することによつ
て仮想アドレス7に対応する実ページ・アドレス8を索
引する。この重複して使用する重複ビツト部9、即ちT
LBアドレス用と、仮想アドレス比較用とで共用するビ
ツトの位置はタイプ1とタイブ2で一致している。この
重複ビツト部9が論理アドレスで占める位置をタイブ1
では例えばSO″にタイブ2では例えばS1〃に固定す
ることによつてTLBを半分づつ使用することが可能に
なる。即ち、第2図において示したエミユレーシヨン・
モード時に発せられるDIL命令によつてフリツブ・フ
ロツプゴを選択信号L1によつてセツトさせDIL命令
の終了によつてフリツブ・フロツプゴを選択信号L2に
よつてりセツトするようにして、重複ビツト部9出力の
内仮想アドレス用の機能はそのまま残こして、TLBア
ドレス指定の為の出力をフリツプ・フロツプゴ出力に代
えることによつて、仮想アドレスの指定を制約せずに
エミユレーシヨン・モードとネーテイブ・モードによつ
てTLBのアドレスを分割して使用することが可能とな
る。上記の如く重複ビツト9を設けることにより、ネー
テイブ・モード時(一般に1つの論理アドレス系のみを
用いればよい)には、論理アドレス1のビツト5〜12
をそのまま用いてTLBアドレスの指定を行なうことに
よつて、256個のTLBエントリをすべて1つの論理
アドレス系に関して使用することができる。Type 1 with each logical address as type 1 and 2
Alternatively, if only type 2 exists, the lower 8 bits of the 3 bits of the logical address part that make up the segment and page number of logical address 1 are used for TLB address specification, and the remaining 5 bits are used for TLB address. TL is a combination of 1 bit (total 6 bits)
The real page address 8 corresponding to the virtual address 7 is indexed by comparing it with the virtual address part 7 of the B entry 1. This redundant bit section 9 that is used redundantly, that is, T
The positions of the bits shared by the LB address and the virtual address comparison are the same between type 1 and type 2. The position occupied by this duplicate bit part 9 in the logical address is type 1.
For example, by fixing SO'' to type 2 and S1, for example, it becomes possible to use half of the TLB. In other words, the emulation type shown in FIG.
The flip-flopgo is set by the selection signal L1 by the DIL command issued during the mode, and the flip-flopgo is reset by the selection signal L2 by the end of the DIL command, so that the output of the duplicate bit section 9 is set. By leaving the functions for virtual addresses as they are and replacing the output for TLB address specification with flip/flopgo output, it is possible to do so without restricting virtual address specification.
The TLB address can be divided and used depending on the emulation mode and native mode. By providing duplicate bit 9 as described above, bits 5 to 12 of logical address 1 can be used in native mode (generally only one logical address system needs to be used).
By using the TLB address as is to specify the TLB address, all 256 TLB entries can be used for one logical address system.
またエミユレーシヨン・モード時(一般に2つ以上の論
理アドレス系を頻繁に切換えて使用する)には、TLB
アドレス指定用の重複ビツト部には論理アドレス系の指
定信号(フリツプ・フロツプゴの出力)を用い、仮想ア
ドレス比較用の重複ビツト部としてのみ論理アドレス1
のビツト5を用いることにより、256個のTLBエン
トリを128個づつ2つのパーテイシヨンに分割して使
用することができる。In addition, in emulation mode (generally when two or more logical address systems are frequently switched and used), TLB
A logical address system designation signal (flip/flopgo output) is used for the duplicate bit part for address specification, and the logical address 1 is used only as the duplicate bit part for virtual address comparison.
By using bit 5 of , the 256 TLB entries can be divided into two partitions each having 128 entries.
そしていずれのモードにおいても、TLB参照時の仮想
アドレス比較動作、及びTLBへの新規登録時の仮想ア
ドレスの書込み動作は全く共通とすることができ、回路
構成及び制御は簡単である。この様にしてTLBを分割
して使用することが出来るので、例えば論理アドレスの
タイブが3通り以上ある様な場合でも、前記フリツプ・
フロツプのビツト数を増してその論理アドレスのタイブ
によつて、DIL命令によつて選択設定すれば、TLB
の分割使用が更に拡張される。In either mode, the virtual address comparison operation when referencing the TLB and the virtual address writing operation when newly registering to the TLB can be made completely the same, and the circuit configuration and control are simple. In this way, the TLB can be divided and used, so even if there are three or more logical address types, the flip
If the number of bits of the flop is increased and selected and set by the DIL instruction according to the type of logical address, the TLB
The divided use of is further expanded.
上記実施例によつて明らかな様に、エミユレーシヨン・
モードとネーテイブ・モードの多重プログラム処理にお
いてTLBアドレスの1部ビツトを外部から選択設定す
ることによつてTLBを分割使用して複数の論理アドレ
ス系がアドレス変換可能となるのでエミユレーシヨン・
モードにおけるアドレス変換によるオーバヘツドを減少
して効率のよいプログラム処理が可能となる。As is clear from the above examples, emulation
By selectively setting some bits of the TLB address from the outside in multiple program processing in mode and native mode, multiple logical address systems can be used for address translation by dividing the TLB.
By reducing the overhead caused by address conversion in the mode, efficient program processing becomes possible.
第1図A,bはエミユレーシヨンを実施する場合のオペ
レーテイング・システムとエミユレーシヨンを可能とす
るソフトウエアの関係を示す説明図、第1図cはコンピ
ユータA,B間のソフトウエアによるアドレス変換の概
念図、第2図はエミユレーシヨン・モードにおけるジヨ
ブ・プログラムの処理過程を示す図、第3図は本発明の
一実施例を示すアドレス変換方式のプロツク図である。
1・・・・・・論理アドレス、2・・・・・・TLBl
3・・・・・・実アドレス、4・・・・・・デコーダ、
5・・・・・・比較回路、7・・・・・・仮想アドレス
部、8・・・・・・実ページ・アドレス部、9・・・・
・・重複ビツト部、V・・・・・・フリツプ・フロツプ
、Ll,L2・・・・・・選択信号。Figures 1A and 1B are explanatory diagrams showing the relationship between the operating system and the software that enables emulation when emulation is implemented, and Figure 1C is the concept of address translation by software between computers A and B. 2 is a diagram showing the processing process of a job program in the emulation mode, and FIG. 3 is a block diagram of an address conversion system showing one embodiment of the present invention. 1...Logical address, 2...TLBl
3...Real address, 4...Decoder,
5...Comparison circuit, 7...Virtual address section, 8...Real page address section, 9...
. . . Duplicate bit section, V . . . Flip-flop, Ll, L2 . . . Selection signal.
Claims (1)
を使用したアドレス変換機構において、TLBアドレス
を指定するアドレス・ビット内に、TLBエントリと比
較する仮想アドレスのアドレス・ビットにも重複して使
用される特定ビットを設け、該特定ビットの組合せによ
つて異なる論理アドレス系を識別するビットに対応せし
め、該論理アドレス入力が異なる論理アドレス系である
ことを示す選択信号を受信したとき、TLBアドレスを
指定する際に前記特定ビット出力に代えて該選択信号に
よつてTLBアドレス指定してTLBを分割して使用す
ることを特徴とするTLBパーティション方式。1 TLB that gets real address output from logical address input
In the address translation mechanism using When a selection signal indicating that the logical address input is a different logical address system is received, the selection signal is made to correspond to a bit identifying a different logical address system when specifying the TLB address instead of the specific bit output. A TLB partitioning method characterized in that the TLB is divided and used by specifying the TLB address using a signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54137358A JPS5918787B2 (en) | 1979-10-24 | 1979-10-24 | TLB partition method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54137358A JPS5918787B2 (en) | 1979-10-24 | 1979-10-24 | TLB partition method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5661083A JPS5661083A (en) | 1981-05-26 |
| JPS5918787B2 true JPS5918787B2 (en) | 1984-04-28 |
Family
ID=15196784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP54137358A Expired JPS5918787B2 (en) | 1979-10-24 | 1979-10-24 | TLB partition method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5918787B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2586160B2 (en) * | 1990-01-24 | 1997-02-26 | 日本電気株式会社 | Address translation mechanism |
| JPH03244052A (en) * | 1990-02-21 | 1991-10-30 | Nec Corp | Address conversion buffer device |
-
1979
- 1979-10-24 JP JP54137358A patent/JPS5918787B2/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5661083A (en) | 1981-05-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4347565A (en) | Address control system for software simulation | |
| US4215400A (en) | Disk address controller | |
| US4459661A (en) | Channel address control system for a virtual machine system | |
| JPS6083168A (en) | Multiprocessor system control | |
| JPH05257803A (en) | Virtual storage space control method and address calculation device | |
| JPS61141055A (en) | Address conversion method for information processing equipment | |
| JP2826028B2 (en) | Distributed memory processor system | |
| US5341484A (en) | Virtual machine system having an extended storage | |
| JPS6341934A (en) | Functional memory | |
| EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system | |
| JPS5918787B2 (en) | TLB partition method | |
| JPS59106075A (en) | Data processing system | |
| JPH01145770A (en) | Vector processor | |
| JPS6049352B2 (en) | data processing equipment | |
| JPS5931733B2 (en) | central processing unit that executes variable length instructions | |
| JPS6097440A (en) | Virtual multiprocessor device | |
| KR920008959B1 (en) | Information Transfer Method in Virtual Computer Systems | |
| JP2527038B2 (en) | Extended memory transfer control method | |
| JP2864496B2 (en) | Multi-processing computer | |
| JPH0754469B2 (en) | Input / output instruction execution unit for virtual computer system | |
| JPS62120542A (en) | Information processor | |
| JPS6314241A (en) | Memory expansion system | |
| JP2570846B2 (en) | Prefetch control unit | |
| JP2612173B2 (en) | Virtual computer | |
| KR880001399B1 (en) | Data processor |