JPH02101552A - Address conversion buffer processing system - Google Patents

Address conversion buffer processing system

Info

Publication number
JPH02101552A
JPH02101552A JP63253817A JP25381788A JPH02101552A JP H02101552 A JPH02101552 A JP H02101552A JP 63253817 A JP63253817 A JP 63253817A JP 25381788 A JP25381788 A JP 25381788A JP H02101552 A JPH02101552 A JP H02101552A
Authority
JP
Japan
Prior art keywords
shared
processing
address
processors
address translation
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
Application number
JP63253817A
Other languages
Japanese (ja)
Inventor
Koji Hayashi
耕司 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63253817A priority Critical patent/JPH02101552A/en
Publication of JPH02101552A publication Critical patent/JPH02101552A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve a system processing speed by providing a shared area bit showing that they are shared by plural processors in respective entries of an address conversion table and reducing a redundant processing in an invalid processing. CONSTITUTION:The address conversion table 15 consists of a logical address, a physical address, access information and the shared area bits. For the shared area bits, '1' is set to areas which are shared and accessed by plural processors. When one of the processors 111-11N is started and the address conversion table 15 is altered, the shared bits are decided. Since they are not the shared areas if the bits are not '1', the invalid processing of an address conversion buffer TLB is not required, and a system immediately comes to a terminating processing. Consequently, the redundant processing in the invalid processing is eliminated and the system processing speed is improved.

Description

【発明の詳細な説明】 〔概 要〕 主記憶を共有するマルチプロセッサの計算機システムに
おける、複数のプロセッサによって共有される記憶領域
に対するアドレス変換バッファの処理方式に関し、 アドレス変換バッファの無効化処理における冗長な処理
を削減し、システムの処理速度の向上を達成することを
目的とし、 主記憶を共有し、個々のプロセッサにアドレス変換バッ
ファ装置を有する仮想アドレス空間をサポートするマル
チプロセッサの計算機システムにおけるアドレス変換バ
ッファの処理方式であって、該主記憶上のアドレス変換
テーブルの個々のエントリに、複数のプロセッサから共
有される可能性があることを示す共有領域ビットを設け
、他系統のアドレス変換バッファに対する無効化処理に
際しては、該共有領域ビットを参照して選択的に無効化
処理を省略するよう構成する。
[Detailed Description of the Invention] [Summary] Regarding a processing method of an address translation buffer for a storage area shared by a plurality of processors in a multiprocessor computer system that shares main memory, redundancy in invalidation processing of the address translation buffer is disclosed. address translation in a multiprocessor computer system that supports a virtual address space that shares main memory and has an address translation buffer device for each processor. A buffer processing method in which a shared area bit is provided in each entry of the address translation table on the main memory to indicate that it may be shared by multiple processors, and the address translation table is invalidated for address translation buffers of other systems. In the invalidation process, the shared area bit is referred to and the invalidation process is selectively omitted.

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

本発明は、主記憶を共有するマルチプロセッサの計算機
システムにおける、複数のプロセッサによって共有され
る記憶領域に対するアドレス変換バッファ(以下TLB
と略称する)の処理方式に関する。
The present invention provides an address translation buffer (hereinafter referred to as TLB) for a storage area shared by multiple processors in a multiprocessor computer system that shares main memory.
(abbreviated as)).

このようなシステムは、近年におけるマイクロプロセッ
サの低価格化、高性能化に伴い、マイクロプロセッサを
数台〜20数台程度用いたシステムとして商品化されて
おり、コストパーフォーマンスの高さから広く用いられ
るようになると予想される。
As microprocessors have become cheaper and more sophisticated in recent years, such systems have been commercialized as systems using anywhere from a few to 20 microprocessors, and are widely used due to their high cost performance. It is expected that this will become possible.

しかしながら、個々のプロセッサに通常設けられるアド
レス変換用のキャッシュであるバッファ装置に対する処
理には、冗長な部分があり、システムの性能を低下させ
ている面もあり、本発明はこのような現状にかんがみて
なされたものである。
However, processing for a buffer device, which is a cache for address translation that is normally provided in each processor, has redundant parts and degrades system performance. It was made by

〔従来の技術] 一例としてメモリ共有結合型のマルチ7’oセツサシス
テムについて説明する。一般にこれらのシステムの構成
は第2図に示されるものとほぼ同様であるのでこれを参
照して説明する。
[Prior Art] As an example, a memory sharing type multi-7'o setter system will be described. Generally, the configurations of these systems are almost the same as that shown in FIG. 2, and will be explained with reference to this.

図において、T L B (Translation 
Look−asideBuffer)は主記憶上にある
アドレス変換テーブルの一部のコピーである。TLBお
よびアドレス変換テーブルは、いずれも通常ページと呼
ばれる数キロバイト程度のアドレス領域ごとに論理ペー
ジアドレスとそれに対応する物理ページアドレスおよび
そのページに対するアクセス情報(書き込みができるか
、実行ができるか等の情報)を1つのエントリとして保
持しているような表であり、論理ページアドレスから物
理ページアドレスを得るために参照される(、第4図)
In the figure, T LB (Translation
Look-asideBuffer) is a copy of a portion of the address translation table on main memory. The TLB and address translation table both contain a logical page address, its corresponding physical page address, and access information for that page (information such as whether it can be written or executed) for each address area of about several kilobytes called a page. ) is held as one entry, and is referenced to obtain the physical page address from the logical page address (see Figure 4).
.

このようなシステムでは、プロセスは論理空間で動作し
、論理アドレスで主記憶参照を行う。従ってプロセッサ
は主記憶にアクセスする際、論理アドレスから物理アド
レスへの変換が必要であるが、その都度主記憶上の変換
テーブルを検索していたのでは、多くの処理時間が必要
である。
In such systems, processes operate in logical space and make main memory references using logical addresses. Therefore, when the processor accesses the main memory, it is necessary to convert a logical address to a physical address, but searching the conversion table in the main memory each time requires a lot of processing time.

TLBは、この変換を高速化するためのキャッシュであ
り、変換テーブルのうち、プロセッサによって最近参照
された論理アドレスに対応する物理アドレスを保持して
いる。そしてアドレスが変換される際には、まず、TL
Bが検索され、そこに変換したい論理アドレスが発見さ
れれば、主記憶をアドレスすることなく物理アドレスを
得ることができる。これによって主記憶アクセスの時間
が大幅に削減される。このような理由で、TLBはマル
チプロセッサかシングルプロセッサかを問わず、アドレ
ス変換を行う実用的なシステムでは、広く用いられてい
る。
The TLB is a cache for speeding up this translation, and holds physical addresses corresponding to logical addresses recently referenced by the processor in the translation table. When an address is translated, first the TL
If B is searched and the logical address to be converted is found there, the physical address can be obtained without addressing the main memory. This significantly reduces main memory access time. For these reasons, TLBs are widely used in practical systems that perform address translation, regardless of whether they are multiprocessor or single processor.

マルチプロセッサシステムでは、ある領域が複数のプロ
セッサで共有されると、複数のTLBに同一の論理アド
レスに対するエントリが保持されることになる。TLB
は主記憶上のアドレス変換テーブルの写しであり、論理
アドレスに対する物理アドレスのマツピングやアクセス
情報等を規定するものであるから、個々のTLBにおい
て同じ論理アドレスに対するエントリは同じ物理アドレ
スにマツプされ同じアクセス情報を保持していないと、
処理に矛盾が生じる。
In a multiprocessor system, if a certain area is shared by multiple processors, entries for the same logical address will be held in multiple TLBs. T.L.B.
is a copy of the address translation table in main memory, and specifies the mapping of physical addresses to logical addresses, access information, etc. Therefore, entries for the same logical address in each TLB are mapped to the same physical address and are accessed in the same way. If you don't keep the information,
Inconsistency occurs in processing.

ところが、TLBに同じエントリを持っているプロセッ
サのうちのいずれかが、ディスク装置へのページアウト
等によって主記憶上のアドレス変換テーブルのエントリ
の情報を変更する場合もあり得る。この場合、そのプロ
セッサのTLB以外は主記憶上の対応するエントリと内
容が矛盾してしまうことになる。そこで、この変更を総
てのプロセッサに反映させるため、通常はプロセッサが
主記憶上のアドレス変換テーブルを書き換えた場合には
、常に他のプロセッサへ割り込みをかけ、それぞれのT
LBで、該当する論理アドレスに対するエントリを検索
して無効化する処理を行うようになっている。
However, there is a possibility that one of the processors having the same entry in the TLB may change the information of the entry in the address translation table on the main memory by page-out to the disk device or the like. In this case, contents other than the TLB of that processor will be inconsistent with the corresponding entry on the main memory. Therefore, in order to reflect this change to all processors, normally when a processor rewrites the address translation table in main memory, it always interrupts other processors and
The LB searches for and invalidates the entry for the corresponding logical address.

従来方式による無効化処理過程は第5図に示される。こ
の処理によって、同じ領域が再びアクセスされた場合に
は、新たに主記憶のアドレス変換テーブルからエントリ
が読み込まれるので、プロセッサ間でTLBの内容に矛
盾が生じることを防止できる。
The invalidation process according to the conventional method is shown in FIG. Through this processing, when the same area is accessed again, an entry is newly read from the address translation table in the main memory, so it is possible to prevent inconsistencies in the contents of the TLB between processors.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、実際は複数のプロセッサから共有されて
アクセスされるような領域は限定されており、しかもプ
ログラムの実行前に指定可能である。従来は、このよう
な場合に、複数のプロセッサから共有される記憶領域を
指定し、識別する手段が存在しなかったため、各プロセ
ッサは、アドレス変換テーブルを変更した場合には、他
のプロセッサにTLBエントリが共有されている可能性
のない場合であっても、上述のように、他プロセツサの
TLBの無効化処理を行い、無駄な時間を費やしていた
However, in reality, areas that are shared and accessed by multiple processors are limited and can be specified before program execution. Conventionally, in such cases, there was no means for specifying and identifying a storage area shared by multiple processors, so when each processor changed its address translation table, it had to update the TLB to other processors. Even if there is no possibility that the entry is shared, as described above, the TLB of other processors is invalidated, resulting in wasted time.

本発明の目的は、複数プロセッサで共有される可能性の
ある領域を指定する手段を設けるという着想に基づき、
TLBの無効化処理における冗長な処理を削減し、シス
テムの処理速度の向上を達成することにある。
The purpose of the present invention is based on the idea of providing a means for specifying an area that may be shared by multiple processors.
The object of the present invention is to reduce redundant processing in TLB invalidation processing and improve the processing speed of the system.

〔課題を解決するための手段] 本発明においては、第1図および第2図に例示されるよ
うに、主記憶14を共有し、個々のプロセッサ((1)
〜(N)H1l〜11Nにそれぞれアドレス変換バッフ
ァ装置121〜12Nを有する仮想アドレス空間をサポ
ートするマルチプロセッサの計算機システムにおけるア
ドレス変換バッファの処理方式であって、該主記憶14
上のアドレス変換テーブル15の個々のエントリに共有
領域ビットを設け(S5)、該共有領域ビットの値から
複数のプロセッサから共有される可能性があるか否か識
別できるようにする。そして、他系統のアドレス変換バ
ッファに対する無効化処理(S3)に際して、該共有領
域ビットを参照して(S2)、共有される可能性がない
時は、該無効化処理を省略(S4)するアドレス変換バ
ッファの処理方式が提供される。
[Means for Solving the Problems] In the present invention, as illustrated in FIGS. 1 and 2, the main memory 14 is shared and each processor ((1)
~(N) A processing method for an address translation buffer in a multiprocessor computer system supporting a virtual address space having address translation buffer devices 121 to 12N in H1l to H11N, respectively, the main memory 14
A shared area bit is provided in each entry of the above address translation table 15 (S5), so that it can be determined from the value of the shared area bit whether or not there is a possibility that the entry may be shared by a plurality of processors. Then, when invalidating the address translation buffer of another system (S3), the shared area bit is referred to (S2), and if there is no possibility of the shared area, the invalidating process is omitted (S4). A translation buffer processing scheme is provided.

〔作 用〕[For production]

前述された変換テーブル上に設けられた共有領域ビット
は、そのプロセスに対する論理空間を設定する際または
プロセス実行時に動的に、ユーザプログラムの指示を受
けて、オペレーティングシステムによってセットまたは
リセットされ、成るプロセッサ上で主記憶上のアドレス
変換テーブルの変更を行う必要が生じた場合、オペレー
ティングシステムは、共有領域ビットを参照し、そのビ
ットがセットされている場合に限って、他のプロセッサ
の無効化処理を行う。
The shared area bits provided on the conversion table described above are set or reset by the operating system dynamically in response to instructions from a user program when setting the logical space for the process or when executing the process. If it becomes necessary to change the address translation table in main memory as described above, the operating system refers to the shared area bit and disables other processors only if that bit is set. conduct.

〔実施例〕〔Example〕

本発明の一実施例としてのアドレス変換バッファの処理
方式をjテう処理過程の流れ図が第1図に、本発明の適
用されるシステムのブロック図が第2図に、実施例のア
ドレス変換テーブル−およびTLBの内容を説明する図
が第3図に示される。
FIG. 1 is a flowchart of the processing process of the address translation buffer processing method as an embodiment of the present invention, FIG. 2 is a block diagram of the system to which the present invention is applied, and the address translation table of the embodiment is shown in FIG. - and a diagram illustrating the contents of the TLB is shown in FIG.

第2図のシステムは複数のプロセッサ111〜11Nに
よりマルチプロセッサシステムを構成し、嘉亥プロセッ
サ111〜11NはそれぞれT L B 121〜12
Nを備え、これらは共有バス13で接続され、共有バス
13には主記憶14が接続される。主記憶14には論理
アドレスを物理アドレスに変換するアドレス変換テーブ
ルが備えられる。TLBはアドレス変換テーブルの一部
を格納するキャッシュである。アドレス変換テーブル1
5は、第3図に示されるように、論理アドレスと、これ
に対応する物理アドレスと、アクセス情報と、このほか
に1ビツトの共有領域ビット(第3図の右端参照)の各
フィールドから構成される。これらは、そのままTLB
にも格納されるが、共有領域ビットはTLBに格納する
ことを省略しても差支えない。
The system shown in FIG. 2 constitutes a multiprocessor system by a plurality of processors 111 to 11N, and the Kahai processors 111 to 11N each have TLBs 121 to 12.
N, these are connected by a shared bus 13, and a main memory 14 is connected to the shared bus 13. The main memory 14 is provided with an address conversion table for converting logical addresses into physical addresses. TLB is a cache that stores part of the address translation table. Address conversion table 1
As shown in Figure 3, field 5 consists of a logical address, a corresponding physical address, access information, and a 1-bit shared area bit (see the right end of Figure 3). be done. These are TLB as is.
However, storing the shared area bit in the TLB can be omitted.

共有領域ビットは、複数のプロセッサから共有されてア
クセスされるような領域について「lJが設定される。
The shared area bit is set to "lJ" for an area that is shared and accessed by multiple processors.

第1図を参照して、実施例の処理過程を説明する。成る
1つのプロセッサmについて処理が開始され、アドレス
変換テーブル15が変更されたとすると(処理過程S1
)、前述した共有領域ビットが「1」かどうか判定する
(過程S2)。「1」でなければ複数のプロセッサから
共有される領域でなく、従ってプロセッサm以′外の他
のプロセッサ111〜11Nで使用される領域ではない
から、TLBの無効化処理(有効フラグの無効化)をす
る必要はなく、直ちに処理終了(過程S4)となる。共
有領域ビットが「1」であれば、他プロセツサのTLB
エントリの無効化処理をするため他プロセツサ(プロセ
ッサm以外のプロセッサ111〜11N)への割り込み
を発生させ(過程S3)割り込み処理ルーチンを起動し
、他プロセツサのTLBエントリの無効化処理をすべて
終了させた後、プロセッサmの処理終了となる。
The process of the embodiment will be explained with reference to FIG. Assume that processing is started for one processor m, and the address translation table 15 is changed (processing step S1
), it is determined whether the shared area bit mentioned above is "1" (step S2). If it is not "1", it is not an area that is shared by multiple processors, and is therefore not an area that is used by other processors 111 to 11N other than processor m. ), and the process ends immediately (step S4). If the shared area bit is “1”, the TLB of other processors
In order to invalidate the entry, an interrupt is generated to other processors (processors 111 to 11N other than processor m) (step S3), and the interrupt processing routine is started to complete the invalidation process of the TLB entries of other processors. After that, the processing of processor m ends.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、他のプロセッサのアドレス変換バッフ
ァの冗長な無効化処理を省略でき、システムの処理速度
の向上を行うことができる。
According to the present invention, redundant invalidation processing of address translation buffers of other processors can be omitted, and the processing speed of the system can be improved.

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

第1図は本発明の一実施例としてのアドレス変換バッフ
ァの処理方式を行う処理過程の流れ図、第2図は本発明
の適用されるシステムのブロック図、 第3図は第1図の実施例のアドレス変換テーブルまたは
TLBの内容を説明する図、 第4図は従来例を説明する第3図と同様な図、および 第5図は従来例の処理過程を示す第1図と同様な図であ
る。 図において、 111〜11N・・・プロセッサ、 121〜12N・・・TLB。 13・・・共有バス、 14・・・主記憶、 15・・・アドレス変換テーブル、 である。 本発明の適用されるシステムのブロック図実施例の処理
過程 第1図 第3図 従来例の処理過程
FIG. 1 is a flowchart of a processing process for implementing an address translation buffer processing method as an embodiment of the present invention, FIG. 2 is a block diagram of a system to which the present invention is applied, and FIG. 3 is an embodiment of the method shown in FIG. Figure 4 is a diagram similar to Figure 3 explaining the conventional example, and Figure 5 is a diagram similar to Figure 1 showing the processing process of the conventional example. be. In the figure, 111 to 11N...processor, 121 to 12N...TLB. 13...Shared bus, 14...Main memory, 15...Address conversion table. Block diagram of the system to which the present invention is applied Processing process of the embodiment Fig. 1 Fig. 3 Processing process of the conventional example

Claims (1)

【特許請求の範囲】 主記憶(14)を共有し、個々のプロセッサ(111〜
11N)にアドレス変換バッファ装置(121〜12N
)を有する仮想アドレス空間をサポートするマルチプロ
セッサの計算機システムにおけるアドレス変換バッファ
の処理方式であって、 該主記憶(14)上のアドレス変換テーブル(15)の
個々のエントリに、複数のプロセッサから共有される可
能性があることを示す共有領域ビットを設け(S5)、 他系統のアドレス変換バッファに対する無効化処理(S
3)に際しては、該共有領域ビットを参照して(S2)
選択的に無効化処理を省略(S4)するアドレス変換バ
ッファの処理方式。
[Claims] The main memory (14) is shared, and the individual processors (111 to 111)
11N) to the address translation buffer device (121 to 12N)
) is a processing method for an address translation buffer in a multiprocessor computer system supporting a virtual address space having A shared area bit is set to indicate that there is a possibility that the
3), refer to the shared area bit (S2)
An address translation buffer processing method that selectively omits invalidation processing (S4).
JP63253817A 1988-10-11 1988-10-11 Address conversion buffer processing system Pending JPH02101552A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63253817A JPH02101552A (en) 1988-10-11 1988-10-11 Address conversion buffer processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63253817A JPH02101552A (en) 1988-10-11 1988-10-11 Address conversion buffer processing system

Publications (1)

Publication Number Publication Date
JPH02101552A true JPH02101552A (en) 1990-04-13

Family

ID=17256548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63253817A Pending JPH02101552A (en) 1988-10-11 1988-10-11 Address conversion buffer processing system

Country Status (1)

Country Link
JP (1) JPH02101552A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032085A (en) * 2007-07-27 2009-02-12 Panasonic Corp Data processing system
JP2018506790A (en) * 2015-02-04 2018-03-08 華為技術有限公司Huawei Technologies Co.,Ltd. System and method for memory synchronization in a multi-core system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032085A (en) * 2007-07-27 2009-02-12 Panasonic Corp Data processing system
US8239652B2 (en) 2007-07-27 2012-08-07 Panasonic Corporation Data processing system
JP2018506790A (en) * 2015-02-04 2018-03-08 華為技術有限公司Huawei Technologies Co.,Ltd. System and method for memory synchronization in a multi-core system
US10452686B2 (en) 2015-02-04 2019-10-22 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system

Similar Documents

Publication Publication Date Title
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
KR930004430B1 (en) Apparatus for maintaining consistency in a multiprocessor computer system using caching
JP3666689B2 (en) Virtual address translation method
JPH04232551A (en) Method and apparatus for converting multiple virtaul addresses
JPH0628262A (en) Look-aside buffer and method for high-speed translation of virtual address for physical address
JPS6135584B2 (en)
JPH03135641A (en) Microprocessor
US5339397A (en) Hardware primary directory lock
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US4658356A (en) Control system for updating a change bit
JP2768503B2 (en) Virtual memory address space access control method
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH0520197A (en) Storage control system and microprocessor
JPH0519176B2 (en)
JPH02101552A (en) Address conversion buffer processing system
JPH055137B2 (en)
JPH01288940A (en) Logical address cache control system
KR920005296B1 (en) Information processing device
JPH04205535A (en) Copy on write system
JP2637853B2 (en) Cache memory device
JP2507785B2 (en) Pageable entry invalidation device
JPH05314009A (en) Multiprocessor system
JPS59218692A (en) Control system of logical buffer memory
JPS6410858B2 (en)