JPH0816477A - Multiprocessor system - Google Patents
Multiprocessor systemInfo
- Publication number
- JPH0816477A JPH0816477A JP6148237A JP14823794A JPH0816477A JP H0816477 A JPH0816477 A JP H0816477A JP 6148237 A JP6148237 A JP 6148237A JP 14823794 A JP14823794 A JP 14823794A JP H0816477 A JPH0816477 A JP H0816477A
- Authority
- JP
- Japan
- Prior art keywords
- address
- invalidation
- address translation
- arithmetic processing
- tlb
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、マルチプロセッサシス
テムに係わり、特にマルチプロセッサ間のアドレス変換
バッファの同期制御に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system, and more particularly to synchronous control of an address translation buffer between multiprocessors.
【0002】[0002]
【従来の技術】最近のコンピュータシステムでは、仮想
記憶方式を採用している。この場合、ログラム上の論理
アドレスを実際のメモリ上の実アドレスに変換するため
にアドレス変換テーブルが作成される。このアドレス変
換テーブルはメモリ上に置かれる。そのために、命令を
解読し、実行を行う演算処理装置(またはプロセッサ,
以下、EPUと称す)はメモリをアクセスする度毎に、
論理アドレスから実アドレスへの変換を行うために、メ
モリ上のアドレス変換テーブルを参照しなければならな
い。この時のオーバーヘッドを削減するために、一度ア
ドレス変換を実施した結果を利用し、論理アドレスから
実アドレスへの変換対を複数個保持するアドレス変換バ
ッファ(以下、TLBと称す)をEPU内に設け、アド
レス変換の高速化を行うのが一般的である。2. Description of the Related Art Recent computer systems employ a virtual memory system. In this case, an address conversion table is created to convert the logical address on the program into the actual address on the actual memory. This address conversion table is stored in the memory. For that purpose, an arithmetic processing unit (or processor, which decodes and executes instructions)
(Hereinafter referred to as EPU), each time the memory is accessed,
In order to convert a logical address to a real address, it is necessary to refer to the address conversion table on the memory. In order to reduce the overhead at this time, an address translation buffer (hereinafter referred to as TLB) that holds a plurality of translation pairs from a logical address to a real address is provided in the EPU by using the result of performing the address translation once. It is common to speed up address translation.
【0003】近年、このようなEPUを複数台使用し
て、密結合マルチプロセッサシステムを構成し、システ
ムの性能を向上させる技術が極めて重要になってきてい
る。この場合に、克服しなければならない技術課題の一
つに、複数のEPU間のTLB内容の一致保証の問題が
ある。例えば、あるEPUが必要としているページ(ア
ドレス空間をある大きさの単位で分割したときのデータ
の大きさの単位。アドレス変換はこのベージ単位で実行
される。)がメモリ上に存在しないことを検出すると、
このEPUはページフォルトをOSに通知する。OSは
メモリ上から不要のページを選択し、この不要のページ
とディスクなどの外部記憶装置上に存在する上記のEP
Uが必要としているページとの入れ換え処理を行う。In recent years, a technique for constructing a tightly coupled multiprocessor system by using a plurality of such EPUs and improving the system performance has become extremely important. In this case, one of the technical problems that must be overcome is the problem of guaranteeing the consistency of TLB contents between a plurality of EPUs. For example, a page required by a certain EPU (a unit of data size when the address space is divided into units of a certain size; address conversion is executed in this page unit) is not present in the memory. When detected,
This EPU notifies the OS of a page fault. The OS selects an unnecessary page from the memory, and the above-mentioned EP existing on the unnecessary page and an external storage device such as a disk.
The replacement process with the page required by U is performed.
【0004】この時、新たにメモリ上に割り付けられた
ページには、外部記憶装置上に追い出されたページの以
前の実アドレスが割り付けられるとともに、EPUは新
しいページの論理アドレスと実アドレスとの対応が取れ
るようにアドレス変換テーブルの内容を書き換える。こ
の時、外部記憶装置に追い出された古いページに対応す
るアドレス変換対を登録しているTLBがあれば、この
古いアドレス変換対を無効化し、全TLBの内容を一致
させるための同期制御が必要になる。At this time, the page newly allocated in the memory is allocated the previous real address of the page flushed to the external storage device, and the EPU associates the logical address of the new page with the real address. The contents of the address translation table are rewritten so that At this time, if there is a TLB that has registered an address translation pair corresponding to the old page that has been flushed to the external storage device, this old address translation pair is invalidated, and synchronization control is required to match the contents of all TLBs. become.
【0005】具体的には、上記のEPUは、自EPU内
のTLBおよび、他のEPU内のTLBに無効化すべき
ページの論理アドレスを送出し、この論理アドレスによ
って全TLBを検索して、無効化すべきアドレス変換対
が検出された時には、このアドレス変換対を消去する。
このアドレス変換対の無効化処理はTLB同期クリア命
令として実行される。Specifically, the above EPU sends the logical address of the page to be invalidated to the TLB in its own EPU and the TLB in another EPU, searches all TLBs by this logical address, and invalidates. When an address translation pair to be converted is detected, this address translation pair is erased.
This invalidation processing of the address translation pair is executed as a TLB synchronization clear instruction.
【0006】従来のマルチプロセッサにおけるTLBの
同期無効化処理の主要部をブロック図で示した図4を参
照すると、このマルチプロセッサシステムは、4台のE
PU1、2、3および4と、2台のシステム制御装置
(以下、SCUと称す)5bよび6bを備えている。説
明に必要のないメモリなどは省略している。Referring to FIG. 4, which is a block diagram showing the main part of the TLB synchronization invalidation processing in the conventional multiprocessor, this multiprocessor system has four Es.
It has PUs 1, 2, 3 and 4 and two system control units (hereinafter referred to as SCU) 5b and 6b. The memory etc. which are not necessary for explanation are omitted.
【0007】各々のEPU1、2、3および4内には、
それぞれTLB11、21、31および41が設けられ
ている。EPU1および2はバス70を介してSCU5
bに接続され、EPU3および4はバス71を介してS
CU6bに接続されている。SCU5bとSCU6b
は、バス72を介して互いに接続され、バス70、71
および72は、制御線、アドレス線およびデータ線から
構成されている。Within each EPU 1, 2, 3 and 4,
TLBs 11, 21, 31 and 41 are provided respectively. EPU1 and 2 are SCU5 via bus 70
b, and EPUs 3 and 4 connect to S via bus 71.
It is connected to the CU 6b. SCU5b and SCU6b
Are connected to each other via a bus 72,
And 72 are composed of control lines, address lines and data lines.
【0008】さらに、SCU5bはセレクタ51、レジ
スタ52、駆動バッファ56〜59および制御回路55
を有し、バス70は駆動バッファ57に接続され、駆動
バッファ57の出力端はセレクタ51の一方の入力端お
よび制御回路55にそれぞれ接続される。セレクタ51
の出力端はレジスタ52に接続され、その出力端は駆動
バッファ56および58にそれぞれ接続され、かつこれ
らの出力端はデータバス70および72にそれぞれ接続
される。Further, the SCU 5b includes a selector 51, a register 52, drive buffers 56 to 59 and a control circuit 55.
The bus 70 is connected to the drive buffer 57, and the output end of the drive buffer 57 is connected to one input end of the selector 51 and the control circuit 55. Selector 51
Is connected to register 52, its outputs are connected to drive buffers 56 and 58, respectively, and its outputs are connected to data buses 70 and 72, respectively.
【0009】一方駆動バッファ59の入力端はデータバ
ス72に接続されその出力端はセレクタ51および制御
回路55のそれぞれ他方の入力端に接続される。制御回
路55の一方の出力端は駆動バッファ56の他方の入力
端に、制御回路55の他方の出力端は駆動バッファ58
の他方の入力端にそれぞれ接続されて構成されている。On the other hand, the input end of the drive buffer 59 is connected to the data bus 72, and the output end thereof is connected to the other input ends of the selector 51 and the control circuit 55, respectively. One output end of the control circuit 55 is the other input end of the drive buffer 56, and the other output end of the control circuit 55 is the drive buffer 58.
Are connected to the other input ends of the.
【0010】SCU6bはSCU5bと同一構成であり
構成要素の符号の51と61、52と62、53と6
3、54と64、56と66、57と67および58と
68がそれぞれ対応する。The SCU 6b has the same configuration as the SCU 5b, and the reference numerals 51 and 61, 52 and 62, 53 and 6 of the constituent elements.
3, 54 and 64, 56 and 66, 57 and 67 and 58 and 68, respectively.
【0011】EPU2がTLB同期クリア命令を実行す
る場合を説明する。TLB同期クリア命令では、無効化
すべきTLBの論理アドレスが指定される。EPU2が
TLB同期クリア命令を解読すると、指定されたTLB
無効化論理アドレスに従って、TLB21から無効化す
べきアドレス変換対を消去する。同時にEPU2は、T
LB無効化要求とTLB無効化論理アドレスをバス70
の制御線とアドレス線を使用してSCU5bに送出す
る。TLB無効化要求は駆動バッファ57を介して制御
回路55に通知され、TLB無効化論理アドレスは、セ
レクタ51を通してレジスタ52にセットされる。A case where the EPU 2 executes the TLB synchronization clear command will be described. The TLB synchronous clear instruction specifies the logical address of the TLB to be invalidated. When EPU2 decodes the TLB sync clear command, the specified TLB
The address translation pair to be invalidated is erased from the TLB 21 according to the invalidation logical address. At the same time, EPU2 is T
The LB invalidation request and the TLB invalidation logical address are sent to the bus 70.
It is sent to the SCU 5b using the control line and the address line. The TLB invalidation request is notified to the control circuit 55 via the drive buffer 57, and the TLB invalidation logical address is set in the register 52 through the selector 51.
【0012】制御回路55は、バス72の制御線とアド
レス線を使用して、TLB無効化要求とTLB無効化論
理アドレスをSCU6bに送出する。TLB無効化要求
は制御回路65に通知され、TLB無効化論理アドレス
は、セレクタ61を通してレジスタ62にセットされ
る。The control circuit 55 sends the TLB invalidation request and the TLB invalidation logical address to the SCU 6b by using the control line and the address line of the bus 72. The TLB invalidation request is notified to the control circuit 65, and the TLB invalidation logical address is set in the register 62 through the selector 61.
【0013】次に制御回路55および65はバス70お
よびバス71の制御線とアドレス線を使用して、TLB
無効化要求とTLB無効化論理アドレスをEPU1、3
および4に送出する。TLB無効化要求を受け取ったE
PU1、3および4は、それぞれのTLB11、31お
よび41からTLB無効化論理アドレスに従って、無効
化すべきアドレス変換対を消去する。Next, the control circuits 55 and 65 use the control lines and address lines of the bus 70 and the bus 71 to make the TLB.
The invalidation request and TLB invalidation logical address are set to EPU1, 3
And send to 4. E who received the TLB invalidation request
The PUs 1, 3 and 4 erase the address translation pair to be invalidated from the respective TLBs 11, 31 and 41 according to the TLB invalidation logical address.
【0014】この一連の処理により、各EPU1、2、
3および4の中のTLB11、21、31および41か
ら無効化すべき変換対が消去され、TLB11、21、
31および41の内容の一致が取られる。この無効化処
理が終了すると、EPU1はバス70の制御線を使用し
て、TLB無効化処理が終了したことをSCU5bに通
知し、EPU3および4はバス71の制御線を使用し
て、TLB無効化処理が終了したことをSCU6bに通
知する。By this series of processing, each EPU 1, 2,
The conversion pairs to be invalidated are deleted from TLBs 11, 21, 31 and 41 in 3 and 4, and TLBs 11, 21,
The contents of 31 and 41 are matched. When this invalidation processing ends, EPU 1 uses the control line of bus 70 to notify SCU 5b that the TLB invalidation processing has ended, and EPUs 3 and 4 use the control line of bus 71 to disable TLB. The SCU 6b is notified that the conversion processing has been completed.
【0015】SCU6bに通知されたTLB無効化処理
の終了信号は専用配線74を通してSCU5bに通知さ
れる。SCU5bは、各々のTLB無効化処理の終了信
号をバス70の制御線を通してEPU2に通知する。E
PU2はEPU1、3および4からのTLB無効化処理
の終了信号を全て受け取ると、このTLB同期クリア命
令が終了したと判断して、新たな命令の処理を開始す
る。The end signal of the TLB invalidation process notified to the SCU 6b is notified to the SCU 5b through the dedicated wiring 74. The SCU 5b notifies the EPU 2 of the end signal of each TLB invalidation processing through the control line of the bus 70. E
When PU2 receives all the end signals of the TLB invalidation processing from EPUs 1, 3 and 4, it judges that this TLB synchronization clear instruction has ended and starts the processing of a new instruction.
【0016】EPU3または4がTLB同期クリア命令
を実行する場合も同様な手順で実行され、その場合のT
LB無効化処理の終了信号は専用配線74を通してSC
U5bに通知する。When the EPU 3 or 4 executes the TLB synchronization clear command, the same procedure is executed.
The termination signal of the LB invalidation process is sent to the SC through the dedicated wiring 74.
Notify U5b.
【0017】また、従来のアドレス変換制御の他の例が
特開平4−352047号公報に記載されている。同公
報記載のアドレス変換制御は、あるマイクロプロセッサ
がアドレス変換テーブルの論理ページに対応する内容を
書き換えた場合に、アドレス変換無効化命令により自ア
ドレス変換バッファの無効化と同時に、他の全てのマイ
クロプロセッサ内のアドレス変換バッファの無効化も行
なうことが出来るように構成されている。そのため、無
効化命令で指定された論理アドレスをマイクロプロセッ
サチップ外部に出力し、他のマイクロプロセッサにその
論理アドレスを入力し、その論理アドレスに対応する変
換対をアドレス変換バッファから消去させるようにした
ものである。Another example of conventional address translation control is disclosed in Japanese Patent Laid-Open No. 4-352047. The address translation control described in the publication is such that, when a microprocessor rewrites the contents corresponding to the logical page of the address translation table, at the same time as invalidating its own address translation buffer with an address translation invalidating instruction, all other microprocessors The address translation buffer in the processor can be invalidated. Therefore, the logical address specified by the invalidation instruction is output to the outside of the microprocessor chip, the logical address is input to another microprocessor, and the translation pair corresponding to the logical address is erased from the address translation buffer. It is a thing.
【0018】[0018]
【発明が解決しようとする課題】以上説明した従来のマ
ルチプロセサシステムでは、あるEPUがメモリ上のア
ドレス変換テーブルを書き換えて、TLB同期クリア命
令を実行するときに、全EPUにTLB無効化論理アド
レスを送出し、全EPUでTLBの無効化処理を等しく
実行しなければならなかった。また、TLB同期クリア
命令を実行するEPUは、他の全てのEPUのTLB無
効化処理の終了を確認した後でなければ新たな命令の実
行が開始できなかった。In the conventional multiprocessor system described above, when a certain EPU rewrites the address conversion table in the memory and executes the TLB synchronous clear instruction, the TLB invalidation logical address is given to all EPUs. It had to be sent out and the TLB invalidation process had to be executed equally in all EPUs. Further, the EPU which executes the TLB synchronization clear instruction can only start executing a new instruction after confirming the completion of the TLB invalidation processing of all the other EPUs.
【0019】一方、現実的には、各々のEPUは固有の
アドレス空間を割り当てられていることが多く、実際に
TLB同期クリア命令で無効果すべきアドレス変換対を
保持しているTLBの数は非常に少ない。また複数のE
PUによって共有されるアドレス空間はメモリ上に常駐
されるように制御されることが多く、TLB同期クリア
命令によるTLBの無効化処理自体が非常に少ない。On the other hand, in reality, each EPU is often assigned a unique address space, and the number of TLBs that actually hold an address translation pair that should be rendered ineffective by the TLB synchronization clear instruction is equal to the number of TLBs. Very few. Also multiple E
The address space shared by the PU is often controlled so as to be resident in the memory, and the TLB invalidation process itself by the TLB synchronous clear instruction is very small.
【0020】しかるに、従来のマルチプロセッサシステ
ムでは、TLB同期クリア命令を実行する毎に、実際に
はTLBのアドレス変換対の無効化の処理の必要のない
大半のEPUを含めて、全てのEPUで等しくTLBの
アドレス変換対の無効化処理によるオーバーヘッドの性
能低下が生じるという問題点があった。しかも、TLB
同期クリア命令を実行しているEPUは、他の全てのE
PUからのTLB無効化処理の終了を待たねばならず、
例えば一台のEPUでも、実行時間の非常に長い命令を
実行中のために、このTLB無効化処理が保留された場
合には、性能低下が著しくなるという問題点があった。However, in the conventional multiprocessor system, every time an TLB synchronous clear instruction is executed, all EPUs including most EPUs that do not actually need to invalidate the TLB address translation pair. There is a problem in that the performance of the overhead is lowered due to the invalidation processing of the address translation pair of the TLB. Moreover, TLB
The EPU executing the synchronous clear command is
You have to wait for the end of the TLB invalidation process from the PU,
For example, even with one EPU, there is a problem in that if the TLB invalidation processing is suspended because an instruction having a very long execution time is being executed, the performance is significantly deteriorated.
【0021】ところで、このTLB同期クリア命令の実
行は一つのEPUに一つのアドレス空間が割り当てられ
た時に必然的に生じる問題で、EPUの台数の増加に比
例して、このTLB同期クリア命令の出現数も比例して
増加する。従って、従来のマルチプロセッサシステムで
は、EPUの台数を増加させてシステムの性能を向上さ
せようとする場合に、上述したTLB同期クリア命令の
オーバーヘッドによるシステムの性能が低下するという
問題が極めて重大になっていた。By the way, the execution of the TLB synchronous clear instruction is a problem that necessarily occurs when one address space is allocated to one EPU, and the TLB synchronous clear instruction appears in proportion to the increase in the number of EPUs. The number also increases proportionally. Therefore, in the conventional multiprocessor system, when the number of EPUs is increased to improve the system performance, the problem that the system performance is deteriorated due to the overhead of the TLB synchronization clear instruction described above becomes extremely serious. Was there.
【0022】本発明の目的は上述した問題点に鑑みなさ
れたものであり、マルチプロセッサシステムの各EPU
間におけるTLBの一致処理の高速化を実現することに
ある。The object of the present invention is made in view of the above-mentioned problems, and each EPU of a multiprocessor system is provided.
It is to realize the speedup of the TLB matching process between the two.
【0023】[0023]
【課題を解決するための手段】本発明のマルチプロセッ
サシステムの特徴は、演算処理装置が論理アドレスおよ
び実アドレスのアドレス変換対を複数個含んだアドレス
変換バッファを有し、この演算処理装置を複数個備え、
無効果すべき前記アドレス変換対が検出されたときにア
ドレス変換バッファ同期クリア命令を実行してこのアド
レス変換対を消去するマルチプロセッサシステムにおい
て、前記アドレス変換バッファのそれぞれの内容の写し
が転送されて記憶される複数の記憶手段と、前記複数の
演算処理装置のうちの所定の演算処理装置が前記アドレ
ス変換バッファ同期クリア命令を実行して複数の前記ア
ドレス変換バッファの無効化処理を実行する場合に、前
記アドレス変換バッファの無効化論理アドレスで前記複
数の記憶手段の内容を検索する手段と、この検索結果に
従い前記複数の記憶手段のうちのいずれかに前記アドレ
ス変換バッファの前記無効化論理アドレスが登録されて
いるかを検出する手段と、この検出結果に従い前記無効
化論理アドレスが登録された前記記憶手段に対応する前
記複数の演算処理装置に対して、前記無効化論理アドレ
スによるアドレス変換バッファ無効化要求を送出する第
1の送出手段とを備えたことにある。A feature of a multiprocessor system of the present invention is that an arithmetic processing unit has an address translation buffer including a plurality of address translation pairs of a logical address and a real address. Individual preparation,
In a multiprocessor system which executes an address translation buffer sync clear instruction to erase this address translation pair when the address translation pair to be ineffective is detected, a copy of each content of the address translation buffer is transferred. When a plurality of storage means to be stored and a predetermined arithmetic processing unit among the plurality of arithmetic processing units execute the address translation buffer synchronization clear instruction to execute a plurality of address translation buffer invalidation processes , Means for searching the contents of the plurality of storage means with the invalidation logical address of the address translation buffer, and the invalidation logical address of the address translation buffer in any one of the plurality of storage means according to the search result. A means to detect whether it is registered, and the invalidation logical address according to the detection result. To the plurality of processing units corresponding to the recorded has been the storage means, in that a first sending means for sending the address translation buffer invalidation request by the invalidation logical address.
【0024】また、前記複数の記憶手段が、それぞれ対
応する前記アドレス変換バッファの論理アドレス部のみ
を保持するように構成されてもよい。Further, the plurality of storage means may be configured to hold only the logical address parts of the corresponding address translation buffers.
【0025】さらに、前記複数の演算処理装置に接続さ
れるシステム制御装置を有し、このシステム制御装置は
前記複数の演算処理装置がそれぞれ有する前記アドレス
変換バッファに対応した複数の前記記憶手段を備えても
よい。Further, there is a system control unit connected to the plurality of arithmetic processing units, and the system control unit is provided with a plurality of storage means corresponding to the address conversion buffers respectively included in the plurality of arithmetic processing units. May be.
【0026】さらにまた、前記複数の演算処理装置のう
ちあらかじめ定められた複数の演算処理装置に接続され
る複数の前記システム制御装置それぞれが前記複数の記
憶手段を有し、かつ接続されている前記複数の演算処理
装置のいずれか1つが前記アドレス変換同期クリア命令
を実行して前記アドレス変換バッファの無効化処理を実
行する際に、この演算処理装置が送出する前記無効化論
理アドレスを保持する第1の保持手段と、この保持され
た前記無効化論理アドレスを基に前記複数の記憶手段の
内容を検索する手段と、この検索結果に従って前記複数
の記憶手段にそれぞれ対応した前記演算処理装置に対し
て前記アドレス変換バッファ無効化要求を送出する前記
第1の送出手段と、他の前記システム制御装置に前記ア
ドレス変換バッファ無効化要求を送出する第2の送出手
段と、他の前記システム制御装置から送出された前記無
効化論理アドレスを保持する第2の保持手段と、この保
持された前記無効化論理アドレスによって前記複数の記
憶手段の内容を検索する手段と、この検索結果に従って
前記演算処理装置に前記他のシステム制御装置から送出
された前記アドレス変換バッファ無効化要求を送出する
第3の送出手段とを有することができる。Furthermore, among the plurality of processing units, each of the plurality of system control units connected to a plurality of predetermined processing units has the plurality of storage means and is connected to the plurality of storage units. A storage unit for holding the invalidation logical address sent by the arithmetic processing unit when any one of a plurality of arithmetic processing units executes the address translation synchronization clear instruction to execute the invalidation processing of the address translation buffer; One holding means, a means for searching the contents of the plurality of storage means based on the held invalidation logical address, and an arithmetic processing device corresponding to each of the plurality of storage means according to the search result. The address translation buffer invalidating request to the other first system control device and the address translation buffer to another system control device. Second sending means for sending the invalidation request, second holding means for holding the invalidation logical address sent from another system control device, and a plurality of the plurality of invalidating logical addresses based on the held invalidation logical address. And a third sending means for sending the address translation buffer invalidation request sent from the other system control device to the arithmetic processing device according to the search result. it can.
【0027】また、前記あからじめ定められた複数の演
算処理装置が接続される複数の前記システム制御装置の
それぞれが、前記演算処理装置および前記他のシステム
制御装置からそれぞれ発生する前記アドレス変換バッフ
ァ無効化要求に対して、前記無効化論理アドレスを保持
する前記第1の保持手段と前記複数の記憶手段の内容を
検索する手段と前記複数の演算処理装置に前記アドレス
変換バッファ無効化要求を送出する前記第1の送出手段
とを、新な前記アドレス変換対の登録時と前記無効化論
理アドレスの索引時とで共用するように構成することも
できる。Further, the address translation generated by each of the plurality of system control devices to which the plurality of predetermined arithmetic processing devices are connected is generated from the arithmetic processing device and the other system control device. In response to the buffer invalidation request, the address holding buffer invalidating request is sent to the first holding unit that holds the invalidating logical address, the unit that searches the contents of the plurality of storage units, and the plurality of arithmetic processing units. The first sending means for sending may be configured to be shared when registering a new address translation pair and when indexing the invalidated logical address.
【0028】さらに、前記あらかじめ定められた複数の
演算処理装置が接続される複数の前記システム制御装置
のそれぞれが、前記アドレス変換バッファの無効化論理
アドレスによって前記複数の記憶手段を検索した結果、
前記無効化論理アドレスが登録されていないことを検出
し、前記記憶手段に対応した前記アドレス変換バッファ
を有する前記演算処理装置に対しては前記無効化論理ア
ドレスによるアドレス変換バッファ無効化要求の送出を
抑止し、かつ前記演算処理装置に対するアドレス変換バ
ッファの無効化処理が終了したことを前記アドレス変換
バッファ同期クリア命令を実行している前記所定の演算
処理装置に通知する手段を備えてもよい。Further, as a result of each of the plurality of system control devices to which the plurality of predetermined arithmetic processing units are connected searching for the plurality of storage means by the invalidation logical address of the address translation buffer,
It is detected that the invalidation logical address is not registered, and an address translation buffer invalidation request by the invalidation logical address is sent to the arithmetic processing unit having the address translation buffer corresponding to the storage means. Means may be provided for notifying and notifying the predetermined arithmetic processing unit executing the address translation buffer synchronization clear instruction that the address translation buffer invalidation processing for the arithmetic processing unit has been completed.
【0029】さらにまた、前記あらかじめ定められた複
数の演算処理装置が接続される複数の前記システム制御
装置のそれぞれが、他の前記システム制御装置から受け
付けた前記アドレス変換バッファの無効化論理アドレス
によって前記複数の記憶手段を検索した結果、前記無効
化論理アドレスが登録されていないことが検出された場
合は、前記複数の記憶手段に対応するアドレス変換バッ
ファの無効化処理の終了を前記他のシステム制御装置に
通知する手段と、他の前記システム制御装置から前記無
効化処理の終了を受け付けた場合に、この終了通知を前
記アドレス変換バッファ同期クリア命令を実行している
前記所定の演算処理装置に通知する手段を備えることも
できる。Furthermore, each of the plurality of system control devices to which the predetermined plurality of arithmetic processing devices are connected uses the invalidation logical address of the address translation buffer received from another system control device. As a result of searching the plurality of storage means, when it is detected that the invalidation logical address is not registered, the end of the invalidation processing of the address translation buffer corresponding to the plurality of storage means is terminated by the other system control. And a means for notifying the device, and when the end of the invalidation process is received from another system control device, the end notification is sent to the predetermined arithmetic processing device executing the address translation buffer synchronization clear instruction. Means for doing so can also be provided.
【0030】[0030]
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の一実施例のマルチプロセサシステム
のブロック図である。図1において、従来の技術のマル
チプロセッサシステムを示した図4の構成要素と同一の
構成要素とは同一符号を付してある。本実施例のマルチ
プロセッサシステムは4台のEPU1、2、3および4
と、2台のSCU5aおよび6aから構成される4EP
Uマルチプロセッサシステムであり、本発明と直接関係
のないメモリなどは省略している。The present invention will be described below with reference to the drawings. FIG. 1 is a block diagram of a multiprocessor system according to an embodiment of the present invention. In FIG. 1, the same components as those of FIG. 4 showing a conventional multiprocessor system are designated by the same reference numerals. The multiprocessor system of this embodiment has four EPUs 1, 2, 3 and 4
And 4EP consisting of two SCUs 5a and 6a
A U-multiprocessor system, which does not directly relate to the present invention, is omitted.
【0031】再び図1を参照すると、EPU1および2
はバス70を介してSCU5aに接続され、EPU3お
よび4はバス71を介してSCU6aに接続されてい
る。SCU5aとSCU6aは、バス72を介して互い
に接続され、かつ双方間の特殊な制御は専用配線73お
おび74で行なう。Referring again to FIG. 1, EPUs 1 and 2
Is connected to the SCU 5a via the bus 70, and the EPUs 3 and 4 are connected to the SCU 6a via the bus 71. The SCU 5a and the SCU 6a are connected to each other via a bus 72, and special control between them is performed by dedicated wirings 73 and 74.
【0032】71および72はいずれも制御線、アドレ
ス線およびデータ線から構成されている。EPU1、
2、3および4はそれぞれTLB11、21、31およ
び41を有している。各々のTLB11、21、31お
よび41はKey部とData部からなり、Key部に
は、メモリアクセスで使用された論理アドレスが登録さ
れ、Data部には、そのKey部に登録される論理ア
ドレスをアドレス変換を実行して得られた実アドレスが
Key部の論理アドレスと対応する位置に登録される。Both 71 and 72 are composed of control lines, address lines and data lines. EPU1,
2, 3 and 4 have TLBs 11, 21, 31 and 41 respectively. Each of the TLBs 11, 21, 31, and 41 is composed of a Key part and a Data part. The Key part stores the logical address used for memory access, and the Data part stores the logical address registered in the Key part. The real address obtained by executing the address conversion is registered in the position corresponding to the logical address of the Key part.
【0033】各々のTLB11、21、31および41
はこのようなアドレス変換対を複数個保持している。T
LBの構成は一般的に知られているものであり、フル・
アソシアティブ構成であっても、セット・アソシアティ
ブ構成であっても構わない。Each TLB 11, 21, 31 and 41
Holds a plurality of such address translation pairs. T
The structure of the LB is generally known and
It may have an associative structure or a set associative structure.
【0034】TLBがフル・アソシアティブ構成の場合
は、Key部には、アドレス変換に必要なのいページ内
アドレスを除いた論理アドレスの全ビットが登録され
る。また、アドレス変換対はTLBの全てのエントリの
任意の場所に登録可能である。When the TLB has a full associative structure, all the bits of the logical address except for the in-page address which is not necessary for the address conversion are registered in the Key section. Further, the address translation pair can be registered in any place of all the entries of the TLB.
【0035】一方、TLBがセット・アソシアティブ構
成の一般的な例を示した図2を参照すると、上位ビット
のKeyアドレス部206と下位ビットのアドレス指定
部207とを有する論理アドレス部およびその対応する
ページのページ内アドレス208からなる論理アドレス
201と、メモリアクセスで使用したkeyアドレス部
206を一次記憶するレジスタ209とこのアドレスに
記憶される論理アドレスをアドレス変換して得られた実
アドレスが、レジスタ209内の論理アドレスに対応し
た位置に記憶されるレジスタ210とからなる書き込み
用レスレジスタ202と、論理アドレス201のアドレ
ス指定部207で指定される番地に対応してレジスタ2
09のアドレスが格納されるkeyアドレス211およ
びレジスタ210の実アドレスのデータが格納される実
アドレス部212からなるTLB203と、Keyアド
レス211の内容とkeyアドレス部206の内容とを
比較する比較器204とを有し、論理アドレス201に
対応する実アドレス205は、上位ビットにTLB20
3の実アドレス部212が登録される実アドレス部21
3と論理アドレス201のページ内アドレス208が登
録されるページ内アドレス214とからなる。On the other hand, referring to FIG. 2 showing a general example of the set associative structure of the TLB, a logical address part having a key address part 206 of the upper bit and an addressing part 207 of the lower bit and its corresponding part. A logical address 201 consisting of an in-page address 208 of a page, a register 209 for temporarily storing the key address portion 206 used in memory access, and a real address obtained by address-converting the logical address stored at this address are registered in the register. A write address register 202 including a register 210 stored at a position corresponding to a logical address in 209, and a register 2 corresponding to an address designated by the address designation unit 207 of the logical address 201.
09 is stored in the key address 211 and the real address data of the register 210 is stored in the real address part 212, and the comparator 204 for comparing the contents of the key address 211 with the contents of the key address part 206. And the real address 205 corresponding to the logical address 201 has TLB20 in the upper bits.
The real address part 21 in which the real address part 212 of 3 is registered
3 and an in-page address 214 in which the in-page address 208 of the logical address 201 is registered.
【0036】すなわち、アドレス変換対の登録場所は、
プログラム上で指定された論理アドレス201からベー
ジ内アドレス208とkeyアドレス部206を除いた
アドレス指定部207の複数の固定ビットによって指定
される。このアドレス指定部207はTLB203のア
ドレス登録数を指定可能なビット数が用意されている。That is, the registration location of the address translation pair is
It is designated by a plurality of fixed bits of the address designation unit 207 excluding the in-page address 208 and the key address unit 206 from the logical address 201 designated on the program. The address designating unit 207 is prepared with a bit number capable of designating the number of registered addresses of the TLB 203.
【0037】TLB203のkeyアドレス211に
は、論理アドレス201からベージ内アドレス208お
よびアドレス指定部207を除いたkeyアドレス部2
06が登録される。また、アドレス指定部207は一般
的にページ内アドレス208を除いた論理アドレス20
1内の下位部分のアドレスが使用される。アドレス変換
対の登録は図示されていない制御回路により制御される
が、その制御のタイミングは比較器204の比較結果を
トリガとしている。本実施例では、このセット・アソシ
アティブ構成のTLBが採用されているとして説明を行
う。In the key address 211 of the TLB 203, the key address part 2 obtained by removing the in-page address 208 and the address designating part 207 from the logical address 201
06 is registered. In addition, the address designation unit 207 generally uses the logical address 20 excluding the in-page address 208.
The lower part of the address within 1 is used. The registration of the address translation pair is controlled by a control circuit (not shown), and the control timing is triggered by the comparison result of the comparator 204. In the present embodiment, description will be made assuming that the TLB having the set associative structure is adopted.
【0038】次にSCU5aおよび6aの内部の構成に
ついて説明する。セレクタ51は、バス70およびバス
72を通して送られてくるデータの一方をセレクトし、
レジスタ52にセットする。セレクタ61は、バス71
およびバス72を通して送られてくるデータの一方をセ
レクトし、レジスタ62にセットする。レジスタ52お
よび62にセットされるデータは、バス70、71およ
び72のアドレス線を通して送られてくるアドレスデー
タである。バス70、71および72のアドレス線を通
して送られてくるデータは、メモリのストアなどで使用
されるデータであり、本発明とは直接関係しないため、
今後の説明では省略する。Next, the internal structure of the SCUs 5a and 6a will be described. The selector 51 selects one of the data sent through the bus 70 and the bus 72,
Set in register 52. The selector 61 is the bus 71
And one of the data sent through the bus 72 is selected and set in the register 62. The data set in the registers 52 and 62 is the address data sent through the address lines of the buses 70, 71 and 72. The data sent through the address lines of the buses 70, 71, and 72 are data used in memory stores and the like and are not directly related to the present invention.
It will be omitted in the following description.
【0039】レジスタ52および62にセットされたア
ドレスデータの下位部分は、コピーTLB(以下、CT
LBと称す)53a、53b、63aおよび63bに供
給されて、CTLBそれぞれのアドレス指定部として使
用される。残りのアドレスデータの上位部分は、CTL
B53a、53b、63aおよび63bのkey部の内
容と比較するために比較器54a、54b、64aおよ
び64bに供給される。The lower part of the address data set in the registers 52 and 62 is a copy TLB (hereinafter CT).
(Referred to as LB) 53a, 53b, 63a and 63b, and used as the addressing section of each CTLB. The upper part of the remaining address data is CTL.
It is supplied to comparators 54a, 54b, 64a and 64b for comparison with the contents of the key part of B53a, 53b, 63a and 63b.
【0040】CTLB53a、53b、63aおよび6
3bは、TLB11、21、31および41の内容の写
しをそれぞれ保持するメモリである。CTLB53a、
53b、63aおよび63bはTLB11、21、31
および41の内容のうち、Key部の内容のみを保持す
るように構成されており、ハードウェア量の削減を図っ
ている。CTLB53a、53b、63aおよび63b
の内容の更新は、TLB11、21、31もしくは41
のアドレス変換対が更新される時に同時に行われる。CTLB 53a, 53b, 63a and 6
3b is a memory for holding a copy of the contents of the TLBs 11, 21, 31, and 41, respectively. CTLB53a,
53b, 63a and 63b are TLB11, 21, 31
Of the contents of 41 and 41, only the contents of the Key part are held, and the amount of hardware is reduced. CTLB 53a, 53b, 63a and 63b
Update the contents of TLB 11, 21, 31 or 41
This is done at the same time when the address translation pair of is updated.
【0041】つまり、EPU1、2、3もしくは4で新
たな論理アドレスを実アドレスに変換する時に、求める
アドレス変換対がTLB11、21、31もしくは41
に存在せず、この論理アドレスのアドレス変換を実行
し、新たなアドレス変換対をTLB11、21、31も
しくは41に登録する時に、同時にCTLB53a、5
3b、63aおよび63bの内容の更新も行なわれる。That is, when converting a new logical address into a real address in EPU 1, 2, 3 or 4, the address conversion pair to be calculated is TLB 11, 21, 31 or 41.
When the new address translation pair is registered in the TLB 11, 21, 31 or 41, the CTLB 53a, 5
The contents of 3b, 63a and 63b are also updated.
【0042】ここで、EPU3でアドレス変換が実行さ
れ、TLB31に新たなアドレス変換対が登録される場
合を説明する。この時、同時にこの新たに登録されるア
ドレス変換対の内の論理アドレス部とTLB更新指示お
よびEPU3を示すEPU番号が、バス71のアドレス
線と制御線を通してSCU6aに送出される。Here, the case where the address translation is executed in the EPU 3 and a new address translation pair is registered in the TLB 31 will be described. At this time, at the same time, the logical address part of the newly registered address translation pair, the TLB update instruction, and the EPU number indicating EPU3 are sent to the SCU 6a through the address line and control line of the bus 71.
【0043】SCU6aに送られてきた論理アドレスは
セレクタ61を通してレジスタ62にセットされ、TL
B更新指示およびEPU番号は制御回路65に通知され
る。The logical address sent to the SCU 6a is set in the register 62 through the selector 61, and the TL
The B update instruction and the EPU number are notified to the control circuit 65.
【0044】すると制御回路65の指示により、レジス
タ62にセットされた論理アドレスの内の、CTLB6
3aのアドレスを指定するアドレス指定部によってCT
LB63aの更新すべきアドレス位置が指定される。こ
の指定によって、レジスタ62にセットされている論理
アドレスの内のアドレス指定部を除く上位のアドレス
部、即ちTLB31のKey部の内容がCTLB63a
の所定の位置に登録される。この一連の処理によって、
TLB31に新たに登録されたアドレス変換対のKey
部の写しがCTLB63aにコピーされたことになる。
他のCTLB53a、53bおよび63bの更新処理も
同様に行われる。Then, according to an instruction from the control circuit 65, CTLB6 of the logical addresses set in the register 62 is
CT by the addressing unit that specifies the address of 3a
The address position of the LB 63a to be updated is designated. By this designation, the contents of the higher-order address part of the logical address set in the register 62 excluding the address designating part, that is, the Key part of the TLB 31 is CTLB 63a.
Is registered at a predetermined position of. By this series of processing,
Key of address translation pair newly registered in TLB31
A copy of the copy has been copied to the CTLB 63a.
The update processing of the other CTLBs 53a, 53b and 63b is also performed in the same manner.
【0045】CTLB53a、53b、63aおよび6
3bの索引は、レジスタ52および62にセットされた
論理アドレスの内のアドレス指定部によってCTLB5
3a、53b、63aおよび63bがアドレスされ、そ
のアドレス位置からCTLB53a、53b、63aお
よび63bの内容が読み出されることで行われる。CTLB 53a, 53b, 63a and 6
The index of 3b is CTLB5 by the addressing part of the logical addresses set in the registers 52 and 62.
3a, 53b, 63a and 63b are addressed, and the contents of the CTLBs 53a, 53b, 63a and 63b are read from the address position.
【0046】この読み出されたCTLB53a、53
b、63aおよび63bの内容は、それぞれ比較器54
a、54b、64aおよび64bに送出される。比較器
54a、54b、64aおよび64bは、レジスタ52
および62にセットされた論理アドレスの内の下位のア
ドレス指定部を除く上位のアドレス部とCTLB53
a、53b、63aよび63bから読み出された内容と
をそれぞれ比較する比較器で、その比較結果は、それぞ
れ制御回路55および65に通知される。制御回路55
および65は、入力される情報に応じて様々な制御を行
う制御回路である。The CTLBs 53a and 53 thus read out
The contents of b, 63a and 63b are the contents of the comparator 54, respectively.
a, 54b, 64a and 64b. The comparators 54a, 54b, 64a and 64b are connected to the register 52.
And the upper address part of the logical address set in the logical addresses 62 and 62 excluding the lower address specification part and the CTLB 53
Comparators for respectively comparing the contents read from a, 53b, 63a and 63b, and the comparison results are notified to the control circuits 55 and 65, respectively. Control circuit 55
Reference numerals 65 and 65 are control circuits that perform various controls according to input information.
【0047】次に本発明の特徴である、TLB同期クリ
ア命令の動作について図1およびその動作説明用のフロ
ーチャートを示した図3を参照して説明する。EPU2
がTLB同期クリア命令を実行する場合を説明する。E
PU2がTLB同期クリア命令を解読すると、命令によ
って指定されたTLB無効化論理アドレスが取り出され
る。このTLB無効化論理アドレスに従って、EPU2
は、TLB21から無効化すべきアドレス変換対を消去
する。同時にEPU2は、TLB無効化要求とTLB無
効化論理アドレスをバス70の制御線とアドレス線を使
用してSCU5aに送出する(図3−301)。この
時、EPU2を示すEPU番号も一緒にバス70の制御
線を通してSCU5aに送出する。TLB無効化要求お
よびEPU番号は駆動バッファ57を介して制御回路5
5に通知され、TLB無効化論理アドレスはセレクタ5
1を通してレジスタ52にセットされる(図3−30
2)。Next, the operation of the TLB synchronization clear instruction, which is a feature of the present invention, will be described with reference to FIG. 1 and FIG. 3 showing a flowchart for explaining the operation. EPU2
Will execute a TLB synchronization clear instruction. E
When PU2 decodes the TLB sync clear instruction, the TLB invalidate logical address specified by the instruction is fetched. According to this TLB invalidation logical address, EPU2
Deletes the address translation pair to be invalidated from the TLB 21. At the same time, the EPU 2 sends the TLB invalidation request and the TLB invalidation logical address to the SCU 5a using the control line and the address line of the bus 70 (Fig. 3-301). At this time, the EPU number indicating EPU2 is also sent to the SCU 5a through the control line of the bus 70. The TLB invalidation request and the EPU number are sent to the control circuit 5 via the drive buffer 57.
5 is notified, and the TLB invalidation logical address is the selector 5
1 to the register 52 (see FIG. 3-30).
2).
【0048】制御回路55は、駆動バッファ58を介し
てバス72の制御線とアドレス線とを使用して、TLB
無効化要求とTLB無効化論理アドレスをSCU6aに
送出する(図3−303)。TLB無効化要求は専用配
線73によって制御回路65に通知され、TLB無効化
論理アドレスは、セレクタ61を通してレジスタ62に
セットされる(図3−304)。The control circuit 55 uses the control line and address line of the bus 72 via the drive buffer 58 to drive the TLB.
The invalidation request and the TLB invalidation logical address are sent to the SCU 6a (FIG. 3-303). The TLB invalidation request is notified to the control circuit 65 by the dedicated wiring 73, and the TLB invalidation logical address is set in the register 62 through the selector 61 (FIG. 3-304).
【0049】次にレジスタ52および62にセットされ
たTLB無効化論理アドレスのアドレス指定部によって
CTLB53a、53b、63aおよび63bが索引さ
れ(図3−305)、CTLB53a、53b、63a
および63bの内容が読み出されて、それぞれ比較器5
4a、54b、64aおよび64bに供給される。Next, the CTLB 53a, 53b, 63a and 63b are indexed by the addressing portion of the TLB invalidating logical address set in the registers 52 and 62 (FIG. 3-305), and the CTLB 53a, 53b, 63a.
And the contents of 63b are read out, and the comparator 5
4a, 54b, 64a and 64b.
【0050】比較器54a、54b、64aおよび64
bでは、CTLB53a、53b、63aおよび63b
から読み出された内容とレジスタ52および62にセッ
トされているTLB無効化論理アドレスの内のアドレス
指定部を除く上位のアドレス部とが比較され(図3−3
06)、その比較結果が制御回路55および65に通知
される。もし比較の結果が、一致を示している場合は、
対応するTLB11、21、31および41に無効化す
べきアドレス変換対があることを示し、不一致を示して
いる場合には、対応するTLB11、21、31および
41に無効化すべきアドレス変換対が存在しないことを
示している。Comparators 54a, 54b, 64a and 64
In b, CTLB 53a, 53b, 63a and 63b
The contents read from the above are compared with the higher-order address part of the TLB invalidation logical addresses set in the registers 52 and 62, excluding the addressing part (FIG. 3-3).
06), the comparison result is notified to the control circuits 55 and 65. If the result of the comparison shows a match,
If the corresponding TLBs 11, 21, 31, and 41 indicate that there is an address translation pair to be invalidated, and if there is a mismatch, then there is no address translation pair to be invalidated in the corresponding TLB 11, 21, 31, and 41. It is shown that.
【0051】説明を具体的にするために、比較器54
a、54bおよび64bで一致が検出され、比較器64
aでは不一致が検出されたとする。制御回路55および
65は、一致が検出されたCTLB53a、53bおよ
び63bから無効化すべきKey部のコピーを消去する
(図3−307)。同時に、バス70および71の制御
線とアドレス線を使用して、一致が検出されたCTLB
53a、53bおよび63bのうちクリア命令を実行中
の53bを除く53aおよび53bに対応するEPU1
および4にTLB無効化要求とレジスタ52および62
に保持されているTLB無効化論理アドレスを送出する
(図3−308)。このとき、TLB同期クリア命令を
実行しているEPU2と不一致が検出されたCTLB6
3aに対応するEPU3とには、TLB無効化要求の送
出が抑止される。TLB無効化要求とTLB無効化論理
アドレスを受け取ったEPU1および4は、送出された
TLB無効化論理アドレスに従って、TLB11および
41からの無効化すべきアドレス変換対を消去し、TL
B無効化処理が終了したことをバス70および71の制
御線を使用して、それぞれSCU5aおよび6aに通知
する。SCU6aはの終了通知を専用配線74を使用し
てSCU5aに通知する。To make the description concrete, the comparator 54
A match is detected at a, 54b and 64b and the comparator 64
It is assumed that a mismatch is detected in a. The control circuits 55 and 65 erase the copy of the Key part to be invalidated from the CTLBs 53a, 53b and 63b in which the match is detected (FIG. 3-307). At the same time, the control and address lines of buses 70 and 71 are used to detect the CTLB for which a match has been detected.
EPU1 corresponding to 53a and 53b of 53a, 53b and 63b excluding 53b executing the clear instruction
And 4 to TLB invalidation request and registers 52 and 62
The TLB invalidation logical address held in is transmitted (FIG. 3-308). At this time, the CTLB6 in which a mismatch is detected with the EPU2 executing the TLB synchronization clear command
The transmission of the TLB invalidation request is suppressed to the EPU 3 corresponding to 3a. Upon receiving the TLB invalidation request and the TLB invalidation logical address, the EPUs 1 and 4 erase the address translation pair to be invalidated from the TLBs 11 and 41 in accordance with the transmitted TLB invalidation logical address.
The control lines of the buses 70 and 71 are used to notify the SCUs 5a and 6a that the B invalidation processing is completed. The SCU 6a notifies the SCU 5a of the end notification of the SCU 6a using the dedicated wiring 74.
【0052】この双方のTLB無効化処理の終了通知
は、制御回路65に通知される(図3−309)。比較
器64aから不一致の比較結果を受け取った制御回路5
5は、対応するTLB31には、無効化すべきアドレス
変換対が存在しないことを認識し、EPU3に対するT
LB無効化処理は必要ないと判断し、専用配線74を使
用してEPU3のTLB無効化処理が終了したことをS
CU5aに通知する。このTLB無効化処理の終了通知
も制御回路55に通知される(図3−311)。The end notification of both TLB invalidation processing is sent to the control circuit 65 (FIG. 3-309). The control circuit 5 which has received the mismatched comparison result from the comparator 64a.
5 recognizes that there is no address translation pair to be invalidated in the corresponding TLB 31, and T for EPU3
It is determined that the LB invalidation process is not necessary, and the dedicated wiring 74 is used to notify that the TLB invalidation process of the EPU 3 is completed.
Notify the CU 5a. The end notification of this TLB invalidation processing is also notified to the control circuit 55 (FIG. 3-311).
【0053】制御回路55ではEPU2を除く全てのE
PU1、3および4からTLB無効化処理の終了通知が
報告されると、TLB無効化処理終了の代表信号をバス
70の制御線を使用してEPU2に通知する(図3−3
12)。このTLB無効化処理終了の代表信号を受け取
ったEPU2は、TLB同期クリア命令が終了したと判
断して、新たな命令の処理を開始する。EPU1、3お
よび4がTLB同期クリア命令を実行するときも同様に
行われる。In the control circuit 55, all E except EPU2
When the notification of the end of the TLB invalidation processing is reported from the PUs 1, 3 and 4, the representative signal of the end of the TLB invalidation processing is notified to the EPU2 using the control line of the bus 70 (FIG. 3-3).
12). Upon receiving the representative signal indicating the end of the TLB invalidation processing, the EPU 2 determines that the TLB synchronization clear instruction has ended, and starts processing a new instruction. The same is done when EPUs 1, 3 and 4 execute the TLB sync clear instruction.
【0054】また、本発明のマルチプロセッサシステム
では、EPUの台数を増加する時には、各々のSCUに
接続されるEPUの台数を増やす方法と、システム中の
SCUの台数を増やす方法の2つがある。1台のSCU
に接続されるEPUの台数を増やす場合には、それに伴
ってSCU内のCTLBの追加が行われる。本発明は、
TLB無効化処理の高速化を行う機構がSCU内で構築
されるようにしているため、上記の何れの方法でEPU
台数を増加させるときでも、EPUのハードウェア量を
増加することなく本発明を実現できる。そのため、従来
から使用しているEPUをそのまま使用できる構成にな
っている。In the multiprocessor system of the present invention, when increasing the number of EPUs, there are two methods: increasing the number of EPUs connected to each SCU and increasing the number of SCUs in the system. 1 SCU
When the number of EPUs connected to the SCU is increased, the CTLB in the SCU is added accordingly. The present invention
Since the mechanism for accelerating the TLB invalidation process is constructed in the SCU, the EPU can be executed by any of the above methods.
Even when the number of units is increased, the present invention can be realized without increasing the hardware amount of EPU. Therefore, the conventional EPU can be used as it is.
【0055】[0055]
【発明の効果】以上説明したように、本発明のマルチプ
ロセッサシステムは、TLBの内容の写しを記憶するコ
ピーTLB(CTLB)をSCU内に備え、TLB同期
クリア命令実行時には、このCTLBを索引することに
よって、実際にTLB無効化処理が必要か否かを判断
し、TLB無効化処理が不要なPEUに対しては直ちに
TLB無効化処理を終了させることによって、不必要な
TLB無効化処理のオーバーヘッドを削減できるので、
システム全体の性能を大幅に向上できる効果がある。As described above, the multiprocessor system of the present invention is provided with a copy TLB (CTLB) for storing a copy of the contents of the TLB in the SCU, and indexes this CTLB when executing the TLB synchronization clear instruction. Therefore, it is determined whether the TLB invalidation process is actually necessary, and the TLB invalidation process is immediately terminated for the PEU that does not need the TLB invalidation process, thereby unnecessary overhead of the TLB invalidation process. Can be reduced,
This has the effect of significantly improving the performance of the entire system.
【0056】さらに、TLB無効化処理の高速化を行な
う機構がSCU内で構築されるので、EPU台数の増加
に際しても、EPUのハードウェア増加させる必要がな
く、EPU間におけるTLBの一致処理の高速化を達成
し、かつ、システムを容易に拡張できる効果がある。Further, since a mechanism for speeding up the TLB invalidation processing is built in the SCU, it is not necessary to increase the hardware of the EPU even when the number of EPUs is increased, and the speed of the TLB matching processing between the EPUs is high. This has the effect of achieving high efficiency and easily expanding the system.
【図1】本発明のマルチプロセッサの一実施例を示すブ
ロック図である。FIG. 1 is a block diagram showing an embodiment of a multiprocessor according to the present invention.
【図2】本発明の一実施例に適用するセット・アソシア
ティブ構成の一般的な例を示すブロック図である。FIG. 2 is a block diagram showing a general example of a set associative configuration applied to one embodiment of the present invention.
【図3】本発明の一実施例を説明するためのフローチャ
ートである。FIG. 3 is a flowchart illustrating an embodiment of the present invention.
【図4】従来のマルチプロセッサシステムの一例を示す
ブロック図である。FIG. 4 is a block diagram showing an example of a conventional multiprocessor system.
1〜4 EPU 5a,6a SCU 11,21,31,41 TLB 51,61 セレクタ 52,62 レジスタ 53a,53b,63a,63b CTLB 54a,54b,64a,64b 比較器 55,65 制御回路 56〜59,66〜69 駆動バッファ 70〜72 バスライン 73,74 専用配線 1 to 4 EPU 5a, 6a SCU 11, 21, 31, 41 TLB 51, 61 selector 52, 62 register 53a, 53b, 63a, 63b CTLB 54a, 54b, 64a, 64b comparator 55, 65 control circuit 56-59, 66-69 drive buffer 70-72 bus line 73, 74 dedicated wiring
Claims (7)
ドレスのアドレス変換対を複数個含んだアドレス変換バ
ッファを有し、この演算処理装置を複数個備え、無効果
すべき前記アドレス変換対が検出されたときにアドレス
変換バッファ同期クリア命令を実行してこのアドレス変
換対を消去するマルチプロセッサシステムにおいて、前
記アドレス変換バッファのそれぞれの内容の写しが転送
されて記憶される複数の記憶手段と、前記複数の演算処
理装置のうちの所定の演算処理装置が前記アドレス変換
バッファ同期クリア命令を実行して複数の前記アドレス
変換バッファの無効化処理を実行する場合に、前記アド
レス変換バッファの無効化論理アドレスで前記複数の記
憶手段の内容を検索する手段と、この検索結果に従い前
記複数の記憶手段のうちのいずれかに前記アドレス変換
バッファの前記無効化論理アドレスが登録されているか
を検出する手段と、この検出結果に従い前記無効化論理
アドレスが登録された前記記憶手段に対応する前記複数
の演算処理装置に対して、前記無効化論理アドレスによ
るアドレス変換バッファ無効化要求を送出する第1の送
出手段とを備えたことを特徴とするマルチプロセッサシ
ステム。1. An arithmetic processing unit has an address translation buffer containing a plurality of address translation pairs of a logical address and a real address, and the arithmetic processing unit is provided with a plurality of address translation pairs to detect ineffective address translation pairs. In the multiprocessor system for executing the address translation buffer synchronous clear command to erase the address translation pair, a plurality of storage means for transferring and storing a copy of each content of the address translation buffer; When a predetermined arithmetic processing unit among the arithmetic processing units of 1) executes the address translation buffer synchronization clear instruction to execute the invalidation processing of the plurality of address translation buffers, the invalidation logical address of the address translation buffer is used. A means for searching the contents of the plurality of storage means, and a means for searching the plurality of storage means according to the search result. A means for detecting whether the invalidation logical address of the address translation buffer is registered in any one of them, and the plurality of arithmetic processes corresponding to the storage means in which the invalidation logical address is registered according to the detection result. A multiprocessor system comprising: a first sending unit for sending an address translation buffer invalidation request by the invalidation logical address to the device.
る前記アドレス変換バッファの論理アドレス部のみを保
持するように構成されることを特徴とする請求項1記載
のマルチプロセッサシステム。2. The multiprocessor system according to claim 1, wherein each of the plurality of storage units is configured to hold only a logical address portion of the corresponding address translation buffer.
ステム制御装置を有し、このシステム制御装置は前記複
数の演算処理装置がそれぞれ有する前記アドレス変換バ
ッファに対応した複数の前記記憶手段を備えることを特
徴とする請求項1記載のマルチプロセッサシステム。3. A system control device connected to the plurality of arithmetic processing devices, the system control device comprising a plurality of storage means corresponding to the address translation buffers respectively included in the plurality of arithmetic processing devices. The multiprocessor system according to claim 1, wherein:
め定められた複数の演算処理装置に接続される複数の前
記システム制御装置それぞれが前記複数の記憶手段を有
し、かつ接続されている前記複数の演算処理装置のいず
れか1つが前記アドレス変換同期クリア命令を実行して
前記アドレス変換バッファの無効化処理を実行する際
に、この演算処理装置が送出する前記無効化論理アドレ
スを保持する第1の保持手段と、この保持された前記無
効化論理アドレスを基に前記複数の記憶手段の内容を検
索する手段と、この検索結果に従って前記複数の記憶手
段にそれぞれ対応した前記演算処理装置に対して前記ア
ドレス変換バッファ無効化要求を送出する前記第1の送
出手段と、他の前記システム制御装置に前記アドレス変
換バッファ無効化要求を送出する第2の送出手段と、他
の前記システム制御装置から送出された前記無効化論理
アドレスを保持する第2の保持手段と、この保持された
前記無効化論理アドレスによって前記複数の記憶手段の
内容を検索する手段と、この検索結果に従って前記演算
処理装置に前記他のシステム制御装置から送出された前
記アドレス変換バッファ無効化要求を送出する第3の送
出手段とを有することを特徴とする請求項1記載のマル
チプロセッサシステム。4. The plurality of system control devices, each of which is connected to a plurality of predetermined arithmetic processing devices among the plurality of arithmetic processing devices, has the plurality of storage means and is connected to the plurality of system control devices. A first holding unit holds the invalidation logical address transmitted by the arithmetic processing unit when any one of the arithmetic processing units executes the address translation synchronization clear instruction to execute the invalidation processing of the address translation buffer. Holding means, means for searching the contents of the plurality of storage means based on the held invalidation logical addresses, and the arithmetic processing device corresponding to the plurality of storage means according to the search result. The first transmission means for transmitting the address translation buffer invalidation request, and the address translation buffer invalidation request to the other system control device. And second storage means for storing the invalidation logical address transmitted from another system control device, and the plurality of storage means by the stored invalidation logical address. And a third sending means for sending the address translation buffer invalidation request sent from the other system control device to the arithmetic processing device according to the search result. The multiprocessor system according to claim 1.
理装置が接続される複数の前記システム制御装置のそれ
ぞれが、前記演算処理装置および前記他のシステム制御
装置からそれぞれ発生する前記アドレス変換バッファ無
効化要求に対して、前記無効化論理アドレスを保持する
前記第1の保持手段と前記複数の記憶手段の内容を検索
する手段と前記複数の演算処理装置に前記アドレス変換
バッファ無効化要求を送出する前記第1の送出手段と
を、新な前記アドレス変換対の登録時と前記無効化論理
アドレスの索引時とで共用するように構成することを特
徴とする請求項1記載のマルチプロセッサシステム。5. The address translation generated by each of the plurality of system control devices to which the plurality of predetermined arithmetic processing devices are connected is generated from the arithmetic processing device and the other system control device, respectively. In response to the buffer invalidation request, the address holding buffer invalidating request is sent to the first holding unit that holds the invalidating logical address, the unit that searches the contents of the plurality of storage units, and the plurality of arithmetic processing units. 2. The multiprocessor system according to claim 1, wherein the first sending means for sending is configured to be shared during registration of the new address translation pair and indexing of the invalidated logical address. .
理装置が接続される複数の前記システム制御装置のそれ
ぞれが、前記アドレス変換バッファの無効化論理アドレ
スによって前記複数の記憶手段を検索した結果、前記無
効化論理アドレスが登録されていないことを検出し、前
記記憶手段に対応した前記アドレス変換バッファを有す
る前記演算処理装置に対しては前記無効化論理アドレス
によるアドレス変換バッファ無効化要求の送出を抑止
し、かつ前記演算処理装置に対するアドレス変換バッフ
ァの無効化処理が終了したことを前記アドレス変換バッ
ファ同期クリア命令を実行している前記所定の演算処理
装置に通知する手段を備えることを特徴とする請求項1
記載のマルチプロセッサシステム。6. The result of each of the plurality of system control devices to which the plurality of predetermined processing units are connected searching for the plurality of storage means by the invalidation logical address of the address translation buffer, Detecting that the invalidation logical address is not registered, and suppressing sending of the address translation buffer invalidation request by the invalidation logical address to the arithmetic processing unit having the address translation buffer corresponding to the storage means. And further comprising means for notifying the predetermined arithmetic processing unit executing the address translation buffer synchronization clear instruction that the address translation buffer invalidation processing for the arithmetic processing unit has been completed. Item 1
The described multiprocessor system.
理装置が接続される複数の前記システム制御装置のそれ
ぞれが、他の前記システム制御装置から受け付けた前記
アドレス変換バッファの無効化論理アドレスによって前
記複数の記憶手段を検索した結果、前記無効化論理アド
レスが登録されていないことが検出された場合は、前記
複数の記憶手段に対応するアドレス変換バッファの無効
化処理の終了を前記他のシステム制御装置に通知する手
段と、他の前記システム制御装置から前記無効化処理の
終了を受け付けた場合に、この終了通知を前記アドレス
変換バッファ同期クリア命令を実行している前記所定の
演算処理装置に通知する手段を備えることを特徴とする
請求項1記載のマルチプロセッサシステム。7. Each of the plurality of system control devices to which the plurality of predetermined arithmetic processing devices are connected uses the invalidation logical address of the address translation buffer received from another system control device. When it is detected that the invalidation logical address is not registered as a result of searching the storage means, the end of the invalidation processing of the address translation buffer corresponding to the plurality of storage means is terminated by the other system control device. And an end notification of the invalidation process from another system control device, the end notification is sent to the predetermined arithmetic processing device executing the address translation buffer synchronization clear instruction. The multiprocessor system according to claim 1, further comprising means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6148237A JP2845754B2 (en) | 1994-06-29 | 1994-06-29 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6148237A JP2845754B2 (en) | 1994-06-29 | 1994-06-29 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0816477A true JPH0816477A (en) | 1996-01-19 |
JP2845754B2 JP2845754B2 (en) | 1999-01-13 |
Family
ID=15448319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6148237A Expired - Lifetime JP2845754B2 (en) | 1994-06-29 | 1994-06-29 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2845754B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005121971A1 (en) * | 2004-06-02 | 2005-12-22 | Intel Corporation | A mechanism to invalidate data translation buffer entries in a multiprocessor system |
JP2018506790A (en) * | 2015-02-04 | 2018-03-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | System and method for memory synchronization in a multi-core system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02230345A (en) * | 1989-03-02 | 1990-09-12 | Nec Corp | Inter-device communication/cache coincidence processing system |
JPH04352047A (en) * | 1991-05-29 | 1992-12-07 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for controlling address conversion |
JPH05314009A (en) * | 1992-05-07 | 1993-11-26 | Hitachi Ltd | Multiprocessor system |
-
1994
- 1994-06-29 JP JP6148237A patent/JP2845754B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02230345A (en) * | 1989-03-02 | 1990-09-12 | Nec Corp | Inter-device communication/cache coincidence processing system |
JPH04352047A (en) * | 1991-05-29 | 1992-12-07 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for controlling address conversion |
JPH05314009A (en) * | 1992-05-07 | 1993-11-26 | Hitachi Ltd | Multiprocessor system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005121971A1 (en) * | 2004-06-02 | 2005-12-22 | Intel Corporation | A mechanism to invalidate data translation buffer entries in a multiprocessor 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 |
Also Published As
Publication number | Publication date |
---|---|
JP2845754B2 (en) | 1999-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5613071A (en) | Method and apparatus for providing remote memory access in a distributed memory multiprocessor system | |
JP3473772B2 (en) | Data processing system using cache memory | |
JPS6135584B2 (en) | ||
JPH0137773B2 (en) | ||
EP0669579B1 (en) | Coherence index generation for use by an input/output adapter | |
JPS6341100B2 (en) | ||
JPH0550776B2 (en) | ||
JPH05100956A (en) | Address converter | |
JP2845754B2 (en) | Multiprocessor system | |
JPH02308349A (en) | Buffer storage control system | |
EP0349757B1 (en) | Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit | |
JPS5858752B2 (en) | address translation device | |
JPH06103477B2 (en) | Parallel cache memory | |
KR950013116B1 (en) | Locking apparatus and its control method in ticom system | |
JPH05314009A (en) | Multiprocessor system | |
JPH05189318A (en) | Information processor | |
JPH0336647A (en) | Cache buffering control system | |
JPH041373B2 (en) | ||
JPH06187244A (en) | Address conveting buffer mechanism | |
JPS59132483A (en) | Address converting device | |
JPH06309196A (en) | Information processor with trace function | |
JPH05225063A (en) | Buffer memory clear system | |
JPH05324477A (en) | Address transformation buffer mechanism | |
JPH02101552A (en) | Address conversion buffer processing system | |
JPH02114346A (en) | Tlb entry control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970304 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980929 |