JPH10111857A - Multi-processor - Google Patents

Multi-processor

Info

Publication number
JPH10111857A
JPH10111857A JP28474396A JP28474396A JPH10111857A JP H10111857 A JPH10111857 A JP H10111857A JP 28474396 A JP28474396 A JP 28474396A JP 28474396 A JP28474396 A JP 28474396A JP H10111857 A JPH10111857 A JP H10111857A
Authority
JP
Japan
Prior art keywords
information
lock
register
bit
access request
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
Application number
JP28474396A
Other languages
Japanese (ja)
Other versions
JP3006676B2 (en
Inventor
Hisao Koyanagi
尚夫 小柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8284743A priority Critical patent/JP3006676B2/en
Publication of JPH10111857A publication Critical patent/JPH10111857A/en
Application granted granted Critical
Publication of JP3006676B2 publication Critical patent/JP3006676B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To evade the performance reduction of a multi-processor owing to the synchronous processing of a parallel processing program by improving the reply speed of CR(communication register) access performance in appearance. SOLUTION: A CR mainbody 6 holds synchronous control information corresponding to respective CSs(critical section) in respective CR areas. A lock information holding part (lock bit register 8) is constituted by an element whose access speed is higher than the CR mainbody 6 and only lock information within synchronous control information inside the respective CR areas is held. A CR obtaining information hoolding part (CR obtaining information register 9) holds information indicating whether or not respective kinds of lock information inside the lock information holding part is obtained. A CR control part 10 receives a CR access request from respective CPUs 100 and executes control so as to return only lock information within synchronous control informationan inside the CR areas being the request object of the CR access request to respective CPUs 100 by a timing faster than that of reply data of whole synchronous control information.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マルチプロセッサ
(マルチプロセッサ型の情報処理装置)に関し、特にC
R同期制御方式が採用されるマルチプロセッサに関す
る。
[0001] 1. Field of the Invention [0002] The present invention relates to a multiprocessor (multiprocessor type information processing apparatus), and more particularly to a multiprocessor.
The present invention relates to a multiprocessor employing an R synchronization control method.

【0002】[0002]

【従来の技術】マルチプロセッサにおいて、その並列処
理性能を向上させるためにネックとなる重要な点の1つ
として、プロセッサ間の同期処理性能がある。このプロ
セッサ間の同期を高速化するための1つの方法として、
バリア同期機構をハードウェアで実現する方法が数多く
提案されている。
2. Description of the Related Art In a multiprocessor, one of the important points to improve parallel processing performance is synchronous processing performance between processors. One way to speed up this synchronization between processors is as follows:
Many methods for realizing the barrier synchronization mechanism by hardware have been proposed.

【0003】図7(a)では、タスク701,タスク7
02,およびタスク703の各タスクの処理の間でバリ
ア同期を実現する動作について説明している。まず、タ
スク703がバリア同期点までに必要な処理を実行し、
その時点で他のタスクがバリア同期点までに必要な処理
の実行を終了していないので、タスク703はウェイト
(wait)状態になる。同様に、タスク701がウェ
イト状態になる。最後に、バリア同期点までに必要な処
理がタスク702で完了し、タスク701〜703がバ
リア同期点に達したことを全てのタスクが認識し、その
先の処理が再開される。このような同期方式をバリア同
期方式と呼ぶ。
In FIG. 7A, tasks 701 and 7
The operation for realizing barrier synchronization between the processes of the tasks 02 and 703 is described. First, the task 703 performs a necessary process up to the barrier synchronization point,
At this point, the task 703 enters a wait state because another task has not completed execution of necessary processing until the barrier synchronization point. Similarly, the task 701 enters a wait state. Finally, the necessary processing up to the barrier synchronization point is completed in the task 702, all the tasks recognize that the tasks 701 to 703 have reached the barrier synchronization point, and the subsequent processing is restarted. Such a synchronization method is called a barrier synchronization method.

【0004】上述のバリア同期方式は、そのバリア同期
を実現するための特珠なハードウェア機構を有する情報
処理装置が既に製品化されているほど、一般的な方式で
ある。
The above-described barrier synchronization method is a general method as an information processing apparatus having a special hardware mechanism for realizing the barrier synchronization has been commercialized.

【0005】図7(b)は、バリア同期方式のハードウ
ェア機構の動作を簡単に説明するための図である。すな
わち、図7(b)では、CPU(Central Pr
ocessing Unit)71,CPU72,およ
びCPU73の3つのプロセッサ間のバリア同期の実現
例を示している。
FIG. 7B is a diagram for simply explaining the operation of the hardware mechanism of the barrier synchronization method. That is, in FIG. 7B, the CPU (Central Pr)
2 shows an example of realizing barrier synchronization between three processors, namely, the processing unit 71, the CPU 72, and the CPU 73.

【0006】各CPUには、同期F/F(Flip/F
lop。フリップフロップ)が3ビット含まれている。
すなわち、3つのCPUの各々には、自CPUのタスク
がバリア同期点まで実行完了した時にセットされるF/
F(自CPUタスク同期点到達F/F)が1ビット存在
し、他のCPUのタスクがバリア同期点まで到達した時
にセットされるF/F(他CPUタスク同期点到達F/
F)が2ビット存在する。自CPUタスク同期点到達F
/Fは、CPU71,CPU72,およびCPU73で
は、各々、F/F710,721,732である。ま
た、F/F711およびF/F712は、CPU72お
よびCPU73のタスクがバリア同期点に到達したこと
を示すCPU71内の他CPUタスク同期点到達F/F
である。CPU72におけるF/F720およびF/F
722ならびにCPU73におけるF/F730および
F/F731についても、同様である。
Each CPU has a synchronous F / F (Flip / F).
lop. 3) are included.
In other words, each of the three CPUs has an F / F set when the task of its own CPU has completed execution up to the barrier synchronization point.
F (own CPU task synchronization point arrival F / F) has one bit, and is set when another CPU task reaches the barrier synchronization point (other CPU task synchronization point arrival F / F).
F) has two bits. Own CPU task synchronization point reached F
/ F is F / F 710, 721, 732 in the CPU 71, the CPU 72, and the CPU 73, respectively. The F / F 711 and the F / F 712 are other CPU task synchronization point arrival F / Fs in the CPU 71 indicating that the tasks of the CPU 72 and the CPU 73 have reached the barrier synchronization point.
It is. F / F 720 and F / F in CPU 72
The same applies to the F / F 730 and the F / F 731 in the CPU 722 and the CPU 73.

【0007】上述のハードウェア機構は異なるCPU上
のタスク間のバリア同期にしか対応できない。図7
(a)のタスク701,タスク702,およびタスク7
03を各々CPU71,CPU72,およびCPU73
に割り当てると、以下の〜に示す処理が行われる。
The above-mentioned hardware mechanism can only cope with barrier synchronization between tasks on different CPUs. FIG.
(A) Task 701, task 702, and task 7
03 to CPU71, CPU72, and CPU73, respectively.
, The following processes are performed.

【0008】 まず、タスク703がバリア同期点に
到達し、F/F732がセットされる。
First, the task 703 reaches the barrier synchronization point, and the F / F 732 is set.

【0009】 その情報が信号線706を介してCP
U71およびCPU72にも報告され、F/F712お
よびF/F722がセットされる。
The information is transmitted via signal line 706 to the CP
It is also reported to U71 and CPU72, and F / F712 and F / F722 are set.

【0010】 次に、タスク701がバリア同期点に
到達し、F/F710がセットされ、その情報が信号線
704を介してCPU72およびCPU73に報告さ
れ、F/F720およびF/F730がセットされる。
Next, the task 701 reaches the barrier synchronization point, the F / F 710 is set, the information is reported to the CPU 72 and the CPU 73 via the signal line 704, and the F / F 720 and the F / F 730 are set. .

【0011】 最後に、タスク702がバリア同期点
に到達し、F/F721がセットされ、その情報が信号
線705を介してCPU71およびCPU73に報告さ
れ、F/F711およびF/F731がセットされる。
Finally, the task 702 reaches the barrier synchronization point, the F / F 721 is set, the information is reported to the CPU 71 and the CPU 73 via the signal line 705, and the F / F 711 and the F / F 731 are set. .

【0012】 以上のようにして、9つの同期F/F
が全てセットされ、バリア同期が成立したことをCPU
71,CPU72,およびCPU73が認識し、次の処
理が開始される。
As described above, the nine synchronous F / Fs
Is set, and the CPU confirms that barrier synchronization has been established.
The next processing is started by the recognition by the CPU 71, the CPU 72, and the CPU 73.

【0013】この方式の良い点は、バリア同期点に最後
に到達するタスクを実行しているCPUからの報告がそ
のタスク終了と同時(正確には、当該タスクのバリア同
期点到達のタイミングから同期信号の転送時間分だけ経
過した後)に全CPUに通知されるので、バリア同期の
成立後の次の処理を早く実行できることである。
A good point of this method is that the report from the CPU executing the task that reaches the barrier synchronization point lastly coincides with the end of the task (exactly, from the timing when the task reaches the barrier synchronization point. Since all the CPUs are notified after the signal transfer time has elapsed), the next process after the barrier synchronization is established can be executed quickly.

【0014】一方、この方式の問題点は、通常1プロセ
ッサ(CPU)当たり1ビットの同期ビットのみのリー
ド(READ)しかできないので、1CPUで複数タス
クが処理されるようなマルチタスク処理に対応できない
ことである。また、同期F/Fを複数セット持つとする
と、CPU間接続ケーブルの本数が増加し、論理回路が
増大し、ソフトウェア見えにも同期ビットの管理が複雑
化するという欠点が指摘される。
On the other hand, the problem with this method is that it is usually only possible to read (READ) only one synchronization bit per processor (CPU), so that it cannot cope with multitask processing in which a plurality of tasks are processed by one CPU. That is. Further, when a plurality of sets of synchronous F / Fs are provided, the number of connecting cables between CPUs is increased, the number of logic circuits is increased, and the management of synchronous bits is complicated even in software.

【0015】さて、以上のようなバリア同期方式とは別
に、CR(Communication Resist
er)という「主記憶(メモリ)に比べてアクセス時間
が高速なCPU間共有データ領域」を保持し、このCR
に格納される同期制御情報に基づき、ソフトウェアによ
って(ハードウェアによる実現も可能であるが一般的に
はソフトウェアによる)プロセッサ間の同期を実現する
方式が存在する。
Now, apart from the above barrier synchronization method, CR (Communication Resist)
er), which holds a “shared data area between CPUs whose access time is faster than that of the main memory (memory)”.
There is a method for realizing synchronization between processors based on synchronization control information stored in a processor (software can be realized, but generally, software) based on software.

【0016】この方式(CR同期制御方式)では、複数
のタスク(当該タスクが起動されるCPU)で共有され
るCS(Critical Section)と呼ばれ
る排他資源の排他制御がCR内の同期制御情報によって
実現される。
In this method (CR synchronization control method), exclusive control of an exclusive resource called CS (Critical Section) shared by a plurality of tasks (CPUs on which the tasks are started) is realized by synchronization control information in the CR. Is done.

【0017】CR内には各CSに対応して各CR領域が
存在し、そのCR領域における同期制御情報中の特定の
ビット列(一般には、先頭の1ビット)によって、その
CSの使用が可能か否かを示す情報が設定される。この
ような特定のビット列によって示されるCSの排他制御
に関する情報をロック情報と呼び、そのロック情報が1
ビットの情報である場合にはそのビットをロックビット
と呼ぶ。
Each CR area exists in the CR corresponding to each CS, and a specific bit string (generally, the first bit) in the synchronization control information in the CR area makes it possible to use the CS. Information indicating whether or not it is set is set. Information on the exclusive control of the CS indicated by such a specific bit string is called lock information.
If it is bit information, the bit is called a lock bit.

【0018】このCR同期制御方式で必須な命令に、テ
スト&セットCR命令(以下、TSCR命令と略す)が
ある。
An indispensable instruction in this CR synchronization control method is a test & set CR instruction (hereinafter abbreviated as a TSCR instruction).

【0019】図5は、TSCR命令の仕様の一例を示す
図である。このTSCR命令は、OPCフィールドと、
Sx#フィールドと、CR#フィールドとを含んでい
る。
FIG. 5 is a diagram showing an example of the specification of the TSCR instruction. This TSCR instruction includes an OPC field,
An Sx # field and a CR # field are included.

【0020】あるCPU(プロセッサ)から発行された
当該TSCR命令は、以下の〜に示すように実行さ
れる。
The TSCR instruction issued from a certain CPU (processor) is executed as shown in the following (1) to (5).

【0021】 まず、CR#フィールド内のCRアド
レスで指定されるCR領域内の値(そのCR領域に対応
するCSの同期制御情報)が作業領域Wに格納される。
First, the value in the CR area specified by the CR address in the CR # field (the CS synchronization control information corresponding to the CR area) is stored in the work area W.

【0022】 さらに、でCR領域から読み出され
た同期制御情報の先頭の1ビット(ロックビット)が
“0”であった場合には、そのロックビットに“1”が
セットされ、その同期制御情報中の残りの63ビットに
は汎用レジスタSx(Sx#フィールド内のレジスタ番
号で特定される汎用レジスタ)の値が格納される。ここ
で、ロックビットに“1”が設定されている場合には、
「そのCSが使用されている状態」が示される。また、
ロックビットに“0”が設定されている場合には、「そ
のCSを使用しているタスクが存在しない状態」が示さ
れる。
Further, when the first bit (lock bit) of the synchronization control information read from the CR area is “0”, the lock bit is set to “1”, and the synchronization control information is set to “1”. The value of the general-purpose register Sx (general-purpose register specified by the register number in the Sx # field) is stored in the remaining 63 bits in the information. Here, when the lock bit is set to “1”,
"The state where the CS is used" is shown. Also,
When “0” is set to the lock bit, “a state in which no task using the CS exists” is indicated.

【0023】 一方、もしそのロックビットが“1”
であった場合には、そのCR領域に対する書込みは行わ
れない。また、汎用レジスタSxには、作業領域Wの
値、すなわち、の読出しデータが格納される。
On the other hand, if the lock bit is “1”
Is not written to the CR area. The general-purpose register Sx stores the value of the work area W, that is, read data of the work area W.

【0024】このTSCR命令のようなCRに対して不
可分な処理を行う基本命令を用意しておけば、柔軟にC
Sの排他制御、ひいては複数のCPU間の同期制御を実
現することができる。ここで、「不可分」とは、その読
出し/書込み処理の間に、その値を操作するいかなる他
の処理も実行されてはならないことを意味する。
If a basic instruction such as the TSCR instruction for performing inseparable processing on a CR is prepared, the C
Exclusive control of S, and thus synchronous control among a plurality of CPUs, can be realized. Here, "indivisible" means that no other processing that manipulates the value must be performed during the read / write processing.

【0025】このCR同期制御方式が優れている点は、
同期制御情報としてロック情報(上述の例では、ロック
ビットの情報)の他のデータ(上述の例では、ロックビ
ット以外の63ビットのデータ)を保持することが可能
であり、さらに、CR内の同期制御情報が複数存在する
ことである。これによって、柔軟な同期制御を実現する
ことができる。
The advantage of this CR synchronization control system is that
It is possible to hold other data (in the above example, 63-bit data other than the lock bit) other than the lock information (lock bit information in the above example) as the synchronization control information. That is, a plurality of synchronization control information exists. Thereby, flexible synchronization control can be realized.

【0026】また、このCR同期制御方式をハードウェ
アで実現する場合を考えても、CR内のCR領域の数
(同期制御情報の数)が増加したからといって、ハード
ウェアの実現性の困難さとコスト高とを招くCPU間接
続ケーブルの本数にはそれほど影響を与えない。上述の
バリア同期方式では、制御ビット当たり、CPU間接続
ケーブル本数が「CPU台数*(CPU台数−1)」と
なることから考えると、CR同期制御方式の優位性は明
らかである。
Further, even in the case where the CR synchronization control method is realized by hardware, the fact that the number of CR areas (the number of synchronization control information) in the CR increases, the feasibility of hardware is not considered. It does not significantly affect the number of inter-CPU connection cables that causes difficulty and high cost. In the barrier synchronization method described above, the superiority of the CR synchronization control method is apparent, considering that the number of connection cables between CPUs per control bit is “the number of CPUs * (the number of CPUs−1)”.

【0027】しかしながら、このようなCR同期制御方
式にも問題点がある。それは同期確立(CSを自己が使
用可能となる状態)を待っている他のタスクがCRをス
ピンロックしているので、同期成立の認識が遅くなるこ
とである。
However, such a CR synchronization control system also has a problem. That is, the recognition of the establishment of the synchronization is delayed because another task waiting for the establishment of the synchronization (the state in which the CS can be used) spin-locks the CR.

【0028】この問題点を説明するために、上述のCR
同期制御方式が採用されて実際のマルチタスク処理が実
行されている例について、図6を参照して説明する。こ
の例では、唯一のタスクによってのみ実行可能なプログ
ラムであるCSがCR#3というCRアドレスのCR領
域内の同期制御情報中のロックビットによって排他制御
されている。なお、CSに該当するプログラムの簡単な
例としては、1つの入出力チャネルをアクセスする処理
のような、複数のタスクが同時に実行すると動作の保証
をできない処理を実現するプログラムがある。
In order to explain this problem, the above-mentioned CR
An example in which a synchronous control method is employed and an actual multitask process is executed will be described with reference to FIG. In this example, CS, which is a program that can be executed only by a single task, is exclusively controlled by the lock bit in the synchronization control information in the CR area of CR address CR # 3. As a simple example of a program corresponding to CS, there is a program for realizing a process for which operation cannot be guaranteed if a plurality of tasks are executed simultaneously, such as a process for accessing one input / output channel.

【0029】タスク601は、CR内のCR#3のCR
領域の同期制御情報中のロックビットを見るために、L
OOP1において、TSCR命令を実行する。すなわ
ち、汎用レジスタS7にCR#3の値(同期制御情報)
を書き込む。
Task 601 is to execute CR of CR # 3 in CR.
To see the lock bit in the synchronization control information of the area, L
In OOP1, a TSCR instruction is executed. That is, the value of CR # 3 (synchronization control information) is stored in the general-purpose register S7.
Write.

【0030】次に、その汎用レジスタS7内の値に基づ
く分岐命令を実行する。この分岐命令は、汎用レジスタ
S7内の値の上位1ビット(ロックビット)を判定し、
“0”である場合にはそのCSの実行を開始し、“1”
であるた場合にはLOOP1にジャンプして再度TSC
R命令の実行を繰り返す命令である。なお、このように
TSCR命令の実行を繰り返す状態を「スピンロック」
と呼ぶ。
Next, a branch instruction based on the value in the general-purpose register S7 is executed. This branch instruction determines the upper one bit (lock bit) of the value in the general-purpose register S7,
If “0”, the execution of the CS is started, and “1”
If so, jump to LOOP1 and retry TSC
This instruction repeats the execution of the R instruction. The state in which the execution of the TSCR instruction is repeated in this manner is referred to as “spin lock”.
Call.

【0031】ここでは、タスク601は最初にCSの実
行を試みたタスクであるので、そのCSの使用権を取得
し、そのCSの実行を開始する。
In this case, since the task 601 is a task that has attempted to execute the CS first, the right to use the CS is acquired, and the execution of the CS is started.

【0032】一方、タスク602も、CR#3のCR領
域の同期制御情報中のロックビットを見るために、LO
OP2において、TSCR命令を実行する。このとき、
タスク601によるTSCR命令によって、この同期制
御情報中のロックビットは“1”にセットされており、
タスク602のCS実行は妨げられる。すなわち、分岐
命令の実行において、タスク602はスピンロックの状
態となる。
On the other hand, the task 602 also checks the lock bit in the synchronization control information in the CR area of CR # 3,
At OP2, a TSCR instruction is executed. At this time,
The lock bit in the synchronization control information is set to "1" by the TSCR instruction by the task 601.
CS execution of task 602 is prevented. That is, in the execution of the branch instruction, the task 602 enters a spin lock state.

【0033】タスク601は、当該CSの実行を終了す
ると、CRライト命令(CRに対して書込みを行う命
令)を実行し、CR#3のロックビットを“0”にセッ
トする。
After completing the execution of the CS, the task 601 executes a CR write instruction (an instruction for writing to the CR) and sets the lock bit of CR # 3 to "0".

【0034】一方、タスク602は、タスク601が先
にCSを実行しているために、TSCR−分岐というル
ープを実行し、そのCSが解放されるまでスピンロック
の状態で待っている。
On the other hand, the task 602 executes a loop called TSCR-branch because the task 601 has executed CS first, and waits in a spin lock state until the CS is released.

【0035】そして、タスク602は、タスク601が
CRライト命令の実行でCR#3のロックビットを
“0”にセットした時に、CSの使用権を取得し、CS
の実行を開始する。
When the task 601 sets the lock bit of CR # 3 to “0” by executing the CR write instruction, the task 602 acquires the right to use CS, and
Start running.

【0036】ところで、本発明が対象としている並列処
理プログラムの規模が小さいと、タスクの粒度(単一タ
スクの処理量の大きさ)が小さくなることが多い。する
と、タスクの開始/終了の頻度が高くなり、タスク間で
共有されるCSの取得/解放が頻繁に行われる。そのC
Sは、それほど多くない複数のCPUが共有しているこ
とが実際には多いので、共有資源取得要求の衝突が発生
する可能性は低い。よって、1回目のTSCR命令でC
Sの取得が行われる可能性が高い。
By the way, when the scale of the parallel processing program targeted by the present invention is small, the granularity of a task (the size of the processing amount of a single task) often decreases. Then, the frequency of the start / end of the task becomes high, and the CS shared between the tasks is frequently acquired / released. That C
Since S is actually shared by not so many CPUs, it is unlikely that a collision of shared resource acquisition requests will occur. Therefore, in the first TSCR instruction, C
There is a high possibility that acquisition of S will be performed.

【0037】そのため、CSの取得を待って起動するタ
スクの起動時間が、TSCR命令のリプライが帰ってく
る時間となって全体のプログラム性能に効いてくる。よ
って、TSCR命令のリプライ時間短縮が並列プログラ
ムの性能向上、特に、タスクの粒度の小さいプログラム
の性能向上に大きく貢献するという性能評価結果が報告
されている。
Therefore, the activation time of the task activated after the acquisition of the CS is the time when the reply of the TSCR instruction returns, which affects the overall program performance. Therefore, it has been reported that the performance evaluation result that the shortening of the reply time of the TSCR instruction greatly contributes to the improvement of the performance of the parallel program, particularly to the improvement of the performance of the program having a small task granularity.

【0038】また、タスクの粒度が小さくなる傾向は、
プログラム上の性質(アルゴリズム),並列プログラミ
ング技術,および並列化コンパイラの能力に大きく依存
する。従来の並列処理研究のテーマの重要なものの1つ
として、タスクの粒度を大きくして同期処理のオーバー
ヘッドを小さくし、並列処理性能を向上させる手法の確
立がある。しかし、残念ながら、少なくともこの研究成
果を活かせる程の技術力を持ったプログラマは非常に限
られている。よって、世の中に存在する並列処理プログ
ラムのほとんどはタスクの粒度が小さく、そのプログラ
ム性能のネックが上述のようにCRアクセス時間になる
ということが概ねいえる。
The tendency that the granularity of a task becomes smaller is as follows.
It largely depends on the nature of the program (algorithm), the parallel programming technology, and the capabilities of the parallelizing compiler. One of the important themes of the conventional parallel processing research is the establishment of a technique for increasing the granularity of a task, reducing the overhead of synchronous processing, and improving the parallel processing performance. Unfortunately, however, there are very few programmers with the technical skills to at least take advantage of this research. Therefore, it can be generally said that most of the parallel processing programs existing in the world have small task granularity, and the bottleneck of the program performance is the CR access time as described above.

【0039】[0039]

【発明が解決しようとする課題】上述のように、従来技
術における「CR同期制御方式が採用されるマルチプロ
セッサ」においては、CRアクセス要求(上述のTSC
R命令やCRライト命令およびCRリード命令による要
求)のアクセス時間が長くなることで、特にタスクの粒
度が小さい並列処理プログラム(上述のように、現実の
並列処理プログラムはタスクの粒度の小さいプログラム
が多い)の性能に関して、同期処理のオーバーヘッドが
大きくなるという問題点があった。
As described above, in the prior art "multiprocessor employing the CR synchronization control method", a CR access request (the above-described TSC
Since the access time of the R instruction, the CR write instruction, and the request by the CR read instruction becomes longer, a parallel processing program with a small task granularity (as described above, an actual parallel processing program is a program with a small task granularity) ), There is a problem that the overhead of the synchronization process increases.

【0040】また、上記の問題点を軽減するために同期
処理を隠すべく並列処理プログラムのタスクの粒度を大
きくするためには、高度なコンパイルの最適化技術,高
度なプログラミング技術,および並列アルゴリズムの開
発が必要である。しかし、それらの技術を使いこなすユ
ーザ(プログラマ)は非常に限られている。
Further, in order to increase the granularity of the tasks of the parallel processing program so as to hide the synchronous processing in order to reduce the above-mentioned problems, it is necessary to use advanced compile optimization techniques, advanced programming techniques, and parallel algorithms. Development is required. However, users (programmers) who master these techniques are very limited.

【0041】本発明の目的は、上述の点に鑑み、タスク
の粒度を大きくするための特珠な技術を使うことなく並
列処理プログラムの同期処理による性能低下を回避する
こと(並列処理プログラムの性能低下の主な原因であ
る、CRアクセス性能のリプライ速度を見掛け上向上さ
せること)ができるマルチプロセッサ(CR同期制御方
式が採用されるマルチプロセッサ)を提供することにあ
る。
In view of the above, it is an object of the present invention to avoid performance degradation caused by synchronous processing of a parallel processing program without using a special technique for increasing the granularity of a task (performance of a parallel processing program). It is an object of the present invention to provide a multiprocessor (a multiprocessor adopting a CR synchronous control method) that is capable of apparently improving a reply speed of CR access performance, which is a main cause of the decrease.

【0042】上述の目的を達成するために、本発明で
は、以下の基本的な考え方を採用している。すなわち、
CSの排他制御に関する情報は、同期制御情報中のロッ
ク情報によって示される。そこで、同期待ちタスクがそ
のロック情報さえ高速に認識することができれば、同期
待ちタスクの再起動が早くなり、並列処理プログラムの
性能の向上に大きく寄与する。そのために、ロック情報
のみを通常のCRよりもアクセス速度の早い素子に保存
し、同期制御情報全体のリプライデータより早く、ロッ
ク情報のみをCRアクセス要求を発したCPUに返す。
In order to achieve the above object, the present invention employs the following basic concept. That is,
Information regarding CS exclusive control is indicated by lock information in the synchronization control information. Therefore, if the synchronization waiting task can recognize even the lock information at high speed, the restart of the synchronization waiting task is quick, which greatly contributes to the improvement of the performance of the parallel processing program. Therefore, only the lock information is stored in an element having an access speed higher than that of a normal CR, and only the lock information is returned to the CPU that issued the CR access request earlier than the reply data of the entire synchronization control information.

【0043】[0043]

【課題を解決するための手段】本発明のマルチプロセッ
サは、CR同期制御方式が採用されるマルチプロセッサ
において、各CSに対応する同期制御情報を各CR領域
に保持するCRユニット内のCR本体と、前記CR本体
よりもアクセス速度の速い素子で構成されており、前記
CR本体内の各CR領域内の同期制御情報中のロック情
報のみを保持するCRユニット内のロック情報保持部
(図1および図2中のロックビットレジスタに相当する
部)と、前記ロック情報保持部内の各ロック情報が取得
されているか否かを示す情報を保持するCRユニット内
のCR取得情報保持部(図1および図2中のCR取得情
報レジスタに相当する部)と、CRユニットに対してC
Rアクセス要求を発行し、当該CRアクセス要求に対す
るロック情報のみを当該CRアクセス要求に対する同期
制御情報全体よりも先に受け取り、当該ロック情報がC
Sの使用許可を示す情報である場合には当該CSを使用
した処理の実行を開始する各CPUと、前記各CPUか
らのCRアクセス要求を受けて、当該CRアクセス要求
の要求対象のCR領域内の同期制御情報中のロック情報
のみを当該同期制御情報全体のリプライデータよりも速
いタイミングで前記各CPUに返す制御を行うCRユニ
ット内のCR制御部とを有する。
According to the present invention, there is provided a multiprocessor employing a CR synchronous control system, comprising: a CR main unit in a CR unit for holding synchronous control information corresponding to each CS in each CR area; , A lock information holding unit in a CR unit that holds only lock information in synchronization control information in each CR area in the CR body (FIG. 1). 2 and a CR acquisition information holding unit (FIGS. 1 and 2) in a CR unit that holds information indicating whether or not each lock information in the lock information holding unit has been acquired. 2) and a CR unit for the CR unit.
An R access request is issued, and only the lock information for the CR access request is received before the entire synchronization control information for the CR access request.
If the information indicates permission to use S, each CPU that starts execution of the process using the CS, and a CR access request from each CPU, receives a CR access request from the CR area, and And a CR control unit in a CR unit that controls to return only the lock information in the synchronization control information to each CPU at a timing earlier than the reply data of the entire synchronization control information.

【0044】[0044]

【発明の実施の形態】次に、本発明の実施の形態につい
て、図面を参照して詳細に説明する。
Next, an embodiment of the present invention will be described in detail with reference to the drawings.

【0045】[0045]

【実施例】図1は、本発明の一実施例に係るマルチプロ
セッサの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a multiprocessor according to an embodiment of the present invention.

【0046】本実施例のマルチプロセッサは、複数(こ
こでは、n+1)のCPU100−0〜100−n(以
下、任意のCPUを示すときは符号「100」で示す。
他の符号についても同様)と、n+1本の信号線200
と、n+1本のデータ線300と、n+1本の信号線4
00と、n+1本のデータ線500と、複数のCPU1
によって共有されているCRユニット600と、n+1
本の信号線700と、メモリ800と、n+1本の信号
線900とを含んで構成されている。
The multiprocessor of this embodiment has a plurality (here, n + 1) of CPUs 100-0 to 100-n (hereinafter, an arbitrary CPU is denoted by reference numeral "100").
The same applies to other codes), and n + 1 signal lines 200
, N + 1 data lines 300 and n + 1 signal lines 4
00, n + 1 data lines 500, and a plurality of CPUs 1
CR unit 600 shared by n + 1
It is configured to include three signal lines 700, a memory 800, and n + 1 signal lines 900.

【0047】各CPU100は、CRユニット600に
対してCRアクセス要求を発行し、そのCRアクセス要
求に対してCRユニット600からCRリプライロック
ビットを受け取った際に、同時に受け取ったCRリプラ
イロックビットVビットによって当該CRリプライロッ
クビットの有効性を確認した上で、当該CRリプライロ
ックビットに基づき当該CRアクセス要求に係るCSが
使用可能であるか否かを判定し、「使用可能」であると
判定した場合にはそのCSを取得して当該CRアクセス
要求に係る処理の実行を開始する。
Each CPU 100 issues a CR access request to CR unit 600, and upon receiving a CR reply lock bit from CR unit 600 in response to the CR access request, simultaneously receives a CR reply lock bit V bit After confirming the validity of the CR reply lock bit, it is determined based on the CR reply lock bit whether or not the CS associated with the CR access request is usable, and is determined to be “usable”. In this case, the CS is acquired and the execution of the process related to the CR access request is started.

【0048】各CPU100からは、各信号線200を
介して、CRユニット600にCRアクセス要求(TS
CR命令,CRライト命令,およびCRリード命令によ
る要求)が送出される。また、CRアクセス要求に係る
命令がTSCR命令またはCRライト命令の場合には、
各CPU100から各データ線300を介してCRユニ
ット600にCR書込みデータが送られる。ここでは、
CRユニット600に対するCR書込みデータは、半分
づつ折り畳んで2回に分けて発行されるものとする。
Each CPU 100 sends a CR access request (TS
(A request by a CR command, a CR write command, and a CR read command). If the instruction related to the CR access request is a TSCR instruction or a CR write instruction,
CR write data is sent from each CPU 100 to the CR unit 600 via each data line 300. here,
It is assumed that CR write data for the CR unit 600 is folded in half and issued twice.

【0049】TSCR命令またはCRリード命令によっ
て各CPU100がCRユニット600から同期制御情
報を読む場合には、各信号線400を介してロックビッ
トが先出しされ、後に各データ線500を介して全ての
CR読出しデータが送られる。また、そのリプライ(ロ
ックビットまたは全てのCR読出しデータ)をCR60
0から各CPU100に対して送るために、各信号線7
00でタイミング信号(リプライ制御信号)が送出され
る。
When each CPU 100 reads the synchronization control information from the CR unit 600 by the TSCR instruction or the CR read instruction, the lock bit is advanced through each signal line 400, and all the CR bits are subsequently transmitted through each data line 500. Read data is sent. The reply (lock bit or all CR read data) is transferred to CR60.
0 to each CPU 100, each signal line 7
At 00, a timing signal (reply control signal) is transmitted.

【0050】各CPU100は、メモリ800を共有し
ており、各信号線900によってメモリ800にアクセ
スすることが可能である。ただし、メモリ800へのア
クセス速度は、CRユニット600へのアクセス速度と
比較すると遅い。
Each CPU 100 shares the memory 800, and can access the memory 800 by each signal line 900. However, the access speed to the memory 800 is lower than the access speed to the CR unit 600.

【0051】複数のCPU100からは、他のCPU1
00の状態とは無関係にCRアクセス要求を発行するこ
とができる。なお、ここでは、説明を簡単化するため、
あるCPU100からは1リクエスト−1リプライでC
Rアクセス要求が発行されるものとする。ただし、1リ
クエスト−1リプライに限定されない場合にも、各CP
U100またはCRユニット600にバッファを設ける
ことによって対処することができる。
From the plurality of CPUs 100, other CPUs 1
A CR access request can be issued regardless of the state of 00. Note that here, for simplicity of explanation,
From a certain CPU 100, 1 request-1 reply C
Assume that an R access request is issued. However, each CP is not limited to one request and one reply.
This can be dealt with by providing a buffer in the U100 or the CR unit 600.

【0052】図2は、本実施例のマルチプロセッサにお
いて特徴的な構造を有するCRユニット600の構成の
一例を示す図である。
FIG. 2 is a diagram showing an example of the configuration of a CR unit 600 having a characteristic structure in the multiprocessor of this embodiment.

【0053】CRユニット600は、各CPU100に
対応する各CRアクセスリクエストレジスタ1と、各C
PU100に対応する各CR書込みデータ受付けレジス
タ2と、各CPU100に対応する各CR書込みデータ
保持レジスタ3と、CRアドレスレジスタ4と、CR書
込みデータレジスタ5と、CR本体6と、CR読出しデ
ータレジスタ7と、ロック情報保持部に相当するロック
ビットレジスタ8と、CR取得情報保持部に相当するC
R取得情報レジスタ9と、CR制御部10と、各CPU
100に対応する各CRリプライロックビットVビット
F/F11と、各CPU100に対応する各CRリプラ
イロックビットF/F12と、各CPU100に対応す
る各CRリプライデータVビットレジスタ13と、各C
PU100に対応する各CRリプライデータレジスタ1
4と、セレクタ15〜17とを含んで構成されている。
The CR unit 600 includes: a CR access request register 1 corresponding to each CPU 100;
Each CR write data reception register 2 corresponding to the PU 100, each CR write data holding register 3, corresponding to each CPU 100, a CR address register 4, a CR write data register 5, a CR body 6, and a CR read data register 7 And a lock bit register 8 corresponding to a lock information holding unit, and a C bit corresponding to a CR acquisition information holding unit.
R acquisition information register 9, CR control unit 10, each CPU
100, each CR reply lock bit F / F12 corresponding to each CPU 100, each CR reply data V bit register 13 corresponding to each CPU 100, and each C reply lock bit F / F12 corresponding to each CPU 100.
Each CR reply data register 1 corresponding to PU100
4 and selectors 15 to 17.

【0054】CRアクセスリクエストレジスタ1は、信
号線を介して対応するCPU100からのCRアクセス
要求に係るリクエスト制御情報を格納するレジスタであ
る。そのリクエスト制御情報の内容は、有効ビット(有
効なリクエスト制御情報が存在するか否かを示すビッ
ト)と、リクエストコマンド(CRアクセス要求の命令
の種類を示す情報)と、CRアドレス(CRアクセス要
求の要求対象のCR内のCR領域を特定する情報)とか
らなる。CRアクセスリクエストレジスタ1内のリクエ
スト制御情報は、そのリクエスト制御情報に係るCRア
クセス要求がCRユニット600によって処理されるま
で保持される。その保持の指示は、CR制御部10から
信号線を介して行われる。
The CR access request register 1 is a register for storing request control information relating to a CR access request from the corresponding CPU 100 via a signal line. The contents of the request control information include a valid bit (a bit indicating whether or not valid request control information exists), a request command (information indicating the type of the command of the CR access request), and a CR address (CR access request). (Information for specifying the CR area in the CR to be requested). The request control information in the CR access request register 1 is held until the CR unit 600 processes the CR access request related to the request control information. The holding instruction is issued from the CR control unit 10 via a signal line.

【0055】CR書込みデータ受付けレジスタ2は、C
Rアクセス要求に係るCR書込みデータを受け付けるレ
ジスタである。本発明を採用するとCRリプライデータ
の一部のアクセスタイムが改善されるため、CR書込み
データ等はハードウェアコストダウンを考えて、1ワー
ドをU(Upper)側とL(Lower)側とに分け
て2サイクルで送る制御を行っても影響はない。したが
って、CR書込みデータ受付けレジスタ2は、1/2ワ
ードのデータを受け付けて格納する。
The CR write data receiving register 2 stores C
This register accepts CR write data related to the R access request. According to the present invention, since the access time of a part of the CR reply data is improved, one word is divided into the U (Upper) side and the L (Lower) side for the CR write data in consideration of hardware cost reduction. There is no effect even if control is performed in two cycles. Therefore, CR write data receiving register 2 receives and stores 1/2 word data.

【0056】CR書込みデータ保持レジスタ3は、CR
書込みデータ受付けレジスタ2の内容をU側/L側そろ
えて1ワード分格納するバッファであり、そのCR書込
みデータに係るCRアクセス要求の処理が終了するまで
その内容を保持する。その保持の指示は、CR制御部1
0から信号線を介して行われる。
The CR write data holding register 3 stores the CR
This buffer stores the contents of the write data reception register 2 for one word, aligned with the U side / L side, and holds the contents until the processing of the CR access request related to the CR write data is completed. The holding instruction is issued by the CR control unit 1.
This is performed from 0 through a signal line.

【0057】CRアドレスレジスタ4は、セレクタ15
を介して、所定のCRアクセスリクエストレジスタ1内
のリクエスト制御情報中のCRアドレスを取り込んで格
納する。
The CR address register 4 includes a selector 15
, The CR address in the request control information in the predetermined CR access request register 1 is fetched and stored.

【0058】CR書込みデータレジスタ5は、セレクタ
16を介して、所定のCR書込みデータ保持レジスタ3
の内容を取り込んで格納する。
The CR write data register 5 is provided with a predetermined CR write data holding register 3 via a selector 16.
Fetch and store the contents of

【0059】ここで、「所定の」CRアクセスリクエス
トレジスタ1またはCR書込みデータ保持レジスタ3を
指定するためのセレクタ15またはセレクタ16に対す
る制御は、信号線を介するCR制御部10からの指示で
行われる。
Here, the control of the selector 15 or the selector 16 for designating the “predetermined” CR access request register 1 or the CR write data holding register 3 is performed by an instruction from the CR control unit 10 via a signal line. .

【0060】CR本体6は、64ビット×256ワード
(このような数値に限定されるものでないことはいうま
でもない)のデータが格納されているRAM(Rand
omAccess Memory)である。各CR領域
(1ワード分の領域)には、全てのビットを有する同期
制御情報が保持されている。
The CR body 6 has a RAM (Rand) storing data of 64 bits × 256 words (not to mention limited to such numerical values).
omAccess Memory). Each CR area (an area for one word) holds synchronization control information having all bits.

