JP5587539B2 - ローカルメモリデータのコヒーレントなキャッシュ処理 - Google Patents

ローカルメモリデータのコヒーレントなキャッシュ処理 Download PDF

Info

Publication number
JP5587539B2
JP5587539B2 JP2007542381A JP2007542381A JP5587539B2 JP 5587539 B2 JP5587539 B2 JP 5587539B2 JP 2007542381 A JP2007542381 A JP 2007542381A JP 2007542381 A JP2007542381 A JP 2007542381A JP 5587539 B2 JP5587539 B2 JP 5587539B2
Authority
JP
Japan
Prior art keywords
cache
local memory
processor
memory
data block
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.)
Active
Application number
JP2007542381A
Other languages
English (en)
Other versions
JP2008521114A (ja
Inventor
ホーヘルブリュッヘ,ヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008521114A publication Critical patent/JP2008521114A/ja
Application granted granted Critical
Publication of JP5587539B2 publication Critical patent/JP5587539B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0826Limited pointers directories; State-only directories without pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

本発明は、ローカルメモリを有するプロセッサシステムに関し、より詳細には、マルチプロセッサシステムにおけるローカルメモリデータのコヒーレントなキャッシュ処理に関する。
プロセッサシステムのスピードとより多くのデータを処理する能力を向上させる継続的な動機がある。このスピードを向上させる動機のために使用されるパラレル化が増大しており、これにより、パフォーマンスを向上させるため、複数のより複雑さの低いルーチンが同時に実行されるとき、複雑なプログラムが実行される。スピードを向上するのに使用される他のツールは、キャッシュメモリを設けることである。
キャッシュメモリは、メインシステムメモリからのデータ及び命令の頻繁に使用されている部分のコピーを近接して接続される低遅延キャッシュメモリに格納することによって機能する。このことは、頻繁な間隔によりアクセスされるデータ又は命令がキャッシュメモリから取得され、これにより、メインシステムメモリにアクセスする必要が解消されることを意味する。従って、新しい各リード及びライトコマンドが発行されると、システムは、情報がキャッシュに格納されているか判断するため、まずキャッシュメモリを検索する。当該情報がキャッシュメモリにおいて利用可能である場合、メインシステムメモリへのアクセスは不要であり、当該コマンドがはるかに容易に処理又はデータアクセスされる。
1以上のプロセッサキャッシュとメインシステムメモリとのデータコピーの間のコヒーレンシ又は整合性を保証する必要性が、キャッシュメモリシステムにおいて固有なものである。コヒーレンシを保証する1つの方法は、すべてのキャッシュブロックの状態情報を含む“MESI”プロトコルである。状態情報は、キャッシュラインがMESI(Modified,Shared,Exclusive and Invalid)であるか示すことを含む。
MESIシステムでは、共有されていないキャッシュラインがアクセスされると、それはexclusive(E)としてマークされる。以降のリードは状態を変更せず、以降のキャッシュラインへのライトは状態をmodified(M)に変更する。マルチプロセッサシステムの他のプロセッサがキャッシュデータを自らのキャッシュにロードする場合、キャッシュラインは、shared(S)とマークされる。プロセッサが共有されたキャッシュにデータを書き込むことを所望する場合、無効化コマンドが他のすべてのプロセッサ又は共有データのコピーを有する少なくとも他のすべてのプロセッサに送信されねばならない。プロセッサがmodifiedキャッシュラインからデータをロードすることが可能となる前、modifiedキャッシュラインを有するプロセッサは、データをメモリに書き込み、当該データをshared(S)とマークする必要がある。invalid(I)とマークされたキャッシュラインへの読み書きは、キャッシュミスを生じさせる。
上述したMESIプロトコルなどのプロトコルは、キャッシュメモリがコヒーレントに維持され、それらをマルチプロセッサシステムのソフトウェアに透過にすることを保証する。キャッシュメモリ及びキャッシュメモリコヒーレンシに関するさらなる詳細は、“Computer Architecture a Quantitative Approach,Third Edition,John L.Hennessy and David A. Patterson,2003”の刊行物に求めることができる。
キャッシュメモリは上述した効果を提供するが、それらは設計を複雑化するという問題点を有し、他のタイプの記憶装置と比較して相対的に高価なものにする傾向がある。例えば、キャッシュメモリは、提示されたアドレスに対してタグをチェックするコンパレータと、マッチする方法を選択するセレクタとを必要とする。キャッシュメモリはまた、データの置換を管理するためLRU(Least Recently Used)ビットを有し、変更されたデータの書き戻しを管理するためのコピーバック機能を必要とする。キャッシュメモリはまた、ビットがキャッシュメモリにおいてアクセスされる方法のため、他のタイプのメモリより大きな電力を消費する傾向がある。さらに、キャッシュにおいてデータがヒット又はミスである方法は、置換ポリシー(典型的にはLRU)に依存し、ソフトウェアについて予測することは困難である。
デジタル信号処理に使用されるプロセッサなどのプロセッサシステムはまた、処理スピードを向上させる手段としてローカルメモリを使用する。ローカルメモリは、RAM(Random Access Memory)などの独立したメインメモリによるのではなく、プロセッサとローカルメモリの間で直接的に行われるリード及び/又はライト処理を可能にする。ローカルメモリは当該ローカルメモリにアクセス可能なプロセッサに関して処理速度を向上させることを可能にするが、それはマルチプロセッサシステムにさらなる効果を提供するものではない。
本発明の目的は、ローカルメモリデータのコヒーレントなキャッシュ処理が提供されるマルチプロセッサシステムを提供することである。
本発明の第1の特徴によると、複数のプロセッサであって、該プロセッサの1以上が係るキャッシュメモリを有するプロセッサと、前記複数のプロセッサを接続するシステムバスと、前記複数のプロセッサの1つに係るローカルメモリとを有するマルチプロセッサシステムであって、前記ローカルメモリは、該メモリに係るプロセッサによってアクセスされるよう構成され、さらに当該マルチプロセッサシステムの前記プロセッサの他のプロセッサによってアクセスされるよう構成されるマルチプロセッサシステムが提供される。
本発明は、予測可能なタイミング動作を有し、高速であって、低電力で安価であるローカルメモリを提供するという効果を有し、またマルチプロセッサシステムの他のプロセッサがローカルメモリにアクセスすることを可能にするという効果を享受する。
本発明の他の特徴によると、システムバスに接続される複数のプロセッサであって、該プロセッサの少なくとも1つがキャッシュメモリを有するプロセッサを有するマルチプロセッサシステムにおいてデータを処理する方法であって、係るプロセッサに接続されるローカルメモリを提供するステップと、前記ローカルメモリが該ローカルメモリに係るプロセッサによって直接アクセス可能となり、前記システムバスを介しその他のプロセッサの1以上によってアクセス可能となるように、前記ローカルメモリを設定するステップとを有する方法が提供される。
図1は、本発明によるマルチプロセッサシステム1を示す。マルチプロセッサシステム1は、複数のプロセッサ21〜25と、システムバス30と、メインシステムメモリ40とを有する。各プロセッサ21〜25は、各自のキャッシュメモリ41〜45に接続され、各キャッシュメモリ41〜45は、さらにシステムバス30に接続される。上述したように、キャッシュメモリ41〜45は、各自のプロセッサ21〜25によって頻繁に使用されるデータ又は命令のコピーを格納し、これにより、プロセッサ21〜25がリード又はライト処理中にメインシステムメモリ40にアクセスすることを不要にする。
プロセッサ25は、複数のデータブロック(図示せず)を有するローカルメモリ50に接続される。本発明によると、ローカルメモリ50は、それに係るプロセッサ25との接続用の第1ポート51を有する。さらに、ローカルメモリ50は、システムバス30に接続される第2ポート52を有し、これにより、その他のプロセッサ21〜24の1以上がローカルメモリ50にアクセスすることを可能にする。
好適な実施例は、ローカルメモリ50に加えてキャッシュメモリ45に接続されるプロセッサ25を示しているが、キャッシュメモリ45は任意的なものであり、プロセッサ25は単にローカルメモリ50のみに接続することが可能であるということに留意されたい。さらに、好適な実施例のマルチプロセッサシステムは、ローカルメモリ50を有する1つのみのプロセッサ25により示されているが、その他のプロセッサ21〜24の1以上がまた各ローカルメモリに接続可能であるということが理解されるであろうということが留意される。
従って、ローカルメモリ50の第2ポート52はその他のプロセッサ21〜24がそれに係るプロセッサ25に加えて、ローカルメモリ50にアクセスすることを可能にすることは理解されるであろう(プロセッサ25とローカルメモリ50との間のアクセスほどは高速でないが)。
本発明は、ソフトウェアに透過な方法により、その他のプロセッサ21〜24によるローカルメモリ50へのデータのキャッシュ処理を可能にする。これは、ローカルメモリ及びキャッシュコヒーレンシによるシステムをプログラムすることを容易にする。
ローカルメモリ50のコヒーレンシは、第1及び第2状態ビットをローカルメモリ50のすべてのブロックに関連付けることによって可能とされる。好ましくは、ローカルメモリの各データブロックは、システムのキャッシュコヒーレンシ粒度と同一のサイズ(典型的には、32又は64バイト)を有する。
第1状態ビットは、Sharedビットと呼ばれ、システムの他のプロセッサがread−sharedコマンドによりブロックを読み込むときに設定される。
第2状態ビットは、Invalidビットと呼ばれ、システムの他のプロセッサがread−exclusiveコマンドによりデータブロックを読み込み、又はデータブロックに対してアップグレードコマンドを発行するときに設定される。
ローカルメモリ50に係るプロセッサ25、すなわち、ローカルメモリ50を所有するプロセッサ25は、プロセッサ25がそれのローカルメモリ50にアクセスするときは常に、Shared及びInvalidビットをチェックする。
図2は、Read処理がプロセッサ25によりそれのローカルメモリ50に対して実行されることを示すフローチャートを示す。ステップ201において、プロセッサ25は、ローカルメモリ50においてアクセスされているデータブロックのInvalidビットをチェックする。Invalidビットが設定されていない場合、ステップ207において、プロセッサ25は単にリード処理を続ける。しかしながら、Invalidビットが設定されている場合、ステップ203において、プロセッサ25はシステムバス30を介しlookup−cache−and−upgradeコマンドを発行する。lookup−cache−and−upgradeコマンドは、modified状態によりデータブロックを保持するプロセッサ21〜25にmodifiedデータブロックをローカルメモリ50に送り返すようリクエストする。ステップ204においてmodfiedデータブロックが受信された後、ステップ205においてInvalidビットがクリアされ、ステップ206においてSharedビットが設定される。その後ステップ207において、リード処理が通常通りに完了される。データブロックを提供したプロセッサ21〜25は、各自のキャッシュメモリ41〜45にshared状態によりデータブロックのコピーを維持するため、Sharedビットが設定されることに留意されたい。上記から、プロセッサ25はまたそれのローカルメモリに格納されているデータをキャッシュ処理することが可能であるということに留意されたい。これは、メモリアドレスでなく命令のオペコードに基づき、ローカルとシステムメモリとの間で選択するプロセッサにおいて行われるかもしれない。
図3は、ローカルメモリ50に対するライト処理を示すフローチャートを示す。ステップ301において、ライト処理を行うプロセッサ25が書き込まれるデータブロックのInvalid及びSharedビットの両方をチェックする。ステップ302において、プロセッサ25は、これらのビットの1つが設定されているか決定する。これらのビットの1つが設定されている場合、ステップ303において、プロセッサ25はシステムバスを介しlookup−cache−and−invalidateコマンドを発行する。lookup−cache−and−invalidateコマンドは、各自のキャッシュメモリ41〜45にキャッシュされているデータブロックを有するプロセッサ21〜25にデータブロックを無効化することをリクエストする。
プロセッサ21〜25の1つがmodified状態によるデータブロックを有する場合、各プロセッサは、無効化前にmodifiedデータブロックをローカルメモリ50に書き戻す。ローカルメモリ50においてmodifiedデータブロックが受け付けされた後、ステップ307において、Invalidateビットがクリアされ、ステップ308において、ライト処理が完了される。
ステップ304〜306はmodified状態によりデータブロックを有する各プロセッサによって実行されることが理解される。
ステップ302において、Invalid又はSharedビットの何れも設定されていない場合、ステップ308において、ライト処理は通常通りに続けられる。
データのコピーバックは、ローカルメモリにおけるそれのデータブロックのInvalidビットをリセットする(それは、“victimized”されるため)。これは、新たなデータブロックがデータキャッシュにロードされるときは常に、新たなデータのためのスペースを設けるため、古いデータがデータキャッシュから削除される。この古いデータは、victimizedされたと言われる。古いデータがプロセッサによって変更された場合、当該データは、そのソースとなるメモリに書き戻される、すなわち、コピーバックされる必要がある。
第1及び第2の状態ビット、すなわち、SharedビットとInvalidビットは、データがもともと格納されている場所に格納され、それがキャッシュされている場所には格納されない。すなわち、第1及び第2状態ビットはローカルメモリに格納され、キャッシュメモリには格納されない。
“read−shared”、“read−exclusive”、“lookup−cache−and−upgrade”及び“lookup−cache−and−invalidate”処理は、キャッシュコヒーレンシをサポートする典型的なバスプロトコルにおいて見つけられるすべてのコマンドである。特に、
・read−sharedは、それを読み込む意図によりデータを読み込むのに使用される。
・read−exclusiveは、それを変更する意図によりデータを読み込むのに使用される。
・lookup−cache−and−upgradeは、modified状態によるデータを有するプロセッサにそれをshared状態に戻すことをリクエストする。
・lookup−cache−and−invalidateは、それのキャッシュにデータを有するプロセッサにキャッシュからそれを削除するようリクエストする。
上述した本発明は、ローカルメモリを有するプロセッサがキャッシュコヒーレンシによりシステムに搭載可能となる方法を示す。その他のプロセッサは、ソフトウェアがこれを認識する必要なくデータをローカルメモリにキャッシュすることが可能である。
さらに、本発明は、ローカルメモリデータのコヒーレントなキャッシュ処理を提供するという効果を有し、ローカルメモリは、典型的にはキャッシュより設計が容易であり、予測可能なタイミング動作を有し、より高速である。さらに、ローカルメモリは少ない電力しか使用せず、より安価である。
上述した実施例は本発明を限定するものでなく、説明するものであって、当業者は添付した請求項の範囲から逸脱することなく、他の多数の実施例を構成可能であるということに留意すべきである。“有する”という用語は、請求項にリストされた以外の要素又はステップの存在を排除するものでなく、“ある”という用語は複数を排除するものでなく、単一のプロセッサ又は他のユニットが、請求項に記載された複数のユニットの機能を実現するかもしれない。請求項における参照符号は、その範囲を制限するためのものとして解釈されるべきでない。
図1は、本発明の好適な実施例によるマルチプロセッサシステムのハイレベルな図を示す。 図2は、本発明によるread処理を示すフローチャートを示す。 図3は、本発明によるwrite処理を示すフローチャートを示す。

Claims (12)

  1. システムバスを介しアクセス可能なメインメモリと、
    複数のプロセッサであって、該プロセッサの1以上が関連するキャッシュメモリを有するプロセッサと、
    前記複数のプロセッサを接続するシステムバスと、
    前記複数のプロセッサの第1プロセッサに関連し、前記システムバスを介し前記複数のプロセッサによりアクセス可能な非キャッシュローカルメモリと、
    を有するマルチプロセッサシステムであって、
    前記非キャッシュローカルメモリは、前記第1プロセッサによってアクセスされるよう構成され、さらに当該マルチプロセッサシステムの前記複数のプロセッサの他のプロセッサによってアクセスされるよう構成され、
    前記非キャッシュローカルメモリは、前記第1プロセッサと直接に双方向通信するための第1ポートと、前記システムバスを介し前記他のプロセッサと双方向通信するための第2ポートとを有し、
    前記非キャッシュローカルメモリは、前記メインメモリとは別のメモリであるマルチプロセッサシステム。
  2. 前記非キャッシュローカルメモリは、各データブロックに第1状態ビットと第2状態ビットとが割り当てられているデータブロックに情報を格納するよう構成され、
    前記第1状態ビットと前記第2状態ビットとは、前記非キャッシュローカルメモリと1以上のキャッシュメモリとの間のコヒーレンシを維持するため設けられる、請求項記載のマルチプロセッサシステム。
  3. 前記第1状態ビットは、あるデータブロックが共有されているか示すよう構成され、
    前記第2状態ビットは、前記あるデータブロックが無効であるか示すよう構成される、請求項記載のマルチプロセッサシステム。
  4. 当該システムは、前記データブロックがもともと格納されている前記非キャッシュローカルメモリに前記第1及び第2状態ビットを格納するよう構成される、請求項又は記載のマルチプロセッサシステム。
  5. 前記非キャッシュローカルメモリは、当該システムのキャッシュコヒーレンス粒度に対応するブロックサイズによりデータを格納するよう構成される、請求項記載のマルチプロセッサシステム。
  6. システムバスに接続される複数のプロセッサであって、該プロセッサの各々がキャッシュメモリを有する前記複数のプロセッサと、前記システムバスを介しアクセス可能なメインメモリとを有するマルチプロセッサシステムにおいてデータを処理する方法であって、
    前記システムバスを介し前記複数のプロセッサによりアクセス可能であって、関連する非キャッシュローカルメモリを第1プロセッサに備えるステップと、
    前記非キャッシュローカルメモリが第1ポートを介し前記第1プロセッサによって直接に双方向にアクセス可能とされ、前記システムバスと第2ポートとを介しその他のプロセッサによって双方向にアクセス可能とされる前記第1ポートと前記第2ポートとを有するように、前記非キャッシュローカルメモリを設定するステップと、
    を有し、
    前記非キャッシュローカルメモリは、前記メインメモリとは別のメモリとして備えられる方法。
  7. 第1及び第2状態ビットを前記非キャッシュローカルメモリに格納されている各データブロックに割り当てるステップをさらに有し、
    前記第1及び第2状態ビットは、前記非キャッシュローカルメモリとキャッシュメモリとの間のコヒーレンシを維持するよう動作する、請求項記載の方法。
  8. 前記第1状態ビットは、あるデータブロックが共有されているか示し、
    前記第2状態ビットは、前記あるデータブロックが無効であるか示す、請求項記載の方法。
  9. 前記データブロックがもともと格納されている前記非キャッシュローカルメモリに前記第1及び第2状態ビットを格納するステップをさらに有する、請求項記載の方法。
  10. 第1プロセッサと該第1プロセッサに関連する非キャッシュローカルメモリとの間のリード処理は、
    アクセスされる前記データブロックの状態を決定し、前記データブロックが無効であると判断される場合、関連するキャッシュメモリに格納されている変更されたデータブロックを有する前記1以上の他のプロセッサのそれぞれから、前記システムバスを介し変更されたデータブロックを抽出し、無効状態ビットをクリアし、共有状態ビットを設定し、当該リード処理を完了するステップを有する、請求項又は記載の方法。
  11. 第1プロセッサと該第1プロセッサに関連する非キャッシュローカルメモリとの間のライト処理は、
    書き込みされる前記データブロックの状態を決定し、前記データブロックが無効又は共有されていると判断される場合、他の何れかのプロセッサが変更されたデータブロックを有するか判断し、そうである場合、該プロセッサに前記変更されたデータブロックを前記非キャッシュローカルメモリに書き戻すようリクエストし、その他のプロセッサのそれぞれの各自のメモリにおいて前記データブロックを無効化し、無効状態ビットをクリアし、当該ライト処理を完了するステップを有する、請求項又は記載の方法。
  12. 前記非キャッシュローカルメモリは、前記システムのキャッシュコヒーレンス粒度に対応するブロックサイズによりデータを格納する、請求項記載の方法。
JP2007542381A 2004-11-24 2005-11-08 ローカルメモリデータのコヒーレントなキャッシュ処理 Active JP5587539B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04106032 2004-11-24
EP04106032.8 2004-11-24
PCT/IB2005/053662 WO2006056900A1 (en) 2004-11-24 2005-11-08 Coherent caching of local memory data

Publications (2)

Publication Number Publication Date
JP2008521114A JP2008521114A (ja) 2008-06-19
JP5587539B2 true JP5587539B2 (ja) 2014-09-10

Family

ID=35744855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007542381A Active JP5587539B2 (ja) 2004-11-24 2005-11-08 ローカルメモリデータのコヒーレントなキャッシュ処理

Country Status (6)

Country Link
US (1) US7779205B2 (ja)
EP (1) EP1828907A1 (ja)
JP (1) JP5587539B2 (ja)
KR (1) KR101168364B1 (ja)
CN (1) CN101065735A (ja)
WO (1) WO2006056900A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291175B2 (en) * 2009-10-16 2012-10-16 Oracle America, Inc. Processor-bus attached flash main-memory module
JP5404433B2 (ja) 2010-01-08 2014-01-29 株式会社東芝 マルチコアシステム
TWI478055B (zh) * 2012-12-11 2015-03-21 Gemtek Technology Co Ltd 非對稱式處理之多核心系統與其網路設備
CN104407989B (zh) * 2014-11-25 2019-02-12 上海兆芯集成电路有限公司 具有统一标签和片化数据的高速缓冲存储器
CN105095145B (zh) * 2015-09-17 2018-04-03 浪潮(北京)电子信息产业有限公司 一种自适应嵌入式处理器
CN107688545B (zh) * 2016-12-23 2021-01-19 北京国睿中数科技股份有限公司 高速缓存的一致性状态预置方法及***

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6073766A (ja) * 1983-09-29 1985-04-25 Meidensha Electric Mfg Co Ltd Cpu間の情報交換装置
JPS61211759A (ja) * 1985-03-16 1986-09-19 Meidensha Electric Mfg Co Ltd マルチcpuシステムにおける2ポ−トメモリ制御回路
US5291442A (en) 1990-10-31 1994-03-01 International Business Machines Corporation Method and apparatus for dynamic cache line sectoring in multiprocessor systems
JPH05225147A (ja) * 1992-02-17 1993-09-03 Toshiba Corp マルチプロセッサ型データ処理システム
US5513335A (en) * 1992-11-02 1996-04-30 Sgs-Thomson Microelectronics, Inc. Cache tag memory having first and second single-port arrays and a dual-port array
US5590308A (en) * 1993-09-01 1996-12-31 International Business Machines Corporation Method and apparatus for reducing false invalidations in distributed systems
US5832534A (en) 1994-01-04 1998-11-03 Intel Corporation Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories
EP0815513B1 (en) 1995-03-17 2006-08-16 Intel Corporation Multi-processing cache coherency protocol on a local bus
US5943500A (en) * 1996-07-19 1999-08-24 Compaq Computer Corporation Long latency interrupt handling and input/output write posting
DE69715203T2 (de) * 1997-10-10 2003-07-31 Bull Sa Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
JP2002024198A (ja) * 2000-07-06 2002-01-25 Fujitsu Ltd 分散共有メモリ型並列計算機
US6356983B1 (en) 2000-07-25 2002-03-12 Src Computers, Inc. System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture
US6862640B2 (en) 2001-04-10 2005-03-01 Texas Instruments Incorporated Arbitration in local system for access to memory in a distant subsystem
JP2005519391A (ja) * 2002-02-28 2005-06-30 シリコン、グラフィクス、インコーポレイテッド 共有ベクトルの増加を伴わないdsmマルチプロセッサシステムにおけるキャッシュコヒーレンスのための方法およびシステム
US7133977B2 (en) * 2003-06-13 2006-11-07 Microsoft Corporation Scalable rundown protection for object lifetime management

Also Published As

Publication number Publication date
WO2006056900A1 (en) 2006-06-01
EP1828907A1 (en) 2007-09-05
KR101168364B1 (ko) 2012-07-25
JP2008521114A (ja) 2008-06-19
US20090150619A1 (en) 2009-06-11
KR20070084441A (ko) 2007-08-24
US7779205B2 (en) 2010-08-17
CN101065735A (zh) 2007-10-31

Similar Documents

Publication Publication Date Title
TWI408550B (zh) 對資料處理設備中共用記憶體之寫入存取請求之處理
US8606997B2 (en) Cache hierarchy with bounds on levels accessed
JP6831788B2 (ja) キャッシュ保守命令
US8037252B2 (en) Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
US6343347B1 (en) Multiprocessor system bus with cache state and LRU snoop responses for read/castout (RCO) address transaction
US6353875B1 (en) Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions
US7984244B2 (en) Method and apparatus for supporting scalable coherence on many-core products through restricted exposure
US20070156972A1 (en) Cache coherency control method, chipset, and multi-processor system
JP4119380B2 (ja) マルチプロセッサシステム
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
GB2507758A (en) Cache hierarchy with first and second level instruction and data caches and a third level unified cache
US6748496B1 (en) Method and apparatus for providing cacheable data to a peripheral device
JP2006277762A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP2007011580A (ja) 情報処理装置
JP5587539B2 (ja) ローカルメモリデータのコヒーレントなキャッシュ処理
KR20070040340A (ko) 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템
US8332592B2 (en) Graphics processor with snoop filter
US20110082981A1 (en) Multiprocessing circuit with cache circuits that allow writing to not previously loaded cache lines
JP4577729B2 (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
US8041898B2 (en) Method, system and apparatus for reducing memory traffic in a distributed memory system
TW200527217A (en) Data extraction method and system
US9639467B2 (en) Environment-aware cache flushing mechanism
US7543112B1 (en) Efficient on-chip instruction and data caching for chip multiprocessors
US20050144391A1 (en) Cache memory management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120827

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130515

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140724

R150 Certificate of patent or registration of utility model

Ref document number: 5587539

Country of ref document: JP

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250