JPH03127162A - Cpuの共有メモリのアクセス方法 - Google Patents
Cpuの共有メモリのアクセス方法Info
- Publication number
- JPH03127162A JPH03127162A JP26746189A JP26746189A JPH03127162A JP H03127162 A JPH03127162 A JP H03127162A JP 26746189 A JP26746189 A JP 26746189A JP 26746189 A JP26746189 A JP 26746189A JP H03127162 A JPH03127162 A JP H03127162A
- Authority
- JP
- Japan
- Prior art keywords
- access
- shared memory
- cpu
- instruction
- wait
- 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
- 238000000034 method Methods 0.000 title claims description 6
- 230000006870 function Effects 0.000 claims abstract description 23
- 238000010586 diagram Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、共有メモリ方式のマルチCPUシステムにお
いて、ウェイト/ホールド機能を持たないCPUが共有
メモリをアクセスする場合のアクセス方法に関する。
いて、ウェイト/ホールド機能を持たないCPUが共有
メモリをアクセスする場合のアクセス方法に関する。
従来のウェイト/ホールド機能を持たないCPUを使用
した場合の共有メモリのアクセス方法を第5図と第6図
に基づいて説明する。
した場合の共有メモリのアクセス方法を第5図と第6図
に基づいて説明する。
第5図は従来の共有メモリ20とその周辺回路のブロッ
ク図である。図において、1はウェイト/ホールド機能
付CPU、2はウェイト/ホールド機能なしCPUであ
り、両者は共有メモリ20に共通にアクセス可能な構成
となっている。3^、 3Bは要求フラグ、4^、
4Bはアドレスバッファ、5^、 5Bはデータバッフ
ァ、6^、 6Bはコントロールゲート、7A、 7B
+*デコーダを示している。
ク図である。図において、1はウェイト/ホールド機能
付CPU、2はウェイト/ホールド機能なしCPUであ
り、両者は共有メモリ20に共通にアクセス可能な構成
となっている。3^、 3Bは要求フラグ、4^、
4Bはアドレスバッファ、5^、 5Bはデータバッフ
ァ、6^、 6Bはコントロールゲート、7A、 7B
+*デコーダを示している。
第61!Iはウェイト/ホールド機能付CPUIに搭載
される共有メモリ20にアクセスするときに使用するプ
ログラムのフローチャートである。
される共有メモリ20にアクセスするときに使用するプ
ログラムのフローチャートである。
ウェイト/ホールド機能なしCPU2に搭載されるプロ
グラムについても、第6図でCPU1゜CPU2をそt
LぞtLCPU2.CPUIと置き−換えることにより
実現することができる。
グラムについても、第6図でCPU1゜CPU2をそt
LぞtLCPU2.CPUIと置き−換えることにより
実現することができる。
従来の例では、いずれかのCPUが共有メモリ20をア
クセスする場合、他方のCPUがすでに共有メモリ20
を使用していないか要求フラグ3A、 3Bをチエツク
し、使用していなければ要求フラグ3A3Bをセットす
ることにより、他方のCPUに共有メモリ20を使用す
ることを宣言し、他方のCPUが使用していれば使用し
終わるまで待つ。
クセスする場合、他方のCPUがすでに共有メモリ20
を使用していないか要求フラグ3A、 3Bをチエツク
し、使用していなければ要求フラグ3A3Bをセットす
ることにより、他方のCPUに共有メモリ20を使用す
ることを宣言し、他方のCPUが使用していれば使用し
終わるまで待つ。
次に要求フラグ3A、 3Bをセットすると同時に他方
のCPUが要求フラグ3^、 3Bをセットしていない
かチエツクし、セットしていれば共有メモリ20のアク
セスが競合したと判断して、自分の要求フラグ3A、
3Bをクリアし、競合タイマをセットした後、タイムオ
ーバを待って再び要求フラグ3^、 3Bをチエツクす
る。他方のCPUが要求フラグ3A。
のCPUが要求フラグ3^、 3Bをセットしていない
かチエツクし、セットしていれば共有メモリ20のアク
セスが競合したと判断して、自分の要求フラグ3A、
3Bをクリアし、競合タイマをセットした後、タイムオ
ーバを待って再び要求フラグ3^、 3Bをチエツクす
る。他方のCPUが要求フラグ3A。
3Bをセットしていなければアクセスしていないと判断
して、共有メモリ20をアクセスした後、要求フラグ3
^、 3Bをクリアすることにより、他方のCPUが共
有メモリ20をアクセスできるようにしておく。
して、共有メモリ20をアクセスした後、要求フラグ3
^、 3Bをクリアすることにより、他方のCPUが共
有メモリ20をアクセスできるようにしておく。
従来の技術では、たかだか1バイトの共有メモリ内のデ
ータをアクセスする場合にも第6図に示す多くのプログ
ラムを必要とするため、アクセスに時間がかかっていた
。
ータをアクセスする場合にも第6図に示す多くのプログ
ラムを必要とするため、アクセスに時間がかかっていた
。
さらに、他方のCPUが共有メモリのアクセスをブロッ
ク単位(複数バイトからなる)で実行すると、相手のC
PUが使用し終わるまで待つための待ち時間が長くなり
、その結果さらにアクセスに時間ガかかることになって
いた。
ク単位(複数バイトからなる)で実行すると、相手のC
PUが使用し終わるまで待つための待ち時間が長くなり
、その結果さらにアクセスに時間ガかかることになって
いた。
そこで本発明は、アクセス時間の短縮を図ることを目的
とする。
とする。
この目的を達成するため、本発明のCPUの共有メモリ
のアクセス方法は、ウェイト/ホールド機能を持たない
CPUの共有メモリのアクセス方法において、前記CP
Uが共有メモリをアクセスしようとした時、他方のCP
Uが共有メモリをアクセスしていない場合にはそのまま
続けてアクセスし、他方のCPUが共有メモリをアクセ
スしている場合にはこれから実行するアクセス命令を無
効とし、後続の命令を強制的にジャンプ命令に変更する
ことにより無効にされたアクセス命令を再実行させるこ
とを特徴とする。
のアクセス方法は、ウェイト/ホールド機能を持たない
CPUの共有メモリのアクセス方法において、前記CP
Uが共有メモリをアクセスしようとした時、他方のCP
Uが共有メモリをアクセスしていない場合にはそのまま
続けてアクセスし、他方のCPUが共有メモリをアクセ
スしている場合にはこれから実行するアクセス命令を無
効とし、後続の命令を強制的にジャンプ命令に変更する
ことにより無効にされたアクセス命令を再実行させるこ
とを特徴とする。
上記手段により、ウェイ、ト/ホールド機能を持たない
CPUが共有メモリをアクセスしようとする場合、競合
を調停するためのソフトウェアは一切必要としないので
、ソフトウェアが簡単になるとともに、共有メモリをア
クセスするために要する時間が格段に短くなる。
CPUが共有メモリをアクセスしようとする場合、競合
を調停するためのソフトウェアは一切必要としないので
、ソフトウェアが簡単になるとともに、共有メモリをア
クセスするために要する時間が格段に短くなる。
以下、本発明の実施例を第1図〜第4図に示す実施例に
基づいて具体的に説明する。
基づいて具体的に説明する。
第1図は本発明による共有メモリとその周辺回路のブロ
ック図であり、ウェイト/ホールド機能付きCPU 1
とウェイト/ホールド機能なしのCPU2を含んでいる
。なお、第5図の従来例と対応する機能を有する要素に
ついては同一の符号を付して説明を省略する。第1図中
、8はアドレスバス、9はデータバスを示している。
ック図であり、ウェイト/ホールド機能付きCPU 1
とウェイト/ホールド機能なしのCPU2を含んでいる
。なお、第5図の従来例と対応する機能を有する要素に
ついては同一の符号を付して説明を省略する。第1図中
、8はアドレスバス、9はデータバスを示している。
第1図の競合調停回路10は、CPU1から共有メモリ
20のアクセス要求信号15^が来た場合には、他方の
CPU2がアクセス中でなければウェイト信号16をオ
フすることにより、共有メモリ20のアクセスを許可し
、他方のCPU2がアクセス中であればウェイト信号1
6をオンすることにより、アクセス実行を待たせたまま
にしておき、他方のCPU2がアクセス動作を完了した
後、ウェイト信号16をオフすることによりアクセスを
許可する機能を持つ。一方CPU2から共有メモリ20
のアクセス要求信号15Bが来た場合には、他方のCP
U1がアクセス中でなければアクセス無効信号17をオ
フすることにより共有命令のアクセスを実行させ、他方
のCPUIがアクセス中であればアクセス無効信号17
をオンすることにより共有メモリ20のアクセスを禁止
させるとともに、命令シーケンス制御回路11に対して
命令シーケンスの変更を要求する機能を持つ。
20のアクセス要求信号15^が来た場合には、他方の
CPU2がアクセス中でなければウェイト信号16をオ
フすることにより、共有メモリ20のアクセスを許可し
、他方のCPU2がアクセス中であればウェイト信号1
6をオンすることにより、アクセス実行を待たせたまま
にしておき、他方のCPU2がアクセス動作を完了した
後、ウェイト信号16をオフすることによりアクセスを
許可する機能を持つ。一方CPU2から共有メモリ20
のアクセス要求信号15Bが来た場合には、他方のCP
U1がアクセス中でなければアクセス無効信号17をオ
フすることにより共有命令のアクセスを実行させ、他方
のCPUIがアクセス中であればアクセス無効信号17
をオンすることにより共有メモリ20のアクセスを禁止
させるとともに、命令シーケンス制御回路11に対して
命令シーケンスの変更を要求する機能を持つ。
第1図の命令シーケンス制御回路11は、アクセス無効
信号17がオフであれば、命令ソースマルチプレクサ1
4の入力をプログラムメモリとすることにより、通常の
処理を実行するが、アクセス無効信号17がオンであれ
ば現在実行中のアクセス命令実行後、命令ソースマルチ
プレクサ14の人力をジャンプ命令発生回路13に切り
換えることにより、再度アクセス命令ヘジャンブさせる
機能を持つ。
信号17がオフであれば、命令ソースマルチプレクサ1
4の入力をプログラムメモリとすることにより、通常の
処理を実行するが、アクセス無効信号17がオンであれ
ば現在実行中のアクセス命令実行後、命令ソースマルチ
プレクサ14の人力をジャンプ命令発生回路13に切り
換えることにより、再度アクセス命令ヘジャンブさせる
機能を持つ。
次に実施例における動作について説明する。CPU2が
共有メモリ20をアクセスしようとしたとき、CPU1
が共有メモリ20をアクセスしていなかったなら、競合
調停回路10はアクセス無効信号17をオフするので、
CPU2のアドレスバッファ4Bとデータバッファ5B
とコントロールゲート6Bが開かれ、共有メモリ20の
アクセスが可能となる。
共有メモリ20をアクセスしようとしたとき、CPU1
が共有メモリ20をアクセスしていなかったなら、競合
調停回路10はアクセス無効信号17をオフするので、
CPU2のアドレスバッファ4Bとデータバッファ5B
とコントロールゲート6Bが開かれ、共有メモリ20の
アクセスが可能となる。
また、アクセス無効信号17がオフであるので、命令ソ
ースマルチプレクサ14もプログラムメモリ12を選択
し、通常のシーケンス通りにプログラムを実行する。
ースマルチプレクサ14もプログラムメモリ12を選択
し、通常のシーケンス通りにプログラムを実行する。
一方、CPU2が共有メモリ20をアクセスしようとし
たとき、既に(:PUlが共有メモリ20をアクセスし
ていたならば競合調停回路10はアクセス無効信号15
をオンにするので、CPU2のアドレスバッファ4日と
f−タバッフ75Bとコントロールゲート6Bは閉じた
ままとなり、共有メモリ20への書込みと読出しは正し
く実行されないで無効となる。またアクセス無効信号1
7がオンであるため、命令シーケンス制御回路11は共
有メモリ20への無効なアクセス命令を実行した後、命
令ソースマルチプレクサ14の入力を無効としたアクセ
ス命令が格納されているプログラムメモリ番地へジャン
プするジャンプ命令が格納されているジャンプ命令発生
回路13に切り換えることにより、ソフトウェアの介在
なしに共有メモリ20へのアクセスを再実行する。
たとき、既に(:PUlが共有メモリ20をアクセスし
ていたならば競合調停回路10はアクセス無効信号15
をオンにするので、CPU2のアドレスバッファ4日と
f−タバッフ75Bとコントロールゲート6Bは閉じた
ままとなり、共有メモリ20への書込みと読出しは正し
く実行されないで無効となる。またアクセス無効信号1
7がオンであるため、命令シーケンス制御回路11は共
有メモリ20への無効なアクセス命令を実行した後、命
令ソースマルチプレクサ14の入力を無効としたアクセ
ス命令が格納されているプログラムメモリ番地へジャン
プするジャンプ命令が格納されているジャンプ命令発生
回路13に切り換えることにより、ソフトウェアの介在
なしに共有メモリ20へのアクセスを再実行する。
この共有メモリ20へのアクセス再実行は共有メモリ2
0へのアクセスが正常に行われるまで繰り返されるが、
−殻内にはcptriの共有メモリアクセスは連続して
実行されることはないので、最大1回のアクセス再実行
により、CPU2は共有メモリ20にアクセスすること
ができる。
0へのアクセスが正常に行われるまで繰り返されるが、
−殻内にはcptriの共有メモリアクセスは連続して
実行されることはないので、最大1回のアクセス再実行
により、CPU2は共有メモリ20にアクセスすること
ができる。
CPU2の共有メモリアクセスについて、1回で正常完
了する場合と、複数回のアクセス再実行により正常完了
する場合のタイムチャートを第2図及び第3図に示す。
了する場合と、複数回のアクセス再実行により正常完了
する場合のタイムチャートを第2図及び第3図に示す。
また、第4図に、ウェイト/ホールド機能を持たないC
PUとしてインテル社CP U3051を使用した場合
の、共有メモリから内部メモリへのlバイト転送の命令
実行動作をプログラムリストを使用して説明している。
PUとしてインテル社CP U3051を使用した場合
の、共有メモリから内部メモリへのlバイト転送の命令
実行動作をプログラムリストを使用して説明している。
第4図において、30は内部メモリ、31は共有メモリ
、32は共有メモリからの読出し命令、33は強制ジャ
ンプ命令、34は内部メモリへの書込み命令を表してい
る。
、32は共有メモリからの読出し命令、33は強制ジャ
ンプ命令、34は内部メモリへの書込み命令を表してい
る。
本実施例では、ウェイト信号による競合調停回路lOを
採用しているが、ホールド信号による競合調停回路も可
能である。
採用しているが、ホールド信号による競合調停回路も可
能である。
またCPU1はウェイト機能を持つCPUで説明してい
るが、ウェイト機能がないCPUであってもよく、その
場合、CPU2で使用した回路をそのまま使用すること
により、容易にウェイト機能がないCPUどうしのマル
チCPUシステムが可能である。
るが、ウェイト機能がないCPUであってもよく、その
場合、CPU2で使用した回路をそのまま使用すること
により、容易にウェイト機能がないCPUどうしのマル
チCPUシステムが可能である。
以上に述べたように、本発明によれば、ウェイト/ホー
ルド機能を持たないCPUが共有メモリをアクセスしよ
うとした場合、他方のCPUが共有メモリをアクセス中
であれば、これから実行するアクセス動作を無効とさせ
、後続の命令をジャンプ命令に強制的に変更することに
より他方のCPUが使用中でなくなるまで、アクセス動
作を繰り返し実行するようにしているため、アクセスの
競合を調停するためのソフトウェアは一切必要なくなり
、ソフトウェアが簡単になるとともに共有メモリをアク
セスするために要する時間を短縮できるという効果を奏
する。
ルド機能を持たないCPUが共有メモリをアクセスしよ
うとした場合、他方のCPUが共有メモリをアクセス中
であれば、これから実行するアクセス動作を無効とさせ
、後続の命令をジャンプ命令に強制的に変更することに
より他方のCPUが使用中でなくなるまで、アクセス動
作を繰り返し実行するようにしているため、アクセスの
競合を調停するためのソフトウェアは一切必要なくなり
、ソフトウェアが簡単になるとともに共有メモリをアク
セスするために要する時間を短縮できるという効果を奏
する。
第1図は本発明のハードウェアの例を示すブロック図、
第2図及び第3図はそれぞれ本顔明による共有メモリア
クセスのタイムチャート、第4図はプログラムリストを
用いた共有メモリアクセス再実行の説明図、第5図は従
来の共有メモリ方式のハードウェアブロック図、第6図
は従来のハトウェアで必要なソフトウェア処理を示すフ
ロチャートである。 1:ウェイト/ホールド機能付CPU 2:ウェイト/ホールド機能なしCPU3A、3B:要
求フラグ 4A、 48ニアドレスバツフア 5A、5B:データバッファ 6^、6B=コントロールゲート 7^、7B:デコーダ 8ニアドレスバス 9:データパス lO:競合調停回路 11:命令シーケンス制御回路 12ニブログラムメモリ 13:ジャンプ命令発生回路 14:命令ソースマルチプレクサ 15^、 158:アクセス要求信号 16二ウエイト信号 17:アクセス無効信号 0 :共有メモリ
第2図及び第3図はそれぞれ本顔明による共有メモリア
クセスのタイムチャート、第4図はプログラムリストを
用いた共有メモリアクセス再実行の説明図、第5図は従
来の共有メモリ方式のハードウェアブロック図、第6図
は従来のハトウェアで必要なソフトウェア処理を示すフ
ロチャートである。 1:ウェイト/ホールド機能付CPU 2:ウェイト/ホールド機能なしCPU3A、3B:要
求フラグ 4A、 48ニアドレスバツフア 5A、5B:データバッファ 6^、6B=コントロールゲート 7^、7B:デコーダ 8ニアドレスバス 9:データパス lO:競合調停回路 11:命令シーケンス制御回路 12ニブログラムメモリ 13:ジャンプ命令発生回路 14:命令ソースマルチプレクサ 15^、 158:アクセス要求信号 16二ウエイト信号 17:アクセス無効信号 0 :共有メモリ
Claims (1)
- 1、ウェイト/ホールド機能を持たないCPUの共有メ
モリのアクセス方法において、前記CPUが共有メモリ
をアクセスしようとした時、他方のCPUが共有メモリ
をアクセスしていない場合にはそのまま続けてアクセス
し、他方のCPUが共有メモリをアクセスしている場合
にはこれから実行するアクセス命令を無効とし、後続の
命令を強制的にジャンプ命令に変更することにより無効
にされたアクセス命令を再実行させることを特徴とする
CPUの共有メモリのアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26746189A JPH03127162A (ja) | 1989-10-12 | 1989-10-12 | Cpuの共有メモリのアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26746189A JPH03127162A (ja) | 1989-10-12 | 1989-10-12 | Cpuの共有メモリのアクセス方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03127162A true JPH03127162A (ja) | 1991-05-30 |
Family
ID=17445162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26746189A Pending JPH03127162A (ja) | 1989-10-12 | 1989-10-12 | Cpuの共有メモリのアクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03127162A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520212A (ja) * | 1991-07-11 | 1993-01-29 | Shinko Seisakusho Co Ltd | デユアルポートramを用いる制御回路 |
JPH0765134A (ja) * | 1993-08-27 | 1995-03-10 | Tamura Electric Works Ltd | データ通信方法 |
-
1989
- 1989-10-12 JP JP26746189A patent/JPH03127162A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520212A (ja) * | 1991-07-11 | 1993-01-29 | Shinko Seisakusho Co Ltd | デユアルポートramを用いる制御回路 |
JPH0765134A (ja) * | 1993-08-27 | 1995-03-10 | Tamura Electric Works Ltd | データ通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5737604A (en) | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems | |
US6463529B1 (en) | Processor based system with system wide reset and partial system reset capabilities | |
US5870602A (en) | Multi-processor system with system wide reset and partial system reset capabilities | |
US4949241A (en) | Microcomputer system including a master processor and a slave processor synchronized by three control lines | |
KR20040023692A (ko) | 다수의 스레드의 동시 실행을 지원하는 컴퓨터시스템에서의 인터럽트 처리 메커니즘 | |
JPH10134008A (ja) | 半導体装置およびコンピュータシステム | |
JPH0258649B2 (ja) | ||
US6446149B1 (en) | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system | |
JPH0696008A (ja) | 情報処理装置 | |
JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
JPS61182160A (ja) | デ−タ処理装置 | |
GB2216306A (en) | Load and synchronize computer architecture and process | |
JP5999216B2 (ja) | データ処理装置 | |
JPH03127162A (ja) | Cpuの共有メモリのアクセス方法 | |
JPS6319058A (ja) | メモリ装置 | |
JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
JPS63197232A (ja) | マイクロプロセツサ | |
US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
KR100246864B1 (ko) | 제2캐시 메모리를 위한 캐시 플러시 방법 및 캐시 메모리를 갖춘 컴퓨터 메모리 시스템 | |
JPH08249175A (ja) | スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置 | |
JPH02211534A (ja) | 並列処理装置 | |
US6751708B2 (en) | Method for ensuring that a line is present in an instruction cache | |
JP2003196251A (ja) | マルチcpuシステム | |
JPH04140860A (ja) | マルチプロセッサにおけるバス制御方法 | |
JPH0784971A (ja) | コンピュータシステム |