【0061】CR読出しデータレジスタ7は、CRアド
レスレジスタ4で指示されたCRアドレスで特定される
CR本体6内のCR領域の値(同期制御情報)を格納す
るレジスタである。
The CR read data register 7 is a register for storing a value (synchronization control information) of a CR area in the CR body 6 specified by the CR address specified by the CR address register 4.

【0062】ロックビットレジスタ8は、1ビット×2
56ワードのF/F群であり、CR本体6の各ワードに
対応する各F/Fによって構成される。RAMであるC
R本体6と異なり、アクセス速度が早く、1サイクルで
各CPU100へのリプライ出口にデータを送り込むこ
とができる。
The lock bit register 8 is 1 bit × 2
It is an F / F group of 56 words, and is constituted by each F / F corresponding to each word of the CR body 6. C which is RAM
Unlike the R main body 6, the access speed is high, and data can be sent to the reply exit to each CPU 100 in one cycle.

【0063】CR取得情報レジスタ9は、1ビット×2
56ワードのF/F群であり、CR本体6の各ワードに
対応する各F/Fによって構成される。複数のCPU1
00からのCRアクセス要求によるロックビットの読出
しの制御が同時に処理されないようにタイミングを調停
するための制御情報(CR取得情報)を有する。
The CR acquisition information register 9 is 1 bit × 2
It is an F / F group of 56 words, and is constituted by each F / F corresponding to each word of the CR body 6. Multiple CPUs 1
It has control information (CR acquisition information) for arbitrating the timing so that the control of reading the lock bit by the CR access request from 00 is not processed at the same time.

【0064】CR制御部10は、CRユニット600の
内部の統括的な制御を行う。
The CR control unit 10 performs overall control of the inside of the CR unit 600.

【0065】CRリプライロックビットVビットF/F
11は、対応するCPU100への有効なリプライとし
てのCRロックビットが存在するか否かを示すフラグ
(CRリプライロックビットVビット)を保持するF/
Fである。本フラグの点灯時(有効なCRリプライロッ
クビットが存在することを示す情報が設定されている
時)には、そのCRリプライロックビットVビットF/
F11と対応するCRリプライロックビットF/F12
に有効なデータが存在することが示される。
CR reply lock bit V bit F / F
F / 11 holds a flag (CR reply lock bit V bit) indicating whether or not a CR lock bit as a valid reply to the corresponding CPU 100 exists.
F. When this flag is lit (when information indicating that a valid CR reply lock bit is present is set), the CR reply lock bit V bit F /
CR reply lock bit F / F12 corresponding to F11
Indicates that valid data exists.

【0066】CRリプライロックビットF/F12は、
対応するCPU100に対して先出しするロックビット
(ロック情報)を格納するためのF/Fであり、信号線
を介してロックビットレジスタ8から読み出された値を
保持する。この転送(ロックビットレジスタ8からCR
リプライロックビットF/F12へのロックビットの転
送)は、同一のCRアドレスに係るロックビットでなけ
れば、同時に行うことができる。
The CR reply lock bit F / F12 is
This is an F / F for storing a lock bit (lock information) previously sent to the corresponding CPU 100, and holds a value read from the lock bit register 8 via a signal line. This transfer (lock bit register 8 to CR
The transfer of the lock bit to the reply lock bit F / F12) can be performed simultaneously unless the lock bits are related to the same CR address.

【0067】CRリプライデータVビットF/F13
は、対応するCPU100への有効なリプライとしての
CRリプライデータが存在するか否かを示すフラグ(C
RリプライデータVビット)を保持するF/Fである。
本フラグの点灯時(有効なCRリプライデータが存在す
ることを示す情報が設定されている時)には、そのCR
リプライデータVビットF/F13と対応するCRリプ
ライデータレジスタ14に有効なデータが存在すること
が示される。
CR reply data V bit F / F13
Is a flag (C indicating whether or not CR reply data as a valid reply to the corresponding CPU 100 exists.
F / F holding R reply data (V bits).
When this flag is lit (when information indicating that valid CR reply data exists) is set,
This indicates that valid data exists in the CR reply data register 14 corresponding to the reply data V bit F / F13.

【0068】CRリプライデータレジスタ14は、対応
するCPU100に対するCRリプライデータとしての
CR読出しデータ(全てのビットを有する同期制御情
報)を保持するレジスタである。ロックビットレジスタ
8と異なる点は、アクセス速度が遅い点と、CRアドレ
スが異なっても1サイクルに1個のリプライデータしか
読むことができない点とである。CRリプライデータレ
ジスタ14では、CR読出しデータレジスタ7に読み出
されたCR読出しデータをU側/L側の2回に分割して
CPU100に対しCRリプライデータとして送る制御
が行われる。U側/L側の選択の制御は、セレクタ17
によって行われる。
The CR reply data register 14 is a register for holding CR read data (synchronous control information having all bits) as CR reply data for the corresponding CPU 100. The difference from the lock bit register 8 is that the access speed is low and that only one piece of reply data can be read in one cycle even if the CR address is different. The CR reply data register 14 controls to divide the CR read data read into the CR read data register 7 into two parts, U side / L side, and send it to the CPU 100 as CR reply data. The selection of the U side / L side is controlled by the selector 17.
Done by

【0069】セレクタ15は、先にも言及したように、
CR制御部10からの指示に基づきn+1のCRアドレ
スの中から1つのCRアドレスを選択するセレクタであ
る。
The selector 15, as mentioned above,
This is a selector for selecting one CR address from n + 1 CR addresses based on an instruction from the CR control unit 10.

【0070】セレクタ16は、先にも言及したように、
CR制御部10からの指示に基づきn+1のCR書込み
データ(U側またはL側)の中から1つのCR書込みデ
ータを選択するセレクタである。
The selector 16 is, as mentioned above,
A selector for selecting one CR write data from n + 1 CR write data (U side or L side) based on an instruction from the CR control unit 10.

【0071】セレクタ17は、先にも言及したように、
CR読出しデータのU側とL側との中から1つを選択す
るセレクタである。
The selector 17 is, as mentioned above,
This is a selector for selecting one of the U side and the L side of the CR read data.

【0072】図3および図4は、本実施例のマルチプロ
セッサの具体的な動作を説明するためのタイムチャート
を示す図である。
FIGS. 3 and 4 are time charts for explaining a specific operation of the multiprocessor of this embodiment.

【0073】次に、このように構成された本実施例のマ
ルチプロセッサの動作について、図3および図4に基づ
いて説明する。なお、CRユニット600における以下
に示す動作の統括的な制御は、明示しない場合でもCR
制御部10によって行われる。
Next, the operation of the multiprocessor of this embodiment thus configured will be described with reference to FIGS. It should be noted that the overall control of the following operation in the CR unit 600 is performed even if the CR unit 600 is not specified.
This is performed by the control unit 10.

【0074】第1に、図3を参照して、複数のCPU1
00からの同一のCRアドレスのCR領域に対するCR
アクセス要求が競合した場合の動作について説明する。
First, referring to FIG. 3, a plurality of CPUs 1
CR for CR area of same CR address from 00
The operation when access requests conflict will be described.

【0075】図3に示すように、TSCR命令によるC
Rアクセス要求(同一のCRアドレスのCR領域に対す
るCRアクセス要求)がCPU100−0とCPU10
0−1とからCRユニット600に到達し、そのうちC
PU100−0からのCRアクセス要求の方が1サイク
ル早くサイクルで到達した場合を想定する。
As shown in FIG. 3, C by the TSCR instruction
An R access request (a CR access request for a CR area having the same CR address) is transmitted between the CPU 100-0 and the CPU 10.
From 0-1 to the CR unit 600, where C
It is assumed that a CR access request from PU 100-0 arrives one cycle earlier in a cycle.

【0076】CPU100−0は、TSCR命令による
CRアクセス要求を発行する。このTSCR命令のCR
アドレスの指定は“#3”である。
The CPU 100-0 issues a CR access request based on the TSCR instruction. CR of this TSCR instruction
The designation of the address is “# 3”.

【0077】一方、CPU100−1も、1サイクル遅
れて、CRアドレスの指定が“#3”であるTSCR命
令によるCRアクセス要求を発行する。
On the other hand, the CPU 100-1 also issues a CR access request by a TSCR instruction having a CR address designation of "# 3" one cycle later.

【0078】サイクルでCRユニット600内のCR
アクセスレジスタ1−0に到達したCPU100−0か
らのCRアクセス要求のリクエスト制御情報は、その後
のCR本体6へのアクセス処理のためにサイクルまで
CRアクセスレジスタ1−0に保持される。
In the cycle, the CR in the CR unit 600
The request control information of the CR access request from the CPU 100-0 that has reached the access register 1-0 is held in the CR access register 1-0 until the cycle for the subsequent access processing to the CR body 6.

【0079】また、そのCRアクセス要求に係るCR書
込みデータは、U側/L側の2回に分割されてCPU1
00−0からCR書込みデータ受付けレジスタ2−0に
転送され、サイクルおよびのタイミングでCR書込
みデータ受付けレジスタ2−0に格納される。
Further, the CR write data relating to the CR access request is divided into two times on the U side / L side and
From 00-0, the data is transferred to the CR write data receiving register 2-0, and stored in the CR write data receiving register 2-0 at the timing of the cycle.

【0080】さらに、そのCR書込みデータは、CR書
込みデータ保持レジスタ3−0に格納され、CRアクセ
ス要求のリクエスト制御情報の保持と同じ理由でサイク
ルまで保持される。
Further, the CR write data is stored in the CR write data holding register 3-0, and is held until the cycle for the same reason as holding the request control information of the CR access request.

【0081】同様に、サイクルでCRユニット600
内のCRアクセスレジスタ1−1に到達したCPU10
0−1からのCRアクセス要求のリクエスト制御情報
は、その後のCR本体6へのアクセス処理のためにサイ
クルまでCRアクセスレジスタ1−1に保持される。
Similarly, in the cycle, the CR unit 600
CPU 10 that has reached CR access register 1-1
The request control information of the CR access request from 0-1 is held in the CR access register 1-1 until the cycle for the subsequent access processing to the CR body 6.

【0082】また、そのCRアクセス要求に係るCR書
込みデータは、U側/L側の2回に分割されてCPU1
00−1からCR書込みデータ受付けレジスタ2−1に
転送され、サイクルおよびのタイミングでCR書込
みデータ受付けレジスタ2−1に格納される。
Further, the CR write data relating to the CR access request is divided into two times on the U side / L side and
00-1 is transferred to the CR write data reception register 2-1 and stored in the CR write data reception register 2-1 at the cycle and timing.

【0083】さらに、そのCR書込みデータは、CR書
込みデータ保持レジスタ3−1に格納され、CRアクセ
ス要求のリクエスト制御情報の保持と同じ理由でサイク
ルまで保持される。
Further, the CR write data is stored in the CR write data holding register 3-1 and is held until the cycle for the same reason as the holding of the request control information of the CR access request.

【0084】なお、本実施例では、上述のように、ある
CPU100からのCRアクセス要求は1リクエスト−
1リプライ方式で制御されるため、保持されたリクエス
ト制御情報やCR書込みデータが後続のCRアクセス要
求によって破壊される心配はない(なお、1リクエスト
−1リプライ方式以外の制御方式が採用される場合に
は、バッファを用意して上記の「破壊」を防ぐことがで
きる)。
In this embodiment, as described above, a CR access request from a certain CPU 100 is one request-
Since the control is performed by the one-reply method, there is no fear that the retained request control information and the CR write data are destroyed by the subsequent CR access request (when a control method other than the one-request-one-reply method is employed). A buffer can be provided to prevent the "destruction" described above.)

【0085】以上のように、CPU100−1からのC
Rアクセス要求は、CPU100−0からのCRアクセ
ス要求より1サイクル遅かったため、CPU100−0
のCRアクセス要求に関する処理が行われている間にリ
クエスト制御情報だけが保持されて自己のCRアクセス
要求に関する処理の開始を待つ状態となる。
As described above, C from the CPU 100-1
Since the R access request was one cycle later than the CR access request from the CPU 100-0, the CPU 100-0
While the process related to the CR access request is being performed, only the request control information is held, and the process waits for the start of the process related to the own CR access request.

