JPH0348962A - バスロック制御方式 - Google Patents

バスロック制御方式

Info

Publication number
JPH0348962A
JPH0348962A JP18418389A JP18418389A JPH0348962A JP H0348962 A JPH0348962 A JP H0348962A JP 18418389 A JP18418389 A JP 18418389A JP 18418389 A JP18418389 A JP 18418389A JP H0348962 A JPH0348962 A JP H0348962A
Authority
JP
Japan
Prior art keywords
bus
cycle
signal
request
semaphore
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.)
Granted
Application number
JP18418389A
Other languages
English (en)
Other versions
JP2507071B2 (ja
Inventor
Takeshi Kitahara
北原 毅
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18418389A priority Critical patent/JP2507071B2/ja
Publication of JPH0348962A publication Critical patent/JPH0348962A/ja
Application granted granted Critical
Publication of JP2507071B2 publication Critical patent/JP2507071B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概要] セマフォ操作命令をもつマルチプロセッサシステムにお
けるバスロック制御方式に関し、最初のサイクルでリト
ライ要求があった場合にはバスを開放することで、シス
テムのデッドロックを回避するようにしたどくスロック
制御方式を提供することを目的とし、 CPUおよびローカルメモリ部をそれぞれ有する複数の
プロセッサと、共通メモリ部とがシステムバスを介して
接続され、前記プロセッサの間にシステムバス調停回路
を備えるとともに前記共通メモリ部または前記ローカル
メモリ部にセマフォ操作命令部を有するマルチプロセッ
サシステムにおいて、 前記CPU内にバス権開放手段を設けて、バスロック信
号がオンでアクセスしたセマフォ操作命令の最初のリー
ドサイクルでリトライ要求があったときは、バスロック
信号がオンであってもバスリクエスト信号に応答してバ
ス権を開放するように構成した。
[産業上の利用分野] 本発明は、セマフォ操作命令をもつマルチプロセッサシ
ステムにおけるバスロック制御方式に関する。
セマフォとは、複数のプロセッサで共有されるメモリの
使用権を調停されるビットのことである。
あるプロセッサが前記メモリにアクセスする際に、メモ
リ領域毎に対応したセマフォを読み取り、“0”であれ
ば、“1”をセットする。その後、前記メモリ領域にア
クセスする。“1”であった場合は、アクセスは許され
ない。即ち、“1”のときは他のプロセッサがアクセス
しているからである。その後、前記アクセスしたプロセ
ッサがアクセスを終了する際は、再びセマフォを読み取
り、“0”を書き込む。
以上のセマフォを操作する命令をセマフォ操作命令と呼
び、jest xnd get命令(“0”を読み取り
1”を書き込む) 、1est !++d clelを
命令(“1”を読み取り“0”を書く)等がある。
複数のプロセッサをシステムバスを介して接続したマル
チプロセッサシステムにおいては、セマフォ操作命令の
実行サイクルで、最初のデータリードでリトライ要求が
応答されてバスサイクルのアイドル期間であっても、バ
スロック中であるときは、外部からのバスリクエストに
対してバス権を開放しない。この場合には、複数のCP
Uが同時にセマフォ操作命令を実行しはじめた時は、バ
スが開放されず、システムがデッドロックしてしまう。
したがって、初めのデータリードでリトライ要求が応答
されたときは、バスロック中であってもバスを開放する
ことが必要となる。
[従来の技術] 第5図は従来のCPU内部の一部を示す図である。
第5図において、1はCPU2内に設けられた命令実行
部であり、命令実行部1は共通メモリ部内に格納されて
いるセマフォ操作命令を実行するもので、システムバス
調停回路に対してバスロック信号を出力する。バスロッ
ク信号はノット回路3を介してナンド回路4に入力し、
バスリクエスト信号はノット回路5を介してナンド回路
4に入力する。ナンド回路4の出力はフリップフロップ
6に与えられ、フリップフロップ6はバスグランド信号
を出力する。
したがって、第6図に示すように、初めのデータリード
でリトライ要求が応答されていても、バスロック信号が
オンであるときは、バスリクエスト信号に対してバスを
開放しない。すなわち、第5図において、バスロック信
号がHレベルで、バスリクエスト信号がLレベルのとき
は、ナンド回路4の出力はHレベルとなり、フリップフ
ロップ6の出力もHレベルとなるので、パスグランド信
号は有効とならない。
なお、その後、第6図に示すように、データライトのバ
スサイクルでバスロック信号がオフとなると、パスグラ
ンド信号がLレベルとなり、バス権が開放される。
[発明が解決しようとする課題] しかしながら、このような従来のバスロック方式にあっ
ては、リトライ要求が応答されてもバスロック中にはバ
スリクエストに対してバスを開放しないようになってい
たため、複数のCPUが同時にセマフォ操作命令を実行
しはじめた時はどちらもバスを開放することができない
ので、システムがデッドロックしてしまうという問題点
があった。
本発明はこのような従来の問題点に鑑みてなされたもの
であって、最初のサイクルでのりトライ要求があった場
合にはバスを開放することで、システムのデッドロック
を回避するようにしたバスロック制御方式を提供するこ
とを目的としている。
[課題を解決するための手段] 第1図は本発明の原理説明図である。
第1図において、11.12はCPU13゜14および
ローカルメモリ部15.16をそれぞれ有する複数のプ
ロセッサ、22はシステムバス19を介してプロセッサ
11.12に接続された共通メモリ部、25は前記プロ
セッサ11.12の間に設けられたシステムバス調停回
路、24は前記共通メモリ部22または前記ローカルメ
モリ部15.16に設けられたセマフォ操作命令部、2
8は前記CPUl1.12内に設けられ、バスロック信
号がオンでアクセスしたセマフォ操作命令の最初のリー
ドサイクルでリトライ要求があったときは、バスロック
信号がオンであってもバスリクエスト信号に応答してバ
ス権を開放するバス権開放手段である。
[作用コ 本発明においては、最初のバスサイクルでリトライ要求
があった場合には、バスロック中であってもバスリクエ
ストに応じてバス権開放手段によリバス権を開放する。
したがって、複数個のCPUが同時にセマフォ操作命令
を実行しはじめた時でもバス権開放手段によりバス権を
開放するので、システムがデッドロックしてしまうこと
がない。
[実施例] 以下、本発明の実施例を図面に基づいて説明する。
第2図〜第4図は本発明の一実施例を示す図である。
第2図において、11.1・2は複数のプロセッサであ
り、これらのプロセッサ11.12はCPU13.14
およびローカルメモリ部15.16をそれぞれ有してい
る。また、プロセッサ11゜12はレシーバおよびドラ
イバーからなる入出力部17.18を介してシステムバ
ス19にそれぞれ接続されている。システムバス19に
は入出力装置20.21がそれぞれ接続されるとともに
共通メモリ部22が接続され、共通メモリ部22には占
有表示フラグ23を有するセマフォ操作命令部24が設
けられている。セマフォ操作命令部24にはセマフォ操
作命令が格納されている。セマフォ操作命令部24は、
ここでは共通メモリ部22上に設けられているが、O8
の作り方またはアプリケーションプログラムによっては
CPU11.12のローカルメモリ部15.16に設け
られる場合もある。
25はプロセッサ11とプロセッサ12との間に設けら
れたシステムバス調停回路であり、システムバス調停回
路25は入出力部[120,21に接続されるとともに
入出力部17.18に接続され、入出力装置20.21
および入出力部17゜18を制御する。また、システム
バス調停回路25はCPU13,14からバスロック信
号およびバスグランド信号を受け、CPU13,14に
リトライ信号およびバスリクエスト信号を出力する。
次に、CPUの内部回路を第3図に基づいて説明する。
第3図において、13は一方のCPUであり、CPU1
3の内部にはセマフォ操作命令を実行するための命令実
行部26が設けられている。命令実行部26は共通メモ
リ部22上のセマフォ操作命令部24のセマフォデータ
のリード・モディファイ・ライトのバスサイクル中にお
いてバス権を固定するバスロック信号を出力する。27
はCPU13の内部に設けられたバスコントロール部で
あり、バスコントロール部27はバスサイクルの応答に
おいてIJ )ライ信号(再実行要求応答)がアサート
された場合に必要に応じてバスサイクルを再実行する。
28はバスコントロール部27の一部を構成するバス権
開放手段であり、バス権開放手段28は、バスロック信
号がオンでアクセスしたセマフォの最初のリードサイク
ルがリトライ要求応答によってバスサイクルを終結した
場合、バスロック信号がオンであってもバスリクエスト
信号に応答してバス権を開放するものである。
バス権開放手段28は、バスロック信号とりトライ信号
が入力するアンド回路29と、アンド回路29の出力が
入力するフリップフロップ30と、フリップフロップ3
0の出力がノット回路31を介して入力するとともにバ
スリクエスト信号がノット回路32を介して入力するナ
ンド回路33と、ナンド回路33の出力を受けてバスグ
ランド信号を出力するフリップフロップ34と、により
構成されている。
次に、動作を説明する。
第4図(A)、(B)は動作を説明するためのタイムチ
ャートである。
第4図(A)、(B)において、(A)はアドレスのサ
イクルを、(B)はデータのリードサイクルおよびライ
トサイクルを、(C)はりトライ信号を、(D)はバス
ロック信号を、(E)はバスリクエスト信号を、(F)
はパスグランド信号を、それぞれ示す。
ここで、バスロック信号がオンであるとき、リトライ信
号がアサートされ、バスリクエスト信号がアサートされ
たときは、アンド回路29の出力はLレベル、ナンド回
路33の出力はLレベルとなるので、フリップフロップ
34の出力はLレベルとなり、パスグランド信号は有効
となり、バス権が開放される(第4図(A)、参照)。
すなわち、バスロック中であっても、バスリクエスト信
号に応答してバス権を開放することができる。
一方、この状態において、バスリクエスト信号がHレベ
ルに戻ると、ナンド回路33の出力はHレベルとなり、
フリップフロップ34の出力もHレベルとなるので、パ
スグランド信号はHレベルとなり、バス権は開放されな
い。すなわち、バスリクエスト信号がアサートされない
ときは、バス権は開放されない。
一方、第4図(B)に示すように、データライトサイク
ルにおいては、バスロック信号がLレベルとなると、パ
スグランド信号はLレベルとなり、バス権が開放される
このように、バスロック中であっても最初のサイクルで
のりトライ要求があったときは、バスリクエストに応答
してバス権を開放するようにしたため、CPU13とC
PU14が同時にセマフォ操作命令を実行しはじめた時
でもバスを開放することができ、システムがデッドロッ
クしてしまうことがない。
[発明の効果] 以上説明してきたように、本発明によれば、最初のサイ
クルでのりトライ要求があった場合にバスロック中であ
ってもバスリクエストに応答してバス権を開放するよう
にしたため、複数のCPUが同時にセマフォ操作命令を
実行しはじめた時でもバスを開放することができ、シス
テムのデッドロックを回避することができる。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例を示すブロック図、第3図は
要部説明図、 第4図(A)、  (B)はタイムチャート、第5図は
従来例の説明図、 第6図は従来のタイムチャートである。 図中、 11.12・・・プロセッサ、 13.14・・・CPU。 15.16・・・ローカルメモリ部、 17.18・・・入出力部、 19・・・システムバス、 20.21・・・入出力装置、 22・・・共通メモリ部、 23・・・占有表示フラグ、 24・・・セマフォ操作命令部、 25・・・システムバス調停回路、 26・・・命令実行部、 27・・・バスコントロール部、 28・・・バス権開放手段、 29・・・アンド回路、 30.34・・・フリップフロップ、 31.32・・・ノット回路、 33・・・ナンド回路。 キ尋!5i、叩圓 従来1テ°1の凝明囮

Claims (1)

    【特許請求の範囲】
  1. CPU(13)、(14)およびローカルメモリ部(1
    5)、(16)をそれぞれ有する複数のプロセッサ(1
    1)、(12)と、共通メモリ部(22)とがシステム
    バス(19)を介して接続され、前記プロセッサ(11
    )、(12)の間にシステムバス調停回路(25)を備
    えるとともに前記共通メモリ部(22)または前記ロー
    カルメモリ部(15)、(16)にセマフォ操作命令部
    (24)を有するマルチプロセッサシステムにおいて、
    前記CPU(13)、(14)内にバス権開放手段(2
    8)を設けて、バスロック信号がオンでアクセスしたセ
    マフォ操作命令の最初のリードサイクルでリトライ要求
    があったときは、バスロック信号がオンであってもバス
    リクエスト信号に応答してバス権を開放するようにした
    ことを特徴とするバスロック制御方式。
JP18418389A 1989-07-17 1989-07-17 バスロック制御方式 Expired - Fee Related JP2507071B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18418389A JP2507071B2 (ja) 1989-07-17 1989-07-17 バスロック制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18418389A JP2507071B2 (ja) 1989-07-17 1989-07-17 バスロック制御方式

Publications (2)

Publication Number Publication Date
JPH0348962A true JPH0348962A (ja) 1991-03-01
JP2507071B2 JP2507071B2 (ja) 1996-06-12

Family

ID=16148814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18418389A Expired - Fee Related JP2507071B2 (ja) 1989-07-17 1989-07-17 バスロック制御方式

Country Status (1)

Country Link
JP (1) JP2507071B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850529A (en) * 1995-08-11 1998-12-15 Kabushiki Kaisha Toshiba Method and apparatus for detecting a resource lock on a PCI bus
US5878239A (en) * 1995-09-08 1999-03-02 Kabushiki Kaisha Toshiba Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge
US6973521B1 (en) * 2000-05-16 2005-12-06 Cisco Technology, Inc. Lock controller supporting blocking and non-blocking requests
US7921250B2 (en) * 2004-07-29 2011-04-05 International Business Machines Corporation Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE37618E1 (en) 1987-07-24 2002-04-02 Richard J. Helferich Analog/digital data storage system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850529A (en) * 1995-08-11 1998-12-15 Kabushiki Kaisha Toshiba Method and apparatus for detecting a resource lock on a PCI bus
US5878239A (en) * 1995-09-08 1999-03-02 Kabushiki Kaisha Toshiba Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge
US6973521B1 (en) * 2000-05-16 2005-12-06 Cisco Technology, Inc. Lock controller supporting blocking and non-blocking requests
US7921250B2 (en) * 2004-07-29 2011-04-05 International Business Machines Corporation Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions

Also Published As

Publication number Publication date
JP2507071B2 (ja) 1996-06-12

Similar Documents

Publication Publication Date Title
US5860126A (en) Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model
US5889983A (en) Compare and exchange operation in a processing system
US7890725B2 (en) Bufferless transactional memory with runahead execution
JP2830116B2 (ja) マルチプロセッサシステムにおけるロック制御機構
US6795901B1 (en) Shared memory interface with conventional access and synchronization support
US6792497B1 (en) System and method for hardware assisted spinlock
US5442755A (en) Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor
US5287503A (en) System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
JPH05158890A (ja) 多重プロセッサ・データ処理システム及びその動作方法
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP5241384B2 (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
JP2003050789A (ja) 回路、プロセッサ、及びマルチプロセッサシステム
US5778441A (en) Method and apparatus for accessing split lock variables in a computer system
JPH0348962A (ja) バスロック制御方式
JP2829115B2 (ja) ファイル共用方法
JP3814521B2 (ja) データ処理方法および装置
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JP2007058493A (ja) マルチプロセッサシステム及びそれにおける排他制御方法
JP3404386B2 (ja) メモリアクセスレイテンシ増加回避方式
KR102476438B1 (ko) 데이터 액세스의 원자 세트를 제공하는 장치 및 방법
JPH01310466A (ja) マルチプロセッサシステム
JPH0581211A (ja) プロセツサ間通信方式
JPH0196746A (ja) キヤツシユ装置
JPH0374759A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees