JP2017016660A - マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システム - Google Patents
マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システム Download PDFInfo
- Publication number
- JP2017016660A JP2017016660A JP2016130528A JP2016130528A JP2017016660A JP 2017016660 A JP2017016660 A JP 2017016660A JP 2016130528 A JP2016130528 A JP 2016130528A JP 2016130528 A JP2016130528 A JP 2016130528A JP 2017016660 A JP2017016660 A JP 2017016660A
- Authority
- JP
- Japan
- Prior art keywords
- address
- master device
- security attribute
- master
- snoop
- 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
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Abstract
【解決手段】アプリケーションプロセッサは第1保安属性を有する第1マスタ装置、第2保安属性を有する第2マスタ装置、マスタサイドフィルタと、第1マスタ装置、第2マスタ装置及びマスタサイドフィルタに接続されたキャッシュコヒーレントインターコネクトとを含む。第1マスタ装置は第1保安属性を示す保安属性指示子と第1スヌープアドレスとを含むスヌープ要請を通信し、マスタサイドフィルタはキャッシュコヒーレントインターコネクトを通じて第1マスタ装置からスヌープ要請を受信し、第2保安属性とスヌープ要請によって指示される第1保安属性とを比較し、第1保安属性と第2保安属性とが互いに異なる時第1スヌープアドレスを第2マスタ装置に伝送しないことを決定し、第1保安属性と第2保安属性とが互いに同じである時第1スヌープアドレスを第2マスタ装置に伝送することを決定してスヌープ動作を実行する。
【選択図】 図1
Description
キャッシュコヒーレンシの問題が発生すれば、共有メモリシステムは、キャッシュコヒーレンシのための動作を行うので、共有メモリシステムが共有メモリにデータを書込む時、書込み動作のレイテンシが増加する。
前記第2マスタ装置は、少なくとも1つのアドレスと前記少なくとも1つのアドレスに該当する各データを保存するキャッシュと、前記少なくとも1つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第1スヌープアドレスとを比較し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスが存在しない時、第2キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、を含む。
前記アプリケーションプロセッサは、前記第1マスタ装置から伝送された制御信号に応答して、前記第2保安属性を決定するコントローラをさらに含み、前記コントローラは、専用伝送ラインを使って前記第2保安属性を前記マスタサイドフィルタに伝送する。
前記マスタサイドフィルタは、少なくとも1つのアドレスを保存するメモリ装置と、前記メモリ装置に連結され、前記第1保安属性と前記第2保安属性とを比較し、前記第1スヌープアドレスと前記少なくとも1つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む。
前記第1マスタ装置は、前記第2マスタ装置が前記保安モードから脱出し、前記非保安モードに進入する時、前記第2マスタ装置が前記保安モードで動作する間に、前記第2マスタ装置のキャッシュに保存されたあらゆるデータを削除する。
前記第1マスタ装置は、CPUであり、前記第2マスタ装置は、GPU(Graphics Processing Unit)、GPGPU(General−Purpose Computing on Graphics Processing Units)、またはDSP(Digital Signal Processor)である。
前記データ処理システムは、前記第1マスタ装置から伝送された制御信号に応答して、前記第2保安属性を決定するコントローラをさらに含み、前記コントローラは、専用伝送ラインを使って前記第2保安属性を前記マスタサイドフィルタに伝送する。
前記マスタサイドフィルタは、少なくとも1つのアドレスを保存するメモリ装置と、前記メモリ装置に連結され、前記第1保安属性と前記第2保安属性とを比較し、前記第1スヌープアドレスと前記少なくとも1つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む。
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、キャッシュ−コヒーレントインターコネクトのためにハードウェアを変更しなくても良い。
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、従来のソリューション(solutions)と比較する時、キャッシュコヒーレントネットワークのためのタイミングオーバーヘッドを除去することができる。
図1は、本発明の実施形態によるデータ処理システムのブロック図である。図1を参照すれば、データ処理システム100は、コントローラ200とメインメモリ装置300とを含みうる。データ処理システム100は、PC(Personal Computer)またはモバイル装置として具現可能である。モバイル装置は、ラップトップ(laptop)コンピュータ、携帯電話、スマートフォン、タブレットPC、PDA(Personal Digital Assistant)、EDA(Enterprise Digital Assistant)、デジタルスチル(still)カメラ、デジタルビデオ(video)カメラ、PMP(Portable Multimedia Player)、PND(Personal Navigation DeviceまたはPortable Navigation Device)、携帯用ゲームコンソール(handheld game console)、モバイルインターネット装置(Mobile Internet Device;MID)、ウェアラブルコンピュータ、モノのインターネット(Internet of Things;IoT)装置、万物のインターネット(Internet of Everything;IoE)装置、ドローン(drone)、または電子ブック(e−book)として具現可能である。また、データ処理システム100は、スマートカーまたは自動車システム(automotive system)に使われる。
マスタサイドフィルタ250がキャッシュコヒーレントインターコネクト210と第2マスタ装置240との間に連結され、保安チェック(security check)がマスタサイドフィルタ250で行われることによって、スヌープ時間(snoop time)またはスヌープレイテンシ(snoop latency)が減少する効果がある。
第1マスタ装置220は、第2マスタ装置240の動作モードを保安モード(secure mode)または非保安モード(non−secure mode)に設定または定義するための第1制御信号CTR1を、キャッシュコヒーレントインターコネクト210を通じて、第2コントローラ230に伝送しうる。保安モードは、保安が必要なデータを処理する保安動作モードを意味し、非保安モードは、保安が必要ではないデータを処理する非保安動作モードを意味するが、これに限定されるものではない。
第1マスタ装置220は、第1保安属性AT1とアドレスADD、例えば、スヌープアドレスADDを含む第1スヌープ要請SREQ1を生成することができる。
第1保安属性AT1は、第1マスタ装置220の動作モードが保安モードであるか、または非保安モードであるかを表わす情報(または、データまたは指示子(indicator))を意味し、アドレスADDは、第1マスタ装置220がアクセスしようとするメインメモリ装置300のメモリ領域または位置を指示することができる。
第2コントローラ230は、第1マスタ装置220から出力された第1制御信号CTR1を用いて、または応答して、第2マスタ装置240の動作モードを保安モードまたは非保安モードに設定することができる。第1制御信号CTR1は、第2コントローラ230に含まれたレジスタ235に保存することができる。例えば、レジスタ235は、SFR(Special Function Register)として具現可能である。
しかし、マスタサイドフィルタ250は、第1保安属性AT1と第2保安属性AT2とが互いに同じである時、第1スヌープ要請SREQ1に含まれたアドレスADDを第2マスタ装置240に伝送しうる。
たとえ、図1に示されたデータ処理システム100がシステム構成(system configuration)と他の目的のために、スレーブサイドフィルタ280とメインメモリ装置200とを含むが、保安考慮スヌープ動作のためには、キャッシュコヒーレントインターコネクト210とマスタサイドフィルタ250のみが要求される。
例えば、レジスタ265は、SFRとして具現可能である。SFR265に保存された第2制御信号CTR2によって第3マスタ装置270の第3保安属性AT3が決定されうる。第3保安属性AT3は、第3マスタ装置270の動作モードが保安モードであるか、または非保安モードであるかを表わす情報(または、データ)であり得る。
メインメモリ装置300は、コントローラ200の動作に必要なファームウエアとユーザデータを保存することができる。例えば、メインメモリ装置300は、DRAM(Dynamic Random Access Memory)として具現可能である。
第2マスタ装置240の第2保安属性AT2は、保安モードを示すと仮定し、第2マスタ装置240に含まれたキャッシュ244は、各アドレスADD1、ADD3、ADD4、及びADD5に該当するデータDATA1、DATA3、DATA4、及びDATA5を保存すると仮定する。
マスタサイドフィルタ250は、キャッシュコヒーレントインターコネクト210を通じて、第1保安属性AT1と第1アドレスADD1を含む第1スヌープ要請SREQ1を受信することができる(ステップS110)。
第1保安属性AT1と第2保安属性AT2とが互いに同じである時(ステップS120のYES)、マスタサイドフィルタ250は、第1アドレス(ADD=ADD1)を第2マスタ装置240のキャッシュコントローラ242に伝送する。したがって、第2マスタ装置240のキャッシュコントローラ242は、内部キャッシュラインのためのスヌープ動作を行うことができる(ステップS140)。
例えば、図5の場合2(CASE2)に示したように、第1スヌープ要請SREQ1は、第2指示ビットSMBと第1アドレス(ADD=ADD2)とを含む。第1マスタ装置220に対する第1保安属性AT1は、保安モードを示す。
図1、図6、及び図7を参照すれば、マスタサイドフィルタ250−1は、決定ロジック回路252と保安属性ルックアップ(look−up)テーブルを保存するメモリ装置254とを含みうる。たとえ、図6では、マスタサイドフィルタ250−1がメモリ装置254を含む実施形態が示されているが、メモリ装置254は、マスタサイドフィルタ250−1の外部に具現されうる。実施形態によって、メモリ装置254は、SRAM(Static Random Access Memory)として具現可能である。実施形態によって、メモリ装置254は、コントローラ200の内部のどこにでも具現されうるので、メモリ装置254は、第2マスタ装置240に含まれることもある。
メモリ装置254は、各アドレスADD1、ADD3、ADD4、及びADD5に該当するメモリ領域の保安属性SM、NSMを保存することができる。本明細書において、メモリ領域は、メインメモリ装置300の全体、全体の一部、及びライン(または、キャッシュラインに該当するライン)を意味する。
第1マスタ装置220は、第1保安属性AT1と第1アドレス(ADD=ADD1)を含む第1スヌープ要請SREQ1をキャッシュコヒーレントインターコネクト210に伝送しうる。
決定ロジック回路252は、第1保安属性AT1と第2保安属性AT2とを互いに比較し、第1アドレス(ADD=ADD1)にマッチされるアドレスがメモリ装置254に存在するか否かを判断することができる(ステップS220)。前記比較と前記判断は、順次または並列に行われる。
例えば、図10の場合4(CASE4)に示したように、第1スヌープ要請SREQ1は、第4指示ビットSMBと第1アドレス(ADD=ADD1)とを含む。第4指示ビットSMBは、第1マスタ装置220の動作モードが保安モードであることを指示し、第4指示ビットSMBは、第1保安属性AT1を示す。したがって、第1アドレス(ADD=ADD1)に該当するメモリ領域は、保安モードSMでアクセス可能な保安メモリ領域である。
したがって、決定ロジック回路252は、第1アドレス(ADD=ADD1)を第2マスタ装置240のキャッシュコントローラ242に伝送せず、スヌープミスをキャッシュコヒーレントインターコネクト210に直ちに伝送する(ステップS220のNOとステップS230)。
例えば、図10の場合6(CASE6)に示したように、第1スヌープ要請SREQ1は、第6指示ビットNSMBと第1アドレス(ADD=ADD2)とを含む。第6指示ビットNSMBは、第1マスタ装置220の動作モードが非保安モードであることを指示し、第6指示ビットNSMBは、第1保安属性AT1を示す。
例えば、図10の場合7(CASE7)に示したように、第1スヌープ要請SREQ1は、第7指示ビットNSMBと第1アドレス(ADD=ADD1)とを含む。第7指示ビットNSMBは、第1マスタ装置220の動作モードが非保安モードであることを指示し、第7指示ビットNSMBは、第1保安属性AT1を示す。
ここで、アドレスの属性は、アドレスに該当するメモリ領域が保安メモリ領域であるか、または非保安メモリ領域であるかを表わす情報(または、データ)であり得る。
しかし、第2保安属性AT2が非保安モードを示し、メモリ装置254に保存された第2アドレスが非保安メモリ領域を指示する時、第1スヌープ要請SREQ1に含まれた第1保安属性AT1が非保安モードを示し、第1スヌープ要請SREQ1に含まれた第1アドレスADDが保安メモリ領域を指示する時、スヌープミスが発生することがある。
図12は、図8に関して説明したような方法を要約するフローチャートであり、図13は、図9に関して説明したような方法を要約するフローチャートである。ここで、要請者モードとハンドラモードとの第1決定が行われる(ステップS1200)。そして、ターゲット領域(例えば、キャッシュに保存されたスヌープアドレスまたはマッチングアドレスによって指定されたメモリ領域)の保安属性または非保安属性の第2決定が行われる(ステップS1210)。そして、2つの決定(ステップS1200とステップS1210)に基づいて、スヌープヒット/ミス決定が行われる(ステップS1220)。
第1マスタ装置220は、第2マスタ装置240の動作モードを保安モードに設定するための第1制御信号CTR1を第2コントローラ230に伝送しうる。第2コントローラ230は、第1制御信号CTR1をSFR235に設定することができる。SFR235に設定された第1制御信号CTR1によって、第2保安属性AT2は、保安モードを示す。
スヌープ時間またはスヌープレイテンシは、第1マスタ装置220と第2マスタ装置240との間で送受信する信号のみで決定されうる。したがって、マスタサイドフィルタ250を含むコントローラ200でスヌープ動作のためのタイミングオーバーヘッド(timing overhead)は除去される。
200:コントローラ
210:キャッシュコヒーレントインターコネクト
220:第1マスタまたは第1マスタ装置
230:保安属性コントローラ
240:第2マスタまたは第2マスタ装置
242:キャッシュコントローラ
244:キャッシュ
250、250−1:マスタサイドフィルタ
252:決定ロジック回路
254:メモリ装置
280:スレーブサイドフィルタ
300:外部メモリ装置
Claims (20)
- 第1保安属性を有する第1マスタ装置と、
第2保安属性を有する第2マスタ装置と、
マスタサイドフィルタと、
前記第1マスタ装置、前記第2マスタ装置、及び前記マスタサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を含み、
前記第1マスタ装置は、前記第1保安属性を示す保安属性指示子と第1スヌープアドレスとを含むスヌープ要請を通信し、
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第1マスタ装置から前記スヌープ要請を受信し、前記第2保安属性と前記スヌープ要請によって指示される前記第1保安属性とを比較し、前記第1保安属性と前記第2保安属性とが互いに異なる時、前記第1スヌープアドレスを前記第2マスタ装置に伝送しないことを決定し、前記第1保安属性と前記第2保安属性とが互いに同じである時、前記第1スヌープアドレスを前記第2マスタ装置に伝送することを決定して、スヌープ動作を実行するアプリケーションプロセッサ。 - 前記第1保安属性は、前記第1マスタ装置に対する保安モードまたは非保安モードを指示し、
前記第2保安属性は、前記第2マスタ装置に対する前記保安モードまたは前記非保安モードを指示する請求項1に記載のアプリケーションプロセッサ。 - 前記第1スヌープアドレスを前記第2マスタ装置に伝送しないことを決定すれば、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、第1キャッシュミスを前記第1マスタ装置に伝送する請求項2に記載のアプリケーションプロセッサ。
- 前記第2マスタ装置は、
少なくとも1つのアドレスと前記少なくとも1つのアドレスに該当する各データを保存するキャッシュと、
前記少なくとも1つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第1スヌープアドレスとを比較し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスが存在しない時、第2キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、
を含む請求項3に記載のアプリケーションプロセッサ。 - 前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第1キャッシュミス、前記データ、または前記第2キャッシュミスのうちの何れか1つを前記第1マスタ装置に伝送する請求項4に記載のアプリケーションプロセッサ。
- 前記第1マスタ装置から伝送された制御信号に応答して、前記第2保安属性を決定するコントローラをさらに含み、
前記コントローラは、専用伝送ラインを使って前記第2保安属性を前記マスタサイドフィルタに伝送する請求項1に記載のアプリケーションプロセッサ。 - 前記マスタサイドフィルタは、
少なくとも1つのアドレスを保存するメモリ装置と、
前記メモリ装置に連結され、前記第1保安属性と前記第2保安属性とを比較し、前記第1スヌープアドレスと前記少なくとも1つのアドレスのそれぞれとを比較する決定ロジック回路と、
を含む請求項1に記載のアプリケーションプロセッサ。 - 前記第1保安属性と前記第2保安属性とが一致し、前記第1スヌープアドレスと前記少なくとも1つのアドレスのうちからマッチングアドレスとが一致する時、前記決定ロジック回路は、前記第1スヌープアドレスを前記第2マスタ装置に伝送し、
前記第1保安属性と前記第2保安属性とが一致しないか、前記第1スヌープアドレスと前記少なくとも1つのアドレスのそれぞれとが互いに異なる時、前記決定ロジック回路は、キャッシュミスを、前記キャッシュコヒーレントインターコネクトを通じて、前記第1マスタ装置に伝送する請求項7に記載のアプリケーションプロセッサ。 - 前記メモリ装置は、各メモリ領域に対する保安属性をさらに保存し、
前記決定ロジック回路は、前記第1保安属性が前記第2保安属性と同一であるか否かと、前記第1スヌープアドレスによって指示されたメモリ領域の第1アドレス属性が、前記少なくとも1つのアドレスのうちからマッチングアドレスによって指示されたメモリ領域の第2アドレス属性と同一であるか否かと、を判断し、
前記決定ロジック回路は、前記第1保安属性と前記第2保安属性とが一致し、前記第1アドレスの属性と前記第2アドレスの属性とが一致する時、前記第1スヌープアドレスを前記第2マスタ装置に伝送する請求項7に記載のアプリケーションプロセッサ。 - 前記第1マスタ装置は、前記第2マスタ装置が前記保安モードから脱出し、前記非保安モードに進入する時、前記第2マスタ装置が前記保安モードで動作する間に、前記第2マスタ装置のキャッシュに保存されたあらゆるデータを削除する請求項2に記載のアプリケーションプロセッサ。
- 前記アプリケーションプロセッサは、前記キャッシュコヒーレントインターコネクトに連結され、前記第1マスタ装置から受信されたメモリアクセス要請に応答して、メインメモリ装置をアクセスするスレーブサイドフィルタをさらに含み、
前記スレーブサイドフィルタは、前記マスタサイドフィルタによって実行される前記スヌープ動作を行わない請求項1に記載のアプリケーションプロセッサ。 - 前記第1マスタ装置は、CPUであり、
前記第2マスタ装置は、GPU、GPGPU、またはDSPである請求項1に記載のアプリケーションプロセッサ。 - コントローラと、
前記コントローラの外部に配され、前記コントローラに連結されたメインメモリ装置と、を含み、
前記コントローラは、
第1保安属性を有する第1マスタ装置と、
第2保安属性を有する第2マスタ装置と、
マスタサイドフィルタと、
スレーブサイドフィルタと、
前記第1マスタ装置、前記第2マスタ装置、前記マスタサイドフィルタ、及び前記スレーブサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を含み、
前記第1マスタ装置は、前記第1保安属性を示す保安属性指示子と第1スヌープアドレスとを含むスヌープ要請を通信し、
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトと前記第2マスタ装置との間に連結され、前記キャッシュコヒーレントインターコネクトを通じて、前記第1マスタ装置から前記スヌープ要請を受信し、前記第2保安属性と前記スヌープ要請によって指示される前記第1保安属性とを比較し、前記第1保安属性と前記第2保安属性とが互いに異なる時、前記第1スヌープアドレスを前記第2マスタ装置に伝送しないことを決定し、前記第1保安属性と前記第2保安属性とが互いに同じである時、前記第1スヌープアドレスを前記第2マスタ装置に伝送することを決定して、スヌープ動作を実行し、
前記スレーブサイドフィルタは、前記キャッシュコヒーレントインターコネクトと前記メインメモリ装置との間に連結され、前記キャッシュコヒーレントインターコネクトを通じて、前記第1マスタ装置から受信されたメモリアクセス要請に応答して、前記メインメモリ装置に対するメモリアクセス動作を直接行うデータ処理システム。 - 前記第1保安属性は、前記第1マスタ装置に対する保安モードまたは非保安モードを指示し、
前記第2保安属性は、前記第2マスタ装置に対する前記保安モードまたは前記非保安モードを指示し、
前記第1スヌープアドレスを前記第2マスタ装置に伝送しないことを決定すれば、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、第1キャッシュミスを前記第1マスタ装置に伝送する請求項13に記載のデータ処理システム。 - 前記第2マスタ装置は、
少なくとも1つのアドレスと前記少なくとも1つのアドレスに該当する各データを保存するキャッシュと、
前記少なくとも1つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第1スヌープアドレスとを比較し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも1つのアドレスのうちから前記第1スヌープアドレスとマッチされるマッチングアドレスが存在しない時、第2キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、
を含む請求項14に記載のデータ処理システム。 - 前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第1キャッシュミス、前記データ、または前記第2キャッシュミスのうちの何れか1つを前記第1マスタ装置に伝送する請求項15に記載のデータ処理システム。
- 前記第1マスタ装置から伝送された制御信号に応答して、前記第2保安属性を決定するコントローラをさらに含み、
前記コントローラは、専用伝送ラインを使って前記第2保安属性を前記マスタサイドフィルタに伝送する請求項13に記載のデータ処理システム。 - 前記マスタサイドフィルタは、
少なくとも1つのアドレスを保存するメモリ装置と、
前記メモリ装置に連結され、前記第1保安属性と前記第2保安属性とを比較し、前記第1スヌープアドレスと前記少なくとも1つのアドレスのそれぞれとを比較する決定ロジック回路と、
を含む請求項13に記載のデータ処理システム。 - キャッシュコヒーレントインターコネクトと、
前記キャッシュコヒーレントインターコネクトに連結された第1マスタ装置と、
第2マスタ装置と、
前記キャッシュコヒーレントインターコネクトと前記第2マスタ装置との間に連結され、前記第1マスタ装置から伝送されたスヌープ要請に応答して、スヌープ動作を行うマスタサイドフィルタと、
前記キャッシュコヒーレントインターコネクトと外部メモリ装置との間に連結され、前記第1マスタ装置から出力されたメモリアクセス要請に応答して、前記外部メモリ装置に対するメモリアクセス動作を行うスレーブサイドフィルタと、
を含むキャッシュコヒーレントシステム。 - 前記マスタサイドフィルタは、
前記スヌープ要請を、前記キャッシュコヒーレントインターコネクトを通じて受信し、前記第2マスタ装置の第2保安属性と前記スヌープ要請に含まれた前記第1マスタ装置の第1保安属性とを比較し、
前記第1保安属性と前記第2保安属性とが互いに異なる時、前記スヌープ要請に含まれた第1アドレスを前記第2マスタ装置に伝送せず、キャッシュミスを前記キャッシュコヒーレントインターコネクトに伝送し、
前記第1保安属性と前記第2保安属性とが互いに同じである時、前記第1アドレスを前記第2マスタ装置に伝送する請求項19に記載のキャッシュコヒーレントシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562187365P | 2015-07-01 | 2015-07-01 | |
US62/187365 | 2015-07-01 | ||
KR10-2016-0021651 | 2016-02-24 | ||
KR1020160021651A KR102485999B1 (ko) | 2015-07-01 | 2016-02-24 | 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016660A true JP2017016660A (ja) | 2017-01-19 |
JP6739253B2 JP6739253B2 (ja) | 2020-08-12 |
Family
ID=57582850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016130528A Active JP6739253B2 (ja) | 2015-07-01 | 2016-06-30 | マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9864687B2 (ja) |
JP (1) | JP6739253B2 (ja) |
CN (1) | CN106326148B (ja) |
DE (1) | DE102016211986A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628611B2 (en) * | 2016-11-04 | 2020-04-21 | Qualcomm Incorporated | Exclusive execution environment within a system-on-a-chip computing system |
CN110443360B (zh) * | 2017-06-16 | 2021-08-06 | 上海兆芯集成电路有限公司 | 用于操作处理器的方法 |
JP6776292B2 (ja) * | 2018-03-20 | 2020-10-28 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
US10521236B2 (en) * | 2018-03-29 | 2019-12-31 | Intel Corporation | Branch prediction based on coherence operations in processors |
CN112612726B (zh) * | 2020-12-08 | 2022-09-27 | 海光信息技术股份有限公司 | 基于缓存一致性的数据存储方法、装置、处理芯片及服务器 |
US11044256B1 (en) * | 2020-12-22 | 2021-06-22 | AppOmni, Inc. | Classification management |
US11874783B2 (en) | 2021-12-21 | 2024-01-16 | Advanced Micro Devices, Inc. | Coherent block read fulfillment |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680577A (en) | 1995-04-27 | 1997-10-21 | International Business Machines Corporation | Method and system for processing multiple requests for data residing at the same memory address |
US5966729A (en) * | 1997-06-30 | 1999-10-12 | Sun Microsystems, Inc. | Snoop filter for use in multiprocessor computer systems |
US6412047B2 (en) * | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6526430B1 (en) * | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
CN1291747A (zh) * | 2000-11-24 | 2001-04-18 | 李楠甍 | 高速缓存设备及其使用方法 |
US6839808B2 (en) | 2001-07-06 | 2005-01-04 | Juniper Networks, Inc. | Processing cluster having multiple compute engines and shared tier one caches |
US6842828B2 (en) | 2002-04-30 | 2005-01-11 | Intel Corporation | Methods and arrangements to enhance an upbound path |
EP1870814B1 (en) | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US7434008B2 (en) * | 2004-04-23 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | System and method for coherency filtering |
US7373462B2 (en) | 2005-03-29 | 2008-05-13 | International Business Machines Corporation | Snoop filter for filtering snoop requests |
US7650479B2 (en) | 2006-09-20 | 2010-01-19 | Arm Limited | Maintaining cache coherency for secure and non-secure data access requests |
US20110153944A1 (en) | 2009-12-22 | 2011-06-23 | Klaus Kursawe | Secure Cache Memory Architecture |
US8612516B2 (en) * | 2011-11-28 | 2013-12-17 | Wyse Technology Inc. | Deployment of a driver or an application on a client device having a write-filter |
US20130318308A1 (en) * | 2012-05-24 | 2013-11-28 | Sonics, Inc. | Scalable cache coherence for a network on a chip |
US9129071B2 (en) | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
US8930638B2 (en) | 2012-11-27 | 2015-01-06 | Qualcomm Technologies, Inc. | Method and apparatus for supporting target-side security in a cache coherent system |
CN104462007B (zh) * | 2013-09-22 | 2018-10-02 | 南京中兴新软件有限责任公司 | 实现多核间缓存一致性的方法及装置 |
KR101700778B1 (ko) | 2014-08-18 | 2017-01-31 | 정형진 | 멸치 자숙장치 |
US10078589B2 (en) * | 2015-04-30 | 2018-09-18 | Arm Limited | Enforcing data protection in an interconnect |
-
2016
- 2016-06-30 CN CN201610512585.4A patent/CN106326148B/zh active Active
- 2016-06-30 US US15/198,583 patent/US9864687B2/en active Active
- 2016-06-30 JP JP2016130528A patent/JP6739253B2/ja active Active
- 2016-07-01 DE DE102016211986.9A patent/DE102016211986A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20170004084A1 (en) | 2017-01-05 |
DE102016211986A1 (de) | 2017-01-05 |
CN106326148A (zh) | 2017-01-11 |
CN106326148B (zh) | 2020-06-23 |
JP6739253B2 (ja) | 2020-08-12 |
US9864687B2 (en) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6739253B2 (ja) | マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システム | |
US11036650B2 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
US11237728B2 (en) | Method for accessing extended memory, device, and system | |
US10705588B2 (en) | Enabling a non-core domain to control memory bandwidth in a processor | |
US11526440B2 (en) | Providing multiple memory modes for a processor including internal memory | |
US20080109624A1 (en) | Multiprocessor system with private memory sections | |
US20190171392A1 (en) | Method of operating storage device capable of reducing write latency | |
US9348740B2 (en) | Memory access controller, multi-core processor system, memory access control method, and computer product | |
US10198357B2 (en) | Coherent interconnect for managing snoop operation and data processing apparatus including the same | |
CN114860329B (zh) | 动态一致性偏置配置引擎及方法 | |
US9183150B2 (en) | Memory sharing by processors | |
US20220114098A1 (en) | System, apparatus and methods for performing shared memory operations | |
CN116324745A (zh) | 读取可选命令和写入可选命令 | |
US20220114099A1 (en) | System, apparatus and methods for direct data reads from memory | |
KR20110127479A (ko) | 멀티 프로세서 장치 및 그것의 인터 프로세스 통신 방법 | |
US20230169022A1 (en) | Operating method of an electronic device | |
KR102485999B1 (ko) | 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템 | |
US9183149B2 (en) | Multiprocessor system and method for managing cache memory thereof | |
US11275707B2 (en) | Multi-core processor and inter-core data forwarding method | |
JP2018510411A (ja) | ロールベースキャッシュコヒーレンスバストラフィック制御 | |
KR101416248B1 (ko) | 데이터 처리장치 및 그 데이터 처리방법 | |
JP2017146786A (ja) | 演算処理装置、制御装置、情報処理装置及び情報処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20161228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190430 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200507 |
|
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: 20200630 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200721 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6739253 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |