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
Application number
JP26746189A
Other languages
English (en)
Inventor
Ikuo Furuya
古谷 郁男
Youshichirou Nakanishi
中西 洋七郎
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Manufacturing Co 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 Yaskawa Electric Manufacturing Co Ltd filed Critical Yaskawa Electric Manufacturing Co Ltd
Priority to JP26746189A priority Critical patent/JPH03127162A/ja
Publication of JPH03127162A publication Critical patent/JPH03127162A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、共有メモリ方式のマルチCPUシステムにお
いて、ウェイト/ホールド機能を持たないCPUが共有
メモリをアクセスする場合のアクセス方法に関する。
〔従来の技術〕
従来のウェイト/ホールド機能を持たないCPUを使用
した場合の共有メモリのアクセス方法を第5図と第6図
に基づいて説明する。
第5図は従来の共有メモリ20とその周辺回路のブロッ
ク図である。図において、1はウェイト/ホールド機能
付CPU、2はウェイト/ホールド機能なしCPUであ
り、両者は共有メモリ20に共通にアクセス可能な構成
となっている。3^、 3Bは要求フラグ、4^、  
4Bはアドレスバッファ、5^、 5Bはデータバッフ
ァ、6^、 6Bはコントロールゲート、7A、 7B
+*デコーダを示している。
第61!Iはウェイト/ホールド機能付CPUIに搭載
される共有メモリ20にアクセスするときに使用するプ
ログラムのフローチャートである。
ウェイト/ホールド機能なしCPU2に搭載されるプロ
グラムについても、第6図でCPU1゜CPU2をそt
LぞtLCPU2.CPUIと置き−換えることにより
実現することができる。
従来の例では、いずれかのCPUが共有メモリ20をア
クセスする場合、他方のCPUがすでに共有メモリ20
を使用していないか要求フラグ3A、 3Bをチエツク
し、使用していなければ要求フラグ3A3Bをセットす
ることにより、他方のCPUに共有メモリ20を使用す
ることを宣言し、他方のCPUが使用していれば使用し
終わるまで待つ。
次に要求フラグ3A、 3Bをセットすると同時に他方
のCPUが要求フラグ3^、 3Bをセットしていない
かチエツクし、セットしていれば共有メモリ20のアク
セスが競合したと判断して、自分の要求フラグ3A、 
3Bをクリアし、競合タイマをセットした後、タイムオ
ーバを待って再び要求フラグ3^、 3Bをチエツクす
る。他方のCPUが要求フラグ3A。
3Bをセットしていなければアクセスしていないと判断
して、共有メモリ20をアクセスした後、要求フラグ3
^、 3Bをクリアすることにより、他方のCPUが共
有メモリ20をアクセスできるようにしておく。
〔発明が解決しようとする課題〕
従来の技術では、たかだか1バイトの共有メモリ内のデ
ータをアクセスする場合にも第6図に示す多くのプログ
ラムを必要とするため、アクセスに時間がかかっていた
さらに、他方のCPUが共有メモリのアクセスをブロッ
ク単位(複数バイトからなる)で実行すると、相手のC
PUが使用し終わるまで待つための待ち時間が長くなり
、その結果さらにアクセスに時間ガかかることになって
いた。
そこで本発明は、アクセス時間の短縮を図ることを目的
とする。
〔課題を解決するための手段〕
この目的を達成するため、本発明のCPUの共有メモリ
のアクセス方法は、ウェイト/ホールド機能を持たない
CPUの共有メモリのアクセス方法において、前記CP
Uが共有メモリをアクセスしようとした時、他方のCP
Uが共有メモリをアクセスしていない場合にはそのまま
続けてアクセスし、他方のCPUが共有メモリをアクセ
スしている場合にはこれから実行するアクセス命令を無
効とし、後続の命令を強制的にジャンプ命令に変更する
ことにより無効にされたアクセス命令を再実行させるこ
とを特徴とする。
〔作用〕
上記手段により、ウェイ、ト/ホールド機能を持たない
CPUが共有メモリをアクセスしようとする場合、競合
を調停するためのソフトウェアは一切必要としないので
、ソフトウェアが簡単になるとともに、共有メモリをア
クセスするために要する時間が格段に短くなる。
〔実施例〕
以下、本発明の実施例を第1図〜第4図に示す実施例に
基づいて具体的に説明する。
第1図は本発明による共有メモリとその周辺回路のブロ
ック図であり、ウェイト/ホールド機能付き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に対して
命令シーケンスの変更を要求する機能を持つ。
第1図の命令シーケンス制御回路11は、アクセス無効
信号17がオフであれば、命令ソースマルチプレクサ1
4の入力をプログラムメモリとすることにより、通常の
処理を実行するが、アクセス無効信号17がオンであれ
ば現在実行中のアクセス命令実行後、命令ソースマルチ
プレクサ14の人力をジャンプ命令発生回路13に切り
換えることにより、再度アクセス命令ヘジャンブさせる
機能を持つ。
次に実施例における動作について説明する。CPU2が
共有メモリ20をアクセスしようとしたとき、CPU1
が共有メモリ20をアクセスしていなかったなら、競合
調停回路10はアクセス無効信号17をオフするので、
CPU2のアドレスバッファ4Bとデータバッファ5B
とコントロールゲート6Bが開かれ、共有メモリ20の
アクセスが可能となる。
また、アクセス無効信号17がオフであるので、命令ソ
ースマルチプレクサ14もプログラムメモリ12を選択
し、通常のシーケンス通りにプログラムを実行する。
一方、CPU2が共有メモリ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にアクセスすること
ができる。
CPU2の共有メモリアクセスについて、1回で正常完
了する場合と、複数回のアクセス再実行により正常完了
する場合のタイムチャートを第2図及び第3図に示す。
また、第4図に、ウェイト/ホールド機能を持たないC
PUとしてインテル社CP U3051を使用した場合
の、共有メモリから内部メモリへのlバイト転送の命令
実行動作をプログラムリストを使用して説明している。
第4図において、30は内部メモリ、31は共有メモリ
、32は共有メモリからの読出し命令、33は強制ジャ
ンプ命令、34は内部メモリへの書込み命令を表してい
る。
本実施例では、ウェイト信号による競合調停回路lOを
採用しているが、ホールド信号による競合調停回路も可
能である。
またCPU1はウェイト機能を持つCPUで説明してい
るが、ウェイト機能がないCPUであってもよく、その
場合、CPU2で使用した回路をそのまま使用すること
により、容易にウェイト機能がない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 :共有メモリ

Claims (1)

    【特許請求の範囲】
  1. 1、ウェイト/ホールド機能を持たないCPUの共有メ
    モリのアクセス方法において、前記CPUが共有メモリ
    をアクセスしようとした時、他方のCPUが共有メモリ
    をアクセスしていない場合にはそのまま続けてアクセス
    し、他方のCPUが共有メモリをアクセスしている場合
    にはこれから実行するアクセス命令を無効とし、後続の
    命令を強制的にジャンプ命令に変更することにより無効
    にされたアクセス命令を再実行させることを特徴とする
    CPUの共有メモリのアクセス方法。
JP26746189A 1989-10-12 1989-10-12 Cpuの共有メモリのアクセス方法 Pending JPH03127162A (ja)

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)

* Cited by examiner, † Cited by third party
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 データ通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
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) コンピュータシステム