JPS6322344B2 - - Google Patents
Info
- Publication number
- JPS6322344B2 JPS6322344B2 JP57233539A JP23353982A JPS6322344B2 JP S6322344 B2 JPS6322344 B2 JP S6322344B2 JP 57233539 A JP57233539 A JP 57233539A JP 23353982 A JP23353982 A JP 23353982A JP S6322344 B2 JPS6322344 B2 JP S6322344B2
- Authority
- JP
- Japan
- Prior art keywords
- semaphore
- bus
- access
- microprocessor
- signal
- 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.)
- Expired
Links
- 238000000034 method Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 101000654674 Homo sapiens Semaphorin-6A Proteins 0.000 description 1
- 102100032795 Semaphorin-6A Human genes 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、複数のマイクロプロセツサ等を持つ
たマルチ・プロセツサ・システムにおいて、複数
のマイクロ・プロセツサ間で共有資源(例えば共
有メモリ等)をアクセスする場合の協調を改良し
たマルチ・プロセツサ・システムの共有資源アク
セス方式に関する。[Detailed Description of the Invention] [Technical Field of the Invention] The present invention relates to a multi-processor system having a plurality of microprocessors, etc., in which shared resources (for example, shared memory, etc.) are accessed between the plurality of microprocessors. This invention relates to a shared resource access method for multiprocessor systems that improves coordination when processing.
近年、マイクロプロセツサの低価格化に伴な
い、1つのシステムに複数個のマイクロプロセツ
サを備え、これらのマイクロプロセツサを協調さ
せながら使用するマルチプロセツシングが急速に
発展してきている。その理由は、システムのタス
クについて負荷分散および機能分散が実現できる
こと。また、並列に動作する独立したマイクロプ
ロセツサに分散すれば、全体のパフオーマンスが
大幅に向上すること。また、マルチプロセシング
は、設計のモジユール化が図れてシステムの保守
や拡張が比較的容易になることなどが挙げられ
る。
In recent years, as the cost of microprocessors has fallen, multiprocessing, in which a single system is equipped with a plurality of microprocessors and these microprocessors are used in coordination, has rapidly developed. The reason for this is that load distribution and function distribution can be achieved for system tasks. Furthermore, if it is distributed to independent microprocessors that operate in parallel, overall performance can be greatly improved. Additionally, multiprocessing allows for modular design, making system maintenance and expansion relatively easy.
ところで、従来のこの種のマルチ・プロセツ
サ・システムは、第1図のようにマルチバス1に
それぞれローカルバス2,2を介して複数のマス
タ3,3が接続され、さらに同マルチバス1に入
出力制御器I/O4およびシステムメモリ5が接
続されている。各マスタ3は、マイクロプロセツ
サ3aと、ローカル入出力制御器3bと、ローカ
ルメモリ3cと、バツフア3dとを有し、マスタ
3のマイクロプロセツサ3aからローカルバス
2、マルチバス1を介して入出力制御器4にアド
レスを送出し、同入出力制御器4によつてシステ
ム・メモリ5から必要なデータを読出してユーザ
I/Oへ、或いはマスタ3へ返送する構成となつ
ている。図中、4a,5aはアドレスバス、4
b,5bはデータバス、4c,5cは応答ライン
である。従つて、このようなシステムは、入出力
制御器4を変更する場合例えばフロツピーをハー
ド・デイスクに置き換える場合、変更の影響は入
出力制御器4に留まり、マイクロプロセツサ3a
やアプリケーシヨン・ソフトウエアはそのまま使
用できる。 By the way, in a conventional multi-processor system of this type, a plurality of masters 3, 3 are connected to a multi-bus 1 via local buses 2, 2, respectively, as shown in FIG. An output controller I/O 4 and a system memory 5 are connected. Each master 3 has a microprocessor 3a, a local input/output controller 3b, a local memory 3c, and a buffer 3d. The address is sent to the output controller 4, and the input/output controller 4 reads necessary data from the system memory 5 and sends it back to the user I/O or to the master 3. In the figure, 4a and 5a are address buses;
b and 5b are data buses, and 4c and 5c are response lines. Therefore, in such a system, when changing the input/output controller 4, for example, when replacing a floppy disk with a hard disk, the effect of the change remains on the input/output controller 4, and the microprocessor 3a
and application software can be used as is.
しかし、このようなシステムは、共有資源であ
るシステムメモリ5の共有メモリ領域に対するア
クセスを管理しないこと、一方のマイクロプロセ
ツサ3aが書き換えている間に、他方のマイクロ
プロセツサ3aがシステムメモリ5に現在書き込
んでいると誤まつたデータを読み取つてしまう。
このような事態を防ぐために、マイクロプロセツ
サ3aからマルチバス1に対して共有メモリ領域
が使えるか、使えないか(使用中)を示すフラグ
をたてることが行なわれている。このフラグをセ
マフオアと呼んでいる。例えばセマフオアの値が
“1”のときには使用できない、“0”のときには
使用できるものとすると、マルチバス1を共有す
るマイクロプロセツサ3a,3aの間でセマフオ
アの値に使えると示されていれば、何れかのマイ
クロプロセツサ3aはその共有メモリ領域の使用
時にセマフオアをセツトし、使用後はクリアする
様に取り決めておけばよい。 However, such a system does not manage access to the shared memory area of the system memory 5, which is a shared resource, and while one microprocessor 3a is rewriting the other microprocessor 3a, the system memory 5 is If you are currently writing, the wrong data will be read.
In order to prevent such a situation, a flag is set from the microprocessor 3a to the multi-bus 1 to indicate whether the shared memory area can be used or not (in use). This flag is called a semaphore. For example, if the semaphore value is "1" it cannot be used, and if it is "0" it can be used, then if the semaphore value indicates that it can be used between the microprocessors 3a and 3a that share the multibus 1, then , any one of the microprocessors 3a may set a semaphore when using the shared memory area, and clear it after use.
ここで問題となる点は、一方のマイクロプロセ
ツサ3aが“使用可”と判断し、セマフオアをセ
ツトしようとする場合のバスサイクルのすき間
で、別のプロセツサ3aがまだセツトされていな
いセマフオアをチエツクし、使用可と判断してし
まうことである。この問題はセマフオアをチエツ
クしセツトする間をバスロツクし、他のマイクロ
プロセツサ3aにセマフオアをアクセスさせない
ことで解決できる。 The problem here is that when one microprocessor 3a determines that it is "usable" and attempts to set a semaphore, another processor 3a checks for a semaphore that has not yet been set. However, it may be determined that it is usable. This problem can be solved by locking the bus while checking and setting the semaphore to prevent other microprocessors 3a from accessing the semaphore.
最近の16ビツト系マイクロプロセツサでは、マ
イクロプロセツサシステムを構成しやすいよう
に、バスロツクが簡単にできるようになつてい
る。 In recent 16-bit microprocessors, bus locks can be easily configured to make it easier to configure microprocessor systems.
以下、バスロツクにつき、インテル社のiAP×
86/10、iAPX88/10(8086,8088)の例を示す。
従来のマルチプロセツシング・システムは協調の
問題が障害になつていたが、この2つのマイクロ
プロセツサは、そのための機能を初めから内蔵さ
れている。マキシマム・モードに設定した
iAPX86/10、iAPX88/10からはバスロツク信
号(以下、Lock信号と指称する)が出力される。
Lockは、1バイトのLockプレフイクス命令を
EU(Execution Unit)が実行した時、BIU(Bus
Interface Unit)が発する信号で、このプレフイ
クスを持つ命令の実行中は、アクテイブ状態を保
つ。ただし、Lockプレフイクスは割込みには関
係しない。この間、別のプロセスからバスの使用
要求が出されてもマイクロプロセツサはそれを記
録するだけで、ロツクした命令の実行が終了する
まで、受付けは待たされる。Lock信号がアクテ
イブになるのは1命令の間だけである。Lockプ
レフイクスを付けた命令を2つ並べても、間にロ
ツクされない時間が存在するのである。なお反復
ストリング命令をロツクした場合は、1ブロツク
処理の間Lockはアクテイブ状態を保つ。 Below, regarding the bus lock, Intel's iAP ×
Examples of 86/10 and iAPX88/10 (8086, 8088) are shown.
Traditional multiprocessing systems have been hampered by coordination problems, but these two microprocessors have the functionality built-in from the beginning. set to maximum mode
A bus lock signal (hereinafter referred to as a lock signal) is output from the iAPX86/10 and iAPX88/10.
Lock uses a 1-byte Lock prefix command.
When EU (Execution Unit) executes, BIU (Bus
Interface Unit), which remains active while an instruction with this prefix is being executed. However, the Lock prefix has nothing to do with interrupts. During this time, even if another process issues a request to use the bus, the microprocessor only records it and waits until the execution of the locked instruction is completed. The Lock signal is active only during one instruction. Even if two instructions with the Lock prefix are placed side by side, there will be a period of time in between when the instructions are not locked. Note that when a repeated string instruction is locked, Lock remains active during one block processing.
ミニマム・モードにセツトしたiAP×86/10、
iAP×88/10にはLock信号はない。しかし、
Lockプレフイクスを使うと、DMAコントローラ
からCPUへのHOLD要求に対するCPUのHLDA
の応答を、ロツクした命令の実行が終わるまで遅
らせることができる。 iAP×86/10 set to minimum mode,
iAP×88/10 does not have a Lock signal. but,
Using the Lock prefix, the CPU's HLDA for HOLD requests from the DMA controller to the CPU is
response can be delayed until the locked instruction has finished executing.
Lock信号は、単に情報を提供するにすぎない。
Lockがアクテイブの間バスにアクセスしないよ
うにするのは、共有バス上の他のマイクロプロセ
ツサの責任である。8289「バス・アービタ」を使
つて共有バスのアクセスを制御しているシステム
では、Lockを8289に入力し、これがアクテイブ
の間バスを解放しないようにすればよい。Lock
は、マルチプロセシング・システムで、バツフア
やポインタのような共有メモリ領域に対するアク
セスの協調に使つてもよい。共有メモリ領域のア
クセスを管理していないと、別のマイクロプロセ
ツサが書き換えている間に、誤つた値を読んでし
まうことである。 The Lock signal is merely informational.
It is the responsibility of other microprocessors on the shared bus to ensure that they do not access the bus while Lock is active. On systems that use an 8289 ``bus arbiter'' to control access to a shared bus, a Lock can be input to the 8289 to prevent it from releasing the bus while it is active. Lock
may be used in multiprocessing systems to coordinate access to shared memory areas such as buffers and pointers. If access to the shared memory area is not managed, an incorrect value may be read while another microprocessor is rewriting it.
一方、ハイパーフオーマンスを意図して設計さ
れた16ビツト系マイクロプロセツサに対し、8ビ
ツト系マイクロプロセツサ(インテル社8085A、
ザイログ社Z80など)では、バスロツクのための
機能がなく、ソフトウエアでバスロツク信号を発
生させている。インテル社の8085Aでは、シリア
ルデータ出力をバスアビータのオーバライド入力
に入れることによつて、他のマイクロプロセツサ
からの共有メモリ領域へのアクセスを防ぐもので
ある。8085Aの命令では、セマフオアの内容をチ
エツクし、使用不可能の場合にセマフオアをセツ
トする間、マイクロプロセツサの基本クロツクで
58クロツク分バスをロツクする。8085Aの最高ス
ピードは1クロツク0.2μsであつて、この時、58
×0.2=11.6μs間他マイクロプロセツサからの共
有メモリ領域のアクセスは不可能となる。この時
間は、高速伝送を行なう場合(例えば、ビツトシ
リアル伝送を行なう場合、1Mbaudでは、8μs周
期で、共有メモリ領域をアクセスできなければな
らない)には、致命的な障害となる。このため、
マルチプロセツサ構成でシステムの機能分散を図
りつつ、高速伝送を行うシステムでは、このバス
ロツク時間の長い点がネツクとなり伝送速度を速
くできなかつた。 On the other hand, 8-bit microprocessors (Intel 8085A,
(Zilog Z80, etc.) does not have a bus lock function and uses software to generate the bus lock signal. Intel's 8085A prevents other microprocessors from accessing the shared memory area by putting the serial data output into the override input of the bus beater. The 8085A instructions use the microprocessor's basic clock while checking the contents of the semaphore and setting the semaphore if it is unavailable.
Lock the bus for 58 clocks. The maximum speed of 8085A is 0.2 μs per clock, and at this time, 58
Access to the shared memory area from other microprocessors becomes impossible for ×0.2=11.6 μs. This time becomes a fatal obstacle when performing high-speed transmission (for example, when performing bit serial transmission, at 1 Mbaud, it is necessary to be able to access the shared memory area in an 8 μs cycle). For this reason,
In a system that uses a multiprocessor configuration to distribute system functions and perform high-speed transmission, this long bus lock time becomes a hindrance, making it impossible to increase the transmission speed.
本発明は、複数のマイクロプロセツサが共有資
源に対するアクセスの協調をとるためのハードウ
エアを持たないマルチ・プロセツサ・システムに
おいて、バスロツクの時間を最小にし、かつ共有
資源に対しアクセスの協調をとることをマルチバ
スの制御信号を利用して行なうマルチ・プロセツ
サ・システムの共有資源アクセス方式を提供する
ことにある。
The present invention aims to minimize bus lock time and coordinate access to shared resources in a multi-processor system that does not have hardware for multiple microprocessors to coordinate access to shared resources. An object of the present invention is to provide a shared resource access method for a multi-processor system that uses multi-bus control signals.
本発明は、複数のマイクロプロセツサで構成さ
れたマルチ・プロセツサ・システムにおいて、前
記マイクロプロセツサがバスロツク機能を持たな
い場合、共有資源のアクセスの協調を保つために
各マイクロプロセツサから共通にアクセス可能で
あり、かつマルチ・プロセツサ・システムのロー
カルバスのバスコントローラ信号とシステムバス
コントローラ信号の変化するタイミングの差を利
用して、内蔵するフリツプ・フロツプの出力のリ
ードとライトを行なうセマフオア回路を備えたマ
ルチ・プロセツサ・システムの共有資源アクセス
方式である。
In a multi-processor system composed of a plurality of microprocessors, when the microprocessors do not have a bus lock function, the present invention provides common access from each microprocessor in order to maintain coordination of access to shared resources. It is also equipped with a semaphore circuit that reads and writes the output of the built-in flip-flop by using the difference in timing between the bus controller signal of the local bus of the multiprocessor system and the system bus controller signal. This is a shared resource access method for multiprocessor systems.
次に、本発明の一実施例について第2図ないし
第6図を参照して説明する。なお、第2図はマル
チバスに接続されるシステムメモリの構成図、第
3図は第2図のセマフオア回路の一具体例を示す
図、第4図はアドレスマツプ図、第5図および第
6図はセマフオアリードおよびライトのタイミン
グ図である。第2図において11は複数のマイク
ロプロセツサ(図示せず)などが接続されるマル
チバスであつて、これはアドレスバス11A、デ
ータバス11Bを持つている。12はアドレスバ
ス11Aから入力されるシステムアドレスをデコ
ードするデコーダ、13a,13bはデコーダ1
2からのメモリチツプセレクト信号MCによつて
メモリ領域をセレクトされる共有メモリ、14は
セマフオア回路であつて、これにはセマフオアセ
レクト信号SSおよびシステムメモリリードコン
トロール信号MRDC、システムメモリライトコ
ントロール信号MWTCが入力されるようになつ
ている。
Next, an embodiment of the present invention will be described with reference to FIGS. 2 to 6. In addition, FIG. 2 is a configuration diagram of the system memory connected to the multibus, FIG. 3 is a diagram showing a specific example of the semaphore circuit in FIG. 2, FIG. 4 is an address map diagram, and FIGS. The figure is a timing diagram of semaphore read and write. In FIG. 2, reference numeral 11 denotes a multi-bus to which a plurality of microprocessors (not shown) are connected, and has an address bus 11A and a data bus 11B. 12 is a decoder that decodes the system address input from address bus 11A; 13a and 13b are decoders 1;
14 is a semaphore circuit which includes a semaphore select signal SS, a system memory read control signal MRDC, and a system memory write control signal MWTC. is now being entered.
第3図はセマフオア回路14の具体例であつ
て、対象とするマイクロプロセツサの種類は特に
問わないが例えばインテル社の8085Aを用いたマ
ルチ・プロセツサ・システムの構成例をとつて述
べる。マルチプロセツサがマルチバス11のアド
レスバス11Aを介して共有メモリ13a,13
bをアクセスすると、デコーダ12はシステムア
ドレスをデコードし、システムアドレスの内容に
応じた共有メモリ13a,13bのメモリチツプ
セレクト信号MCを発生する。このセマフオア回
路14は、第4図のアドレスマツプに示されてい
るように、システムアドレス空間ST内の一部に
セマフオア占有部分SDが割り付けられているの
で、デコーダ12からはそのためのセマフオアセ
レクト信号SSが発生されるようになつている。
14a,14bは“ローレベルL”アクテイブ入
力のNANDゲートであつて、各前記セマフオア
セレクト信号SSとシステムメモリリードコント
ロール信号MRDCとシステムメモリライトコン
トロール信号MWTCとの負の論理積をとり、セ
マフオアリード信号S1、セマフオアライト信号
S2を出力するようになつている。セマフオアリ
ード信号S1はDタイプFF(例えば74LS74)1
4cのクロツク端子CPと3状態バツフア14d
(例えば74LS125)のゲート端子に入力される。
一方、セマフオアライト信号S2はDタイプFF
14cのリセツト端子Rに入力される。Dタイプ
FF14cのセツト端子Sとデータ入力端子Dは
それぞれ+5Vに接続されていて、セツト機能は
インアクテイブ、クロツクの立ち上りエツジでD
タイプFF14cのQ端子はHレベルになるよう
になつている。また、セマフオアライト信号S2
がアクテイブ(論理レベルL)で、このQ端子は
HからLへ変化する。3状態バツフア14dの入
力側にはDタイプFF14cのQ端子が接続され、
出力側はシステムデータバスに接続されている。
セマフオアリード信号S1がアクテイブLの時、
3状態バツフア14d出力はオープンとなり、D
タイプFF14cのQ端子の状態はシステムデー
タバスへ読み出される。第3図は1つのセマフオ
ア回路14であるが、任意の数に増すことができ
る。 FIG. 3 shows a specific example of the semaphore circuit 14, and although the type of microprocessor to be used is not particularly limited, an example of the configuration of a multiprocessor system using Intel's 8085A will be described. The multiprocessor accesses the shared memories 13a and 13 via the address bus 11A of the multibus 11.
When b is accessed, the decoder 12 decodes the system address and generates a memory chip select signal MC for the shared memories 13a and 13b according to the contents of the system address. As shown in the address map of FIG. 4, this semaphore circuit 14 has a semaphore-occupied portion SD allocated to a part of the system address space ST, so the decoder 12 sends a semaphore select signal therefor. SS is starting to occur.
14a and 14b are NAND gates with a "low level L" active input, which take the negative AND of each of the semaphore select signals SS, the system memory read control signal MRDC, and the system memory write control signal MWTC, and generate the semaphore read signal. S1 and a semaphore write signal S2. Semaphore read signal S1 is D type FF (for example, 74LS74) 1
Clock terminal CP of 4c and 3-state buffer 14d
(For example, 74LS125) is input to the gate terminal.
On the other hand, semaphore write signal S2 is D type FF
It is input to the reset terminal R of 14c. D type
The set terminal S and data input terminal D of FF14c are each connected to +5V, and the set function is inactive, and D is output at the rising edge of the clock.
The Q terminal of type FF14c is set to H level. Also, the semaphore write signal S2
is active (logic level L), and this Q terminal changes from H to L. The Q terminal of a D type FF14c is connected to the input side of the three-state buffer 14d,
The output side is connected to the system data bus.
When the semaphore read signal S1 is active L,
The 3-state buffer 14d output is open and D
The state of the Q terminal of type FF14c is read to the system data bus. Although FIG. 3 shows one semaphore circuit 14, the number can be increased to any number.
次に、第3図のように構成されたセマフオア回
路の作用を説明する。セマフオアリードの場合に
は第5図に示すように、マルチバス11に接続さ
れているマイクロプロセツサ又はDMAコントロ
ーラからローカルバス・コントロール信号
MEMRが出力される。メモリがシステムアドレ
ス空間STに置かれている場合にはバスアービタ
よりシステムバスコントロール信号MRDCが発
生される。この時、他マイクロプロセツサがマル
チバス11を使用している場合はビジイ状態で待
ちの状態となるので、システムバス・コントロー
ル信号MRDCが出るまでの時間は一定しない。
セマフオアに対してリードを行うと、デユーダ1
2の出力とANDがとられセマフオアリード信号
S1が発生する。システムバス・コントロール信
号MRDCはローカルバス・コントロール信号
MEMRがインアクテイブになつた後にインアク
テイブになるので、信号S1がインアクテイブに
なるタイミングも信号MEMRがインアクテイブ
になるタイミングよりも遅れる。したがつて、マ
イクロプロセツサがセマフオアをリードする場合
は、信号S1で3状態バツフア14dのゲートが
開いている間に信号MEMRでDタイプFF14c
のQ出力の状態をリードする。マイクロプロセツ
サがリードし終つた直後、信号MRDCの立上り
エツジでDタイプFF14cのQ出力はHレベル
になる。もともとQ出力がHレベルの時にはその
ままとする。なお、Q―1は以前からリセツト状
態にある場合のDタイプFF14cのQ出力、Q
−2は以前からセツト状態にある場合のDタイプ
FF14cのQ出力である。 Next, the operation of the semaphore circuit configured as shown in FIG. 3 will be explained. In the case of semaphore read, as shown in FIG.
MEMR is output. When the memory is placed in the system address space ST, the bus arbiter generates the system bus control signal MRDC. At this time, if another microprocessor is using the multibus 11, it will be in a busy state and in a waiting state, so the time until the system bus control signal MRDC is output is not constant.
When a read is performed on a semaphore, deuda 1
2 is ANDed to generate a semaphore read signal S1. System bus control signal MRDC is local bus control signal
Since MEMR becomes inactive after becoming inactive, the timing at which the signal S1 becomes inactive is also delayed from the timing at which the signal MEMR becomes inactive. Therefore, when the microprocessor reads the semaphore, the D type FF 14c is read by the signal MEMR while the gate of the 3-state buffer 14d is open by the signal S1.
Read the status of the Q output. Immediately after the microprocessor finishes reading, the Q output of the D type FF14c goes to H level at the rising edge of the signal MRDC. Originally, when the Q output is at H level, it remains as it is. In addition, Q-1 is the Q output of the D type FF14c when it has been in the reset state, Q
-2 is D type when it has been in the set state from before.
This is the Q output of FF14c.
セマフオアライトの場合には第6図から明らか
なようにセマフオアリードの場合と同様にして
NANDゲート14bから信号S2が発生する。
この信号S2により、前記DタイプFF14cの
出力がリセツトされ、セマフオの状態が“0”に
リセツトされる。これは、8086例ではMOV〓
SEMAPHORE,0を実行したことに相当する。 In the case of semaphore or write, as is clear from Figure 6, the same procedure as in the case of semaphore or read is applied.
A signal S2 is generated from the NAND gate 14b.
This signal S2 resets the output of the D type FF 14c and resets the state of the semaphore to "0". This means that in 8086 cases MOV〓
This corresponds to executing SEMAPHORE,0.
以上詳記したように本発明によれば、第3図に
示すセマフオア回路を使用することにより、マル
チバスを1サイクルリードアクセス間にセマフオ
アのリードとデータライトが可能となり、例えば
インテル社8085Aの場合の58クロツクに相当する
部分のうち、LDA SEMA ADDRESSの13クロ
ツク分を除いた45クロツク分つまり1クロツク
0.2μsとすれば9μsの減少が図れ、通常の共有資源
のアクセスと同じ時間でセマフオアチエツクがで
きる。従つて、マルチ・プロセツサ構成をとつて
負荷分散を行ない、かつ高速のデータを転送する
システムにおいても、各マイクロプロセツサ間ア
クセスの協調を保ちながら共有資源のアクセスが
可能であるマルチ・プロセツサ・システムの共有
資源アクセス方式を提供できる。
As detailed above, according to the present invention, by using the semaphore circuit shown in FIG. 3, it is possible to read and write data during one cycle read access of the multibus. For example, in the case of Intel Corporation 8085A, Of the portion equivalent to 58 clocks of , 45 clocks excluding 13 clocks of LDA SEMA ADDRESS, or 1 clock
If it is set to 0.2 μs, the time can be reduced by 9 μs, and the semaphore check can be performed in the same time as accessing a normal shared resource. Therefore, even in a system that uses a multi-processor configuration to perform load distribution and transfer high-speed data, a multi-processor system that allows access to shared resources while maintaining access coordination between each microprocessor is possible. can provide a shared resource access method.
第1図はマルチ・プロセツサシステムの構成
図、第2図ないし第6図は本発明方式の一実施例
を説明するために示したもので、第2図はシステ
ムメモリの構成例図、第3図はセマフオア回路の
構成図、第4図はアドレスマツプ図、第5図およ
び第6図はセマフオアリードおよびセマフオアラ
イトの場合のタイムチヤートである。
11……マルチバス、12……デコーダ、13
a,13b……共有メモリ、14……セマフオア
回路、14a,14b……NANDゲート、14
c……DタイプFF、14d……3状態バツフア。
FIG. 1 is a configuration diagram of a multi-processor system, FIGS. 2 to 6 are shown to explain an embodiment of the method of the present invention, and FIG. 2 is an example configuration diagram of a system memory. FIG. 3 is a block diagram of the semaphore circuit, FIG. 4 is an address map diagram, and FIGS. 5 and 6 are time charts for semaphore read and semaphore write. 11...Multibus, 12...Decoder, 13
a, 13b...Shared memory, 14...Semaphore circuit, 14a, 14b...NAND gate, 14
c...D type FF, 14d...3 state buffer.
Claims (1)
チ・プロセツサ・システムにおいて、共有資源の
同時アクセスを防ぐために−のマイクロプロセツ
サがアクセスする場合に、他方のアクセスを禁止
する優先制御回路を持ち、前記マイクロプロセツ
サがバスロツク機能を持たない場合、共有資源の
アクセスの協調を保つために各マイクロプロセツ
サから共通にアクセス可能であり、かつマルチ・
プロセツサ・システムのローカルバスのバスコン
トローラ信号とシステムバスコントローラ信号の
変化するタイミングの差を利用して、内臓するフ
リツプ・フロツプの出力のリードとライトを行な
うセマフオア回路を備え、アクセス時間を最小と
したことを特徴とするマルチ・プロセツサ・シス
テムの共有資源アクセス方式。1. In a multi-processor system composed of a plurality of microprocessors, in order to prevent simultaneous access to shared resources, when one microprocessor accesses a shared resource, it has a priority control circuit that prohibits access from the other microprocessor. If the processor does not have a bus lock function, it must be commonly accessible from each microprocessor and multi-processor in order to maintain coordination of access to shared resources.
It is equipped with a semaphore circuit that reads and writes the output of the built-in flip-flop by utilizing the difference in timing between the bus controller signal of the local bus of the processor system and the system bus controller signal, minimizing access time. A shared resource access method for a multi-processor system characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57233539A JPS59123063A (en) | 1982-12-28 | 1982-12-28 | Access system of shared resource of multi-processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57233539A JPS59123063A (en) | 1982-12-28 | 1982-12-28 | Access system of shared resource of multi-processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59123063A JPS59123063A (en) | 1984-07-16 |
JPS6322344B2 true JPS6322344B2 (en) | 1988-05-11 |
Family
ID=16956631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57233539A Granted JPS59123063A (en) | 1982-12-28 | 1982-12-28 | Access system of shared resource of multi-processor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59123063A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0222630U (en) * | 1988-07-28 | 1990-02-15 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006151560A (en) * | 2004-11-26 | 2006-06-15 | Mitsubishi Electric Corp | Control device for passenger conveyor |
-
1982
- 1982-12-28 JP JP57233539A patent/JPS59123063A/en active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0222630U (en) * | 1988-07-28 | 1990-02-15 |
Also Published As
Publication number | Publication date |
---|---|
JPS59123063A (en) | 1984-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5392436A (en) | Two level system bus arbitration having lower priority multiprocessor arbitration and higher priority in a single processor and a plurality of bus masters arbitration | |
US5555425A (en) | Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters | |
US5067071A (en) | Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus | |
US5625779A (en) | Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge | |
JPS5837585B2 (en) | Keisan Kisouchi | |
US20030126381A1 (en) | Low latency lock for multiprocessor computer system | |
JPH0218657A (en) | Multiple bus microcomputer system | |
JPH0833875B2 (en) | Bus arbitration system | |
JPH05197671A (en) | Master and slave communication method | |
JP2007219816A (en) | Multiprocessor system | |
JP2004133942A (en) | Data bus system and inter-bus crossing accessing method | |
JPS6322344B2 (en) | ||
JP2507071B2 (en) | Bus lock control system | |
JPS59229662A (en) | Common memory control circuit | |
JPS63175964A (en) | Shared memory | |
JPH05257903A (en) | Multiprocessor system | |
JPH054710B2 (en) | ||
JPH044455A (en) | Memory access arbitration circuit | |
JPH0724044B2 (en) | Computer system with DMA access | |
JPS626365A (en) | Multi-processor system | |
JPH0575140B2 (en) | ||
JPS63298555A (en) | Shared memory control system | |
JPS642985B2 (en) | ||
JP2001075826A (en) | System for high-efficiency semaphore processing by parallel computer | |
JPS5830676B2 (en) | Memorinovushiyahoshiki |