JP2013196167A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2013196167A JP2013196167A JP2012060809A JP2012060809A JP2013196167A JP 2013196167 A JP2013196167 A JP 2013196167A JP 2012060809 A JP2012060809 A JP 2012060809A JP 2012060809 A JP2012060809 A JP 2012060809A JP 2013196167 A JP2013196167 A JP 2013196167A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- router
- memory
- memory access
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
【課題】少ないAPUで不正なメモリアクセスを検出すること。
【解決手段】本発明の一つの実施形態によれば、情報処理装置は、1つの共有メモリと、複数のプロセッサと、ルータ群と、アドレス保護装置とを備える。前記複数のプロセッサは、アクセス先アドレスとアクセス種類とを含む前記共有メモリへのメモリアクセス要求を記述したメモリアクセスパケットを生成する。前記ルータ群は、前記共有メモリに接続されている第1ルータと、前記第1ルータと前記複数のプロセッサとの間の転送経路を形成する第2ルータとを備え、前記複数のプロセッサが生成したメモリアクセスパケットを前記共有メモリに転送する。前記アドレス保護装置は、前記第1ルータを通過するメモリアクセスパケットを検査して違反メモリアクセスを検出する。
【選択図】図1
【解決手段】本発明の一つの実施形態によれば、情報処理装置は、1つの共有メモリと、複数のプロセッサと、ルータ群と、アドレス保護装置とを備える。前記複数のプロセッサは、アクセス先アドレスとアクセス種類とを含む前記共有メモリへのメモリアクセス要求を記述したメモリアクセスパケットを生成する。前記ルータ群は、前記共有メモリに接続されている第1ルータと、前記第1ルータと前記複数のプロセッサとの間の転送経路を形成する第2ルータとを備え、前記複数のプロセッサが生成したメモリアクセスパケットを前記共有メモリに転送する。前記アドレス保護装置は、前記第1ルータを通過するメモリアクセスパケットを検査して違反メモリアクセスを検出する。
【選択図】図1
Description
本発明の実施形態は、情報処理装置に関する。
近年、半導体集積回路の製造プロセス技術の進歩によりシステムLSIが高集積化できるようになってきており、1チップに搭載されるプロセッサ数が増加する傾向にある。一方、バスをベースとしたシステムでは、バスに接続できるプロセッサ数に制約が生じることが多い。また、プロセッサ間でのデータや制御の増加に伴い、バスへのアクセスがシステム全体の性能のボトルネックになることもある。この問題を改善する方法の1つとして、ネットワークオンチップ(NoC)がある。NoCでは、各プロセッサはルータを介して接続され、パケットによりデータや制御の通信を実現する。
また、プロセッサからの不正なメモリアクセスを検出する機構として、アドレス保護装置(Address Protection Unit;APU)を搭載することがある。APUには、あらかじめ許可する(または禁止する)メモリアクセスが、内部に保持するテーブルに登録される。APUは、プロセッサからメモリアクセスがあった際にそのテーブルを参照し、そのメモリアクセスが許可しないものであれば違反として検出する。
本発明の一つの実施形態は、少ないAPUで不正なメモリアクセスを検出することができる情報処理装置を提供することを目的とする。
本発明の一つの実施形態によれば、情報処理装置は、1つの共有メモリと、複数のプロセッサと、ルータ群と、アドレス保護装置とを備える。前記複数のプロセッサは、アクセス先アドレスとアクセス種類とを含む前記共有メモリへのメモリアクセス要求を記述したメモリアクセスパケットを生成する。前記ルータ群は、前記共有メモリに接続されている第1ルータと、前記第1ルータと前記複数のプロセッサとの間の転送経路を形成する第2ルータとを備え、前記複数のプロセッサが生成したメモリアクセスパケットを前記共有メモリに転送する。前記アドレス保護装置は、前記第1ルータを通過するメモリアクセスパケットを検査して違反メモリアクセスを検出する。
以下に図面を参照して、実施形態にかかる情報処理装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。ここでは、本発明の実施形態の情報処理装置をNoCに適用した場合について説明するが、実施形態の情報処理装置は、複数チップに分割されて構成される情報処理システムに対しても適用することができる。
(第1の実施形態)
図1は、本発明の第1の実施形態の情報処理装置としてのNoCの構成例を説明する図である。図1のNoC1は、プロセッサ10a〜10d、ルータ20a〜20c、APU30、共有キャッシュメモリ40、バス50、およびメインメモリ60を備えている。
図1は、本発明の第1の実施形態の情報処理装置としてのNoCの構成例を説明する図である。図1のNoC1は、プロセッサ10a〜10d、ルータ20a〜20c、APU30、共有キャッシュメモリ40、バス50、およびメインメモリ60を備えている。
プロセッサ10a,10bは、ルータ20aに接続されており、プロセッサ10c,10dは、ルータ20bに接続されている。また、ルータ20a,20bは、ルータ20cに接続されている。また、ルータ20cは共有キャッシュメモリ40に接続されており、共有キャッシュメモリ40はバス50を介してメインメモリ60に接続されている。
ここで、共有キャッシュメモリ40に接続されているルータ20cを第1ルータとし、第1ルータとプロセッサ10a〜10dとの間の転送経路を形成するルータ20a,20bを第2ルータとする。第1の実施形態においては、第1ルータは1つだけ用意されているとともに、ルータ群(ルータ20a〜20c)は閉道を含まず、第1ルータを根ノードとし、第2ルータを葉ノードとする木構造を構成する。なお、図1のNoC1の第2ルータは2つだが、これに限らない。また、第2ルータの葉ノードは、複数階層で構成されてもよい。また、第2ルータに接続されるプロセッサ数は、1以上である。
メインメモリ60は、プロセッサ10a〜10dの情報処理結果のデータ、情報処理のための初期値、プロセッサ10a〜10dを制御する所定のプログラム等、各種のデータを記憶する記憶装置である。
プロセッサ10a〜10dは、例えばメインメモリ60にロードされた所定のプログラムに基づいて情報処理を実行し、情報処理結果のデータをメインメモリ60に格納する。
共有キャッシュメモリ40は、プロセッサ10a〜10dによるメインメモリ60へのアクセス時間を削減するために設けられた、メインメモリ60よりも高速かつ小容量の記憶装置であって、メインメモリ60をアクセス先としたプロセッサ10a〜10dからのリード/ライトデータをキャッシュしている。
APU30は、プロセッサからのメモリアクセス違反を検出する。APU30は、第1ルータであるルータ20cに接続されている。プロセッサ10a〜10dからのメモリアクセスは全て、ルータ20cを通過するため、APU30は全てのメモリアクセス違反を検出することができる。
メモリアクセス要求のパケットの仕様例を、図2および図3に示す。
図2に示すパケットは、通常のメモリアクセスで生成されるパケット(以下、通常パケットという。)である。通常パケットには、アクセス先アドレス、アクセスの種類およびアクセス元IDが記述される。アクセス元IDは、プロセッサ10a〜10dを識別する識別子であって、どのプロセッサからのメモリアクセス要求であるかを特定することができる。
図2に示すパケットは、通常のメモリアクセスで生成されるパケット(以下、通常パケットという。)である。通常パケットには、アクセス先アドレス、アクセスの種類およびアクセス元IDが記述される。アクセス元IDは、プロセッサ10a〜10dを識別する識別子であって、どのプロセッサからのメモリアクセス要求であるかを特定することができる。
図3に示すパケットは、APU30でメモリアクセス違反を検出するために条件設定を行うパケット(以下、設定パケットという。)である。設定パケットは、アクセス先アドレスと、禁止条件または許可条件と、アクセス元IDとが記述される。禁止条件として、アクセス禁止領域の開始アドレス、アクセス禁止領域の終了アドレス、違反アクセス種類のうちの1つが記述される。違反アクセス種類には、リードおよびライトが存在し、当該項目は例えば2値情報で表現される。なお、ここでは、設定パケットに禁止条件が記述されている例について説明するが、許可条件が記述されるようにしてもよい。
ここで、APU30は、NoC1のアドレス空間上にマッピングされている。したがって、APU30に対するアクセスは、プロセッサ10a〜10dからAPU30がマッピングされている番地にアクセスすることで実現される。
図4は、APU30のマッピング例を説明する図である。アクセス禁止領域の開始アドレスが0x400000番地に、アクセス禁止領域の終了アドレスが0x400004番地に、違反アクセス種類が0x400008番地に、夫々マッピングされている。即ち、設定パケットに記述されるアクセス先アドレスには、0x400000、0x400004、0x400008のうちの禁止条件に対応する番地が使用される。なお、図4のアクセス先アドレスおよび違反検出アクセス種類は、違反メモリアクセスの検出ログが格納されるレジスタ(後述するレジスタ342)のアドレスを示すものであって、例えばデバッグ時に参照される。図4では、アクセス先アドレスは0x40000c番地にマッピングされており、この番地には、違反メモリアクセスがなされたアクセス先アドレスが格納される。また、違反検出アクセス種類は0x400010番地にマッピングされており、この番地には、検出した違反メモリアクセスがリードであったかライトであったかを示す2値情報が格納される。
図4は、APU30のマッピング例を説明する図である。アクセス禁止領域の開始アドレスが0x400000番地に、アクセス禁止領域の終了アドレスが0x400004番地に、違反アクセス種類が0x400008番地に、夫々マッピングされている。即ち、設定パケットに記述されるアクセス先アドレスには、0x400000、0x400004、0x400008のうちの禁止条件に対応する番地が使用される。なお、図4のアクセス先アドレスおよび違反検出アクセス種類は、違反メモリアクセスの検出ログが格納されるレジスタ(後述するレジスタ342)のアドレスを示すものであって、例えばデバッグ時に参照される。図4では、アクセス先アドレスは0x40000c番地にマッピングされており、この番地には、違反メモリアクセスがなされたアクセス先アドレスが格納される。また、違反検出アクセス種類は0x400010番地にマッピングされており、この番地には、検出した違反メモリアクセスがリードであったかライトであったかを示す2値情報が格納される。
なお、アクセス禁止領域(開始アドレスおよび終了アドレス)、違反アクセス種類、アクセス先アドレス、および違反検出アクセス種類を1セットとし、複数セット分の項目がNoC1のアドレス空間にマッピングされている。即ち、図4は、複数セット分のうちの1セットを示している。
図5は、ルータ20cの構成図である。ルータ20cは、2つの入力ポート21,22と、3つの出力ポート23〜25を持つ。入力ポート21は、ルータ20aが接続されており、入力ポート22は、ルータ20bが接続されている。即ち、入力ポートは、直接接続される第2ルータの数だけ備える。出力ポート23および出力ポート24はAPU30に接続されており、出力ポート25は共有キャッシュメモリ40に接続されている。また、ルータ20cは、パケット復号器26を備えている。
パケット復号器26は、入力ポート21、22のいずれかにパケットが到着すると、そのパケットを復号化し、アクセス先のアドレス情報を抽出する。そして、パケット復号器26は、抽出したアドレス情報に基づいて、そのパケットが設定パケットであるか通常パケットであるかを判定する。設定パケットであった場合、当該パケットを出力ポート24に転送し、通常パケットであった場合、当該パケットを出力ポート23,25に転送する。
図6は、APU30の構成図である。APU30は、入力ポート31,32を備えている。入力ポート31は、ルータ20cの出力ポート23に接続され、入力ポート32は、ルータ20cの出力ポート24に接続されている。また、APU30は、パケット振り分け器33、違反検出器34、およびエントリ登録器35を備えている。
パケット振り分け器33は、ルータ20cから入力ポート31または入力ポート32を介して転送されてきたパケットを受け付ける。パケット振り分け器33は、受け付けたパケットが通常パケットであれば、当該通常パケットを違反検出器34に転送し、受け付けたパケットが設定パケットであれば、当該設定パケットをエントリ登録器35に転送する。パケット振り分け器33は、受け付けたパケットが通常パケットであるか設定パケットであるかを、転送されてきた際に経由した入力ポートに基づいて判断する。
エントリ登録器35は、違反検出ルールを記述した設定情報を格納する設定情報記憶部36を備えている。
図7は、設定情報記憶部36に格納される設定情報のデータ構成例を示す図である。設定情報は、アクセス禁止領域の開始アドレス、終了アドレスとアクセス種類とを備えるエントリが登録されるテーブルを有している。即ち、各エントリには、禁止条件または許可条件が登録される。ここでは、禁止条件のみが登録されるものとして説明する。
図7は、設定情報記憶部36に格納される設定情報のデータ構成例を示す図である。設定情報は、アクセス禁止領域の開始アドレス、終了アドレスとアクセス種類とを備えるエントリが登録されるテーブルを有している。即ち、各エントリには、禁止条件または許可条件が登録される。ここでは、禁止条件のみが登録されるものとして説明する。
エントリ登録器35は、設定パケットの設定情報にエントリを登録する。なお、設定情報を構成するエントリが具備する夫々のフィールドは、NoC1のアドレス空間にマッピングされている。例えば、エントリ1が図4のセットに対応するものとすると、エントリ1の開始アドレス、終了アドレス、アクセス種類の各フィールドは、0x400000番地、0x400004番地、0x400008番地にマッピングされている。エントリ登録器35は、設定パケットのアクセス先アドレスに基づいて登録先のフィールドを決定し、記述されている設定情報を登録する。
図8は、違反検出器34の構成図である。違反検出器34は、判定器341およびレジスタ342を備えている。レジスタ342は、検出された違反メモリアクセスのアクセス先アドレスおよび違反アクセス種類を違反メモリアクセス毎に記録するレジスタである。レジスタ342におけるアクセス先アドレスおよび違反アクセス種類の格納位置は、夫々アドレス空間にマッピングされており、対応するアドレスにアクセスすることによって所望の違反メモリアクセスの内容を参照することができる。
判定器341は、通常パケットが入力されると、当該通常パケットのアクセス先アドレスとアクセス種類とのセットと、設定情報記憶部36に格納されている設定情報とを比較して、通常パケットが違反メモリアクセスに該当するか否かを判定する。違反メモリアクセスに該当すると判定した場合、判定器341は、当該通常パケットのアクセス先アドレスとアクセス種類とをレジスタ342に格納する。
次に、図9〜図11を参照して、第1の実施形態のNoC1の動作を説明する。
図9は、ルータ20cが具備するパケット復号器26の動作を説明するフローチャートである。プロセッサ10a〜10dがパケットを発行すると、当該パケットは、ルータ20aまたはルータ20bを介してルータ20cに入力される。パケット復号器26は、入力されたパケットからアクセス先アドレスの抽出を行う(S1)。そして、パケット復号器26は、抽出したアクセス先アドレスがAPU30宛て(即ちAPU30がマッピングされたアドレス)であるか否かを判定する(S2)。当該アクセス先アドレスがAPU30宛てであった場合(S2、Yes)、当該パケットは設定パケットであるので、パケット復号器26は、当該設定パケットを出力ポート23に転送し(S3)、動作を終了する。一方、抽出したアクセス先アドレスがAPU30宛てではなかった場合(S2、No)、当該パケットは通常パケットであるので、パケット復号器26は、当該通常パケットを出力ポート24および出力ポート25に転送し(S4)、動作を終了する。
図9は、ルータ20cが具備するパケット復号器26の動作を説明するフローチャートである。プロセッサ10a〜10dがパケットを発行すると、当該パケットは、ルータ20aまたはルータ20bを介してルータ20cに入力される。パケット復号器26は、入力されたパケットからアクセス先アドレスの抽出を行う(S1)。そして、パケット復号器26は、抽出したアクセス先アドレスがAPU30宛て(即ちAPU30がマッピングされたアドレス)であるか否かを判定する(S2)。当該アクセス先アドレスがAPU30宛てであった場合(S2、Yes)、当該パケットは設定パケットであるので、パケット復号器26は、当該設定パケットを出力ポート23に転送し(S3)、動作を終了する。一方、抽出したアクセス先アドレスがAPU30宛てではなかった場合(S2、No)、当該パケットは通常パケットであるので、パケット復号器26は、当該通常パケットを出力ポート24および出力ポート25に転送し(S4)、動作を終了する。
図10は、APU30が具備するパケット振り分け器33の動作を説明するフローチャートである。パケット振り分け器33は、パケットがルータ20cから転送されると、当該パケットが入力ポート31または入力ポート32から入力されたかを判定する(S11)。入力ポート32から前記パケットが入力された場合(S11、Yes)、当該パケットは通常パケットであるので、パケット振り分け器33は、当該パケットを違反検出器34へ転送し(S12)、動作を終了する。入力ポート31から前記パケットが入力された場合(S11、No)、当該パケットは設定パケットであるので、パケット振り分け器33は、当該パケットをエントリ登録器35へ転送し(S13)、動作を終了する。
図11は、APU30が具備する違反検出器34の動作を説明するフローチャートである。違反検出器34は、通常パケットを受信すると、設定情報記憶部36に格納されているエントリを参照し(S21)、通常パケットのアクセス先アドレスが設定されているアクセス禁止領域に含まれているか否かを判定する(S22)。前記アクセス先アドレスがアクセス禁止領域に含まれている場合(S22、Yes)、違反検出器34は、通常パケットのアクセス種類が参照したエントリのアクセス種類と合致するか否かをさらに判定する(S23)。アクセス種類が合致する場合(S23、Yes)、違反検出器34は、当該通常パケットのアクセス先アドレスとアクセス種類とをレジスタ342に出力し(S24)、動作を終了する。
通常パケットのアクセス先アドレスが参照したエントリのアクセス禁止領域に含まれない場合(S22、No)、またはアクセス種類が合致しない場合(S23、No)、違反検出器34は、設定情報を構成する全エントリを参照済みであるか否かを判定する(S25)。全エントリを参照済みである場合には(S25、Yes)、違反検出器34は、動作を終了する。未参照のエントリが存在する場合には(S25、No)、違反検出器34は、S21の処理に制御を移して、未参照のエントリを新たに参照する。
第1の実施形態と比較される技術(以下、比較例)について説明する。比較例として、各プロセッサにAPUを備える木構造のNoCが考えられる。APUは個々に、接続されているプロセッサの違反メモリアクセスを検出する。この場合、プロセッサ毎に違反メモリアクセスを検出することができる。
しかしながら、比較例では、1つのプロセッサに対して1つのAPUが備えるため、プロセッサの数だけAPUが必要となる。これに対して、本発明の第1の実施形態のNoCでは、パケットは根ノードとなるルータ20cを通るため、ルータ20cにのみAPU30を備えていれば、全ての違反メモリアクセスを検出することができる。即ち、本発明の第1の実施形態によれば、比較例に対し、少ないAPUで違反メモリアクセスを検出することができる。
なお、以上の説明においては、設定情報を構成する夫々のエントリに含まれる設定項目は設定項目毎にアドレス空間にマッピングされているとしているが、設定情報を構成する要素をどのような粒度でアドレス空間にマッピングするかは設計者の自由である。少なくともエントリ毎にアドレス空間にマッピングしておくと、許可条件や禁止条件を複数設定できる。また、夫々のエントリをアドレス空間にマッピングする代わりに、設定パケットと通常パケットとを識別できるようにフラグを付しておいてもよい。
本発明の第1の実施形態によれば、NoC1は、共有キャッシュメモリ40に接続されている唯一のルータであるルータ20cに通常パケットに記述されているメモリアクセス要求を検査して違反メモリアクセスの有無を検出するAPU30を接続するように構成したので、少ないAPUで不正なメモリアクセスを検出することができる。
また、APU30は、設定パケットに記述されているアクセス先アドレスに記述されている許可条件または禁止条件を登録する、ようにしたので、簡単な仕組みでプロセッサ10a〜10dから設定情報を登録できる。
また、ルータ20cは、入力されたパケットに記述されているアクセス先アドレスが設定情報に含まれるアドレスであるか否かに基づいて入力されたパケットが通常パケットであるか設定パケットであるかを判定し、入力されたパケットが通常パケットである場合、当該通常パケットを共有キャッシュメモリ40およびAPU30の両方に転送し、入力されたパケットが設定パケットである場合、当該設定パケットをAPU30に転送し、APU30は、転送されてきた設定パケットに記述されている許可条件または禁止条件を設定情報に登録するようにした。これにより、APU30は、ルータ20cに入力された設定パケットに基づいて設定情報を取得できるようになる。
また、APU30は、検出した違反メモリアクセスの内容を格納する、アドレス空間にマッピングされているレジスタ342を備える、ようにしたので、デバッグ時などに、対応するアドレスを指定することによって違反メモリアクセスの検出結果を取得することができる。
(第2の実施形態)
一般に、プロセッサが生成するパケットには、プロトコル仕様のバージョン情報やパケットの優先度など、違反メモリアクセスを検出する際に不要な情報が含まれている場合がある。図12は、当該不要な情報が含まれている通常パケットを示す図であり、「その他」の記述が不要な情報に該当する。
一般に、プロセッサが生成するパケットには、プロトコル仕様のバージョン情報やパケットの優先度など、違反メモリアクセスを検出する際に不要な情報が含まれている場合がある。図12は、当該不要な情報が含まれている通常パケットを示す図であり、「その他」の記述が不要な情報に該当する。
このように通常パケットに不要な情報が含まれる場合には、共有キャッシュメモリに接続されている第1ルータにおいて、当該不要な情報を削除したパケットを生成するようにするとよい。
図13は、第2の実施形態のルータ70の構成図である。ルータ70は、入力ポート21,22、出力ポート23〜25、パケット復号器71、パケット生成器72を備えている。なお、第1の実施形態と同じ構成には同一の符号を付して、重複する説明を省略する。
図13は、第2の実施形態のルータ70の構成図である。ルータ70は、入力ポート21,22、出力ポート23〜25、パケット復号器71、パケット生成器72を備えている。なお、第1の実施形態と同じ構成には同一の符号を付して、重複する説明を省略する。
図14は、パケット復号器71の動作示すフローチャートである。パケット復号器71は、入力ポート21または入力ポート22からパケットを受信すると、入力されたパケットからアクセス先アドレスの抽出を行う(S31)。そして、パケット復号器71は、抽出したアクセス先アドレスがAPU30宛てであるか否かを判定する(S32)。当該アクセス先アドレスがAPU30宛てであった場合(S32、Yes)、当該パケットは設定パケットであるので、パケット復号器71は、当該設定パケットを出力ポート23に転送し(S33)、動作を終了する。一方、抽出したアクセス先アドレスがAPU30宛てではなかった場合(S32、No)、当該パケットは通常パケットであるので、パケット復号器71は、当該通常パケットをパケット生成器72および出力ポート25に転送し(S34)、動作を終了する。
図15は、パケット生成器72の動作を示すフローチャートである。パケット生成器72は、S34の処理により通常パケットが入力されると、入力されたパケットから「その他」の内容を削除して新たなパケットを生成する(S41)。そして、パケット生成器72は、生成したパケットを出力ポート24に転送し(S42)、動作を終了する。
このように、第2の実施形態によれば、ルータ70は、通常パケットに違反メモリアクセスを検出するための情報のほかに不要な情報が含まれていた場合であっても、当該不要な情報を削除することで、APU30に登録可能な形式のパケットを生成することができる。
(第3の実施形態)
第3の実施形態は、違反メモリアクセスが検出された際に、当該違反メモリアクセスを行ったプロセッサに違反メモリアクセスを行った旨を通知する。
第3の実施形態は、違反メモリアクセスが検出された際に、当該違反メモリアクセスを行ったプロセッサに違反メモリアクセスを行った旨を通知する。
図16は、第3の実施形態のAPUの構成図である。第3の実施形態のAPU80は、入力ポート31,32、出力ポート82、パケット振り分け器33、違反検出器34、エントリ登録器35、およびパケット生成器81を備えている。
パケット生成器81は、違反検出器34に接続されており、違反検出器34が違反メモリアクセスを検出した際、違反メモリアクセスを行ったプロセッサを宛先とし、違反メモリアクセスを検出した旨を記述したパケットを生成する。そして、当該生成したパケットを出力ポート82に送信する。出力ポート82は、ルータ20cに接続されており、パケットは違反メモリアクセスを行ったプロセッサに送信される。
本発明の第3の実施形態によれば、APU80は、検出した違反メモリアクセスを行ったプロセッサを宛先として当該違反メモリアクセスを検出した旨を記述した通知パケットを生成するパケット生成器81を備える、ようにしたので、プロセッサ10a〜10dは、違反メモリアクセスを行った際には違反メモリアクセスを行ったことを認識することができる。
(第4の実施形態)
プロセッサ内部にキャッシュメモリを有する場合には、メモリアクセスがそのキャッシュメモリにヒットすると、プロセッサの外にパケットが出力されない。したがって、第1の実施形態の構成では、APUはメモリアクセス要求がプロセッサから出力されない違反メモリアクセスの検出を行うことができない。
プロセッサ内部にキャッシュメモリを有する場合には、メモリアクセスがそのキャッシュメモリにヒットすると、プロセッサの外にパケットが出力されない。したがって、第1の実施形態の構成では、APUはメモリアクセス要求がプロセッサから出力されない違反メモリアクセスの検出を行うことができない。
そこで、第4の実施形態は、プロセッサにダミーのパケットをプロセッサの外に送信する仕組みを具備する。ダミーのパケットは、プロセッサ内部のキャッシュメモリにヒットした場合に送信される。
図17は、第4の実施形態のプロセッサの構成図である。プロセッサ11は、プロセッサコア12、キャッシュメモリ13、パケット生成器14、出力ポート15を備えている。
図17は、第4の実施形態のプロセッサの構成図である。プロセッサ11は、プロセッサコア12、キャッシュメモリ13、パケット生成器14、出力ポート15を備えている。
出力ポート15は、ルータに接続されている。プロセッサコア12は、情報処理を行い、メインメモリ60にアクセスする際には、メモリアクセス要求を発行する。キャッシュメモリ13は、共有キャッシュメモリ40あるいはメインメモリ60へのアクセス時間を削減するためにプロセッサ11内部に設けられたキャッシュメモリである。パケット生成器14は、プロセッサコア12が発行したメモリアクセス要求がキャッシュメモリ13にヒットした場合には、当該メモリアクセス要求を記述したダミー通常パケットを生成して、出力ポート15に送信する。また、パケット生成器14は、メモリアクセス要求がキャッシュメモリ13にヒットしなかった場合には、通常パケットを生成して、トを出力ポート15に送信する。
図18は、ダミー通常パケットの仕様例を示す図である。ダミー通常パケットは、図2に示した通常パケットにダミーアクセスフラグが付加された構成を有している。
なお、第1ルータが具備するパケット復号器26は、受信したパケットがダミー通常パケットであった場合、当該ダミー通常パケットを出力ポート25に転送しないで、出力ポート24にのみ転送するようにしてもよい。
本発明の第4の実施形態によれば、プロセッサ11は、メモリアクセス要求がキャッシュメモリ13にヒットした場合に、当該メモリアクセス要求を記述したダミー通常パケットを生成して、ルータに送信するパケット生成器14を備え、当該ダミー通常パケットはAPU30に転送される、ようにしたので、プロセッサ内部にキャッシュメモリを備える場合であっても違反メモリアクセスを検出できる。
(第5の実施形態)
図19は、第5の実施形態のNoC3の構成図である。第5の実施形態のNoC3は、プロセッサ120a〜120hと、ルータ90−1a,90−1b,90−2a〜90−2dと、共有キャッシュメモリ40と、バス50と、メインメモリ60と、APU110aおよびAPU110bとを備えている。
図19は、第5の実施形態のNoC3の構成図である。第5の実施形態のNoC3は、プロセッサ120a〜120hと、ルータ90−1a,90−1b,90−2a〜90−2dと、共有キャッシュメモリ40と、バス50と、メインメモリ60と、APU110aおよびAPU110bとを備えている。
ルータ90−1aおよびルータ90−1b(第1ルータ)は、共有キャッシュメモリ40に接続されている。また、ルータ90−1a,90−1bはともに、ルータ90−2a〜90−2d(第2ルータ)が接続されている。ルータ90−2aは、プロセッサ120aおよびプロセッサ120bが、ルータ90−2bは、プロセッサ120cおよびプロセッサ120dが、ルータ90−2cは、プロセッサ120eおよびプロセッサ120fが、ルータ90−2dは、プロセッサ120gおよびプロセッサ120hが、夫々接続されている。即ち、ルータ90−1a、90−1b、90−2a〜90−2dはグラフ構造を形成する。なお、グラフ構造のうちの閉道を持たない構造が木構造に分類される。
APU110aは、ルータ90−1aに接続され、APU110bは、ルータ90−1bに接続されている。APU110a、110bの内部の構成は、第1の実施形態と同じであるので、説明を省略する。但し、APU110aとAPU110bとの違反メモリアクセスの検出対象とするメモリ領域が互いに重複しないように(即ち排他的に)、夫々のメモリ領域が予め静的に定められているものとする。例えば、APU11aは0x0〜0x7fffffff番地のメモリ領域aを、APU110bは0x80000000〜0xffffffff番地のメモリ領域bを違反メモリアクセスの検出対象とし、少なくとも一部をアクセス禁止領域として設定される。また、APU110a、APU110bにマッピングされるアドレスも静的に定められているものとする。
図20は、第5の実施形態のプロセッサ120の構成図である。プロセッサ120a〜120hは接続先のルータを除いて夫々同じ構成を備えている。
プロセッサ120は、プロセッサコア121、パケット生成器122、および出力ポート123を備えている。出力ポート123は、ルータ90−2に接続されている。プロセッサコア121は、メインメモリ60にアクセスする際には、メモリアクセス要求の通常パケットを発行し、APU110aまたはAPU110bの条件設定を行う際には、禁止条件または許可条件を記述した設定パケットを発行する。パケット生成器122は、メモリアクセス要求を受信すると、当該メモリアクセス要求にアクセス元IDを付与するなどして通常パケットを生成する。また、パケット生成器122は、設定パケットを受信すると、APU設定要求にアクセス元IDを付与するなどして第2の設定パケットを生成する。なお、第5の実施形態においては、図3に示した設定パケットを第1の設定パケットということとする。
プロセッサ120は、プロセッサコア121、パケット生成器122、および出力ポート123を備えている。出力ポート123は、ルータ90−2に接続されている。プロセッサコア121は、メインメモリ60にアクセスする際には、メモリアクセス要求の通常パケットを発行し、APU110aまたはAPU110bの条件設定を行う際には、禁止条件または許可条件を記述した設定パケットを発行する。パケット生成器122は、メモリアクセス要求を受信すると、当該メモリアクセス要求にアクセス元IDを付与するなどして通常パケットを生成する。また、パケット生成器122は、設定パケットを受信すると、APU設定要求にアクセス元IDを付与するなどして第2の設定パケットを生成する。なお、第5の実施形態においては、図3に示した設定パケットを第1の設定パケットということとする。
図21は、第2の設定パケットを示す図である。第2の設定パケットは、APU設定フラグと、禁止条件、アクセス種類およびアクセス元IDが記述されている。禁止条件は、アクセス禁止領域の開始アドレスおよび終了アドレスである。APU設定フラグは、APUに対する条件設定を行うパケットであることを示すフラグである。
ルータ90−2は、APUが夫々接続されているルータ90−1a,90−1bの両方をパケットの転送先とすることができる。また、APU110a,110bは、違反メモリアクセスの検出対象とするメモリ領域が互いに異なる。そこで、ルータ90−2は、受信したパケットに記載されているアクセス先アドレスまたはアクセス禁止領域がどちらのメモリ領域であるかに基づいて、パケットの転送先を切り替える。
図22は、ルータ90−2の構成図である。ルータ90−2は、入力ポート91,92、出力ポート93,94、パケット復号器95およびパケット変換器96を備えている。入力ポート91,92は異なるプロセッサ120に、出力ポート93はルータ90−1aに、出力ポート94はルータ90−1bに、夫々接続されている。
パケット復号器95は、入力されたパケットのうち、第2の設定パケットをパケット変換器96に転送する。また、パケット復号器95は、入力されたパケットのうち通常パケットを、記載されているアクセス先アドレスに基づいて出力ポート93または94に転送する。
パケット変換器96は、第2の設定パケットから変換した第1の設定パケットを出力ポート93または94に転送する。パケット変換器96は、記載されているアクセス禁止領域がメモリ領域aとメモリ領域bのどちらに含まれているかにより決める。なお、第2の設定パケットは、設定項目として、アクセス禁止領域の開始アドレスおよび終了アドレスとアクセス種類とを含んでいる。したがって、1つの第2の設定パケットの変換により3つの第1の設定パケットが生成される。
図23は、ルータ90−2の動作を説明する図である。
パケットがルータ90−2に入力されると、パケット復号器95は、当該パケットにAPU設定フラグの有無を確認して、APU宛ての第2の設定パケットであるか否かを判定する(S51)。
パケットがルータ90−2に入力されると、パケット復号器95は、当該パケットにAPU設定フラグの有無を確認して、APU宛ての第2の設定パケットであるか否かを判定する(S51)。
入力されたパケットがAPU宛ての第2の設定パケットであった場合(S51、Yes)、パケット変換器96は、第2の設定パケットに記述されているアクセス禁止領域がメモリ領域aとメモリ領域bとを跨いでいるか否かを判定する(S52)。アクセス禁止領域がメモリ領域aとメモリ領域bとを跨いでいる場合(S52、Yes)、パケット変換器96は、第2の設定パケットを変換して、メモリ領域aにアクセス禁止領域を設定するパケットとメモリ領域bにアクセス禁止領域を設定するパケットとの2つの第1の設定パケットを生成する(S53)。具体的には、パケット変換器96は、アクセス禁止領域をメモリ領域aに含まれている領域とメモリ領域bに含まれている領域とに分割して、分割したアクセス禁止領域を夫々新たなアクセス禁止領域とする第1の設定パケットを生成する。その後、パケット変換器96は、メモリ領域aにアクセス禁止領域を設定する第1の設定パケットを一方のルータ90−1aに、メモリ領域bにアクセス禁止領域を設定する第1の設定パケットを他方のルータ90−1bに転送し(S54)、動作を終了する。
また、第2の設定パケットに記述されているアクセス禁止領域がメモリ領域aとメモリ領域bとを跨いでいない場合(S52、No)、パケット変換器96は、アクセス禁止領域がメモリ領域aに含まれているか否かをさらに判定する(S55)。アクセス禁止領域がメモリ領域aに含まれている場合(S55、Yes)、パケット変換器96は、第2の設定パケットを変換して第1の設定パケットを生成し(S56)、第1の設定パケットをルータ90−1aに転送し(S57)、動作を終了する。アクセス禁止領域がメモリ領域aに含まれていない場合(S55、No)、パケット変換器96は、第2の設定パケットを変換して第1の設定パケットを生成し(S58)、第1の設定パケットをルータ90−1bに転送し(S59)、動作を終了する。
一方、ルータ90−2に入力されたパケットがAPU宛てではなかった場合(S51、No)、即ちパケットが通常パケットであった場合、パケット復号器95は、通常パケットに記述されているアクセス先アドレスがメモリ領域aに含まれているか否かをさらに判定する(S60)。アクセス先アドレスがメモリ領域aに含まれている場合(S60、Yes)、パケット復号器95は、通常パケットをルータ90−1aに転送し(S61)、動作を終了する。アクセス先アドレスがメモリ領域aに含まれていない場合(S60、No)、パケット復号器95は、通常パケットをルータ90−1bに転送し(S62)、動作を終了する。
図22のルータ90−2の構成は、APUが接続されているルータ90−1の両方に直接、パケットを転送可能なルータを示している。
なお、ルータ90−1に直接接続されたルータ90−2が別のルータ90−2からパケットを送信される場合、当該別のルータ90−2にパケット復号器95およびパケット変換器96を搭載するようにしてもよい。すなわち、プロセッサとルータ90−1間に経由するルータ90−2のいずれかにパケット復号器95およびパケット変換器96が搭載されていればよい。また、ルータ90−1にパケット復号器95およびパケット変換器96を搭載し、ルータ90−2に、メモリ領域aおよびメモリ領域bのうちのどちらをアクセス先またはメモリ禁止領域の設定対象としているかに基づいて転送先を決定する機能を搭載するようにしてもよい。
なお、ルータ90−1に直接接続されたルータ90−2が別のルータ90−2からパケットを送信される場合、当該別のルータ90−2にパケット復号器95およびパケット変換器96を搭載するようにしてもよい。すなわち、プロセッサとルータ90−1間に経由するルータ90−2のいずれかにパケット復号器95およびパケット変換器96が搭載されていればよい。また、ルータ90−1にパケット復号器95およびパケット変換器96を搭載し、ルータ90−2に、メモリ領域aおよびメモリ領域bのうちのどちらをアクセス先またはメモリ禁止領域の設定対象としているかに基づいて転送先を決定する機能を搭載するようにしてもよい。
本発明の第5の実施形態によれば、APUが接続されている複数のルータ90−1に転送可能なルータ90−2は、通常パケットが指定するアクセス先アドレスがどのAPUが違反メモリアクセスの検出対象のメモリ領域に属するかに基づいて、前記通常パケットを経由させるルータをルータ90eおよびルータ90fのうちから1つ選択する、ようにしたので、共有キャッシュメモリ40に直接接続されているルータ90−1が複数存在する場合であっても当該ルータ90−1にAPUを配設することで不正なメモリアクセスを検出することができるので、少ないAPUで不正なメモリアクセスを検出することができる。
また、ルータ90−2は、第2の設定パケットに記述されている許可条件または禁止条件が指定する領域がどのAPUが違反メモリアクセスの検出対象のメモリ領域に属するかに基づいて、第1の設定パケットの転送先のルータを選択する、ようにしたので、APUが接続されたルータが複数存在する場合でも設定パケットを設定対象のAPUに転送することができる。
また、ルータ90−2は、アクセス先アドレスを指定する記述を含まない第2の設定パケットを禁止条件または許可条件の登録先がマッピングされているアクセス先アドレスを付加した第1の設定パケットに変換するパケット変換器96を備える、ようにしたので、プロセッサ120は、APU110がマッピングされているアドレスを知らなくてもAPU110に禁止条件または許可条件を設定することができる。
このように、第1〜第5の実施形態によれば、グラフ構造を形成するルータ群のうち、メインメモリ60に最も近いルータ(共有キャッシュメモリ40に接続されているルータ)にAPUを接続し、当該ルータを通過するメモリアクセスをAPUが検査するようにしたので、少ないAPUで不正なメモリアクセスを検出することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1〜3 NoC、10a〜10d、11、120a〜120h プロセッサ、12、121 プロセッサコア、13 キャッシュメモリ、14、72、81、122 パケット生成器、20a〜20c、90−1a、90−1b、90−2a〜90−2d、100 ルータ、21、22、31、32、91、92 入力ポート、15、23、24、25、82、93、94、123 出力ポート、26、33、71、95 パケット復号器、34 違反検出器、35 エントリ登録器、36 設定情報記憶部、40 共有キャッシュメモリ、50 バス、60 メインメモリ、96 パケット変換器、341 判定器、342 表示器。
Claims (5)
- 共有メモリと、
前記共有メモリへのメモリアクセス要求を行う複数のプロセッサと、
前記共有メモリに接続されている第1ルータと、前記第1ルータと前記複数のプロセッサとの間の転送経路を形成する第2ルータとを備え、前記複数のプロセッサからのメモリアクセス要求を前記共有メモリに転送するルータ群と、
前記第1ルータに接続され、前記第1ルータに入力されたメモリアクセス要求のパケットを検査して違反メモリアクセスを検出するアドレス保護装置と、
を備える情報処理装置。 - 前記アドレス保護装置は、メモリアクセスの許可条件または禁止条件が1以上登録される設定情報を記憶する設定情報記憶部を備え、前記メモリアクセス要求が前記許可条件または禁止条件に該当するか否かに基づいて違反メモリアクセスを検出する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記プロセッサは、通常のメモリアクセス要求を行う第1のパケット、または、メモリアクセス違反を検出するための禁止条件または許可条件の設定を行う第2のパケットを生成する、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記ルータ群は、前記第1ルータを複数備え、
前記夫々の第1ルータは、違反メモリアクセスの検出対象とするメモリ領域が互いに排他的に設定された異なるアドレス保護装置が接続され、 前記第2ルータは、
入力されたパケットのアクセス先アドレスが前記アドレス保護装置の設定されたメモリ領域に属するかに基づいて、次の転送先ルータを選択する、
ことを特徴とする請求項3に記載の情報処理装置。 - 前記複数のプロセッサは、夫々、前記共有メモリへのメモリアクセス要求を生成するプロセッサコアと、キャッシュメモリと、前記プロセッサコアのメモリアクセス要求が前記キャッシュメモリにヒットした場合に、擬似メモリアクセス要求のパケットを生成して送信するパケット生成器と、を備え、
前記第1ルータは、前記擬似メモリアクセス要求のパケットが入力されたとき、前記入力された擬似メモリアクセスパケットを前記アドレス保護装置に転送する、
ことを特徴とする請求項1に記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012060809A JP2013196167A (ja) | 2012-03-16 | 2012-03-16 | 情報処理装置 |
US13/611,295 US9042391B2 (en) | 2012-03-16 | 2012-09-12 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012060809A JP2013196167A (ja) | 2012-03-16 | 2012-03-16 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013196167A true JP2013196167A (ja) | 2013-09-30 |
Family
ID=49157588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012060809A Pending JP2013196167A (ja) | 2012-03-16 | 2012-03-16 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9042391B2 (ja) |
JP (1) | JP2013196167A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017068334A (ja) * | 2015-09-28 | 2017-04-06 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9466091B2 (en) * | 2013-09-26 | 2016-10-11 | Imagination Technologies Limited | Atomic memory update unit and methods |
US11257271B2 (en) | 2013-09-26 | 2022-02-22 | Imagination Technologies Limited | Atomic memory update unit and methods |
US9876738B2 (en) * | 2014-10-10 | 2018-01-23 | Dell Products L.P. | System and method for extending ports |
WO2016080563A1 (ko) * | 2014-11-18 | 2016-05-26 | 주식회사 아라기술 | Lte 네트워크에서의 과금에 투명한 콘텐츠 전송 방법, 시스템 및 컴퓨터 프로그램 |
US10095622B2 (en) * | 2015-12-29 | 2018-10-09 | Intel Corporation | System, method, and apparatuses for remote monitoring |
US11163682B2 (en) | 2015-12-29 | 2021-11-02 | Intel Corporation | Systems, methods, and apparatuses for distributed consistency memory |
US10547680B2 (en) * | 2015-12-29 | 2020-01-28 | Intel Corporation | Systems, methods, and apparatuses for range protection |
CN108701003B (zh) | 2016-03-31 | 2022-04-26 | 英特尔公司 | 用于对远程节点的许多存储操作的原子写入的结构弹性支持 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0713945A (ja) * | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
US5513337A (en) * | 1994-05-25 | 1996-04-30 | Intel Corporation | System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type |
US6374286B1 (en) * | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6275891B1 (en) * | 1999-02-25 | 2001-08-14 | Lsi Logic Corporation | Modular and scalable system for signal and multimedia processing |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US7039058B2 (en) * | 2000-09-21 | 2006-05-02 | Avici Systems, Inc. | Switched interconnection network with increased bandwidth and port count |
US7007151B1 (en) * | 2000-10-04 | 2006-02-28 | Nortel Networks Limited | System, device, and method for controlling access to a memory |
US7516322B1 (en) * | 2000-12-07 | 2009-04-07 | Cisco Technology, Inc. | Copy protection built into a network infrastructure |
US6826713B1 (en) * | 2001-01-02 | 2004-11-30 | Juniper Networks, Inc. | Diagnostic access to processors in a complex electrical system |
US6748499B2 (en) * | 2001-11-15 | 2004-06-08 | International Business Machines Corporation | Sharing memory tables between host channel adapters |
JP4560409B2 (ja) | 2002-10-08 | 2010-10-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを交換する集積回路および方法 |
ATE421823T1 (de) * | 2004-08-12 | 2009-02-15 | Koninkl Philips Electronics Nv | Integrierte schaltung und verfahren zur paketvermittlungssteuerung |
FR2883117B1 (fr) | 2005-03-08 | 2007-04-27 | Commissariat Energie Atomique | Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone. |
KR100675850B1 (ko) | 2005-10-12 | 2007-02-02 | 삼성전자주식회사 | AXI 프로토콜을 적용한 NoC 시스템 |
KR100687659B1 (ko) | 2005-12-22 | 2007-02-27 | 삼성전자주식회사 | Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법 |
US8325618B2 (en) | 2006-07-05 | 2012-12-04 | Synopsys, Inc. | Electronic device, system on chip and method for monitoring a data flow |
KR100922965B1 (ko) * | 2006-10-10 | 2009-10-22 | 삼성전자주식회사 | 네트워크온칩 장치와 이를 위한 동작 주파수 제어 방법 |
EP2009554A1 (en) * | 2007-06-25 | 2008-12-31 | Stmicroelectronics SA | Method for transferring data from a source target to a destination target, and corresponding network interface |
US20090109996A1 (en) | 2007-10-29 | 2009-04-30 | Hoover Russell D | Network on Chip |
US8526422B2 (en) * | 2007-11-27 | 2013-09-03 | International Business Machines Corporation | Network on chip with partitions |
US8217953B2 (en) * | 2008-04-25 | 2012-07-10 | International Business Machines Corporation | Anisotropic texture filtering with texture data prefetching |
US8108908B2 (en) * | 2008-10-22 | 2012-01-31 | International Business Machines Corporation | Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor |
JP4838377B2 (ja) * | 2009-12-14 | 2011-12-14 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム及び無線基地局 |
US8954755B2 (en) * | 2012-01-23 | 2015-02-10 | International Business Machines Corporation | Memory address translation-based data encryption with integrated encryption engine |
-
2012
- 2012-03-16 JP JP2012060809A patent/JP2013196167A/ja active Pending
- 2012-09-12 US US13/611,295 patent/US9042391B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017068334A (ja) * | 2015-09-28 | 2017-04-06 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20130243003A1 (en) | 2013-09-19 |
US9042391B2 (en) | 2015-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013196167A (ja) | 情報処理装置 | |
US10027776B2 (en) | Distributed queue pair state on a host channel adapter | |
US6430190B1 (en) | Method and apparatus for message routing, including a content addressable memory | |
US20200136971A1 (en) | Hash-table lookup with controlled latency | |
US10929060B2 (en) | Data access request specifying enable vector | |
US8397025B2 (en) | Apparatus and method for determining a cache line in an N-way set associative cache using hash functions | |
US8402248B2 (en) | Explicitly regioned memory organization in a network element | |
US8122125B2 (en) | Deep packet inspection (DPI) using a DPI core | |
US20180048562A1 (en) | Network Processor Inter-Device Packet Source ID Tagging for Domain Security | |
CN104750580B (zh) | 用于多核处理器的具有内部和外部访问的后备处理器单元 | |
JP2013535720A (ja) | ポート共有ハードウェアを介した記憶装置への帯域外アクセス | |
US10853271B2 (en) | System architecture with query based address translation for access validation | |
US20160179720A1 (en) | Device table in system memory | |
US9515929B2 (en) | Traffic data pre-filtering | |
US9817594B2 (en) | System and method for broadcasting data to multiple hardware forwarding engines | |
US10289384B2 (en) | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements | |
US20150261679A1 (en) | Host bridge with cache hints | |
WO2024006144A1 (en) | Security subsystem for execution verification | |
US20170118113A1 (en) | System and method for processing data packets by caching instructions | |
US7340570B2 (en) | Engine for comparing a key with rules having high and low values defining a range | |
US8559430B2 (en) | Network connection device, switching circuit device, and method for learning address | |
CN106302259B (zh) | 片上网络中处理报文的方法和路由器 | |
US10013385B2 (en) | Programmable validation of transaction requests | |
US20220197729A1 (en) | Advanced queue monitoring system | |
Haynie et al. | IBM system z10 open systems adapter ethernet data router |