JPH02297656A - Data control system - Google Patents
Data control systemInfo
- Publication number
- JPH02297656A JPH02297656A JP1118335A JP11833589A JPH02297656A JP H02297656 A JPH02297656 A JP H02297656A JP 1118335 A JP1118335 A JP 1118335A JP 11833589 A JP11833589 A JP 11833589A JP H02297656 A JPH02297656 A JP H02297656A
- Authority
- JP
- Japan
- Prior art keywords
- parallel processing
- data
- central processing
- task identifier
- parallel
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 197
- 230000015654 memory Effects 0.000 claims abstract description 82
- 238000000034 method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 11
- UEKDBDAWIKHROY-UHFFFAOYSA-L bis(4-bromo-2,6-ditert-butylphenoxy)-methylalumane Chemical compound [Al+2]C.CC(C)(C)C1=CC(Br)=CC(C(C)(C)C)=C1[O-].CC(C)(C)C1=CC(Br)=CC(C(C)(C)C)=C1[O-] UEKDBDAWIKHROY-UHFFFAOYSA-L 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- 102100029368 Cytochrome P450 2C18 Human genes 0.000 description 1
- 101000919360 Homo sapiens Cytochrome P450 2C18 Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、主記憶装置を共有するマルチプロセッサシ
ステムにおいて、特に並列処理を行う場合、各中央処理
装置内のキャッシュメモリ、あるいは命令実行ユニット
に対するデータを制御するデータ制御方式に関するもの
である。[Detailed Description of the Invention] [Industrial Application Field] This invention applies to a multiprocessor system that shares a main memory, especially when parallel processing is performed. It relates to a data control method for controlling data.
従来、主記憶装置を共有するマルチプロセッサシステム
では、複数の中央処理装置が一つの主記憶装置のデータ
を共有するために、その間でのデータの有効性を保つこ
とが重要な問題とされてきた。すなわち、ある中央処理
装置が、キャッシュメモリ、あるいはローカルメモリ内
のある主記憶装置のデータのコピーを変更した時には、
その変更された主記憶装置のデータと同じアドレスのデ
ータのコピーをキャッシュメモリ、あるいはローカルメ
モリに保持している他の中央処理装置に対して、そのコ
ピーはもはや使用できないので無効化するようにとの指
示を行うということが行われていた。この方式では、こ
の無効化されたデータを再度使用するためには、再度主
記憶装置から、あるいは中央処理装置がデータを持って
いる時には、最後に変更した中央処理装置からこのデー
タをとってくる必要がある。このため、同じデータを複
数の中央処理装置で共有する場合には、このためにデー
タ転送が頻発することが考えられ、非常に多くの中央処
理装置と主記憶装置間の、あるいは中央処理装置間の通
信が行われる結果となっている。Conventionally, in multiprocessor systems that share main memory, maintaining the validity of data among multiple central processing units has been an important issue since they share data in a single main memory. . That is, when a central processing unit modifies a copy of data in cache memory or some main memory in local memory,
Any other central processing unit that maintains a copy of the data at the same address as the modified main memory data in cache memory or local memory is told to invalidate that copy because it is no longer usable. The practice was to give instructions. In this method, in order to use this invalidated data again, this data is retrieved from the main memory again, or if the central processing unit has the data, this data is retrieved from the central processing unit where it was last modified. There is a need. For this reason, when the same data is shared by multiple central processing units, data transfer may occur frequently. This resulted in a number of communications taking place.
これを改良し、中央処理装置と主記憶装置間の、あるい
は中央処理装置間の通信を低減させた従来例として、特
公昭62−55187に示される多重プロセッサシステ
ムがある。A multiprocessor system disclosed in Japanese Patent Publication No. Sho 62-55187 is an example of a conventional system that improves this and reduces communication between the central processing unit and the main memory, or between the central processing units.
第7図と第8図は、特公昭62−55187に示された
多重プロセッサシステムのキャッシュメモリの制御部を
示すブロック図とキャッシュディレクトリの内容を示す
図である。7 and 8 are block diagrams showing a cache memory control section of a multiprocessor system disclosed in Japanese Patent Publication No. 62-55187, and a diagram showing the contents of a cache directory.
なお、第7図及び第8図の説明については、公報に示さ
れているので、ここでは説明を省略する。Note that the explanation of FIGS. 7 and 8 is given in the publication, so the explanation will be omitted here.
特公昭62−55187に示される多重プロセッサシス
テムのような従来例では、キャッシュメモリ内のデータ
の一つ一つに対応するように、そのキャッシュディレク
トリに、排他制御(EX)フラグと呼ばれるフラグを設
け、このフラグのオン/オフによって、複数の中央処理
装置の共有して保持され、読み出しだけが許可される(
Rb)データと一つの中央処理装置にだけ排他的に保持
され、書き込みが許される(EX)データとの区別を行
えるようにして、そのデータが排他的にその中央処理装
置だけがプライベートに使用するデータであるか、シス
テム全体において他の中央処理装置と共有されるデータ
であるかを区別する。In a conventional example such as the multiprocessor system shown in Japanese Patent Publication No. 62-55187, a flag called an exclusive control (EX) flag is provided in the cache directory to correspond to each piece of data in the cache memory. , depending on whether this flag is on or off, it is shared by multiple central processing units and only readable (
Rb) It is possible to distinguish between data that is exclusively held and written by one central processing unit (EX) data, and that data is exclusively used privately by that central processing unit. data, or data shared with other central processing units throughout the system.
これによって、任意の中央処理装置のプライベートなデ
ータへのアクセスに関しては他の中央処理装置に対して
は何等影響を与えず、無効化を行う必要がなくなり、そ
れに伴って、無効化の必要のある同じデータのコピーを
保持しているか否かを調べるための相互照会リクエスト
と呼ばれる処理も不要になるためオーバヘッドを軽減さ
せることができる。As a result, access to private data of any central processing unit has no effect on other central processing units, and there is no need to disable it. Processing called a mutual inquiry request to check whether copies of the same data are held is also unnecessary, so overhead can be reduced.
また、リクエストを出す中央処理装置の側においても、
自分の発行するリクエストに排他制御フラグと同様にプ
ライベートデータに対するアクセス(EXリクエスト)
であるか、あるいは共有データに対する読み出しのみの
アクセス(ROリクエスト)であるかという属性を持た
せる。読み出ししか行われないようなアクセスには、R
Oアクセスとし、近い将来書き込みが行われるようなデ
ータをフェッチする時には、読み出し時にEX読み出し
としておき、すぐに書き込みが可能なようにしておく。Also, on the side of the central processing unit that issues the request,
Access to private data (EX request) in the same way as the exclusive control flag in the request issued by yourself
or read-only access (RO request) to shared data. For accesses where only reading is performed, R
When fetching data that will be written in the near future, it is set to EX read at the time of reading so that writing can be performed immediately.
EXリクエストには、読み出しの場合と書き込みの両方
があるが、ROリクエストには、書き込みだけしかなく
、書き込みは、EXリクエストでしか行えない。EX requests include both reading and writing, but RO requests only have writing, and writing can only be performed with EX requests.
従って、EXリクエストでプライベートデータへのアク
セスと指定された時には、それ以外の中央処理装置に関
しては、そのアクセス発生時に何等影響を受けないので
、無効化も発生しないし、無効化の必要のあるデータを
保持しているか否かを調べる相互照会の必要もなくなる
。Therefore, when access to private data is specified in an EX request, other central processing units are not affected in any way when the access occurs, so invalidation does not occur, and data that needs to be invalidated is not affected. There is no need for cross-inquiry to find out whether or not the information is maintained.
以上のように構成することによってマルチプロセッサシ
ステム内におけるデータの有効性を維持するためのプロ
セッサ間の通信に伴うオーバーヘッドを軽減できるとい
うことを開示している。It is disclosed that the configuration as described above can reduce the overhead associated with communication between processors for maintaining the validity of data within a multiprocessor system.
ところが、特公昭62−55187に示されるような従
来の多重プロセッサシステムにおいては、各中央処理装
置のキャッシュメモリ内のデータに対して、全ての中央
処理装置に共有され、読み出しだけが許されるデータと
ある一つの中央処理装置にだけ保持され、他の中央処理
装置に何の影響を与えることなく、書き込みが許される
プライベートなデータとの2種類の識別を行うのみであ
り、複数の並列処理中のタスク毎に対応して、キャッシ
ュメモリの制御を区別することはできなかった。However, in a conventional multiprocessor system as shown in Japanese Patent Publication No. 62-55187, the data in the cache memory of each central processing unit is shared by all central processing units and is data that is only readable. It only identifies two types of data: private data that is held only in one central processing unit and is allowed to be written without affecting other central processing units; It was not possible to differentiate cache memory control for each task.
また、キャッシュディレクトリに対して、共有データと
プライベートデータとの区別を示すフラグビットを付け
るので、キャッシュメモリに保持されるデータの数と同
数のキャッシュディレクトリの全てのエントリに対応し
て、フラグを保持する必要があるため、キャッシュディ
レクトリの容量を増大させ、並びにその付加されたキャ
ッシュディレクトリのエントリに対応するように、フラ
グビットの比較のための比較器が必要となり、より多く
のハードウェアを必要とするという問題点があった。In addition, since a flag bit is attached to the cache directory to indicate the distinction between shared data and private data, flags are retained for all entries in the cache directory for the same number of data retained in the cache memory. This increases the capacity of the cache directory, and requires a comparator to compare flag bits to accommodate the additional cache directory entries, which requires more hardware. There was a problem with that.
このように、従来システムでは複数の並列処理中のタス
ク毎に対応しキャッシュメモリの制御を区別することが
できず、このため複数の並列処理タスクの実行効率を高
めることができず、また、ハードウェアが多くなり、小
規模化を実現することが難しいという問題点があった。In this way, in conventional systems, it is not possible to differentiate cache memory control for each task that is being processed in parallel, making it impossible to improve the execution efficiency of multiple parallel processing tasks. There was a problem in that it required a large amount of hardware, making it difficult to downsize.
この発明は上記のような問題点を解決するためになされ
たもので、ハードウェアの小規模化を実現すると共に、
複数の並列処理タスクの実行効率を高めることができる
データ制御方式を提供することを目的とする。This invention was made to solve the above-mentioned problems, and in addition to realizing hardware downsizing,
The purpose of this invention is to provide a data control method that can improve the execution efficiency of multiple parallel processing tasks.
この発明に係るデータ制御方式は、あるプログラムの並
列実行が開始された時点から、該プログラムの実行が終
了する時点までの間、該並列実行されるタスク毎に対応
して排他的に付加された並列処理タスク識別子を、全中
央処理装置1の内の並列実行に使用される中央処理装置
の並列処理タスク識別子記憶手段(PIDR7)に格納
し、ある中央処理装置でプログラムの実行に際して書き
込み動作が発生し、その書き込みデータをキャッシュメ
モリ6に書き込んだ時には他のすべての中央処理装置に
対して書き込みデータと書き込みアドレスと共に該並列
処理タスク識別子を放送し、並列処理状態認識手段10
0によって並列処理中であると認識された中央処理装置
だけが該書き込みデータと書き込みアドレスと並列処理
タスク識別子を受け取り、更に、受け取った側の中央処
理装置が並列処理タスク識別子記憶手段(PIDR7)
に格納された並列処理タスク識別子と一致した場合にお
いてのみ、その書き込みデータを自体のキャッシュメモ
リに書き込むように制御することを特徴とするものであ
る。The data control method according to the present invention is exclusively added for each task to be executed in parallel from the time when parallel execution of a certain program starts until the time when the execution of the program ends. The parallel processing task identifier is stored in the parallel processing task identifier storage means (PIDR7) of the central processing unit used for parallel execution among all the central processing units 1, and a write operation occurs when a certain central processing unit executes a program. When the write data is written to the cache memory 6, the parallel processing task identifier is broadcast together with the write data and the write address to all other central processing units, and the parallel processing state recognition means 10
Only the central processing unit that is recognized as being in parallel processing by 0 receives the write data, write address, and parallel processing task identifier, and furthermore, the central processing unit on the receiving side stores the parallel processing task identifier storage means (PIDR7).
This feature is characterized in that the write data is controlled to be written into its own cache memory only when the parallel processing task identifier matches the parallel processing task identifier stored in the parallel processing task identifier.
あるプログラムの並列実行が開始された時点から、該プ
ログラムの実行が終了する時点までの間、並列処理タス
ク識別子は並列実行に使用される中央処理装置の並列処
理タスク識別子記憶手段(PIDR7)に格納される。From the time when parallel execution of a certain program starts until the time when execution of the program ends, the parallel processing task identifier is stored in the parallel processing task identifier storage means (PIDR7) of the central processing unit used for parallel execution. be done.
ある中央処理装置でプログラムの実行に際して書き込み
動作が発生し、その書き込みデータがキャッシュメモリ
6に書き込まれた時には、他のすべての中央処理装置に
対して書き込みデータと書き込みアドレスと共に並列処
理タスク識別子が放送される。書き込みデータと書き込
みアドレスと並列処理タスク識別子は、並列処理状態認
識手段100によって並列処理中であると認識された中
央処理装置が受け取る。その受け取った側の中央処理装
置は、並列処理タスク識別刷子記憶手段(PIDR7)
に格納された並列処理タスク識別子と受け取った並列処
理タスク識別子とを比較し、一致を検出した場合、上記
書き込みデータはその中央処理装置のキャッシュメモリ
6に書き込まれる。When a write operation occurs in a certain central processing unit when a program is executed and the write data is written to the cache memory 6, a parallel processing task identifier is broadcast to all other central processing units along with the write data and write address. be done. The write data, write address, and parallel processing task identifier are received by the central processing unit that is recognized by the parallel processing state recognizing means 100 as being in parallel processing. The central processing unit on the receiving side uses parallel processing task identification brush storage means (PIDR7).
The parallel processing task identifier stored in the parallel processing task identifier and the received parallel processing task identifier are compared, and if a match is detected, the write data is written to the cache memory 6 of the central processing unit.
第1図は、この発明の一実施例によるデータ制御方式を
採用したマルチプロセッサシステムを示すブロック図で
ある。図中、1a、1bはデータ処理を行う中央処理装
置、2はシステム全体を制御するシステム制御装置、3
はシステム制御装置2の中心制御部であるシステム制御
装置コントローラ、4はデータ処理に必要な情報を格納
する主記憶装置、5a、5bは中央処理装置1a、lb
のアドレス制御部、6a、6bは中央処理装置la、l
bのキャッシュメモリ、7a、7bは中央処理装置1a
、lbの並列処理タスク識別子を格納するPIDレジス
タ(PIDR) 、8a。FIG. 1 is a block diagram showing a multiprocessor system employing a data control method according to an embodiment of the present invention. In the figure, 1a and 1b are central processing units that perform data processing, 2 is a system control unit that controls the entire system, and 3
4 is a main storage device that stores information necessary for data processing; 5a and 5b are central processing units 1a and lb;
address control units 6a and 6b are central processing units la and l.
cache memory 7a, 7b central processing unit 1a;
, lb parallel processing task identifier (PIDR), 8a.
8bは主記憶アクセスデータバス、9a、9bは主記憶
アクセスアドレスバス、10a、10bは主記憶アクセ
スPIDバス、11はシステム制御装置データバス、1
2はシステム制御装置アドレスバス、13はシステム制
御装置PIDバス、14は主記憶装置アドレスバス、1
5は主記憶装置データバスである。中央処理装置内部は
、第2図に示す。8b is a main memory access data bus; 9a and 9b are main memory access address buses; 10a and 10b are main memory access PID buses; 11 is a system controller data bus;
2 is a system controller address bus, 13 is a system controller PID bus, 14 is a main memory address bus, 1
5 is a main memory data bus. The inside of the central processing unit is shown in FIG.
第2図はこのマルチプロセッサシステムを構成する中央
処理装置のうちの1台をより詳細に示すブロック図であ
る。図中、1は中央処理装置、5はアドレス制御部、6
はキャッシュメモリ、7はPIDレジスタ(PIDR)
、8は主記憶アクセスデータバス、9は主記憶アクセス
アドレスバス、10は主記憶アクセスPIDバス、16
はプログラムの実行を制御する実行制御部、17はPI
Dレジスタ7によりセットされる並列処理モードフラグ
、18はPIDレジスタ7の出力と下記MPIDRの出
力とを比較する比較器、19は主記憶データバスレジス
タ(MDBR) 、20は主記憶アドレスバスレジスタ
(MABR) 、21は主記憶PrDパスレジスタ(M
PIDR)である。簡単のため、本発明には関係のない
演算器などの計算機の基本的な構成要素は全て実行制御
部に含まれるものと考え、特に説明はしない。FIG. 2 is a block diagram showing in more detail one of the central processing units constituting this multiprocessor system. In the figure, 1 is a central processing unit, 5 is an address control unit, and 6 is a central processing unit.
is cache memory, 7 is PID register (PIDR)
, 8 is a main memory access data bus, 9 is a main memory access address bus, 10 is a main memory access PID bus, 16
17 is an execution control unit that controls program execution; 17 is a PI
Parallel processing mode flag set by D register 7, 18 a comparator that compares the output of PID register 7 and the output of MPIDR below, 19 main memory data bus register (MDBR), 20 main memory address bus register ( MABR), 21 is the main memory PrD path register (M
PIDR). For the sake of simplicity, it is assumed that all basic components of a computer such as arithmetic units, which are not related to the present invention, are included in the execution control unit, and will not be specifically explained.
次にこの実施例の動作について説明する。Next, the operation of this embodiment will be explained.
この実施例では、中央処理装置く以後CPUと呼ぶ)8
台からなるマルチプロセッサシステムを仮定する。各C
PU1には、プログラムの実行を制御する実行制御部1
6、キャッシュメモリ6、主記憶アクセスあるいはキャ
ッシュメモリアクセスのアドレスを制御するアドレス制
御部5がある。In this embodiment, the central processing unit (hereinafter referred to as CPU)8
Assume a multiprocessor system consisting of several processors. Each C
The PU1 includes an execution control unit 1 that controls program execution.
6. There is a cache memory 6 and an address control unit 5 that controls addresses for main memory access or cache memory access.
ここでは、簡単のため、演算器、データレジスタなどは
、実行制御部16に含まれるものと考え、キャッシュメ
モリ6のアドレスを保持するキャッシュディレクトリは
、アドレス制御部5に含まれるものとする。プログラム
の実行に伴う主記憶アクセスは、実行制御部16によっ
てリクエストされた主記憶アドレスをアドレス制御部5
が判断して、キャッシュメモリ6のアドレスあるいは主
記憶の実アドレスを生成して、リクエストを発行しキャ
ッシュメモリアクセスあるいは主記憶アクセスを行わせ
る。主記憶へのアクセスは、リクエストアドレスを主記
憶アドレスバスレジスタ(以後MABRと略す)20へ
格納して、主記憶アクセスアドレスバス9から、システ
ム制御装置アドレスバス12へ出して、主記憶装置アド
レスバ14を経由して主記憶装置4をリクエストする。Here, for the sake of simplicity, it is assumed that the arithmetic unit, data register, etc. are included in the execution control unit 16, and that the cache directory that holds the address of the cache memory 6 is included in the address control unit 5. Main memory access accompanying program execution is performed by transferring the main memory address requested by the execution control unit 16 to the address control unit 5.
makes a judgment, generates an address of the cache memory 6 or a real address of the main memory, issues a request, and causes the cache memory access or the main memory access to be performed. To access the main memory, a request address is stored in the main memory address bus register (hereinafter abbreviated as MABR) 20, and sent from the main memory access address bus 9 to the system controller address bus 12, and the request address is sent to the main memory address bus register (hereinafter abbreviated as MABR). 14 to request the main storage device 4.
リクエストされたデータは、主記憶装置4から主記憶デ
ータバス15、システム制御装置データバスIL、主記
憶アクセスデータバス8を経由して、主記憶データバス
レジスタ(以後MDBRと略す)19に取り込まれキャ
ッシュメモリ6へ格納する。The requested data is taken into the main memory data bus register (hereinafter abbreviated as MDBR) 19 from the main memory device 4 via the main memory data bus 15, system controller data bus IL, and main memory access data bus 8. Store in cache memory 6.
他のCPUからこのCPUのキャッシュメモリ6内のデ
ータがリクエストされる時には、逆にリクエストアドレ
スが主記憶アクセスアドレスバス9から、MABR20
に送られて、そのリクエストアドレスをアドレス制御部
5が判断して、キャッシュメモリ6からデータをMDB
R19へ読み出し、主記憶アクセスデータバス8から、
システム制御装置データバス11へ送り出す。When data in the cache memory 6 of this CPU is requested from another CPU, the request address is transferred from the main memory access address bus 9 to the MABR 20.
The address control unit 5 determines the request address and transfers the data from the cache memory 6 to the MDB.
Read to R19, from main memory access data bus 8,
The data is sent to the system controller data bus 11.
一方、CPUI内には、並列処理タスク識別子を格納す
るPIDR7があり、命令によって読み書きが可能とす
る。説明のため、PIDR7は、4ビツトであるものと
仮定する。このPIDR7の中の並列処理タスク識別子
は、必要な時には、MPIDR21に格納され、主記憶
アクセスPIDバス10を経由して、システム制御袋W
PIDバス13へ送り出すことができる。また、他のC
PUから送られてきた並列処理タスク識別子は、MPI
DR21で受け取ることができ、比較器18によって自
分自身のPIDR7内の並列処理識別子と比較できる。On the other hand, within the CPUI there is a PIDR 7 that stores parallel processing task identifiers, which can be read and written by instructions. For purposes of explanation, assume that PIDR7 is 4 bits. When necessary, the parallel processing task identifier in the PIDR 7 is stored in the MPIDR 21 and sent via the main memory access PID bus 10 to the system control bag W.
It can be sent to the PID bus 13. Also, other C
The parallel processing task identifier sent from the PU is MPI
It can be received by the DR 21 and compared with the parallel processing identifier in its own PIDR 7 by the comparator 18.
また、PIDRV内の並列処理タスク識別子は、その値
にしたがって、並列処理タスクを実行中であるか否かを
判定して、並列処理タスクを実行中であると認識された
時には、並列処理モードフラグ17をオンにする。In addition, the parallel processing task identifier in PIDRV determines whether or not a parallel processing task is being executed according to its value, and when it is recognized that a parallel processing task is being executed, a parallel processing mode flag is set. Turn on 17.
第3図には、並列処理タスク識別子をテストし、並列処
理状態をテストする回路(並列処理状態認識手段100
)の例を示している。論理和ゲート22によって、PI
DR7の各ビットの内オンになっているビットがある時
に、並列処理モードフラグ17をオンにして、並列処理
状態となることを示している。FIG. 3 shows a circuit (parallel processing state recognition means 100) that tests the parallel processing task identifier and tests the parallel processing state.
) shows an example. By the OR gate 22, PI
When there is a bit that is turned on among the bits of DR7, the parallel processing mode flag 17 is turned on, indicating that a parallel processing state is entered.
並列処理タスク識別子の値は、マルチプロセッサシステ
ム内で排他的につけられ、ある一時点で同じ値を持つ別
のタスクは絶対に存在しないようにする。この排他的な
並列処理タスク識別子の割り当ては、例えばマルチプロ
セッサシステム内で実行するタスクを管理している制御
プログラムが、割り付るようにすることによって実現で
きる。The value of the parallel processing task identifier is assigned exclusively within the multiprocessor system, so that no other task with the same value exists at any given point in time. This exclusive assignment of parallel processing task identifiers can be realized, for example, by allowing a control program that manages tasks to be executed in a multiprocessor system to allocate them.
例えば、第4図に示すように定義するものとする。この
例では、並列処理でなく一つのCPUに割り当てられる
通常のタスクに対して、“0”の並列処理タスク識別子
を割り当てている。すなわち、オンとなっているビット
がないことから並列処理ではないことを意味するものと
している。以下順に、1ビツトずつを並列処理タスクに
割り当てることによって、4つの並列処理タスクグルー
プを定義し、マルチプロセッサシステム内に、4つまで
の並列処理タスクが同時に存在することが可能なものと
する。For example, it is assumed that the definition is as shown in FIG. In this example, a parallel processing task identifier of "0" is assigned to a normal task that is not assigned to parallel processing but is assigned to one CPU. In other words, the fact that no bit is turned on means that parallel processing is not performed. By allocating one bit to each parallel processing task in the following order, four parallel processing task groups are defined, and up to four parallel processing tasks can exist simultaneously in the multiprocessor system.
この割り当てられた並列処理タスク識別子は、制御プロ
グラムによって、該並列処理タスクの実行許可が与えら
れ実行が開始される時に該並列処理タスクを実行する全
てのCPUのPIDR7内に同時に書き込まれる。同時
に書き込みを行うための、いわゆる同期化処理は、共有
する主記憶領域における制御プログラムによるロック機
構によって容易に実現できる。この並列処理タスク識別
子は、該並列処理タスクの実行の終了あるいはタスクス
イッチによって、対応する並列処理タスクが待避される
時まで保持される。もし、タスクスイッチによって、並
列処理タスクが待避される時には、この時に待避される
データレジスタ、制御用データを格納する制御レジスタ
、実行中の命令のアドレスを保持するプログラムカウン
タなどと共にPIDR7の内容もセーブしておき、この
タスクを再開する時に同様にリストアする。This assigned parallel processing task identifier is simultaneously written into the PIDR 7 of all CPUs executing the parallel processing task by the control program when execution permission for the parallel processing task is granted and execution is started. So-called synchronization processing for simultaneous writing can be easily realized by a locking mechanism by a control program in a shared main storage area. This parallel processing task identifier is held until the corresponding parallel processing task is saved due to completion of execution of the parallel processing task or task switch. If a parallel processing task is saved by a task switch, the contents of PIDR7 are also saved along with the saved data register, control register that stores control data, program counter that holds the address of the instruction being executed, etc. and restore it in the same way when restarting this task.
ここで、並列処理タスク識別子の割り当ての例とそれに
したがって動作するキャッシュメモリ6の動作について
述べる。Here, an example of assignment of parallel processing task identifiers and the operation of the cache memory 6 according to the assignment will be described.
例えば、3つのタスクがマルチプロセッサ内に存在して
いるとする。一つは、4台のCPUを使用する“グルー
プ0″の並列処理タスクとし、2つ目を3台のCPUを
使用する“グループ2”のタスク、3つ目を並列処理で
はない単一のCPUで処理される通常のタスクとする。For example, suppose three tasks exist within a multiprocessor. One is a "Group 0" parallel processing task that uses four CPUs, the second is a "Group 2" task that uses three CPUs, and the third is a single non-parallel processing task. This is a normal task processed by the CPU.
この時の、ある時点における各CPUのPIDR7の値
を示したのが第6図である。この例では、グループOの
並列処理タスクがCPU・o、cpU・1.CPU・2
と、CPU・5に割り当てられ、この4台のCPUのP
IDR7には、“1ooo <バイナリ)”の並列処理
タスク識別子が設定されている。グループ1の並列処理
タスクは、CPU・3.CPU・4と、CPU・7に割
り当てられ、この3台のCPUのPIDR7には“00
10 (バイナリ)′の並列処理タスク識別子が設定さ
れている。CPU・6には、通常のタスクが割り当てら
れており、PIDR7には、“oooo <バイナリ)
”の並列処理タスク識別子が設定されている。FIG. 6 shows the value of PIDR7 of each CPU at a certain point in time. In this example, the parallel processing tasks of group O are CPU・o, cpU・1. CPU・2
is assigned to CPU 5, and the P of these four CPUs is
A parallel processing task identifier of “1ooo <binary)” is set in IDR7. Group 1 parallel processing tasks are CPU 3. It is assigned to CPU-4 and CPU-7, and “00” is assigned to PIDR7 of these three CPUs.
A parallel processing task identifier of 10 (binary)' is set. A normal task is assigned to CPU 6, and PIDR7 is assigned “oooo <binary)
” parallel processing task identifier is set.
ここで、CPU・0がキャッシュメモリ6ヘデータをス
トアしたとする。このCPUでは、PIDRT内の並列
処理タスク識別子が、“1000(バイナリ)”である
ので、並列処理モードフラグ17がオンとなっており、
並列処理状態である。Here, it is assumed that the CPU 0 stores data in the cache memory 6. In this CPU, the parallel processing task identifier in PIDRT is "1000 (binary)", so the parallel processing mode flag 17 is on.
It is in parallel processing state.
並列処理状態にあるCPU・0のデータは、他のCPU
に共有されている可能性があることを示しており、他の
CPUのキャッシュメモリ6内に同じデータのコピーが
存在するかも知れないので、このストアされたデータと
そのアドレスをMDBR19とMABR20に格納して
、主記憶アクセスデータバス8と主記憶アクセスアドレ
スバス9から、システム制御装置データバス11とシス
テム制御装置アドレスバス12を使用して、すべて(7
)CPUに放送する。コノ時、CPU−0(7)P I
DR?内の並列処理タスク識別子の値は、MPIDR2
1内に格納され、データと同時に主記憶アクセスPID
バス10から、システム制御袋?1fpIDバス13を
使用して、全CPUに放送される。The data of CPU 0 in parallel processing state is transferred to other CPUs.
This indicates that the stored data and its address may be shared in the MDBR 19 and MABR 20, as a copy of the same data may exist in the cache memory 6 of another CPU. Then, from the main memory access data bus 8 and the main memory access address bus 9, all (7
) broadcast to the CPU. At this time, CPU-0 (7) P I
DR? The value of the parallel processing task identifier in MPIDR2
1, and main memory access PID at the same time as data
System control bag from bus 10? It is broadcast to all CPUs using the 1fpID bus 13.
この放送されたシステム制御装置アドレスバス12上の
アドレスとシステム制御装置データバス11上のデータ
とシステム制御装置PIDバス13上の並列処理タスク
識別子は、並列処理モードフラグ17がオンになってい
る全てのCPU。The broadcasted addresses on the system controller address bus 12, data on the system controller data bus 11, and parallel processing task identifiers on the system controller PID bus 13 are all for which the parallel processing mode flag 17 is on. CPU.
すなわち、CPU・1、CPU・2、CPU・3、CP
U・4、CPU・5、CPU・7によって、MABR2
0、MDBR19、MPIDR21内に受信され、それ
ぞれ送られてきた並列処理タスク識別子とPIDR7の
値が比較器18で比較される。このうち、CPU・1、
CPU・2、CPU・5では、この比較の結果、一致す
るので、放送されてきたデータが、自分とデータを共有
しているCPU0ものであることを知り、自分のキャッ
シュメモリ6内に、対応するアドレスのデータがないか
をサーチして、そのデータのコピーを持っている時には
、そこにそのデータを上書きして更新することによりて
データの有効性を保つ。That is, CPU・1, CPU・2, CPU・3, CP
MABR2 by U-4, CPU-5, CPU-7
0, MDBR 19, and MPIDR 21, and the transmitted parallel processing task identifier and the value of PIDR 7 are compared by a comparator 18. Of these, CPU・1,
As a result of this comparison, CPUs 2 and 5 match, so they know that the broadcasted data belongs to CPU 0, which shares the data with them, and store the corresponding data in their own cache memory 6. It searches for data at the specified address, and if it has a copy of that data, it overwrites the data there and updates it, thereby maintaining the validity of the data.
一方、CPU・3、CPU・4、CPU・7では、送ら
れてきた並列処理タスク識別子とPIDR7の値の比較
の結果不一致となるので、放送されてきたデータは、自
分とデータを共有しているCPU0ものではないことを
知り、放送されてきたデータを捨てる。当然、キャッシ
ュメモリ6内のアドレスのサーチも行わない。On the other hand, CPU-3, CPU-4, and CPU-7 compare the sent parallel processing task identifier with the value of PIDR7 and find that they do not match. Knowing that it is not CPU 0, I throw away the broadcast data. Naturally, the address search within the cache memory 6 is not performed either.
さらに、CPU・6は、PIDR7の並列処理タスク識
別子の値が“0000 (バイナリ)”であり、通常の
タスクを遂行しており、並列処理を行っておらず、全放
送されてきたデータのコピーを持っている可能性がない
ので、放送されてきたデータを全て無視して、次の処理
に移る。Furthermore, the value of the parallel processing task identifier of PIDR7 is "0000 (binary)", and CPU 6 is executing a normal task, is not performing parallel processing, and is copying all broadcast data. Since there is no possibility that the program has the data, it ignores all the data that has been broadcast and moves on to the next process.
つぎに、ストアを行ったCPUの並列処理タスク識別子
が“0000 (バイナリ)”のとき、すなわちCP
U・6がストアを行った時を考える。Next, when the parallel processing task identifier of the CPU that performed the store is "0000 (binary)", that is, the CPU
Consider when U.6 performs a store.
CPU・6は、PIDR7の並列処理タスク識別子の値
が“oooo <バイナリ)”であり、通常のタスクを
遂行しており、並列処理を行っていないことになる。こ
のため、CPU・6がストアするキャッシュメモリ6の
データは、CPU・6のプライベートなデータであり、
他のCPCIにこのコピーが存在する可能性がないこと
を示している。The value of the parallel processing task identifier of PIDR7 is "oooo <binary)" for CPU 6, which means that it is performing a normal task and is not performing parallel processing. Therefore, the data stored in the cache memory 6 by the CPU 6 is private data of the CPU 6.
This indicates that there is no possibility that this copy exists in other CPCIs.
このため、CPU・6がキャッシュメモリ6へストアし
た時には、他のCPUへは何の通信をも行う必要がなく
、単純にキャッシュメモリ6への書き込みだけが行われ
る。Therefore, when the CPU 6 stores data in the cache memory 6, there is no need to perform any communication with other CPUs, and only writing to the cache memory 6 is performed.
ところで、上記実施例において、制御プログラムの監視
の下、複数のCPUが複数のタスクを同時に実行する時
に、制御プログラムがその複数のタスクに対して排他的
な値を持つ並列処理タスク識別子を割り付け、該当する
CPUにおいて現在実行中のタスクに対応する並列処理
タスク識別子を常時保持させることとし、制御プログラ
ムが複数台のCPUを使用して並列実行させているタス
クを変更する時には、タスクの変更されるすべてのCP
U0間で同期化して同時に並列処理タスク識別子をも変
更することも可能である。By the way, in the above embodiment, when a plurality of CPUs simultaneously execute a plurality of tasks under the supervision of a control program, the control program allocates a parallel processing task identifier having an exclusive value to the plurality of tasks, The parallel processing task identifier corresponding to the task currently being executed on the relevant CPU is always retained, and when the control program changes the task that is being executed in parallel using multiple CPUs, the task is changed. all CP
It is also possible to synchronize U0 and change the parallel processing task identifier at the same time.
このように上記実施例のデータ制御方式は、複数のCP
Uの幾つかに′よって並列に処理が行われているときに
、それぞれのCPU毎に、自分自身が並列処理を行って
いるCPU群の一つであり、現在並列処理を遂行中であ
ることを認識する処理と、複数の中央処理装置の幾つか
によって並列に処理が行われているときに、それぞれの
CPU毎に、自分自身が並列処理を行っている並列に実
行中のタスクに対応して、マルチプロセッサシステム内
で排他的な並列処理タスク識別子を選択し割り当てを行
う処理と、その割り当てられた並列処理タスク識別子を
保持する処理と、任意のcpuが自分が実行中の並列処
理タスクの並列処理タスク識別子を他のすべてのCPU
に放送する処理とすべてのCPUのキャッシュメモリ間
でお互いにデータを直接に1対1の転送、あるいは1対
複数に放送する処理と、データ転送に伴うデータのアド
レスを転送する処理とを実行する。In this way, the data control method of the above embodiment has multiple CPs.
When processing is being performed in parallel by some of U', each CPU must indicate that it is one of the CPUs performing parallel processing and is currently performing parallel processing. When processing is being performed in parallel by several central processing units, each CPU can respond to tasks that are being executed in parallel by itself. The process of selecting and allocating an exclusive parallel processing task identifier within a multiprocessor system, the process of retaining the assigned parallel processing task identifier, and the process of allowing any CPU to identify the parallel processing task it is currently executing. Parallel processing task identifier to all other CPUs
1-to-1 transfer of data directly between the cache memories of all CPUs, or 1-to-multiple broadcast processing, and processing to transfer data addresses accompanying data transfer. .
上記実施例によれば、各中央処理装置に自分自身が複数
の中央処理装置で並列処理によるタスクの遂行をしてい
る状態であるか、あるいは自分自身だけで個別に単一の
タスクを遂行しているのかの情報を認識して、個別に一
つのタスクの処理を行っている時には、そのタスクの処
理に使用されるデータは、自分自身にプライベートなデ
ータと見做し他の中央処理装置への影響が一切ないもの
と規定する。また、並列処理を行っている時には、他の
中央処理装置と共有されるデータを使用していると見做
し、並列処理を行っている時のみにおいて、ある中央処
理装置においてキャッシュメモリへの書き込みが行われ
た時に、それ以外の中央処理装置のキャッシュメモリの
該当するアドレスを変更する。さらに、通常の場合この
ような変更の時には、変更されたアドレスのデータを無
効化するか、あるいは−律に全中央処理装置に放送して
書き替えることが行われているが、この放送光を限定し
て、受信側のオーバヘッドを軽減し、また、できるだけ
少ないハードウェア規模で、排他的にタスクを管理する
ことによって、マルチプロセッサシステム内に同時に存
在する並列処理中の複数のタスク毎に独立して、各中央
処理装置のキャッシュメモリへの書き込み制御を区別し
て行えるものとし、複数の並列処理タスクを効率よく実
行できるようなマルチプロセッサシステムを得ることが
できる。According to the above embodiment, each central processing unit is in a state in which it is executing a task by parallel processing using multiple central processing units, or is in a state in which it is executing a single task individually by itself. When processing one task individually, the data used to process that task is considered to be private data and is not sent to other central processing units. It is stipulated that there will be no influence whatsoever. Also, when performing parallel processing, it is assumed that data shared with other central processing units is used, and only when parallel processing is performed, a certain central processing unit writes to the cache memory. When this is done, the corresponding address in the cache memory of the other central processing units is changed. Furthermore, normally when such a change is made, the data at the changed address is invalidated or broadcast to all central processing units and rewritten, but this broadcasting light is By limiting the overhead on the receiving side and managing the tasks exclusively with as little hardware as possible, it is possible to independently manage multiple tasks in parallel processing that exist simultaneously in a multiprocessor system. Accordingly, writing control to the cache memory of each central processing unit can be performed separately, and a multiprocessor system that can efficiently execute a plurality of parallel processing tasks can be obtained.
なお、上述の実施例では、4ビツトの並列処理タスク識
別子を4グループとして定義したが、第5図に示すよう
に各ビットを1ビツトと定義せずに、順次番号をふって
並列処理タスク識別子を与え、4ピントで15グループ
まで定義するものとしても、同様の効果が得られる。ま
た、上述の実施例では、中央処理装置を8台程度と限定
して、並列処理タスク識別子を4ビツトに限定している
が、たとえ何ビットに拡張したとしても同様の効果が得
られる。さらに、上述の実施例では、システム制御装置
に接続されるものを複数の中央処理装置に限定して説明
しているが、当然主記憶ナクセスを行う入出力装置が接
続されている場合においても適用可能である。In the above embodiment, the 4-bit parallel processing task identifier was defined as 4 groups, but as shown in FIG. 5, each bit is not defined as 1 bit, but the parallel processing task identifier is numbered sequentially A similar effect can be obtained by defining up to 15 groups with 4 focal points. Further, in the above embodiment, the number of central processing units is limited to about eight, and the parallel processing task identifier is limited to 4 bits, but the same effect can be obtained even if the number of bits is expanded. Furthermore, in the above embodiment, the explanation is limited to a plurality of central processing units connected to the system control unit, but this also applies when an input/output device that performs main memory access is connected. It is possible.
以上のように本発明によれば、各中央処理装置間で互い
に発行し、受信しているリクエストの内、不要な他の中
央処理装置からのリクエストを無視し、真に必要なリク
エストを選択して受信することが可能となり、また、少
ないハードウェアによって他の中央処理装置に対して同
等影響を与えることのないプライベートなデータに対す
るリクエストを認識して、他の中央処理装置にリクエス
トを発行することがないようにすることができ、これに
よりマルチプロセッサシステムにおけるデータの有効性
保持のための処理が効率化され、中央処理装置間の通信
回数がより低(抑えられ、したがってハードウェアの小
規模化が実現できると共に、複数の並列処理タスクの実
行効率が高まるという効果が得られる。As described above, according to the present invention, among the requests issued and received between each central processing unit, unnecessary requests from other central processing units are ignored and truly necessary requests are selected. It is also possible to recognize requests for private data and issue requests to other central processing units using less hardware and without having the same impact on other central processing units. This makes the processing for maintaining data validity in multiprocessor systems more efficient, and reduces the number of communications between central processing units, thus reducing the hardware size. can be realized, and the execution efficiency of multiple parallel processing tasks can be improved.
第1図はこの発明の一実施例によるデータ制御方式を採
用したマルチプロセッサシステムの要部構成を示すブロ
ック図、第2図は第1図中の中央処理装置の構成を示す
ブロック図、第3図は上記中央処理装置のPIDレジス
タに係る制御回路の回路図、第4図及び第5図はこの実
施例における並列処理タスク識別子の並列処理タスクへ
の割り当ての例を示す図、第6図はこの実施例において
8個の中央処理装置を有するマルチプロセッサシステム
における並列処理タスク識別子の割り当ての例を示す図
、第7図は従来の多重プロセッサシステムのキャッシュ
メモリの制御部の構成を示すブロック図、第8図はこの
従来例におけるキャッシュディレクトリの内容を示す図
である。
la、lb、1・−・CPU (中央処理装置)、4・
・・主記憶装置、6a、6b、6・・・キャッシュメモ
リ、7a、7b、7・・・PIDR−(並列処理タスク
識別子記憶手段)、100・・・並列処理状態認識手段
。
代理人 大 岩 増 雄(ほか2名)第1図
第2図
第3図
゛鼓列処理状島パ
第4図
第6図
PIDRのイJ1
手続補正書(自発)FIG. 1 is a block diagram showing the main part configuration of a multiprocessor system adopting a data control method according to an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of the central processing unit in FIG. 1, and FIG. The figure is a circuit diagram of a control circuit related to the PID register of the central processing unit, FIGS. 4 and 5 are diagrams showing examples of assignment of parallel processing task identifiers to parallel processing tasks in this embodiment, and FIG. A diagram showing an example of assignment of parallel processing task identifiers in a multiprocessor system having eight central processing units in this embodiment, FIG. 7 is a block diagram showing the configuration of a cache memory control unit of a conventional multiprocessor system, FIG. 8 is a diagram showing the contents of the cache directory in this conventional example. la, lb, 1--CPU (central processing unit), 4-
...Main storage device, 6a, 6b, 6... Cache memory, 7a, 7b, 7... PIDR- (parallel processing task identifier storage means), 100... Parallel processing state recognition means. Agent: Masuo Oiwa (and 2 others) Figure 1 Figure 2 Figure 3 ``Island Pavilion with Drum Row Treatment'' Figure 4 Figure 6 PIDR A J1 Procedural Amendment (Voluntary)
Claims (1)
、高速に読み出しあるいは書き込み可能なキャッシュメ
モリを備えた複数個の中央処理装置を含み構成されたマ
ルチプロセッサシステムにおいて、 あるプログラムの並列実行が開始された時点から、該プ
ログラムの実行が終了する時点までの間、該並列実行さ
れるタスク毎に対応して排他的に付加された並列処理タ
スク識別子を、全中央処理装置の内の並列実行に使用さ
れる中央処理装置の並列処理タスク識別子記憶手段に格
納し、ある中央処理装置でプログラムの実行に際して書
き込み動作が発生し、その書き込みデータをキャッシュ
メモリに書き込んだ時には他のすべての中央処理装置に
対して書き込みデータと書き込みアドレスと共に該並列
処理タスク識別子を放送し、並列処理状態認識手段によ
って並列処理中であると認識された中央処理装置だけが
該書き込みデータと書き込みアドレスと並列処理タスク
識別子を受け取り、更に、受け取った側の中央処理装置
が並列処理タスク識別子記憶手段に格納された並列処理
タスク識別子と一致した場合においてのみ、その書き込
みデータを自体のキャッシュメモリに書き込むように制
御することを特徴とするデータ制御方式。[Scope of Claims] A multiprocessor system configured to include a plurality of central processing units that share a main memory that stores information necessary for data processing and is equipped with a cache memory that can be read or written at high speed, From the time when the parallel execution of a certain program starts until the time when the execution of the program ends, the parallel processing task identifier that is exclusively added corresponding to each task to be executed in parallel is used by all central processing The parallel processing task identifier of the central processing unit used for parallel execution in the device is stored in the storage means, and when a write operation occurs in one central processing unit when a program is executed, and the write data is written to the cache memory, another The parallel processing task identifier is broadcast together with the write data and the write address to all the central processing units of and a parallel processing task identifier, and further writes the write data into its own cache memory only when the receiving central processing unit matches the parallel processing task identifier stored in the parallel processing task identifier storage means. A data control method characterized by controlling.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1118335A JPH02297656A (en) | 1989-05-11 | 1989-05-11 | Data control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1118335A JPH02297656A (en) | 1989-05-11 | 1989-05-11 | Data control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02297656A true JPH02297656A (en) | 1990-12-10 |
Family
ID=14734121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1118335A Pending JPH02297656A (en) | 1989-05-11 | 1989-05-11 | Data control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02297656A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04260157A (en) * | 1991-02-15 | 1992-09-16 | Matsushita Electric Ind Co Ltd | Multi-processor system |
US6330238B1 (en) | 1997-10-31 | 2001-12-11 | Fujitsu Limited | Multicast transmission method |
WO2010119802A1 (en) * | 2009-04-14 | 2010-10-21 | 日本電気株式会社 | Computer system and processing method for computer system |
-
1989
- 1989-05-11 JP JP1118335A patent/JPH02297656A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04260157A (en) * | 1991-02-15 | 1992-09-16 | Matsushita Electric Ind Co Ltd | Multi-processor system |
US6330238B1 (en) | 1997-10-31 | 2001-12-11 | Fujitsu Limited | Multicast transmission method |
WO2010119802A1 (en) * | 2009-04-14 | 2010-10-21 | 日本電気株式会社 | Computer system and processing method for computer system |
JP2010250470A (en) * | 2009-04-14 | 2010-11-04 | Nec Corp | Computer system |
JP4656347B2 (en) * | 2009-04-14 | 2011-03-23 | 日本電気株式会社 | Computer system |
US8713217B2 (en) | 2009-04-14 | 2014-04-29 | Nec Corporation | Permitting access of slave device from master device based on process ID's |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3348367B2 (en) | Multiple access method and multiple access cache memory device | |
US5761734A (en) | Token-based serialisation of instructions in a multiprocessor system | |
US7469321B2 (en) | Software process migration between coherency regions without cache purges | |
US4445174A (en) | Multiprocessing system including a shared cache | |
US5623632A (en) | System and method for improving multilevel cache performance in a multiprocessing system | |
US5058006A (en) | Method and apparatus for filtering invalidate requests | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US5692149A (en) | Block replacement method in cache only memory architecture multiprocessor | |
JPH05128071A (en) | Apparatus and method for optimizing performance of multiplex processor system | |
JPH03142644A (en) | Cache memory control system | |
JPH0576060B2 (en) | ||
JPH06243035A (en) | Generalized shared memory in cluster architecture for computer system | |
JP2006277762A (en) | Divided nondense directory for distributed shared memory multi-processor system | |
US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
US6038642A (en) | Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system | |
US5339397A (en) | Hardware primary directory lock | |
US5675765A (en) | Cache memory system with independently accessible subdivided cache tag arrays | |
JP2746530B2 (en) | Shared memory multiprocessor | |
JPH0277858A (en) | Memory controller for computer system with plural processors | |
JPH02297656A (en) | Data control system | |
US6021466A (en) | Transferring data between caches in a multiple processor environment | |
JPH0756808A (en) | Data cache buffer and storage method | |
JP2002007371A (en) | L1 cache false share relaxing and control system | |
JPH02244253A (en) | Multiprocessor system containing common spread memories | |
JPH0281255A (en) | Multi-processor computer multiple device |