JPH0822414A - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JPH0822414A
JPH0822414A JP6154019A JP15401994A JPH0822414A JP H0822414 A JPH0822414 A JP H0822414A JP 6154019 A JP6154019 A JP 6154019A JP 15401994 A JP15401994 A JP 15401994A JP H0822414 A JPH0822414 A JP H0822414A
Authority
JP
Japan
Prior art keywords
cache
snoop
data
memory
control signal
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
JP6154019A
Other languages
English (en)
Inventor
Norihisa Kitagata
憲央 北▲がた▼
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 JP6154019A priority Critical patent/JPH0822414A/ja
Publication of JPH0822414A publication Critical patent/JPH0822414A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 プロセッサの実装数等のシステム構成の変化
に伴う情報処理速度の低下を防止する。 【構成】 各々が、プロセッサ101(108)、キャ
ッシュメモリ103(110)、キャッシュコントロー
ラ102(109)を備えた複数のCPUユニット20
1(202)をプロセッサバス113を介して共有メモ
リ107に接続した構成のマルチプロセッサシステムを
構築可能なコンピュータシステムにおいて、各プロセッ
サ101(108)の配下のキャッシュメモリ103
(110)間のデータの一意性を保証するためのスヌー
プ処理を行うスヌープ処理制御回路105と、実装され
たプロセッサの個数を識別する個数識別回路104を設
け、スヌープ処理制御回路105には、プロセッサの実
装個数が1個の時にはスヌープ処理を抑止し、2個以上
の場合にはスヌープ処理を実行する制御論理を持たせ
た。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
に関し、特に、ユニプロセッサとマルチプロセッサのど
ちらでも動作可能なコンピュータシステムにおけるプロ
セッサ間のスヌープ処理等に適用して有効な技術に関す
る。
【0002】
【従来の技術】各々のプロセッサ(CPU)がキャッシ
ュメモリを持ち、ホストバス上に共有メモリを持つマル
チプロセッサシステムのコンピュータでは、キャッシュ
メモリ内のデータを同じにするためスヌープ処理を行わ
なければならない。
【0003】キャッシュ制御方式がライトスルー方式
(プロセッサから共有メモリに書き出されるデータをキ
ャッシュメモリに溜めずに、直接的に共有メモリに書き
出す方式)であるシステムにおいては、あるCPUがあ
るブロックにデータを書き込む場合、他のキャッシュに
同じブロックがある場合、データの統一を計るために他
キャッシュのブロックを無効化しなければならない。そ
のため、他キャッシュに前記ブロックのデータが書き変
わることを伝える信号を送信する。また、CPUがある
ブロックからデータを読み込む操作の場合、自キャッシ
ュメモリ内にそのブロックが存在しないなら、他のキャ
ッシュメモリのブロックのデータと共有メモリのブロッ
クのデータは同じである。そのため、CPUは共有メモ
リからデータを読み込めばよく、他のキャッシュにデー
タを問い合わせる必要はない。よって、データの読み込
みには、スヌープ処理は必要ない。
【0004】次に、キャッシュ制御方式がライトバック
制御方式(プロセッサから共有メモリに書き出すべきデ
ータをキャッシュメモリに一旦溜めた後に共有メモリに
書き出す方式)を用いているシステムにおいて、CPU
があるブロックにデータを書き込む場合、他キャッシュ
メモリに同じブロックがあるならその他キャッシュメモ
リのブロックを無効化する。また、CPUがあるブロッ
クからデータを読み込む場合、他キャッシュメモリにそ
のブロックが存在し、かつそのブロックが最新のデータ
であるなら、ライトバック動作を行わせる。そして、前
記動作が終了した後、共有メモリからデータを読み込
む。また、他キャッシュメモリに同じブロックが存在し
ないなら、CPUは共有メモリからデータを読み込む。
【0005】一方、ユニプロセッサシステムの場合、他
キャッシュメモリが存在しないため上記のスヌープ処理
は必要とせず、唯一のCPUは、自キャッシュメモリあ
るいは、共有メモリに即座にアクセスすることができ
る。
【0006】
【発明が解決しようとする課題】これらのことから、マ
ルチプロセッサシステムで必要なスヌープ処理は、ユニ
プロセッサシステムでは不必要であり、マルチプロセッ
サのコンピュータシステムを、そのままユニプロセッサ
で動作させた場合、冗長なスヌープ処理の分だけ、通常
のユニプロセッサのコンピュータシステムより動作が遅
くなる、という問題を生じる。
【0007】なお、従来のマルチプロセッサシステムの
スヌープ処理については、たとえば、特開平4−328
653号公報に開示された技術が知られている。すなわ
ち、当該技術では、バス・スヌープが必要なアドレス/
コマンド・バスには共有バス結合を用い、バス・スヌー
プが不要なデータ・バスにはインターコネクション・ネ
ットワークで結合されたマルチプル・データ・バスを用
いることで、共有バス結合におけるバス・ネックの解消
を図ろうとする技術が開示されている。ところが、この
従来技術では、マイクロプロセッサシステムを、単一の
プロセッサを実装した状態で使用する際の前述のような
性能低下について配慮されていない。
【0008】本発明の目的は、プロセッサの実装数に応
じてスヌープ処理を制御することにより、プロセッサの
実装数等のシステム構成の変化に伴う情報処理速度の低
下を防止することが可能なコンピュータシステムを提供
することにある。
【0009】
【課題を解決するための手段】本発明のコンピュータシ
ステムでは、実装されているプロセッサの個数を把握す
る個数識別回路を設け、スヌープ処理制御回路は、プロ
セッサの実装個数に応じてスヌープ処理のためのデータ
の問い合わせ信号を制御する。つまり、プロセッサが2
個以上で動作しているコンピュータシステムにおいて
は、プロセッサ間のキャッシュメモリへのデータの問い
合わせ信号をおのおののプロセッサに送り、データの一
致を保証するためのスヌープ処理を認める。また、プロ
セッサが1個で動作しているシステムの場合には、他キ
ャッシュメモリへのデータのスヌープ処理を行わないよ
うにする。
【0010】
【作用】このように個数識別回路を設けることによりコ
ンピュータを動作させているプロセッサの個数を把握す
ることができ、プロセッサが1つで動作している場合に
は、スヌープ処理制御回路によって実行される冗長なキ
ャッシュメモリへのデータの問い合わせ処理を抑止する
ことにより、システムを高速に動作させることができ
る。
【0011】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
【0012】図1および図2は、本発明の一実施例であ
るコンピュータシステムの構成の一例を示すブロック図
である。本実施例のコンピュータシステムは、複数のプ
ロセッサを搭載することが可能なマルチプロセッサシス
テムとして構成されているが、単一のプロセッサを搭載
したユニプロセッサシステムとしても稼動させることが
できる。
【0013】すなわち、図1は、本実施例のコンピュー
タシステムをマルチプロセッサシステムとして稼動させ
る場合を示しており、図2は、ユニプロセッサシステム
として稼動させる場合を示している。
【0014】マルチプロセッサシステムの場合、図1に
例示されるように、共通のプロセッサバス113には、
複数のCPUユニット201(CU)およびCPUユニ
ット202(CU),...が接続されている。また、
プロセッサバス113には共有メモリ107および当該
共有メモリ107の制御を行うメモリコントローラ10
6(MC)が接続されており、CPUユニット201お
よび202,...から共通にアクセスされる。
【0015】個々のCPUユニット201(20
2,...)には、プロセッサ101(10
8,...)(CPU)と、当該プロセッサ101(1
08,...)によってアクセスされる共有メモリ10
7内のデータを一時的に保持するキャッシュメモリ10
3(110,...)(CM)および当該キャッシュメ
モリ103(110,...)の動作を制御するキャッ
シュコントローラ102(109,...)(CAC)
が設けられている。
【0016】個々のCPUユニット201(20
2,...)のキャッシュコントローラ102(10
9,...)は、スヌープ処理制御回路105に接続さ
れており、個々のキャッシュメモリ103および11
0,...の各々に過渡的に保持されているデータ間の
一意性を保証するための、後述のようなスヌープ処理が
行われる。
【0017】この場合、スヌープ処理制御回路105に
は、プロセッサバス113に実装されたCPUユニット
の数、すなわち実装されたプロセッサの個数を識別する
個数識別回路104が接続されており、この個数識別回
路104は、制御信号115によって実装されているプ
ロセッサの数が単一か、あるいは複数かをスヌープ処理
制御回路105に伝達する構成となっている。特に図示
しないが、この個数識別回路104としては、たとえ
ば、ソフトウェア等で制御されるメモリスイッチや、外
部から操作されるディップスイッチ等で構成する事がで
きる。また、スヌープ処理制御回路105には、前記制
御信号115に基づいて、スヌープ処理の実行および実
行抑止を選択する制御論理が備えられている。
【0018】以下、本実施例のコンピュータシステムの
作用の一例を説明する。
【0019】まず、図1に例示されるマルチプロセッサ
システムの場合を説明する。プロセッサ101が、共有
メモリ107内のあるブロックのデータをアクセスする
場合、キャッシュメモリ103に前記ブロックが存在し
ないなら、キャッシュコントローラ102はスヌープ処
理制御回路105に共有メモリ107にアクセスするた
めの制御信号116を送信する。また、プロセッサの個
数を識別する個数識別回路104は、プロセッサの数が
複数であることを制御信号115を“Hi ”にすること
でスヌープ処理制御回路105へ伝える。その後、制御
信号116と制御信号115を受け取ったスヌープ処理
制御回路105は、他のキャッシュコントローラ109
等へ同じブロックが存在しないか問い合わせの制御信号
117を送信する。キャッシュコントローラ109等に
同じブロックが存在するならば、キャッシュコントロー
ラ109等は、キャッシュメモリ110等のデータを共
有メモリ107へ掃き出さすか、あるいはキャッシュメ
モリ110等内のブロックを無効化する。前記処理が終
了した後、スヌープ処理制御回路105は、キャッシュ
コントローラ102へ共有メモリ107に存在するある
ブロックのデータにアクセスできることを送信する。こ
れにより、キャッシュコントローラ102は、共有メモ
リ107へアクセスでき、プロセッサ101は共有メモ
リ107内のあるブロックのデータをアクセスすること
ができる。
【0020】一方、図2に示したユニプロセッサシステ
ムの作用について説明する。この図2の場合には、1個
のプロセッサを用いてシステムが構成されており、プロ
セッサ101があるブロックのデータをアクセスする場
合、キャッシュメモリ103に目的のブロックが存在し
ないならキャッシュコントローラ102はスヌープ処理
制御回路105に共有メモリ107へアクセスするため
の制御信号116を送信する。また、個数識別回路10
4は、プロセッサが1個であることを制御信号115を
“Low”にすることでスヌープ処理制御回路105へ送
信する。その後、制御信号116と制御信号115を受
け取ったスヌープ処理制御回路105は、他キャッシュ
が存在しないことから、直ちに共有メモリ107の目的
のブロックのデータへアクセスできることを送信し、キ
ャッシュコントローラ102は共有メモリ107へのア
クセスを開始し、プロセッサ101は、共有メモリ10
7内のあるブロックのデータにアクセスできる。
【0021】以下、プロセッサ101があるブロックの
データにアクセスする時に、個数識別回路104とスヌ
ープ処理制御回路105の動作をキャッシュ制御方式の
違いについて図3、図4、図5、図6、図7、図8、図
9、図10を用いて説明する。
【0022】はじめに、キャッシュ制御方式がライトス
ルー方式であるシステムで、かつマルチプロセッサシス
テムで動作している場合の、プロセッサ側から共有メモ
リ107へのデータの書込みについて説明する。
【0023】この場合、キャッシュコントローラ102
がある時点で共有メモリ107のあるブロックにデータ
を書き込む時には、図3に示すようにキャッシュコント
ローラ102は共有メモリ107へデータを書き始める
ことを伝える制御信号116をスヌープ処理制御回路1
05に送信する(処理701)。また、個数識別回路1
04は、プロセッサの個数が複数であることを制御信号
115を“Hi ”レベルにすることで伝える(処理70
2)。
【0024】スヌープ処理制御回路105は、制御信号
116と制御信号115を受け取った後、スヌープ処理
を行うか選択する(処理703)。そして図4に示すよ
うに制御信号115が“Hi”(マルチプロセッサ構
成)であるため、スヌープ処理制御回路105は、他の
キャッシュコントローラ109、キャッシュコントロー
ラ111等へ同じブロックが存在するかどうかの問い合
わせの制御信号117を送信する(処理704)。制御
信号117を受け取ったキャッシュコントローラ10
9、キャッシュコントローラ111は問い合わせに対
し、同じブロックが存在するかしないかを図5に示すよ
うに制御信号118を用いて、スヌープ処理制御回路1
05に応答する(処理705)。
【0025】同じブロックがある場合は、他のキャッシ
ュメモリ110、キャッシュメモリ112内の同じブロ
ックを無効化する(処理706)。そして、キャッシュ
コントローラ109、キャッシュコントローラ111等
はスヌープが終了したことをスヌープ処理制御回路10
5に伝える(処理707)。一方、同じブロックがキャ
ッシュメモリ110、キャッシュメモリ112等に存在
しなかったなら、スヌープ処理制御回路105へスヌー
プ処理が終了したことを伝えてスヌープ処理を終了する
(処理707)。
【0026】処理707が行われた後、スヌープ処理制
御回路105は、図6に示すようにスヌープ処理が終了
したことをキャッシュコントローラ102に制御信号1
19で送信し、メモリコントローラ106と共有メモリ
107へはデータを書き始めることを伝える制御信号1
20を送信する。制御信号119を受け取ったキャッシ
ュコントローラ102は、キャッシュメモリ103と共
有メモリ107内のあるブロックにデータを書き込む
(処理708)。
【0027】一方、キャッシュ制御方式がライトスルー
方式で、かつユニプロセッサシステムで動作している場
合のプロセッサ側から共有メモリ107への書込み処理
は次のようになる。キャッシュコントローラ102は、
データを書き始めることを伝える制御信号116をスヌ
ープ処理制御回路105に送信する(処理701)。ま
た、個数識別回路104は、プロセッサの個数が1個で
あることを制御信号115で伝える。この時、制御信号
115は“Low”レベルとする(処理702)。制御信
号116と制御信号115を受け取ったスヌープ処理制
御回路105はスヌープ処理を行うか選択する(処理7
03)。そして制御信号115が“Low”であるため、
スヌープ処理制御回路105は、他のキャッシュメモリ
へ問い合わせの制御信号を送信する必要がないと判断
し、当該スヌープ処理制御回路105はキャッシュコン
トローラ102からの制御信号116をメモリコントロ
ーラ106と共有メモリ107に直接伝え、キャッシュ
コントローラ102は、キャッシュメモリ103と共有
メモリ107内のあるブロックにデータを書き込む(処
理708)。
【0028】また、キャッシュ制御方式がライトスルー
方式である場合、キャッシュコントローラ102が共有
メモリ107からデータを読み込む処理は、マルチプロ
セッサシステムとユニプロセッサのシステムの両方とも
同じ処理である。これを図8に示す。キャッシュコント
ローラ102は、データを読み始めることを伝える制御
信号116をスヌープ処理制御回路105へ送信する
(処理801)。制御信号116を受け取ったスヌープ
処理制御回路105は、他のキャッシュメモリ110、
キャッシュメモリ112等内のブロックのデータと共有
メモリ107内のブロックのデータとが等しいため(書
込みによってキャッシュメモリ内のデータが変化しない
ため)、キャッシュコントローラ109、キャッシュコ
ントローラ111等へ同じブロックが存在するかの問い
合わせを行わない。ゆえに、スヌープ処理制御回路10
5はキャッシュコントローラ102からの制御信号11
6をメモリコントローラ106と共有メモリ107に直
接伝え、キャッシュコントローラ102は、キャッシュ
メモリ103と共有メモリ107内のあるブロックから
データを読み込む(処理802)。
【0029】次に、図9のフローチャートを参照しなが
ら、キャッシュ制御方式がライトバック方式で、かつマ
ルチプロセッサで動作している場合について説明する。
【0030】この場合、キャッシュコントローラ102
がある共有メモリ107のあるブロックにデータを書き
込む時には、図3に示すようにキャッシュコントローラ
102は共有メモリ107へデータを書き始めることを
伝える制御信号116をスヌープ処理制御回路105に
送信する(処理901)。また、この時、個数識別回路
104は、制御信号115を“Hi”レベルとすること
によりプロセッサの個数が複数であることを伝える(処
理902)。スヌープ処理制御回路105は、制御信号
116と制御信号115を受け取った後、スヌープ処理
を行うか選択する(処理903)。そして図4に示すよ
うに制御信号115が“Hi ”であるため、スヌープ処
理制御回路105は、スヌープ処理が必要と判断して、
他のキャッシュコントローラ109、キャッシュコント
ローラ111等へ同じブロックが存在するかどうかの問
い合わせの制御信号117を送信する(処理904)。
【0031】制御信号117を受け取ったキャッシュコ
ントローラ109、キャッシュコントローラ111は問
い合わせに対し、同じブロックが存在するかしないかを
図5に示すように制御信号118を用いて、スヌープ処
理制御回路105に応答する(処理905)。キャッシ
ュメモリ110、キャッシュメモリ112等に同じブロ
ックが存在し、かつそのブロックが最新のデータを保持
しているかどうかをキャッシュコントローラ109、キ
ャッシュコントローラ111は確認する(処理90
6)。図5に示すようにキャッシュメモリ110に最新
のデータが保持されているなら、キャッシュコントロー
ラ109は、共有メモリ107へキャッシュメモリ11
0内のあるブロックの最新のデータを掃き出させる(処
理907)。他のキャッシュメモリ110、キャッシュ
メモリ112内に同じブロックは存在するが最新のデー
タでない場合、キャッシュメモリ110,キャッシュメ
モリ112等内の同じブロックを無効化する(処理90
8)。
【0032】そして、キャッシュコントローラ109、
キャッシュコントローラ111等はスヌープが終了した
ことをスヌープ処理制御回路105に伝える(処理90
9)。一方、同じブロックがキャッシュメモリ110、
キャッシュメモリ112等に存在しなかったなら、スヌ
ープ処理制御回路105へスヌープ処理が終了したこと
を伝えてスヌープ処理を終了する(処理909)。
【0033】処理909が行われた後、スヌープ処理制
御回路105は、図6に示すようにスヌープ処理が終了
したことをキャッシュコントローラ102に制御信号1
19で送信し、メモリコントローラ106と共有メモリ
107へはデータを書き始めることを伝える制御信号1
20を送信する。制御信号119を受け取ったキャッシ
ュコントローラ102は、キャッシュメモリ103と共
有メモリ107内のあるブロックにデータを書き込む
(処理910)。
【0034】一方、キャッシュ制御方式がライトバック
方式で、かつユニプロセッサシステムで動作している場
合について説明する。
【0035】この場合、キャッシュコントローラ102
は、共有メモリ107のあるブロックにデータを書き込
む時には、データを書き始めることを伝える制御信号1
16をスヌープ処理制御回路105に送信する(処理9
01)。また、この時、個数識別回路104は、制御信
号115を“Low”レベルとすることでプロセッサの個
数が1個であることを伝える(処理902)。制御信号
116と制御信号115を受け取ったスヌープ処理制御
回路105はスヌープ処理を行うか選択する(処理90
3)。
【0036】そして制御信号115が“Low”であるた
め、スヌープ処理制御回路105は、他のキャッシュメ
モリへ問い合わせの制御信号を送信する必要がない。ゆ
えに、スヌープ処理制御回路105はキャッシュコント
ローラ102からの制御信号116をメモリコントロー
ラ106と共有メモリ107に直接伝え、キャッシュコ
ントローラ102は、キャッシュメモリ103と共有メ
モリ107内のあるブロックにデータを書き込む(処理
910)。
【0037】また、キャッシュ制御方式がライトバック
方式であるシステムで、かつマルチプロセッサで動作し
ている場合の、共有メモリ107からプロセッサ側への
データ読み出し処理は、図10のフローチャートを用い
て説明すると以下のようになる。
【0038】この場合、キャッシュコントローラ102
がある共有メモリ107のあるブロックにデータを読み
込む時には、図3に示すようにキャッシュコントローラ
102は共有メモリ107へデータを読み始めることを
伝える制御信号116をスヌープ処理制御回路105に
送信する(処理11)。また、この時、個数識別回路1
04は、制御信号115を“Hi”レベルとすることで
プロセッサの個数が複数であることを伝える(処理1
2)。スヌープ処理制御回路105は、制御信号116
と制御信号115を受け取った後、スヌープ処理を行う
か選択する(処理13)。
【0039】そして図4に示すように制御信号115が
“Hi”であるため、スヌープ処理制御回路105は、
他のキャッシュコントローラ109、キャッシュコント
ローラ111等へ同じブロックが存在するかどうかの問
い合わせの制御信号117を送信する(処理14)。制
御信号117を受け取ったキャッシュコントローラ10
9、キャッシュコントローラ111は問い合わせに対
し、同じブロックが存在するかしないかを図5に示すよ
うに制御信号118を用いて、スヌープ処理制御回路1
05に応答する(処理15)。そして、キャッシュメモ
リ110、キャッシュメモリ112等に同じブロックが
存在し、かつそのブロックが最新のデータを保持してい
るかどうかをキャッシュコントローラ109、キャッシ
ュコントローラ111は確認する(処理16)。
【0040】図5に示すようにキャッシュメモリ110
に最新のデータが保持されているなら、キャッシュコン
トローラ109は、共有メモリ107へキャッシュメモ
リ110内のあるブロックの最新のデータを掃き出させ
る(処理17)。他のキャッシュメモリ110、キャッ
シュメモリ112内に同じブロックは存在するが最新の
データでない場合、共有メモリ107内に同じブロック
が存在するとみなし、キャッシュコントローラ109、
キャッシュコントローラ111等はスヌープが終了した
ことをスヌープ処理制御回路105に伝える(処理1
9)。
【0041】一方、同じブロックがキャッシュメモリ1
10、キャッシュメモリ112等に存在しなかったな
ら、スヌープ処理制御回路105へスヌープ処理が終了
したことを伝えてスヌープ処理を終了する(処理1
9)。処理19が行われた後、スヌープ処理制御回路1
05は、図6に示すようにスヌープ処理が終了したこと
をキャッシュコントローラ102に制御信号119で送
信し、メモリコントローラ106と共有メモリ107へ
はデータを読み始めることを伝える制御信号120を送
信する。制御信号119を受け取ったキャッシュコント
ローラ102は、共有メモリ107内のあるブロックか
らデータを読み込む(処理20)。
【0042】一方、キャッシュ制御方式がライトバック
方式で、かつユニプロセッサシステムで動作している場
合、共有メモリ107からのデータの読み込み処理は以
下のようになる。
【0043】キャッシュコントローラ102は、データ
を読み始めることを伝える制御信号116をスヌープ処
理制御回路105に送信する(処理11)。また、個数
識別回路104は、プロセッサの個数が1個であること
を制御信号115で伝える。
【0044】この時、制御信号115は“Low”レベル
とする(処理12)。制御信号116と制御信号115
を受け取ったスヌープ処理制御回路105はスヌープ処
理を行うか選択する(処理13)。そして制御信号11
5が“Low”であるため、スヌープ処理制御回路105
は、他のキャッシュメモリへ問い合わせの制御信号を送
信する必要がない。ゆえに、スヌープ処理制御回路10
5はキャッシュコントローラ102からの制御信号11
6をメモリコントローラ106と共有メモリ107に直
接伝え、キャッシュコントローラ102は、キャッシュ
メモリ103と共有メモリ107内のあるブロックから
データを読み込む(処理20)。
【0045】以上のように、本実施例のコンピュータシ
ステムによれば、マルチプロセッサ構成の場合には、複
数のキャッシュメモリ間におけるデータの一意性を確保
できるとともに、実装されるプロセッサが単一の場合の
ユニプロセッサ構成では、時間のかかる冗長なスヌープ
処理を抑止するので、システム構成の変更に伴う効率低
下を最小限に止めて、性能向上を図ることができる。
【0046】たとえば、比較的小規模のマイクロプロセ
ッサベースのコンピュータシステムにおいてマルチプロ
セッサシステムを設計する場合、製品のラインアップ
(価格帯、性能)の多様化や差別化のために、本来マル
チプロセッサシステムとして設計されたものをユニプロ
セッサシステムとして製品化しても、スヌープ処理等の
冗長な処理に起因する効率低下を最小限に止めて、性能
向上を図ることができる。
【0047】なお、上記の説明では、キャッシュコント
ローラとスヌープ処理制御回路とを別個に設けた場合に
ついて説明したが、キャッシュコントローラがスヌープ
処理制御回路の諸機能を含む構成とし、システムの起動
時に、特定のキャッシュコントローラをマスタとし、他
のスレーブとして、マスタのキャッシュコントローラに
スヌープ処理制御回路の機能を持たせる構成としてもよ
い。
【0048】
【発明の効果】本発明のコンピュータシステムによれ
ば、マルチプロセッサとユニプロセッサの両方を実現可
能なコンピュータシステムにおいて、プロセッサの実装
数に応じてスヌープ処理を制御することにより、プロセ
ッサの実装数等のシステム構成の変化に伴う情報処理速
度の低下を防止して性能向上を実現できる、という効果
が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例であるコンピュータシステム
をマルチプロセッサシステムとして稼動させる場合のブ
ロック図である。
【図2】本発明の一実施例であるコンピュータシステム
をユニプロセッサシステムとして稼動させる場合のブロ
ック図である。
【図3】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラとスヌープ処理制御回
路との間における信号の授受の一例を示すブロック図で
ある。
【図4】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラとスヌープ処理制御回
路との間における信号の授受の一例を示すブロック図で
ある。
【図5】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラのスヌープ処理の一例
を示すブロック図である。
【図6】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラのスヌープ処理完了後
の共有メモリへのアクセスの一例を示すブロック図であ
る。
【図7】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラのライトスルー方式に
おける共有メモリへの書込み動作の一例を示すフローチ
ャートである。
【図8】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラのライトスルー方式に
おける共有メモリからの読み出し動作の一例を示すフロ
ーチャートである。
【図9】本発明の一実施例であるコンピュータシステム
におけるキャッシュコントローラのライトバック方式に
おける共有メモリへの書込み動作の一例を示すフローチ
ャートである。
【図10】本発明の一実施例であるコンピュータシステ
ムにおけるキャッシュコントローラのライトバック方式
における共有メモリからの読み出し動作の一例を示すフ
ローチャートである。
【符号の説明】
101…プロセッサ、102…キャッシュコントロー
ラ、103…キャッシュメモリ、104…個数識別回
路、105…スヌープ処理制御回路、106…メモリコ
ントローラ、107…共有メモリ、109…キャッシュ
コントローラ、110…キャッシュメモリ、111…キ
ャッシュコントローラ、112…キャッシュメモリ、1
13…プロセッサバス、115〜120…制御信号、2
01,202…CPUユニット。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 1個あるいは2個以上のプロセッサと、
    前記プロセッサによってアクセスされる共有メモリと、
    前記プロセッサの各々に設けられ、前記プロセッサから
    前記共有メモリに対して書き込まれるデータおよび前記
    共有メモリから前記プロセッサへと読みだされるデータ
    の少なくとも一方を一時的に保持するキャッシュメモリ
    と、前記キャッシュメモリを制御するキャッシュコント
    ローラとを含むコンピュータシステムであって、前記キ
    ャッシュメモリ間における前記データの一意性を保証す
    るためのスヌープ処理を行うスヌープ処理制御回路と、
    前記プロセッサの実装個数を識別して前記スヌープ処理
    制御回路に伝達する個数識別回路とを備え、前記スヌー
    プ処理制御回路は、前記プロセッサの実装数が複数の場
    合には前記スヌープ処理を行い、前記プロセッサの実装
    数が単一の場合には前記スヌープ処理を抑止する制御論
    理を有することを特徴とするコンピュータシステム。
JP6154019A 1994-07-06 1994-07-06 コンピュータシステム Pending JPH0822414A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6154019A JPH0822414A (ja) 1994-07-06 1994-07-06 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6154019A JPH0822414A (ja) 1994-07-06 1994-07-06 コンピュータシステム

Publications (1)

Publication Number Publication Date
JPH0822414A true JPH0822414A (ja) 1996-01-23

Family

ID=15575135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6154019A Pending JPH0822414A (ja) 1994-07-06 1994-07-06 コンピュータシステム

Country Status (1)

Country Link
JP (1) JPH0822414A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438622B1 (en) * 1998-11-17 2002-08-20 Intel Corporation Multiprocessor system including a docking system
JP2010113734A (ja) * 2003-07-31 2010-05-20 Intel Corp プロセッサ間割り込み
JP2011070253A (ja) * 2009-09-24 2011-04-07 Mitsubishi Electric Corp メモリ制御システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438622B1 (en) * 1998-11-17 2002-08-20 Intel Corporation Multiprocessor system including a docking system
JP2010113734A (ja) * 2003-07-31 2010-05-20 Intel Corp プロセッサ間割り込み
JP2011070253A (ja) * 2009-09-24 2011-04-07 Mitsubishi Electric Corp メモリ制御システム

Similar Documents

Publication Publication Date Title
EP0936555B1 (en) Cache coherency protocol with independent implementation of optimised cache operations
EP0378399B1 (en) Cache content control in multi-processor networks
US6298418B1 (en) Multiprocessor system and cache coherency control method
KR0163231B1 (ko) 입/출력 채널 제어기, 멀티 프로세싱 시스템 및 데이타 프로세싱 방법
US5297269A (en) Cache coherency protocol for multi processor computer system
US5353415A (en) Method and apparatus for concurrency of bus operations
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
US7529799B2 (en) Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
JPH04271452A (ja) マルチプロセッサシステム
US5659708A (en) Cache coherency in a multiprocessing system
US6560680B2 (en) System controller with Integrated low latency memory using non-cacheable memory physically distinct from main memory
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
GB2390710A (en) Data maintenance of a distributed shared memory system
US6918009B1 (en) Cache device and control method for controlling cache memories in a multiprocessor system
US6035376A (en) System and method for changing the states of directory-based caches and memories from read/write to read-only
US6226718B1 (en) Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system
US6336169B1 (en) Background kill system bus transaction to optimize coherency transactions on a multiprocessor system bus
US6247098B1 (en) Cache coherency protocol with selectively implemented tagged state
WO1997004392A1 (en) Shared cache memory device
JPH07152647A (ja) 共有メモリマルチプロセッサ
US6341336B1 (en) Cache coherency protocol having tagged state used with cross-bars
US6209068B1 (en) Read line buffer and signaling protocol for processor
JPH0822414A (ja) コンピュータシステム
JP2000132531A (ja) マルチプロセッサ