JP4851958B2 - バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 - Google Patents
バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 Download PDFInfo
- Publication number
- JP4851958B2 JP4851958B2 JP2007038431A JP2007038431A JP4851958B2 JP 4851958 B2 JP4851958 B2 JP 4851958B2 JP 2007038431 A JP2007038431 A JP 2007038431A JP 2007038431 A JP2007038431 A JP 2007038431A JP 4851958 B2 JP4851958 B2 JP 4851958B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- processor
- cache
- data
- bus interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
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
-
- 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
-
- 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/0817—Cache consistency protocols using directory methods
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)
- Bus Control (AREA)
Description
(1)インバリデート(Invalidate)とは、キャッシュラインは有効な情報を持たないことを示す。以下、「IV」とする。
(2)シェアード(Shared)とは、キャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュにも存在し、また、キャッシュラインの内容はシステムメモリと同じであり、キャッシュラインのオーナーではないことを示す。以下、「SH」とする。
(4)ダーティーイクスクルーシブ(DirtyExclusive)とは、キャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュには存在せず、また、キャッシュラインの内容はシステムメモリと異なり、プロセッサはオーナーであることを示す。以下、「DE」とする。
すなわち、バスインタフェースアダプタ100は、プロセッサ200(200−1〜200−n)内のキャッシュラインとのデータコヒーレンシを保つためのプロセッサバス220(220−1〜220−n)を制御するプロセッサバスインタフェース制御部110、IO装置300(300−1〜300−n)と接続されるIOバス310(310−1〜310−n)を制御するIOバスインタフェース制御部120、システムメモリ400を制御するシステムメモリ制御部130を有している。
(1)プロセッサ200−1が、データのリードを実施する場合
図17に示すように、プロセッサ200−1内のキャッシュ210−1に有効なキャッシュラインが存在していると(ステップ1000)、このキャッシュラインのデータが参照される(ステップ1001)。
図21に示すように、プロセッサ200−1内のキャッシュに有効なキャッシュラインが存在しないと(ステップ3000)、プロセッサバス220−1を介して、プロセッサ200−1がリードモディファイライトリクエストを発行し(ステップ3001)、バスインタフェースアダプタ100はこのリードモディファイライトリクエストを受信することにより(ステップ3002)、プロセッサバス220−2〜220−nを介して、プロセッサ200−2〜200−nに対して、リードモディファイライト付きスヌープリクエストを発行する(ステップ3003)。
図24に示すように、プロセッサ200−1内のキャッシュに有効なキャッシュラインが存在し(ステップ4000)、キャッシュステートがSHとすると(ステップ4001)、プロセッサバス220−1を介して、プロセッサ200−1がインバリデートリクエストを発行し(ステップ4002)、バスインタフェースアダプタ100はこのインバリデートリクエストを受信することにより(ステップ4003)、プロセッサバス220−2〜220−nを介して、プロセッサ200−2〜200−nに対して、インバリデート付きスヌープリクエストを発行する(ステップ4004)。
図27に示すように、IO装置300が、IOバス310を介して、DMAリードリクエストを発行すると(ステップ5000)、バスインタフェースアダプタ100は、このDMAリードリクエストを受信し(ステップ5001)、これにより、プロセッサバス220を介して、各プロセッサ200に対して、リードを示すスヌープリクエストを発行する(ステップ5002)。
図30に示すように、IO装置300において、IOバス310を介して、DMAライトリクエストが発行されると(ステップ6000)、バスインタフェースアダプタ100は、このDMAライトリクエストを受信することにより(ステップ6001)、プロセッサバス220を介して、プロセッサ200に対して、リードモディファイライトを示すスヌープリクエストを発行する(ステップ6002)。
プロセッサ200内のキャッシュに有効なキャッシュラインが存在しない場合(ステップ6003)、プロセッサバス220を介して、有効なキャッシュラインが存在しないことを示すレスポンスを発行し(ステップ6004)、バスインタフェースアダプタ100はこのレスポンスを受信することにより(ステップ6005)、システムメモリ400に格納されているデータが有効なデータであることが判り(ステップ6006)、システムメモリ制御部130は、システムメモリ400に格納されているデータを更新する(ステップ6007)。
特に、現在稼動しているコンピュータでは、プロセッサ内のキャッシュの最大容量は16MBであり、システムメモリの最大容量は512GBであることから、不要なスヌープリクエストの発行を無くすことが、バス負荷を軽減させる手法として最も効果的である。なお、メモリデータベースサーバ向けのコンピュータでのシステムメモリ容量は、32GB、64GB、128GBである。
情報処理装置をこのような構成とすれば、データ転送の高速化を実現したPCIを備えて、処理能力の優れた情報処理装置を提供できる。
まず、本発明のデータ転送システム及びバスインタフェースアダプタの実施形態について、図1を参照して説明する。
同図は、本実施形態のデータ転送システム(バスインタフェースアダプタを含む)の構成を示すブロック図である。
ここで、バスインタフェースアダプタ10は、プロセッサバスインタフェース制御部11と、IOバスインタフェース制御部12と、システムメモリ制御部13と、履歴テーブル記憶部14と、履歴テーブル制御部15と、リクエスト監視部16とを有している。
このプロセッサバスインタフェース制御部11は、プロセッサバス22を介して、プロセッサ20が発行したリードリクエスト、リードモディファイライトリクエスト、インバリデートリクエストやスヌープ完了レスポンスを受信し、リクエスト監視部16やシステムメモリ制御部13へ転送する。
また、プロセッサバスインタフェース制御部11は、プロセッサバス22を介して、プロセッサ20に対して、リード付きスヌープリクエスト、モディファイライト付きスヌープリクエスト、インバリデートリクエスト、データレスポンス、リクエスト完了レスポンスを発行する。
このIOバスインタフェース制御部12は、IOバス31(31−1〜31−n)を介して、IO装置30が発行したDMAリードあるいはライトリクエストを受信し、リクエスト監視部16やシステムメモリ制御部13へ転送する。
さらに、IOバスインタフェース制御部12は、IOバス31を介して、IO装置30に対して、データレスポンスやリクエスト完了レスポンスを発行する。
履歴テーブルは、図2(a)〜(d)に示すように、各プロセッサ20ごとに、プロセッサ20内のキャッシュラインのコピーを保有しており、キャッシュラインの物理アドレスやキャッシュステータスで構成されている。
このリクエスト監視部16は、プロセッサ20が発行しプロセッサバスインタフェース制御部11から転送されてきたリクエストやレスポンス、IO装置30が発行しIOバスインタフェース制御部12から転送されてきたDMAリードあるいはライトリクエストを監視し、プロセッサ20内のキャッシュラインのコピーを保有する。
次に、本実施形態のデータ転送システムの動作(データ転送方法)について、図3〜図15を参照して説明する。
図3〜図15は、本実施形態のデータ転送システムの動作を示す動作手順図であって、図3〜図5は、プロセッサがリードリクエストを発行した場合、図6〜図8は、プロセッサがリードモディファイライトリクエストを発行した場合、図9〜図10は、プロセッサがインバリデートリクエストを発行した場合、図11〜図13は、IO装置がDMAリードリクエストを発行した場合、図14〜図15は、IO装置がDMAライトリクエストを発行した場合をそれぞれ示す。
図3に示すように、プロセッサ20−1が、プロセッサバス22−1を介して、リードリクエストを発行し(ステップ100)、バスインタフェースアダプタ100のプロセッサバスインタフェース制御部11がそのリードリクエストを受信すると(ステップ101)、このリードリクエストがプロセッサバスインタフェース制御部11からリクエスト監視部16を介して履歴テーブル制御部15へ送られる。この履歴テーブル制御部15が、履歴テーブルを参照し、そのリードリクエストのキャッシュラインの物理アドレスを検索する(ステップ102)。
図6に示すように、プロセッサ20−1が、プロセッサバス22−1を介して、リードモディファイライトリクエストを発行し(ステップ200)、バスインタフェースアダプタ100のプロセッサバスインタフェース制御部11がそのリードモディファイライトリクエストを受信すると(ステップ201)、このリードモディファイライトリクエストがプロセッサバスインタフェース制御部11からリクエスト監視部16を介して履歴テーブル制御部15へ送られる。この履歴テーブル制御部15が、履歴テーブルを参照し、このリードモディファイライトリクエストのキャッシュラインの物理アドレスを検索する(ステップ202)。
図9に示すように、プロセッサ20−1が、プロセッサバス22−1を介して、インバリデートリクエストを発行し(ステップ300)、バスインタフェースアダプタ100のプロセッサバスインタフェース制御部11がそのインバリデートリクエストを受信すると(ステップ301)、このインバリデートリクエストがプロセッサバスインタフェース制御部11からリクエスト監視部16を介して履歴テーブル制御部15へ送られる。この履歴テーブル制御部15が、履歴テーブルを参照し、このインバリデートリクエストのキャッシュラインの物理アドレスを検索する(ステップ302)。
図11に示すように、IO装置30が、IOバス31を介して、DMAリードリクエストを発行し(ステップ400)、バスインタフェースアダプタ100のIOバスインタフェース制御部12がそのDMAリードリクエストを受信すると(ステップ401)、このDMAリードリクエストがIOバスインタフェース制御部12からリクエスト監視部16を介して履歴テーブル制御部15へ送られる。この履歴テーブル制御部15が、履歴テーブルを参照し、このDMAリードリクエストのキャッシュラインの物理アドレスを検索する(ステップ402)。
図14に示すように、IO装置30が、IOバス31を介して、DMAライトリクエストを発行し(ステップ500)、バスインタフェースアダプタ100のIOバスインタフェース制御部12がそのDMAライトリクエストを受信すると(ステップ501)、このDMAライトリクエストがIOバスインタフェース制御部12からリクエスト監視部16を介して履歴テーブル制御部15へ送られる。この履歴テーブル制御部15が、履歴テーブルを参照し、このインバリデートリクエストのキャッシュラインの物理アドレスを検索する(ステップ502)。
検索の結果、該当する物理アドレスが存在しない、あるいは該当する物理アドレスが存在するが、キャッシュステータスがIVの場合、つまり、履歴テーブルに有効なものが登録されていない場合(ステップ503)、リクエスト監視部16は、プロセッサバスインタフェース制御部11及びプロセッサバス22を介し、プロセッサ20に対して、そのインバリデートリクエストの完了を発行する(ステップ504)。
パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話機に代表される情報処理装置には、内部にマザーボードと、拡張ボードとしてのPCI(Peripheral Component Interconnect(ペリフェラル コンポネント インタコネクト))ボード(PCIカード)を配置したものがある。
PCIとは、情報処理装置内部においてパーツとパーツを結ぶデータ伝送路であるバスの規格をいう。
なお、PCIボードを備えた情報処理装置については、例えば、特開2004−272646号公報「PCIボード及び情報処理装置」に開示されている。
例えば、上述した実施形態では、システムメモリを一つのみ備えた構成としたが、一つのみに限るものではなく複数備えることもできる。
11 プロセッサバスインタフェース制御部
12 IOバスインタフェース制御部
13 システムメモリ制御部
14 履歴テーブル記憶部
15 履歴テーブル制御部
16 リクエスト監視部
20 プロセッサ
21 キャッシュ
22 プロセッサバス
30 IO装置
31 IOバス
40 システムメモリ
A データ転送システム
Claims (17)
- プロセッサからのリクエストを受信するとともに、プロセッサへレスポンスを送るプロセッサバスインタフェース制御部と、システムメモリからデータをリードするとともに、システムメモリにデータをライトするシステムメモリ制御部とを有したバスインタフェースアダプタであって、
二以上の前記プロセッサのキャッシュラインの物理アドレス及びキャッシュステータスを有する履歴テーブルを記憶する履歴テーブル記憶部と、
前記履歴テーブルを参照する履歴テーブル制御部と、
前記プロセッサバスインタフェース制御部で受信された前記リクエストの内容及び前記履歴テーブル制御部での参照の結果にもとづき、前記リクエストを発行したプロセッサとシステムメモリとの間でデータの転送を行なうリクエスト監視部と、
IO装置からのリクエストを受信するとともに、IO装置へレスポンスを送るIO装置バスインタフェース制御部とを備え、
前記リクエスト監視部は、前記IO装置バスインタフェース制御部で受信された前記リクエストの内容及び前記履歴テーブル制御部での参照の結果にもとづき、前記リクエストを発行したIO装置とプロセッサとの間又は前記リクエストを発行したIO装置とシステムメモリとの間でデータの転送を行ない、
前記キャッシュステータスには、インバリデート、シェアード、クリーンイクスクルーシブ、ダーティーイクスクルーシブがあり、
前記インバリデートは、キャッシュラインが有効な情報を持たないことを示し、
前記シェアードは、一のプロセッサのキャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュにも存在し、キャッシュラインの内容はシステムメモリと同じであり、キャッシュラインのオーナーではないことを示し、
前記クリーンイクスクルーシブは、キャッシュラインは有効な情報を持ち、キャッシュラインの内容はシステムメモリと同じであり、プロセッサはオーナーではないことを示し、
前記ダーティーイクスクルーシブは、一のプロセッサのキャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュには存在せず、キャッシュラインの内容はシステムメモリと異なり、プロセッサはオーナーであることを示す
ことを特徴とするバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードリクエストのキャッシュラインの物理アドレスが存在しないとき、又は、前記履歴テーブルに前記リードリクエストのキャッシュラインの物理アドレスが存在するとともに前記キャッシュステータスがインバリデートであるとき、
前記リクエスト監視部は、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記リードリクエストへのレスポンスとして前記リードリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードリクエストのキャッシュラインの物理アドレスが存在するとともに、前記キャッシュステータスがシェアード又はクリーンイクスクルーシブのいずれかであるとき、
前記リクエスト監視部は、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記リードリクエストへのレスポンスとして前記リードリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1又は2記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスがダーティーイクスクルーシブであるとき、
前記リクエスト監視部は、前記二以上のプロセッサ内のキャッシュに最新のデータが存在することを示して、前記他のプロセッサに対してリード付きスヌープリクエストを発行し、前記他のプロセッサからライトバックリクエストが送られてくると、このライトバックリクエストに付されたデータを前記リードリクエストへのレスポンスとして前記リードリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1〜3のいずれかに記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードモディファイライトリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードモディファイライトリクエストのキャッシュラインの物理アドレスが存在していないとき、又は、当該物理アドレスが存在しており前記キャッシュステータスがインバリデートであるとき、
前記リクエスト監視部は、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記リードモディファイライトリクエストへのレスポンスとして前記リードモディファイライトリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードモディファイライトリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードモディファイライトリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスがシェアード又はクリーンイクスクルーシブであるとき、
前記リクエスト監視部は、前記二以上のプロセッサ内のキャッシュに最新のデータが存在することを示して、前記他のプロセッサに対してリード付きスヌープリクエストを発行するとともに、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記リードモディファイライトリクエストへのレスポンスとして前記リードモディファイライトリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1又は5記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたリードモディファイライトリクエストであり、
前記参照の結果、前記履歴テーブルに前記リードモディファイライトリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスがダーティーイクスクルーシブであるとき、
前記リクエスト監視部は、前記二以上のプロセッサ内のキャッシュに最新のデータが存在することを示して、前記他のプロセッサに対してリード付きスヌープリクエストを発行し、前記他のプロセッサからライトバックリクエストが送られてくると、このライトバックリクエストに付されたデータを前記リードモディファイライトリクエストへのレスポンスとして前記リードモディファイライトリクエストを発行したプロセッサに対し発行する
ことを特徴とする請求項1、5、6のいずれかに記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたインバリデートリクエストであり、
前記参照の結果、前記履歴テーブルに前記インバリデートリクエストのキャッシュラインの物理アドレスが存在しないとき、又は、前記履歴テーブルに前記インバリデートリクエストのキャッシュラインの物理アドレスが存在しており前記キャッシュステータスがインバリデートであるとき、
前記リクエスト監視部は、前記インバリデートリクエストを発行したプロセッサに対して、インバリデートリクエストの完了を発行する
ことを特徴とする請求項1記載のバスインタフェースアダプタ。 - 前記リクエストが、前記二以上のプロセッサのうちの一のプロセッサで発行されたインバリデートリクエストであり、
前記参照の結果、前記履歴テーブルに前記インバリデートリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスがシェアードであるとき、
前記リクエスト監視部は、前記インバリデートリクエストを発行したプロセッサに対して、インバリデートリクエストの完了を発行する
ことを特徴とする請求項1又は8記載のバスインタフェースアダプタ。 - 前記リクエストが、IO装置で発行されたDMAリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記DMAリードリクエストのキャッシュラインの物理アドレスが存在しないとき、又は、当該物理アドレスが存在しており前記キャッシュステータスがインバリデートであるとき、
前記リクエスト監視部は、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記DMAリードリクエストへのレスポンスとして前記IO装置に対し発行する
ことを特徴とする請求項1記載のバスインタフェースアダプタ。 - 前記リクエストが、IO装置で発行されたDMAリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記DMAリードリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスが、シェアード又はクリーンイクスクルーシブのいずれかであるとき、
前記リクエスト監視部は、前記システムメモリのデータが最新であることを示して、前記システムメモリからデータを獲得し、このデータを前記DMAリードリクエストへのレスポンスとして前記IO装置に対し発行する
ことを特徴とする請求項1又は10記載のバスインタフェースアダプタ。 - 前記リクエストが、IO装置で発行されたDMAリードリクエストであり、
前記参照の結果、前記履歴テーブルに前記DMAリードリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスがダーティーイクスクルーシブであるとき、
前記リクエスト監視部は、前記二以上のプロセッサ内のキャッシュに最新のデータが存在することを示して、前記二以上のプロセッサに対しリード付きスヌープリクエストを発行し、キャッシュラインのキャッシュステータスがダーティーイクスクルーシブであるキャッシュを保有するプロセッサからライトバックリクエストが送られてくると、このライトバックリクエストに付されたデータを前記DMAリードリクエストへのレスポンスとして前記IO装置に対し発行する
ことを特徴とする請求項1、10、11のいずれかに記載のバスインタフェースアダプタ。 - 前記リクエストが、IO装置で発行されたDMAライトリクエストであり、
前記参照の結果、前記履歴テーブルに前記DMAライトリクエストのキャッシュラインの物理アドレスが存在しないとき、
前記リクエスト監視部は、前記二以上のプロセッサに対して、インバリデートリクエストの完了を発行する
ことを特徴とする請求項1記載のバスインタフェースアダプタ。 - 前記リクエストが、IO装置で発行されたDMAライトリクエストであり、
前記参照の結果、前記履歴テーブルに前記インバリデートリクエストのキャッシュラインの物理アドレスが存在しており、前記キャッシュステータスが、シェアード、クリーンイクスクルーシブ又はダーティーイクスクルーシブのいずれかであるとき、
前記リクエスト監視部は、前記二以上のプロセッサ内のキャッシュに最新のデータが存在することを示して、前記二以上のプロセッサに対しインバリデートリクエストを発行し、キャッシュラインのキャッシュステータスがダーティーイクスクルーシブであるキャッシュを保有するプロセッサからライトバックリクエストが送られてくると、このライトバックリクエストに付されたデータを前記DMAライトリクエストへのレスポンスとして前記IO装置に対し発行する
ことを特徴とする請求項1又は13記載のバスインタフェースアダプタ。 - バスインタフェースアダプタのプロセッサバスインタフェース制御部がプロセッサからのリクエストを受信する処理を有したデータ転送方法であって、
前記リクエストが受信されると、前記バスインタフェースアダプタの履歴テーブル制御部が、二以上の前記プロセッサに関する物理アドレス及びキャッシュステータスを有する履歴テーブルを参照し、
前記バスインタフェースアダプタのリクエスト監視部が、前記履歴テーブルの参照結果にもとづき、前記プロセッサとシステムメモリとの間でデータの転送を行ない、
前記バスインタフェースアダプタのIO装置バスインタフェース制御部が、IO装置からのリクエストを受信すると、
前記リクエスト監視部が、前記IO装置バスインタフェース制御部で受信された前記リクエストの内容及び前記履歴テーブル制御部での参照の結果にもとづき、前記リクエストを発行したIO装置とプロセッサとの間又は前記リクエストを発行したIO装置とシステムメモリとの間でデータの転送を行ない、
前記キャッシュステータスには、インバリデート、シェアード、クリーンイクスクルーシブ、ダーティーイクスクルーシブがあり、
前記インバリデートは、キャッシュラインが有効な情報を持たないことを示し、
前記シェアードは、一のプロセッサのキャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュにも存在し、キャッシュラインの内容はシステムメモリと同じであり、キャッシュラインのオーナーではないことを示し、
前記クリーンイクスクルーシブは、キャッシュラインは有効な情報を持ち、キャッシュラインの内容はシステムメモリと同じであり、プロセッサはオーナーではないことを示し、
前記ダーティーイクスクルーシブは、一のプロセッサのキャッシュラインは有効な情報を持ち、他のプロセッサのキャッシュには存在せず、キャッシュラインの内容はシステムメモリと異なり、プロセッサはオーナーであることを示す
ことを特徴とするデータ転送方法。 - キャッシュメモリを有する二以上のプロセッサと、プロセッサバスを介して前記プロセッサに接続されたバスインタフェースアダプタと、このバスインタフェースアダプタに接続されたシステムメモリとを備えたデータ転送システムであって、
前記バスインタフェースアダプタが、前記請求項1〜請求項14のいずれかに記載のバスインタフェースアダプタからなる
ことを特徴とするデータ転送システム。 - 基板上にデータ転送システムが形成されたペリフェラルコンポネントインタコネクトボードを備えた情報処理装置であって、
前記データ転送システムが、前記請求項16に記載のデータ転送システムを有した
ことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007038431A JP4851958B2 (ja) | 2007-02-19 | 2007-02-19 | バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007038431A JP4851958B2 (ja) | 2007-02-19 | 2007-02-19 | バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204101A JP2008204101A (ja) | 2008-09-04 |
JP4851958B2 true JP4851958B2 (ja) | 2012-01-11 |
Family
ID=39781558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007038431A Expired - Fee Related JP4851958B2 (ja) | 2007-02-19 | 2007-02-19 | バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4851958B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5568939B2 (ja) * | 2009-10-08 | 2014-08-13 | 富士通株式会社 | 演算処理装置及び制御方法 |
JP6115455B2 (ja) | 2013-11-29 | 2017-04-19 | 富士通株式会社 | 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置 |
US10031834B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10642737B2 (en) * | 2018-02-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Logging cache influxes by request to a higher-level cache |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816475A (ja) * | 1994-06-30 | 1996-01-19 | Toshiba Corp | マルチプロセッサシステム |
JPH08185359A (ja) * | 1994-10-31 | 1996-07-16 | Toshiba Corp | メモリサブシステム |
JP3067976B2 (ja) * | 1995-07-05 | 2000-07-24 | 日本電気株式会社 | マルチレベルバス結合型マルチプロセッサシステム |
KR100515059B1 (ko) * | 2003-07-22 | 2005-09-14 | 삼성전자주식회사 | 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법 |
-
2007
- 2007-02-19 JP JP2007038431A patent/JP4851958B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008204101A (ja) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7581068B2 (en) | Exclusive ownership snoop filter | |
US7996625B2 (en) | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture | |
US7305522B2 (en) | Victim cache using direct intervention | |
US7305523B2 (en) | Cache memory direct intervention | |
US7529866B2 (en) | Retry mechanism in cache coherent communication among agents | |
EP1311956B1 (en) | Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system | |
US20080195820A1 (en) | Prefetch miss indicator for cache coherence directory misses on external caches | |
US7536514B2 (en) | Early return indication for read exclusive requests in shared memory architecture | |
JP2982868B2 (ja) | メモリ待ち時間を短縮する方法およびコンピュータ・システム | |
US20030126365A1 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US20070083715A1 (en) | Early return indication for return data prior to receiving all responses in shared memory architecture | |
JPH10333985A (ja) | データ供給方法及びコンピュータ・システム | |
JPH10289155A (ja) | Smpバスの共用状態でのキャッシュ・ラインの共用介入方法及びシステム | |
JPH10289154A (ja) | Smpバスの排他状態でのキャッシュ・ラインの共用を行う方法及び装置 | |
EP1624377B1 (en) | Adapted MSI protocol used for snoop caches and speculative memory reads | |
EP1638003A2 (en) | Apparatus and method for retrieving data from a data storage system | |
US5713004A (en) | Cache control for use in a multiprocessor to prevent data from ping-ponging between caches | |
US7779210B2 (en) | Avoiding snoop response dependency | |
JPH11328026A (ja) | ホバ―リング(h)及びリ―セント(r)状態を有するキャッシュ・コヒ―レンシ・プロトコル | |
WO2010038301A1 (ja) | メモリアクセス方法及び情報処理装置 | |
JP4851958B2 (ja) | バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置 | |
US20040068616A1 (en) | System and method enabling efficient cache line reuse in a computer system | |
US5978886A (en) | Method and apparatus for duplicating tag systems to maintain addresses of CPU data stored in write buffers external to a cache | |
EP0976047B1 (en) | Read operations in multiprocessor computer system | |
JP3732397B2 (ja) | キャッシュシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111004 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111021 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |