JPH0365751A - 多重プロセッサシステム - Google Patents
多重プロセッサシステムInfo
- Publication number
- JPH0365751A JPH0365751A JP20157989A JP20157989A JPH0365751A JP H0365751 A JPH0365751 A JP H0365751A JP 20157989 A JP20157989 A JP 20157989A JP 20157989 A JP20157989 A JP 20157989A JP H0365751 A JPH0365751 A JP H0365751A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- flop
- flip
- clock
- 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
- 230000007717 exclusion Effects 0.000 claims abstract description 8
- 230000001360 synchronised effect Effects 0.000 abstract description 11
- 238000000034 method Methods 0.000 description 10
- 230000000630 rising effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は複数のプログラムを同時に並列処理する複数の
プロセッサと共通メモリを有する多重プロセッサシステ
ムに関する。
プロセッサと共通メモリを有する多重プロセッサシステ
ムに関する。
従来の技術
複数のプロセッサが共通に使用することのできるメモリ
を介して接続されている多重プロセッサシステムにおい
て、複数個の遂次型プログラムが同時に並列処理をおこ
ない、全体としてひとつの非同期処理を行なおうとする
場合、共通メモリ上にある共有データに対するアクセス
に際しては相互排除の実現が必要となる。
を介して接続されている多重プロセッサシステムにおい
て、複数個の遂次型プログラムが同時に並列処理をおこ
ない、全体としてひとつの非同期処理を行なおうとする
場合、共通メモリ上にある共有データに対するアクセス
に際しては相互排除の実現が必要となる。
従来から、上記相互排除を実現するための手法としてい
くつかの同期基本命令系が提案されている。これらの同
期基本命令を実現する際、同期基本命令の実行の内のあ
る範囲の動作については、他の同期基本命令の実行によ
って妨害されてはならない部分(非可分操作〉が必ず存
在する。
くつかの同期基本命令系が提案されている。これらの同
期基本命令を実現する際、同期基本命令の実行の内のあ
る範囲の動作については、他の同期基本命令の実行によ
って妨害されてはならない部分(非可分操作〉が必ず存
在する。
例として、同期基本命令のうちのP−■オペレーション
について非可分操作を説明する。第5図に、Pオペレー
ションのフローチャートを、第6図に■オペレーション
のフローチャートを示す。ここで、第5図におけるブロ
ック101の動作および第6図におけるブロック201
の動作は、保護変数S (Semaphore)を更新
するもので、それぞれS−8−1およびS’−S+1で
示されているが、この動作を更に分解すると、第7図に
示す動作となる。第7図においてブロック301の動作
とブロック303の動作との間に、もし、他のプロセッ
サ上で動作するプログラムで実行されたPまたはVオペ
レーションによってブロック303の動作が実行された
とすると、いま、問題にしているプログラムにとって、
ブロック301で読んだSの値は本当の値ではなかった
ことになり、正しいP−Vオペレーションは成立しない
。
について非可分操作を説明する。第5図に、Pオペレー
ションのフローチャートを、第6図に■オペレーション
のフローチャートを示す。ここで、第5図におけるブロ
ック101の動作および第6図におけるブロック201
の動作は、保護変数S (Semaphore)を更新
するもので、それぞれS−8−1およびS’−S+1で
示されているが、この動作を更に分解すると、第7図に
示す動作となる。第7図においてブロック301の動作
とブロック303の動作との間に、もし、他のプロセッ
サ上で動作するプログラムで実行されたPまたはVオペ
レーションによってブロック303の動作が実行された
とすると、いま、問題にしているプログラムにとって、
ブロック301で読んだSの値は本当の値ではなかった
ことになり、正しいP−Vオペレーションは成立しない
。
よって、第5図、第6図のブロック101.201の動
作は非可分操作である。
作は非可分操作である。
非可分操作を多重プロセッサシステムにおいて実行する
ためには、何らかのハードウェアレベルの機能が必要で
ある。従来から提案されている方式には次の2つがある
。
ためには、何らかのハードウェアレベルの機能が必要で
ある。従来から提案されている方式には次の2つがある
。
(1) テストアンドセット(testandset
)命令を用いる。
)命令を用いる。
(2)共通メモリのロック(Lock)命令、アンロッ
ク(Unlock )命令を用いる。
ク(Unlock )命令を用いる。
testandset命令は、ハードウェア命令の一種
で、変数を読み出し、その値をあらかじめ決められた領
域へ格納し、上記変数を1にセットするものである。例
として、testandset (a 、 b )命令
の操作を第8図に示す。第8図から明らかな様に、te
standset命令そのものも非可分操作である。す
なわち、testandset命令とは、同期基本命令
の実現のために必要な各種の非可分操作を単一の非可分
操作に集約したものと言える。
で、変数を読み出し、その値をあらかじめ決められた領
域へ格納し、上記変数を1にセットするものである。例
として、testandset (a 、 b )命令
の操作を第8図に示す。第8図から明らかな様に、te
standset命令そのものも非可分操作である。す
なわち、testandset命令とは、同期基本命令
の実現のために必要な各種の非可分操作を単一の非可分
操作に集約したものと言える。
testandset命令の実現方法としては、特殊な
ハードウェアのフラグを持ち、非可分操作をハードウェ
ア的に実現しているものもあるが、もしフラグを共通メ
モリ上に持つなら結局(2)の共通メモリのLock、
Unlock機能を用いることになる。第9図にte
standset命令を使用したPオペレーションの動
作を示す。
ハードウェアのフラグを持ち、非可分操作をハードウェ
ア的に実現しているものもあるが、もしフラグを共通メ
モリ上に持つなら結局(2)の共通メモリのLock、
Unlock機能を用いることになる。第9図にte
standset命令を使用したPオペレーションの動
作を示す。
C)の共通メモリのLock、 Unlock命令を用
いる方法は非可分動作の間、他のプログラムが共通メモ
リ上のSをアクセスすることができない様に共通メモリ
全体を他プログラムからアクセス禁止にする方法である
。第10図にLock、 Unlock命令を使用した
Pオペレーションの動作を示す。尚、Lock命令自体
はアービタ機能を持ったハードウェアで実現されるのが
普通である。
いる方法は非可分動作の間、他のプログラムが共通メモ
リ上のSをアクセスすることができない様に共通メモリ
全体を他プログラムからアクセス禁止にする方法である
。第10図にLock、 Unlock命令を使用した
Pオペレーションの動作を示す。尚、Lock命令自体
はアービタ機能を持ったハードウェアで実現されるのが
普通である。
発明が解決しようとする課題
以上説明した従来の方法では次に示す欠点があった。(
2)の方式は共通メモリ全体を他プログラムから使用禁
止にしてしまうため、同期基本命令以外の目的で共通メ
モリを使用しようとするプログラムに待動作をさせる事
になり性能上の問題がある。(1)の方式はもし共通メ
モリ上にフラグを持つなら結局(2)の共通メモリのL
ock、 Unlock機能を用いることになり、(2
)と同じ問題がある。また、フラグをハードウェアで持
つ場合には、フラグの数が固定になってしまい、プログ
ラムに応じた必要なフラグを用意できないという問題が
ある。
2)の方式は共通メモリ全体を他プログラムから使用禁
止にしてしまうため、同期基本命令以外の目的で共通メ
モリを使用しようとするプログラムに待動作をさせる事
になり性能上の問題がある。(1)の方式はもし共通メ
モリ上にフラグを持つなら結局(2)の共通メモリのL
ock、 Unlock機能を用いることになり、(2
)と同じ問題がある。また、フラグをハードウェアで持
つ場合には、フラグの数が固定になってしまい、プログ
ラムに応じた必要なフラグを用意できないという問題が
ある。
課題を解決するための手段
本発明の目的は、プロセッサが相互排除を必要とする命
令を実行する際、各プロセッサに対して互いに重複しな
い排他的クロックを与えるタイミング装置と、プロセッ
サからセット・リセット可能なフリップフロップにより
、ただ一つのプロセッサのみがクリティカルセクション
に入ることができ、非可分操作のみを互いに排他的に実
行し、一つのプロセッサで非可分操作が実行されても他
のプロセッサで動作するプログラムの非可分操作でない
部分の共通メモリの使用を可能とし、また、testa
ndset命令用のフラグの数にプログラムが影響され
ることのない、柔軟でかつ性能良く同期基本命令を実現
できる多重プロセッサシステムを提供することにある。
令を実行する際、各プロセッサに対して互いに重複しな
い排他的クロックを与えるタイミング装置と、プロセッ
サからセット・リセット可能なフリップフロップにより
、ただ一つのプロセッサのみがクリティカルセクション
に入ることができ、非可分操作のみを互いに排他的に実
行し、一つのプロセッサで非可分操作が実行されても他
のプロセッサで動作するプログラムの非可分操作でない
部分の共通メモリの使用を可能とし、また、testa
ndset命令用のフラグの数にプログラムが影響され
ることのない、柔軟でかつ性能良く同期基本命令を実現
できる多重プロセッサシステムを提供することにある。
作用
本発明によれば、プロセッサが相互排除を必要とする命
令を実行する際、タイミング装置により与えられるクロ
ックがこのプロセッサを選択している期間であり、かつ
フリップフロップがリセット状態であれば、前記命令を
実行するが、クロックがこのプロセッサを選択していな
いか、または、前記フリップフロップがセット状態であ
れば、このプロセッサ自身のシステムクロックを停止し
、前記命令の実行を停止することを特徴とする多重プロ
セッサシステムが得られる。
令を実行する際、タイミング装置により与えられるクロ
ックがこのプロセッサを選択している期間であり、かつ
フリップフロップがリセット状態であれば、前記命令を
実行するが、クロックがこのプロセッサを選択していな
いか、または、前記フリップフロップがセット状態であ
れば、このプロセッサ自身のシステムクロックを停止し
、前記命令の実行を停止することを特徴とする多重プロ
セッサシステムが得られる。
実施例
次に本発明の実施例について図面を参照して説明する。
第1図に本発明の一実施例を示す。プロセッサ1は各々
専用バス2に接続された専用メモリ3を持ち、他のプロ
セッサlとは独立に処理が可能となっている。複数のプ
ログラムによる並列処理をおこなう為には、プロセッサ
1それぞれのプログラムが、相互にデータの授受をおこ
なったり、同期基本命令の実行によってプログラム間の
同期をとる必要がある。このため、全ての専用バス2は
、バスカプラ4を通して、共有バス5を介し、1つの共
有メモリ6に接続されている。共通メモリ6を複数のプ
ロセッサ1から利用するためには、共通バス5の競合の
問題を解決する必要があるが、それは本実施例の主旨で
はないので、図から省いである。各プロセッサ1からは
、FFS7゜FFR8が出力され、それぞれORゲート
13゜14を介して、フリップフロップ9のS入力、R
入力に接続される。プリップ70ツブ9のQ出力10
(ACTIVE>は、全プロセッサに接続される。タイ
ミング装置11からは、各プロセッサ1に対する選択信
号12が、プロセッサ1へ接続され、各選択信号12は
、互いに重複しない排他的クロックである。
専用バス2に接続された専用メモリ3を持ち、他のプロ
セッサlとは独立に処理が可能となっている。複数のプ
ログラムによる並列処理をおこなう為には、プロセッサ
1それぞれのプログラムが、相互にデータの授受をおこ
なったり、同期基本命令の実行によってプログラム間の
同期をとる必要がある。このため、全ての専用バス2は
、バスカプラ4を通して、共有バス5を介し、1つの共
有メモリ6に接続されている。共通メモリ6を複数のプ
ロセッサ1から利用するためには、共通バス5の競合の
問題を解決する必要があるが、それは本実施例の主旨で
はないので、図から省いである。各プロセッサ1からは
、FFS7゜FFR8が出力され、それぞれORゲート
13゜14を介して、フリップフロップ9のS入力、R
入力に接続される。プリップ70ツブ9のQ出力10
(ACTIVE>は、全プロセッサに接続される。タイ
ミング装置11からは、各プロセッサ1に対する選択信
号12が、プロセッサ1へ接続され、各選択信号12は
、互いに重複しない排他的クロックである。
第2図に第1図の中で示したプロセッサ1についてその
内部構成の一部を示す。本図で示した範囲は主要部分の
みで、演算部といった部分については省いである。
内部構成の一部を示す。本図で示した範囲は主要部分の
みで、演算部といった部分については省いである。
同期基本命令の命令語が、専用メモリ3又は、共通メモ
リ6から読み出され、第2図のインストラクションレジ
スタ802へ信号線801を介して入力される。インス
トラクションレジスタに格納された同期基本命令の命令
語は、信号線803を介してマツピングROM804に
入力され、命令語の命令コードから、その命令を実行す
るための一連のマイクロプログラムの開始番地805を
発生する。マイクロプログラムの開始番地805は、プ
ロセッサ1のシステムクロックの一つであるCKA82
3をANDゲート825でゲートした出力CLK826
の立ち上がりで、スタートアドレスレジスタ806に取
り込まれる。スタートアドレスレジスタ806の内容は
、信号線807を介してマルチプレクサ821に接続さ
れる。マルチプレクサ821は、パイプラインレジスタ
811から出力されるマイクロインストラクションのネ
タストアドレス選択フィールド822の値に応じて、上
記スタートアドレスレジスタ806の出力807.マイ
クロプログラムカウンタレジスタ819の出力820.
パイプラインレジスタ811から出力されるマイクロイ
ンストラクションのアドレスフィールド812の中から
一つを選択する。マルチプレクサ821の出力808に
よりマイクロプログラムROM809からマイクロイン
ストラクションが選択され、CLK826の立ち上がり
で、信号線810を介してパイプラインレジスタ811
に取り込まれる。インクリメンタ817は、マルチプレ
クサの出力808を1だけ増分し、その出力818がC
LK826の立ち上がりでマイクロプログラムカウンタ
レジスタ819に取り込まれる。CLK826は、AN
Dゲート825の出力であり、エツジトリガDタイププ
リップフロップ815のQ出力が論理1であればCKA
823がANDゲート825を通して出力されるが、上
記Q出力が論理Oであれば、CLK826は論理φに固
定され、従ってプロセッサ1は停止する。エツジトリガ
Dタイプフリップ70ツブ815のD入力には、パイプ
ラインレジスタ811から出力されるマイクロインスト
ラクションの排他実行要求ビット827が接続され、C
KB824の立ち上がりエツジで取り込まれる。また、
上記フリップフロップ815のすセット入力には、第1
図の中で示したフリップフロップのQ出力10と、プロ
セッサ選択信号12と、CKB824をANDゲート8
13により論理積をとった信号814が接続される。
リ6から読み出され、第2図のインストラクションレジ
スタ802へ信号線801を介して入力される。インス
トラクションレジスタに格納された同期基本命令の命令
語は、信号線803を介してマツピングROM804に
入力され、命令語の命令コードから、その命令を実行す
るための一連のマイクロプログラムの開始番地805を
発生する。マイクロプログラムの開始番地805は、プ
ロセッサ1のシステムクロックの一つであるCKA82
3をANDゲート825でゲートした出力CLK826
の立ち上がりで、スタートアドレスレジスタ806に取
り込まれる。スタートアドレスレジスタ806の内容は
、信号線807を介してマルチプレクサ821に接続さ
れる。マルチプレクサ821は、パイプラインレジスタ
811から出力されるマイクロインストラクションのネ
タストアドレス選択フィールド822の値に応じて、上
記スタートアドレスレジスタ806の出力807.マイ
クロプログラムカウンタレジスタ819の出力820.
パイプラインレジスタ811から出力されるマイクロイ
ンストラクションのアドレスフィールド812の中から
一つを選択する。マルチプレクサ821の出力808に
よりマイクロプログラムROM809からマイクロイン
ストラクションが選択され、CLK826の立ち上がり
で、信号線810を介してパイプラインレジスタ811
に取り込まれる。インクリメンタ817は、マルチプレ
クサの出力808を1だけ増分し、その出力818がC
LK826の立ち上がりでマイクロプログラムカウンタ
レジスタ819に取り込まれる。CLK826は、AN
Dゲート825の出力であり、エツジトリガDタイププ
リップフロップ815のQ出力が論理1であればCKA
823がANDゲート825を通して出力されるが、上
記Q出力が論理Oであれば、CLK826は論理φに固
定され、従ってプロセッサ1は停止する。エツジトリガ
Dタイプフリップ70ツブ815のD入力には、パイプ
ラインレジスタ811から出力されるマイクロインスト
ラクションの排他実行要求ビット827が接続され、C
KB824の立ち上がりエツジで取り込まれる。また、
上記フリップフロップ815のすセット入力には、第1
図の中で示したフリップフロップのQ出力10と、プロ
セッサ選択信号12と、CKB824をANDゲート8
13により論理積をとった信号814が接続される。
今、スタートアドレスレジスタに格納されている、同期
基本命令を実行するためのマイクロプログラムの開始番
地を、ネクストアドレス選択フィールド822により選
択すると、次のCLK826の立ち上がりで、一連のマ
イクロプログラムの第1マイクロインストラクシヨンが
、パイプラインレジスタ811に取り込まれる。上記第
1マイクロインストラクシヨンのネクストアドレス選択
フィールド822は、ネタストアドレスソースとしてマ
イクロプログラムカウンタ819を選択、また、排他実
行要求ビット827を論理1とする。上記排他実行要求
ビット827の値は、CKB824の立ち上がりエツジ
でDタイプフリッププロップ815に取り込まれ、回出
力816を論理Oにする。ここで、フリップフロップ9
のQ出力10とプロセッサ選択信号12の両方共論理1
であれば、CKB824が論理1の期間、上記Dタイプ
フリップフロップ815がリセットされ、Q出力816
は論理1にもどる。従って、CLK826は通常通り出
力され、プロセッサ1は第2マイクロインストラクシヨ
ンを実行することができる。一方、フリッププロップ9
のQ出力10とプロセッサ選択信号のどちらか一方でも
論理0であれば、上記Dタイプフリップフロップ815
はリセットされず、Q出力は論理Oのままなので、次の
マシンサイクル以降CLK826が出力されず、プロセ
ッサ1は命令の実行を停止する。その後、フリップフロ
ップ9の百出力10とプロセッサ選択信号の両方共論理
1になると、Dタイプフリップフロップ815がリセッ
トされ、プロセッサ1は、第2マイクロインストラクシ
ヨンから実現を再開できる。第2マイクロインストラク
シヨンでは、排他実行制御ビット827を論理Oにもど
すと共に、FFS7を論理1としフリップフロップ9を
セットする。以降のマイクロインストラクションで、相
互排除を要する命令の実行を行い、実行終了時点でFF
R8を論理1とすることによりフリップフロップ9をリ
セットする。
基本命令を実行するためのマイクロプログラムの開始番
地を、ネクストアドレス選択フィールド822により選
択すると、次のCLK826の立ち上がりで、一連のマ
イクロプログラムの第1マイクロインストラクシヨンが
、パイプラインレジスタ811に取り込まれる。上記第
1マイクロインストラクシヨンのネクストアドレス選択
フィールド822は、ネタストアドレスソースとしてマ
イクロプログラムカウンタ819を選択、また、排他実
行要求ビット827を論理1とする。上記排他実行要求
ビット827の値は、CKB824の立ち上がりエツジ
でDタイプフリッププロップ815に取り込まれ、回出
力816を論理Oにする。ここで、フリップフロップ9
のQ出力10とプロセッサ選択信号12の両方共論理1
であれば、CKB824が論理1の期間、上記Dタイプ
フリップフロップ815がリセットされ、Q出力816
は論理1にもどる。従って、CLK826は通常通り出
力され、プロセッサ1は第2マイクロインストラクシヨ
ンを実行することができる。一方、フリッププロップ9
のQ出力10とプロセッサ選択信号のどちらか一方でも
論理0であれば、上記Dタイプフリップフロップ815
はリセットされず、Q出力は論理Oのままなので、次の
マシンサイクル以降CLK826が出力されず、プロセ
ッサ1は命令の実行を停止する。その後、フリップフロ
ップ9の百出力10とプロセッサ選択信号の両方共論理
1になると、Dタイプフリップフロップ815がリセッ
トされ、プロセッサ1は、第2マイクロインストラクシ
ヨンから実現を再開できる。第2マイクロインストラク
シヨンでは、排他実行制御ビット827を論理Oにもど
すと共に、FFS7を論理1としフリップフロップ9を
セットする。以降のマイクロインストラクションで、相
互排除を要する命令の実行を行い、実行終了時点でFF
R8を論理1とすることによりフリップフロップ9をリ
セットする。
第3図に、前述した一連の動作のタイミング図を示す。
図では、プロセッサ選択信号12が論理Oであった為、
第2マイクロインストラクシヨンに進まない様子を示し
ている。今、CKA823の同期すなわちマシンサイク
ルをMCYとすると、プロセッサ選択信号12とブリッ
プフロップ9のQ出力10の両方が論理1となるという
条件がそろったサイクルから、フリップフロップ9がセ
ットされ終わるサイクルまで、それぞれのサイクルを含
めて3マシンサイクルを要する。従って、プロセッサ(
n)のマシンサイクルをMCY(n)とすると、プロセ
ッサ(n)が、フリップフロップ9をセットしようとし
ている間に、フリップ70ツブ<n+1)が選択されて
フリップフロップ9を同時にセットし始めることを避け
るため、第4図に示すように、プロセッサ(n)に対す
る選択信号PHnと、プロセッサ(n+1)に対する選
択信号PHn+1の間には、3MCY以上の間隔をあけ
ている。
第2マイクロインストラクシヨンに進まない様子を示し
ている。今、CKA823の同期すなわちマシンサイク
ルをMCYとすると、プロセッサ選択信号12とブリッ
プフロップ9のQ出力10の両方が論理1となるという
条件がそろったサイクルから、フリップフロップ9がセ
ットされ終わるサイクルまで、それぞれのサイクルを含
めて3マシンサイクルを要する。従って、プロセッサ(
n)のマシンサイクルをMCY(n)とすると、プロセ
ッサ(n)が、フリップフロップ9をセットしようとし
ている間に、フリップ70ツブ<n+1)が選択されて
フリップフロップ9を同時にセットし始めることを避け
るため、第4図に示すように、プロセッサ(n)に対す
る選択信号PHnと、プロセッサ(n+1)に対する選
択信号PHn+1の間には、3MCY以上の間隔をあけ
ている。
発明の効果
本発明は、以上説明したように、プロセッサが相互排除
を要する命令を実行する際、タイミング装置により与え
られるクロックがこのプロセッサを選択している期間で
あり、かつ、フリップフロップがリセット状態であれば
、前記命令を実行するが、クロックがこのプロセッサを
選択していないか、または、前記フリップフロップがセ
ット状態であれば、このプロセッサ自身のシステムクロ
ックを停止し、前記命令を実行せず待ち状態に入ること
により、1つのプロセッサのみが、非可分操作のみを排
他的に実行し、1つのプロセッサが共通メモリを非可分
操作により専有することなく効率良く、また、test
andset命令のフラグの数に影響されることなく柔
軟に命令を実行できる効果がある。
を要する命令を実行する際、タイミング装置により与え
られるクロックがこのプロセッサを選択している期間で
あり、かつ、フリップフロップがリセット状態であれば
、前記命令を実行するが、クロックがこのプロセッサを
選択していないか、または、前記フリップフロップがセ
ット状態であれば、このプロセッサ自身のシステムクロ
ックを停止し、前記命令を実行せず待ち状態に入ること
により、1つのプロセッサのみが、非可分操作のみを排
他的に実行し、1つのプロセッサが共通メモリを非可分
操作により専有することなく効率良く、また、test
andset命令のフラグの数に影響されることなく柔
軟に命令を実行できる効果がある。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示すプロセッサ1を説明するブロック図、第3
図はプロセッサ1の動作を説明するタイミングチャート
、第4図はタイミング装置から出力される各プロセッサ
選択信号の関係を示すタイミングチャート、第5図、第
6図はそれぞれPオペレーションのフローチャートとV
オペレーションのフローチャート、第7図は第5図、第
6図に示すブロック101,201の詳細を説明するフ
ローチャート、第8図はtestandset命令のフ
ローチャート、第9図はtestandset命令を用
いたPオペレーションのフローチャート、第10図はL
ock、 Unlock命令を用いたPオペレーション
のフローチャートである。 1・・・・・・プロセッサ、3・・・・・・専用メモリ
、4・・・・・・バスカブラ、6・・・・・・共通メモ
リ、9・・・・・・フリップフロップ、11・・・・・
・タイミング装置、802・・・・・・インストラクシ
ョンレジスタ、804・・・・・・マツピングROM、
806・・・・・・スタートアドレスレジスタ、809
・・・・・・マイクロプログラムROM、811・・・
・・・パイプラインレジスタ、815・・・・・・エツ
ジトリガDタイプフリップフロップ、817・・・・・
・インクリメンタ、819・・・・・・マイクロプログ
ラムカウンタレジスタ、821・・・・・・マルチプレ
クサ。
第1図に示すプロセッサ1を説明するブロック図、第3
図はプロセッサ1の動作を説明するタイミングチャート
、第4図はタイミング装置から出力される各プロセッサ
選択信号の関係を示すタイミングチャート、第5図、第
6図はそれぞれPオペレーションのフローチャートとV
オペレーションのフローチャート、第7図は第5図、第
6図に示すブロック101,201の詳細を説明するフ
ローチャート、第8図はtestandset命令のフ
ローチャート、第9図はtestandset命令を用
いたPオペレーションのフローチャート、第10図はL
ock、 Unlock命令を用いたPオペレーション
のフローチャートである。 1・・・・・・プロセッサ、3・・・・・・専用メモリ
、4・・・・・・バスカブラ、6・・・・・・共通メモ
リ、9・・・・・・フリップフロップ、11・・・・・
・タイミング装置、802・・・・・・インストラクシ
ョンレジスタ、804・・・・・・マツピングROM、
806・・・・・・スタートアドレスレジスタ、809
・・・・・・マイクロプログラムROM、811・・・
・・・パイプラインレジスタ、815・・・・・・エツ
ジトリガDタイプフリップフロップ、817・・・・・
・インクリメンタ、819・・・・・・マイクロプログ
ラムカウンタレジスタ、821・・・・・・マルチプレ
クサ。
Claims (1)
- 少なくとも2つのプロセッサと、前記各プロセッサに対
して互いに重複しない排他的クロックを与えるタイミン
グ装置と、前記プロセッサからセット・リセット可能な
フリップフロップとから構成される多重プロセッサシス
テムであって、前記プロセッサは、相互排除を必要とす
る命令を実行する際、前記タイミング装置により与えら
れるクロックがこのプロセッサを選択している期間であ
り、かつ前記フリップフロップがリセット状態であると
きに、前記命令を実行し、一方、前記クロックがこのプ
ロセッサを選択していないか、または、前記フリップフ
ロップがセット状態であるときには、このプロセッサ自
身のシステムクロックを停止し、前記命令の実行を停止
する機能を備えたことを特徴とする多重プロセッサシス
テム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20157989A JPH0365751A (ja) | 1989-08-03 | 1989-08-03 | 多重プロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20157989A JPH0365751A (ja) | 1989-08-03 | 1989-08-03 | 多重プロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0365751A true JPH0365751A (ja) | 1991-03-20 |
Family
ID=16443398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20157989A Pending JPH0365751A (ja) | 1989-08-03 | 1989-08-03 | 多重プロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0365751A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100488207B1 (ko) * | 1998-06-15 | 2005-07-07 | 볼보 컨스트럭션 이키프먼트 홀딩 스웨덴 에이비 | 중장비의 붐과 아암의 연결구조 |
US7721634B2 (en) | 2004-06-25 | 2010-05-25 | Amada Company, Limited | Punch tool |
-
1989
- 1989-08-03 JP JP20157989A patent/JPH0365751A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100488207B1 (ko) * | 1998-06-15 | 2005-07-07 | 볼보 컨스트럭션 이키프먼트 홀딩 스웨덴 에이비 | 중장비의 붐과 아암의 연결구조 |
US7721634B2 (en) | 2004-06-25 | 2010-05-25 | Amada Company, Limited | Punch tool |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216174B1 (en) | System and method for fast barrier synchronization | |
US3528062A (en) | Program interlock arrangement,including task suspension and new task assignment | |
US4354227A (en) | Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles | |
US4112490A (en) | Data transfer control apparatus and method | |
US5524247A (en) | System for scheduling programming units to a resource based on status variables indicating a lock or lock-wait state thereof | |
US7506339B2 (en) | High performance synchronization of accesses by threads to shared resources | |
US3528061A (en) | Interlock arrangement | |
US4310880A (en) | High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit | |
JPH11224205A (ja) | プロセス制御システム | |
US4443848A (en) | Two-level priority circuit | |
US20040187118A1 (en) | Software barrier synchronization | |
US3706077A (en) | Multiprocessor type information processing system with control table usage indicator | |
JPH0365751A (ja) | 多重プロセッサシステム | |
KR940011041B1 (ko) | 마이크로컴퓨터 | |
Chen et al. | A three-slot asynchronous reader/writer mechanism for multiprocessor real-time systems | |
JPS6326907B2 (ja) | ||
JPH0365753A (ja) | 多重プロセッサシステム | |
Alur et al. | Contention—free complexity of shared memory algorithms | |
JPH01500065A (ja) | 複数制御ストアを有するミクロプログラム情報処理システムの装置と方法 | |
JP2870812B2 (ja) | 並列処理プロセッサ | |
JPS5916054A (ja) | マイクロ・プロセツサ | |
JP2770420B2 (ja) | マイクロプログラム制御方式 | |
JPS6149268A (ja) | 共用メモリアクセス方式 | |
JPH0542027B2 (ja) | ||
JPS59100966A (ja) | マルチプロセツサシステムの共有バス制御方式 |