JPH0196746A - キヤツシユ装置 - Google Patents

キヤツシユ装置

Info

Publication number
JPH0196746A
JPH0196746A JP62253618A JP25361887A JPH0196746A JP H0196746 A JPH0196746 A JP H0196746A JP 62253618 A JP62253618 A JP 62253618A JP 25361887 A JP25361887 A JP 25361887A JP H0196746 A JPH0196746 A JP H0196746A
Authority
JP
Japan
Prior art keywords
processor
cache device
access
cycle
cache
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
JP62253618A
Other languages
English (en)
Inventor
Kunio Uchiyama
邦男 内山
Tadahiko Nishimukai
西向井 忠彦
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62253618A priority Critical patent/JPH0196746A/ja
Publication of JPH0196746A publication Critical patent/JPH0196746A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサを用いたハードウェア・
システムに係り、特にマルチプロセッサ方式を取る場合
に野適なキャッシュ装置に関する。
(従来の技術) 高性能なマイクロコンピュータ・システムを構築する技
術として、複数台のマイクロプロセッサを用い、各プロ
セッサ処理を分担し並列に実行することで高いスループ
ットを得るマルチプロセッサ技術が考えられる。近年の
高性能マイクロプロセッサでは、このマルチプロセッサ
型のシステムを組み易くするために、マイクロプロセッ
サにそれを支援するための機能を持たせているものがあ
る0例えば、インテル社の32ビツト・マイクロプロセ
ッサ80386では、そのハードウェア レファレンス
 マニュアルの第3−30頁から第3−33頁に示され
ているように、バス・ロック機能を持っている。この機
能により、複数のマイクロプロセッサが、システム内の
共有メモリの中にある共有データ、制御ブロックや共有
人出力デバイスを排他的に使用する際のセマフオア管理
がやり易い仕掛けを提供している。
〔発明が解決しようとする問題点〕
一方、近年のマイコン・システムでは、マイクロプロセ
ッサ自体の性能を支えるために、低速で大容量のメイン
メモリと高速で動作するプロセッサの間に高速で小容量
のキャッシュ・メモリを置く必要が生じてきている。こ
のようなキャッシュを用いたマルチプロセッサ・システ
11では、1つのプロセッサ対応に1つの専用キャッシ
ュが存在し、その背後に共有メインメモリが置かれる形
態を取ることが多い、このような形態を取るシステムに
おいて、矛盾のないセマフオア管理を行なう場合、各プ
ロセッサに上記従来技術のバス・ロック機能があるだけ
では不十分である0例えば、プロセッサAの専用キャッ
シュにセマフオアXのコピーが存在し、また、プロセッ
サBの専用キャッシュに同じくセマフオアXのコピーが
ある場合を考える。この時、プロセッサAとBがテスト
・アンド・セット命令がセマフオアXをアクセスすると
、プロセッサがたとえバス・ロック機能を使用したとし
ても、ロックするバスは各プロセッサと専用キャッシュ
間の専用バスであるために、実際には、各キャッシュ内
のセマフオアXのコピーが同時にアクセスされ、セマフ
オアXで管理される共有データあるいは制御ブロック等
の排他制御に矛盾を起こすことになる0本発明の目的は
、各プロセッサ毎に専用キャッシュを持つ、マルチプロ
セッサ方式における上記セマフオア管理の矛盾を解消す
ることにある。
〔問題点を解決するための手段〕
上記目的は、各プロセッサがセマフオアをアクセスする
際に、キャッシュをバイパスして、共有メインメモリに
直接アクセスする機構を持たせることで達成される。
〔作用〕
すなわち、各プロセッサがテスト・アンド・セット命令
等でセマフオアをリード・モディファイ・ライトする際
に、プロセッサからそれに対応するキャッシュ装置にリ
ード・モディファイ・ライト要求と同時に、リードサイ
クルとライトサイクルが不十分であることを示す・ロッ
ク指示が出される。この時、キャッシュ装置では、ロッ
ク指示から判断して、キャッシュを検索することなく直
接共有メインメモリから目的のセマフオアをリードして
、プロセッサにそれを送る。プロセッサは、これを修飾
して、キャッシュ装置に送る。この時。
キャッシュ装置は直接共有メインメモリに修飾されたデ
ータを書込む、ここでキャッシュ装置と共有メインメモ
リ間で行なわれたリードとライトはやはり不可分となる
ようにロックしておく。このようにすれば、1つのプロ
セッサがセマフォアをアクセスしている最中に、他プロ
セツサは、それをアクセスできないためにキャッシュを
持ったマルチプロセッサ・システムにおいて、矛盾なく
セマフオア管理が実現できる。
〔実施例〕
以下1本発明の一実施例を第1図により説明する。共有
メインメモリ5を2つのプロセッサA1とプロセッサB
2で共有するシステム構成となっている。各プロセッサ
A、Bと共有メインメモリの間には、各プロセッサ専用
のキャッシュ装置A3とキャッシャ装置B4が置かれる
。キャッシュ装置の内部には、アドレスアレイ6とデー
タアレイ7、およびキャッシュ制御部8が置かれる。
プロセッサとキャッシュ装置間のインタフェース信号線
は、データ50,60、アドレス51゜61、アクセス
制御52,62、ロック指示53゜63、があり、一方
キャッシュ装置と共有メインメモリ間のインタフェース
信号には、データ54゜64、アドレス55,65.ア
クセス制御56゜66、ロック指示57.67がある。
共有メインメモリ5に置かれている命令やデータの写し
が、キャッシュ装置へ3あるいはキャツユ装置B4内の
データアレイ7に置かれ、同時にその命令やデータのア
ドレスがアドレスアレイ6に置かれる。
プロセッサはプログラムの実行に伴ない命令やデータを
メモリに対してアクセスする必要がある。
このためにプロセッサA1では、キャッシュ装置A3に
対して、命令やデータを要求する。これを受けてキャッ
シュ装置A3は通常アドレス信号線51から流れてくる
アドレスとアドレスアレイ6に格納されているアドレス
を比較する。この結果、同一アドレスが格納されていれ
ばヒツト信号59がキャッシュ制御部8に報告され、デ
ータアレイ7内に格納されている該アドレスに対応する
データがデータ信号、IJI50に流され、プロセッサ
A1に送られる。このようにキャッシュ・ヒツトの場合
には、キャッシュ制御部8はデータアレイ7内のデータ
をプロセッサに送り、共有メインメモリ5に対して、デ
ータをアクセスする要求を行なわない。
第2図は、プロセッサがメモリをアクセスする際のプロ
セッサ、キャッシュ装置、および共有メインメモリ間の
インタフェース信号のタイミングチャートを示す、プロ
セッサとキャッシュ装置間のインタフェース信号のうち
、ADHはプロセッサから出力されるアドレス信号51
,61.AsとR/WとREADYはアクセス制御信号
52.62である。nとR/Wは、プロセッサからの出
力信号で、■ADYは、プロセッサへの入力信号である
。Asは、0の時アサート(背定)状態となり、プロセ
ッサがキャッシュ装置に対してデータのアクセス要求を
出していることになる。R/Wは。
アクセス要求がリードかライトかの区別をするもので、
1の時にリード、Oの時にライトとなる。
+(IEADYは、キャッシュ装置がプロセッサに対し
て。
アクセスサイクルを終了して良いことを指示する。
この信号もOがアサートとなる。 LOCKは、プロセ
ッサから出力されるロック指示信号53.63であり、
メモリアクセスのロックを要求する場合に0にする。こ
のロック要求は、テスト・アンド・セット命令等のマル
チプロセッサ用命令が実行される際に、データをリード
・モディファイ・ライトする時に、出される。すなわち
、このような命令では、リードサイクルの後、ライト・
サイクルを行なうわけであるが、この2つのサイクルが
不可分になることを要求するためにロック要求が出され
る。DATAは、プロセッサとキャツユ装置間のデータ
信号線50.60であり、この上にリード・データある
いはライト・データが流される。
キャッシュ装置と共有メイン・メモリ間のインタフェー
ス信号は、プロセッサとキャッシュ装置内のインタフェ
ース信号と同様な意味を持つ。
MADRは、アドレス信号55.65であり、ADHに
対応する。同様に、MASはASに、MR/MWはR/
 W L:、MLOCKはLoCKに、MREADYは
面ADYに、面i汀はDATAに対応する信号である。
次に時間軸にそった動作説明を行なう、Tl〜T3区間
では、プロセッサはAsをOに、そしてR/Wを1にす
ることによりキャッシュ装置に対してリード・アクセス
要求を出している。また、この区間では、LOCKを1
のままにすることにより、ロックをかけていない、これ
を受けてキャッシュ装置では、ADHに流れてきたアド
レスにより、アドレスアレイ6を検索して、一致したア
ドレスが格納されているか否かを確認して、一致するア
ドレスがあればそれに対応するデータをデータアレイ7
から読み出しDATAにそのデータを流す、同時に、キ
ャツユ制御部8はR11!ADYを0にすることにより
プロセッサにそれを報告し、プロセッサはアクセスサイ
クルを終了する。このように、このサイクルでは、キャ
ッシュ装置はデータアレイ中のデータをプロセッサに送
るために。
共有メインメモリに対してリード・アクセス要求を出さ
ない。
第2図におけるT6からT17の区間は、ロックがかか
ったリード・モディファイ・ライト・サイクルである。
テスト・アンド・セット命令等を実行して、メモリ内の
セアフオアをアクセスする時、このようなサイクルが起
こる。最初にプロセッサは、ASを0に、R/Wを1に
してキャッシュ装置にリード・アクセス要求を出す、こ
の時同時にLOCK’&Oにしてロック要求を出す、こ
の結果、キャッシュ装置内のキャッシュ制御部8は、ア
ドレス・アレイ6を検索することなく、直接共有メイン
・メモリ5に対して、リード・アクセス要求をスルーさ
せる。すなわち、MADRには、ADR上のアドレスを
MASはOに、MR/MWは1にして共有メイン・メモ
リ5に対して、リード・アクセス要求を出す、この時、
肚OCKはOにして、共有メイン・メモリ5に対してロ
ック要求を出す、共有メイン・メモリ5−からのデータ
が返されるとその報告はMREAD’/によってなされ
、キャッシュ装置はリード・サイクルを終了し、また。
そのデータを直接プロセッサに送り返すと同時に、プロ
セッサにREADYを送す、これにより、プロセッサは
リード・サイクルを終了するが、後に続くライト・サイ
クルが生じるまで、共有メイン・メモリ5をロックして
おくためにLOCKは0にしたままにされる。このロッ
ク要求はキャッシュ装置を”通り、肛題1がOという形
で、共有メイン・メモリ5に送られている。一方、プロ
セッサに取込まれたデータは、プロセッサ内で修飾され
再びメモリに書くために、ライトサイクルが起動される
。このライト要求を受けるとキャッシュ装置はライト・
スル一方式で動作する。すなわち、アドレス・アレイ6
を検索し、一致したアドレスが存在したならば、そのア
ドレスに対応するデータ・アレイ7の位置に、DATA
とに流れてきたデータを書き込む、これと同時にキャッ
シュ装置は共有メイン・メモリ5に同じデータを書込む
サイクルを実行する。リード・サイクルからこのライト
・サイクルにかけて鮭か1が0になっているために2つ
のサイクルは不可分となり、別のプロセッサからのアク
セス・サイクルが割込むのを阻止できる。
〔発明の効果〕
以上のように1本発明によればプロセッサがテスト・ア
ンド・セット命令等のセマフオア操作命令を実行する際
に、キャッシュをバイパスしてそのセマフオアを直接共
有メイン・メモリにアクセスすることができ、かつ、各
アクセス・サイクルを不可分にすることができるために
、マルチプロセッサシステムにおいて矛盾なく共有資源
の排他制御ができるようになる。
【図面の簡単な説明】
第1図は本発明の一実施例であるマルチプロセッサ・シ
ステム構成図、第2図はメモリ・アクセスのタイミング
チャート。 1.2・・・プロセッサ、3,4・・・キャッシュ装置
。

Claims (1)

  1. 【特許請求の範囲】 1、プロセッサとキャッシュ装置とメインメモリから成
    るデータ処理装置において、該プロセッサから該キャッ
    シュ装置へのアクセスを制御するインタフェース信号群
    の中に、複数のアクセス・サイクルが不可分であること
    を示す第1のインタフェース信号を持ち、該キャッシャ
    装置から該メインメモリへのアクセスを制御するインタ
    フェース信号群の中に、メイン・メモリへの複数のアク
    セス・サイクルが不可分であることを示す第2のインタ
    フェース信号を持つことを特徴とするキャッシュ装置。 2、請求の範囲第1項に記載のキャッシュ装置において
    、該プロセッサから前記第1のインタフェース信号によ
    り不可分サイクルであることを指示された複数のアクセ
    ス・サイクルの中のリード・サイクルでは、キャッシュ
    装置内の検索を行なわずに直接メイン・メモリへのリー
    ド・サイクルを起動することを特徴とするキャッシュ装
    置。 3、請求の範囲第1項および第2項に記載のキャッシュ
    装置において、該プロセッサから前記第1のインタフェ
    ース信号により不可分サイクルを指示された場合、その
    指示を前記第2のインタフェース信号により、該メイン
    ・メモリへの対応する複数のアクセス・サイクルにも不
    可分なサイクルであることを指示することを特徴とする
    キャッシュ装置。
JP62253618A 1987-10-09 1987-10-09 キヤツシユ装置 Pending JPH0196746A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62253618A JPH0196746A (ja) 1987-10-09 1987-10-09 キヤツシユ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62253618A JPH0196746A (ja) 1987-10-09 1987-10-09 キヤツシユ装置

Publications (1)

Publication Number Publication Date
JPH0196746A true JPH0196746A (ja) 1989-04-14

Family

ID=17253864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62253618A Pending JPH0196746A (ja) 1987-10-09 1987-10-09 キヤツシユ装置

Country Status (1)

Country Link
JP (1) JPH0196746A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127996A (ja) * 1991-11-01 1993-05-25 Fujitsu Ltd キヤツシユ無効化制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127996A (ja) * 1991-11-01 1993-05-25 Fujitsu Ltd キヤツシユ無効化制御方式

Similar Documents

Publication Publication Date Title
US20250147681A1 (en) On-Chip Atomic Transaction Engine
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
US5659709A (en) Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus
US5630095A (en) Method for use with a data coherency protocol allowing multiple snoop queries to a single snoop transaction and system therefor
JPS59180767A (ja) 直列化装置
JP2012038293A5 (ja)
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
US20040111565A1 (en) High speed memory cloner with extended cache coherency protocols and responses
JP5241384B2 (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
US6970963B2 (en) Apparatus and method for synchronizing multiple accesses to common resources
EP0674273B1 (en) Atomic operation control scheme
US7137118B2 (en) Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer
JP3836836B2 (ja) メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構
JP2002202960A (ja) データ処理方法および装置
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
JP2507071B2 (ja) バスロック制御方式
JPH0353657B2 (ja)
JPH07508611A (ja) 統一された環境と分散されたシステム機能とを有する対称的マルチプロセシング・システム
US6928524B2 (en) Data processing system with naked cache line write operations
JPH0816475A (ja) マルチプロセッサシステム
JPH04140860A (ja) マルチプロセッサにおけるバス制御方法
Bahr et al. Architecture, design, and performance of Application System/400 (AS/400) multiprocessors
JPH0528038A (ja) キヤツシユメモリ制御方式
JP3237569B2 (ja) メモリアクセス制御装置