JPS6256547B2 - - Google Patents

Info

Publication number
JPS6256547B2
JPS6256547B2 JP54171724A JP17172479A JPS6256547B2 JP S6256547 B2 JPS6256547 B2 JP S6256547B2 JP 54171724 A JP54171724 A JP 54171724A JP 17172479 A JP17172479 A JP 17172479A JP S6256547 B2 JPS6256547 B2 JP S6256547B2
Authority
JP
Japan
Prior art keywords
test
data
circuit
common
word
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
Application number
JP54171724A
Other languages
English (en)
Other versions
JPS5697164A (en
Inventor
Kenji Seike
Toshio Awaji
Shuji Miki
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
Nippon Telegraph and Telephone Corp
Original Assignee
Fujitsu Ltd
Nippon Telegraph and Telephone Corp
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, Nippon Telegraph and Telephone Corp filed Critical Fujitsu Ltd
Priority to JP17172479A priority Critical patent/JPS5697164A/ja
Publication of JPS5697164A publication Critical patent/JPS5697164A/ja
Publication of JPS6256547B2 publication Critical patent/JPS6256547B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 本発明は共通データを複数のプロセツサで使用
する場合、アクセスしたデータがすでに他のプロ
セツサにより使用中であることを示すテストアン
ドセツトと、その使用中であつたことが終了した
ことを示すテストアンドリセツト方式に関するも
のであつて、特に複数個のデータを使用して処理
を行なうような場合、この複数のデータに対して
同時にテストアンドセツト及びテストアンドリセ
ツトを行なうようにしたものである。
第1図に示す如く、複数のプロセツサP0,P1
……Poにより共通のメモリCMに記憶されたデー
タを使用するマルチプロセツサシステムでは、第
2図に示す如く、メモリCMの一部に共通データ
を記入しておき、例えばアドレス500乃至60
0に記入された共通データがあるプロセツサによ
り使用されているときに、例えばアドレス100
に記入されたテストアンドセツト語をオール
「1」に記入しておく。そしてこの共通データを
他のプロセツサが使用する場合に、先づアドレス
100のテストアンドリセツト語をチエツクし、
これがオール「1」であるか、オール「0」(い
ずれのプロセツサによつても使用中でない場合に
は、テストアンドリセツト語はオール「0」にし
ておく)かを検出し、オール「0」の場合には該
共通データが使用可能状態であり、オール「1」
の場合には使用不可能状態であることを識別す
る。勿論この操作はメモリ制御部CMCを経由し
て実行されるものである。プロセツサP0〜Po
メモリCMとを結合する共通メモリバス(CMバ
ス)の信号線には、第3図に示す如く、メモリ
CMの番地を指定するアドレス線、メモリCMに
対する書込みデータを送るライトデータ線、メモ
リCMからの読出しデータを送るリードデータ
線、メモリCMへのアクセスが正常であつたこと
を通知するASW(All Seems Well)線及びプロ
セツサP1からのアクセス種別(リード、ライト、
テストアンドセツト、テストアンドリセツト等)
を通知するオーダ線等が含まれている。
いま、共通データをアクセスするために、第4
図イに示す如く、メモリCMのアドレス100に
記入されたテストアンドセツト語を読むが、この
ためにプロセツサからまずアドレス線にてアドレ
ス100を指定して、これに記入されたテストア
ンドセツト語の状態をリードデータ線で受け、そ
のオール「0」を検出し、他のプロセツサから占
有されていないことを識別する。そして、プロセ
ツサは上記テストアンドセツト語をオール「1」
にすべく、ライトデータを送出し、その結果、第
4図ロに示す如く、アドレス100におけるテス
トアンドセツト語はオール「1」となり、特定の
プロセツサがこのアドレス100により示される
共通データを占有していることを表示する。
この場合、このプロセツサでは第4図イに示す
リードデータ線により送出されて来たテストアン
ドリセツト語の内容であるオール「0」を、第5
図におけるリードデータバツフア1に記入し、こ
れをオール「0」検出器2により識別する。そし
てこの識別結果をコンデシヨンコードCDCのフ
リツプフロツプグループ3に報告する。このコン
デシヨンコードをチエツクして「0」ならばどの
プロセツサも使用していないことになり占有権を
設定できることがわかり、「1」であればいずれ
かのプロセツサにすでに占有されていることが判
別される。
しかしながら、このような従来の方式では、一
度に一個の共通データしかその占有の可否を判別
することができないので、プロセツサにおける処
理において複数の共通データを使用しなければな
らない場合、必要とする共通データ毎にその占有
の可否を判別しなければならない。そのためある
共通データを使用してデータ処理を進めてもその
次に必要な共通データが他のプロセツサに占有さ
れているような場合には、そのデータ処理の途中
でしかこれが識別できず、もしも他に占有されて
いる場合には、最初から処理をやり直すこととな
るために、データ処理の遂行上非常に効率が悪い
という問題があつた。
したがつて本発明ではこのような問題点を改善
し、複数の共通データが必要な場合に、これら複
数の共通データのいずれかが他のプロセツサによ
り占有されているか否かを識別できるようにした
テストアンドセツト及びテストアンドリセツト方
式を提供することを目的とするものであつて、こ
のために本発明によるテストアンドセツト及びテ
ストアンドリセツト方式では、複数のプロセツサ
と該プロセツサにより共通に使用される複数の共
通データが記入されるメモリと該共通データが上
記プロセツサの1つにより占有されていることを
示す占有表示データエリアをメモリに備える共通
データ占有状態管理方式において、ライトデータ
保持手段と、リードデータ保持手段と、オア・ア
ンド回路と、オア・エクスクルシーブオア回路を
設け、共通メモリ区分の少なくとも1つを占有す
るとき、アクセス先の共通メモリ領域を指示した
リクエストデータと、前記占有表示データエリア
に記入されているテストアンドセツト語を前記オ
ア・アンド回路のアンド回路でビツト対応で比較
してアクセス可能か否かを判別し、可能な場合に
は前記オア・アンド回路のオア回路にてテストア
ンドセツト語とリクエストデータとのビツト対応
のオア演算を行つてその結果を新テストアンドリ
セツト語として前記占有表示データエリアに記入
し、共通メモリ領域の少なくとも1つに対する占
有が終わると、前記オア・エクスクルシーブオア
回路のオア回路で解除すべき共通メモリ領域を記
入したライトデータと、そのとき占有表示データ
エリアに記入されていたテストアンドセツト語の
ビツト対応のオア演算を行つてその結果得られた
オアデータとテストアンドリセツト語との排他的
論理和をそのエクスクルシーブオア回路で演算し
てライトデータによるリセツトが正しいか否かを
判別し、正しい場合に前記テストアンドセツト語
と前記ライトデータの排他的論理和演算結果を新
テストアンドリセツト語として占有表示データエ
リアに記入することを特徴とする。
本発明の一実施例を第6図乃至第9図にもとづ
き説明する。
第6図は本発明におけるテストアンドセツト語
を構成する各ビツトと共通データとの関係を示
し、第7図はテストアンドセツト時のメモリの状
態を示し、第8図は本発明のテストアンドセツト
時及びテストアンドリセツト時のメモリ制御状態
を示し、第9図にテストアンドセツト時及びテス
トアンドリセツト時のプロセツサの動作状態を示
す。
図中、4はアドレス・バツフア、5はライトデ
ータ・バツフア、6はオア回路、7はオア・アン
ド回路であつてオア回路及びアンド回路により構
成され、8はオア・エクスクルシーブオア回路で
あつてオア回路及びエクスクルシーブオア回路に
より構成され、9はリード・バツフア、10はラ
イトデータ・バツフア、11はリードデータ・バ
ツフア、12はアンド回路、13はオア回路、1
4はエクスクルシーブオア回路、15及び16は
アンド回路、17はオア回路、18はコンデシヨ
ンコード及びそのフリツプフロツプグループを示
す。
本発明では、第6図に示すように、メモリCM
上に設けた共通データの記載された共通メモリ領
域,,………の占有状態を表示するとき、
例えばアドレス100に記入したテストアンドセ
ツト語におけるビツト単位でこれを表示するよう
に構成する。即ち、共通データの記載された共通
メモリ領域があるプロセツサにより占有状態に
あるときは、これに対応する、矢印で示す区分の
ビツトを「1」とし、いずれのプロセツサによる
も非占有状態にあるときは「0」とする。したが
つて、第6図において、共通データの記載された
それぞれの共通メモリ領域,がいずれかのプ
ロセツサにより占有されており、かつ共通データ
の記載された共通メモリ領域が非占有の場合に
は、図示の如く、テストアンドセツト語は「……
011」という状態になる。
したがつて、あるプロセツサが第6図の共通デ
ータの記載された共通メモリ領域を占有したい
とき、第7図に示す如く、メモリCMのアドレス
100に記入されたテストアンドセツト語を読出
し、これに共通データの記載された共通メモリ領
域を占有状態にすることが可能かどうか識別
し、可能であればそれまでの状態である「0001」
を「0011」にする必要がある。
このような場合本発明では第8図に示す示く、
メモリCMに対し、メモリ制御部CMCにおいて次
の如き操作が行なわれる。
まずメモリCMにおけるテストアンドセツト
語を読出すため、該テストアンドセツト語の記
入されているアドレスをアドレスバツフア4に
記入する。
占有したい共通メモリ領域の対応ビツトを
「1」にしたリクエストデータをライトデータ
バツフア5に記入する。例えば共通メモリ領域
のみを占有したい場合には、「0010」を記入
する。
プロセツサから、テストアンドセツト信号を
オーダ線により印加する。
このとき、上記にもとづき、その時点にお
けるメモリCMにおけるテストアンドセツト語
「0001」つまり共通メモリ領域のみ占有状態
にあることを示すデータが読出されてリードバ
ツフア9に記入される。
上記により、オア・アンド回路7のアンド
回路が動作し、リードバツフア9から伝達され
たそれまでメモリCMに記入されていたテスト
アンドセツト語「0001」(OLD)と、ライトデ
ータバツフア5から伝達されたライトデータ
「0010」とをビツト対応のアンドをとる。
OLD… 0001 ∧ ライトデータ 0010 0000 この結果、得られる演算結果が上記の如くオ
ール「0」になれば、プロセツサにより占有希
望の共通メモリ領域は他のプロセツサに対して
占有状態になかつたことが明らかなので、これ
を占有状態におくことが可能である。そのため
に、次いで、上記演算(アンド)結果がオール
「0」の場合のみオア回路を動作させて、上記
OLDとライトデータとをビツト対応のオアを
とり OLD… 0001 ∨ ライトデータ 0010 0011 この結果得られた「0011」を、オア回路6を
経由して上記メモリCMのテストアンドセツト
語として新しく書込む。それにより共通メモリ
領域及びをプロセツサが占有したことを示
す。
′ しかし、上記の如く共通メモリ領域が他
のプロセツサにより占有状態にあるときに、共
通メモリ領域,,を占有したい場合に
は、ライトデータバツフア5に「0111」が記入
される。そしてこれらのアンドをとると、下記
の如くなり、 OLD… 0001 ∧ ライトデータ 0111 0001 この演算結果はオール「0」とならない。それ
故、このアンド条件がオール「0」のときの
み、共通メモリ領域を占有可能状態であること
がわかる。
また、第8図において、リードした情報を第
9図に示す如くプロセツサに伝達する。プロセ
ツサには、ライトデータバツフア10、リード
データバツフア11が設けられ、上記ライトデ
ータはライトデータバツフア10に記入され、
該ライトデータバツフア10からメモリ制御部
CMCに対しライトデータが伝達される。そし
て上記メモリ制御部CMCからはそのリードバ
ツフア9に記入されたリードされた結果のテス
トアンドセツト語がプロセツサのリードデータ
バツフア11に伝達されてくる。そしてプロセ
ツサのアンド回路12により、ライトバツフア
10とリードデータバツフア11の論理積をと
りその結果をコンデシヨンコード(CDC)の
フリツプフロツプ群18に記入する。そこでプ
ロセツサはCDCが「0」のときは複数の共通
データの占有権を確立したことになりCDCが
「0」でないときは占有権がえられなかつたこ
とになる。
いま、プロセツサにおける処理が終ると、そ
れまで占有していた共通メモリ領域に対するテ
ストアンドセツト語をリセツトする必要があ
る。例えば、上記において占有状態にした
共通メモリを非占有状態にする必要がある。
このために第8図においてテストアンドセツト
語を読むためのアドレスをアドレスバツフア4
に記入し、リードバツフア9にそのときのテス
トアンドセツト語「0011」を記入する。そし
て、共通メモリ領域のみを非占有状態にする
ために該テストアンドセツト語を「0001」に書
替えるために、ライトデータバツフア5に
「0010」を記入する。それからオーダ線にテス
トアンドリセツト信号を印加する。このテスト
アンドリセツト信号により今度はオア・エクス
クルシーブオア回路8が動作し、まずそれまで
メモリCMに記入されていたテストアンドセツ
トセツト語「0011」(OLD)と、ライトデータ
バツフア5から伝達されたライトデータ
「0001」とをビツト対応のオアをとる。
OLD… 0011 ∨ ライトデータ 0010 OR…… 0011 この結果得られたデータOR「0011」と、上
記テストアンドセツト語「0011」との排他的論
理和をとり、その結果OR(n)OLDをえる。
OR … 0011 (n) OLD… 0011 OR(n)OLD… 0000 この場合上記OR(n)OLDがオール「0」であ
れば上記リセツトは正しいリセツトであるもの
と識別され、OR(n)OLDがオール「0」の場合
のみテストアンドセツト語「0011」とライトデ
ータ「0010」の排他的論理和「0001」をアドレ
スバツフアの示す番地に書込むとテストアンド
セツト語が「0001」となり、共通メモリ領域
の占有状態が解除され、共通メモリ領域の占
有状態が残る。
もしも、上記テストアンドセツト語が
「0011」のときに、誤まつて共通メモリ領域
も占有状態にあるものとして、共通メモリ領域
との占有状態を残しかつ共通メモリ領域
の占有状態を解除するためのリセツト信号
「0101」をライトデータバツフアに印加した場
合次のように処理され、OR(n)OLDはオール
「0」にならない。
OLD… 0011 ∨ ライトデータ 0101 OR 0111 このOR「0111」を、上記テストアンドセツ
ト語「0011」と排他的論理和によりOR(n)OLD
を得るので、 OR … 0111 (n) OLD 0011 OR(n)OLD 0100 この結果OR(n)OLDはオール「0」にならな
い。それ故、上記の如きライトデータ「0101」
により、テストアンドセツト語をリセツトする
ことはミスであることが識別できる。
勿論、このテストアンドセツト語をリセツト
制御する場合も、第9図に示す如く、アンド回
路16のテストアンドリセツト信号を「1」に
しておきアンド回路16をオン状態にしてお
く。そしてオア回路13及びエクスクルシーブ
オア回路14により上記及びで説明した如
き演算が行なわれ、この結果をコンデシヨンコ
ードのフリツプフロツプ群18に記入する。勿
論このときこのコンデシヨンコードがオール
「0」であるか否かが検出されることになる。
したがつて、本発明によれば、占有したい共通
メモリ領域を1個のみならず、複数個同時に占有
することができ、しかも非占有状態にリセツトす
るときもこれまた複数個同時にリセツトすること
ができる。
それ故、従来の場合には、プロセツサがジヨブ
を遂行するに際し、共通データA及びBの占有を
必要とする場合は、第10図に示す如く、先ず共
通データAに対するテストアンドセツト語をアク
セスしてそのコンデシヨンコードがオール「0」
か否かを検出し、オール「0」の場合にのみ次い
で共通データBの占有、非占有を同様にして検出
していた。それ故、共通データAに対するコンデ
ンシヨンコードCDCがオール「0」か否か検出
している間に他のプロセツサにより共通データB
が占有されるようなことがしばしばあり、このよ
うな場合に共通データAへの占有権を解除して、
再び共通データA及びBの両方が非占有になるま
で待たねばならないという欠点があつた。しかし
ながら本発明によれば、第11図に示す如く、共
通データA及びBのテストアンドセツト語をアク
セスしてこれらが非占有状態にあるか否かをその
コンデシヨンコードをみることにより同時に識別
できるので、データ処理を効率よく実行すること
が可能になる。
【図面の簡単な説明】
第1図は複数のプロセツサにより共通のメモリ
を使用するマルチプロセツサシステムを示し、第
2図は従来のテストアンドセツト語の状態を示
し、第3図はプロセツサとメモリ制御部とメモリ
とのバスの状態を示し、第4図はプロセツサとメ
モリ間における従来のテストアンドセツト制御状
態を説明する説明図、第5図はテストアンドセツ
ト語の識別手段を示し、第6図は本発明における
テストアンドセツト語を構成する各ビツトと共通
データとの関係を示し、第7図は本発明のテスト
アンドセツト時のメモリ制御状態を示し、第8図
は本発明のテストアンドセツト時及びテストアン
ドリセツト時のメモリ制御状態を示し、第9図は
テストアンドセツト時及びテストアンドリセツト
時のプロセツサの動作状態を示し、第10図は従
来のテストアンドセツト方式のフローチヤートを
示し、第11図は本発明のテストアンドセツト方
式におけるフローチヤートを示す。 図中、1はリードデータバツフア、2はオール
「0」検出器、3はコンデシヨンコードのフリツ
プフロツプグループ、4はアドレス・バツフア、
5はライトデータ・バツフア、6はオア回路、7
はオア・アンド回路、8はオア・エクスクルシー
ブオア回路、9はリード・バツフア、10はライ
トデータ・バツフア、11はリードデータ・バツ
フア、12はアンド回路、13はオア回路、14
はエクスクルシーブオア回路、15及び16はア
ンド回路、17はオア回路、18はコンデシヨン
コード及びそのフリツプフロツプグループをそれ
ぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 1 複数のプロセツサと該プロツサにより共通に
    使用される複数の共通データが記入されるメモリ
    と該共通データが上記プロセツサの1つにより占
    有されていることを示す占有表示データエリアを
    メモリに備える共通データ占有状態管理方式にお
    いて、 ライトデータ保持手段5と、 リードデータ保持手段9と、 オア・アンド回路7と、 オア・エクスクルシーブオア回路8を設け、 共通メモリ区分の少なくとも1つを占有すると
    き、アクセス先の共通メモリ領域を指示したリク
    エストデータと、前記占有表示データエリアに記
    入されているテストアンドセツト語を前記オア・
    アンド回路7のアンド回路でビツト対応で比較し
    てアクセス可能か否かを判別し、可能な場合には
    前記オア・アンド回路7のオア回路にてテストア
    ンドセツト語とリクエストデータとのビツト対応
    のオア演算を行つてその結果を新テストアンドリ
    セツト語として前記占有表示データエリアに記入
    し、共通メモリ領域の少なくとも1つに対する占
    有が終わると、前記オア・エクスクルシーブオア
    回路8のオア回路で解除すべき共通メモリ領域を
    記入したライトデータと、そのとき占有表示デー
    タエリアに記入されていたテストアンドセツト語
    のビツト対応のオア演算を行つてその結果得られ
    たオアデータとテストアンドリセツト語との排他
    的論理和をそのエクスクルシーブオア回路で演算
    してライトデータによるリセツトが正しいか否か
    を判別し、正しい場合に前記テストアンドセツト
    語と前記ライトデータの排他的論理和演算結果を
    新テストアンドリセツト語として占有表示データ
    エリアに記入することを特徴とするテストアンド
    セツト及びテストアンドリセツト方式。
JP17172479A 1979-12-29 1979-12-29 Test and set and test and reset system Granted JPS5697164A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17172479A JPS5697164A (en) 1979-12-29 1979-12-29 Test and set and test and reset system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17172479A JPS5697164A (en) 1979-12-29 1979-12-29 Test and set and test and reset system

Publications (2)

Publication Number Publication Date
JPS5697164A JPS5697164A (en) 1981-08-05
JPS6256547B2 true JPS6256547B2 (ja) 1987-11-26

Family

ID=15928488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17172479A Granted JPS5697164A (en) 1979-12-29 1979-12-29 Test and set and test and reset system

Country Status (1)

Country Link
JP (1) JPS5697164A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4866329B2 (ja) * 2007-10-19 2012-02-01 株式会社クボタ 走行車両の動力伝達装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51131232A (en) * 1975-05-12 1976-11-15 Toshiba Corp Computer composit system
JPS52106638A (en) * 1976-03-04 1977-09-07 Nec Corp Memory lock control unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51131232A (en) * 1975-05-12 1976-11-15 Toshiba Corp Computer composit system
JPS52106638A (en) * 1976-03-04 1977-09-07 Nec Corp Memory lock control unit

Also Published As

Publication number Publication date
JPS5697164A (en) 1981-08-05

Similar Documents

Publication Publication Date Title
EP0543560B1 (en) Arbitrating multiprocessor accesses to shared resources
US4504902A (en) Cache arrangement for direct memory access block transfer
EP0072179A2 (en) Clearing invalid addresses in cache memory
JPH02228745A (ja) 入出力キヤツシユ
JPS59188764A (ja) メモリ装置
JPS6256547B2 (ja)
US3731285A (en) Homogeneous memory for digital computer systems
JP2600376B2 (ja) メモリ制御装置
JPH0154735B2 (ja)
JPH0540698A (ja) 主記憶ページ管理方式
JP3130798B2 (ja) バス転送装置
GB2037466A (en) Computer with cache memory
JPS58201157A (ja) バンクメモリの制御回路
JPS6126700B2 (ja)
JP2825589B2 (ja) バス制御方式
JPH0475152A (ja) 不揮発メモリシステム
EP0252042B1 (en) Method and apparatus for determining in a computer which of a number of programmes are allowed to utilise a rapid access memory
JPH0548498B2 (ja)
JPS60129846A (ja) 検査装置
JPS58125296A (ja) Romカ−ド用リ−ダ
JPH03260849A (ja) ファイル領域管理処理方法
JPH0827758B2 (ja) メモリ・システム
JPS6174045A (ja) マルチプロセツサシステムにおけるチヤネル制御方式
JPS60100259A (ja) マルチプロセツサシステムにおけるロツク制御装置
JPH02105241A (ja) メモリ故障検出回路