JPH0118465B2 - - Google Patents
Info
- Publication number
- JPH0118465B2 JPH0118465B2 JP58116120A JP11612083A JPH0118465B2 JP H0118465 B2 JPH0118465 B2 JP H0118465B2 JP 58116120 A JP58116120 A JP 58116120A JP 11612083 A JP11612083 A JP 11612083A JP H0118465 B2 JPH0118465 B2 JP H0118465B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- translation
- virtual
- real
- prefix
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は、複数の中央処理装置が主記憶装置を
共有し、同時に並列動作を行うマルチプロセツサ
システムにおける中央処理装置に関する。[Detailed Description of the Invention] [Object of the Invention] (Industrial Application Field) The present invention relates to a central processing unit in a multiprocessor system in which a plurality of central processing units share a main memory and operate in parallel. .
(従来の技術)
主記憶装置を共有したマルチプロセツサシステ
ムにおける各中央処理装置は、それぞれが固有の
オペレーテイングシステムを持ち、独立に動作で
きるようにするため、主記憶上のハードウエア固
定領域をそれぞれ独立に持つ必要がある。従来、
各中央処理装置で動作するプログラムがそれぞれ
のハードウエア固定領域をアクセスする際、どの
中央処理装置の動作においても同じ論理アドレス
でアクセスしていた。したがつて、アクセスされ
たハードウエア領域がその中央処理装置固定の主
記憶上のハードウエア固定領域であるようにする
ため、プリフイクス変換機構により実アドレスか
ら絶対アドレスに変換していた。このプリフイク
ス変換機構はハードウエア固定領域を各プロセツ
サ固有の領域にマツピングするハードウエア機構
である。(Prior Art) Each central processing unit in a multiprocessor system that shares a main memory has its own operating system, and in order to be able to operate independently, a hardware fixed area on the main memory is used. Each must be held independently. Conventionally,
When a program running on each central processing unit accesses its respective hardware fixed area, the same logical address is accessed no matter what central processing unit is operating. Therefore, in order to ensure that the accessed hardware area is a hardware fixed area on the main memory fixed to the central processing unit, a real address is converted to an absolute address by a prefix conversion mechanism. This prefix conversion mechanism is a hardware mechanism that maps a hardware fixed area to an area unique to each processor.
一方、仮想記憶制御方式の計算機では仮想アド
レス(論理アドレス)から実アドレスへのアドレ
ス変換の高速化のために、アドレス変換機構にア
ドレス変換バツフア(TLB)を持つのがある。
従来の仮想記憶制御方式のマルチプロセツサシス
テムにおいても、このアドレス変換バツフア
(TLB)で仮想アドレスを実アドレスに変換した
のち、プリフイクス変換機構によつて実アドレス
を絶対アドレスに変換していた。 On the other hand, some computers with virtual memory control have an address translation buffer (TLB) in the address translation mechanism to speed up address translation from virtual addresses (logical addresses) to real addresses.
Even in a conventional multiprocessor system using a virtual memory control method, the address translation buffer (TLB) converts a virtual address into a real address, and then a prefix conversion mechanism converts the real address into an absolute address.
(発明が解決しようとする課題)
上述したように、毎回、アドレス変換バツフア
(TLB)で仮想アドレスを実アドレスに変換し、
次いでプリフイクス変換機構により実アドレスか
ら絶対アドレスに変換する従来の方式は、シング
ルプロセツサシステムに比べて、アドレス変換に
多くの時間が必要になるという課題があつた。(Problem to be Solved by the Invention) As mentioned above, each time a virtual address is translated into a real address using an address translation buffer (TLB),
Next, the conventional method of converting a real address into an absolute address using a prefix conversion mechanism had a problem in that it required more time for address conversion than a single processor system.
本発明は上記課題に鑑み、仮想記憶制御方式の
マルチプロセツサシステムにおいて、アドレス変
換時間を短縮した中央処理装置を提供することを
目的とする。 SUMMARY OF THE INVENTION In view of the above problems, it is an object of the present invention to provide a central processing unit that reduces address conversion time in a multiprocessor system using virtual memory control.
(課題を解決するための手段および作用)
上記目的を達成するために、本発明の中央処理
装置は、アドレス変換機構のアドレス変換バツフ
アに仮想アドレスを直接絶対アドレスに変換する
ための変換対を持たせ、仮想アドレスから絶対ア
ドレスへのアドレス変換にかかる時間を短縮し
た。
(Means and effects for solving the problem) In order to achieve the above object, the central processing unit of the present invention has a conversion pair for directly converting a virtual address into an absolute address in the address conversion buffer of the address conversion mechanism. This shortens the time required to convert addresses from virtual addresses to absolute addresses.
(実施例)
第1図は本発明の一実施例の構成を示す図であ
る。(Embodiment) FIG. 1 is a diagram showing the configuration of an embodiment of the present invention.
第1図において、1は主記憶装置、2は中央処
理装置、3は複数の中央処理装置や主記憶装置が
接続されたバスである。 In FIG. 1, 1 is a main storage device, 2 is a central processing unit, and 3 is a bus to which a plurality of central processing units and main storage devices are connected.
主記憶装置1は、仮想アドレスを実アドレスに
変換するためのセグメントテーブル11、ページ
テーブル12を持つ。中央処理装置2は、主記憶
装置1からバス3を介して送られてくるデータを
格納するデータバツフアレジスタ21、プリフイ
クスレジスタを持ち実アドレスから絶対アドレス
を求めるプリフイクス変換機構22、アドレス変
換バツフア(TLB)を持ち主として仮想アドレ
スから実アドレスを求めるアドレス変換機構2
3、仮想アドレスを保持する仮想アドレスレジス
タ24、中央処理装置2の制御部25、プリフイ
クス変換機構22からの出力またはアドレス変換
機構23からの出力のいずれか一方を選択してバ
ス3上に出力するデータセレクタ26を持つ。 The main storage device 1 has a segment table 11 and a page table 12 for converting virtual addresses into real addresses. The central processing unit 2 includes a data buffer register 21 that stores data sent from the main memory 1 via the bus 3, a prefix conversion mechanism 22 that has a prefix register and calculates an absolute address from a real address, and an address conversion mechanism. Address translation mechanism 2 that obtains a real address from a virtual address as a buffer (TLB) owner
3. Select one of the outputs from the virtual address register 24 that holds virtual addresses, the control section 25 of the central processing unit 2, the prefix conversion mechanism 22, or the output from the address conversion mechanism 23 and output it onto the bus 3. It has a data selector 26.
次に本実施例の動作を第1図および動作フロー
チヤートである第2図および第3図を参照して説
明する。 Next, the operation of this embodiment will be explained with reference to FIG. 1 and FIGS. 2 and 3 which are operational flowcharts.
仮想アドレスがバツフアレジスタ21等から制
御部25に送られてくると、制御部25はその仮
想アドレスを仮想アドレスレジスタ24に送る、
仮想アドレスレジスタ24は制御部25から送ら
れてきた仮想アドレスを保持したのち、その仮想
アドレスをアドレス変換機構23およびプリフイ
クス変換機構22に送る。(ステツプS1)仮想
アドレスはそのアドレスによつて実アドレスへの
アドレス変換が必要か、仮想アドレスをそのまま
実アドレスとするかが決まつている。制御部25
は送られてきた仮想アドレスのアドレスから、ア
ドレス変換機構23を動作させるか、プリフイク
ス変換機構22を動作させるかを判断し、その判
断結果にもとづいてアドレス変換機構23または
プリフイクス変換機構22のいずれか一方を動作
させる。また、制御部25はアドレス変換機構2
3からの出力をバス3上に出力するか、プリフイ
クス変換機構22からの出力をバス3上に出力す
るかを制御するデータセレクタ26も制御する
(ステツプS2)
仮想アドレスを実アドレスにアドレス変換する
必要があるとき、制御部25はアドレス変換機構
23を動作させる。アドレス変換機構23は制御
部25の指示により動作を開始し、仮想アドレス
レジスタ24から送られてきた仮想アドレスを入
力する。アドレス変換機構23は送られてきた仮
想アドレスを実アドレスに変換する変換対がアド
レス変換バツフア(TLB)に存在するか否かを
調べる。(ステツプS3)
仮想アドレスを実アドレスに変換する変換対が
アドレス変換バツフア(TLB)に存在しないと
き、アドレス変換機構23は仮想アドレスをその
ままデータセレクタ26に送る。データセレクタ
26は仮想アドレスを実アドレスにアドレス変換
する必要があるとき、制御部25によつて、アド
レス変換機構23からの出力をバス3上に出力す
るよう指示されており、アドレス変換機構23か
ら送られてきた仮想アドレスをバス3上に出力す
る。バス3上に出力された仮想アドレスは主記憶
装置1に取り込まれ、セグメントテーブル11お
よびページテーブル12を用いて、仮想アドレス
から実アドレスへ変換される。(ステツプS4)
変換された実アドレスはバス3、データバツフア
レジスタ21、制御部25を介してアドレス変換
機構23に送られる。アドレス変換機構23はこ
の変換された実アドレスをプリフイクス変換機構
22に送る。(ステツプS5)
実アドレスはそのアドレスによつて、絶対アド
レスへの変換が必要か否かが決まつている。プリ
フイクス変換機構22は実アドレスのアドレスか
ら、この実アドレスをプリフイクス変換するか否
かを判断する。(ステツプS6)プリフイクス変
換機構22はこの実アドレスに対してプリフイク
ス変換が必要と判断したとき、プリフイクスレジ
スタ等を用いて実アドレスが絶対アドレスへのプ
リフイクス変換を行い、この絶対アドレスをアド
レス変換機構23に返す。(ステツプS7)プリ
フイクス変換機構22が実アドレスに対するプリ
フイクス変換の必要は無いと判断すれば、プリフ
イクス変換機構22は送られてきた実アドレスを
そのままアドレス変換機構23に返す。(ステツ
プS8)
アドレス変換機構23プリフイクス変換機構2
2から絶対アドレスが送られてくれば、仮想アド
レスを直接絶対アドレスに変換するための変換対
を作成し、その変換対をアドレス変換バツフア
(TLB)に格納する。(ステツプS9)また、ア
ドレス変換機構23はプリフイクス変換機構22
から実アドレスが送られてくれば、仮想アドレス
を実アドレスに変換するための変換対を作成し、
その変換対をアドレス変換バツフア(TLB)に
格納する。以後、これら変換対が仮想アドレスか
ら実アドレスへの変換および仮想アドレスから絶
対アドレスへの変換に用いられる。(ステツプS
10)
仮想アドレスを実アドレスに変換する変換対が
アドレス変換バツフア(TLB)に存在するとき、
アドレス変換機構23はその変換対を用いて送ら
れてきた仮想アドレスを実アドレスに変換する。
アドレス変換機構23はその変換された実アドレ
スをプリフイクス変換機構22に送る(ステツプ
S11)以下、プリフイクス変換機構22が上述
したステツプS6およびステツプS7またはステ
ツプS6およびステツプS8の動作を行い、また
アドレス変換機構23が上述したステツプS8ま
たはステツプS9の動作を行う。 When the virtual address is sent from the buffer register 21 etc. to the control unit 25, the control unit 25 sends the virtual address to the virtual address register 24.
The virtual address register 24 holds the virtual address sent from the control unit 25 and then sends the virtual address to the address translation mechanism 23 and prefix translation mechanism 22. (Step S1) Depending on the address, it is determined whether the virtual address needs to be converted into a real address or whether the virtual address should be used as a real address. Control unit 25
determines whether to operate the address translation mechanism 23 or the prefix translation mechanism 22 from the received virtual address, and based on the judgment result, either the address translation mechanism 23 or the prefix translation mechanism 22 is operated. Make one work. The control unit 25 also controls the address translation mechanism 2.
It also controls the data selector 26 which controls whether the output from the prefix conversion mechanism 22 is output onto the bus 3 or the output from the prefix conversion mechanism 22 is output onto the bus 3 (step S2). Address conversion from virtual address to real address When necessary, the control unit 25 operates the address translation mechanism 23. The address translation mechanism 23 starts operating in response to an instruction from the control unit 25, and inputs the virtual address sent from the virtual address register 24. The address translation mechanism 23 checks whether a translation pair exists in the address translation buffer (TLB) for translating the sent virtual address into a real address. (Step S3) When a translation pair for converting a virtual address to a real address does not exist in the address translation buffer (TLB), the address translation mechanism 23 sends the virtual address as is to the data selector 26. When the data selector 26 needs to convert a virtual address into a real address, it is instructed by the control unit 25 to output the output from the address conversion mechanism 23 onto the bus 3; Outputs the sent virtual address onto bus 3. The virtual address output on the bus 3 is taken into the main memory 1 and converted from the virtual address to a real address using the segment table 11 and page table 12. (Step S4)
The converted real address is sent to the address conversion mechanism 23 via the bus 3, data buffer register 21, and control section 25. The address translation mechanism 23 sends this translated real address to the prefix translation mechanism 22. (Step S5) Whether or not a real address needs to be converted to an absolute address is determined depending on the address. The prefix conversion mechanism 22 determines from the real address whether or not to prefix convert the real address. (Step S6) When the prefix conversion mechanism 22 determines that prefix conversion is necessary for this real address, it performs prefix conversion from the real address to an absolute address using a prefix register, etc., and converts this absolute address into an address. It is returned to the mechanism 23. (Step S7) If the prefix conversion mechanism 22 determines that there is no need to perform prefix conversion on the real address, the prefix conversion mechanism 22 returns the sent real address to the address conversion mechanism 23 as is. (Step S8) Address conversion mechanism 23 Prefix conversion mechanism 2
When an absolute address is sent from 2, a translation pair is created to directly translate the virtual address to an absolute address, and the translation pair is stored in the address translation buffer (TLB). (Step S9) Also, the address conversion mechanism 23 is connected to the prefix conversion mechanism 22.
If a real address is sent from , create a translation pair to convert the virtual address to a real address,
The translation pair is stored in an address translation buffer (TLB). Thereafter, these translation pairs are used for virtual address to real address translation and virtual address to absolute address translation. (Step S
10) When a translation pair exists in the address translation buffer (TLB) to translate a virtual address to a real address,
The address translation mechanism 23 uses the translation pair to translate the sent virtual address into a real address.
The address conversion mechanism 23 sends the converted real address to the prefix conversion mechanism 22 (step S11). Thereafter, the prefix conversion mechanism 22 performs the operations of step S6 and step S7 or step S6 and step S8 described above, and also performs address conversion. The mechanism 23 performs the operation of step S8 or step S9 described above.
仮想アドレスを実アドレスに変換する必要が無
いとき、制御部25はプリフイクス変換機構22
を動作させる。プリフイクス変換機構22は制御
部25の指示により動作を開始し、仮想アドレス
レジスタ24から送られてきた仮想アドレスを入
力する。プリフイクス変換機構22はこの仮想ア
ドレスをそのまま実アドレスとして置換え、この
実アドレスを絶対アドレスに変換する必要がある
か否かを判断する。(ステツプS12)実アドレ
スを絶対アドレスに変換する必要があると判断し
たとき、プリフイクス変換機構22はプリフイク
スレジスタ等を用い、実アドレスを絶対アドレス
に変換する。変換された絶対アドレスはデータセ
レクタ26に送られる。(ステツプS13)実ア
ドレスを絶対アドレスに変換する必要が無いと判
断したとき、プリフイクス変換機構22は実アド
レスをそのままデータセレクタ26に送る。プリ
フイクス変換機構22を動作させるとき、制御部
25はデータセレクタ26に対して、プリフイク
ス変換機構22からの出力をバス3上に出力する
よう指示されている。データセレクタ26は制御
部25の指示にしたがい、プリフイクス変換機構
22から出力された実アドレスをバス3上に出力
し、主記憶装置1に実アドレスが与えられる。
(ステツプS14)
以後、アドレス変換バツフア(TLB)に絶対
アドレスへの変換対が格納された仮想アドレスを
アドレス変換するときは、アドレス変換機構23
がそのアドレス変換バツフア(TLB)に格納さ
れた、仮想アドレスから直接絶対アドレスを求め
るための変換対を用いてアドレス変換を行う。 When there is no need to convert a virtual address to a real address, the control unit 25 uses the prefix conversion mechanism 22
make it work. The prefix conversion mechanism 22 starts operating according to instructions from the control unit 25 and inputs the virtual address sent from the virtual address register 24. The prefix conversion mechanism 22 directly replaces this virtual address with a real address, and determines whether or not it is necessary to convert this real address into an absolute address. (Step S12) When it is determined that it is necessary to convert the real address to an absolute address, the prefix conversion mechanism 22 uses a prefix register or the like to convert the real address to an absolute address. The converted absolute address is sent to the data selector 26. (Step S13) When determining that there is no need to convert the real address to an absolute address, the prefix conversion mechanism 22 sends the real address as is to the data selector 26. When operating the prefix conversion mechanism 22, the control unit 25 instructs the data selector 26 to output the output from the prefix conversion mechanism 22 onto the bus 3. The data selector 26 outputs the real address output from the prefix conversion mechanism 22 onto the bus 3 in accordance with instructions from the control section 25, and the real address is given to the main storage device 1.
(Step S14) From now on, when converting a virtual address for which a conversion pair to an absolute address is stored in the address translation buffer (TLB), the address translation mechanism 23
performs address translation using a translation pair stored in its address translation buffer (TLB) for directly obtaining an absolute address from a virtual address.
本発明によれば、仮想アドレスから直接絶対ア
ドレスを求めるための変換対がアドレス変換バツ
フア(TLB)に格納されるので、仮想アドレス
を絶対アドレスに変換するときは、この変換対を
用いることができ、仮想アドレスから直接絶対ア
ドレスを求めるアドレス変換の時間が短縮でき
る。
According to the present invention, since a translation pair for directly obtaining an absolute address from a virtual address is stored in an address translation buffer (TLB), this translation pair can be used when converting a virtual address to an absolute address. , it is possible to shorten the time required for address translation to directly obtain an absolute address from a virtual address.
第1図は本発明の一実施例の構成を示す図、第
2図および第3図は動作フローチヤートである。
1……主記憶装置、2……中央処理装置、22
……プリフイクス変換機構、23……アドレス変
換機構、25……制御部、26……データセレク
タ。
FIG. 1 is a diagram showing the configuration of an embodiment of the present invention, and FIGS. 2 and 3 are operational flowcharts. 1...Main storage device, 2...Central processing unit, 22
... prefix conversion mechanism, 23 ... address conversion mechanism, 25 ... control unit, 26 ... data selector.
Claims (1)
ルチプロセツサシステムにおける中央処理装置で
あつて、 仮想アドレスから実アドレスへの変換対および
その得られた実アドレスからさらに絶対アドレス
への変換が必要なときに、仮想アドレスから直接
絶対アドレスを求める変換対が格納されたアドレ
ス変換バツフアを持ち、仮想アドレスから実アド
レスへの変換および仮想アドレスから絶対アドレ
スへの変換を行うアドレス変換機構と、 仮想アドレスから実アドレスへの変換が不要な
ときに、仮想アドレスから必要に応じて直接絶対
アドレスへの変換をを行うプリフイクス変換機構
と、 前記アドレス変換機構または前記プリフイクス
変換機構の出力を選択的に前記主記憶装置に出力
するデータセレクタとを備えたことを特徴とする
中央処理装置。[Scope of Claims] 1. A central processing unit in a multiprocessor system sharing a main memory using a virtual memory control method, which converts a virtual address to a real address and further converts the obtained real address to an absolute address. Address translation has an address translation buffer that stores translation pairs that directly obtain an absolute address from a virtual address when translation is required, and performs translation from a virtual address to a real address and from a virtual address to an absolute address. a prefix translation mechanism that directly translates a virtual address to an absolute address as needed when translation from a virtual address to a real address is not required; and an output of the address translation mechanism or the prefix translation mechanism. A central processing unit comprising: a data selector that selectively outputs data to the main storage device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58116120A JPS608971A (en) | 1983-06-29 | 1983-06-29 | Central processing unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58116120A JPS608971A (en) | 1983-06-29 | 1983-06-29 | Central processing unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS608971A JPS608971A (en) | 1985-01-17 |
| JPH0118465B2 true JPH0118465B2 (en) | 1989-04-05 |
Family
ID=14679186
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58116120A Granted JPS608971A (en) | 1983-06-29 | 1983-06-29 | Central processing unit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS608971A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9058292B2 (en) * | 2004-12-29 | 2015-06-16 | Intel Corporation | System and method for one step address translation of graphics addresses in virtualization |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IT976393B (en) * | 1972-03-31 | 1974-08-20 | Ibm | PERFECTED MULTI-PROCESSING SYSTEM |
| JPS52120728A (en) * | 1976-04-05 | 1977-10-11 | Agency Of Ind Science & Technol | Sharing data control system of poly processor system |
| US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
-
1983
- 1983-06-29 JP JP58116120A patent/JPS608971A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS608971A (en) | 1985-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5280598A (en) | Cache memory and bus width control circuit for selectively coupling peripheral devices | |
| US4218743A (en) | Address translation apparatus | |
| JPH0137773B2 (en) | ||
| KR910003498A (en) | Microprocessor | |
| JPH0118465B2 (en) | ||
| JPH04241046A (en) | Address generating mechanism for system address space | |
| JPS60129856A (en) | Memory control circuit | |
| JPS6360427B2 (en) | ||
| JPH05189352A (en) | I / O address conversion method | |
| JPH0344748A (en) | Read control system for memory data | |
| JPS62168257A (en) | Multiprocessor system sharing memory | |
| JP3125790B2 (en) | Address translator | |
| JPS6356746A (en) | Paging by-pass system in virtual computer | |
| JPH0546462A (en) | Multi CPU address translation mechanism | |
| JPH04432Y2 (en) | ||
| JPS61288260A (en) | Multicomputer system | |
| JPH02100154A (en) | Address converter for virtual storage | |
| JPH03256148A (en) | Cache memory control device | |
| JPS63271567A (en) | Asymmetric tightly coupled multiprocessor system | |
| JPS6073759A (en) | Address conversion buffer | |
| JPS6331816B2 (en) | ||
| JPS6126100B2 (en) | ||
| JPH0812640B2 (en) | Address translation method and apparatus | |
| JPH02101552A (en) | Address conversion buffer processing system | |
| JPS61221949A (en) | Memory access device |