【0086】また、CPU100−0からのCRアクセ
ス要求に関する処理がCPU100−1からのCRアク
セス要求に関する処理に対して優先されるので、CR制
御部10はCPU100−0からのCRアクセス要求の
到着を契機としてCR取得情報レジスタ9の#3のF/
F(CR本体6内の#3のCRアドレスに対応するF/
F)のセットをサイクルで行う。この動作によって、
同じCRアドレス(#3)のCR領域をアクセスするC
PU100−1からのCRアクセス要求に関する処理と
の競合を調停する。すなわち、CPU100−0からの
TSCR命令のCRアクセス要求の処理期間であるサイ
クル〜では、CR取得情報レジスタ9の#3のF/
F(図3では「CR取得F/FCR#3」で示す)がセ
ットされ、サイクルでリセットされる。このリセット
状態を見て、CPU100−1からのCRアクセス要求
に関する処理が開始され、サイクル〜でCR取得F
/FCR#3がセットされる。
Further, since the processing related to the CR access request from the CPU 100-0 has priority over the processing related to the CR access request from the CPU 100-1, the CR control unit 10 determines whether the CR access request from the CPU 100-0 has arrived. As an opportunity, F / # 3 of CR acquisition information register 9
F (F / F corresponding to # 3 CR address in CR body 6)
The setting of F) is performed in a cycle. By this operation,
C that accesses the CR area of the same CR address (# 3)
It arbitrates contention with the processing related to the CR access request from the PU 100-1. That is, in the cycle, which is the processing period of the CR access request of the TSCR instruction from the CPU 100-0, the F / F
F (indicated by “CR acquisition F / FCR # 3” in FIG. 3) is set and reset in a cycle. Upon seeing this reset state, the processing relating to the CR access request from the CPU 100-1 is started, and the CR acquisition F
/ FCR # 3 is set.

【0087】一方、サイクルでは、CRアドレスが#
3であるCR領域の同期制御情報中のロックビットをC
PU100−0に対して送り出す用意が早くもできてい
る。すなわち、ロックビットレジスタ8内の#3のF/
F(図3では「CRロックビットF/FCR#3」で示
す)の値がCRリプライロックビットF/F12−0に
対して転送され、そのロックビットの有効性をCPU1
00−0に認識させるためのCRリプライロックビット
VビットのCRリプライロックビットVビットF/F1
1−0へのセットも完了している。このようにして、本
実施例、ひいては本発明の目的とする「ロック情報に関
するリプライをより早くCPUに返す」ための制御が実
現される。
On the other hand, in the cycle, the CR address is #
The lock bit in the synchronization control information of the CR area 3
Ready to send to PU100-0. That is, the F / F of # 3 in the lock bit register 8
The value of F (indicated by "CR lock bit F / FCR # 3" in FIG. 3) is transferred to CR reply lock bit F / F12-0, and the validity of the lock bit is determined by CPU1.
CR reply lock bit V bit F / F1 of CR reply lock bit V bit for recognizing 00-0
The setting to 1-0 has also been completed. In this manner, the control for "returning the reply regarding the lock information to the CPU earlier", which is the object of the present embodiment and the present invention, is realized.

【0088】CPU100−0は、CRユニット600
から受け取ったCRリプライロックビットについて、同
時に受け取ったCRリプライロックビットVビットによ
って有効性を確認した上で、そのロックビットが0であ
るか1であるかを判定する。そして、そのロックビット
が0である場合には、当該CRアクセス要求に関するC
Sが使用可能であることを認識し、そのCSを取得して
当該CRアクセス要求に関する処理の実行を開始する。
また、そのロックビットが1である場合には、当該CR
アクセス要求に関するCSが使用不可能であることを認
識し、スピンロックの状態となる。
The CPU 100-0 has a CR unit 600.
The validity of the CR reply lock bit received from is checked by the CR reply lock bit V bit received at the same time, and it is determined whether the lock bit is 0 or 1. Then, when the lock bit is 0, the C related to the CR access request is
Recognizing that S is usable, it acquires the CS and starts executing the process related to the CR access request.
If the lock bit is 1, the CR
It recognizes that the CS relating to the access request is unusable, and enters a spin lock state.

【0089】その後のサイクル〜では、CPU10
0−0に対するロックビット以外の同期制御情報の全て
を含むCRリプライデータに関する制御が行われる。
In the subsequent cycles, the CPU 10
Control regarding CR reply data including all of the synchronization control information other than the lock bit for 0-0 is performed.

【0090】まず、CRアドレスが#3であるCR領域
の値(同期制御情報)をCR本体6から読み出すための
処理が行われる。CRアクセスリクエストレジスタ1−
0に保持されているリクエスト制御情報中のCRアドレ
ス(#3)がサイクルでCRアドレスレジスタ4に格
納され、CR本体6の当該CRアドレスで特定されるC
R領域のCRデータ(同期制御情報)がCR読出しデー
タレジスタ7にサイクル〜の間保持される。2サイ
クル間保持される理由は、各CPU100からCRアク
セス要求を受け取る時と同様に、CRリプライデータを
各CPU100に返す時にもU側/L側の2回に分ける
制御を行うからである。
First, a process for reading the value (synchronization control information) of the CR area having the CR address # 3 from the CR body 6 is performed. CR access request register 1-
The CR address (# 3) in the request control information held at 0 is stored in the CR address register 4 in a cycle, and the C address specified by the CR address of the CR body 6 is
The CR data (synchronization control information) in the R area is held in the CR read data register 7 for a period of up to. The reason why the data is held for two cycles is that, similarly to the case where a CR access request is received from each CPU 100, when the CR reply data is returned to each CPU 100, the control is performed by dividing the data into two U / L sides.

【0091】CR本体6からCR読出しデータレジスタ
7に読み出されたCR読出しデータのU側/L側のデー
タは、各々、CRリプライデータレジス14−0にサイ
クルおよびで格納され、CPU100−0に対して
CRリプライデータが2回に分けて送出される。このサ
イクルおよびでは、同時にCRリプライデータの存
在(有効性)を示す信号であるCRリプライデータVビ
ットがCRリプライデータVビットF/F13−0にセ
ットされる。この段階でCPU100−0からのCRア
クセス要求に関する処理が終了する。
The U-side / L-side data of the CR read data read from the CR body 6 to the CR read data register 7 are stored in the CR reply data register 14-0 in cycles and in the CPU 100-0, respectively. On the other hand, the CR reply data is transmitted twice. In this cycle and at the same time, the CR reply data V bit, which is a signal indicating the existence (validity) of the CR reply data, is set to the CR reply data V bit F / F13-0. At this stage, the processing related to the CR access request from the CPU 100-0 ends.

【0092】次に、保留されていたCPU100−1か
らのCRアクセス要求に関する処理がサイクルから開
始される。
Next, processing related to the held CR access request from the CPU 100-1 is started from the cycle.

【0093】サイクルでリセットされたCR取得F/
FCR#3に基づき、サイクルではCRロックビット
F/FCR#3のロックビットがCRリプライロックビ
ットF/F12−1にセットされ、そのロックビットが
全ての同期制御情報(CRリプライデータ)よりも先に
CPU100−1に送られる。この送出のタイミングに
おいては、CRリプライロックビットVビットF/F1
1−1への「有効」を示すCRリプライロックビットV
ビットのセットが行われる。
CR acquisition F / reset in cycle
Based on FCR # 3, in the cycle, the lock bit of CR lock bit F / FCR # 3 is set to CR reply lock bit F / F12-1, and the lock bit is earlier than all the synchronization control information (CR reply data). Is sent to the CPU 100-1. At this transmission timing, the CR reply lock bit V bit F / F1
CR reply lock bit V indicating "valid" to 1-1
The bit is set.

【0094】また、その後に、CPU100−0に対す
る制御と同様に、CPU100−1に対しても、ロック
ビット以外のCRリプライデータが送られる。
Thereafter, similarly to the control for the CPU 100-0, CR reply data other than the lock bit is also sent to the CPU 100-1.

【0095】第2に、図4を参照して、複数のCPU1
00からの異なるCRアドレスのCR領域に対するCR
アクセス要求が競合した場合の動作について説明する。
Second, referring to FIG. 4, a plurality of CPUs 1
CR for CR area of different CR address from 00
The operation when access requests conflict will be described.

【0096】図4に示すように、TSCR命令によるC
Rアクセス要求(異なるCRアドレスのCR領域に対す
るCRアクセス要求)がCPU100−0とCPU10
0−1とからCRユニット600に到達し、そのうちC
PU100−0からのCRアクセス要求の方が1サイク
ル早くサイクルで到達した場合を想定する。
As shown in FIG. 4, C by the TSCR instruction
An R access request (a CR access request for a CR area having a different CR address) is transmitted between the CPU 100-0 and the CPU 10
From 0-1 to the CR unit 600, where C
It is assumed that a CR access request from PU 100-0 arrives one cycle earlier in a cycle.

【0097】図4に示すように、CRユニット600
に、CPU100−0からCRアドレスが“#4”であ
るCR領域へのCRアクセス要求(TSCR命令による
CRアクセス要求)がサイクルで到達し、CPU10
0−1からCRアドレスが“#5”であるCR領域への
CRアクセス要求(TSCR命令によるCRアクセス要
求)がサイクルで到達したとする。
As shown in FIG.
At this time, a CR access request (CR access request by a TSCR instruction) from the CPU 100-0 to the CR area having the CR address “# 4” arrives in a cycle, and
It is assumed that a CR access request (CR access request by a TSCR instruction) from 0-1 to a CR area having a CR address “# 5” arrives in a cycle.

【0098】この時、サイクルおよびで、各々、C
RリプライロックビットをCPU100−0とCPU1
00−1とに対して送ることができる。その理由は、C
PU100−0とCPU100−1とから到達したCR
アクセス要求のアクセス対象のCR領域が異なるからで
ある。
At this time, in the cycle and
The R reply lock bit is set between CPU100-0 and CPU1.
00-1. The reason is that C
CR arrived from PU100-0 and CPU100-1
This is because the CR area to be accessed in the access request is different.

【0099】ところが、ロックビット以外のCRリプラ
イデータはRAMであるCR本体6から読み出さなけれ
ばならないため、先行するCPU100−0からのCR
アクセス要求に関する処理が終了するまで、後続のCP
U100−1からのCRアクセス要求に関する処理を待
たせる必要がある。このことにより、CPU100−1
へのCRリプライデータの送出タイミングがサイクル
およびまで遅れてしまう。
However, since the CR reply data other than the lock bit must be read out from the CR main unit 6 which is a RAM, the CR reply data from the preceding CPU 100-0 is output.
Until the processing related to the access request ends, the subsequent CP
It is necessary to wait for the process related to the CR access request from U100-1. As a result, the CPU 100-1
The transmission timing of the CR reply data is delayed until the cycle.

【0100】しかし、本実施例、ひいては本発明では、
先に述べたように、CPU100−1に対してもロック
ビットだけはサイクルで先出しされているため、アク
セス性能の低下を免れることができる。
However, in the present embodiment, and eventually in the present invention,
As described above, since only the lock bit is advanced in the cycle for the CPU 100-1, a decrease in access performance can be avoided.

【0101】[0101]

【発明の効果】以上説明したように、本発明によると、
CRアクセス制御方式による同期制御が行われるマルチ
プロセッサにおいて、タスクの粒度の小さい並列処理プ
ログラムを実行する場合にも、同期制御に伴う性能低下
を免れることができるという効果がある。
As described above, according to the present invention,
In a multiprocessor in which synchronous control is performed by the CR access control method, even when a parallel processing program with a small task granularity is executed, there is an effect that a performance reduction due to the synchronous control can be avoided.

【0102】すなわち、CRユニット内で、ロック情報
のみの保持にF/Fのようなアクセスタイムの小さい素
子を使うことにより、回路実装の面で有利となり、ロッ
ク情報だけのリプライを早くCPUに返すことができ
る。現実のプログラムの振る舞いを調べてみると、その
ロック情報の値が何であるかが早めに判るだけで、CP
U内で同期成立を待っているタスクを早めに再起動する
ことができることが多いので、ロック情報のみの先出し
により、上述のような「同期制御に伴う性能低下を免れ
ることができる」という効果が生じることとなる。
That is, by using an element with a short access time, such as F / F, for holding only lock information in the CR unit, it is advantageous in terms of circuit mounting, and a reply with only lock information is returned to the CPU quickly. be able to. When examining the behavior of a real program, it is easy to know what the value of the lock information is.
In many cases, the task waiting for the establishment of the synchronization in the U can be restarted earlier. Therefore, the advancement of only the lock information has the effect of avoiding the performance degradation associated with the synchronization control as described above. Will occur.

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

【図1】本発明のマルチプロセッサの一実施例の構成を
示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a multiprocessor according to the present invention.

【図2】図1中のCRユニットの構成の一例を示す図で
ある。
FIG. 2 is a diagram illustrating an example of a configuration of a CR unit in FIG. 1;

【図3】複数のCPUからの同一のCRアドレスのCR
領域に対するCRアクセス要求が競合した場合の制御タ
イミングを説明するためのタイムチャートを示す図であ
る。
FIG. 3 shows a CR having the same CR address from a plurality of CPUs.
FIG. 10 is a diagram showing a time chart for explaining control timing when a CR access request for an area competes.

【図4】複数のCPUからの異なるCRアドレスのCR
領域に対するCRアクセス要求が競合した場合の制御タ
イミングを説明するためのタイムチャートを示す図であ
る。
FIG. 4 shows CRs having different CR addresses from a plurality of CPUs.
FIG. 10 is a diagram showing a time chart for explaining control timing when a CR access request for an area competes.

【図5】TSCR命令の仕様の一例を示す図である。FIG. 5 is a diagram showing an example of the specification of a TSCR instruction.

【図6】従来のマルチプロセッサ(CR同期制御方式が
採用されるマルチプロセッサ)の動作の概要を説明する
ための図である。
FIG. 6 is a diagram for describing an outline of an operation of a conventional multiprocessor (a multiprocessor employing a CR synchronization control method).

【図7】バリア同期制御方式の動作の概要を説明するた
めの図である。
FIG. 7 is a diagram for describing an outline of an operation of the barrier synchronization control method.

【符号の説明】[Explanation of symbols]

1 CRアクセスリクエストレジスタ 2 CR書込みデータ受付けレジスタ 3 CR書込みデータ保持レジスタ 4 CRアドレスレジスタ 5 CR書込みデータレジスタ 6 CR本体 7 CR読出しデータレジスタ 8 ロックビットレジスタ 9 CR取得情報レジスタ 10 CR制御部 11 CRリプライロックビットVビットF/F 12 CRリプライロックビットF/F 13 CRリプライデータVビットF/F 14 CRリプライデータレジスタ 15〜17 セレクタ 100 CPU 200,400,700,900 信号線 300,500 データ線 600 CRユニット 800 メモリ 1 CR access request register 2 CR write data reception register 3 CR write data holding register 4 CR address register 5 CR write data register 6 CR body 7 CR read data register 8 Lock bit register 9 CR acquisition information register 10 CR control unit 11 CR reply Lock bit V bit F / F 12 CR reply Lock bit F / F 13 CR reply data V bit F / F 14 CR reply data register 15-17 Selector 100 CPU 200, 400, 700, 900 Signal line 300, 500 Data line 600 CR unit 800 memory

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 CR同期制御方式が採用されるマルチプ
ロセッサにおいて、 各CSに対応する同期制御情報を各CR領域に保持する
CRユニット内のCR本体と、 前記CR本体よりもアクセス速度の速い素子で構成され
ており、前記CR本体内の各CR領域内の同期制御情報
中のロック情報のみを保持するCRユニット内のロック
情報保持部と、 前記ロック情報保持部内の各ロック情報が取得されてい
るか否かを示す情報を保持するCRユニット内のCR取
得情報保持部と、 CRユニットに対してCRアクセス要求を発行し、当該
CRアクセス要求に対するロック情報のみを当該CRア
クセス要求に対する同期制御情報全体よりも先に受け取
り、当該ロック情報がCSの使用許可を示す情報である
場合には当該CSを使用した処理の実行を開始する各C
PUと、 前記各CPUからのCRアクセス要求を受けて、当該C
Rアクセス要求の要求対象のCR領域内の同期制御情報
中のロック情報のみを当該同期制御情報全体のリプライ
データよりも速いタイミングで前記各CPUに返す制御
を行うCRユニット内のCR制御部とを有することを特
徴とするマルチプロセッサ。
1. A multiprocessor adopting a CR synchronization control method, wherein: a CR body in a CR unit for holding synchronization control information corresponding to each CS in each CR area; and an element having an access speed higher than that of the CR body. A lock information holding unit in the CR unit that holds only lock information in the synchronization control information in each CR area in the CR body; and each lock information in the lock information holding unit is acquired. A CR acquisition information holding unit in the CR unit that holds information indicating whether or not there is a lock request, issues a CR access request to the CR unit, and stores only lock information for the CR access request as a whole synchronization control information for the CR access request Earlier, and if the lock information is information indicating permission to use the CS, execution of the process using the CS is performed. Each C to start
PU, and upon receiving a CR access request from each of the CPUs,
A CR control unit in a CR unit for controlling to return only the lock information in the synchronization control information in the CR area requested by the R access request to each CPU at a timing earlier than the reply data of the entire synchronization control information. A multiprocessor comprising:
【請求項2】 ロック情報が1ビットの情報のロックビ
ットであることを特徴とする請求項1記載のマルチプロ
セッサ。
2. The multiprocessor according to claim 1, wherein the lock information is a lock bit of one bit information.
【請求項3】 CRアクセスレジスタと、CR書込みデ
ータ受付けレジスタと、CR書込みデータ保持レジスタ
と、CRアドレスレジスタと、CR書込みデータレジス
タと、CR本体と、CR読出しデータレジスタと、ロッ
ク情報保持部に相当するロックビットレジスタと、CR
取得情報保持部に相当するCR取得情報レジスタと、C
RリプライロックビットVビットF/Fと、CRリプラ
イロックビットF/Fと、CRリプライデータVビット
F/Fと、CRリプライデータレジスタと、CR制御部
とを含んで構成されているCRユニットと、 前記CRユニットに対してCRアクセス要求を発行し、
そのCRアクセス要求に対して前記CRユニットからC
Rリプライロックビットを受け取った際に、同時に受け
取ったCRリプライロックビットVビットによって当該
CRリプライロックビットの有効性を確認した上で、当
該CRリプライロックビットに基づき当該CRアクセス
要求に係るCSが使用可能であるか否かを判定し、「使
用可能」であると判定した場合にはそのCSを取得して
当該CRアクセス要求に係る処理の実行を開始する各C
PUとを有することを特徴とする請求項1記載のマルチ
プロセッサ。
3. A CR access register, a CR write data receiving register, a CR write data holding register, a CR address register, a CR write data register, a CR body, a CR read data register, and a lock information holding unit. The corresponding lock bit register and CR
A CR acquisition information register corresponding to an acquisition information holding unit;
A CR unit including an R reply lock bit V bit F / F, a CR reply lock bit F / F, a CR reply data V bit F / F, a CR reply data register, and a CR control unit; Issuing a CR access request to the CR unit;
In response to the CR access request, the CR unit
Upon receiving the R reply lock bit, the validity of the CR reply lock bit is checked by the simultaneously received CR reply lock bit V bit, and then the CS related to the CR access request is used based on the CR reply lock bit. It is determined whether it is possible or not, and if it is determined that it is “usable”, each CS that acquires the CS and starts execution of the process related to the CR access request
The multiprocessor according to claim 1, further comprising a PU.
JP8284743A 1996-10-07 1996-10-07 Multiprocessor Expired - Fee Related JP3006676B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8284743A JP3006676B2 (en) 1996-10-07 1996-10-07 Multiprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8284743A JP3006676B2 (en) 1996-10-07 1996-10-07 Multiprocessor

Publications (2)

Publication Number Publication Date
JPH10111857A true JPH10111857A (en) 1998-04-28
JP3006676B2 JP3006676B2 (en) 2000-02-07

Family

ID=17682430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8284743A Expired - Fee Related JP3006676B2 (en) 1996-10-07 1996-10-07 Multiprocessor

Country Status (1)

Country Link
JP (1) JP3006676B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009093680A1 (en) * 2008-01-25 2009-07-30 Waseda University Multiprocessor system and multiprocessor system synchronization method
JP2013137833A (en) * 2013-04-08 2013-07-11 Waseda Univ Multiprocessor system and synchronization method for multiprocessor system
JP2015127982A (en) * 2015-04-06 2015-07-09 学校法人早稲田大学 Multiprocessor system
JP2015185129A (en) * 2014-03-26 2015-10-22 三菱電機株式会社 Data processing device
JP2017062843A (en) * 2016-11-30 2017-03-30 学校法人早稲田大学 Multiprocessor system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009093680A1 (en) * 2008-01-25 2009-07-30 Waseda University Multiprocessor system and multiprocessor system synchronization method
JP2009176116A (en) * 2008-01-25 2009-08-06 Univ Waseda Multiprocessor system and method for synchronizing multiprocessor system
JP2013137833A (en) * 2013-04-08 2013-07-11 Waseda Univ Multiprocessor system and synchronization method for multiprocessor system
JP2015185129A (en) * 2014-03-26 2015-10-22 三菱電機株式会社 Data processing device
JP2015127982A (en) * 2015-04-06 2015-07-09 学校法人早稲田大学 Multiprocessor system
JP2017062843A (en) * 2016-11-30 2017-03-30 学校法人早稲田大学 Multiprocessor system

Also Published As

Publication number Publication date
JP3006676B2 (en) 2000-02-07

Similar Documents

Publication Publication Date Title
US5050070A (en) Multi-processor computer system having self-allocating processors
US5353418A (en) System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread
JP3636871B2 (en) Parallel processor system
US7603540B2 (en) Using field programmable gate array (FPGA) technology with a microprocessor for reconfigurable, instruction level hardware acceleration
US5293500A (en) Parallel processing method and apparatus
US6944850B2 (en) Hop method for stepping parallel hardware threads
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
US7996843B2 (en) Symmetric multi-processor system
US20100125717A1 (en) Synchronization Controller For Multiple Multi-Threaded Processors
JP2005284749A (en) Parallel computer
WO1990014629A2 (en) Parallel multithreaded data processing system
JPH07302200A (en) Loading instruction method of computer provided with instruction forcing sequencing loading operation and sequencing storage
US20060059489A1 (en) Parallel processing system, interconnection network, node and network control method, and program therefor
US20040117793A1 (en) Operating system architecture employing synchronous tasks
JP2007219816A (en) Multiprocessor system
KR100210205B1 (en) Apparatus and method for providing a stall cache
JPH09138778A (en) Device and method using semaphore buffer for semaphore instruction
GB2216306A (en) Load and synchronize computer architecture and process
JP3570442B2 (en) Computer
JP3006676B2 (en) Multiprocessor
JPH06318178A (en) Cache tag controller for cache tag memory and control method therefor
US7155718B1 (en) Method and apparatus to suspend and resume on next instruction for a microcontroller
US8219762B1 (en) Computer system and method for leasing memory location to allow predictable access to memory location
KR960005395B1 (en) Minimum contention processor and system bus system
JPS6315628B2 (en)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20081126

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees