JPH04102158A - Close coupling multiprocessor - Google Patents

Close coupling multiprocessor

Info

Publication number
JPH04102158A
JPH04102158A JP2219608A JP21960890A JPH04102158A JP H04102158 A JPH04102158 A JP H04102158A JP 2219608 A JP2219608 A JP 2219608A JP 21960890 A JP21960890 A JP 21960890A JP H04102158 A JPH04102158 A JP H04102158A
Authority
JP
Japan
Prior art keywords
processor
processors
slave
executed
master processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2219608A
Other languages
Japanese (ja)
Inventor
Satoshi Hosoi
聡 細井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2219608A priority Critical patent/JPH04102158A/en
Publication of JPH04102158A publication Critical patent/JPH04102158A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently execute a function type language by defining one of an (n) [(n)>=2] number of processors as a master processor and remaining processors as slave processors, and controlling the program counters and stack pointers of the slave processors by the master processor. CONSTITUTION:Among the (n) number of processors constituting a parallel computer, one processor is defined as a master processor 10-0 and the (n-1) number of remaining processors are defined as slave processors 10-1, 10-2,.... All the processors share a program code, which is executed by the respective processors, in a program code storage area 21 of a shared memory 15. Since the program code to be executed by the master processor 10-1 and the slave processors 10-1 and 10-2 is shared on the shared memory 15, it is not necessary to individually manage execution logic. When there is a function to be parallelly executed, the master processor 10-0 distributes the processing to the respective slave processors 10-1 and 10-2 so as to parallelly execute it and therefore, the executed result can be obtained in a short time. Thus, the function type language can be efficiently executed.

Description

【発明の詳細な説明】 〔概要〕 関数型言語を並列実行できるようにした密結合マルチプ
ロセッサに関し。
[Detailed Description of the Invention] [Summary] This invention relates to a tightly coupled multiprocessor that enables parallel execution of functional languages.

簡単な制御で効率よく関数型言語を実行できるようにす
ることを目的とし n個のプロセッサのうちの1個をマスタプロセッサ、残
りの(n−1)個をスレーブプロセッサとし、各プロセ
ッサが実行するプログラムコードは、全プロセッサで共
存のまま、マスタプロセッサがスレーブプロセッサのプ
ログラムカウンタとスタックポインタとを制御すること
により、関数型言語を並列実行するように構成する。ま
た、スタック領域、プログラムカウンタ、スタックポイ
ンタを、共有メモリ上に設けることにより、マスタプロ
セッサとスレーブプロセッサとのデータのやり取りを実
現し、かつ各プロセッサに固有の既定値をローカルメモ
リ上で保持するマスク記憶部と、共有メモリ上でどのプ
ロセッサに対する処理依願があるかを示すスレーブフラ
グとを設け、これらにより、処理の同期をとるように構
成する。
The purpose is to enable efficient execution of functional languages with simple control, and one of the n processors is designated as a master processor, the remaining (n-1) processors are slave processors, and each processor executes The program code is configured to execute the functional language in parallel by allowing the master processor to control the program counter and stack pointer of the slave processors while coexisting in all the processors. In addition, by providing a stack area, program counter, and stack pointer on shared memory, data exchange between the master processor and slave processors is realized, and a mask that maintains default values unique to each processor in local memory. A storage unit and a slave flag indicating which processor has a processing request on the shared memory are provided, and the processing is configured to be synchronized by these.

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

本発明は、関数型言語を並列実行できるようにした密結
合マルチプロセッサに関する。なお、ここでいう間数型
言語とは、一般の副プログラム呼び出し機能を持つ手続
き型言語などの計算機言語を意味する。
The present invention relates to a tightly coupled multiprocessor that can execute functional languages in parallel. Note that the arithmetic language used here means a computer language such as a procedural language that has a general subprogram calling function.

近年、マイクロプロセッサが安価で入手できるようにな
ったのに伴い、?j[数のプロセッサを共有メモリに結
合した密結合マルチプロセッサ型の並列計算機が作られ
るようになってきた。このような動きは1個人使用のワ
ークステーションにまで広がりつつある。したがって、
このような並列針lXI!上で効率よく動く言語の重要
性はますます高まりつつある。
In recent years, as microprocessors have become available at low prices, ? Tightly-coupled multiprocessor-type parallel computers, in which several processors are coupled to a shared memory, are now being created. This movement is expanding to single-use workstations. therefore,
Such parallel needles lXI! The importance of languages that can run efficiently on computers is increasing.

C従来の技術〕 第5図は従来の関数型言語の逐次処理の例を示す。C. Conventional technology] FIG. 5 shows an example of sequential processing in a conventional functional language.

例えばC言語のような関数(手続き)型言語を。For example, a functional (procedural) language such as C language.

従来の逐次型計算機で実行する場合を考える。Consider the case of execution on a conventional sequential computer.

第5図(イ)に示すような関数 a (b (x)、  c (x)、  d (X))
の実行は、第5図(ロ)に示すようなアセンブリコード
に展開されて実行される。
Function a (b (x), c (x), d (X)) as shown in Figure 5 (a)
is executed by expanding it into assembly code as shown in FIG. 5(b).

■ 引数Xをスタックにブツシュする。■ Push argument X onto the stack.

■ 関数すを実行する。■ Execute the function.

■ 関数すの結果をレジスタr1にセーブする。■ Save the result of the function in register r1.

■〜■ 関数Cを■〜■と同様に処理する。■~■ Process the function C in the same way as ■~■.

■〜■ 関数dを■〜■と同様に処理する。■~■ Process the function d in the same way as ■~■.

0 間数dの結果をスタックにブツシュする。0 Push the result of interval d onto the stack.

■ 関数Cの結果をスタックにブツシュする。■ Push the result of function C onto the stack.

■ 関数すの結果をスタックにブツシュする。■ Push the result of the function onto the stack.

■ 間数aを実行する。■ Execute the interval a.

0〜■ 結果を取り出してスタックを元に戻す。0~■ Take out the result and restore the stack.

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

以上のような従来の方式は、逐次型計算機の方式として
は高速であるが、関数す、c、dの実行に時間がかかる
場合には、これらを並列に実行して全体の実行時間を短
縮することが望まれる。
The conventional method described above is fast for a sequential computer, but if it takes time to execute functions 1, c, and d, it is recommended to execute them in parallel to shorten the overall execution time. It is desirable to do so.

また、従来、並列実行のための方式が種々考えられてい
るが、一般に、各プロセッサが実行するプログラムコー
ドが共通ではなく、そのためのプログラムコードの展開
が複雑になるという問題があった。
Furthermore, although various methods for parallel execution have been considered in the past, there has been a problem in that the program code that is executed by each processor is generally not the same, and the development of the program code for this purpose is complicated.

本発明は上記問題点の解決を図り、N単な制御で効率よ
く関数型言語を実行できるようにすることを目的として
いる。
The present invention aims to solve the above-mentioned problems and makes it possible to efficiently execute a functional language with N simple controls.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明の構成例を示す。 FIG. 1 shows an example of the configuration of the present invention.

第1図において、10−0はマスタプロセッサ。In FIG. 1, 10-0 is a master processor.

10−1.10−2.  ・・・はスレーブプロセッサ
10-1.10-2. ...is a slave processor.

11は命令を実行するCPU、12はローカルメモリ、
13は各プロセッサの識別子であるプロセッサidを記
憶するプロセッサid記憶部、14は各プロセッサに固
有の既定値を例えばピントパターンで記憶するプロセッ
サマスク記憶l、1sは各プロセッサが共存する共有メ
モリ、16は各プロセッサの実行結果が格納される結果
格納域。
11 is a CPU that executes instructions; 12 is a local memory;
13 is a processor ID storage unit that stores a processor ID that is an identifier of each processor; 14 is a processor mask storage l that stores a default value specific to each processor, for example, in the form of a focus pattern; 1s is a shared memory in which each processor coexists; 16 is the result storage area where the execution results of each processor are stored.

17は処理の同期に使用されるスレーブフラグ。17 is a slave flag used for processing synchronization.

18は各プロセッサの実行値1を示すプログラムカウン
タ、19はスタックの現在の格納位置を示すスタックポ
インタ、20はスタック領域、21はプログラムコード
格納域を表す。
18 is a program counter indicating the execution value 1 of each processor; 19 is a stack pointer indicating the current storage position of the stack; 20 is a stack area; and 21 is a program code storage area.

本発明では、並列計算機を構成するn個のプロセッサの
うちの1つをマスタプロセッサ10−0残りの(n−1
)個をスレーブプロセッサ101.10−2. ・・・
とするやまた、各プロセッサが実行するプログラムコー
ドは、共有メモリ15のプログラムコード格納域21に
置いて、全ブロセンザで共有する。
In the present invention, one of n processors constituting a parallel computer is designated as master processor 10-0 and the remaining (n-1
) slave processors 101.10-2. ...
Then, the program code executed by each processor is placed in the program code storage area 21 of the shared memory 15 and shared by all processors.

そして、、マスタプロセッサ10−0が、各スレーブプ
ロセッサ10−1 10−2.・・・のプログラムカウ
ンタとスタックポインタとを制御し、これによりプログ
ラムコード格納域21に格納されている関数型言語のプ
ログラムコードを並列実行する。
Then, the master processor 10-0 controls each of the slave processors 10-1, 10-2, . . . , and thereby execute the functional language program codes stored in the program code storage area 21 in parallel.

スタック領域20は、各プロセッサ対応に分割されて共
有メモリ15上に設けられる。各プロセッサのプログラ
ムカウンタ18およびスタックポインタ19についても
、共有メモリ15上に設けられる。これにより、マスタ
プロセッサ10−0とスレーブプロセッサ1O−1,1
0−2,・・・とのデータのやり取りが行われる。
The stack area 20 is divided and provided on the shared memory 15 corresponding to each processor. A program counter 18 and a stack pointer 19 for each processor are also provided on the shared memory 15. As a result, master processor 10-0 and slave processors 1O-1, 1
Data is exchanged with 0-2, . . . .

また、各プロセッサに固有の既定値をローカルメモリ1
2上に設けたプロセッサマスク記憶部14に入れておく
。すなわち マスタプロセッサのpe−mask    0bO00
001スレ一ブブロセ/勺11のpe−+5ask  
0bOO0010スレーブブロセソザ#2のpe*5a
sk  0b000100というように、対応するビッ
トをオンにした値をプロセッサマスク(pe−mask
)として設定しておくやこれと共有メモリ15でどのプ
ロセッサに対する処理依頼があるかを示すスレーブフラ
グ17とにより、処理の同期をとるように構成する。
In addition, the default values specific to each processor can be set to local memory 1.
2 is stored in the processor mask storage section 14 provided on the 2. That is, the master processor's pe-mask 0bO00
001 Thread 1 Brosse/Tsuki11's pe-+5ask
0bOO0010 Slave Brosesoza #2's pe*5a
sk 0b000100, the value with the corresponding bit turned on is set to the processor mask (pe-mask).
), and a slave flag 17 indicating which processor in the shared memory 15 is requested to perform processing is used to synchronize the processing.

〔作用〕[Effect]

マスタプロセッサ10−0および各スレーブプロセッサ
10−1.10−2が実行するプログラムコードは1共
有メモリ15上で共有されるので実行ロジックを個別に
管理する必要がなくなる。
Since the program codes executed by master processor 10-0 and each slave processor 10-1, 10-2 are shared on one shared memory 15, there is no need to manage execution logic individually.

並列に実行可能な関数があれば、、マスタプロセッサ1
0−0ば、各スレーブプロセッサ1O−11(1−2,
・・・に処理を分配し、並列実行するので。
If there is a function that can be executed in parallel, master processor 1
0-0, each slave processor 1O-11 (1-2,
Because the processing is distributed to and executed in parallel.

短時間で実行結果を得ることができるようになる。You will be able to get results in a short time.

〔実施例〕〔Example〕

第2図は本発明の一実施例、第3図は本発明の一実施例
による関数実行制御の例、第4図は本発明の一実施例に
よるプログラム例を示す。
FIG. 2 shows an embodiment of the present invention, FIG. 3 shows an example of function execution control according to the embodiment of the invention, and FIG. 4 shows an example of a program according to the embodiment of the invention.

第2図において、第1図と同符号のものは、第1図に示
すものに対応する。
In FIG. 2, the same reference numerals as in FIG. 1 correspond to those shown in FIG.

マスタプロセッサ10−0のプロセッサidは0 スレ
ーブプロセッサ10−1のプロセッサidは1.スレー
ブプロセッサ10−2のプロセッサidは2.・・・で
ある、これに対応して、各プロセッサのプロセッサマス
ク記憶部14に、固有のビットパターンが格納されてい
る。
The processor ID of the master processor 10-0 is 0. The processor ID of the slave processor 10-1 is 1. The processor ID of slave processor 10-2 is 2. . . . Correspondingly, a unique bit pattern is stored in the processor mask storage unit 14 of each processor.

rO,rl、r2は、各プロセッサの汎用レジスタ、s
p [i]は、各プロセッサPEiのスタックポインタ
、pc [i]は、各プロセッサPEiのプログラムカ
ウンタ、rv [+]は。各プロセッサPENの実行結
果を格納する結果格納域スレーブフラグ(slave−
flag) l 7は、各プロセッサ間の同期をとるた
めのフラグである。
rO, rl, r2 are general-purpose registers of each processor, s
p [i] is the stack pointer of each processor PEi, pc [i] is the program counter of each processor PEi, and rv [+] is the stack pointer of each processor PEi. Result storage area slave flag (slave-
flag) l7 is a flag for synchronizing each processor.

第2図に示すシステムにおいて1例えば第3図に示すよ
うな処理ロジックにより、関数の実行制御を行う。以下
、第3図に示す(a)〜(i)に従って説明する。
In the system shown in FIG. 2, the execution of functions is controlled by processing logic as shown in FIG. 3, for example. Hereinafter, explanation will be given according to (a) to (i) shown in FIG.

(a)  自分白痢がマスタプロセッサであるかどうか
を、プロセッサidにより判断する。スレーブプロセッ
サの場合、処理(2)へ移る。
(a) Determine whether or not the master processor is the master processor based on the processor ID. In the case of a slave processor, the process moves to process (2).

(b)  マスタプロセッサの場合、共有メモリ15上
のスタック領域20に、各プロセッサで実行する関数の
引数と関数のアドレスとをブツシュする。
(b) In the case of a master processor, the arguments and address of the function to be executed by each processor are bushed in the stack area 20 on the shared memory 15.

(C1次に、関数を実行させるスレーブプロセッサを指
定するために、スレーブフラグ17の該当するビットを
オンにする。
(C1 Next, in order to specify the slave processor to execute the function, turn on the corresponding bit of the slave flag 17.

(4マスタブロセ・ンサ自身が処理するrjji数があ
れば、その関数を実行する。
(4 If the master processor itself has rjji numbers to process, execute that function.

(e)  関数の実行が終了したならば、スレーブフラ
グ17のピントがオフになアたハどうかにより全スレー
ブプロセッサの実行終了を監視する。
(e) When the execution of the function is completed, the completion of execution of all slave processors is monitored depending on whether the focus of the slave flag 17 is turned off.

(f)  スレーブプロセッサでの関数実行が終わると
スレーブフラグ17のビットがオフになるので各関数の
結果を結果格納域16から取り出し。
(f) When the execution of the function in the slave processor is completed, the bit of the slave flag 17 is turned off, so the results of each function are retrieved from the result storage area 16.

その結果を必要とする関数を実行する。その後。Execute the function that requires the result. after that.

次の実行処理へ移る。Move on to the next execution process.

(80スレーブプロセッサでは、自分の該当するスレー
ブフラグ17のビットがオンかどうかを判定する。オン
でない場合には、オンになるまで待機する。
(The 80 slave processor determines whether its corresponding slave flag 17 bit is on. If it is not on, it waits until it becomes on.

お スレーブフラグ17の該当ビットがオンであれば、
スタックで指定された関数を実行する。
If the corresponding bit of slave flag 17 is on,
Executes the specified function on the stack.

関数の実行結果は、該当する結果格納域16にブツシュ
する。
The execution results of the functions are written to the corresponding result storage area 16.

(i)  その関数の実行が終了したならば、スレーブ
フラグ17の対応するピントをオフにして、処理(6)
へ戻り、スレーブフラグ17のビットがオンになるのを
待つ。
(i) When the execution of the function is finished, turn off the focus corresponding to slave flag 17, and proceed to process (6).
Wait until the slave flag 17 bit turns on.

第4図は、第5図(イ)に示す関数 a (b (x)、  c (X)、  d (X) 
)を、第3図に示す処理ロジックにより並列実行するた
めに、アセンブリコードに展開した例を示している。以
下、第4図に示す■〜@に従って説明する。
Figure 4 shows the functions a (b (x), c (X), d (X) shown in Figure 5 (a)
) is developed into assembly code in order to be executed in parallel using the processing logic shown in FIG. 3. Hereinafter, explanation will be made according to ① to @ shown in FIG.

■ 第2図に示すプロセッサ1d記憶部13の値が、0
であるかをどうかを調べる。
■ The value of the processor 1d storage unit 13 shown in FIG. 2 is 0.
Check whether it is.

■ 0でなければ、スレーブプロセッサであるので、ラ
ベルLL2ヘジャンブする。0であれば。
■ If it is not 0, it is a slave processor and jumps to label LL2. If it is 0.

マスタプロセッサであるので3次の■以下を実行する。Since it is the master processor, it executes the following steps in the third order.

■ スレーブプロセッサPEI用のスタックに引数Xを
ブツシュする。
■ Push argument X onto the stack for slave processor PEI.

■ 続いてスレーブプロセッサPEI用のスタックに関
数のアドレスbをブツシュする。
■ Next, the address b of the function is pushed onto the stack for the slave processor PEI.

■ スレーブプロセッサPE2用のスタックに引数Xを
ブツシュする。
■ Push argument X onto the stack for slave processor PE2.

■ 続いてスレーブプロセッサPE2用のスタックに関
数のアドレスCをブツシュする。
■ Next, the address C of the function is pushed onto the stack for the slave processor PE2.

■ 並列実行を行うプロセッサに対する値を、スレーブ
フラグ17に設定する。
(2) Set the slave flag 17 to a value for the processors that perform parallel execution.

■ マスタプロセッサ用のスタックに、引数Xをブツシ
ュする。
■ Push argument X onto the stack for the master processor.

■ 関数dを実行する。■ Execute function d.

■ 関数dの実行結果をレジスタroにポツプする。■ Pop the execution result of function d into register ro.

■ スレーブフラグ17により、すべてのスレーブプロ
セッサの実行が終了したかどうかを判定する。
(2) Determine whether execution of all slave processors has finished using the slave flag 17.

■ 実行が終了していないスレーブプロセッサがあれば
、■の判定により、その終了を待つ。
■ If there is a slave processor whose execution has not finished, wait for its completion based on the judgment in ■.

■ レジスタroをブツシュする。■ Push register ro.

[相] スレーブプロセッサPE2の実行結果をブツシ
ュする。
[Phase] Bushes the execution result of slave processor PE2.

■ スレーブプロセッサPEIの実行結果をブツシュす
る。
■ Bush the execution results of the slave processor PEI.

■ 関数aを実行する。■ Execute function a.

■ スタックの結果をレジスタr2にポツプする。■ Pop the stack result into register r2.

[株] スタックの結果をレジスタr1にポツプする。[Stock] Pop the result of the stack into register r1.

■ スタックの結果をレジスタrOにポツプする。■ Pop the stack result into register rO.

@ 関数aの次の実行へ移る。@ Move to the next execution of function a.

■ 各スレーブプロセッサでは、スレーブフラグ17の
うち、第2図に示すプロセッサマスク記憶部14に設定
されている自分のプロセッサマスクのビットがオンであ
るかどうかを調べる。
(2) Each slave processor checks whether or not its own processor mask bit, which is set in the processor mask storage unit 14 shown in FIG. 2, of the slave flags 17 is on.

@ オンでなければ、スレーブフラグ17に値が設定さ
れるまで、処理0の判定を繰り返す。
@ If not on, the determination of process 0 is repeated until a value is set in the slave flag 17.

@ 自分のスタック内に設定されている関数のアドレス
を指定し9間接サブルーチンコールにより、関数すまた
は関数Cを実行する。
@ Specify the address of a function set in your own stack and execute function C or function C by making an indirect subroutine call.

[相] 関数の実行結果を、結果格納域16にセーブす
る。
[Phase] Save the execution results of the function in the result storage area 16.

■ スタックポインタを元に戻す。■ Restore the stack pointer.

@ スレーブフラグ17を排他制御のためロックする。@ Lock the slave flag 17 for exclusive control.

[相] 当スレーブプロセッサの実行が終了したことを
伝えるため、スレーブフラグ17の対応するビットをオ
フにする。
[Phase] To notify that the execution of the slave processor has ended, turn off the corresponding bit of the slave flag 17.

[相] スレーブフラグ17をアンロックし、排他制御
を解除する。
[Phase] Unlock the slave flag 17 and release exclusive control.

@ 処理0へ戻り1次の処理依願を待つ。@ Return to processing 0 and wait for the first processing request.

以上のように、同しプログラムコードを、各ブロモ、す
が、それぞれ自分Oこ依願された処理を判断して実行す
ることにより、関数の並列実行が実現される。
As described above, parallel execution of functions is realized by each program code determining its own requested processing and executing the same program code.

C発明の効果〕 以上説明したように2本発明によれば、密結合マルチプ
ロセッサ上で関数(手続き)型言語を効率よく並列実行
することが可能となる。
Effects of the Invention C] As explained above, according to the two inventions, it is possible to efficiently execute a functional (procedural) type language in parallel on a tightly coupled multiprocessor.

tJ、12はローカルメモリ、13はプロセッサ1d記
憶部、14はプロセッサマスク記憶部、15は共有メモ
リ、16は結果格納域、17はスレーブフラグ、18は
プログラムカウンタ、1つはスタックポインタ、20は
スタック領域、21はプログラムコード格納域を表す。
tJ, 12 is local memory, 13 is processor 1d storage, 14 is processor mask storage, 15 is shared memory, 16 is result storage area, 17 is slave flag, 18 is program counter, 1 is stack pointer, 20 is A stack area 21 represents a program code storage area.

Claims (1)

【特許請求の範囲】 1)複数のプロセッサ(10−0、10−1、・・・)
と、各プロセッサからアクセス可能な共有メモリ(15
)とを備えた密結合マルチプロセッサにおいて、 n個(ただしn≧2)のプロセッサのうちの1個をマス
タプロセッサ、残りの(n−1)個をスレーブプロセッ
サとし、 各プロセッサが実行するプログラムコードは、全プロセ
ッサで共有のまま、マスタプロセッサがスレーブプロセ
ッサのプログラムカウンタとスタックポインタとを制御
することにより、 関数型言語を並列実行するようにしたことを特徴とする
密結合マルチプロセッサ。 2)請求項1記載の密結合マルチプロセッサにおいて、 各プロセッサの関数実行のためのスタック領域(20)
、プログラムカウンタ(18)、スタックポインタ(1
9)を、共有メモリ(15)上に設けることにより、マ
スタプロセッサとスレーブプロセッサとのデータのやり
取りを実現し、 かつ各プロセッサに固有の既定値をローカルメモリ上で
保持するマスク記憶部(14)と、共有メモリ上でどの
プロセッサに対する処理依頼があるかを示すスレーブフ
ラグ(17)とを設け、マスク記憶部の値とスレーブフ
ラグとにより、処理の同期をとるようにしたことを特徴
とする密結合マルチプロセッサ。
[Claims] 1) Multiple processors (10-0, 10-1,...)
and a shared memory (15
), one of the n processors (n≧2) is the master processor, the remaining (n-1) are slave processors, and the program code executed by each processor is is a tightly coupled multiprocessor characterized in that a functional language is executed in parallel by the master processor controlling the program counter and stack pointer of the slave processors while they remain shared by all processors. 2) In the tightly coupled multiprocessor according to claim 1, a stack area (20) for function execution of each processor.
, program counter (18), stack pointer (1
9) on the shared memory (15) to realize data exchange between the master processor and slave processors, and a mask storage section (14) that holds default values specific to each processor on the local memory. and a slave flag (17) indicating to which processor the processing request is made on the shared memory, and the processing is synchronized by the value in the mask storage section and the slave flag. Combined multiprocessor.
JP2219608A 1990-08-21 1990-08-21 Close coupling multiprocessor Pending JPH04102158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2219608A JPH04102158A (en) 1990-08-21 1990-08-21 Close coupling multiprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2219608A JPH04102158A (en) 1990-08-21 1990-08-21 Close coupling multiprocessor

Publications (1)

Publication Number Publication Date
JPH04102158A true JPH04102158A (en) 1992-04-03

Family

ID=16738199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2219608A Pending JPH04102158A (en) 1990-08-21 1990-08-21 Close coupling multiprocessor

Country Status (1)

Country Link
JP (1) JPH04102158A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122439A (en) * 2005-10-28 2007-05-17 Kyocera Corp Communication apparatus and communication method
JP2007233857A (en) * 2006-03-02 2007-09-13 Fujitsu Ltd Reconfigurable circuit
JP5163128B2 (en) * 2006-01-31 2013-03-13 富士通株式会社 Procedure calling method, procedure calling program, recording medium, and multiprocessor in shared memory multiprocessor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122439A (en) * 2005-10-28 2007-05-17 Kyocera Corp Communication apparatus and communication method
JP4619925B2 (en) * 2005-10-28 2011-01-26 京セラ株式会社 Communication apparatus and communication method
JP5163128B2 (en) * 2006-01-31 2013-03-13 富士通株式会社 Procedure calling method, procedure calling program, recording medium, and multiprocessor in shared memory multiprocessor
JP2007233857A (en) * 2006-03-02 2007-09-13 Fujitsu Ltd Reconfigurable circuit
JP4580879B2 (en) * 2006-03-02 2010-11-17 富士通セミコンダクター株式会社 Reconfigurable circuit

Similar Documents

Publication Publication Date Title
JP5678135B2 (en) A mechanism for scheduling threads on an OS isolation sequencer without operating system intervention
EP1880289B1 (en) Transparent support for operating system services
US20070157200A1 (en) System and method for generating a lock-free dual queue
Gaitan et al. CPU architecture based on a hardware scheduler and independent pipeline registers
JPS62159268A (en) Multi-processor system
JPS63307535A (en) Pipeline control circuit
US6581089B1 (en) Parallel processing apparatus and method of the same
JPH04102158A (en) Close coupling multiprocessor
Michael et al. Relative performance of preemption-safe locking and non-blocking synchronization on multiprogrammed shared memory multiprocessors
JPS6334490B2 (en)
Chen et al. A three-slot asynchronous reader/writer mechanism for multiprocessor real-time systems
JPH11306149A (en) Parallel arithmetic processor and method therefor
Zellweger et al. Unifying synchronization and events in a multicore os
JPH03257633A (en) Process control method
US11809219B2 (en) System implementing multi-threaded applications
JPH11306038A (en) Units and method for parallel operation processing
Castilla et al. Exploiting concurrency in the implementation of a discrete event simulator
JPH11306037A (en) Units and method for parallel operation processing
JP2553526B2 (en) Multitasking processor
CN117608532A (en) OpenMP implementation method based on domestic multi-core DSP
Chen A loop-free asynchronous data sharing mechanism in multiprocessor real-time systems based on timing properties
JPH03237554A (en) Multiprocessor control system
Unangst rthreads: A new thread implementation for OpenBSD
JP3039918B2 (en) Processor system
Price Multlprocessmg made easy