JP5194014B2 - データワードストリーム処理装置 - Google Patents

データワードストリーム処理装置 Download PDF

Info

Publication number
JP5194014B2
JP5194014B2 JP2009527128A JP2009527128A JP5194014B2 JP 5194014 B2 JP5194014 B2 JP 5194014B2 JP 2009527128 A JP2009527128 A JP 2009527128A JP 2009527128 A JP2009527128 A JP 2009527128A JP 5194014 B2 JP5194014 B2 JP 5194014B2
Authority
JP
Japan
Prior art keywords
data
packet
request
multiplexer
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009527128A
Other languages
English (en)
Other versions
JP2010503095A (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2010503095A publication Critical patent/JP2010503095A/ja
Application granted granted Critical
Publication of JP5194014B2 publication Critical patent/JP5194014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/4031Coupling between buses using bus bridges with arbitration
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本提案は、高速インタフェース処理の分野に関し、特に映画及び放送スタジオ環境におけるビデオ制作のためのものである。
埋め込みシステムなどにおける最新のプロセッサシステムは、特に10ギガバイト近傍のスループットレートによりリアルタイム条件の下でデータを処理することはできず、また見越したものでない。従って、10Gbpsのデータスループットのリアルタイム条件の下でPCI Express(PCIe)、Infiniband又は10G−Ethernet(登録商標)などのインタフェースを使用する際、特別なデータパスが高スループットレートデータを処理する必要がある。しかしながら、接続管理又は時間の重要性の低い制御メッサージ処理などのタスクは、プロセッサによってより良好に管理可能である。
リアルタイムデータ伝送及びバス管理のためのデータパケット及び/又は他の制御メッセージがPCIeバス上で混ざり合うという問題がある。リアルタイムデータ伝送のための終了が生成される必要があるとき、その他のメッセージは十分速くインタフェースを通過しないという問題が発生する可能性がある。
上記問題を解決するため、本発明は、高帯域幅インタフェースアーキテクチャのための制御パスアクセスとデータパスアクセスとに分離するあるタイプのマルチプレクサアーキテクチャを提案する。
接続管理のため、PCIeコアなどの高帯域幅インタフェースコアにアクセスするためのパケット指向制御方式が、インテリジェントマルチプレクサ/FIFO制御アーキテクチャによって、パケット指向データ処理方式と分離される。このマルチプレクサは、プライオリティ方式と、例えば、切り替え中のPCIe配列パケット長(aligned packet length)とをサポートする。
本発明の効果は、高帯域幅インタフェースベースのアーキテクチャにおいてデータパスと制御パスとを区別することによって、プロセッサのパフォーマンスを確保することである。
本発明は、最大データスループットを提供する。
本発明の各実施例が図面に示され、以下の説明においてより詳細に説明される。
図1は、フィルムスキャナからストレージサーバへのデータの伝送のためのInfinibandバスシステムの利用を示す。 図2は、本発明を実現するプラットフォームを示す。 図3は、本発明によるマルチプレクサのブロック図を含むPCIeインタフェースを備えたデータ処理システムの基本アーキテクチャを示す。 図4は、詳細なアーキテクチャをブロック図形式で示す。 図5は、PLBバスとインタフェースをとるためのアーキテクチャ内の特殊設計されたメモリインタフェースブロックを示す。 図6は、本発明によるマルチプレクサ/デマルチプレクサの詳細なブロック図を示す。 図7は、PCI Express IPコアを駆動するのに使用されるルートポートコントローラモジュールの詳細なブロック図を示す。 図8は、PCIeバス上の信号のタイミング図である。
図1は、Infinibandネットワークを介し業務用ストレージサーバ300に接続される業務用フィルムスキャナ200を示す。
Infinibandネットワーク接続について、PCI Expressベースのハードウェア手段はすでに販売されている。PCI Expressベースハードウェアの利用は、Infinibandの代わりに10ギガビットイーサネット(登録商標)の将来的な利用について未定である。
図2は、フィルムスキャナの一部であるデジタルイメージプロセッサ80を示す。FPGA100は、フィルムスキャナ200とInfinibandHCAカード90との間のインタフェースである。
フィルムスキャナ200はデータソースであり、ストレージサーバ300はデータシンクである。フィルムスキャナは、いわゆる、48ビットのカラー色深度により4096×3112ピクセルの解像度によりセルロイドフィルムをサンプリングする4kフィルムスキャナである。これは、デジタル映画撮影技術の標準的な解像度に対応している。フィルムスキャナは、毎秒7.5ピクチャのレートにより動作する。これは、4.6Gbit/sのデータレートをもたらす。
図3は、プロセッサ+オペレーティングシステム(OS)+RAM10と、リクエストエンコーダ20と、制御FIFO(Ctrl−FIFO)30と、コンプリーションマルチプレクサ(completion multiplexer(Cmpltn−MUX))40と、データFIFO(Data−FIFO)50と、PCI−Expressコア60とを有するシステムを示す。PCI Expressは、各種ハードウェアとソフトウェアコンポーネントが市場において利用可能な既知のバス規格である。このバス規格は、以下においてPCIeと省略される。すべてのコンポーネントは、メモリアクセスを介しPCIeバスにアクセスすることに関して、プロセッサ10のOSについて透過である。低データレートの制御パスは(a)により示され、高データレートのパスは(b)により示され、リアルタイムデータパスは(RT−data)により示される。
プロセッサ10のOSのメモリアクセスは、リクエストエンコーダ20によりリクエストパケットに符号化され、Ctrl−FIFO30に格納される。ここで、Ctrl−FIFO30からリクエストパケットをフェッチし、それらをPCIe向けのメモリアクセスに復号化するPCIeコア60に分配するのは、Cmpltn−MUX40の責任である。ヘッダとデータは、Cmpltn−MUX40において別々に処理されてもよい。同時に、所望のアドレスエリアを介しCmpltn−MUX40の有限状態マシーン(FSM)ユニットにわたされる512バイトのデータリクエストがPCIeバス上にある可能性がある。これらのデータリクエストは、データFIFO50からの複数の128バイトのコンプリーションによってアクノリッジされる。従って、長さ、アドレス及び一意的なタグID(リクエストとこれに係るコンプリーションとを特定する)に関する情報を少なくとも含むコンプリーションヘッダが生成される。PCIe仕様に規定されるリクエスト/コンプリーション長レシオは複数ある。例えば、512バイトのリクエストは、4×128バイトのコンプリーションにより応答可能である。この具体例が、図3に示される。PCIeコア60は、マルチプレクサ40により512バイトのデータリクエストを実行する。応答では、マルチプレクサ40は、データFIFO50から4個の128バイトブロックをフェッチする。PCIeコンプリーションヘッダが、各128バイトブロックに追加される。必要に応じて、すなわち、任意的に、フッタがまた追加可能である。この新しいパケットは、各ケースにおいてPCIeコアに伝送される。
本発明の要点は、Cmpltn−MUX40の動作である。すなわち、
1.FSM41が、データFIFOと制御FIFOのFIFO閾値を処理する。
2.FSM41は、制御FIFOのFIFO閾値とデータFIFOのFIFO閾値に関する処理優先度を有する。そのルールは、制御FIFO上でFIFO閾値が検出された場合、データFIFO50から現在伝送可能な128バイトパケットの最終バイトを待機する。その後、制御FIFO30から優先度に従ってパケットを転送する。
3.FSM41はまた、リードイネーブル信号rd_enaを介し制御FIFOとデータFIFOから読み出しを行う。
4.FSM41はまた、ネゴシエートされたPCIeデータコンプリーション長によるサイズのデータユニットをデータFIFO50から読み込む。このため、FSM41の内部にデータカウンタが実装される。
5.FSM41はさらに、sel_b信号を介しパス(a)とパス(b)との間の切替を行うようヘッダ・データマルチプレクサ43を駆動する前に、コンプリートリクエストパケットと128バイトのデータユニットを処理する。
6.Cmpltnヘッダ生成手段42は、PCIeに従うコンプリーションヘッダ及びフッタ構造をすべての128バイトデータユニットに追加する。
Xilinx Virtex−4アーキテクチャに基づくハードウェア設計のアーキテクチャを示す図4において、本発明のさらなる詳細な実施例が示される。一部のモジュールの周辺のグレイの陰影によって、異なるクロックドメインがハードウェア設計に設けられる範囲が示される。アーキテクチャ全体は、2つのエリアに分割することができる。パワーPC10とPCI Express IPコア60との間の上側エリアは、リアルタイムデータストリームがマージされる必要があるPLB−to−PCI Expressブリッジである。アーキテクチャの下側エリアは、ブリッジにデジタルイメージプロセッサ80を付属させるためのものであり、レジスタファイル71を介しパワーPC10とデータイメージプロセッサ80との間の通信とインタラプトを可能にする。PLBは、高速メモリとパワーPCとの間の高速かつハイパフォーマンスのバス伝送を可能にするよう設計されたプロセッサローカルバス(Processor Local Bus)と呼ばれるIBMにより開発されたバスプロトコルである。
Virtex−4アーキテクチャでは、IBMからのパワーPC405はハードウェアブロックとして含まれる。それは、PLBバスを介しFPGAファブリックに接続される。また、Linuxオペレーティングシステムに対するワーキングメモリとして機能するDDR−RAMブロック11がPLBに接続される。
モジュールPLB2RC20は、送信FIFOメモリ30と受信FIFOメモリ31を利用して、PLBに対するリード/ライトコマンドを変換するPLBマスタ/スレーブモジュールである。このため、FIFOメモリ以外に追加的な制御ラインを設計する必要がないように、シンプルな専用プロトコルが利用される。さらに、FIFOメモリ30,31は、2つの異なるクロックドメインの間の正しいデータ伝送を保証する。異なるモジュールの間の全二重データフローを可能にするため、2つのFIFOメモリが設けられる。
ルートコンプレックスデータマルチプレクサ43からのメインタスクは、デジタルイメージプロセッサ80からのリアルタイムデータを、ブリッジを介しわたされ、PLB又はPCI Express IPコアにより発信されたデータストリームに挿入することである。
PCI Express IPコア60は、4つのレーンとバーチャルチャネルとを有するルートポートとして構成される。それは、2つの独立したデータポートを有し、1つは送信方向で、もう1つは受信方向のものである、コアを駆動するため、一方でトランザクションレイヤパケットTLPを復号化し、他方においてルートコンプレックスデータマルチプレクサ43とやりとりするタスクを有するルートポートコントローラ44が必要とされる。
デジタルイメージプロセッサ80は、DPX(Digital Moving−Picture Exchange)ファイルフォーマットによりスキャンされたピクチャを即座に格納するフレームバッファを有する。当該バッファのデータへのアクセスは、シンプルなハンドシェイキングバスプロトコルにより制御される128ビットの幅を有するデータバスを介し行われる。フレームバッファからルートコンプレックスデータマルチプレクサ43にデータをルーティングするため、2つのモジュールが必要とされる。一方は、バッファとして機能し、2つのクロックドメインの間のデータ同期のためのDPX FIFOメモリ50であり、他方は、フレームバッファからFIFOメモリ50へのデータフローを制御するDIPコントローラ51である。データイメージプロセッサ80はさらに、レジスタファイル71に対する制御パスとデータパスとを有する。当該レジスタファイル71は、例えば、ピクチャサイズと解像度に関する情報などを有し、DCR_RF_Slaveユニット70を介しパワーPC DCRバスに接続される。DCRバスはまた、IBM製品である。
以下において、図4に示されるモジュールのいくつかがより詳細に説明される。図5は、PLB2RCモジュール20のブロック図を示す。このモジュールは、Infinibandカード90が自らDDR−RAM11へのエントリを実行可能であるため、スレーブ機能に加えてPLBマスタ機能を有する必要がある。このため、当該設計では、2つの有限状態マシーンが想定されている。1つはスレーブ有限状態マシーン21であり、他方はマスタ有限状態マシーン22である。両者は、リクエスト/アクノリッジのやりとりによって、PLBバスインタフェース23と通信する。エンディアンコーデックが必要とされる。パワーPC10はビッグエンディアンフォーマットによりデータを処理し、インタフェースの全体設計とPCIeコア60は、リトルエンディアンフォーマットを利用する。エンディアンフォーマットの変換は、ビッグ/リトルエンディアンコンバータ24aにおいて実行される。
[スレーブ方式]
3つの異なるタイプのPCIeアクセスタイプが分離される必要がある。このため、PLBスレーブ方式は、PLBバスインタフェース23に知られている3つの異なるメモリエリアを利用する。PLBバスからのリクエストがある場合、インタフェース23は、3つのメモリエリアの1つにリクエストを割当て、3ビットベクトルBus2IP_ArCSによりそれが何れのタイプであるか示す。スレーブFSM21は、信号を評価し、このタイプの対応するエントリをPLB2PCIeヘッダに行う。
1つのデータワードによりライトリクエストを通知するため、PLBバスインタフェース23は、1に設定することによりBus2IP_WrReq信号を生成する。スレーブFSM21はまた、何れのメモリエリアに関するかと共に、タイプ及びデータ長をヘッダにエントリする。
PLB仕様は、いわゆる、128バイトの最大長を有するバースト伝送を定義している。しかしながら、リクエスト段階中は、その長さはわかっていない。これは、送信sFIFOバッファ26aに書き込まれると、受信したデータワードをカウントするカウンタデータDWords Up/Downカウンタ24の実装を導く。データワードの取得は、IP2Bus_WrAck信号を“1”に設定することにより行われる。その後、カウンタ値はバースト伝送のヘッダに入力される。
4:1マルチプレクサ27は、RCデータマルチプレクサ43にパケットを伝送するのに供する。マルチプレクサはまず、アドレスBus2IP_Addrとその後の送信sFIFO26aのコンテンツに続くPLB2PCIeヘッダをバスにスイッチする。
リードアクセスBus2IP_RdReqに対して、リクエストは、PCIeコンプリーションメッセージにより応答するPCIeルートポートコントローラ44に送信される。データパケットは、コンプリーション受信バッファ28aにバッファリングされる。スレーブFSM21は、ArDataマルチプレクサ27bを利用して、データを出力IP2Bus_ArDataにスイッチし、IP2Bus_RdAckによる信号によってトランザクションを終了する。また、PLB2RCモジュール20には、TLP分離ユニット29は設けられる。モジュール29を有する必要性は、後述のマスタモジュールが説明されるときに説明される。
バーストモードによるデータの読み込みについて、データ長に関する問題がある。長さの情報は、PLBバスインタフェース23では利用可能でない。PLBバーストモードでは、データワードは個々には読み取りできず、またPCIeコアにおいてシングルデータワードによりリクエストすることもできない。このため、PLBバースト長は、パワーPCコア10により読み込まれる必要がある。その後、データはPLBバスインタフェース23に転送される。この処理は、IPバスインタフェース23がBus2IP_RdReqラインを再び低ポテンシャルに低下させるまで続けられる。この場合、必ずしも128バイトのすべてがリクエストされていないとき、残りのデータはコンプリーション受信バッファ28aにおいて削除される。
[マスタモード]
マスタモードを実現するため、第2の有限状態マシーン22が必要とされる。リクエスト及びインタラプトを制御するのは、マスタFSM22の判断による。他方のリクエストバッファ28bがパケットを受信した場合、対応して必要とされるアドレスIPBus_Addr及びIP2IP_Addrと、バイトイネーブル信号IP2Bus_MstBEと、伝送サイズ信号IP2Bus_MstNumが書き込まれる。IP2Bus_MstRd/WrReqラインの設定によって、バス伝送リクエストがバスインタフェース23に送信される。PLBアービタがマスタ書き込みアクセスのためのバスへのアクセスを提供した直後に、当該データはローカルアドレスIP2IP_Addrから読み込まれ、アドレスIP2Bus_Addrに書き込まれる。スレーブ側では、IP2Bus_ArData出力がArDataマルチプレクサ27bにより他方のリクエストバッファ28bに切り替えられるという違いはあるが、リードリクエストはスレーブモードと同じ条件の下でスタートされる。トランザクションのエンドは、Bus2IP_MstRdAckラインを設定することによって、マスタFSM22により通知される。マスタリードリクエストは、同様にして作用する。PLBバスインタフェース23は、アドレスIP2Bus_Addrからデータを読み込み、ローカルアドレスIP2IP_Addrに書き込む。タイプ符号化とは別に、マスタリードアクセスはスレーブモードに従う。リクエストは、この場合にはPCIeルートポートにより開始されており、コンプリーションタイプがまた入力される必要がある。
受信FIFOメモリ31から受信したすべてのコンプリーションパケットをフィルタリングし、それらをコンプリーション受信バッファ28aに書き込むことは、TLP分離ユニット29のタスクである。残りのパケットタイプのすべて(メモリリード/ライト、メッセージ)は、他方のリクエスト受信バッファ28bに記憶される。このタイプのパケットソーティングは、デッドロックを回避するよう実現されている。
図6は、RCデータマルチプレクサ43のブロック図を示す。ブロックは2つのロジックを有し、1つは送信パスのため、もう1つは受信パスのためのものである。送信パスでは、受信したすべてのパケットは復号化され、アドレスと共にヘッダがルートポートコントローラ44にパラレルにわたされる。図面において、対応する伝送ライン(header_infos_tx)、(memIOaddress_tx)及び(header_infos_tx_valid)が特定される。ヘッダ有効信号のラインは、送信FIFO30のすべてのデータワードがさらなるFIFO RPC FIFO TX445aに伝送された後、アクティブ状態に設定される。信号TLP_enc_busy=0は、ルートポートコントローラ44がアイドル状態にあり、新たなデータの受信を待機していることを示す。しばらくしもデータが受信されない場合、当該状態は変更される。その後、送信FSM431は、ルートポートコントローラ44にデータを伝送しない待機状態に変更される。
データフローがPLBバスインタフェース23の方向にある点を除いて、同様のRXパスが存在する。header_infos_rx_valid信号を設定すると、RX FSMモジュール432は、ヘッダ、アドレス及びデータを次々にRX FIFOバッファ31に伝送する。2つのデータカウンタ433aと433bは、FIFOバッファ31に伝送メモリが複数のパケットを有し、パケットエンドポイントを決定するためエンプティ信号に依拠できない可能性が理論的にあるため、適切な大きさのデータワードが転送されることを保証する。ルートコンプレックスデータマルチプレクサ43の主要な目的は、フィルムスキャナデータストリームがわたされるDPX FIFOメモリ50を追加することである。PLB2RCモジュール20からのデータがTXパスに又はスキャナからわたされるか否かの判定は、トランザクションタイプ・アドレスデコーダ435により行われる。このTTADブロック435は、以下の各条件が充足される場合、ルートポートコントローラ44によりわたされるリクエストをチェックする。
1.header_infos_rx:パケットは、メモリリードタイプからのものである可能性が高い。
2.memIOaddress_rx:リードアドレスは、規定された領域のみからのものであるべきである。
この判定を行うための問題は、Infinibandカードがピクチャデータを予想するアドレス領域である。通常、このアドレス領域はDDR−RAM11の内部のソフトウェアにより割り当てられる。しかしながら、スキャナからのピクチャデータは、DDR−RAM11には行かない。このため、アドレス領域は、全体としてDPX FIFOメモリ50に割り当てられ、ルートコンプレックスデータマルチプレクサ43は、メモリ領域の境界を知っている必要がある。アドレス領域の境界は、アプリケーションプログラムによりレジスタにプログラムされる。PCIeコア60と通信するため、ルートポートコントローラ44が必要とされる。このブロック図は図7に示される。PCIeコア60は、2つの異なるポートを有し、1つは送信パスTXのため、もう1つは受信パスRXのためのものである。両方のポートは、記述子(128ビットTLPヘッダ)とデータフェーズにより駆動される。シングルフェーズを制御するため、4つの有限状態マシーン441a,441b、441c、441dが設けられる。いくつかの待機サイクルを含むデータ伝送処理を示すタイミング図が、図8に示される。
トランザクションレイヤパケットを伝送するため、ヘッダ信号が、tx_req0信号によってコア60に印加される必要がある。コアは、tx_ack0信号によってデータの引き継ぎをアクノリッジする。ヘッダデータは、ラインtx_desc0を介して伝送される。データワードをPCIeコア60に伝送するため、tx_dfr0ラインとtx_req0ラインが、同一クロックサイクルにおいてアクティブレベルに設定される。データが有効となるときを示すデータ有効信号tx_dv0が存在する。tx_dfr0信号は、データ送信のエンドを示すため、非アクティブレベルに設定を戻される必要がある。PCI Expressコア60がビジーである場合、ラインtx_ws0上の信号によって、ビジー状態を通知する。これは、しばらくデータ伝送を一時停止する。図8に示されるようなタイミング図はまた、反対方向の信号フローを説明する。
TLPエンコーダ442は、TLPヘッダを符号化するものであり、TLPデコーダ443は、TLPヘッダを復号化するタスクを有する。両方のブロックは、ルートコンプレックスデータマルチプレクサ43からのheader_infos及びmemIOaddress信号により必要な情報をやりとりする。RPC FIFO TXメモリ445aは、転送されるべきすべてのデータワードを含む。ライティングポートは、パケットからのすべてのデータワードがFIFOメモリ445aに書き込まれた後、header_infos_tx_valid信号を1に設定するルートコンプレックスデータマルチプレクサ43により駆動される。当該書き込みが終了すると、TLP_enc_busy信号が設定され、適切な大きさのデータワードが、データDWordカウンタ446によりルートポートコア60に書き込まれる。
PCI Expressの仕様によると、そのうちの1つがリクエストされたデータの一部しか返さない複数のコンプリーションパケットによって、規定されたサイズのリードリクエストに応答することが可能とされる。例えば、128バイトのメモリリードリクエストは、それぞれが64データバイトを含む2つのコンプリーションパケットにより応答可能である。また、両方のコンプリーションパケットがデータストリームにおいて次々には続いていないことが可能とされる。すなわち、それらの間にいくつかの中間パケットが存在してもよい。この場合、要求元が適切なコンプリーションを正しいメモリ領域に割り当てることが問題となる。このため、メモリリードTLPリクエストパケットから取得され、コンプリーションヘッダに挿入されるタグIDが利用される。また、ヘッダは、以下の意味を有するさらなる2つのフィールドを有する。
Lowaddress:このフィールドは、第1コンプリーションパケットにのみ設定される必要がある。そのアドレスは、5つの最下位アドレスビットと、バイトイネーブル値から求められる2ビットとの組み合わせから得られる。残りのコンプリーションパケットについて、MSBが0と1との間で切り替えられる点を除いて、すべてのビットが0に設定される。
Bytecount:この値は、リードリクエストを終了させるため、残りバイトが必要とされるか示す。複数のコンプリーションにおける分離は、LowaddressとBytecountの各値を計算するTLPエンコーダ442により実行される。計算について、それは、アドレス・長さバッファ444にバッファリングされるアドレス、長さ及びバイトイネーブル値を必要とする。複数のリードリクエストが同時にレスポンスを待機し、これらすべてがそれらのタグIDにより区別可能であるため、タグIDはアドレス・長さバッファ444をアドレッシングするため直接取得される。
DIPコントローラモジュール51は、データイメージプロセッサ80からDPX FIFOメモリ50へのピクチャデータフローを規定する。DPX FIFOメモリ50は、128ビットのブロードライティングポートからデータを取得する。DIPコントローラ51からの第2のタスクは、フィルムスキャナデータの伝送開始をパワーPCコア10に示すインタラプトの生成である。パワーPCコア10上で実行されるインタラプトサービスルーチンは、Infiniband通信を準備するプログラムをスタートする。
開示された実施例による範囲に相当する特定の特徴が上述された。これらの特徴は読者に本発明がとりうる特定の形態の要約を提供するためだけに与えられたものであり、これらの特徴は本発明の範囲を限定するものでないことが理解されるべきである。実際、本発明は、上述されていない各種特徴を含むかもしれない。

Claims (8)

  1. 1つの入力においてデータソースから受信し、第1FIFOメモリにバッファリングされるデータワードのストリームを処理する装置であって、定義されたフォーマットのデータパケットにおいて前記データワードを出力するインタフェースと、前記インタフェースを制御し又は前記インタフェースを介し外部装置を制御するためのリクエストパケットを生成するプロセッサとを有し、前記リクエストパケットは第2FIFOメモリにバッファリングされ、前記データパケットとリクエストパケットは同一のデータラインを介し前記インタフェースに伝送される装置であって、
    前記インタフェースへのデータ送信のための所定のデータパケット長が順守されるように、優先度方式に従ってデータパケットとリクエストパケットとを混合するマルチプレクサユニットを有する装置。
  2. 前記第1FIFOメモリは、収集したデータワードの個数が前記所定のデータパケット長に対応する閾値に達した場合、第1パケット指示信号を前記マルチプレクサユニットに提供するよう構成される、請求項1記載の装置。
  3. 前記第2FIFOメモリは、収集したデータワードの個数が所定のリクエストパケット長に対応する閾値に達した場合、第2パケット指示信号を前記マルチプレクサユニットに提供するよう構成される、請求項1又は2記載の装置。
  4. 前記インタフェースは、PCI Expressインタフェースであり、
    前記マルチプレクサユニットは、前記インタフェースに送信されるデータパケットのPCI Expressコンプリーションヘッダを生成するコンプリーションヘッダ生成手段を有する、請求項1乃至3何れか一項記載の装置。
  5. 前記マルチプレクサユニットには、PCI Expressコンプリーションヘッダ生成手段と、データパケット・リクエストパケットマルチプレクサとが備えられる、請求項4記載の装置。
  6. 前記マルチプレクサユニットには、ルールに従って動作するよう構成される有限状態マシーンが備えられ、
    前記ルールでは、前記第2指示信号が検出された場合、前記マルチプレクサが前記第2FIFOメモリからのリクエストパケットを伝送開始する前に、前記第1FIFOメモリのパケットからの最後のデータワードが前記マルチプレクサにおいて処理されたという指示を前記状態マシーンが待機する、請求項1乃至5何れか一項記載の装置。
  7. 前記マルチプレクサユニットは、リクエストパケットレスポンスからデータパケットを送信するリクエストを分離し、一方で対応するコンプリーションパケットと、他方で前記プロセッサに対するリクエストパケットレスポンスとを構成するため、前記データパケットを送信するリクエストを有限状態マシーンに送信する分離ユニットを有する、請求項4乃至6何れか一項記載の装置。
  8. 前記分離ユニットは、2つの対応して構成されるアドレス・伝送タイプデコーダを有する、請求項7記載の装置。
JP2009527128A 2006-09-06 2007-09-04 データワードストリーム処理装置 Expired - Fee Related JP5194014B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06120168.7 2006-09-06
EP06120168 2006-09-06
PCT/EP2007/059245 WO2008028910A1 (en) 2006-09-06 2007-09-04 Device for processing a stream of data words

Publications (2)

Publication Number Publication Date
JP2010503095A JP2010503095A (ja) 2010-01-28
JP5194014B2 true JP5194014B2 (ja) 2013-05-08

Family

ID=38626196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009527128A Expired - Fee Related JP5194014B2 (ja) 2006-09-06 2007-09-04 データワードストリーム処理装置

Country Status (6)

Country Link
US (1) US8200877B2 (ja)
EP (1) EP2059877B1 (ja)
JP (1) JP5194014B2 (ja)
KR (1) KR101289011B1 (ja)
DE (1) DE602007008582D1 (ja)
WO (1) WO2008028910A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101283482B1 (ko) * 2009-12-11 2013-07-12 한국전자통신연구원 Pci 익스프레스 프로토콜 처리 장치
US8943255B2 (en) 2012-05-29 2015-01-27 Lsi Corporation Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices
CN103869883B (zh) * 2012-12-17 2018-05-04 深圳中电长城信息安全系统有限公司 一种扩展主板及扩展系统
CA2962123C (en) * 2014-10-03 2022-12-13 Ezuniverse Inc. Data management system
US10084488B1 (en) * 2015-06-30 2018-09-25 Mosys, Inc. Chip-to-chip port coherency without overhead
US10216669B2 (en) * 2016-02-23 2019-02-26 Honeywell International Inc. Bus bridge for translating requests between a module bus and an axi bus
US11573800B2 (en) * 2018-07-05 2023-02-07 Marvell Asia Pte, Ltd. Complex I/O value prediction for multiple values with physical or virtual addresses
CN111666242B (zh) * 2020-06-09 2022-04-01 湖南泽天智航电子技术有限公司 一种基于飞腾平台lpc总线的多路通信系统
CN113726753B (zh) * 2021-08-20 2023-07-14 浪潮电子信息产业股份有限公司 一种PCIe IP核数据传输方法、装置、设备及介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01171345A (ja) * 1987-12-26 1989-07-06 Nec Corp 分散処理型パケット交換機
JP4181645B2 (ja) * 1996-02-29 2008-11-19 富士通株式会社 データ処理装置
JP3799726B2 (ja) * 1997-04-01 2006-07-19 ソニー株式会社 信号処理回路
US6243781B1 (en) 1998-12-03 2001-06-05 Intel Corporation Avoiding deadlock by storing non-posted transactions in an auxiliary buffer when performing posted and non-posted bus transactions from an outbound pipe
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7487273B2 (en) * 2003-09-18 2009-02-03 Genesis Microchip Inc. Data packet based stream transport scheduler wherein transport data link does not include a clock line
US7631118B2 (en) * 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
US7668165B2 (en) * 2004-03-31 2010-02-23 Intel Corporation Hardware-based multi-threading for packet processing
US7620057B1 (en) * 2004-10-19 2009-11-17 Broadcom Corporation Cache line replacement with zero latency
US7917680B2 (en) * 2004-11-18 2011-03-29 Nxp B.V. Performance based packet ordering in a PCI express bus
EP1694023A1 (en) * 2005-02-18 2006-08-23 Deutsche Thomson-Brandt Gmbh Method for performing data transport over a serial bus using internet protocol and apparatus for use in the method
US7424565B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method and apparatus for providing efficient output buffering and bus speed matching
US7636835B1 (en) * 2006-04-14 2009-12-22 Tilera Corporation Coupling data in a parallel processing environment
US20080072113A1 (en) * 2006-08-30 2008-03-20 Siukwin Tsang Method of locating packet for resend from retry buffer

Also Published As

Publication number Publication date
US8200877B2 (en) 2012-06-12
EP2059877B1 (en) 2010-08-18
EP2059877A1 (en) 2009-05-20
KR101289011B1 (ko) 2013-07-23
DE602007008582D1 (de) 2010-09-30
JP2010503095A (ja) 2010-01-28
KR20090048491A (ko) 2009-05-13
WO2008028910A1 (en) 2008-03-13
US20100005205A1 (en) 2010-01-07

Similar Documents

Publication Publication Date Title
JP5194014B2 (ja) データワードストリーム処理装置
JP2575596B2 (ja) バス・ブリッジを介してデータを通信する方法およびデータ処理システム
US7613864B2 (en) Device sharing
US7574536B2 (en) Routing direct memory access requests using doorbell addresses
US7565463B2 (en) Scalable routing and addressing
US7293129B2 (en) Flexible routing and addressing
US7478178B2 (en) Virtualization for device sharing
US7281030B1 (en) Method of reading a remote memory
US6947442B1 (en) Data transfer control device and electronic equipment
US7620741B2 (en) Proxy-based device sharing
US7787490B2 (en) Method and apparatus for multiplexing multiple protocol handlers on a shared memory bus
US7945721B1 (en) Flexible control and/or status register configuration
KR101219910B1 (ko) 통합형 다중 전송 매체 커넥터 아키텍쳐 구현 디바이스, 방법 및 시스템
US5655112A (en) Method and apparatus for enabling data paths on a remote bus
US7752376B1 (en) Flexible configuration space
CA2432390A1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
WO2020143237A1 (zh) 一种dma控制器和异构加速系统
CA2432386A1 (en) Method and apparatus for transferring interrupts from a peripheral device to a host computer system
US6810445B1 (en) Data transfer control device and electronic equipment
CN113498595A (zh) 一种基于PCIe的数据传输方法及装置
JP2005062940A (ja) 入出力制御装置
CN115221098A (zh) 多核处理器核间通信方法、装置、电子设备和介质
Chen PCI express-based ethernet switch
JP2009223918A (ja) 入出力制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120418

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees