JPH0926930A - マルチプロセッサ・キャッシュ・コヒーレント・コンピュータ・システムにおいてメモリ・アクセスを迅速に開始する方法および装置 - Google Patents
マルチプロセッサ・キャッシュ・コヒーレント・コンピュータ・システムにおいてメモリ・アクセスを迅速に開始する方法および装置Info
- Publication number
- JPH0926930A JPH0926930A JP8106080A JP10608096A JPH0926930A JP H0926930 A JPH0926930 A JP H0926930A JP 8106080 A JP8106080 A JP 8106080A JP 10608096 A JP10608096 A JP 10608096A JP H0926930 A JPH0926930 A JP H0926930A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- transaction request
- bus
- address
- transaction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【課題】 コンピュータ・システムのアンロード・シス
テム待ち時間が短縮されるようにメモリ・アクセス・ト
ランザクションが迅速に開始される方法の提供。 【解決手段】 マスタが、複数の部分を有するトランザ
クション要求パケットの第1の部分を送信する。メモリ
制御装置は、メモリ・アドレスの行アドレス部分を含む
トランザクション要求の第1の部分を受信し、その受信
に応答してメモリ位置の行に行アドレス・ストローブ信
号を印加することによってメモリ・アクセスを開始し、
マスタはトランザクション要求の残りの部分を送信す
る。完全なメモリ・アドレスが受信された後、このメモ
リ位置に記憶されているデータをメモリ位置以外の情報
源から読み取るべきであるどうかが判定される。
テム待ち時間が短縮されるようにメモリ・アクセス・ト
ランザクションが迅速に開始される方法の提供。 【解決手段】 マスタが、複数の部分を有するトランザ
クション要求パケットの第1の部分を送信する。メモリ
制御装置は、メモリ・アドレスの行アドレス部分を含む
トランザクション要求の第1の部分を受信し、その受信
に応答してメモリ位置の行に行アドレス・ストローブ信
号を印加することによってメモリ・アクセスを開始し、
マスタはトランザクション要求の残りの部分を送信す
る。完全なメモリ・アドレスが受信された後、このメモ
リ位置に記憶されているデータをメモリ位置以外の情報
源から読み取るべきであるどうかが判定される。
Description
【0001】
【発明の属する技術分野】本発明は、全般的にはコンピ
ュータ・システム中のデータ通信に関し、詳細には、単
一プロセッサ・コンピュータ・システムおよびマルチプ
ロセッサ・コンピュータ・システム中のアンロード・シ
ステム待ち時間を短縮することに関する。
ュータ・システム中のデータ通信に関し、詳細には、単
一プロセッサ・コンピュータ・システムおよびマルチプ
ロセッサ・コンピュータ・システム中のアンロード・シ
ステム待ち時間を短縮することに関する。
【0002】
【従来の技術】通常の単一プロセッサ・コンピュータ・
システムは一つのプロセッサと一つのキャッシュ・メモ
リとを備えている。キャッシュ・メモリにはシステム・
メモリが記憶している情報のサブセットを記憶してお
き、プロセッサによって命令を実行するための高速情報
源として働く。プロセッサがキャッシュ・メモリに記憶
されていない情報を読み取ることを要求すると、「キャ
ッシュ・ミス」が発生し、システム・メモリから取り出
した情報をキャッシュに格納しなければならない。プロ
セッサは通常、システム・メモリから情報が取り出され
る間停止し、キャッシュ・ミスの後にキャッシュを格納
するために必要な時間は、単一プロセッサ・コンピュー
タ・システムのシステム待ち時間に大きな影響を与え
る。
システムは一つのプロセッサと一つのキャッシュ・メモ
リとを備えている。キャッシュ・メモリにはシステム・
メモリが記憶している情報のサブセットを記憶してお
き、プロセッサによって命令を実行するための高速情報
源として働く。プロセッサがキャッシュ・メモリに記憶
されていない情報を読み取ることを要求すると、「キャ
ッシュ・ミス」が発生し、システム・メモリから取り出
した情報をキャッシュに格納しなければならない。プロ
セッサは通常、システム・メモリから情報が取り出され
る間停止し、キャッシュ・ミスの後にキャッシュを格納
するために必要な時間は、単一プロセッサ・コンピュー
タ・システムのシステム待ち時間に大きな影響を与え
る。
【0003】通常のマルチプロセッサ・コンピュータ・
システムは、それぞれ関連づけられたキャッシュ・メモ
リを有する複数のプロセッサを含む。マルチプロセッサ
・システムでのキャッシュ・ミスは、要求されたデータ
の最新のコピーが、システム・メモリではなく別のキャ
ッシュに存在することによって複雑になる。多くの場
合、キャッシュ・コヒーレンス・プロトコルが実施され
て、キャッシュされている情報の最新のコピーが現在ど
こに位置するかが追跡される。通常、各プロセッサは、
自己のキャッシュ・エントリの状態を独立に維持し、他
のプロセッサが、自分のキャッシュに格納するためにシ
ステム・メモリのデータを要求したとき、他の各プロセ
ッサが、システム・メモリではなく、それ自体がデータ
を供給すべきかどうかを判定する。
システムは、それぞれ関連づけられたキャッシュ・メモ
リを有する複数のプロセッサを含む。マルチプロセッサ
・システムでのキャッシュ・ミスは、要求されたデータ
の最新のコピーが、システム・メモリではなく別のキャ
ッシュに存在することによって複雑になる。多くの場
合、キャッシュ・コヒーレンス・プロトコルが実施され
て、キャッシュされている情報の最新のコピーが現在ど
こに位置するかが追跡される。通常、各プロセッサは、
自己のキャッシュ・エントリの状態を独立に維持し、他
のプロセッサが、自分のキャッシュに格納するためにシ
ステム・メモリのデータを要求したとき、他の各プロセ
ッサが、システム・メモリではなく、それ自体がデータ
を供給すべきかどうかを判定する。
【0004】マルチプロセッサ・コンピュータ・システ
ムでキャッシュ・コヒーレンスを維持するための通常の
従来の機構は、プロセッサおよびメモリ・サブシステム
が結合されたグローバルに共用されるアドレス・バスで
ある。各プロセッサは、キャッシュが要求されたデータ
を供給すべきかどうかを判定するために、アドレス・バ
ス上にドライブされたメモリ・アドレスを「スヌープ」
する。メモリ・サブシステムは通常、要求を待機させ
る。あるプロセッサが、共用「所有権」線をアサートす
ることによって、そのプロセッサのキャッシュが、要求
されたデータを供給することを示し、メモリ・サブシス
テムは、あるプロセッサが所有権線をアサートした場
合、メモリ・アクセス要求を開始する前に、サブシステ
ムの待ち行列から要求をフラッシュする。グローバルに
共用されるアドレス・バスを含む共通相互接続機構は通
常、高いバンド・ワイドおよびスループットが得られる
ように最適化され、その代わり、待ち時間が長くなる。
ムでキャッシュ・コヒーレンスを維持するための通常の
従来の機構は、プロセッサおよびメモリ・サブシステム
が結合されたグローバルに共用されるアドレス・バスで
ある。各プロセッサは、キャッシュが要求されたデータ
を供給すべきかどうかを判定するために、アドレス・バ
ス上にドライブされたメモリ・アドレスを「スヌープ」
する。メモリ・サブシステムは通常、要求を待機させ
る。あるプロセッサが、共用「所有権」線をアサートす
ることによって、そのプロセッサのキャッシュが、要求
されたデータを供給することを示し、メモリ・サブシス
テムは、あるプロセッサが所有権線をアサートした場
合、メモリ・アクセス要求を開始する前に、サブシステ
ムの待ち行列から要求をフラッシュする。グローバルに
共用されるアドレス・バスを含む共通相互接続機構は通
常、高いバンド・ワイドおよびスループットが得られる
ように最適化され、その代わり、待ち時間が長くなる。
【0005】コンピュータ・システムおよびコンピュー
タ・システム構成要素がより高速にかつより複雑にな
り、物理的な実施形状と資源割り振りの両方に対して共
通相互接続機構の効率を高めることがシステム設計者の
最も重要な問題になっている。キャッシュ・コヒーレン
ト・マルチプロセッサ・コンピュータ・システムで使用
すべき共通相互接続機構の効率を高めると、キャッシュ
・ミスの後にキャッシュを格納するのに必要な時間がコ
ンピュータ・システムのシステム待ち時間にとって重要
になるようないくつかの構造上の変化がもたらされる。
キャッシュ・ミスの後にキャッシュを格納するのに必要
な時間は、キャッシュ格納要求が出される前にメモリ・
アクセス要求が待機することのないアンロード・システ
ム待ち時間にとって特に重要である。
タ・システム構成要素がより高速にかつより複雑にな
り、物理的な実施形状と資源割り振りの両方に対して共
通相互接続機構の効率を高めることがシステム設計者の
最も重要な問題になっている。キャッシュ・コヒーレン
ト・マルチプロセッサ・コンピュータ・システムで使用
すべき共通相互接続機構の効率を高めると、キャッシュ
・ミスの後にキャッシュを格納するのに必要な時間がコ
ンピュータ・システムのシステム待ち時間にとって重要
になるようないくつかの構造上の変化がもたらされる。
キャッシュ・ミスの後にキャッシュを格納するのに必要
な時間は、キャッシュ格納要求が出される前にメモリ・
アクセス要求が待機することのないアンロード・システ
ム待ち時間にとって特に重要である。
【0006】理想的には、アンロード・システム待ち時
間は、システム・メモリを備える動的ランダム・アクセ
ス・メモリ(「DRAM」)装置の待ち時間と同程度で
あるべきである。したがって、キャッシュ・コヒーレン
ス動作およびメモリ・アクセス要求は、メモリ・アクセ
ス要求を実行するために割り振られた時間内に完了すべ
きであり、メモリ・アクセスはできるだけ迅速に開始す
べきである。しかし、共通相互接続機構の物理的実施形
状のために、システム・メモリ・アクセスを迅速に開始
することは困難である。たとえば、アドレス・バスは、
アクセスすべきメモリ位置のメモリ・アドレスを含むト
ランザクション要求パケット全体を搬送するのに2バス
・サイクル以上かかるように多重化することができる。
したがって、アンロード・システム待ち時間を短縮する
には、メモリ・アドレスが複数バス・サイクルにわたっ
て搬送されるときにメモリ・アクセスを迅速に開始する
機構が必要である。
間は、システム・メモリを備える動的ランダム・アクセ
ス・メモリ(「DRAM」)装置の待ち時間と同程度で
あるべきである。したがって、キャッシュ・コヒーレン
ス動作およびメモリ・アクセス要求は、メモリ・アクセ
ス要求を実行するために割り振られた時間内に完了すべ
きであり、メモリ・アクセスはできるだけ迅速に開始す
べきである。しかし、共通相互接続機構の物理的実施形
状のために、システム・メモリ・アクセスを迅速に開始
することは困難である。たとえば、アドレス・バスは、
アクセスすべきメモリ位置のメモリ・アドレスを含むト
ランザクション要求パケット全体を搬送するのに2バス
・サイクル以上かかるように多重化することができる。
したがって、アンロード・システム待ち時間を短縮する
には、メモリ・アドレスが複数バス・サイクルにわたっ
て搬送されるときにメモリ・アクセスを迅速に開始する
機構が必要である。
【0007】
【発明が解決しようとする課題】本は発明は、コンピュ
ータ・システムのアンロード・システム待ち時間が短縮
されるようにメモリ・アクセス・トランザクションが迅
速に開始される方法並びにそれを実現した装置を提供す
る。
ータ・システムのアンロード・システム待ち時間が短縮
されるようにメモリ・アクセス・トランザクションが迅
速に開始される方法並びにそれを実現した装置を提供す
る。
【0008】
【課題を解決するための手段】マスタは複数の部分を有
するトランザクション要求の第1の部分を送信する。こ
の場合、トランザクション要求の第1の部分は、バンク
選択情報と、SIMM選択情報と、行アドレス情報とを
含む。メモリ制御装置は、トランザクション要求の第1
の部分を受信したことに応答して、トランクション要求
の次の部分を受信する前に、バンク選択情報、SIMM
選択情報、行アドレス情報によって指示されたメモリ位
置に行アドレス・ストローブ信号を印加することによっ
て、メモリ・アクセスを開始する。マスタは、トランザ
クション要求の残りの部分を送信する。
するトランザクション要求の第1の部分を送信する。こ
の場合、トランザクション要求の第1の部分は、バンク
選択情報と、SIMM選択情報と、行アドレス情報とを
含む。メモリ制御装置は、トランザクション要求の第1
の部分を受信したことに応答して、トランクション要求
の次の部分を受信する前に、バンク選択情報、SIMM
選択情報、行アドレス情報によって指示されたメモリ位
置に行アドレス・ストローブ信号を印加することによっ
て、メモリ・アクセスを開始する。マスタは、トランザ
クション要求の残りの部分を送信する。
【0009】完全なトランザクション要求が送信され受
信された後、コヒーレンス動作が実行され、一定の時間
内に、列アドレス・ストローブ信号がメモリ位置に印加
される時間よりも前に完了する。キャッシュ・コヒーレ
ンス動作によって、メモリ・アクセスを中止すべきであ
ると判定された場合、メモリ制御装置は、列アドレス・
ストローブ信号の印加を禁止する。そうでない場合、メ
モリ制御装置はメモリ・アクセスを完了する。
信された後、コヒーレンス動作が実行され、一定の時間
内に、列アドレス・ストローブ信号がメモリ位置に印加
される時間よりも前に完了する。キャッシュ・コヒーレ
ンス動作によって、メモリ・アクセスを中止すべきであ
ると判定された場合、メモリ制御装置は、列アドレス・
ストローブ信号の印加を禁止する。そうでない場合、メ
モリ制御装置はメモリ・アクセスを完了する。
【0010】
【発明の実施の形態】下記に、共通相互接続機構のアン
ロード・システム待ち時間が短縮されるようにメモリ・
アクセスを迅速に開始する機構について説明する。特定
の回路、ブロック図、信号、アルゴリズムなどに関して
本発明を説明するが、そのような詳細が、本発明を完全
に理解させるために開示されているに過ぎないことが理
解されよう。したがって、本発明が特定の詳細なしで実
施できることが理解されよう。他の例では、本発明を不
必要にあいまいにしないように周知の回路をブロック図
形で示す。
ロード・システム待ち時間が短縮されるようにメモリ・
アクセスを迅速に開始する機構について説明する。特定
の回路、ブロック図、信号、アルゴリズムなどに関して
本発明を説明するが、そのような詳細が、本発明を完全
に理解させるために開示されているに過ぎないことが理
解されよう。したがって、本発明が特定の詳細なしで実
施できることが理解されよう。他の例では、本発明を不
必要にあいまいにしないように周知の回路をブロック図
形で示す。
【0011】図1は、例示的なコンピュータ・システム
および共通相互接続機構を示す。本明細書で説明する共
通相互接続機構の詳細は、本出願と同じ日付で出願され
カリフォルニア州マウンテンビューのサン・マイクロシ
ステムズ社(Sun Microsystems,In
c.)に共通に譲渡された、P731と指定され「AP
acket−Switched Cache Cohe
rent Multiprocessor Syste
m」と題する米国特許出願第 号に記載されてい
る。この例示的な相互接続機構は、複数のアドレス・バ
ス−データ・バス対を使用することによって、システム
・スケーラビリティを与え、相互接続周波数を増加させ
る。
および共通相互接続機構を示す。本明細書で説明する共
通相互接続機構の詳細は、本出願と同じ日付で出願され
カリフォルニア州マウンテンビューのサン・マイクロシ
ステムズ社(Sun Microsystems,In
c.)に共通に譲渡された、P731と指定され「AP
acket−Switched Cache Cohe
rent Multiprocessor Syste
m」と題する米国特許出願第 号に記載されてい
る。この例示的な相互接続機構は、複数のアドレス・バ
ス−データ・バス対を使用することによって、システム
・スケーラビリティを与え、相互接続周波数を増加させ
る。
【0012】各システム・アドレス・バスは、トランザ
クション要求パケットの幅がシステム・アドレス・バス
の幅よりも大きな同期パケット交換トランザクション要
求バスである。したがって、トランザクション要求パケ
ット全体を搬送するには複数バス・クロック・サイクル
が必要である。本実施形態によれば、コンピュータ・シ
ステムの物理アドレスの幅もシステム・アドレス・バス
の幅よりも大きい。しかし、本発明は、トランザクショ
ン要求の幅がトランザクション要求バスの幅よりも大き
なときはいつでも適用することができる。
クション要求パケットの幅がシステム・アドレス・バス
の幅よりも大きな同期パケット交換トランザクション要
求バスである。したがって、トランザクション要求パケ
ット全体を搬送するには複数バス・クロック・サイクル
が必要である。本実施形態によれば、コンピュータ・シ
ステムの物理アドレスの幅もシステム・アドレス・バス
の幅よりも大きい。しかし、本発明は、トランザクショ
ン要求の幅がトランザクション要求バスの幅よりも大き
なときはいつでも適用することができる。
【0013】本明細書で説明する特定の実施形態ではト
ランザクション要求の各部分が単一バス・クロック・サ
イクルで送信されると仮定している。したがって、複数
部分トランザクション要求パケットは、トランザクショ
ン要求の各「サイクル」が単一バス・クロック・サイク
ルで送信される「複数サイクル」トランザクション要求
パケットとして記載されている。しかし、複数部分トラ
ンザクション要求の一部を単一バス・クロック・サイク
ルで送信しなければならないわけではないことが理解さ
れよう。実際、トランザクション要求バスは、同期バス
である必要も、あるいはパケット交換バスである必要も
ない。
ランザクション要求の各部分が単一バス・クロック・サ
イクルで送信されると仮定している。したがって、複数
部分トランザクション要求パケットは、トランザクショ
ン要求の各「サイクル」が単一バス・クロック・サイク
ルで送信される「複数サイクル」トランザクション要求
パケットとして記載されている。しかし、複数部分トラ
ンザクション要求の一部を単一バス・クロック・サイク
ルで送信しなければならないわけではないことが理解さ
れよう。実際、トランザクション要求バスは、同期バス
である必要も、あるいはパケット交換バスである必要も
ない。
【0014】DRAM装置のアクセスは通常、完了する
のに一定の時間を必要とし、行アドレス・ストローブ
(「RAS(/)」)信号をアサートしてDRAM装置
の所望の行を選択し、その後、列アドレス・ストローブ
(「CAS(/)」)信号をアサートしてDRAM装置
の所望の列を選択することを含む。RAS(/)信号の
アサートとCAS(/)信号のアサートとの間の最小相
対タイミングは通常、一定で既知であり、待ち時間を短
縮するために、RAS(/)信号をアサートした後でき
るだけ早くCAS(/)をアサートすることが望まし
い。
のに一定の時間を必要とし、行アドレス・ストローブ
(「RAS(/)」)信号をアサートしてDRAM装置
の所望の行を選択し、その後、列アドレス・ストローブ
(「CAS(/)」)信号をアサートしてDRAM装置
の所望の列を選択することを含む。RAS(/)信号の
アサートとCAS(/)信号のアサートとの間の最小相
対タイミングは通常、一定で既知であり、待ち時間を短
縮するために、RAS(/)信号をアサートした後でき
るだけ早くCAS(/)をアサートすることが望まし
い。
【0015】アンロード・システム待ち時間を短縮する
ために、トランザクション要求パケットは、第1サイク
ルがメモリ・アクセスを開始するのに十分な情報を含む
ように構成される。システム・メモリのサイズに応じ
て、メモリ・アクセス要求パケットの第1サイクル中に
メモリ・アドレスの行アドレス部分を搬送し、メモリ・
アクセス要求パケットのその後のサイクル中にメモリ・
アドレスの送信を完了すれば十分である。この実施形態
によれば、メモリ・アクセス要求パケットの第1サイク
ルは、システム・メモリの正しいDRAM装置およびメ
モリ・バンクを選択するための追加情報を含む。
ために、トランザクション要求パケットは、第1サイク
ルがメモリ・アクセスを開始するのに十分な情報を含む
ように構成される。システム・メモリのサイズに応じ
て、メモリ・アクセス要求パケットの第1サイクル中に
メモリ・アドレスの行アドレス部分を搬送し、メモリ・
アクセス要求パケットのその後のサイクル中にメモリ・
アドレスの送信を完了すれば十分である。この実施形態
によれば、メモリ・アクセス要求パケットの第1サイク
ルは、システム・メモリの正しいDRAM装置およびメ
モリ・バンクを選択するための追加情報を含む。
【0016】メモリ制御装置は、メモリ・アドレスの残
りの部分またはコヒーレンス動作の完了を待たずに、ト
ランザクション要求パケットの第1サイクルの受信のも
とで適切なRAS(/)信号をアサートすることによっ
て、メモリ・アクセスを開始する。トランザクション要
求パケットのその後のサイクルでコヒーレンス制御装置
がコヒーレンス動作を実行できるようにメモリ・アドレ
スの残りの部分が搬送される。コヒーレンス制御装置
は、一定数のバス・クロック・サイクル内に、CAS
(/)信号をアサートすべき時間よりも前に、コヒーレ
ンス動作を完了する。次いで、コンピュータ・システム
のキャッシュが、要求されたデータを供給すべきである
ことをキャッシュ制御装置が示している場合、メモリ制
御装置は、CAS(/)信号のアサートを禁止すること
によって、メモリ・アクセスを中止することができる。
メモリ・アクセスを完了させることもでき、結果として
得られるデータを単に無視することもできる。行アドレ
スおよび装置選択情報が利用可能になった直後にメモリ
・アクセスを開始すると共に、CAS(/)信号をアサ
ートすべき時間よりも前にコヒーレンス動作を実行する
ことによって、アンロード・システム待ち時間をほぼシ
ステム・メモリのDRAM装置の待ち時間に短縮するこ
とができる。
りの部分またはコヒーレンス動作の完了を待たずに、ト
ランザクション要求パケットの第1サイクルの受信のも
とで適切なRAS(/)信号をアサートすることによっ
て、メモリ・アクセスを開始する。トランザクション要
求パケットのその後のサイクルでコヒーレンス制御装置
がコヒーレンス動作を実行できるようにメモリ・アドレ
スの残りの部分が搬送される。コヒーレンス制御装置
は、一定数のバス・クロック・サイクル内に、CAS
(/)信号をアサートすべき時間よりも前に、コヒーレ
ンス動作を完了する。次いで、コンピュータ・システム
のキャッシュが、要求されたデータを供給すべきである
ことをキャッシュ制御装置が示している場合、メモリ制
御装置は、CAS(/)信号のアサートを禁止すること
によって、メモリ・アクセスを中止することができる。
メモリ・アクセスを完了させることもでき、結果として
得られるデータを単に無視することもできる。行アドレ
スおよび装置選択情報が利用可能になった直後にメモリ
・アクセスを開始すると共に、CAS(/)信号をアサ
ートすべき時間よりも前にコヒーレンス動作を実行する
ことによって、アンロード・システム待ち時間をほぼシ
ステム・メモリのDRAM装置の待ち時間に短縮するこ
とができる。
【0017】図1のコンピュータ・システム10は、キ
ャッシュ・コヒーレント・マルチプロセッサ・システム
であり、一般にシステム・コントローラ20と、プロセ
ッサ25および30と、入出力(「I/O」)制御装置
35と、拡張スロット40および45と、入出力装置5
0および55と、データ経路切換回路60と、システム
・メモリ・バンク65および70とを備える。プロセッ
サ25および30はそれぞれ、キャッシュ27および3
2を含むものとして示されており、システム・コントロ
ーラ20は、キャッシュ27および32のキャッシュ・
タグを複写する1組の重複タグ(「Dtag」)を含む
ものとして示されている。
ャッシュ・コヒーレント・マルチプロセッサ・システム
であり、一般にシステム・コントローラ20と、プロセ
ッサ25および30と、入出力(「I/O」)制御装置
35と、拡張スロット40および45と、入出力装置5
0および55と、データ経路切換回路60と、システム
・メモリ・バンク65および70とを備える。プロセッ
サ25および30はそれぞれ、キャッシュ27および3
2を含むものとして示されており、システム・コントロ
ーラ20は、キャッシュ27および32のキャッシュ・
タグを複写する1組の重複タグ(「Dtag」)を含む
ものとして示されている。
【0018】コンピュータ・システム10の共通相互接
続機構は、同期的に動作し、2つの結合システム・アド
レス・バス−システム・データ・バス対を含む。各シス
テム・アドレス・バスは、2方向パケット交換トランザ
クション要求バスであり、メモリ・アクセス、および共
通相互接続機構のトランザクション・セットによって指
定された他のタイプのトランザクションを要求するため
にシステム構成要素によって使用することができる。プ
ロセッサ25は、第1のアドレス・バスSYS_ADD
RESS_BUS_0および第1のデータ・バスSYS
_DATA_BUS_0に結合される。プロセッサ3
0、入出力制御装置35、拡張スロット40および45
は、第2のシステム・アドレス・バスSYS_ADDR
ESS_BUS_1および第2のシステム・データ・バ
スSYS_DATA_BUS_1Oに結合される。入出
力制御装置35も、入出力装置50および55と情報を
交換するために入出力バスI/O_BUS_1に結合さ
れる。2つのシステム・アドレス・バスは共に、システ
ム・コントローラ20に結合される。相互接続制御線2
2は、システム・アドレス・バスを介してシステム構成
要素によって要求されたトランザクションの完了の調和
をとるために使用される。本実施形態によれば、各シス
テム・アドレス・バスSYS_ADDRESS_BUS
_nは、36個のアドレス導体An[35:0]を含
み、物理アドレス空間は幅41ビットPA[40:0]
であり、各トランザクション要求パケットを完了するに
は2バス・クロック・サイクルが必要である。
続機構は、同期的に動作し、2つの結合システム・アド
レス・バス−システム・データ・バス対を含む。各シス
テム・アドレス・バスは、2方向パケット交換トランザ
クション要求バスであり、メモリ・アクセス、および共
通相互接続機構のトランザクション・セットによって指
定された他のタイプのトランザクションを要求するため
にシステム構成要素によって使用することができる。プ
ロセッサ25は、第1のアドレス・バスSYS_ADD
RESS_BUS_0および第1のデータ・バスSYS
_DATA_BUS_0に結合される。プロセッサ3
0、入出力制御装置35、拡張スロット40および45
は、第2のシステム・アドレス・バスSYS_ADDR
ESS_BUS_1および第2のシステム・データ・バ
スSYS_DATA_BUS_1Oに結合される。入出
力制御装置35も、入出力装置50および55と情報を
交換するために入出力バスI/O_BUS_1に結合さ
れる。2つのシステム・アドレス・バスは共に、システ
ム・コントローラ20に結合される。相互接続制御線2
2は、システム・アドレス・バスを介してシステム構成
要素によって要求されたトランザクションの完了の調和
をとるために使用される。本実施形態によれば、各シス
テム・アドレス・バスSYS_ADDRESS_BUS
_nは、36個のアドレス導体An[35:0]を含
み、物理アドレス空間は幅41ビットPA[40:0]
であり、各トランザクション要求パケットを完了するに
は2バス・クロック・サイクルが必要である。
【0019】各システム・データ・バスは、データ経路
切換回路60を介してシステム・メモリ・バンク65お
よび70の一方に結合することができる。システム・メ
モリ・バンク65および70はそれぞれ、メモリ・デー
タ・バスMEM_DATA_BUS_0およびMEM_
DATA_BUS_1によってデータ経路切換回路60
に結合されるものとして示されている。データ経路切換
回路60はN×Mクロスバー・スイッチでよく(Nはシ
ステム・データ・バスの総数であり、Mはメモリ・デー
タ・バスの総数である)、システム・コントローラ20
は、切換制御線62を介してデータ経路切換回路60を
制御する。
切換回路60を介してシステム・メモリ・バンク65お
よび70の一方に結合することができる。システム・メ
モリ・バンク65および70はそれぞれ、メモリ・デー
タ・バスMEM_DATA_BUS_0およびMEM_
DATA_BUS_1によってデータ経路切換回路60
に結合されるものとして示されている。データ経路切換
回路60はN×Mクロスバー・スイッチでよく(Nはシ
ステム・データ・バスの総数であり、Mはメモリ・デー
タ・バスの総数である)、システム・コントローラ20
は、切換制御線62を介してデータ経路切換回路60を
制御する。
【0020】システム・コントローラ20は、キャッシ
ュ・コヒーレンスを維持し、システム・コントローラ2
0自体をキャッシュ・コヒーレンス制御装置とメモリ制
御装置の両方とみることができるようにシステム・メモ
リを管理する。システム・コントローラ20の機能は、
それぞれの異なる機能単位によって実行することもでき
る。さらに、キャッシュ・コヒーレンスは、各プロセッ
サが共通のバスをスヌープするバス・スヌーピング方式
などによって分散式に維持することもできる。
ュ・コヒーレンスを維持し、システム・コントローラ2
0自体をキャッシュ・コヒーレンス制御装置とメモリ制
御装置の両方とみることができるようにシステム・メモ
リを管理する。システム・コントローラ20の機能は、
それぞれの異なる機能単位によって実行することもでき
る。さらに、キャッシュ・コヒーレンスは、各プロセッ
サが共通のバスをスヌープするバス・スヌーピング方式
などによって分散式に維持することもできる。
【0021】システム・コントローラ20は、キャッシ
ュ・コヒーレンスを維持するために、コンピュータ・シ
ステム10のすべてのキャッシング・マスタのキャッシ
ュ・タグと同じ1組の重複キャッシュ・タグ(Dta
g)を記憶する。Dtagは、コンピュータ・システム
10が1つのシステム・アドレス−データ・バス対を備
える単一プロセッサ・コンピュータ・システムとして実
施されるときは使用されない。トランザクション要求パ
ケットが受信されたとき、システム・コントローラ20
は、重複キャッシュ・タグ中のキャッシュ・ブロックの
キャッシュ状態を比較し、無効化トランザクションまた
はコピーバック・トランザクションを適切に、キャッシ
ュ状態によって示されたキャッシング・マスタへ送信す
る。重複タグは、キャッシング・マスタのキャッシュ・
タグを反映し、キャッシング・マスタのキャッシュ・タ
グ中の誤参照をなくする。システム・コントローラ20
は、システム・メモリを制御するために、メモリ・アク
セスのメモリ・アドレス、RAS(/)信号、CAS
(/)信号、書込みイネーブル(「WE(/)」)信号
などのメモリ制御信号をメモリ・アドレス及びメモリ制
御線64を介してメモリ・バンクに与える。
ュ・コヒーレンスを維持するために、コンピュータ・シ
ステム10のすべてのキャッシング・マスタのキャッシ
ュ・タグと同じ1組の重複キャッシュ・タグ(Dta
g)を記憶する。Dtagは、コンピュータ・システム
10が1つのシステム・アドレス−データ・バス対を備
える単一プロセッサ・コンピュータ・システムとして実
施されるときは使用されない。トランザクション要求パ
ケットが受信されたとき、システム・コントローラ20
は、重複キャッシュ・タグ中のキャッシュ・ブロックの
キャッシュ状態を比較し、無効化トランザクションまた
はコピーバック・トランザクションを適切に、キャッシ
ュ状態によって示されたキャッシング・マスタへ送信す
る。重複タグは、キャッシング・マスタのキャッシュ・
タグを反映し、キャッシング・マスタのキャッシュ・タ
グ中の誤参照をなくする。システム・コントローラ20
は、システム・メモリを制御するために、メモリ・アク
セスのメモリ・アドレス、RAS(/)信号、CAS
(/)信号、書込みイネーブル(「WE(/)」)信号
などのメモリ制御信号をメモリ・アドレス及びメモリ制
御線64を介してメモリ・バンクに与える。
【0022】システム・メモリのサイズは、トランザク
ション要求パケットの第1サイクルで与えるべき物理ア
ドレス・ビットの数と選択に直接影響を及ぼす。少なく
とも、複数サイクル・トランザクション要求の第1サイ
クルで所望のメモリ位置の行アドレスを与えることが望
ましい。図2は、行アドレスが要求パケットの第1サイ
クル205で与えられ、列アドレスが要求パケットの第
2サイクル210で与えられる汎用複数サイクル・トラ
ンザクション要求パケットを示す。
ション要求パケットの第1サイクルで与えるべき物理ア
ドレス・ビットの数と選択に直接影響を及ぼす。少なく
とも、複数サイクル・トランザクション要求の第1サイ
クルで所望のメモリ位置の行アドレスを与えることが望
ましい。図2は、行アドレスが要求パケットの第1サイ
クル205で与えられ、列アドレスが要求パケットの第
2サイクル210で与えられる汎用複数サイクル・トラ
ンザクション要求パケットを示す。
【0023】この実施形態によれば、各システム・メモ
リ・バンクは、それぞれ、通常複数のDRAM装置を備
える、1つまたは複数の単一インライン・メモリ・モジ
ュール(「SIMMS」)として実施することができ
る。したがって、RAS(/)信号を正しいメモリ位置
に印加するためにそのうちの1つを選択しなければなら
ない複数のSIMMがある。
リ・バンクは、それぞれ、通常複数のDRAM装置を備
える、1つまたは複数の単一インライン・メモリ・モジ
ュール(「SIMMS」)として実施することができ
る。したがって、RAS(/)信号を正しいメモリ位置
に印加するためにそのうちの1つを選択しなければなら
ない複数のSIMMがある。
【0024】表1は、コンピュータ・システム10によ
ってSIMMサイズ16MB、32MB、64MB、1
28MBがサポートされることを示す。表1に示したS
IMMサイズは、ユーザがアクセスできるデータを記憶
するSIMMの部分のみを示し、エラー訂正コード化
(「ECC」)情報を記憶するSIMMの部分は示され
ていない。したがって、この実施形態のコンピュータ・
システムによってサポートされるSIMMの実際のサイ
ズは、表1で示したものよりも大きい。
ってSIMMサイズ16MB、32MB、64MB、1
28MBがサポートされることを示す。表1に示したS
IMMサイズは、ユーザがアクセスできるデータを記憶
するSIMMの部分のみを示し、エラー訂正コード化
(「ECC」)情報を記憶するSIMMの部分は示され
ていない。したがって、この実施形態のコンピュータ・
システムによってサポートされるSIMMの実際のサイ
ズは、表1で示したものよりも大きい。
【0025】 表1 SIMMタイプ SIMMサイズ 基本装置サイズ 装置の数 16MB 4Mb(1M×4) 36 32MB 16Mb(2M×8) 18 64MB 16Mb(4M×4) 36 128MB 64Mb(8M×8) 18
【0026】図3は、16MB SIMM、32MB
SIMM、64MB SIMM、128MB SIMM
用のSIMMを選択し、それにアドレスするために必要
なビットの数を図示したものである。それぞれの異なる
SIMMタイプにおいて、完全行アドレスを提示するに
は最小で10ビット、最大で13ビットが必要であり、
最大で8つのSIMM対がアクセスできると仮定する
と、SIMMを選択するには最大で3ビットが必要であ
る。したがって、SIMMを選択するのに必要なビット
数は、システムが実施するSIMM対の数に依存する。
SIMM、64MB SIMM、128MB SIMM
用のSIMMを選択し、それにアドレスするために必要
なビットの数を図示したものである。それぞれの異なる
SIMMタイプにおいて、完全行アドレスを提示するに
は最小で10ビット、最大で13ビットが必要であり、
最大で8つのSIMM対がアクセスできると仮定する
と、SIMMを選択するには最大で3ビットが必要であ
る。したがって、SIMMを選択するのに必要なビット
数は、システムが実施するSIMM対の数に依存する。
【0027】表1および図3に示した各SIMMタイプ
を使用できるようにするには、トランザクション要求パ
ケットの第1サイクルで16物理アドレス・ビットを与
えるべきであり、これらの16物理アドレス・ビット
は、メモリ・アクセス要求用の行アドレス信号およびS
IMM選択信号を与えるように選択すべきである。最大
SIMMタイプのサイズに応じて、これよりも多く、あ
るいは少ない物理アドレス・ビットが必要なこともあ
る。この実施形態では、複数のシステム・メモリ・バン
クのうちの1つを選択するために追加物理アドレス・ビ
ットも必要である。
を使用できるようにするには、トランザクション要求パ
ケットの第1サイクルで16物理アドレス・ビットを与
えるべきであり、これらの16物理アドレス・ビット
は、メモリ・アクセス要求用の行アドレス信号およびS
IMM選択信号を与えるように選択すべきである。最大
SIMMタイプのサイズに応じて、これよりも多く、あ
るいは少ない物理アドレス・ビットが必要なこともあ
る。この実施形態では、複数のシステム・メモリ・バン
クのうちの1つを選択するために追加物理アドレス・ビ
ットも必要である。
【0028】次に、コンピュータ・システム10で使用
すべきトランザクション要求パケットの例示的なフォー
マットについて論じる。コンピュータ・システム10の
トランザクション・セットは、キャッシュ・コヒーレン
ト・トランザクションと、非キャッシュ・トランザクシ
ョンと、割込みトランザクションとを含み、図4ないし
6はそれぞれ、キャッシュ・トランザクション、非キャ
ッシュ・トランザクション、割込みトランザクション用
のトランザクション要求パケット・フォーマットを示
す。図4および5の読取りトランザクション・パケット
および書込みトランザクション・パケットの第1サイク
ルで搬送される物理アドレス・ビットはバンク選択情
報、SIMM選択情報、行アドレス情報を与えるように
選択される。様々なトランザクション要求パケットの各
フィールドの簡単な説明を示したが、詳細は、前記で引
用した米国特許出願第 号に記載されている。
すべきトランザクション要求パケットの例示的なフォー
マットについて論じる。コンピュータ・システム10の
トランザクション・セットは、キャッシュ・コヒーレン
ト・トランザクションと、非キャッシュ・トランザクシ
ョンと、割込みトランザクションとを含み、図4ないし
6はそれぞれ、キャッシュ・トランザクション、非キャ
ッシュ・トランザクション、割込みトランザクション用
のトランザクション要求パケット・フォーマットを示
す。図4および5の読取りトランザクション・パケット
および書込みトランザクション・パケットの第1サイク
ルで搬送される物理アドレス・ビットはバンク選択情
報、SIMM選択情報、行アドレス情報を与えるように
選択される。様々なトランザクション要求パケットの各
フィールドの簡単な説明を示したが、詳細は、前記で引
用した米国特許出願第 号に記載されている。
【0029】図4は、システム・コントローラ20また
はシステム構成要素によって開始されたキャッシュ・コ
ヒーレント・トランザクション要求用に使用されるトラ
ンザクション要求フォーマットを示す。キャッシュ・コ
ヒーレント・トランザクション要求パケットの第1サイ
クル405と第2サイクル410は共に、複数のフィー
ルドを含む。第1サイクル405では、パリティ・フィ
ールドはビット位置35を占め、クラス・フィールドは
ビット位置34を占め、物理アドレスPA[8:6]お
よびPA[40:39]の5ビットはビット位置29−
33を占め、タイプ・フィールドはビット位置25−2
8を占め、物理アドレスPA[38:14]の25追加
ビットはビット位置0−24を占める。クラス・フィー
ルドは、要求側マスタ中の2つのマスタ・クラス待ち行
列のうちのどちらからトランザクション要求パケットが
発行されたかを識別し、トランザクション要求の実行を
順序付けるために使用される。クラス・フィールドの幅
を拡張することによって、より多くのマスタ・クラス待
ち行列を区別することができる。タイプ・フィールド
は、どんなタイプのトランザクションが要求されている
かを指定する。
はシステム構成要素によって開始されたキャッシュ・コ
ヒーレント・トランザクション要求用に使用されるトラ
ンザクション要求フォーマットを示す。キャッシュ・コ
ヒーレント・トランザクション要求パケットの第1サイ
クル405と第2サイクル410は共に、複数のフィー
ルドを含む。第1サイクル405では、パリティ・フィ
ールドはビット位置35を占め、クラス・フィールドは
ビット位置34を占め、物理アドレスPA[8:6]お
よびPA[40:39]の5ビットはビット位置29−
33を占め、タイプ・フィールドはビット位置25−2
8を占め、物理アドレスPA[38:14]の25追加
ビットはビット位置0−24を占める。クラス・フィー
ルドは、要求側マスタ中の2つのマスタ・クラス待ち行
列のうちのどちらからトランザクション要求パケットが
発行されたかを識別し、トランザクション要求の実行を
順序付けるために使用される。クラス・フィールドの幅
を拡張することによって、より多くのマスタ・クラス待
ち行列を区別することができる。タイプ・フィールド
は、どんなタイプのトランザクションが要求されている
かを指定する。
【0030】キャッシュ・コヒーレント・トランザクシ
ョン要求パケットの第2サイクル410では、パリティ
・フィールドがビット位置35を占め、クラス・フィー
ルドがビット位置34を占め、マスタIDフィールドが
ビット位置29−33を占め、dirty victi
m pending(「DVP」)フィールドがビット
位置28を占め、ビット位置25−27が保留され、i
nvalidateme advisory(「IV
A」)フィールドがビット位置24を占め、no Dt
ag present(「NDP」)フィールドがビッ
ト位置23を占め、ビット位置13−22が保留され、
残りの物理アドレス・ビットPA[16:4]がビット
位置0−12を占める。NDPフィールドが有効である
のは、Dtagを使用しない単一プロセッサなどのシス
テムだけである。
ョン要求パケットの第2サイクル410では、パリティ
・フィールドがビット位置35を占め、クラス・フィー
ルドがビット位置34を占め、マスタIDフィールドが
ビット位置29−33を占め、dirty victi
m pending(「DVP」)フィールドがビット
位置28を占め、ビット位置25−27が保留され、i
nvalidateme advisory(「IV
A」)フィールドがビット位置24を占め、no Dt
ag present(「NDP」)フィールドがビッ
ト位置23を占め、ビット位置13−22が保留され、
残りの物理アドレス・ビットPA[16:4]がビット
位置0−12を占める。NDPフィールドが有効である
のは、Dtagを使用しない単一プロセッサなどのシス
テムだけである。
【0031】5ビットのマスタIDフィールドは、要求
側マスタを識別するために使用され、システム・コント
ローラ20はこの情報を使用して、同じマスタIDを有
するトランザクション要求、およびそれぞれの異なるマ
スタIDを有する並列要求用の順序付けを維持する。D
VPフィールドは、dirty victim pen
ding writebackビットであり、コヒーレ
ント読取り動作がダーティ線を犠牲にしたときにセット
される。システム・コントローラ20は、DVPフィー
ルドを使用してビクテム処理を行う。IVAフィールド
は、Dtagなしのシステムにおいて構成要素が開始し
たキャッシュ・コヒーレント書込みトランザクション中
に「invalidate me advisory」
を送信するために要求側マスタによって使用される。要
求側マスタは、システム・コントローラに要求側マスタ
のキャッシュ・ラインを無効化させたい場合にIVAフ
ィールドのビットをセットする。IVAフィールドは、
システム・コントローラ20が重複タグを使用したとき
には無視される。NDPフィールドは、システム・コン
トローラ20によって、Dtagなしのシステムにおい
てのみ、システム・コントローラが開始したパケットに
セットされる。
側マスタを識別するために使用され、システム・コント
ローラ20はこの情報を使用して、同じマスタIDを有
するトランザクション要求、およびそれぞれの異なるマ
スタIDを有する並列要求用の順序付けを維持する。D
VPフィールドは、dirty victim pen
ding writebackビットであり、コヒーレ
ント読取り動作がダーティ線を犠牲にしたときにセット
される。システム・コントローラ20は、DVPフィー
ルドを使用してビクテム処理を行う。IVAフィールド
は、Dtagなしのシステムにおいて構成要素が開始し
たキャッシュ・コヒーレント書込みトランザクション中
に「invalidate me advisory」
を送信するために要求側マスタによって使用される。要
求側マスタは、システム・コントローラに要求側マスタ
のキャッシュ・ラインを無効化させたい場合にIVAフ
ィールドのビットをセットする。IVAフィールドは、
システム・コントローラ20が重複タグを使用したとき
には無視される。NDPフィールドは、システム・コン
トローラ20によって、Dtagなしのシステムにおい
てのみ、システム・コントローラが開始したパケットに
セットされる。
【0032】図5は、システム・コントローラ20また
はシステム構成要素が開始した非キャッシュ読取りトラ
ンザクションまたは書込みトランザクション用のトラン
ザクション要求パケットのフォーマットを示す。図のよ
うに、第1サイクル505のフォーマットは、キャッシ
ュ・コヒーレント読取りトランザクションまたは書込み
トランザクションの第1サイクル405と同じである。
非キャッシュ読取りトランザクション・フォーマットま
たは書込みトランザクション・フォーマットの第2サイ
クル510のビット位置29−35は、キャッシュ・コ
ヒーレント・トランザクション要求パケットの第2サイ
クルのビット29−35と同じである。ビット位置13
−28には、16ビット・バイト・マスク・フィールド
が定義される。バイト・マスク・フィールドは、適当な
システム・アドレス・バス上の有効なバイトを示す。ビ
ット位置0−12は、物理アドレス・ビットPA[1
6:4]を含む。
はシステム構成要素が開始した非キャッシュ読取りトラ
ンザクションまたは書込みトランザクション用のトラン
ザクション要求パケットのフォーマットを示す。図のよ
うに、第1サイクル505のフォーマットは、キャッシ
ュ・コヒーレント読取りトランザクションまたは書込み
トランザクションの第1サイクル405と同じである。
非キャッシュ読取りトランザクション・フォーマットま
たは書込みトランザクション・フォーマットの第2サイ
クル510のビット位置29−35は、キャッシュ・コ
ヒーレント・トランザクション要求パケットの第2サイ
クルのビット29−35と同じである。ビット位置13
−28には、16ビット・バイト・マスク・フィールド
が定義される。バイト・マスク・フィールドは、適当な
システム・アドレス・バス上の有効なバイトを示す。ビ
ット位置0−12は、物理アドレス・ビットPA[1
6:4]を含む。
【0033】図4と図5の両方に示したように、物理ア
ドレス・ビットは、トランザクション要求パケットの両
方のサイクル中にある。この実施形態によれば、複数の
メモリ・バンクのうちの1つを選択するためのバンク選
択情報として、第1サイクル中に物理アドレス・ビット
PA[8:6]を与えることができる。3ビットを使用
することによって、8つ程度のメモリ・バンク用の様々
な異なるバンク構成が可能になる。下位物理アドレス・
ビットにバンク選択情報を与えることにより、単に物理
アドレスを増分することによってバンクのインタリーブ
を行うことができる。
ドレス・ビットは、トランザクション要求パケットの両
方のサイクル中にある。この実施形態によれば、複数の
メモリ・バンクのうちの1つを選択するためのバンク選
択情報として、第1サイクル中に物理アドレス・ビット
PA[8:6]を与えることができる。3ビットを使用
することによって、8つ程度のメモリ・バンク用の様々
な異なるバンク構成が可能になる。下位物理アドレス・
ビットにバンク選択情報を与えることにより、単に物理
アドレスを増分することによってバンクのインタリーブ
を行うことができる。
【0034】物理アドレス・ビットPA[8:6]は、
「ページ・モード」メモリ・アクセスまたは「CAS
(/)専用」メモリ・アクセスを行うためにトランザク
ション要求パケットの第2サイクル中に与えられる。そ
の場合、RAS(/)信号はアサートされたままにな
り、CAS(/)信号は、物理アドレス・ビットPA
[8:6]の増分に基づいて、連続サイクルにわたって
それぞれの異なるバンクに選択的に印加される。ページ
・モード機能を十分に利用するには、3サイクル以上を
有する複数サイクル・パケットを定義することができ
る。この場合、第1サイクル後の各サイクルは、前記で
定義した第2サイクルに類似しており、物理アドレス・
ビットPA[8:6]を含む。物理アドレス・ビットP
A[8:6]は、第2サイクルの後、指示されたメモリ
・バンクにCAS(/)信号を選択的に印加するために
トグルされる。
「ページ・モード」メモリ・アクセスまたは「CAS
(/)専用」メモリ・アクセスを行うためにトランザク
ション要求パケットの第2サイクル中に与えられる。そ
の場合、RAS(/)信号はアサートされたままにな
り、CAS(/)信号は、物理アドレス・ビットPA
[8:6]の増分に基づいて、連続サイクルにわたって
それぞれの異なるバンクに選択的に印加される。ページ
・モード機能を十分に利用するには、3サイクル以上を
有する複数サイクル・パケットを定義することができ
る。この場合、第1サイクル後の各サイクルは、前記で
定義した第2サイクルに類似しており、物理アドレス・
ビットPA[8:6]を含む。物理アドレス・ビットP
A[8:6]は、第2サイクルの後、指示されたメモリ
・バンクにCAS(/)信号を選択的に印加するために
トグルされる。
【0035】ページ・モード・メモリ・アクセスは、単
に、着信トランザクション要求パケットの第1サイクル
中に含まれる行アドレスを前の行アドレスと比較するこ
とによって、複数のトランザクション要求にわたってサ
ポートすることもできる。前のトランザクション用のR
AS(/)信号はアサートされたままになる。行アドレ
スが一致する場合、CAS(/)信号をただちに印加す
ることができ、待ち時間が短縮される。一致しない場
合、前のRAS(/)信号がディアサートされ、適当な
RAS(/)信号がアサートされる。
に、着信トランザクション要求パケットの第1サイクル
中に含まれる行アドレスを前の行アドレスと比較するこ
とによって、複数のトランザクション要求にわたってサ
ポートすることもできる。前のトランザクション用のR
AS(/)信号はアサートされたままになる。行アドレ
スが一致する場合、CAS(/)信号をただちに印加す
ることができ、待ち時間が短縮される。一致しない場
合、前のRAS(/)信号がディアサートされ、適当な
RAS(/)信号がアサートされる。
【0036】図6は、システム構成要素が開始した割り
込みトランザクション要求パケットのフォーマットを示
す。割込みトランザクション要求パケットの第1サイク
ル605は、パリティ・フィールドと、クラス・フィー
ルドと、タイプ・フィールドと、ターゲットIDフィー
ルドとを含む。ターゲットIDフィールドとは、割込み
要求パケットが転送される宛先システム構成要素のマス
タIDを含む5ビット・フィールドである。割り込み要
求パケットの第2サイクル610は、パリティ・フィー
ルドと、クラス・フィールドと、マスタIDフィールド
とを含む。マスタIDフィールドは、要求側マスタのI
Dを示す5ビット・フィールドである。
込みトランザクション要求パケットのフォーマットを示
す。割込みトランザクション要求パケットの第1サイク
ル605は、パリティ・フィールドと、クラス・フィー
ルドと、タイプ・フィールドと、ターゲットIDフィー
ルドとを含む。ターゲットIDフィールドとは、割込み
要求パケットが転送される宛先システム構成要素のマス
タIDを含む5ビット・フィールドである。割り込み要
求パケットの第2サイクル610は、パリティ・フィー
ルドと、クラス・フィールドと、マスタIDフィールド
とを含む。マスタIDフィールドは、要求側マスタのI
Dを示す5ビット・フィールドである。
【0037】次に、システム・アドレス・バスの動作を
図7に関して論じる。処理ブロック705で、マスタ
は、それに結合されたシステム・アドレス・バスの制御
を首尾良く調停した後、システム・アドレス・バスを使
用してキャッシュ可能な読取りトランザクション要求パ
ケットの第1サイクルを発行する。トランザクション要
求パケットのタイプ・フィールドは、トランザクション
要求がキャッシュ・コヒーレント要求であることをシス
テム・コントローラ20に示す。処理ブロック720
で、キャッシング・マスタが読取りトランザクション要
求パケットの第2サイクルを発行し、システム・コント
ローラ20のメモリ制御装置部分が、読取り要求パケッ
トの第1サイクルに含まれるバンク選択情報、SIMM
選択情報、行アドレス情報から判定された適当なRAS
(/)信号をアサートすることによってメモリ・アクセ
スを開始する。
図7に関して論じる。処理ブロック705で、マスタ
は、それに結合されたシステム・アドレス・バスの制御
を首尾良く調停した後、システム・アドレス・バスを使
用してキャッシュ可能な読取りトランザクション要求パ
ケットの第1サイクルを発行する。トランザクション要
求パケットのタイプ・フィールドは、トランザクション
要求がキャッシュ・コヒーレント要求であることをシス
テム・コントローラ20に示す。処理ブロック720
で、キャッシング・マスタが読取りトランザクション要
求パケットの第2サイクルを発行し、システム・コント
ローラ20のメモリ制御装置部分が、読取り要求パケッ
トの第1サイクルに含まれるバンク選択情報、SIMM
選択情報、行アドレス情報から判定された適当なRAS
(/)信号をアサートすることによってメモリ・アクセ
スを開始する。
【0038】完全物理アドレスを受信した後、キャッシ
ュ・コヒーレンス動作が開始し、システム・コントロー
ラ20のコヒーレンス制御装置が、「スヌープ・アサイ
ド」を実行することによって、要求されたデータを処理
ブロック25のシステム・メモリから得るべきか、それ
ともキャッシュから得るべきかを判定する。スヌープ・
アサイドでは、システム・コントローラが、Dtagを
スヌープし、要求されたデータの最新のコピーが他のキ
ャッシュに存在するか、それともシステム・メモリに存
在するかを判定する。キャッシュ・コヒーレント動作
は、一定の周期内に実行され、CAS(/)信号をアサ
ートすべき時間よりも前に完了する。データがシステム
中の他のキャッシュに含まれる場合、システム・コント
ローラ20は、メモリ・アクセスを中止し、処理ブロッ
ク730で、他のキャッシング・マスタから要求側マス
タへのコピーバックを要求する。メモリ・アクセスは、
選択されたメモリ装置のCAS(/)信号のアサートを
禁止することによって中止することができる。
ュ・コヒーレンス動作が開始し、システム・コントロー
ラ20のコヒーレンス制御装置が、「スヌープ・アサイ
ド」を実行することによって、要求されたデータを処理
ブロック25のシステム・メモリから得るべきか、それ
ともキャッシュから得るべきかを判定する。スヌープ・
アサイドでは、システム・コントローラが、Dtagを
スヌープし、要求されたデータの最新のコピーが他のキ
ャッシュに存在するか、それともシステム・メモリに存
在するかを判定する。キャッシュ・コヒーレント動作
は、一定の周期内に実行され、CAS(/)信号をアサ
ートすべき時間よりも前に完了する。データがシステム
中の他のキャッシュに含まれる場合、システム・コント
ローラ20は、メモリ・アクセスを中止し、処理ブロッ
ク730で、他のキャッシング・マスタから要求側マス
タへのコピーバックを要求する。メモリ・アクセスは、
選択されたメモリ装置のCAS(/)信号のアサートを
禁止することによって中止することができる。
【0039】処理ブロック740で、データを供給する
ことを要求されたキャッシュ・マスタは、データを供給
する準備が完了したことを相互接続制御線22を介して
システム・コントローラ20に示す。処理ブロック74
5で、システム・コントローラ20がデータ経路をスケ
ジューリングし、データが要求側マスタへ転送され、シ
ステム・コントローラ20が、要求されたデータがシス
テム・データ・バス上で得られることを相互接続制御線
を介して要求側マスタに示す。プロセスは処理ブロック
750で終了する。
ことを要求されたキャッシュ・マスタは、データを供給
する準備が完了したことを相互接続制御線22を介して
システム・コントローラ20に示す。処理ブロック74
5で、システム・コントローラ20がデータ経路をスケ
ジューリングし、データが要求側マスタへ転送され、シ
ステム・コントローラ20が、要求されたデータがシス
テム・データ・バス上で得られることを相互接続制御線
を介して要求側マスタに示す。プロセスは処理ブロック
750で終了する。
【0040】データをシステム・メモリから供給する場
合、システム・コントローラ20は、選択されたメモリ
装置のCAS(/)信号をアサートすることによってメ
モリ・アクセスを完了し、処理ブロック745で、要求
側マスタへのデータ経路をスケジューリングする。シス
テム・コントローラは、そのシステム・データ・バス
が、要求されたデータを含むことを示す適当な制御信号
を、相互接続制御線22を介して要求側マスタへ送信す
る。
合、システム・コントローラ20は、選択されたメモリ
装置のCAS(/)信号をアサートすることによってメ
モリ・アクセスを完了し、処理ブロック745で、要求
側マスタへのデータ経路をスケジューリングする。シス
テム・コントローラは、そのシステム・データ・バス
が、要求されたデータを含むことを示す適当な制御信号
を、相互接続制御線22を介して要求側マスタへ送信す
る。
【0041】図8は、システム・コントローラ20をさ
らに詳しく示すものである。図のように、トランザクシ
ョン要求パケットの一部として送信された物理アドレス
は、システム・アドレス・バスを介して受信され、シス
テム・コントローラ20の入力レジスタ805によって
ラッチされる。復号回路810が、物理アドレスを復号
してトランザクション・タイプおよび宛先を判定する。
トランザクション・タイプがキャッシュ・メモリ・アク
セスである場合、復号回路810はメモリ・アドレスを
メモリ・アドレス・レジスタ820へ転送する。入力レ
ジスタ805およびメモリ・アドレス・レジスタ820
は、相互接続機構のシステム・クロックによってクロッ
クされる。復号回路810は、論理機構815を制御す
るためにどのバンクおよびSIMMが選択されたかを指
定する制御情報も転送する。メモリ制御論理機構815
およびメモリ・アドレス・レジスタ820は、システム
・コントローラ20とシステム・メモリとの間のインタ
フェースを定義する。
らに詳しく示すものである。図のように、トランザクシ
ョン要求パケットの一部として送信された物理アドレス
は、システム・アドレス・バスを介して受信され、シス
テム・コントローラ20の入力レジスタ805によって
ラッチされる。復号回路810が、物理アドレスを復号
してトランザクション・タイプおよび宛先を判定する。
トランザクション・タイプがキャッシュ・メモリ・アク
セスである場合、復号回路810はメモリ・アドレスを
メモリ・アドレス・レジスタ820へ転送する。入力レ
ジスタ805およびメモリ・アドレス・レジスタ820
は、相互接続機構のシステム・クロックによってクロッ
クされる。復号回路810は、論理機構815を制御す
るためにどのバンクおよびSIMMが選択されたかを指
定する制御情報も転送する。メモリ制御論理機構815
およびメモリ・アドレス・レジスタ820は、システム
・コントローラ20とシステム・メモリとの間のインタ
フェースを定義する。
【0042】図8は、メモリ・アドレスを復号回路81
0から受信するように結合されたものとしてコヒーレン
ス制御論理機構825を示している。コヒーレンス制御
論理機構825は、Dtag21をスヌープし、メモリ
・アドレスによって指示されたメモリ位置にあるデータ
がキャッシュに記憶されているかどうかを判定する。
0から受信するように結合されたものとしてコヒーレン
ス制御論理機構825を示している。コヒーレンス制御
論理機構825は、Dtag21をスヌープし、メモリ
・アドレスによって指示されたメモリ位置にあるデータ
がキャッシュに記憶されているかどうかを判定する。
【0043】メモリ・アドレス・レジスタ820の出力
は、システム・メモリのすべてのSIMMにルーチング
されるメモリ・アドレス・バスMEM_ADDR[1
2:0]に結合される。メモリ・アドレス・バスは、第
1回目に行アドレスを搬送し、次の回に列アドレスを搬
送するように多重化される。メモリ・アドレス・バスの
幅は、行アドレスの最大幅と列アドレスの最大幅のどち
らか大きい方に適応するように選択される。
は、システム・メモリのすべてのSIMMにルーチング
されるメモリ・アドレス・バスMEM_ADDR[1
2:0]に結合される。メモリ・アドレス・バスは、第
1回目に行アドレスを搬送し、次の回に列アドレスを搬
送するように多重化される。メモリ・アドレス・バスの
幅は、行アドレスの最大幅と列アドレスの最大幅のどち
らか大きい方に適応するように選択される。
【0044】メモリ制御論理機構815の出力は、いく
つかのRAS(/)信号線、CAS(/)信号線、WE
(/)信号線であり、すなわち、それぞれ、個別のメモ
リ装置にルーチングされる二地点間信号線である。キャ
ッシュ・コヒーレント読取り要求パケットの第1サイク
ルをシステム・コントローラ20が受信すると、この第
1サイクルが入力レジスタ805に記憶され、復号回路
810が、物理アドレス情報を復号し、メモリ制御論理
機構815の適当な制御信号を選択する。復号回路81
0は、物理アドレス情報のメモリ・アドレス部分をメモ
リ・アドレス・レジスタ820へ転送し、メモリ・アド
レス・レジスタは、アサートすべきメモリ・アドレスを
出力する。メモリ制御論理機構815は、選択されたメ
モリ装置のRAS(/)をアサートし、メモリ・アドレ
ス・バスは、アクセスすべきメモリ位置の行アドレスを
搬送する。
つかのRAS(/)信号線、CAS(/)信号線、WE
(/)信号線であり、すなわち、それぞれ、個別のメモ
リ装置にルーチングされる二地点間信号線である。キャ
ッシュ・コヒーレント読取り要求パケットの第1サイク
ルをシステム・コントローラ20が受信すると、この第
1サイクルが入力レジスタ805に記憶され、復号回路
810が、物理アドレス情報を復号し、メモリ制御論理
機構815の適当な制御信号を選択する。復号回路81
0は、物理アドレス情報のメモリ・アドレス部分をメモ
リ・アドレス・レジスタ820へ転送し、メモリ・アド
レス・レジスタは、アサートすべきメモリ・アドレスを
出力する。メモリ制御論理機構815は、選択されたメ
モリ装置のRAS(/)をアサートし、メモリ・アドレ
ス・バスは、アクセスすべきメモリ位置の行アドレスを
搬送する。
【0045】完全なメモリ・アドレスが受信された後、
コヒーレンス制御論理機構825はDtag21をスヌ
ープする。すべてのコヒーレンス動作は、一定のクロッ
ク・サイクル数内に実行され、CAS(/)信号をアサ
ートすべき時間よりも前に完了する。要求されたデータ
をキャッシュから供給すべきであるとコヒーレンス制御
論理機構825が判定した場合、コヒーレンス制御論理
機構825によってメモリ制御論理機構815はメモリ
・アクセスを中止する。メモリ・アクセスは、CAS
(/)信号を禁止することによって中止することができ
る。コヒーレンス制御論理機構825は、メモリ・アク
セスに待ち時間が追加されないように、CAS(/)信
号をアサートすべき時間よりも前にコヒーレンス動作を
実行する。
コヒーレンス制御論理機構825はDtag21をスヌ
ープする。すべてのコヒーレンス動作は、一定のクロッ
ク・サイクル数内に実行され、CAS(/)信号をアサ
ートすべき時間よりも前に完了する。要求されたデータ
をキャッシュから供給すべきであるとコヒーレンス制御
論理機構825が判定した場合、コヒーレンス制御論理
機構825によってメモリ制御論理機構815はメモリ
・アクセスを中止する。メモリ・アクセスは、CAS
(/)信号を禁止することによって中止することができ
る。コヒーレンス制御論理機構825は、メモリ・アク
セスに待ち時間が追加されないように、CAS(/)信
号をアサートすべき時間よりも前にコヒーレンス動作を
実行する。
【0046】図9は、一実施形態によるメモリ読取りア
クセスの開始タイミングを示す。図のように、トランザ
クション要求パケットの第1および第2サイクルは、シ
ステム・クロック信号Sys_Clkの連続クロック・
サイクル中に送信される。システム・コントローラ20
がトランザクション要求パケットの第1サイクルを受信
してから、メモリ・アドレス・レジスタ820が行アド
レスをラッチするまでが全クロック・サイクルとなるよ
うな、入力レジスタ805および復号回路810に関連
する待ち時間がある。行アドレスを処理するのに十分な
時間が確保された後、要求されたメモリ・アクセスを開
始するために適当なRAS(/)信号がローにアサート
される。この例では、全クロック・サイクルが挿入され
るが、行アドレス・セットアップ時間の継続時間だけ待
てば十分である。CAS(/)信号のアサートは、RA
S(/)信号がアサートされてから2クロック・サイク
ル後に行われるものとして示されている。システム・コ
ントローラ20のコヒーレンス制御装置部分が、キャッ
シュからデータを供給すべきであると判定した場合、C
AS(/)信号はアサートされず、メモリ・アクセスは
中止される。
クセスの開始タイミングを示す。図のように、トランザ
クション要求パケットの第1および第2サイクルは、シ
ステム・クロック信号Sys_Clkの連続クロック・
サイクル中に送信される。システム・コントローラ20
がトランザクション要求パケットの第1サイクルを受信
してから、メモリ・アドレス・レジスタ820が行アド
レスをラッチするまでが全クロック・サイクルとなるよ
うな、入力レジスタ805および復号回路810に関連
する待ち時間がある。行アドレスを処理するのに十分な
時間が確保された後、要求されたメモリ・アクセスを開
始するために適当なRAS(/)信号がローにアサート
される。この例では、全クロック・サイクルが挿入され
るが、行アドレス・セットアップ時間の継続時間だけ待
てば十分である。CAS(/)信号のアサートは、RA
S(/)信号がアサートされてから2クロック・サイク
ル後に行われるものとして示されている。システム・コ
ントローラ20のコヒーレンス制御装置部分が、キャッ
シュからデータを供給すべきであると判定した場合、C
AS(/)信号はアサートされず、メモリ・アクセスは
中止される。
【0047】図10は一実施形態によるメモリ書込みア
クセスの開始タイミングを示す。図のように、トランザ
クション要求パケットの第1および第2サイクルは、シ
ステム・クロック信号Sys_Clkの連続クロック・
サイクル中に送信される。行アドレスを処理するのに十
分な時間が確保された後、要求されたメモリ書込みアク
セスを開始するために適当なRAS(/)信号およびW
E(/)信号がローにアサートされる。CAS(/)信
号は、RAS(/)信号およびWE(/)信号がアサー
トされてから2クロック・サイクル後にアサートされる
ものとして示されている。システム・コントローラ20
のコヒーレンス制御装置部分が、書き直しを中止すべき
であると判定した場合、CAS(/)信号はアサートさ
れない。
クセスの開始タイミングを示す。図のように、トランザ
クション要求パケットの第1および第2サイクルは、シ
ステム・クロック信号Sys_Clkの連続クロック・
サイクル中に送信される。行アドレスを処理するのに十
分な時間が確保された後、要求されたメモリ書込みアク
セスを開始するために適当なRAS(/)信号およびW
E(/)信号がローにアサートされる。CAS(/)信
号は、RAS(/)信号およびWE(/)信号がアサー
トされてから2クロック・サイクル後にアサートされる
ものとして示されている。システム・コントローラ20
のコヒーレンス制御装置部分が、書き直しを中止すべき
であると判定した場合、CAS(/)信号はアサートさ
れない。
【0048】図11は、ページ・モード読取りアクセス
の開始タイミングを示す。図のように、トランザクショ
ン要求パケットは3サイクル以上を含むことができ、第
1サイクルの後の各サイクルは、メモリ・ページのそれ
ぞれの異なる列またはバンクを選択するための列アドレ
ス情報を含む。CAS(/)信号は、2クロック・サイ
クルにわたってアサートされ、1クロック・サイクルに
わたってディアサートされ、次いで再びアサートされる
ものとして示されている。この間、RAS(/)信号は
アサートされたままである。プロセスは、提供される新
しい各列アドレス(またはバンク選択情報)ごとに同様
に継続する。各列アドレスに応答してそれぞれの異なる
CAS(/)信号がアサートされるので、図11に示し
たCAS(/)信号は、RAS(/)信号がアサートさ
れたままの間に、新しい各列アドレスを受信したことに
応答してCAS(/)信号がアサートされることを示す
に過ぎない簡略化されたものである。
の開始タイミングを示す。図のように、トランザクショ
ン要求パケットは3サイクル以上を含むことができ、第
1サイクルの後の各サイクルは、メモリ・ページのそれ
ぞれの異なる列またはバンクを選択するための列アドレ
ス情報を含む。CAS(/)信号は、2クロック・サイ
クルにわたってアサートされ、1クロック・サイクルに
わたってディアサートされ、次いで再びアサートされる
ものとして示されている。この間、RAS(/)信号は
アサートされたままである。プロセスは、提供される新
しい各列アドレス(またはバンク選択情報)ごとに同様
に継続する。各列アドレスに応答してそれぞれの異なる
CAS(/)信号がアサートされるので、図11に示し
たCAS(/)信号は、RAS(/)信号がアサートさ
れたままの間に、新しい各列アドレスを受信したことに
応答してCAS(/)信号がアサートされることを示す
に過ぎない簡略化されたものである。
【0049】前記の明細では、特定の例示的な実施形態
に関して本発明を説明した。しかし、本発明の広範囲の
趣旨および範囲から逸脱せずに本発明に様々な修正およ
び変更を加えられることは明白である。したがって、明
細書および図面は、制限的なものではなく例示的なもの
とみなすべきである。
に関して本発明を説明した。しかし、本発明の広範囲の
趣旨および範囲から逸脱せずに本発明に様々な修正およ
び変更を加えられることは明白である。したがって、明
細書および図面は、制限的なものではなく例示的なもの
とみなすべきである。
【図1】 一実施形態によるコンピュータ・システムを
示す図である。
示す図である。
【図2】 汎用トランザクション要求パケット・フォー
マットを示す図である。
マットを示す図である。
【図3】 様々なサイズのSIMMに対するメモリ・ア
ドレス・ビット割り当てを示す図である。
ドレス・ビット割り当てを示す図である。
【図4】 一実施形態によるキャッシュ・コヒーレント
・トランザクション要求パケットのフォーマットを示す
図である。
・トランザクション要求パケットのフォーマットを示す
図である。
【図5】 一実施形態による非キャッシュ・トランザク
ション要求パケットのフォーマットを示す図である。
ション要求パケットのフォーマットを示す図である。
【図6】 一実施形態による割り込みトランザクション
要求パケットのフォーマットを示す図である。
要求パケットのフォーマットを示す図である。
【図7】 一実施形態によるキャッシュ・コヒーレント
読取りトランザクションのフローチャートである。
読取りトランザクションのフローチャートである。
【図8】 一実施形態によるシステム・コントローラを
示す図である。
示す図である。
【図9】 図8に示したシステム・コントローラの動作
を示すタイミング図である。
を示すタイミング図である。
【図10】 図8に示したシステム・コントローラの動
作を示すタイミング図である。
作を示すタイミング図である。
【図11】 図8に示したシステム・コントローラの代
替動作を示すタイミング図である。
替動作を示すタイミング図である。
10 コンピュータ・システム 20 システム・コントローラ 21 Dtag 25 プロセッサ 27 キャッシュ 35 入出力制御装置 40 拡張スロット 50 入出力装置 60 データ経路切換回路 64 メモリ制御線 65 システム・メモリ・バンク 205 第1サイクル 210 第2サイクル 805 入力レジスタ 810 復号回路 815 メモリ制御回路 820 メモリ・アドレス・レジスタ 825 コヒーレンス制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ザヒール・イーブラヒム アメリカ合衆国 94043 カリフォルニア 州・マウンテンビュー・ガルシア アヴェ ニュ・2550 (72)発明者 ウィリアム・シイ・ヴァン・ルー アメリカ合衆国 94301 カリフォルニア 州・パロ アルト・エマーソン ストリー ト・2330 (72)発明者 レイモンド・エヌジイ アメリカ合衆国 94015 カリフォルニア 州・デリィ シティ・サウス メイフェア アヴェニュ・1375 (72)発明者 ルイス・エフ・コフィン,ザ サード アメリカ合衆国 95124 カリフォルニア 州・サン ホゼ・ワイン コーク ウェ イ・3444
Claims (5)
- 【請求項1】 バスを有するコンピュータ・システムで
メモリ・アクセスが迅速に開始されるようにトランザク
ションを要求する方法であって、 マスタが、複数の部分を含むトランザクション要求の第
1の部分をバスを介して送信するステップと、 メモリ制御装置が、トランザクション要求の第2の部分
を受信する前に、トランザクション要求の第1の部分に
よって指示されたメモリ位置のメモリ・アクセスを開始
するステップと、 マスタが、トランザクション要求の第2の部分を送信す
るステップとを含むことを特徴とする方法。 - 【請求項2】 トランザクション要求の第1の部分が行
アドレス部分を含み、メモリ・アクセスを開始するステ
ップがメモリ位置に行アドレス・ストローブ信号を加え
るステップを含む請求項1記載の方法。 - 【請求項3】 コンピュータ・システムであって、 バスと、 複数の部分を備えるトランザクション要求をバスを介し
て発行するためにバスに結合されたマスタと、 メモリと、 メモリおよびバスに結合され、トランザクション要求の
第1の部分を受信したことに応答して、トランザクショ
ン要求の第2の部分を受信する前にメモリのアクセスを
開始するメモリ制御装置とを備えることを特徴とするコ
ンピュータ・システム。 - 【請求項4】 トランザクション要求の第1の部分が行
アドレス部分を含み、メモリ位置に行アドレス・ストロ
ーブ信号を加えてメモリ制御装置がメモリのアクセスを
開始するとともに、 複数のキャッシュ・メモリとバス及びメモリ制御装置に
接続され、メモリ・アクセスが終了したかどうかを決定
するコヒーレンス制御装置とを有する請求項3に記載の
コンピュータ・システム。 - 【請求項5】 共通相互接続におけるメモリ制御装置に
おいて、、 トランザクション要求の第1の部分およびトランザクシ
ョン要求の第2の部分を順次ラッチする入力レジスタ
と、 入力レジスタに結合され、トランザクション要求の第1
の部分を復号して選択信号およびメモリ・アドレスの一
部を供給し、次いでトランザクション要求の第2の部分
を復号する復号回路と、 復号回路からメモリ・アドレスの一部を受信するように
結合されたメモリ・アドレス・レジスタと、 復号回路から選択信号を受信するように結合され、前記
選択信号に応答して、復号回路がトランザクション要求
の第2の部分の復号を完了する前に、メモリ・アドレス
の一部によって指示されたメモリ位置のメモリ・アクセ
スを開始するメモリ制御回路とを備えることを特徴とす
るメモリ制御装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US41492195A | 1995-03-31 | 1995-03-31 | |
| US08/414921 | 1995-03-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0926930A true JPH0926930A (ja) | 1997-01-28 |
Family
ID=23643589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8106080A Pending JPH0926930A (ja) | 1995-03-31 | 1996-04-01 | マルチプロセッサ・キャッシュ・コヒーレント・コンピュータ・システムにおいてメモリ・アクセスを迅速に開始する方法および装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5987579A (ja) |
| EP (1) | EP0738977B1 (ja) |
| JP (1) | JPH0926930A (ja) |
| DE (1) | DE69622079T2 (ja) |
| SG (2) | SG103243A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6098115A (en) * | 1998-04-08 | 2000-08-01 | International Business Machines Corporation | System for reducing storage access latency with accessing main storage and data bus simultaneously |
| JP2017510902A (ja) * | 2014-04-13 | 2017-04-13 | クアルコム,インコーポレイテッド | 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6327640B1 (en) * | 1997-03-07 | 2001-12-04 | Advanced Micro Devices, Inc. | Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller |
| DE69717124T2 (de) * | 1997-12-11 | 2003-07-17 | Bull S.A., Louveciennes | Verfahren zum Lesen von Daten auf einem gemeinsamen Speicher in einem Multiprozessor-Rechnersystem |
| US6266716B1 (en) | 1998-01-26 | 2001-07-24 | International Business Machines Corporation | Method and system for controlling data acquisition over an information bus |
| JP2000330965A (ja) * | 1999-03-17 | 2000-11-30 | Hitachi Ltd | マルチプロセッサシステム及びそのメモリアクセストランザクションの転送方法 |
| KR100287190B1 (ko) * | 1999-04-07 | 2001-04-16 | 윤종용 | 선택되는 메모리 모듈만을 데이터 라인에 연결하는 메모리 모듈 시스템 및 이를 이용한 데이터 입출력 방법 |
| JP2001167077A (ja) | 1999-12-09 | 2001-06-22 | Nec Kofu Ltd | ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体 |
| US6681320B1 (en) | 1999-12-29 | 2004-01-20 | Intel Corporation | Causality-based memory ordering in a multiprocessing environment |
| US20030093632A1 (en) * | 2001-11-12 | 2003-05-15 | Intel Corporation | Method and apparatus for sideband read return header in memory interconnect |
| US7310709B1 (en) * | 2005-04-06 | 2007-12-18 | Sun Microsystems, Inc. | Method and apparatus for primary cache tag error handling |
| US20070186052A1 (en) * | 2006-02-07 | 2007-08-09 | International Business Machines Corporation | Methods and apparatus for reducing command processing latency while maintaining coherence |
| US8209458B1 (en) * | 2006-02-15 | 2012-06-26 | Marvell Israel (M.I.S.L.) Ltd. | System and method for DRAM bank assignment |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
| US4847758A (en) * | 1987-10-30 | 1989-07-11 | Zenith Electronics Corporation | Main memory access in a microprocessor system with a cache memory |
| JPH02205963A (ja) * | 1989-01-27 | 1990-08-15 | Digital Equip Corp <Dec> | 読取中断処理 |
| EP0380842A3 (en) * | 1989-02-03 | 1991-06-12 | Digital Equipment Corporation | Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units |
| US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
| IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
| JPH04233642A (ja) * | 1990-07-27 | 1992-08-21 | Dell Usa Corp | キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法 |
| US5278801A (en) * | 1992-08-31 | 1994-01-11 | Hewlett-Packard Company | Flexible addressing for drams |
| US5396619A (en) * | 1993-07-26 | 1995-03-07 | International Business Machines Corporation | System and method for testing and remapping base memory for memory diagnostics |
| US5553270A (en) * | 1993-09-01 | 1996-09-03 | Digital Equipment Corporation | Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay |
-
1996
- 1996-03-15 DE DE69622079T patent/DE69622079T2/de not_active Expired - Fee Related
- 1996-03-15 EP EP96301772A patent/EP0738977B1/en not_active Expired - Lifetime
- 1996-03-29 SG SG9901991A patent/SG103243A1/en unknown
- 1996-03-29 SG SG1996006691A patent/SG40847A1/en unknown
- 1996-04-01 JP JP8106080A patent/JPH0926930A/ja active Pending
-
1997
- 1997-03-27 US US08/825,404 patent/US5987579A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6098115A (en) * | 1998-04-08 | 2000-08-01 | International Business Machines Corporation | System for reducing storage access latency with accessing main storage and data bus simultaneously |
| JP2017510902A (ja) * | 2014-04-13 | 2017-04-13 | クアルコム,インコーポレイテッド | 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5987579A (en) | 1999-11-16 |
| SG40847A1 (en) | 1997-06-14 |
| DE69622079D1 (de) | 2002-08-08 |
| EP0738977A1 (en) | 1996-10-23 |
| DE69622079T2 (de) | 2002-10-31 |
| SG103243A1 (en) | 2004-04-29 |
| EP0738977B1 (en) | 2002-07-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12619560B2 (en) | Computer memory expansion device and method of operation | |
| US5353415A (en) | Method and apparatus for concurrency of bus operations | |
| EP0549164B1 (en) | Memory controller with snooping mechanism | |
| US5463753A (en) | Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller | |
| US6330645B1 (en) | Multi-stream coherent memory controller apparatus and method | |
| WO1994008297A9 (en) | Method and apparatus for concurrency of bus operations | |
| US6640288B2 (en) | Read exclusive for fast, simple invalidate | |
| US5561779A (en) | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system | |
| US7991928B2 (en) | Retry mechanism | |
| JP2509766B2 (ja) | キャッシュメモリ交換プロトコル | |
| US5301281A (en) | Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals | |
| US6321307B1 (en) | Computer system and method employing speculative snooping for optimizing performance | |
| JPH09114736A (ja) | パケット交換型キャッシュコヒーレントマルチプロセッサシステムのデータプロセッサ用高速デュアルポート型キャッシュコントローラ | |
| US5918069A (en) | System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty | |
| US5822756A (en) | Microprocessor cache memory way prediction based on the way of a previous memory read | |
| JP3732518B2 (ja) | スペキュラティブなシステムメモリ読取りを行う方法および装置 | |
| US5987579A (en) | Method and apparatus for quickly initiating memory accesses in a multiprocessor cache coherent computer system | |
| US5829027A (en) | Removable processor board having first, second and third level cache system for use in a multiprocessor computer system | |
| JP2001147854A (ja) | 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法 | |
| JP3723700B2 (ja) | プロセッサ・インターフェース・バスを通じてデータを転送する方法および装置 | |
| JPH08249231A (ja) | マルチプロセッサ・システムにおける古いデータの処理システム及び方法 | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| US6754779B1 (en) | SDRAM read prefetch from multiple master devices | |
| US5553270A (en) | Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay | |
| US5860113A (en) | System for using a dirty bit with a cache memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060829 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061212 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070109 |