JP6053692B2 - データ転送装置、データ転送方法およびチップ間通信システム - Google Patents

データ転送装置、データ転送方法およびチップ間通信システム Download PDF

Info

Publication number
JP6053692B2
JP6053692B2 JP2013549987A JP2013549987A JP6053692B2 JP 6053692 B2 JP6053692 B2 JP 6053692B2 JP 2013549987 A JP2013549987 A JP 2013549987A JP 2013549987 A JP2013549987 A JP 2013549987A JP 6053692 B2 JP6053692 B2 JP 6053692B2
Authority
JP
Japan
Prior art keywords
attribute information
combination
packet
data
data transfer
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
JP2013549987A
Other languages
English (en)
Other versions
JPWO2013094010A1 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JPWO2013094010A1 publication Critical patent/JPWO2013094010A1/ja
Application granted granted Critical
Publication of JP6053692B2 publication Critical patent/JP6053692B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、集積回路内におけるデータ転送および集積回路間のデータ転送の高速化技術に関する。
近年、集積回路のデータ処理量が増加している。そこで、集積回路内の各ブロック間や集積回路間のデータ転送をより効率良く行わせる技術が求められている。一方で、データ転送機能自体を高機能化するために、転送する対象となるアドレスやデータ以外にも様々な属性情報が付加されて転送が行われるようになってきている。
転送効率を向上させるために、特許文献1では、バスで転送されるデータを数ビット単位で圧縮することが開示されており、特許文献2では、アドレスを圧縮する方法が開示されている。特許文献3はアドレスを含むヘッダーを単純に圧縮する方法が開示されている。
特開2004−246694号公報 特開2008−205942号公報 特開2009−135974号公報
特許文献1〜3の方法では、冗長性を利用して圧縮しているので、転送データや転送アドレスの値のランダム性が高くなると、アドレスやヘッダーをそのまま圧縮しても圧縮効率が良くない。
本発明のデータ転送装置は、データ転送の種類を示す複数の属性情報を含むヘッダー部と、データを含むデータ部とを有するパケットを用いてデータ転送を行うデータ転送装置であって、データ転送の種類を示す属性情報の組合せと識別子とを対応づけて、複数のパケットにおいて出現頻度が高い属性情報の組合せを優先的に予め保持する保持手段と、属性情報を含むパケットを受信する受信手段と、前記受信手段の受信したパケットに含まれている複数の属性情報の組合せが前記保持手段の保持している属性情報の組合せであると、当該属性情報の組合せに対応する識別子を前記複数の属性情報の組合せの代わりにパケットに含めて送信する送信手段と、を有し、
前記属性情報の組合せは、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とする。
本発明によれば、データ転送効率を向上させることができる。
データ転送装置の概略構成を示す図である。 AXIバスプロトコルを示す図である。 OCPバスプロトコルを示す図である。 属性情報テーブルの例を示す図である。 パケット識別子の例を示す図である。 パケット送信処理を説明する図である。 パケット受信処理を説明する図である。 属性情報保持部の値に一致しなかった場合のパケットフォーマットの例 属性情報保持部の値に一致した場合のパケットフォーマットの例を示す図である。 チップ間通信システムの構成を示す概略図である。
(実施形態1)
以下、図面を参照しながら本発明の実施形態1について詳細に説明する。図9は、本発明の実施形態1のデータ転送装置を備えるチップ間通信システムの構成例を示す。CPU901、ROM902、RAM903は第1バス909に接続され、PCI906、USB907、IDE908は第2バス910に接続されている。そして第1バス909と第2バス910はブリッジ904とブリッジ905を介して接続されている。この構成は汎用のコンピュータにおける2チップセットの構成で代表的な構成であり、ブリッジ904を備えるチップとブリッジ905を備えるチップとを備える。
CPU901はROM902のプログラムをRAM903に展開し、RAMからプログラムを読み込んで実行する。第2バスに接続されているPCI906、USB907、IDE908は各種周辺機器(不図示)との接続を制御する制御部である。
ブリッジ904はCPU又はDMAC(不図示)によって第1バス909のプロトコルに従って送信されるデータ転送要求(リードリクエスト、ライトリクエスト等)を、チップ間接続によってブリッジ905へ転送する。なお、ライトリクエストの際はRAM903のデータや不図示のレジスタの値などを包含している。ブリッジ905はブリッジ904から取得したデータを第2バス910のプロトコルに従って、各種周辺回路に転送する。また、データ転送要求は転送対象のデータの転送に用いるデータ伝達方式の種類(バースト長、排他属性、セキュリティ情報、キャッシュ利用の有無)を示す属性情報を含む。例えば、CPU又はDMAC(不図示)からPCI906、USB907、IDE908へのリードアクセスで読み出すデータ(リスポンス時)やライトアクセスで書込むデータをこの属性情報の示すデータ転送の種類で転送する。
ここで、リクエストに対するリスポンス(リードデータ、リクエスト完了通知等)は、リクエストの送り先からリクエスト送信元へ伝達される。その場合はブリッジ905とブリッジ904を通過し、リクエストの場合と逆のプロトコル変換をなされるので説明は省略する。
なお、実施形態1のデータ転送装置を備えるチップ間通信システムの構成は図9の構成に限らず、集積回路から送受するパケットについて広く適用できる。
図1は、データ転送装置(ブリッジ904、ブリッジ905)の構成をより詳細に示す図である。図1に示す第1バス100から第2バス200へデータ転送を行うに際して、データ送信装置101とデータ受信装置201とはパケット転送を行う。まず、図1を用いてデータ転送装置の概略構成を説明する。なお、転送に用いられるパケットは、図8A、8Bに示すように、パケット識別子(0〜4bit)、転送の属性情報(5〜15bit)およびアドレスを含むヘッダー部と転送対象のデータを含むデータ部で構成され、それぞれ所定長の転送単位(キャラクター)に区切られている。
図9のブリッジ904に相当する第1集積回路としてのデータ送信装置101は、第1バス100と第3バス300、301に接続されている。データ送信装置101は内部にリクエスト処理に関わる、第1バスリクエスト受信部1010(第1受信部)、第1バス・第3バスリクエストパケット変換部1011、送信リクエスト属性情報保持部1016(第1保持部)、リクエストパケット送信部1012(第1送信部)を有する。
第1バス100から送られるリクエストは、転送先アドレス(ADDRESS)、ライト転送かリード転送かを示すフラグ、書き込みデータ(WDATA)、ストローブ(WSTRB)及び、このリクエスト又はレスポンス(又はパケット)の転送の種類を示す属性情報を有している。
第1バスリクエスト受信部1010は、リクエストのタイミングを制御する信号に従い、上述のリクエストからアドレス・データ・ストローブ・属性情報を抽出し、リクエストパケット変換部1011に渡す。なお、リクエストのタイミングを制御する信号とは第1バスリクエスト受信部1010が第1バス100から入力される有効信号(Request信号)や有効信号(Valid信号)およびこれらに応じて第1バスリクエスト受信部1010が出力するレディ信号(Ready信号)や受領信号(Accept信号)である。第1バスリクエスト受信部1010はこれらの信号によってリクエスト送信元とハンドシェークを行った上でパケットの受信手続きを行う。
属性情報組合せ保持部1016は、転送リクエストにまつわる属性情報の組合せ又は定数値を保持するレジスタやメモリを有している。リクエストパケット変換部1011は、第1バスのリクエストを第3バスで用いるパケットに変換する。その際に、属性情報組合せ保持部1016にアクセスしてその内容を参照し、属性情報を圧縮できそうであれば圧縮する。詳細は後述する。
リクエストパケット送信部1012は、第3バス300に接続されており、リクエストパケット変換部1011から受け取ったパケットを第3バス300に送出する。
データ送信装置101は、さらにレスポンスパケット受信部1013、レスポンスパケット変換部1014、属性情報組合せ保持部1017、第1バスレスポンス送信部1015を有する。これらの構成により第3バスから受信するパケットを第1バスの形式に変換して出力されるが、データ送信装置101が第1バスから受信したパケットを第3バスの形式に変換する構成と同様であるので詳細な説明は省略する。
図9のブリッジ905に相当する第2集積回路としてのデータ受信装置201は、第2バス200と第3バス300、301に接続される。そして、データ受信装置201はリクエストパケット受信部2010(第2受信部)、リクエストパケット変換部2011、属性情報組合せ保持部2016(第2保持部)、第2バスリクエスト送信部2012(第2送信部)を有する。
リクエストパケット受信部2010は、第3バス300と接続され、データ送信装置101から受信したパケットをリクエストパケット変換部2011に渡す。属性情報組合せ保持部2016は、転送リクエストにまつわる属性情報の組合せ又は定数値を保持するレジスタやメモリを有している。
データ送信装置201が第2バス200へリクエストとして出力するパケットは、転送先アドレス(ADDRESS)、ライト転送かリード転送かを示すフラグ、書き込みデータ(WDATA)、ストローブ(WSTRB)及び、データ転送の種類を示す属性情報を有する。リクエストパケット変換部2011は、第3バスからのパケットを第2バスのリクエストに変換する。その際にリクエストパケット変換部2011は属性情報組合せ保持部2016にアクセスする。
第2バスリクエスト送信部2012は、リクエストパケット変換部2011から受け取ったリクエスト情報をリクエストのタイミングを制御する信号に従い、第2バス200に送出する。なお、リクエストのタイミングを制御する信号とは第2バスリクエスト送信部2012から出力するRequest信号やValid 信号に応じてリクエスト送信先が出力するReady信号やAccept信号である。第2バスリクエスト送信部2012はこれらの信号によってリクエスト送信先とハンドシェークを行った上でリクエストの転送を開始する。
データ受信装置201はさらにレスポンスに関わる、第2バスレスポンス受信部2013、レスポンスパケット変換部2014、属性情報組合せ保持部2017、レスポンスパケット送信部2015を有している。これらの構成により第2バスから受信するパケットを第3バスの形式に変換して出力するが、データ受信装置201が第1バスから受信したパケットを第3バスの形式に変換する構成と同様であるので詳細な説明は省略する。
次に、図1における第1バス100、第2バス200、または図9におけるバス909とバス910に用いる標準的なプロトコルの例としてAXI、OCPプロトコルについて簡単に説明する。これらのバスプロトコルでは、「属性情報」「アドレス」「データ」を所定のフォーマットに従って、並列的に通信することを規定している。
図2は集積回路内で用いられるバスのプロトコルであるAXI(Advanced eXtensible Interface)バスの制御信号および、アドレス/データ/属性情報を示す。
AXIバスプロトコルは、5つのチャネルと呼ばれる転送路を有する。各チャネルは、リードのアドレスを運ぶリードアドレスチャネル、ライトのアドレスを運ぶライトアドレスチャネル、リードの応答・データを運ぶリードデータチャネル、ライトのデータを運ぶライトデータチャネル、ライトのレスポンスを運ぶライト応答チャネルである。それぞれのチャネルは転送のやり取り・タイミングを司るValid,Ready信号によってハンドシェークを行い、一連の転送の手続きを行う。また、それぞれのチャネルには、データ転送の基本情報となるアドレスやデータ以外に、転送の属性情報として、転送タイプを示すxBURST,転送長を示すxLEN、アトミック転送を示すxLOC、キャッシュの制御情報を示すxCACHE、転送のセキュリティ情報を示すxPORT、転送のデータ幅のサイズxSIZE、転送の優先度を示すxQOS、転送領域区間を示すxBURST、ユーザの任意の情報を運ぶxUSER信号が規定されている。
図3は集積回路内で用いられるバスのプロトコルであるOCP(Open Core Protocol)バスの制御信号および、アドレス/データ/属性情報を示す。
OCPバスプロトコルは、4つの転送路を持ち、リクエスト情報とアドレスを運ぶリクエスト転送路、ライトレスポンスやリードデータ・レスポンスを運ぶレスポンス転送路、ライトデータを運ぶデータハンドシェーク転送路、その他の転送路で構成される。それぞれの転送路において、Mcmd/SCmdAccept,SResp/MRespAccept,MdataValid/SDataAcceptの信号の組みでハンドシェークを行い、一連の転送の手続きを行う。それぞれの転送路には、データ転送の基本情報となるアドレスやデータ以外に、転送の属性情報として、転送のタイプを示す、MBurstSeq、転送の長さを示す MBurstLength、転送の正確性を示す MBurstPrecise、アトミック転送を示す MAtomicLength、2次元転送の情報を運ぶ MBlockHight/MBlockStride、セキュリティ情報を運ぶ Msecure などから構成される。
なお、以降の説明では第1バス100と第2バス200はAXIに従った通信を行うものとして説明する。
図4は属性情報組合せ保持部が保持する属性情報テーブルを示す。属性情報テーブルは複数の属性情報の組合せと置換する識別子とを対応付けて保持している。第1バス(AXI)、第2バス(AXI)の属性情報は、排他制御属性(LOCK)、キャッシュの属性(CACHE)、セキュリティ属性(PORT)、データサイズ(SIZE)、リクエストタイプ(BURST)、送信元(ID)等を有する。
排他制御属性(LOCK)は、受信装置側でシステムバスを独占的に使用する手続きを行った上で転送を行うか否かを示す。排他制御属性(LOCK)信号として、バスロックを行う転送を行うかどうかを示す“Lock”ビットと、システム性能の向上を図るための排他転送を行うかどうかを示す“Exclusive”ビットと、について各々1ビットで表現している。
キャッシュ(CACHE)の属性は、受信装置がデータの転送先までの経路において転送内容のバッファリングを許可するか否かを示す。キャッシュ(CACHE)属性には4ビット割り当てられ、キャッシュ可能かどうかを示すビット、バッファリングが可能かどうかを示すビット、キャッシュミスした際にWriteThrough やWriteBack などといったキャッシュシステム自身に指示を出すフィールド(2ビット)がある。
セキュリティ属性は、セキュリティレベルの高いスレーブにデータが受信されるように手続きを行った上で転送を行うか否かを示す。
リクエストタイプ(BURST)は転送のタイプを示し、INCR(連続アドレス転送)/FIXED(アドレス固定)/WRAP(キャッシュミスの際のアドレッシング)の3つを2ビットにエンコードして表現している。
データサイズはデータサイズの示す単位でデータ転送を行うことを示す。例えば、物理的なデータ幅が128ビットだとしても、8bit/16bit/../128bitの様に、どのデータ幅分を転送に使用しているかを示す。
各々の属性情報は直交性があり、使用する値の組合せの出現頻度には偏りがある。
なお通常のデータ転送では「排他属性、キャッシュ属性、セキュリティ属性情報」を保持するフィールドが無効を示す値を保持するパケットの方が、各属性情報が有効を示す値を保持するパケットよりも多いものと考えられる。また、送信元情報や、データサイズ情報は、特定の転送についてデータ転送開始してから断続的に同様の内容が集中することが多い。従って、所定の転送が始まる前に、属性情報組合せ保持部における属性情報テーブルを所定の転送に対応した属性情報テーブルに書き換えることで、様々な属性情報を持つ転送を効率よく転送することも可能となる。
図4のテーブルは属性情報組合せ保持部1016、2017等が保持するテーブルを示す。図4に例示するテーブルは、特定の属性情報をもつ組合せを4組、これらの4組に該当しない場合をデフォルトとして5組の属性値の組合せと、其々の組合せに対応する識別子を保持している。
パケット識別子のType[4](第2識別子),[1:0](第1識別子)は、パケット変換部1011、2011、1014、2014が変換するパケットに付与する識別子を示している。なお、Type[4]はTypeフィールドの4bit目を示し、Type[1:0]はTypeフィールドの0〜1bit目を示している。
パケット識別子のType[4]は、変換部の受信したパケットに含まれる属性情報の組合せが属性情報組合せ保持部1016、2017の保持しているテーブルに格納されている組合せの何れかに一致しているか否かを示す。(この例では“1”で何れかに一致、“0”で何れとも一致せず。)パケット識別子のType[1:0]はどの組合せに一致しているかを示す。テーブルに登録する組合せ数を増やそうとすると、この箇所のビット数を増やす必要がある。なお、テーブルは頻度の多い組合せを登録しているほど圧縮効率が良いが、登録する組合せを増やし過ぎると圧縮効率は下がってしまう。なお、属性情報より小さいビット数の識別子で属性情報を置換することが好ましい。
図5は属性情報組合せ保持部1016、2017のテーブルを用いて変換したパケットに含まれるパケット識別子Type[4:0]を示す。なお、Type[4]とType[1:0]については図4で説明したとおりなので説明を省略する。
ただし、Type[4]が不一致(“0”)を示す場合は、Type[1:0]には便宜上“00”を格納させる。パケット識別子のType[3]は転送がリード転送であるかライト転送であるかを示す(“0”でリード転送、“1”でライト転送)。パケット識別子のType[2]はパケットの転送方向がリクエスト方向であるかレスポンス方向であるかを示す(“0”でリクエスト方向、“1”でレスポンス方向)。
パケットの属性情報の種類はリクエストのパスとレスポンスのパスでそれぞれ異なっていてもよい。
属性情報組合せ保持部2016は、属性情報組合せ保持部1016のテーブルに対応するテーブルを有しており、属性情報組合せ保持部1017は属性情報組合せ保持部2017のテーブルと対応するテーブルを有している。ここで、対応するテーブルとは、上流で属性情報が圧縮されたパケットを属性情報付きのパケットに復号できるテーブルを示す。但し復号する際に必ずしも圧縮前と同一のプロトコルに復号する必要はない。
図5では、Type[1:0]のXXが送信リクエスト属性情報保持部1016と受信リクエスト属性情報保持部2016における属性情報の組合せの番号を示す。同様に、Type[1:0]のYYが送信レスポンス属性情報保持部1017と受信レスポンス属性情報保持部2017における属性情報の組合せを示す。図4に対応しているために其々、2bitで表現しているが、テーブルの保持する組合せの数に応じたビット数であればよい。
次に図1のデータ転送装置101が、図6の処理フローに従って行うデータ転送処理について説明する。なお、事前に出現頻度が高いことが分かっている属性情報の組合せをテーブル化し、属性情報組合せ保持部1016に設定しておくことが好ましいが、学習する機構を設けてもよいし、モードに応じたテーブルを切り替えてもよい。
まず、第1バスを介して送信されるリクエストを第1バスリクエスト受信部1010が受信し(ステップS600)、リクエストパケット変換部1011にて、リクエストの属性情報をチェックする(ステップS601)。
リクエストパケット変換部1011は第1バスからのリクエストに含まれる属性情報と属性情報組合せ保持部1016に存在する属性情報とを比較するために、属性情報組合せ保持部1016に問い合わせを行う(ステップS602)。
リクエストパケット変換部1011は第1バスリクエスト受信部1010から受信したパケットと属性情報保持部1016から取得した属性情報の値を比較し、その比較結果に応じたパケット識別子を、ヘッダーに付加する。なお、属性情報組合せ保持部のテーブルに登録されている属性情報の組合せを有するパケットについてはパケット識別子を付加する代わりに変換するパケットには属性情報を埋め込まない(ステップS604に処理を進める)。
リクエストパケット変換部1011の受信するパケットの属性情報の組合せが属性情報組合せ保持部に存在するテーブルに格納されている属性情報の組合せのいずれとも一致しない場合には所定のパケット識別子(図5によると“00000”又は“01000”)を付加し、パケットに含まれている属性情報を図8Aに示すフォーマットに埋め込んで転送する(ステップS603、およびステップS604)。
リクエストパケット変換部1011で生成されたパケットを、リクエストパケット送信部1012が第3バスに送出する(ステップS605)。
図8Aは、パケット変換部の受信したパケットの属性情報の組合せが属性情報組合せ保持部内のテーブルに登録されている属性情報の組合せに一致しなかった場合にパケット変換部が出力するパケットのフォーマットを示す。一方で、図8Bは、パケット変換部の受信したパケットの属性情報の組合せが属性情報組合せ保持部内のテーブルに登録されている属性情報の組合せに一致した場合にパケット変換部が出力するパケットのフォーマットを示す。
図8Bを参照すると、パケット変換部の受信したパケットの属性情報の組合せが属性情報組合せ保持部内のテーブルに登録されている属性情報の組合せに一致した場合には、第3バスにて転送されるデータの総量が圧縮されることが分かる。例えば、現状のAXIに関しては、プロトコル上16バースト長(AXI3)、256バースト長(AXI4)の転送が可能ではあるが、実際は長い転送長を許容するほど他の転送に影響を与えるおそれが高くなるため、便宜的に4又は8バースト長を最大とすることが多い。そのため、属性情報を圧縮しない場合は、4又は8バースト毎に属性情報が出現することが多く、属性情報の圧縮の必要性が高い。
次に、図1のデータ受信装置201が、図7の処理フローに従って行うデータ転送処理について説明する。なお、事前に頻度の高い属性情報の組合せをテーブル化し、属性情報組合せ保持部2016に設定しておく。
まず、リクエストパケット受信部2010は第3バスを介して送信されるパケットを受信し(ステップS700)、リクエストパケット変換部2011はリクエストパケット受信部2010の受信したパケットの識別子を解析する(ステップS701)。
解析によって、受信したパケットがテーブルに登録されている組合せの属性情報を含むパケットとしてリクエストパケット変換部1011によって変換されたことを示す場合は、属性情報組合せ保持部2016のテーブルに登録されている属性情報の値を参照して、圧縮前の属性情報に対応する第2バスの属性情報を生成する(ステップS702)。
ここで、パケットの識別子がリクエストパケット変換部1011によって属性情報が置換されていることを示していることは、パケットの識別子がリクエストパケット変換部2011に対して属性情報組合せ保持部2016を参照するように示していることに相当する。
一方で、受信したパケットが属性情報保持値に登録されている組合せの属性情報を含まないパケットとしてリクエストパケット変換部1011によって変換されたことを示す場合は、受信したパケットに埋め込まれている属性情報を利用する(ステップS703)。この場合は、リクエストパケット変換部1011は属性情報組合せ保持部2016の属性情報を参照しなくてもよい。
リクエストパケット変換部2011が受信したパケットから第2バスのリクエストを生成(ステップS704)した後に、第2バスリクエスト送信部2012が第2バスへリクエストを発行する(ステップS705)。
以上のように、本実施形態によれば、転送するパケットの属性情報を適宜圧縮してデータ転送を行うことができる。そして、第3バス300、301におけるデータ転送を効率的に実行することができる。
また、上述の実施形態では、第3バスはパケット型の転送形態(パケットの幅でパラレル転送を行う形態: Network On Chipなど)について説明したが、シリアルバスや無線通信などの様々な物理的な転送形態を用いても本発明は適用できる。すなわち、論理層でデータをパケット化するデータ転送について高い効果を発揮し、物理層の形態にはとらわれない。
また、上述の実施形態では、集積回路間(チップ間、モジュール間)におけるデータ転送について説明したが、本発明は同一集積回路(同一チップ、同一モジュール)内におけるデータ転送にも適用することもできる。
ただし、チップ間の転送は、チップ内の転送に比べて、データを転送する能力が低く、システムのボトルネックとなる可能性が高い。チップ内の転送では、「属性情報」「アドレス」「データ」についてそれぞれに物理的に信号線が存在し、同時・並列的に転送することができる。一方、チップ間の転送では、製品のコストを下げようとすると共通の信号線を利用してすることになり(チップのIOピンはコスト上昇を招くため)、時系列に転送するので、上述の実施形態による転送効率の向上はチップ内転送に比べて顕著である。
また、上述の実施形態では、属性情報組合せ保持部はデータ転送前に属性情報テーブルを設定できるとしたが、設計開発時(又は製造時)に静的に属性情報を設定してもよい。
さらに、アドレスの上位又は下位について変動しないことが予め分かっている部分があることが予め分かっている場合は属性情報テーブルに上位(又は下位)アドレス情報を含ませて、属性情報と変動のないアドレスの一部分(上位又は下位数ビット分)を一緒に圧縮するように構成してもよい。例えば、ソフトウェアのアドレスマップの特性やバスの規格を考慮すると、あるモジュールにアクセスする場合には常に上位4ビットは固定の”0000”となることが考えられる。その場合は、テーブルに上位アドレス比較値を入れておけば変動のないアドレスビット数分さらにデータ転送効率がよくなる(下位アドレスについても同様)。この場合、変動のないアドレス部分を識別子で置換する場合には、属性情報の組合せが一致することだけを確かめて置換するようにしてもよい。
また、上述の実施形態では属性情報の組合せが保持しているものと一致しない場合は、一致していないことを示す識別子を付加するだけであるが、属性情報の組合せが一致しなくても変動しないアドレス部分を置換するように構成してもよい。その場合には復号側は常に変動しないアドレス部分を付加する構成を必要とする。
また、上述の実施形態では図1における第1バス100、第2バス200、または図9におけるバス909とバス910に用いるプロトコルとしてAXIを挙げて説明したが、本発明はデータ、アドレス、属性情報を組み合わせて転送するプロトコルであれば広く効果を発揮することができる。なお、複数の転送内容を1つの属性情報として複数のビット数で表現している場合でも本発明は適用できる。
なお、属性情報の組合せは、データ転送を行うCPU/DMAなどの送信元の使用形態で組合せ出現率に偏りがある、従って属性情報組合せ保持部は、送信元毎にテーブルを保持するようにしてもよい。また、CPU901が所定のタイミング毎に属性情報の出現頻度の順列に変更があれば、属性情報組合せ保持部のテーブルを更新するようにしてもよい。その際は、出現頻度の高い組合せを優先的に保持させるようにする。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。

Claims (9)

  1. データ転送の種類を示す複数の属性情報を含むヘッダー部と、データを含むデータ部とを有するパケットを用いてデータ転送を行うデータ転送装置であって、
    第1バスで用いるデータ転送の種類を示す属性情報の組合せと識別子と対応付けて、複数のパケットにおいて出現頻度が高い属性情報の組合せを優先的に予め保持する保持手段と、
    属性情報を含むパケットを前記第1バスから受信する受信手段と、
    前記受信手段により受信されるパケットに含まれている複数の属性情報の組合せが前記保持手段の保持している属性情報の組合せであると、当該属性情報の組合せに対応する識別子を前記複数の属性情報の組合せの代わりにパケットに含めて送信する送信手段とを有し、
    前記属性情報の組合せは、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とするデータ転送装置。
  2. 前記送信手段は、第1バスから取得したパケットに含まれる複数の属性情報の組合せが前記保持手段の保持する組合せに一致する場合には、一致した組合せの属性情報を送信せず、一致したことを示す識別子をパケットに含めて送信することを特徴とする請求項1に記載のデータ転送装置。
  3. 前記送信手段は、第1バスから取得したパケットに含まれる複数の属性情報の組合せが前記保持手段に保持されている組合せに一致しない場合には、一致しないことを示すパケット識別子と前記第1バスから受信した属性情報とを前記パケットに含めて送信することを特徴とする請求項1又は2に記載のデータ転送装置。
  4. 転送の種類を示す複数の属性情報を含むヘッダー部と、データを含むデータ部とを有するパケットを用いてデータ転送を行うデータ転送装置であって、
    データ転送の種類を示す属性情報の組合せと識別子とを対応づけて、複数のパケットにおいて出現頻度が高い属性情報の組合せを優先的に予め保持する保持手段と、
    識別子を含むパケットを受信する受信手段と、
    前記受信手段により受信されたパケットの識別子が前記保持手段を参照するように示していると、前記保持手段に保持されている属性情報の組合せの中でパケットに含まれる識別子に対応する組合せの属性情報と前記受信手段の受信したデータとをパケットとして送信する送信手段とを有し、
    前記属性情報の組合せは、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とするデータ転送装置。
  5. 前記送信手段は、前記受信手段の受信したパケットの識別子が前記保持手段を参照しないように示していると、前記受信手段により受信されたパケットに含まれる属性情報を、受信手段の受信したデータに付加して送信することを特徴とする請求項4に記載のデータ転送装置。
  6. 前記保持手段は、前記識別子に対して属性情報の組合せに加えて、変動のないアドレスの一部分を対応付けて保持し、前記送信手段は前記受信手段により受信される複数の属性情報が前記保持手段に保持されている属性情報の組合せであれば、前記属性情報の組合せに対応する識別子と、前記複数の属性情報および前記受信手段により受信されたアドレスの一部分の代わりとして、残りのアドレスと前記データと前記識別子とを組み合わせたパケットを送信することを特徴とする請求項1乃至3のいずれか1項に記載のデータ転送装置。
  7. 第1バスに接続される第1集積回路と、第2バスに接続される第2集積回路と、前記第1集積回路と第2集積回路を接続する第3バスとを有するチップ間通信システムであって、
    前記第1集積回路は、前記第1バスを介して属性情報とデータとアドレスとを含むデータ転送要求を受信する第1受信手段と、受信した属性情報の組合せが第1集積回路に予め保持されている属性情報の組合せであると、前記属性情報の組合せに対応する識別子を当該属性情報の組合せの代わりに前記アドレスに付加して前記データと一緒にパケットとして前記第3バスを介して前記第2集積回路へ送信する第1送信手段とを備え、
    前記第2集積回路は、前記第3バスを介して前記第1集積回路から転送されるパケットを受信する第2受信手段と、受信したパケットの識別子が前記第2集積回路に保持されている属性情報の組合せを参照することを示していると当該識別子に対応する属性情報の組合せを前記パケットに含まれるデータと組み合わせて前記第2バスへ送信する第2送信手段とを備え、
    前記属性情報の組合せは、複数のパケットにおいて出現頻度が高い属性情報の組合せであり、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とするチップ間通信システム。
  8. 第1バスで用いるデータ転送の種類を示す属性情報の組合せと識別子と対応付けて複数のパケットにおいて出現頻度が高い属性情報の組合せを優先的に予め保持する保持手段を備え、データ転送の種類を示す複数の属性情報を含むヘッダー部とデータを含むデータ部とを有するパケットを用いてデータ転送を行うデータ転送装置によるデータ転送方法であって、
    前記属性情報を含むパケットを前記第1バスから受信する受信工程と、
    前記受信工程で受信したパケットに含まれている複数の属性情報の組合せが前記保持手段により保持されている属性情報の組合せであると、当該属性情報の組合せに対応する識別子を前記複数の属性情報の組合せの代わりにパケットに含めて送信する送信工程とを有し、
    前記属性情報の組合せは、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とするデータ転送方法。
  9. 第1バスで用いるデータ転送の種類を示す属性情報の組合せと識別子と対応付けて複数のパケットにおいて出現頻度が高い属性情報の組合せを優先的に予め保持する保持手段を有し、複数の属性情報を含むヘッダー部と、データを含むデータ部とを有するパケットを用いてデータ転送を行うデータ転送装置によるデータ転送方法であって、
    属性情報を含むパケットを前記第1バスから受信する受信工程と、
    前記受信工程で受信するパケットに含まれている複数の属性情報の組合せが前記保持手段の保持している属性情報の組合せであると、当該属性情報の組合せに対応する識別子を前記複数の属性情報の組合せの代わりにパケットに含めて送信する送信工程とを有し、
    前記属性情報の組合せは、リクエストタイプ、キャッシュ情報、セキュリティ情報、データ幅情報、排他アクセス情報の少なくとも2つの組合せであることを特徴とするデータ転送方法。
JP2013549987A 2011-12-20 2011-12-20 データ転送装置、データ転送方法およびチップ間通信システム Active JP6053692B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079499 WO2013094010A1 (ja) 2011-12-20 2011-12-20 データ転送装置、データ転送方法およびチップ間通信システム

Publications (2)

Publication Number Publication Date
JPWO2013094010A1 JPWO2013094010A1 (ja) 2015-04-27
JP6053692B2 true JP6053692B2 (ja) 2016-12-27

Family

ID=48610090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549987A Active JP6053692B2 (ja) 2011-12-20 2011-12-20 データ転送装置、データ転送方法およびチップ間通信システム

Country Status (3)

Country Link
US (1) US9112736B2 (ja)
JP (1) JP6053692B2 (ja)
WO (1) WO2013094010A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811618B1 (en) * 2013-03-07 2017-11-07 Xilinx, Inc. Simulation of system designs
CN107783927B (zh) * 2016-08-30 2020-11-20 安凯(广州)微电子技术有限公司 用于连接axi接口和dma接口的电路转换系统及方法
JP6819684B2 (ja) * 2016-08-31 2021-01-27 株式会社ソシオネクスト バス制御回路、半導体集積回路、回路基板、情報処理装置およびバス制御方法
CN116893991B (zh) * 2023-09-11 2024-01-02 芯动微电子科技(珠海)有限公司 一种axi协议下的存储模块转换接口及其转换方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3132293B2 (ja) * 1993-06-22 2001-02-05 セイコーエプソン株式会社 データ圧縮方法、データ復元方法及び情報処理装置
JP3449338B2 (ja) * 1993-06-22 2003-09-22 セイコーエプソン株式会社 データ圧縮方法、データ復元方法及び情報処理装置
EP1051000B1 (en) * 1999-03-25 2014-05-07 Canon Kabushiki Kaisha Method and device for allocating at least one routing identifier to at least one bridge in a network
JP2001111546A (ja) * 1999-10-08 2001-04-20 Matsushita Electric Ind Co Ltd スクランブル及びデスクランブル装置及び方法
US6882637B1 (en) 1999-10-14 2005-04-19 Nokia Networks Oy Method and system for transmitting and receiving packets
EP1394999A1 (en) * 2002-08-07 2004-03-03 Infineon Technologies AG Method for routing of data packets and routing apparatus
WO2004017106A1 (ja) 2002-08-13 2004-02-26 Zeon Corporation レンズアレイシート
JP2004246694A (ja) 2003-02-14 2004-09-02 Fujitsu Ltd データ転送方法
US7400627B2 (en) * 2003-06-05 2008-07-15 Brooktree Broadband Holding, Inc. ATM header compression using hash tables
FR2857538B1 (fr) * 2003-07-08 2006-10-06 At & T Corp Systeme et methode de compression d'en-tete de paquets bases sur la creation dynamique d'un gabarit
JP4633369B2 (ja) 2004-02-03 2011-02-16 オリンパス株式会社 拡散板及びこの拡散板を備える光学装置
WO2008072667A1 (ja) * 2006-12-13 2008-06-19 Nec Corporation 電気通信網、ネットワーク・ノード装置及びルーティング方法
JP5006668B2 (ja) 2007-02-21 2012-08-22 ルネサスエレクトロニクス株式会社 ネットワークプロセッサ、ネットワークプロセッサを搭載したネットワーク装置、及びフレーム転送方法
US8867341B2 (en) * 2007-11-09 2014-10-21 International Business Machines Corporation Traffic management of client traffic at ingress location of a data center
JP4814863B2 (ja) * 2007-11-26 2011-11-16 日本放送協会 パケット送信装置及びパケット送信プログラム
JP4678058B2 (ja) 2009-01-14 2011-04-27 ソニー株式会社 光制御部材、発光装置および表示装置
US20110149848A1 (en) * 2009-08-17 2011-06-23 Qualcomm Incorporated Header compression for relay nodes
KR20120046461A (ko) * 2010-11-02 2012-05-10 삼성전자주식회사 인터페이스 장치 및 이를 포함하는 시스템

Also Published As

Publication number Publication date
US20130156050A1 (en) 2013-06-20
WO2013094010A1 (ja) 2013-06-27
JPWO2013094010A1 (ja) 2015-04-27
US9112736B2 (en) 2015-08-18

Similar Documents

Publication Publication Date Title
CN101169771B (zh) 一种axi内部总线的外部接口装置及其数据传输方法
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
US7159137B2 (en) Synchronized communication between multi-processor clusters of multi-cluster computer systems
JP4928732B2 (ja) データ転送システム及び電子機器
CN101208678B (zh) 用于rs-232转i2c转换集成电路与主机间通信的软件层
US20200110726A1 (en) Multiple transaction data flow control unit for high-speed interconnect
US8392645B2 (en) Switch system, sub-switch and method of controlling switch system
CN106502932B (zh) 基于分层结构的片间互联接口及其写操作和读操作的方法
CN109634900B (zh) 一种基于axi协议的多层次低延迟互连结构
JP6053692B2 (ja) データ転送装置、データ転送方法およびチップ間通信システム
EP2791810A1 (en) System and method of sending data via a plurality of data lines on a bus
CN103605632A (zh) 一种axi总线与ahb总线的通信方法与装置
KR101559089B1 (ko) 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜
US7386626B2 (en) Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
CN117056249B (zh) 一种mdio到ahb的转换方法、系统、设备及介质
US7774526B2 (en) Method for deterministic timed transfer of data with memory using a serial interface
KR20160147373A (ko) 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법
US11636061B2 (en) On-demand packetization for a chip-to-chip interface
EP4123468A1 (en) Network on a chip socket protocol
US20140086247A1 (en) Network on a chip socket protocol
US20030065869A1 (en) PCI/LVDS half bridge
JP5906078B2 (ja) データ転送装置及びデータ転送方法
CN104518998B (zh) 一种两个芯片之间进行数据交换的方法
CN116795763B (zh) 基于axi协议的数据分组传输的方法、片上系统和芯片
JP2013130952A (ja) データ転送装置及びデータ転送方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160510

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: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R151 Written notification of patent or utility model registration

Ref document number: 6053692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151