JP2001147858A - ハイブリッドコヒーレンスプロトコル - Google Patents
ハイブリッドコヒーレンスプロトコルInfo
- Publication number
- JP2001147858A JP2001147858A JP2000301559A JP2000301559A JP2001147858A JP 2001147858 A JP2001147858 A JP 2001147858A JP 2000301559 A JP2000301559 A JP 2000301559A JP 2000301559 A JP2000301559 A JP 2000301559A JP 2001147858 A JP2001147858 A JP 2001147858A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- transaction
- memory
- policy
- logic
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
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)
Abstract
リアクセスを効率的なものとさせる。 【解決手段】 コンピュータシステムがメモリシステム
を有しており、そのメモリシステムの少なくとも幾らか
は共用メモリとして指定されている。トランズアクショ
ンをベースとしてバスメカニズムがメモリシステムへ結
合しており且つそのトランズアクションセット内に定義
されたキャッシュコヒーレンシィトランズアクションを
有している。キャッシュメモリを有するプロセッサがト
ランズアクションをベースとしたバスメカニズムを介し
てメモリシステムへ結合されている。バスメカニズムへ
結合されているシステムコンポーネントはキャッシュコ
ヒーレンスポリシィを特定する論理を有している。シス
テムコンポーネント内の論理がバスメカニズム上の特定
されたキャッシュポリシィに従ってキャッシュトランズ
アクションを開始させる。プロセッサ内の論理がキャッ
シュトランズアクションによって特定されたキャッシュ
操作を実行することによって開始されたキャッシュトラ
ンズアクションに応答する。
Description
ロセッサシステムに関するものであって、更に詳細に
は、キャッシュサポートを具備するマイクロプロセッサ
システムにおいてキャッシュコヒーレンスを与えるシス
テム、方法及びメカニズムに関するものである。
グラムによって特定される命令にしたがってデータを処
理する。従来のシステムにおける命令及びデータは、メ
モリバスによってプロセッサへ結合されているメインメ
モリ内に格納される。命令を実行するためのプロセッサ
の能力は、典型的に、プロセッサへ命令及びデータを供
給するメモリサブシステムの能力をはるかにしのいでい
る。本明細書において使用するように、「マイクロプロ
セッサ」及び「プロセッサ」と言う用語は、完全命令セ
ットコンピュータ(CISC)、減少命令セットコンピ
ュータ(RISC)及びそれらのハイブリッドを包含し
ている。
化するためにキャッシュメモリシステムを使用してい
る。キャッシュメモリは同一のデータ及び命令に対する
後のアクセスを高速化させるために設計された最近アク
セスされたデータ及び命令を保持している1つ又はそれ
以上のレベルの専用の高速メモリを有している。キャッ
シュ技術は、プログラムが同一の命令及びデータをしば
しば再使用するという前提に基づいている。又、命令及
びデータは「空間的局所性」と呼ばれる傾向を示し、そ
れは将来使用されるべき命令及びデータは最近使用され
た命令及びデータとメモリの同一の領域に位置されてい
る傾向があることを意味している。データがメインシス
テムメモリから読取られると、メインメモリ内の関連す
る位置に対するインデックスと共に、そのコピーがキャ
ッシュメモリ内に保存される。キャッシュエントリは、
特に要求されたデータばかりでなく、特に要求されたデ
ータの周りのデータも包含していることが多々ある。
をモニタして、必要とされる情報が既にキャッシュ内に
格納されているか否かを判別する。データがキャッシュ
内に格納されている場合には、そのデータはすぐさまプ
ロセッサへ送られ、一方メインメモリから情報をフェッ
チするための試みはアボートされる(即ち開始されるこ
とはない)。一方、そのデータが以前にキャッシュ内に
格納されていない場合には、それはメインメモリから直
接的にフェッチされ且つ将来のアクセスに備えてキャッ
シュ内に保存される。
モリの使用によって著しく向上される。キャッシュメモ
リはメインメモリよりもより低い待ち時間を有するメモ
リ装置を有している。特に、1つ又はそれ以上のレベル
のオンチップキャッシュメモリは特に低い待ち時間の格
納動作を与える。オンチップキャッシュメモリは単に1
つ又は2つのクロックサイクルの待ち時間を有するメモ
リ構造及び装置で実現することが可能である。キャッシ
ュメモリ、特にオンチップキャッシュメモリは、高速で
マイクロプロセッサによってアクセスされるのに特に適
している。
スクはキャッシュコヒーレンスを維持することである。
キャッシュコヒーレンスとは、キャッシュメモリの内容
がメインメモリにおける対応する位置と一貫性を有する
ことを確保することのタスクのことを意味している。マ
イクロプロセッサのみがメインメモリへアクセスするこ
とが可能である場合には、キャッシュコヒーレンスは比
較的簡単なタスクである。然しながら、この制限事項は
メインメモリへの全てのアクセスをマイクロプロセッサ
を介して経路付けさせることを強制させる。グラフィッ
クモジュール、マルチメディアモジュール、ネットワー
クインターフェースモジュール等の多くの装置は効率的
な動作のためにシステムメモリを使用することが可能で
ある。然しながら、これらのモジュールがシステムメモ
リを使用するためにプロセッサと結合されねばならない
場合には、全体的な性能は低下する。
せるために、多くのシステムではマイクロプロセッサ以
外のモジュール及び周辺機器が直接的にメインメモリへ
アクセスすることを可能としている。典型的なコンピュ
ータシステムアーキテクチャにおけるシステムバスは、
マイクロプロセッサ及びダイレクトメモリアクセス(D
MA)制御器へ結合する。該バスへ結合されるその他の
モジュール及び周辺機器はDMA制御器を使用してマイ
クロプロセッサへ結び付けられることなしにメインメモ
リへアクセスすることが可能である。このことは共用メ
モリシステムと呼称される。何故ならば、メインメモリ
の全部又は一部が、メモリへアクセスすることが可能な
マイクロプロセッサを包含する多様な装置の間で共用さ
れるからである。
ンスタスクを著しく複雑なものとさせる。DMA装置は
直接的にメインメモリへアクセスするが、通常、直接的
にキャッシュメモリへアクセスするものではない。DM
A装置が正しいデータを得ることを確保するために、D
MA装置によってアクセスされている共用メモリ位置の
内容がマイクロプロセッサによって使用されているその
位置のキャッシュされたコピーにおいて変化されていな
いものであることを検証するための手段がこうじられな
ければならない。更に、このコヒーレンスチェックによ
って課される待ち時間は、キャッシュ動作又はダイレク
トメモリアクセスのいずれかの利点をしのぐようなもの
であってはならない。
シュ可能な部分とキャッシュ不可能な部分とに区画化す
ることである。DMA装置はメモリのキャッシュ不可能
な部分のみを使用することに制限される。このように、
DMA装置はキャッシュの内容と無関係なものとさせる
ことが可能である。然しながら、キャッシュ不可能な部
分に格納されているデータについては、キャッシュ技術
の全ての利点が失われることとなる。
ムバスへ結合されているその他のハードウエアが共用メ
モリへのアクセスが許可される前にキャッシュを「スヌ
ープ」即ち偵察することを可能とさせることである。こ
のことの1つの例はペリフェラルコンポーネントインタ
ーコネクト(PCI)バス内に存在しており、それはP
CIブリッジ装置がDMA装置トランズアクションの一
部として自動的にCPUキャッシュをスヌープすること
を可能とする。このことは共用メモリをキャッシュさせ
ることを可能とするが、全てのDMAトランズアクショ
ンに対して待ち時間を付加する。全てのDMAトランズ
アクションが行われる単一のシステムバスを有するシス
テムはスヌーププロトコルを効率的に実現することが可
能である。何故ならば、単一バスシステムはいずれかの
装置が全てのその他の装置に対して信号を迅速に且つ効
率的にブロードキャスト即ち同報通信し共用メモリアク
セスが発生していることを表示することを可能とさせる
からである。
互接続するための堅牢で複雑でマルチパス通信サブシス
テムを有するシステムに対する要求が益々高まってい
る。複雑な通信ネットワークはより大きな拡張の可能性
及びカスタム化を可能とさせる。更に、このようなシス
テムは既存の証明されたサブシステム及びモジュール設
計(しばしば、知的所有権即ち「IP」と呼ばれる)を
再使用することを可能とさせる。複数個の独立した経路
を可能とするより複雑なバスネットワークを有するシス
テムにおいては、ネットワークブロードキャストは遅い
場合があり、従来のスヌーププロトコルを非現実的なも
のとさせる。
ている別の解決方法は、キャッシュステータス情報を保
持するために中央に集中させるか又は分散させたディレ
クトリィ構造を使用するものである。これらは、例え
ば、マルチプロセッサアーキテクチャにおいて見られ
る。共用メモリへアクセスするいずれかの装置は、最初
に、ディレクトリィへアクセスしてターゲットメモリア
ドレスが現在キャッシュされているか否かを判別する。
そのアドレスがキャッシュされていない場合には、共用
メモリ位置に対する直接的なアクセスが行われる。その
アドレスがキャッシュされている場合には、直接的なア
ドレスが完了する前にキャッシュされたデータがメイン
メモリへ書き戻される。ディレクトリィをベースとした
解決方法はスヌープ操作よりも高速であるが、ディレク
トリィ構造をサポートするために、各DMAアクセス及
びハードウエアオーバーヘッドに対して待ち時間を付加
させることとなる。
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、キャッシュメモリシステムにおいて効率的
な共用メモリアクセスを可能とするシステム、方法及び
メカニズムを提供することを目的とする。本発明の別の
目的とするところは、複雑でマルチパスのシステムバス
を有するシステムにおいてキャッシュコヒーレンスを実
行するメカニズムを提供することである。
とも幾らかが共用メモリとして指定されているメモリシ
ステムを有するコンピュータシステムを提供している。
トランズアクションをベースとしたバスメカニズムがメ
モリシステムへ結合しており且つそのトランズアクショ
ンセット内に定義されたキャッシュコヒーレンストラン
ズアクションを有している。キャッシュメモリを有する
プロセッサがトランズアクションをベースとしたバスメ
カニズムを介してメモリシステムへ結合している。バス
メカニズムへ結合されているシステムコンポーネントは
キャッシュコヒーレンスポリシィを特定する論理を有し
ている。システムコンポーネント内の論理はバスメカニ
ズムに関して特定されたキャッシュポリシィに従ってキ
ャッシュトランズアクションを開始させる。プロセッサ
内の論理が、キャッシュトランズアクションによって特
定されたキャッシュ操作を実行することによって、開始
されたトランズアクションに応答する。
積回路で1個のチップ上のシステムとして、又は異なる
レベルの集積化での複数個の集積回路チップとして実現
することの可能なシステムを有している。いずれの場合
においても、システムの構成要素は、1つ又はそれ以上
のタイプのバス技術を有することの可能なバスネットワ
ークによって相互接続されている。該バスネットワーク
はバスネットワークを介して通信することの可能な複数
個のトランズアクションを有するトランズアクションセ
ットを実現する。各トランズアクションは要求/応答対
又は1組の要求/応答対を有している。
ョンセットはキャッシュトランズアクションプリミティ
ブを有している。バスネットワークに結合されているシ
ステム構成要素のうちの1つは中央処理装置(CPU)
である。該CPUはキャッシュ管理又はメモリ管理ユニ
ットを有しており、それはCPUがメインメモリからの
命令及びデータをキャッシュすることを可能とする。バ
スネットワークへ結合されているモジュール、装置及び
構成要素は、CPUをしてそれらの代わりにキャッシュ
管理動作を実施させるためにキャッシュトランズアクシ
ョンを使用する。このように、モジュールが直接的にメ
インメモリへアクセスすることを所望する場合には、ダ
イレクトメモリアクセス即ち直接的なメモリアクセスの
前にキャッシュトランズアクションを発行することによ
ってキャッシュコヒーレンシィを確保することが可能で
ある。好適実施例においては、これらのキャッシュトラ
ンズアクションは明示的なコマンドとしてCPUによっ
て解釈される。
に、データオブジェクト又はメッセージを介して通信を
行うプロセス又はモジュールの集まりとして記述され
る。これらのモジュールはそれらの特性が幾分緩く定義
されている回路の大きな集まりとすることが可能であ
り、且つ寸法及び構成が著しく異なることが可能であ
る。データオブジェクト又はメッセージはシステムを構
成するモジュール間の通信である。システム内のモジュ
ールを実際に接続するためには、システムとコンポーネ
ント(構成要素)モジュールとの間のインターフェース
を定義することが必要である。
00によって例示される。メディアプロセッサ100
は、例えば、ビデオ処理用の「セットトップボックス
(set−top box)」、ビデオゲーム制御器、
デジタルビデオディスク(DVD)再生器等を有してい
る。基本的には、システム100は高処理能力マルチメ
ディア適用をターゲットとした特定目的データ処理シス
テムである。本発明の特徴は高速バス102、ペリフェ
ラルバス104、メモリバス106を介して受取られた
データを通信し且つ処理すべく動作するプロセッサ10
1において実現されている。
デジタルデータを受取り且つ外部ビデオモニタ、テレビ
受像器等の上に情報を表示するためのビデオ信号を発生
する。発生されたビデオ信号はアナログ又はデジタルと
することが可能である。オプションとして、ビデオ制御
器は外部装置からもアナログ及び/又はデジタルビデオ
信号を受取ることが可能である。オーディオ制御器10
7はビデオ制御器105と類似した態様で動作するが、
それはビデオではなくオーディオ情報を制御するという
点が異なっている。ネットワークカードI/O制御器1
09はデジタル情報を通信するための従来のネットワー
ク、ISDN接続、モデム等とすることが可能である。
高速バス102へ結合されている大容量記憶装置111
は磁気ディスク、テープ駆動装置、CD−ROM、DV
D、ランダムアクセスメモリからなるバンク等を有する
ことが可能である。多様なランダムアクセス及びリード
オンリメモリ技術を使用することが可能であり且つ本発
明の目的のためには均等なものである。大容量記憶装置
111はコンピュータプログラム及びデータをその中に
記憶することが可能である。
はペリフェラルコンポーネントインターコネクト(PC
I)業界標準バスとして実現される。業界標準バスを使
用することの利点は、制御器105,107,109,
111等の多様な拡張ユニットが容易に入手可能である
という点である。PCIバス102はスヌーププロトコ
ルを使用するダイレクトメモリアクセスコンポーネント
をサポートする。
ス102によって与えられるものよりもより低い帯域幅
の通信を必要とする多様な汎用のI/O装置を包含して
いる。典型的なI/O装置は、例えばゲームプログラム
カートリッジ等のリードオンリメモリ(ROM)装置、
例えばマウス又はジョイスティック、キーボード等のシ
リアル入力装置を包含している。プロセッサ101は対
応するシリアルポート、パラレルポート、プリンタポー
ト、ペリフェラル113と通信するための外部タイマポ
ートを包含している。更に、プロセッサ101と集積化
されている例えばBIOS ROM等のオンボードRO
Mとの通信をサポートするためのポートを設けることが
可能である。外部メモリ103は、典型的には、プロセ
ッサ101に対する作業用の格納部(記憶部)を提供す
るために必要とされ且つプロセッサ101に対してアク
セス可能な態様でデジタルデータを格納することが可能
なダイナミック又はスタティックRAM、ROM、同期
型DRAM、又はその他の多様な等価な装置を使用して
実現することが可能である。
より詳細に示してある。データ処理システムにおける1
つのモジュールは中央処理装置(CPU)コア201で
ある。CPUコア201は、実行資源(例えば、演算論
理ユニット、レジスタ、制御論理)及びキャッシュメモ
リを包含している。これらの機能ユニットについては後
により詳細に説明するが、メモリから命令およびデータ
をフェッチし、フェッチした命令を予備処理し、実行さ
れるべき命令をスケジュールし、命令を実行し、メモリ
トランズアクションを管理し、且つ外部回路及び装置と
インターフェースする機能を実施する。
介して図2に示したその他のコンポーネント(構成要
素)と通信を行う。好適実施例においては、システムバ
ス202はパケット技術を使用した高速のネットワーク
バスであって、ここでは「スーパーハイウェイ」と呼称
する。バス202は多様なシステムコンポーネントを結
合している。特に重要なコンポーネントは、例えば外部
メモリインターフェースユニット203、PCIブリッ
ジ207、ペリフェラルバス204等の外部ハードウエ
アとのインターフェースを実現するコンポーネントであ
る。バス202へ結合されている各コンポーネントはト
ランズアクションパケット内のアドレスによって特定さ
れてバス202上のトランズアクションパケットのター
ゲットとなることが可能である。
テムバス202と外部メインメモリサブシステム103
(図1に示してある)との間のインターフェースとを与
える。外部メモリインターフェースはシステムバス20
2へのポート及びDRAM制御器を有している。本発明
の重要な特徴は、外部メモリインターフェース203を
介してアクセスされるメモリがシステムバス202から
見た場合にコヒーレンス即ち一貫性のあるものであると
言うことである。全ての要求はEMIユニット203に
よってこれらの要求の受取られた順番で外部メモリイン
ターフェース203上において逐次的に処理される。然
しながら、対応するストア応答パケットは、書込動作が
DRAMに対して実際に完了するまでシステムバス20
2上の開始したものへ帰還されることはない。同一のア
ドレスに対する全ての要求はDRAMインターフェース
上で順番で処理されるので(何故ならば、それらはスー
パーハイウェイインターフェースから受取られるの
で)、メモリのコヒーレンス即ち一貫性が達成される。
構成はその特定の目的のために各相互接続を最適化する
原理によって案内される。バスシステム202の相互接
続は幾つかの異なるタイプのサブシステムの一体化を容
易なものとさせる。それは、厳しいメモリ待ち時間/帯
域幅条件を有する密接して結合されたサブシステムに対
して使用される。ペリフェラルサブシステム204はイ
ンターフェースポート213を介して図1を参照して表
されるタイプのハードウエアの容易な集積化を可能とさ
せるバススタンダードをサポートする。PCIブリッジ
207はペリフェラルポート204を介して使用可能な
ものよりもより高い性能を要求する多様なPCI標準装
置を使用して拡張をサポートする標準インターフェース
を提供する。システムバス202は、システム101の
他のコンポーネントを変化させることなしに、アプリケ
ーションモジュールの迅速な集積化をサポートする拡張
ポートに合わせることが可能である。
ムにおいては、PCIブリッジ207はCPU201へ
直接的に結合されておらず、従ってPCI標準によって
特定される従来の態様でスヌープ動作をサポートするこ
とは不可能である。その代わりに、システムバス202
は例えばPCIブリッジ207からのキャッシュコマン
ドをバス202のトランズアクションセット内のキャッ
シュトランズアクション上にマッピングする本発明に基
づくプロトコルを供給する。CPU201は予測された
キャッシュコマンドを実現することによってキャッシュ
トランズアクションに応答する。
の通信のための要求パケット301と応答パケット30
3とを有する例示的なトランズアクション300を示し
ている。パケット301及び303はパケット・ルータ
ー305を介しての1単位のデータ転送を構成してい
る。モジュール307と309との間の通信は、これら
のモジュールの間でのパケットの交換によって行われ
る。各モジュール307及び309は一次的なアドレス
に対するパケットルーター305が割り当てられるか又
はそれとやりとりを行う。特定の実施例においては、各
アドレスは符号なし整数値であり、それはプロセッサ2
01の物理的メモリ空間内の1つの位置に対応してい
る。アドレスビットのうちの幾つかは、ディスティネー
ション(宛先)モジュールを表し、且つアドレスビット
のうちの幾つか(「オフセットビット」と呼ばれる)は
そのディスティネーションモジュール内の特定の位置を
表す。物理的アドレスの寸法、ディスティネーションビ
ットの数、オフセットビットの数は特定の具体例の必要
性を満足するために選択され、具体例毎に依存する。
経路付けを行うためにディスティネーションビットを使
用する。パケットルーター305は受取ったパケットの
ディスティネーションビットを検査し、そのパケットが
経路付けされるべき適宜のポートを決定し、且つそのパ
ケットの特定されたモジュールにたいする経路付けを行
う。パケットルーター305は特定のアプリケーション
の必要性を満足させるために、バス、クロスバー、パケ
ットルーチングネットワーク、又は等価なパケット搬送
メカニズムとして実現することが可能である。
トランズアクションのターゲットアドレス、及び/又は
そのトランズアクションによって必要とされるか又は発
生されるデータ等の情報を表す複数個のフィールドを有
している。各フィールドはそのパケットを特性付けるた
めの多数の可能な値を有している。全てのパケットはど
のモジュールへそのパケットが経路付けされるべきかを
決定するためのパケットルーター305によって使用さ
れるディスティネーションフィールドを包含している。
特定の具体例においては、全てのパケットはクラスとタ
イプとを有している。パケットのクラスは要求(リクエ
スト)又は応答(レスポンス)のいずれかである。応答
パケットクラスは通常の応答か又はエラー応答のいずれ
かに分割される。パケットのタイプはそのパケットと関
連するトランズアクションの種類を表す。パケットのク
ラス及びタイプは一体となってパケットオプコード(p
acket opcode)を形成する。
ィネーションモジュールとに関連している。ソース(発
生源)はポートを介してバス202内のパケットルータ
ー305へパケット301又は303を送り出す。パケ
ットルーター305はそのパケットをディスティネーシ
ョンへ接続されているpポートへ経路付けさせるべく調
整を行う。次いで、ディスティネーションがパケットル
ーターからそのpポートを介してこのパケットを受取
る。ソースとディスティネーションとが同一のモジュー
ルである可能性がある。更に、パケットが複数個の「セ
ル」に分解される可能性があり、その場合には、パケッ
トの各セルは同一のソース及びディスティネーションモ
ジュール及び同一のパケットタイプを有している。複数
個のセルはディスティネーションにおいて1個のパケッ
トへ結合される。
ンズアクション」300は、スーパーハイウェイバス2
02を使用して1つのモジュールが別のモジュールの状
態へアクセスすることを可能とするパケットの交換であ
る。トランズアクションは要求モジュール307(「イ
ニシエータ」(開始体)とも呼ばれる)からの要求パケ
ット301を応答モジュール309(「ターゲット」と
も呼ばれる)ヘ転送し、次いでその応答モジュール30
9から要求モジュール307へ応答パケット303を転
送することを包含している。要求パケット301はトラ
ンズアクションを開始させ且つその内容がなされるべき
アクセスを決定する。応答パケット303はそのトラン
ズアクションを完了させ且つその内容はアクセスの結果
を表す。応答パケット303は、更に、その要求が有効
であったか否かをあらわすことが可能である。応答パケ
ット303は、その要求が有効なものであった場合には
通常の応答としてフォーマット化させることが可能であ
り、又はその要求が無効なものであって場合にはエラー
応答としてフォーマット化させることが可能である。
答パケットとの間には1:1の態様が存在している。好
適実施例におけるトランズアクションプロトコルは「ス
プリットフェーズ」である。何故ならば、要求パケット
301と応答パケット303とは互いに非同期的なもの
だからである。要求はパイプライン化させることが可能
であり、その場合に要求モジュール307は、トランズ
アクションに関連する待ち時間をオーバーラップさせる
ために、いずれかの応答パケット303を受取る前に、
複数個の要求パケット301を発生することが可能であ
る。
求を処理し、要求されたアクションがコミットされるま
で応答パケット303を発生することはない。このよう
に、ディスティネーションモジュール内部での内部的待
ち時間のほかに、要求パケット301が受取られた場合
に、バス202へ結合されている全てのモジュールによ
って観察されるように、そのアクセスは完了される。そ
のターゲットモジュールに対するその後に受取られる要
求はそのアクセスの後に動作が行われる。このことはデ
ィスティネーションにおけるアクセスの時間的順番付け
は、対応する応答を待機することによって課すことが可
能であることを保証する。
のうちの1つはキャッシュコヒーレンストランズアクシ
ョンと関連するキャッシュコヒーレンスパケットタイプ
である。キャッシュコヒーレンストランズアクションは
「フラッシュ」及び「パージ」トランズアクションを包
含している。これらは、主に、図2に示したPCIブリ
ッジ207等のDMA型モジュールの集積化をサポート
するために与えられるものであるが、より一般的には、
外部メモリインターフェース203を介して与えられる
メインメモリを使用する任意のモジュールをサポートす
るために与えられる。
ュからフラッシュ即ち排除されるべき物理的アドレスで
ある単一のオペランドを有している。フラッシュトラン
ズアクションがCPU201内のキャッシュ/MMUに
よってバス202から受取られると、それはキャッシュ
/MMUをしてキャッシュ内のアドレスをルックアップ
させる。そのルックアップがメインメモリに関して修正
されていないキャッシュラインに対するミス又はヒット
を発生すると、キャッシュ/MMUはそのルックアップ
直後にフラッシュ要求に対する応答を発行する。そのル
ックアップがメインメモリに関して修正されているキャ
ッシュラインに対するヒットを発生する場合には、キャ
ッシュ制御器は特定されたラインのメインメモリに対す
るライトバックを発生する。このライトバックに続い
て、キャッシュ/MMUはフラッシュ要求に対する応答
を発行する。いずれの場合においても、キャッシュ/M
MUによって発生される応答は単一のアクノレッジメン
ト即ち通知であり、それはメインメモリ及びキャッシュ
が首尾一貫したものであることを表すデータを運ぶもの
ではない。
からパージ即ち消去されるべき物理的アドレスである単
一のオペランドを有している。パージトランズアクショ
ンがCPU201内のキャッシュ/MMUによってバス
202から受取られると、それはキャッシュ/MMUを
して該キャッシュ内のアドレスをルックアップさせる。
そのルックアップがミスを発生すると、キャッシュ/M
MUはそのルックアップ直後にパージ要求に対する応答
を発行する。そのルックアップがメインメモリに関して
修正されたキャッシュラインに対するヒットを発生する
場合には、キャッシュ制御器がメインメモリに対する特
定したラインのライトバックを発生する。そのルックア
ップがヒットを発生する場合には、キャッシュラインは
そのラインがメインメモリに関して修正されたか否かに
拘わらずに無効化される。その無効化に続いて、キャッ
シュ/MMUはパージ要求に対する応答を発行する。い
ずれの場合においても、キャッシュ/MMUによって発
生された応答は単一なアクノレッジメント即ち通知であ
って、それはメインメモリ及びキャッシュが首尾一貫し
たものであること及び特定されたメモリ位置が最早キャ
ッシュ内において有効なものでないことを表すデータを
運ぶものではない。
使用はあるレベルのキャッシュコヒーレンスを与える。
これらの操作は、共用メモリシステムにおけるアドレス
に対するモジュールによる読取操作がそのアドレスに最
後に書込まれた値を受取ることを保証する。そのアクセ
ス時間は、フラッシュがキャッシュ制御器によって受取
られた時間として与えられる。モジュール読取操作は、
アクセス時間以後にシステムメモリの値と一貫性のある
データ値を得ることが保証される。共用メモリ内のアド
レスに対するモジュールによる書込操作の場合には、パ
ージ操作は、書込まれたデータがアクセス時間の後に全
てのメモリユーザによって読取可能であることを保証す
る。アクセス時間はデータキャッシュのパージに続いて
システムメモリに対して書込操作が実施された時間とし
て与えられる。
5に結合されているコンポーネントが共用メモリ位置へ
アクセスすることを所望し、PCIブリッジ207に対
してPCI標準DMA信号処理プロトコルを使用してメ
モリ要求をアサート即ち活性化させる。CPU201は
PCI205へ直接的に結合されているものではないの
で、この信号処理プロトコルはCPU201によって認
識されることはない。本発明に基づく操作はPCIモジ
ュール207を参照して説明するが、共用メモリを使用
することを所望するバス202へ結合されている任意の
モジュールが以下に説明するステップを実現することが
可能であることを理解すべきである。
するコヒーレントな要求を完了することを望む場合に
は、モジュール207が図4に概略的に示したステップ
を実行する。ステップ401において、該モジュールは
そのメモリ要求を複数個の非キャッシュラインに跨るシ
ステム相互接続要求へ分割する。このように、各要求は
単一のキャッシュラインに影響を与えることが確保さ
れ、且つキャッシュ/MMUはキャッシュ跨り要求を認
識し且つ実現するために特別の動作を実行することが必
要なものではない。フラッシュ要求及びパージ要求の両
方がパケット化され且つステップ403においてCPU
201におけるキャッシュ/MMUと関連するポートに
対してアドレスされる。次いで、要求モジュールがステ
ップ404においてキャッシュ/MMUからの応答を受
取ることを待機する。
モリインターフェースユニット203に対してアドレス
されたパケットにおいてステップ405においてロード
要求がなされる。書込操作の場合には、ストア要求パケ
ットがステップ407においてメモリインターフェース
ユニット203に対してアドレスされる。ステップ40
9において、外部メモリインターフェースユニットがコ
ヒーレントアクセスの完了を表す応答パケットを発生す
る。
ランズアクションセット内に組込まれたキャッシュ制御
命令を提供している。この特徴は、バス202に結合さ
れているモジュールがキャッシュ制御を実行し且つ共用
メモリ資源のコヒーレントな即ち一貫性のある使用を確
保することを可能としている。CPU201のキャッシ
ュ/MMUにおける対応する論理がキャッシュ制御トラ
ンズアクションに応答して要求モジュールの変わりにキ
ャッシュ制御操作を実行する。
207)内のコヒーレンシィ論理が、好適には、1つ又
はそれ以上のキャッシュウインドウを特定することが可
能であり且つコヒーレンシィ性能を増加させるためにキ
ャッシュ内の特定の領域に対してのキャッシュポリシィ
の遠隔的特定を行うことを可能とする。このことは、図
5に示した制御レジスタ空間501を与えることによっ
て実現され、それはスヌープポリシィ又はモード及びス
ヌーピングに対するアドレス範囲を特定する。PCIモ
ジュール207内のスヌープアドレスレジスタ601
(図6に示してある)は1つ又はそれ以上のアドレスを
格納する。スヌープ制御レジスタ501及びスヌープア
ドレスレジスタ601の両方が異なるスヌープポリシィ
を有する任意の数のキャッシュ領域を特定する任意の数
のラインを有している。各スヌープ制御レジスタは対応
するスヌープアドレスレジスタを有している。
フィールドが、PCI要求におけるアドレスがスヌープ
アドレスレジスタ内に格納されているアドレスと比較さ
れるか否か及びどのようにして比較されるかを表す。1
つの例示的なコード化を以下の表1に要約してある。
は8個の可能な値を有しており、各値はPCI要求にお
けるメモリアドレスとレジスタ601における格納され
ているスヌープアドレスとの比較期間中にマッチ即ち一
致が発生するアドレスの範囲を表す。基本的には、レン
ジフィールドの各値は格納されているスヌープアドレス
の中で何個のビットがその比較に参加するかを表す。以
下の表には例示的なコード化を要約してある。
ーブルされる個別的な範囲の数は特定のアプリケーショ
ンの必要性を満足するために選択される設計的事項であ
る。このように、スヌープアドレスレジスタ601内に
アドレスを格納することによってキャッシュ区画化を実
現することが可能であり、その区画の寸法はスヌープ制
御レジスタ501のレンジフィールド内に格納される値
によって特定される。その区画に対するキャッシュコヒ
ーレンスポリシィは、スヌープ制御レジスタ501の対
応するモードフィールド内に値を設定することによって
制御することが可能である。本発明のこの特徴は、CP
U201内の制御レジスタの処理を必要とすることのな
い態様でキャッシュポリシィの遠隔的特定を行うことを
可能とする。フラッシュ又はパージコマンドが発行され
るか否かはPCIモジュール207によって決定され、
且つCPU201内のキャッシュ/MMUは、単に、応
答して発行されたキャッシュ制御コマンドを実行し且つ
アクノレッジするに過ぎない。
ジュール207は、図4に示したステップ401の前
に、要求された共用メモリアドレスがスヌープ制御レジ
スタ501によって特定された境界内においてスヌープ
アドレスレジスタ601内に特定されたアドレスとマッ
チ即ち一致するか否かをチェックするステップを行う。
格納されているアドレスはスヌープが実施されるべきで
あることを表す場合があり、その場合には処理はステッ
プ401へ進行する。一方、スヌープが実施されるべき
でない場合には、処理はステップ405及び407へ進
行する。
して付加的なビットを付加することによって拡張するこ
とが可能である。例えば、特定の実施例はキャッシュポ
リシィに基づいて最適化を実施することが可能である。
各定義されたスヌープレンジに対して、2つのオプショ
ンの挙動の間で選択を行うために単一のビットを使用す
ることが可能である。例えば、各スヌープレンジは「読
取でのフラッシュ、書込でのパージ」又は「読取では何
もなし、書込でのパージ」のポリシィを割り当てること
が可能である。モードフィールドにおける単一のビット
は各キャッシュ領域に対してポリシィの選択を独立的な
ものとさせることを可能とする。このオプションの特徴
は、不必要なコヒーレンシィトランズアクションの数を
減少させる。特に、CPUキャッシュポリシィがライト
スルーである場合には、キャッシュ内にダーティデータ
が存在する可能性はなく、従って遠隔的に開始されるフ
ラッシュは冗長的である。最適化はこれらの冗長な操作
を回避することを可能とする。
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。例えば、本発明はソフトウエアで実現することも可
能である。例えば、充分な複雑性を有するプログラマブ
ルロジック装置、ハードウエアエミュレータ、ソフトウ
エアエミュレータ等がエミューレートされるか又はシミ
ュレートされた順番外マシンにおいて精密なアーキテク
チャのアップデートを実施するために具体化されたコン
ピュータ読取可能なコードを有するコンピュータによっ
て使用可能な媒体を包含するコンピュータプログラム製
品として本発明を実現することが可能である。
コンピュータシステムの概略ブロック図。
セッサを示した概略ブロック図。
した概略図。
したフローチャート。
マットを示した概略図。
ジスタのフォーマットを示した概略図。
Claims (15)
- 【請求項1】 コンピュータシステムにおいて、 メモリの少なくとも幾らかが共用メモリとして指定され
ているメモリシステム、 前記メモリシステムへ結合されており、そのトランズア
クションセット内に定義されたキャッシュコヒーレンス
トランズアクションを有しているトランズアクションを
ベースとしたバスメカニズム、 キャッシュメモリを具備しており、前記トランズアクシ
ョンをベースとしたバスメカニズムを介して前記メモリ
システムへ結合されているプロセッサ、 前記バスメカニズムへ結合されておりキャッシュコヒー
レンスポリシィを特定する論理を有しているシステムコ
ンポーネント、 前記バスメカニズムに関する特定されたキャッシュポリ
シィに従ってキャッシュトランズアクションを開始させ
る前記システムコンポーネント内の論理、 前記開始したキャッシュトランズアクションに応答し前
記キャッシュトランズアクションによって特定されたキ
ャッシュ操作を実行する前記プロセッサ内の論理、を有
していることを特徴とするコンピュータシステム。 - 【請求項2】 請求項1において、更に、各区画に対し
て特定された独立したキャッシュポリシィを具備してい
る2つ又はそれ以上のキャッシュ区画を定義する前記シ
ステムコンポーネント内の論理を有していることを特徴
とするコンピュータシステム。 - 【請求項3】 請求項1において、更に、前記バスメカ
ニズム上のシステムコンポーネントに対してアドレスさ
れている応答を発生する前記プロセッサ内の論理を有し
ており、前記応答が前記キャッシュ操作の完了を通知す
ることを特徴とするコンピュータシステム。 - 【請求項4】 請求項1において、前記キャッシュコヒ
ーレンスポリシィを特定する論理が、 基準メモリアドレスを保持するエントリを持っている第
一レジスタ、 前記キャッシュメモリ内の前記基準メモリアドレスを表
すキャッシュラインに対して特定したキャッシュポリシ
ィを表す値を保持しているエントリを持っている第二レ
ジスタ、を有していることを特徴とするコンピュータシ
ステム。 - 【請求項5】 請求項4において、前記キャッシュコヒ
ーレンスポリシィを特定する論理が、更に、前記特定し
たキャッシュポリシィが適用される前記基準メモリアド
レスに関するメモリアドレスの範囲を表す値を保持して
いるエントリを持っている第三レジスタを有しているこ
とを特徴とするコンピュータシステム。 - 【請求項6】 請求項2において、前記2つ又はそれ以
上のキャッシュ区画を定義する論理が、 各エントリが基準メモリアドレスを保持している各定義
されたキャッシュ区画に対するエントリを持っている第
一レジスタ、 各キャッシュ区画を構成する前記基準メモリアドレスに
関するアドレス範囲の寸法を表す値を保持しているエン
トリを持っている第二レジスタ、を有していることを特
徴とするコンピュータシステム。 - 【請求項7】 プロセッサによってアクセス可能なキャ
ッシュメモリを管理する方法において、 遠隔システムコンポーネントにおけるキャッシュコヒー
レンスポリシィを特定し、 前記遠隔システムコンポーネントをトランズアクション
をベースとしたシステムバスを使用して前記プロセッサ
へ結合させ、 前記遠隔システムコンポーネントを使用して前記特定し
たコヒーレンスポリシィに従ってキャッシュコヒーレン
ストランズアクションを開始させ、前記キャッシュコヒ
ーレンストランズアクションは前記システムバスを介し
て前記プロセッサへ転送され、 前記開始されたキャッシュコヒーレンストランズアクシ
ョンに応答して、前記プロセッサをして前記キャッシュ
コヒーレンストランズアクションによって特定されたキ
ャッシュコヒーレンス操作を実施させる、ことを特徴と
する方法。 - 【請求項8】 請求項7において、更に、各区画に対し
て特定された独立したキャッシュポリシィを持った2つ
又はそれ以上のキャッシュ区画を定義することを特徴と
する方法。 - 【請求項9】 請求項7において、更に、前記キャッシ
ュコヒーレンス操作を実施した後に前記プロセッサを使
用して応答メッセージを発生し、前記応答が前記遠隔シ
ステムコンポーネントに対してアドレスされていること
を特徴とする方法。 - 【請求項10】 請求項7において、更に、 前記遠隔システムコンポーネント内に基準メモリアドレ
スを格納し、 前記特定したキャッシュポリシィを表す値を前記遠隔シ
ステムコンポーネントに格納し、前記値が前記基準メモ
リアドレスを包含するキャッシュラインに対するキャッ
シュポリシィを表すものである、ことを特徴とする方
法。 - 【請求項11】 請求項10において、更に、前記特定
したキャッシュポリシィが適用される基準メモリに関す
るアドレスの範囲を表す値を前記遠隔システムコンポー
ネント内に格納することを特徴とする方法。 - 【請求項12】 データプロセッサを介してアクセス可
能なキャッシュメモリを具備しているコンピュータシス
テム用のコンポーネントにおいて、 前記データプロセッサと通信するためにシステムバスへ
結合するインターフェース、 キャッシュコヒーレンスポリシィを特定する論理、 前記バスメカニズム上の前記特定したキャッシュポリシ
ィに従ってキャッシュトランズアクションを開始させる
論理、を有していることを特徴とするコンポーネント。 - 【請求項13】 請求項12において、更に、各区画に
対して特定された独立したキャッシュポリシィを持って
いる2つ又はそれ以上のキャッシュ区画を定義する論理
を有していることを特徴とするコンポーネント。 - 【請求項14】 請求項12において、更に、前記キャ
ッシュコヒーレンスポリシィを特定する論理が、 基準メモリアドレスを保持しているエントリを持ってい
る第一レジスタ、 前記キャッシュメモリ内の基準メモリアドレスを表すキ
ャッシュラインに対して前記特定したキャッシュポリシ
ィを表す値を保持しているエントリを持っている第二レ
ジスタ、を有していることを特徴とするコンポーネン
ト。 - 【請求項15】 データプロセッサにおいて、 キャッシュメモリ、 システムバスに対するインターフェース、 前記キャッシュメモリに関しキャッシュコヒーレンス操
作を実現するために前記システムバスを介して受取った
通信に応答するキャッシュ制御メカニズム、を有してい
ることを特徴とするデータプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/411,453 US6412047B2 (en) | 1999-10-01 | 1999-10-01 | Coherency protocol |
US09/411453 | 1999-10-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001147858A true JP2001147858A (ja) | 2001-05-29 |
JP5265827B2 JP5265827B2 (ja) | 2013-08-14 |
Family
ID=23628993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000301559A Expired - Lifetime JP5265827B2 (ja) | 1999-10-01 | 2000-10-02 | ハイブリッドコヒーレンスプロトコル |
Country Status (2)
Country | Link |
---|---|
US (1) | US6412047B2 (ja) |
JP (1) | JP5265827B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014532922A (ja) * | 2011-10-26 | 2014-12-08 | クゥアルコム・テクノロジーズ・インコーポレイテッド | 3チャネルキャッシュコヒーレンシソケットプロトコル |
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763034B1 (en) * | 1999-10-01 | 2004-07-13 | Stmicroelectronics, Ltd. | Connection ports for interconnecting modules in an integrated circuit |
US7529799B2 (en) * | 1999-11-08 | 2009-05-05 | International Business Machines Corporation | Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system |
DE60226106T2 (de) * | 2001-08-28 | 2009-05-14 | Brother Kogyo K.K., Nagoya | Tintenstrahlaufzeichnungsgerät |
US7062609B1 (en) * | 2001-09-19 | 2006-06-13 | Cisco Technology, Inc. | Method and apparatus for selecting transfer types |
US7089361B2 (en) * | 2003-08-07 | 2006-08-08 | International Business Machines Corporation | Dynamic allocation of shared cache directory for optimizing performance |
US8185695B2 (en) * | 2008-06-30 | 2012-05-22 | Advanced Micro Devices, Inc. | Snoop filtering mechanism |
US8832388B2 (en) * | 2011-03-11 | 2014-09-09 | Microsoft Corporation | Managing shared memory used by compute nodes |
KR101355105B1 (ko) * | 2012-01-03 | 2014-01-23 | 서울대학교산학협력단 | 캐시 일관성 보장을 위한 공유 가상 메모리 관리 장치 |
US9424192B1 (en) | 2015-04-02 | 2016-08-23 | International Business Machines Corporation | Private memory table for reduced memory coherence traffic |
US9842050B2 (en) * | 2015-04-30 | 2017-12-12 | International Business Machines Corporation | Add-on memory coherence directory |
CN106326148B (zh) * | 2015-07-01 | 2020-06-23 | 三星电子株式会社 | 数据处理***及其操作方法 |
US20170083441A1 (en) * | 2015-09-23 | 2017-03-23 | Qualcomm Incorporated | Region-based cache management |
US11169921B2 (en) * | 2019-05-09 | 2021-11-09 | Hewlett Packard Enterprise Development Lp | Ternary content addressable memory-enhanced cache coherency acceleration |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241961A (ja) * | 1992-01-02 | 1993-09-21 | Internatl Business Mach Corp <Ibm> | キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム |
JPH0922382A (ja) * | 1995-03-31 | 1997-01-21 | Sun Microsyst Inc | コンピュータシステムおよびそのプロセッサの外部キャッシュに記憶したデータブロックを無効化する方法 |
JPH11149410A (ja) * | 1997-11-17 | 1999-06-02 | Nec Corp | コピータグメモリにExclusive Hitしたトランザクションに対するキャンセル信号送信方式 |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0165600B1 (en) * | 1984-06-20 | 1991-11-21 | Convex Computer Corporation | Input/output bus for computer |
US4935867A (en) | 1986-03-04 | 1990-06-19 | Advanced Micro Devices, Inc. | Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations |
US4814981A (en) | 1986-09-18 | 1989-03-21 | Digital Equipment Corporation | Cache invalidate protocol for digital data processing system |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US5483518A (en) | 1992-06-17 | 1996-01-09 | Texas Instruments Incorporated | Addressable shadow port and protocol for serial bus networks |
JPH0666056B2 (ja) | 1989-10-12 | 1994-08-24 | 甲府日本電気株式会社 | 情報処理システム |
JPH03217949A (ja) | 1990-01-23 | 1991-09-25 | Hitachi Ltd | 計算機システム |
US5432918A (en) * | 1990-06-29 | 1995-07-11 | Digital Equipment Corporation | Method and apparatus for ordering read and write operations using conflict bits in a write queue |
US5452432A (en) | 1990-08-14 | 1995-09-19 | Chips And Technologies, Inc. | Partially resettable, segmented DMA counter |
JP2984463B2 (ja) | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
US5423050A (en) | 1991-11-27 | 1995-06-06 | Ncr Corporation | Intermodule test across system bus utilizing serial test bus |
US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
US5724549A (en) | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
US5524212A (en) * | 1992-04-27 | 1996-06-04 | University Of Washington | Multiprocessor system with write generate method for updating cache |
GB2266606B (en) | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5448576A (en) | 1992-10-29 | 1995-09-05 | Bull Hn Information Systems Inc. | Boundary scan architecture extension |
JP3231429B2 (ja) | 1992-11-06 | 2001-11-19 | 株式会社日立製作所 | 中央処理装置と乗算器とを有する半導体集積回路装置 |
JP3524110B2 (ja) | 1992-11-06 | 2004-05-10 | 株式会社ルネサステクノロジ | マイクロコンピュータシステム |
JPH06150023A (ja) | 1992-11-06 | 1994-05-31 | Hitachi Ltd | マイクロコンピュータ及びマイクロコンピュータシステム |
US5627842A (en) | 1993-01-21 | 1997-05-06 | Digital Equipment Corporation | Architecture for system-wide standardized intra-module and inter-module fault testing |
JP2731692B2 (ja) | 1993-04-28 | 1998-03-25 | 日本電気アイシーマイコンシステム株式会社 | デバッグ装置 |
US5598551A (en) | 1993-07-16 | 1997-01-28 | Unisys Corporation | Cache invalidation sequence system utilizing odd and even invalidation queues with shorter invalidation cycles |
DE69415600T2 (de) | 1993-07-28 | 1999-07-15 | Koninklijke Philips Electronics N.V., Eindhoven | Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
EP0652516A1 (en) * | 1993-11-03 | 1995-05-10 | Advanced Micro Devices, Inc. | Integrated microprocessor |
US5596734A (en) | 1993-12-17 | 1997-01-21 | Intel Corporation | Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port |
US5828825A (en) | 1993-12-22 | 1998-10-27 | Intel Corporation | Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port |
US5519846A (en) * | 1993-12-23 | 1996-05-21 | Unisys Corporation | Multiprocessor system with scheme for managing allocation and reservation of cache segments in a cache system employing round-robin replacement and exclusive access |
US5434804A (en) | 1993-12-29 | 1995-07-18 | Intel Corporation | Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal |
US5488688A (en) | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
US5537635A (en) * | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size |
JPH07287668A (ja) | 1994-04-19 | 1995-10-31 | Hitachi Ltd | データ処理装置 |
US5577226A (en) * | 1994-05-06 | 1996-11-19 | Eec Systems, Inc. | Method and system for coherently caching I/O devices across a network |
GB9417602D0 (en) * | 1994-09-01 | 1994-10-19 | Inmos Ltd | A controller for implementing scan testing |
JPH08329687A (ja) * | 1995-06-05 | 1996-12-13 | Hitachi Ltd | 半導体集積回路 |
JP3672634B2 (ja) * | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
JP3713312B2 (ja) | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
JP3740195B2 (ja) | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US5848247A (en) | 1994-09-13 | 1998-12-08 | Hitachi, Ltd. | Microprocessor having PC card interface |
US5613153A (en) | 1994-10-03 | 1997-03-18 | International Business Machines Corporation | Coherency and synchronization mechanisms for I/O channel controllers in a data processing system |
US5751621A (en) | 1994-11-17 | 1998-05-12 | Hitachi, Ltd. | Multiply-add unit and data processing apparatus using it |
TW330265B (en) | 1994-11-22 | 1998-04-21 | Hitachi Ltd | Semiconductor apparatus |
JP2752592B2 (ja) * | 1994-12-28 | 1998-05-18 | 日本ヒューレット・パッカード株式会社 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
US5778237A (en) | 1995-01-10 | 1998-07-07 | Hitachi, Ltd. | Data processor and single-chip microcomputer with changing clock frequency and operating voltage |
US5664197A (en) | 1995-04-21 | 1997-09-02 | Intel Corporation | Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller |
US5867726A (en) | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US5570375A (en) | 1995-05-10 | 1996-10-29 | National Science Council Of R.O.C. | IEEE Std. 1149.1 boundary scan circuit capable of built-in self-testing |
US5860127A (en) | 1995-06-01 | 1999-01-12 | Hitachi, Ltd. | Cache memory employing dynamically controlled data array start timing and a microcomputer using the same |
US5774701A (en) | 1995-07-10 | 1998-06-30 | Hitachi, Ltd. | Microprocessor operating at high and low clok frequencies |
US5708773A (en) | 1995-07-20 | 1998-01-13 | Unisys Corporation | JTAG interface system for communicating with compliant and non-compliant JTAG devices |
US5737516A (en) | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5704034A (en) | 1995-08-30 | 1997-12-30 | Motorola, Inc. | Method and circuit for initializing a data processing system |
JP3655403B2 (ja) | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | データ処理装置 |
US5680571A (en) * | 1995-12-28 | 1997-10-21 | Unisys Corporation | Multi-processor data processing system with multiple, separate instruction and operand second level caches |
JP3623840B2 (ja) * | 1996-01-31 | 2005-02-23 | 株式会社ルネサステクノロジ | データ処理装置及びマイクロプロセッサ |
US5950012A (en) | 1996-03-08 | 1999-09-07 | Texas Instruments Incorporated | Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes |
US5978874A (en) | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
JPH09311786A (ja) | 1996-03-18 | 1997-12-02 | Hitachi Ltd | データ処理装置 |
GB2311880A (en) * | 1996-04-03 | 1997-10-08 | Advanced Risc Mach Ltd | Partitioned cache memory |
JP3269967B2 (ja) * | 1996-04-24 | 2002-04-02 | 株式会社日立製作所 | キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム |
JP3579205B2 (ja) | 1996-08-06 | 2004-10-20 | 株式会社ルネサステクノロジ | 半導体記憶装置、半導体装置、データ処理装置及びコンピュータシステム |
GB9617033D0 (en) | 1996-08-14 | 1996-09-25 | Int Computers Ltd | Diagnostic memory access |
US5768152A (en) | 1996-08-28 | 1998-06-16 | International Business Machines Corp. | Performance monitoring through JTAG 1149.1 interface |
WO1998013759A1 (fr) | 1996-09-27 | 1998-04-02 | Hitachi, Ltd. | Machine de traitement de donnees et systeme de traitement de donnees |
JPH10177520A (ja) | 1996-10-16 | 1998-06-30 | Hitachi Ltd | データプロセッサ及びデータ処理システム |
JP3790307B2 (ja) | 1996-10-16 | 2006-06-28 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
JP3641327B2 (ja) | 1996-10-18 | 2005-04-20 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
GB9622686D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | A test port controller and a method of effecting communication using the same |
US5953538A (en) | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US5983017A (en) | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
US5771240A (en) | 1996-11-14 | 1998-06-23 | Hewlett-Packard Company | Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin |
US5956477A (en) | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
JP3849951B2 (ja) * | 1997-02-27 | 2006-11-22 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサ |
US5896550A (en) | 1997-04-03 | 1999-04-20 | Vlsi Technology, Inc. | Direct memory access controller with full read/write capability |
US5978902A (en) | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US5937172A (en) * | 1997-04-14 | 1999-08-10 | International Business Machines Corporation | Apparatus and method of layering cache and architectural specific functions to permit generic interface definition |
US5944841A (en) | 1997-04-15 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor with built-in instruction tracing capability |
US6292705B1 (en) * | 1998-09-29 | 2001-09-18 | Conexant Systems, Inc. | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system |
GB9802097D0 (en) * | 1998-01-30 | 1998-03-25 | Sgs Thomson Microelectronics | DMA controller |
GB9806184D0 (en) * | 1998-03-23 | 1998-05-20 | Sgs Thomson Microelectronics | A cache coherency mechanism |
GB9809203D0 (en) * | 1998-04-29 | 1998-07-01 | Sgs Thomson Microelectronics | Packet distribution in a microcomputer |
-
1999
- 1999-10-01 US US09/411,453 patent/US6412047B2/en not_active Expired - Lifetime
-
2000
- 2000-10-02 JP JP2000301559A patent/JP5265827B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241961A (ja) * | 1992-01-02 | 1993-09-21 | Internatl Business Mach Corp <Ibm> | キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム |
JPH0922382A (ja) * | 1995-03-31 | 1997-01-21 | Sun Microsyst Inc | コンピュータシステムおよびそのプロセッサの外部キャッシュに記憶したデータブロックを無効化する方法 |
JPH11149410A (ja) * | 1997-11-17 | 1999-06-02 | Nec Corp | コピータグメモリにExclusive Hitしたトランザクションに対するキャンセル信号送信方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014532922A (ja) * | 2011-10-26 | 2014-12-08 | クゥアルコム・テクノロジーズ・インコーポレイテッド | 3チャネルキャッシュコヒーレンシソケットプロトコル |
US9361230B2 (en) | 2011-10-26 | 2016-06-07 | Qualcomm Technologies, Inc. | Three channel cache-coherency socket protocol |
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
CN109101439B (zh) * | 2017-06-21 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20020019913A1 (en) | 2002-02-14 |
JP5265827B2 (ja) | 2013-08-14 |
US6412047B2 (en) | 2002-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7228389B2 (en) | System and method for maintaining cache coherency in a shared memory system | |
JP3365433B2 (ja) | キャッシュメモリ構成体とその使用方法 | |
US5983326A (en) | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode | |
US5860159A (en) | Multiprocessing system including an apparatus for optimizing spin--lock operations | |
US6366984B1 (en) | Write combining buffer that supports snoop request | |
EP0817073B1 (en) | A multiprocessing system configured to perform efficient write operations | |
US6721848B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
US8037253B2 (en) | Method and apparatus for global ordering to insure latency independent coherence | |
US6640289B2 (en) | Software controlled cache line ownership affinity enhancements in a multiprocessor environment | |
US6463510B1 (en) | Apparatus for identifying memory requests originating on remote I/O devices as noncacheable | |
US20090037614A1 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
US20050251626A1 (en) | Managing sparse directory evictions in multiprocessor systems via memory locking | |
US6470429B1 (en) | System for identifying memory requests as noncacheable or reduce cache coherence directory lookups and bus snoops | |
JPH10187645A (ja) | プロセス・ノードの多数のサブノード内にコヒーレンス状態で格納するように構成されたマルチプロセス・システム | |
JPH10149342A (ja) | プリフェッチ動作を実行するマルチプロセス・システム | |
JP5265827B2 (ja) | ハイブリッドコヒーレンスプロトコル | |
JPH1055306A (ja) | メモリコントローラ | |
US20090006668A1 (en) | Performing direct data transactions with a cache memory | |
EP3885918B1 (en) | System, apparatus and method for performing a remote atomic operation via an interface | |
WO2006012047A1 (en) | Direct processor cache access within a system having a coherent multi-processor protocol | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
JPH11328106A (ja) | グラフィックス・バスにアクセスするために多重のバス・マスタを可能とするアービトレーション機構を備えたコンピュータ・システム | |
US6629213B1 (en) | Apparatus and method using sub-cacheline transactions to improve system performance | |
JPH07282023A (ja) | データ転送量可変プロセッサ及びそれを用いたシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071002 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110509 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110512 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110607 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110610 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110705 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110801 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111209 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111214 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20120217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5265827 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |