JPH04102158A - Close coupling multiprocessor - Google Patents
Close coupling multiprocessorInfo
- 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
Links
- 230000008878 coupling Effects 0.000 title 1
- 238000010168 coupling process Methods 0.000 title 1
- 238000005859 coupling reaction Methods 0.000 title 1
- 230000006870 function Effects 0.000 claims abstract description 38
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Abstract
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.
本発明は、関数型言語を並列実行できるようにした密結
合マルチプロセッサに関する。なお、ここでいう間数型
言語とは、一般の副プログラム呼び出し機能を持つ手続
き型言語などの計算機言語を意味する。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.
以上のような従来の方式は、逐次型計算機の方式として
は高速であるが、関数す、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.
第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.
マスタプロセッサ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.
第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)
と、各プロセッサからアクセス可能な共有メモリ(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.
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)
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 |
-
1990
- 1990-08-21 JP JP2219608A patent/JPH04102158A/en active Pending
Cited By (5)
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 |