JP2013510357A - データ転送デバイス - Google Patents

データ転送デバイス Download PDF

Info

Publication number
JP2013510357A
JP2013510357A JP2012537416A JP2012537416A JP2013510357A JP 2013510357 A JP2013510357 A JP 2013510357A JP 2012537416 A JP2012537416 A JP 2012537416A JP 2012537416 A JP2012537416 A JP 2012537416A JP 2013510357 A JP2013510357 A JP 2013510357A
Authority
JP
Japan
Prior art keywords
data
transfer device
data transfer
instruction
baseband
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
Application number
JP2012537416A
Other languages
English (en)
Other versions
JP2013510357A5 (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.)
Interuniversitair Microelektronica Centrum vzw IMEC
Original Assignee
Interuniversitair Microelektronica Centrum vzw IMEC
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 Interuniversitair Microelektronica Centrum vzw IMEC filed Critical Interuniversitair Microelektronica Centrum vzw IMEC
Publication of JP2013510357A publication Critical patent/JP2013510357A/ja
Publication of JP2013510357A5 publication Critical patent/JP2013510357A5/ja
Pending legal-status Critical Current

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
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

本発明は、プラットフォーム上のデータを転送するための、特に、プラットフォームの異なるコンポーネント間で同時にデータを転送するためのデータ転送デバイス(10)に関する。少なくとも一つがインプットポート(13、14、15)であり少なくとも一つがアウトプットポート(16、17、18)である少なくとも三つのポート間でデータを同時に転送するように調整されたデータ転送デバイスが、示される。データ転送デバイス(10)は、インプットポート(13、14、15)とアウトプットポート(16、17、18)との間でデータを転送する命令を実行する少なくとも二つのコントローラ(20、21)を含む。コントローラ(20、21)は、コントローラ(20、21)間で同期するための同期命令、及び/又はインプットポート(13、14、15)とアウトプットポート(16、17、18)を同期させるための同期命令を受信するよう調整されている。

Description

本発明は、ページラットフォーム上でデータを転送する、特に、プラットフォームの異なるコンポーネント間で同時データを転送する、データトランスファデバイスに関する。
種々の無線スタンダードが継続して成長し、IC設計と送受信器の統合に関するコストが増加していることから、再構成可能無線通信プラットフォーム上に無線スタンダードを実装することが、近い将来唯一の実行可能なオプションとなる。
認知再構成可能無線通信(CRR)のコンセプトでは、種々の通信モードがサポートされる必要がある。要求されるフレキシビリティ及び高パフォーマンスにより、異種マイクロプロセッサプラットフォームに導かれる。プラットフォームは、アプリケーションが稼働し得るフレームワークを意味する。CRRは、それ故必要なパフォーマンス及びフレキシビリティを提供する実効的方法である。認知無線通信は、広く定義すると、その転送を自立的に変更し、それが操作する環境との相互作用及びその環境の習得に基づいて、パラメータを受信できる、無線通信である。よりスペクトル中心の定義は、同じスペクトルリソースを利用する他の無線システムと共存する無線通信を示す。当該無線通信は他の無線システムと大きく干渉することは無い。
別のタイプの認知無線通信はソフトウエア無線(SDR)システムであり、以前はハードウエア内に実装されていたコンポーネントが、代わりに、例えば、埋め込みコンピュータデバイスなどのコンピュータシステム上にソフトウエアを用いて実装されている無線通信システムである。基本的なSDRシステムは、サウンドカードを備えたコンピュータデバイス、若しくは、あるフォームのRFフロントエンドから始まる別のアナログデジタルコンバータを、含み得る。信号処理のかなりの量が、特定用途のハードウエア内ではなく、コンピュータデバイスの汎用プロセッサにハンドオーバされる。このようなデザインは、用いられるソフトウエアにのみ依拠する異なる無線通信プロトコルを受信し転送し得る無線通信を生成する。
CRR若しくはSDRの範囲内の無線スタンダードは、LTEエボリューション、WLANエボリューション、及び放送スタンダードである。目標は、詳細な検出能力を伴う4×4MIMOオペレーションのサポートを加えた1Gbps及び100Mbpsのサポートを含む、4G連続性要件をサポートすることである。3GPP LTEスタンダードは、非常に可塑性あるスタンダードであり、プラットフォームを寸法取りすることは、プラットフォームによりサポートされるモードサブセットに大いに依存する。一方でベースバンドエンジンとフロントエンドインターフェースとの間の、及び、他方でベースバンドエンジンと外側モデムブロックとの間の、何れも受信及び転送時の、相互接続帯域幅、更には、ベースバンドエンジン及び外側モデムブロックに対する計算要件は、想定される通信モードに大いに依存する。内側及び外側モデム処理の計算要件に対する、(一方でデジタルフロントエンドインターフェースとベースバンドエンジンとの間の、及び、他方でベースバンドエンジンと外側モデムブロックとの間の)要求される相互接続帯域幅に関するプラットフォームのための機能要件は、選択した通信モードに依存する。
通常、例えば、WO2007/132016(特許文献1)に記載されるように、例えば、AHB(アドバンストハイパフォーマンスバス)、AHB−Lite(シングルバスマスタにみが用いられるデザインで利用することが意図された完全なAHB記述のサブセット)、又はAXI(アドバンストエクステンシブルインターフェース)のような、バスインフラストラクチャが、相互接続として用いられる。ゲートカウントとプログラミングパラダイムの両方において、AXI及びAHBは、必要とされるものに対して、少し思い。更に、バスアーキテクチャの予測可能性も望ましい。一つのソースから多数の宛先へのブロードキャプチャスティングに対して、このタイプのバスが複雑になり、回避すべきものとすらなる。公知技術の多くの相互接続は、一つ又はそれ以上の以下の問題を有する。
−相互接続帯域幅は、Gbpsスタンダードにとって小さすぎる。
−より多くのインターフェースに対して拡張可能でない。
−ベースバンドプロセッサ間のインタープロセス通信が高価過ぎる。
−中央DMA(ダイレクトメモリアクセス)コントローラが、相互接続トラフィックを疑うであろう。
−(DMAコントローラプログラミングのための)ARM(アドバンストレデューストインストラクションセットコンピュータマシン)の完全なコントロール下でのアドレスのためのデータフロー。
−電力消費
−予測可能性
また、別の周知の技術は、異なる並列化スキームに対して十分な可塑性が無いポイントツーポイント接続である。
WO2008/103850(特許文献2)は、カメラと連結するための複数のインプットポート、インプットポートに連結する同期ロジックブロック、カメラポートに連結する画像共有ロジックブロック、及び、画像共有ロジックブロックに連結するアウトプットポートを含む、ビデオサーベイランスシステムを、開示する。開示のシステムでは、多数のカメラ間で、画像キャプチャ及び/又はその後のトランスファを同期させることが望まれる。サーベイランスシステムは、全てのインプットポートが同期化されることを確認し、続いて情報を送信する。しかしながら、システムに入ってくるであろうデータは、予測不可能であるから、アウトプットにおけるバッファデータオーバフローを回避するために、このようなシステムは、アウトプットにおいて過度に設計されたメモリスペースを有する必要がある。過度に設計されたメモリスペースがエリアを消費し、よってシステムが低電力となることを回避してしまうので、このことは所望されていない。
WO2007/132016 WO2008/103850
エネルギ及びレイテンシーのためのデバイスに、プラットフォーム上の異なるコンポーネント間での実効的通信を与えることが、本発明の実施形態の目的である。
前記目的は、本発明にかかる方法及びデバイスによって達成される。
本開示は、少なくとも一つがインプットポートであり少なくとも一つがアウトプットポートである少なくとも三つのポート間でデータを同時に転送するように調整されたデータ転送デバイスを提示する。データ転送デバイスは、インプットポートとアウトプットポートとの間でデータを転送する命令を実行する少なくとも二つのコントローラ(IC1、IC2)を含む。コントローラは、インプットポートとアウトプットポートの間で同期するための同期命令を受信するように調整されている。
本発明の実施形態に係るデータ転送デバイスでは、コントローラは、コントローラ間で同期するための同期命令を受信するように調整されている。
一つの実施形態では、夫々のコントローラは、一つのアウトプットに接続する。
本発明の実施形態では、データ転送デバイスが、転送命令を記録するための少なくとも二つのプログラムメモリを含む。データ転送デバイスは、コントローラと同数のプログラムメモリを含んでもよい。
一つの実施形態では、データ転送デバイスは、更に、上記の少なくとも二つのプログラムメモリをプログラミングするためのコントローラインタフェースを含む。
提示されたデバイスは、プラットフォーム上の異なるコンポーネント間の同期化された及び同期化されない通信の実効的なかつ予測可能なデバイスを提供する。デバイスは、低電力及び予測可能なレイテンシーにより、多数のコア間の実効的な通信をサポートする。更に、多数の(送信及び/又は受信の)スタンダードでさえそれらの多数のストリームは、異なるコア間で異なるコード並列化ストラテジを保証すべく与えられる、必要な自由度で、並列に動作可能である。多数の同期若しくは非同期通信ストリームを管理できる、分散型のプログラム可能なストリームコントロールアーキテクチャが提供される。フローコントロールは、ソースとデスティネーション間で、及び、ストリーム間で、実装される。
CRR及びSDRシステムをサポートする再構成可能なプラットフォームソリューションを設計する際に用いられ得る、ということは、本発明の実施形態の利点である。プラットフォームは、多数のスタンダードと、スタンダード間のハンドオーバとの、共存をサポートし得る。ベースバンドレベルでは、プラットフォームのランタイム再構成によりランタイムの間にこれをサポートする可撓性が与えられ、これにより、ランタイムの動作の並列化/モードにおける変更が得られ得る。
本発明の特定の且つ好適な形態が、添付の独立及び従属の請求項内に示されている。従属請求項からの特徴は、適宜、独立請求項の特徴と、及び、他の従属請求項の特徴と組み合わせてもよく、請求項内に明確に示されたものに限定されない。
例示の実施形態は、添付の図面と併せて以下に記載される。図面では同一番号は同一部位を示す。
図1は、本発明の実施形態に係る、クロスバー及び相互接続コントローラを含む転送デバイスを示す。 本発明の実施形態に係る転送デバイスを含むプラットフォームテンプレートを示す。 本発明の実施形態に係る相互接続ブロックの概観を示す。 図3の相互接続ブロックの内部を示す。 図面は、図解のためのみのものであり限定的ではない。図面では、幾つかの要素のサイズは誇張されており、説明のため、スケールに基づいて描かれていない。
請求項中の符号は、請求の範囲を限定するように解釈されるものではない。
本発明は、特定の実施形態に関して所与の図面を参照して、記載されるが、本発明はこれらに限定されない。記載の図面は、図解のためのみのものであり限定的ではない。図面では、幾つかの要素のサイズは誇張されており、説明のため、スケールに基づいて描かれていない。
更に、明細書中及びクレーム中の第1、第2、第3などの用語は、類似の要素間で区別をするために用いられるのであり、必ずしも順番の若しくは時間順の序列を記載するために用いられるものではない。用語は適切な条件下で相互に交換可能であり、本発明の実施形態は、本明細書に記載し例示するものと異なる順序で動作してもよい。
更に、明細書中及びクレーム中の頂部、底部、上、下などの用語は、便宜的に用いられるのであり、必ずしも相対的位置のために用いられるものではない。用語は適切な条件下で相互に交換可能であり、明細書に記載した本発明の実施形態は、本明細書に記載し例示するものと異なる順序で動作してもよい。
請求項で用いる、「含まれる」の用語は、以降に掲げる手段群に限定して解釈されるべきではない。他の要素やステップを排除するものではない。当該用語は、記載の特徴、整数、ステップ、若しくは参照のコンポーネントの存在を記述するものとして解釈される必要があるが、一つ若しくは複数の他の特徴、整数、ステップ若しくはコンポーネント、又はそれらの群の存在又は追加を排除するものではない。よって、「手段A及びBを含むデバイス」という表現の範囲は、コンポーネントA及びBのみから構成されるデバイスに限定されるべきではない。本発明に関しては、デバイスの唯一の関連あるコンポーネントは、A及びBである、ということである。
プラットフォーム上のデータの同時転送のために調整されたデータ転送デバイス10が示される。データ転送デバイス10は、例えば、一方でベースバンドエンジン(例えば、CGA)12とフロントエンドインターフェース(例えば、DFE)11との間、及び、ベースバンドエンジン12と外側モデムブロック(例えば、FEC)12との間などの、プラットフォームの異なるコンポーネント間での相互接続として機能する。特に、データ転送デバイス10は、少なくとも3つのポートを含み、そのうちの少なくとも一つは、例えば、例示の実施形態のポート13、14、15のインプットポートであり、少なくとも一つは、例えば、例示の実施形態のポート16、17、18のアウトプットポートである。データ転送デバイス10は、インプットポート13、14、15とアウトプットポート16、17、18との間でデータを転送する命令を実行するための少なくとも2つのコントローラ20、21を含む。本発明の実施形態に係るデータ転送デバイス10の知能は、プログラム可能相互接続コントローラ20、21内にある。コントローラ20、21は、コントローラ20、21間で同期させる同期命令、及び/又は、インプットポート13、14、15とアウトプットポート16、17、18を同期させる同期命令を受信するように、調整されている。
異なるコンポーネント間の可能なタイプのデータフローは、例えば、以下の通りである(SDRプラットフォームにのみ特有の例示の目的のための例)
−フロントエンドインターフェース間における、コントロールフロー、データフロー無し。
−フロントエンドインターフェースとベースバンドエンジン間における、データフロー、コントロールフロー。
−ベースバンド/内側モデムエンジン間における、データフロー、コントロールフロー。
−ベースバンド/内側モデムエンジンと外側モデムエンジン間における、データフロー、コントロールフロー無し。
−外側モデムエンジン間における、データフロー無し、コントロールフロー無し。
本発明の実施形態に係る提示の転送デバイス10は、プラットフォーム上の異なるコンポーネント間の同期の及び非同期の通信に係る実効的で信頼性の高いデバイスを提供する。転送デバイス10は、レイテンシー及びパワーが低くて信頼性が高い、複数のコア間の実効的通信をサポートする。更に、多数のストリームが要求された自由度で稼働でき、異なるコア間の異なるコード並列化ストラテジを保証するように設定され得る。多数のストリームは、多数のストリームを伝送するものでも、受信するものでも、その両方でもよい。多数の同期又は非同期の通信ストリームを並列で管理できる、配布されプログラム可能なストリームコントロールアークテクチャが、提示される。ソースとデスティネーションとの間に、及び、ストリーム間に、コローコントロールが実装される。配布されるコントロールメカニズムは、データ及びコントロールトラフィックを分断し及び/又はデータトラフィックを分断し相互接続のリユースを回避する可能性にも、言及する。
前世代のプラットフォームと対比して最も大きい変化の一つは、異なるコア間のデータ通信のためのカスタム相互接続の追加である。無線CRR(認知再構成可能無線通信)/SDR(ソフトウエア無線)システムでは、異なるコンポーネント間のデータ及びコントロール通信は、設計時にて周知である。トラフィックを実施するためDMAを用いることは、ARMプロセッサが非常に粒度細かく(シンボル毎若しくは数シンボル毎)それをプログラムすることを要求するだけでなく、バスのトラフィックを二重にする。
図1は、プラットフォームのための提示されたデータ転送デバイス10を示す。プラットフォームは図2に示される。
図2に示す本発明の実施形態に係るプラットフォームは、データ通信/計算と、プラットフォーム上のコントロールとを分離することで、先行技術のプラットフォームとは異なったものとなっている。3つの異なる機能ブロックが、データ平面内で展開され得る。
1.同期/感知11:第1のデジタルブロックが、(ADCのためのゲインを設定する)アナログフロントエンドとインターフェースを採ることに関与し、(WLAN及びLTEのための)粗時間同期を行い、共存若しくはハンドオーバに対するスペクトル感知を行い、スペクトル「ホワイトスペース」の利用を可能にする。
2.ベースバンドプロセッシング12:ベースバンドプロセッサがマルチスレッディングをサポートし得る。
3.デコーディングプロセッサ(FEC)29:異なるタイプのデコーディング、例えば、LDPCでコーディングとターボデコーディングの両方を、実行できるプロセッサ。
これらの異なる機能の各々は、これらのタスクを実効的に実行できるASIP上にマップされ得る。これらのプロセッサの間のデータ通信は、カスタム相互接続ファブリックを用いて、操作され得る。
コントロールプレーンアーキテクチャは、異なる機能を有する。データパス内の異なる処理ユニット間で状態情報及びコントロールデータを交換すること、及び、データパス内で異なる処理コアを構成しバーストをセットアップすること、である。コントロールプロセッサ28は、パケットレベルコントロールについてもっぱら関与し得る。それは、データプレーンをセットアップして完全なパケットを処理でき、ソフトウエアPHY層若しくはMAC層に有用なデータが利用可能であるとき中断され得るに過ぎない。
本発明の実施形態に係るデータ転送デバイス10は、プラットフォーム上の異なるコア間のデータ通信に対するカスタム相互接続である。それは、クロスバー27に接続するFIFO25、26を含む。FIFO25、26により、完全送信若しくは受信チェーンに関するフローコントロールを有することができる。FIFO25、26は適切な実装を備えることができ、例えば、ソフトウエアとして、若しくはハードウエアとして、又はメモリとしても、実装され得る。メモリの場合、相互接続コントローラは、それ自身のプログラムによりDMAとして作用し、データ転送デバイスにおいてソースからデスティネーションまで適切なモーメントにデータを転送する。相互接続コントローラ20、21による分散化コントロールのために、プラットフォームのコントロールプロセッサ28は、相互接続コントローラ20、21をシンボルの完全なバーストのためにプログラムできる。このことにより、データフローがセットアップされ、何らの介入無くバースト自身の間稼働できる。このことは、相互に通信するのに必要なコアのみがそのように(十分な可塑性のみを)できるということを意味する。
本発明の実施形態に係るデータ転送デバイス10の利点は、プラットフォーム上の異なるコア間の分離データ及びコントロールトラフィック、フローコントロール、フレキシビリティ、低電力消費、高スループット及び低レイテンシー相互接続、転送をリプログラムするためのプラットフォームのコントロールプロセッサ28の負荷の縮小を、含む。データ転送デバイス10はコンポーネント間のデータの転送のための専用コントロールとして作用し、この転送のタイミング及び転送されるデータの量が適切であることを保証できるので、低電力消費が獲得され得る。クロスバー27のいずれかのエンドのFIFO接続25、26により、低レイテンシー相互接続が得られ得る。スループットが高いときに転送の時期が選ばれ、転送のレイテンシーが最小化されるような、データ転送デバイスのプログラム可能性により、低レイテンシーがされに得られ得る。図3は、インターフェースを伴うデータ転送デバイス10の高レベルオーバビューを示す。一つのサイド(図の右9では、ベースバンドプロセッサ12に接続し、他のサイド(図の左)では、他の周辺機器、(図3には示していないが図1及び図2に見られる)通常、一つのインスタンス化に対するDFE11若しくはDiff、外側モデムブロック(FlexFEC、レガシービタビエンジン、スクランブラ/デスクランブラエンジン)に接続する。この例に対しては、データ転送デバイス10は、ベースバンド12とインターフェースを採る、パラメータ量のAHBLiteマスターインターフェース30と、他の周辺機器と接続する、パラメータ量のAHBLiteマスターインターフェース31とを、有する。当然ながら、当業者に周知の他のどんなインターフェースも利用可能である。AHBLiteインターフェースの各々の次に、ベースバンドエンジン12からの、若しくはデータ転送デバイス10の周辺機器からの、「レディ」信号32、33が、相互接続コントローラ20、21とベースバンドエンジン12間のハンドシェーキング、若しくは、相互接続コントローラ20、21と周辺機器間のハンドシェーキングのために、利用可能となっている。内側相互接続コントローラ20、21をプログラミングすることを含む、データ転送デバイス10の汎用コントロールのために用いられる、スレーブインターフェース34も設けられる。
図4は、データ転送デバイス10の内部を示す。データ転送デバイス10のインテリジェンスは、プログラム可能相互接続コントローラ20、21内にあり、一方はあらゆるベースバンドに対して接続される。これらの相互接続コントローラ20、21は夫々、コントロールインターフェース34を介してロードされ得るプログラムメモリ40、41を有する。あらゆるマスターインターフェースに対して、それとインターフェースを採ることに関与するブロック(AHBハンドラモジュール)42、43が存在し得る。これらブロック42、43は、利用される特定のプロトコルに固有である。そのようなブロックが特定のプロトコルに必要とされないならば、アドレスはデータバス上に直接配置され得る。ベースバンドサイドでは、あらゆる相互接続コントローラ20は、一つのインターフェースポート30のこのAHBハンドラ42に直接接続する。他のサイドでは、あらゆるAHBハンドラ43はコンバイナブロック44に接続され、該コンバイナブロック44は異なる相互接続コントローラ20.21の信号を組み合わせてAHBハンドラ43と一貫してインターフェースを採る。ベースバンドエンジン12の「レディ」信号32は、それとインターフェースを採る相互接続コントローラ20と接続し、左手サイド(周辺機器)インターフェースの「レディ」信号32は、全ての相互接続コントローラ20、21に接続する。ソースとデスティネーション間の同期の間に、ソースはデータがレディであることを確認せねばならず、デスティネーションはデータを受信するのにスペースが利用可能であることを確認せねばならない。あらゆる相互接続コントローラ20、21は、「レディ」信号45も生成し、該「レディ」信号45は、全ての他の相互接続コントローラ21、20に接続される。他の相互接続コントローラからの、更にはベースバンドエンジンからの及び他の周辺機器からの、「レディ」信号45、32、33は、相互接続コントローラのプログラム内の特別の同期コマンドを介して同期するのに用いられ得る。「レディ」信号45は、相互接続コントローラ20と相互接続コントローラ21との間でハンドシェークを設け、新しいデータが送信される前にデータが行ってしまったこと(若しくは未だ行っていないこと)を示す。図2のデータプレーンの左手サイドにて転送デバイス10内で処理されるデータが、図2のデータプレーンの右手サイドにて転送デバイス10内で処理されるデータに従属するものであるとき、同期信号45が用いられる。両方のデータのピースが独立しているものであるならば、同期信号を用いる必要は無い。更に、汎用コントロールブロック46により、プラットフォームコントローラ28は相互接続コントローラ20、21をコントロールできる。当然ながら、コンバイナブロック44以外の、全てのブロックがクロックを与えられる。コンバイナブロック44は、純粋に組み合わせロジックであり、相互接続コントローラ20、21の両方のサイドのレイテンシービヘイビアが同一であることを保証する。また当然ながら、全ての相互接続コントローラ20、21は、(図4の左手サイドの)ベースバンドエンジン以外の、周辺への全てのahbインターフェース31にアクセスすることが可能である。このことは、一つ以上の相互接続コントローラ20、21は互換性無く(例えば、二度の書き込み、若しくは読み出し及び書き込み)同じahbインターフェース31とアクセスできるということに係わっている。本発明の特定の実施形態では、ハードウエア(例えば、コンバイナブロック44)は、汎用コントロールへ信号伝達されるエラーとして検出する。本発明の特定の実施形態では、競合解消は実装されない。プログラマはこの状況を回避すべきである。
異なるブロック間のインターフェース30、31の詳細を以下、記載する。表1は、AHBハンドラモジュールインターフェースを記載する。
Figure 2013510357
表1:AHBハンドラインターフェース記述
当然ながら、読み出し及び書き込み信号は、相互に排他的である。同じクロックサイクル内での両方のaサーとはエラーを生じる。書き込みトランザクションが要求されれば(即ち、write(書き込み)がアサートされれば)、writedata(書き込みデータ)のみが関連し、produceがアサートされれば、readdata(読み出しデータ)のみが有効である。read(読み出し)若しくはwrite(書き込み)がアサートされれば、アドレスが用いられる。AHBハンドラ42、43がaccept信号をデアサートすれば、データ転送デバイス10上の(もしあれば)読み出し若しくは書き込み要求は、このクロックサイクル内で処理されておらず、accept信号が再びアサートされるまで次のもので上書きされるべきではない。consume信号は、AHBハンドラ42、43がfifoからのデータを除去することを回避するために、デアサートされ得る。そのようにすることにより、AHBハンドラモジュール42、43は、consume信号が再び除去されるまで、readdata(読み出しデータ)を提供し続けるであろう。readdata(読み出しデータ)が生成されている(データ有効信号)ならば、AHBハンドラ42、43によりproduce信号が設定される。
命令セット
表2は、相互接続コントローラ20、21の命令セットを示す。(オペコード0〜3の)最初の4命令は、データの転送を生じないコントロールコンストラクトである。(オペコード4〜7の)最後の4命令は、データ転送デバイス10上でのデータの転送を生じない。一つの命令(LOADCONST)は次のプログラムライン上でオペランドを取るが、それも16ビットワードである。
Figure 2013510357
表2:相互接続コントローラ命令セット
命令の詳細
このセクションでは、命令の動作のより詳細な記述と共に、個別の命令のコーディングが示される。概論として、命令は16ビットワードであり、そのうち最重要の3ビットは表2に示す命令のオペコードを示す。
SYNC
「SYNC」命令は、同期の目的のために用いられ得る。そのフォーマットは表3に示す。この命令のためのオペコードは0であり、他のパラメータは以下の通りである。
・Set Ready:相互接続コントローラ20、21の「レディ」信号45を設定する。これにより他の相互接続コントローラ21、20が、この相互接続コントローラ20、21のレディ信号45を待った後に動作を継続できる。
・Fifo ID:fifoがセットされたならば同期するfifo25、26の識別子。この場合、相互接続20、21は、fifo25、26がその「レディ」信号をセットするまで、このsync命令上でブロックする。
・IC ID:ICがセットされたならば同期する相互接続コントローラ20、21の識別子。この場合、他の相互接続コントローラ21、20がその「レディ」信号45をセットするまで(即ち、「Set Ready」パラメータをセットして同期命令を動作するまで)、相互接続コントローラ20、21がこの命令上でブロックする。
・Fifo:セットされると、「Fifo ID」パラメータにより与えられる識別子で、fifo25、26と同期する。セットされないと、このパラメータは無視され、fifoとの同期が実行されない。
・IC:セットされると、「IC ID」パラメータにより与えられる識別子で、相互接続コントローラ20、21と同期する。セットされないと、このパラメータは無視され、別の相互接続コントローラとの同期が実行されない。
・BB:セットされると、この相互接続コントローラ20、21が接続されるベースバンドエンジン12と同期する。セットされないと、ベースバンドエンジンとの同期が実行されない。
・Clear Fifo:セットされると、識別子「Fifo ID」でfifo25、26の「レディ」信号がクリアされ、そうでなければ、変更されない。
・Clear IC:セットされると、識別子「IC ID」で相互接続コントローラ20、21の「レディ」信号45がクリアされ、そうでなければ、変更されない。
・Clear BB:セットされると、ベースバンドエンジン12の「レディ」信号32がクリアされ、そうでなければ、変更されない。
Figure 2013510357
表3:SYNC命令エンコーディング
全てのパラメータを0に設定するSYNC命令に対しては特に留意すべきである。0としてコードされる、この命令は、相互接続コントローラ20、21内で、何の機能も始動しない。非ゼロ命令データで命令がリロードされるまで、それはこの命令にて引き伸ばしをするであろう。当然ながら、この命令は同期に対して何らの意味も有さない。
JUMPNZ
「JUMPNZ」命令は、カウンタが0に達したかどうかをチェックする。もしそうであれば、プログラム実行は次のプログラムラインで継続し、そうでなければ、カウンタがデクリメントされプログラム実行は新しい位置で継続する。「LOADCNT」命令と共に、この命令はプログラム内の繰り返しのために、規定する。ネスト化される動作の数は、利用可能なカウンタの量により制約される。命令エンコーディングは、カウンタ識別子に対して3ビット提供し、このことにより、カウンタの最大量は8となる。表4は、「JUMPNZ」命令のエンコーディングを示す。そのオペコードは1であり、他のパラエータは以下の通りである。
・Counter ID:利用すべきカウンタの識別子。
・位置:カウンタがゼロに等しくないならば、ジャンプする先のプログラムライン。
Figure 2013510357
表4:JUMPNZ命令エンコーディング
LOADBB
「LOADBB」は、(「XFER」及び「INSCONST」命令で)ベースバンド12にアクセスするのに用いられる初期パラメータをロードする。それは、初期アドレス、及びこのアドレスのためのインクリメント値をセットする。そのエンコーディングは表5に示される。そのオペコードは2であり、他のパラメータは以下の通りである。
・インクリメント:ベースバンド12へのアクセス(即ち、「XFER」命令、若しくはパラメータ「ToBB」がセットされた「INCONST」命令)の後ベースバンドアドレスがインクリメントされるべき、(ワード内の)量。それは3ビット値であり、それは0〜7ワード、若しくは、4バイトのステップ内の0から28バイトに対する値である。
・ベースバンドアドレス:ワード内のベースバンドアドレスの初期値。このアドレスは、ベースバンドプロセッサ12への最初のアクセスのために用いられるであろう。それは10ビットに限定され、よって初期アドレスは、ベースバンドメモリの最初の1Kワード内部であるべきであり、若しくは最初の4Kバイトの範囲内であるべきである。
当然ながら、両方のパラメータはワードの中である。バイトアドレスを得るため、2つのゼロビットが加えられるべきである。
Figure 2013510357
表5:LOADBB命令エンコーディング
LOADCNT
「LOADCONT」命令は、値をカウンタにロードする。「JUMPNZ」命令と共に、プログラム内に繰り返しを挿入するのに用いられ得る。そのエンコーディングは表6に示される。そのオペコードは3であり、他のパラメータは以下の通りである。
・Counter ID:ロードされるカウンタの識別子。
・Value:カウンタが初期化されるべき値。それは10−値であり、シングルループ内の繰り返しの最大量が1023であるということを意味する。
Figure 2013510357
表6:LOADCNT命令エンコーディング
LOADCONST
「LOADCONST」命令は、ベースバンドメモリ若しくはfifo内に一定値を挿入する「INSCONST」命令により用いられるコンスタントをロードするのに用いられる。コンスタントは32ビットコンスタントであり、その「LOADCONST」命令は、16LSB若しくは16MSBを初期化できる。完全な32ビットコンスタントをロードするのには2つの「LOADCONST」命令を必要とする。「LOADCONST」は、次のプログラムライン上で16ビットオペランドを必要とする。「LOADCONST」命令のエンコーディングは、表7に示される。オペコードは4であり、その他のパラメータは以下の通りである。
・MSB:セットされると、オペランドがコンスタントの16MSB内にロードされるであろうし、そうでなければ16LSB内にロードされるであろう。
Figure 2013510357
表7:LOADCONST命令エンコーディング
INSCONST
「INSCONST」命令は、ベースバンドメモリ内若しくはFIFO内に「LOADCONST」命令で予めロードされた値を複数回インサートする。それは常に32ビット値を挿入するが、但しセッティングに拠ってはその一部が0であってもよい。これは、例えば、転送される複数のデータワードに署名を加え、全ての要求されたインプットデータが利用可能でありベースバンドプロセッサ12が開始可能であることをベースバンドプロセッサ12に検知させるために、用いられ得る。そのエンコーディングは表8に示される。それはオペコード5を有し、他のパラメータは以下の通りである。
・ToBB:セットされれば、(「LOADDBB」命令によりセットされ、先の「XFER」若しくは「INSCONST」命令により変更され得る)現下のベースバンドパラメータを用いて、コンスタントがベースバンドメモリ内にインサートされる。セットされなければ、パラメータ「Fifo ID」により与えられる識別子で、コンスタントがfifo内にインサートされる。
・Fifo ID:パラメータ「ToBB」がセットされないとき、データをインサートするfifoの識別子。パラメータ「ToBB」がセットされると、このパラメータは無視される。
・MSB:セットされれば、コンスタントの16MSBが用いられ、インサートされる値の16MSBが、「MSB」パラメータがセットされた最新の「LOADCONST」命令のオペランドに等しい、ということを意味する。このパラメータがセットされないならば、16MSBがゼロで置換される。
・LSB:セットされれば、コンスタントの16LSBが用いられ、インサートされる値の16LSBが、「MSB」パラメータがセットされない最新の「LOADCONST」命令のオペランドに等しい、ということを意味する。このパラメータがセットされないならば、16LSBがゼロで置換される。LSB及びMSBの両方がセットされないならば、全てゼロを伴う32ビット値がインサートされるであろう。
・Count:コンスタントがインサートされるべき回数。これは6ビット値であり、0〜63の範囲にある。
Figure 2013510357
表8:INSCONST命令エンコーディング
FIFO2NULL
「FIFO2NULL」命令は、fifo25、26からデータワードの量を除去し、それらを廃棄する。命令エンコーディングが表9に示される。それはオペコード6を有し、他のパラメータは以下の通りである。
・Fifo ID:データが読み出され除去されるべきfifo25、26の識別子。
・Count:除去されるデータワードの量。これは8ビット値であり、範囲は0〜255である。
Figure 2013510357
表9:FIFO2NULL命令エンコーディング
XFER
「XFER」命令は、データワードの量をベースバンドメモリからfifo25、26などに移動する。命令エンコーディングが表10に示される。それはオペコード7を有し、他のパラメータは以下の通りである。
・ToBB:セットされれば、転送方向はfifo26からベースバンド12へとなる(即ち、データワードがfifo26から読み出され、ベースバンドメモリ内に書き込まれる)。セットされなければ、転送方向がベースバンド12からfifo26へとなる(即ち、データワードがベースバンドメモリから読み出され、fifo26内に書き込まれる)。
・Fifo ID:(パラメータ「ToBB」がセットされるときの)データが読み出されるfifo26の、又は、(パラメータ「ToBB」がセットされないときの)データが書き込まれるfifo26の、識別子。
・Count:転送されるデータワードの量。これは8ビット値であり、範囲は0〜255である。
当然ながら、この命令はベースバンドプロセッサパラメータを常に含み、よって、毎データワード転送後に、最新の「LOADBB」命令により特定されるベースバンドインクリメントで、ベースバンドアドレスがインクリメントされる。
Figure 2013510357
表10:XFER命令エンコーディング

本発明の実施形態に係る、相互接続コントローラ内にロードされるコードの2例を、以下に示す。当然ながら、これらの例は、スループットとレイテンシーとの間のトレードオフを示す。
Figure 2013510357
上記コードは、大量の40エレメント内で2ソースから一つのデスティネーションへ転送がどう生じるかを示す。個々の「XFER」命令は20エレメントを一つのソースから上記コード内の別のデスティネーションへ転送する。これらの転送は、サイズ4(0〜3)の(内側)ループ内にあり、これにより、ソース0からデスティネーション1へ全体160エレメントの転送が生じ得る。当然ながら、定常状態では、定常のセットの転送は高速度で為され得る。これらの微粒子転送により、転送のレイテンシーを隠すことができ、これにより転送が十分に実効的となり、よってソースにおけるバッファを小さく維持できる。
Figure 2013510357
上記ソースコードは、ソース0〜3からデスティネーションポートへの、例1と比べてより粗いセットの転送を示す。count1のみのループがあり、よって、ソースから出スティネーションへの、各々160エレメントの4転送のみ、実効的に存在する。第1の転送は(ソース0におけるセットアップによる)より多くのサイクルを取るが、以下の転送は全く異なる。転送が為される前に、相互接続コントローラ20はソース0が準備されるのを待機し、これにより、余分数のサイクルが必要となる。このモードの転送では、命令ごとにより多くにデータが転送されるため、より高いスループットを行うが、ソース3からデータを転送するためのより多くのレイテンシーがある。
10・・・データ転送デバイス、
13、14、15・・・インプットポート、
16、17、18・・・アウトプットポート、
20、21・・・コントローラ。

Claims (8)

  1. 少なくとも一つがインプットポート(13、14、15)であり少なくとも一つがアウトプットポート(16、17、18)である少なくとも三つのポート間でデータを同時に転送するように調整されたデータ転送デバイス(10)であって、
    前記データ転送デバイス(10)は、インプットポート(13、14、15)とアウトプットポート(16、17、18)との間でデータを転送する命令を実行する少なくとも二つのコントローラ(20、21)を含み、
    前記データ転送デバイス(10)は、前記コントローラ(20、21)がインプットポートとアウトプットポートの間で同期するための同期命令を受信するように調整されていることを特徴とする
    データ転送デバイス。
  2. 前記コントローラは、コントローラ(20、21)間で同期するための同期命令を受信するように調整されている
    請求項1に記載のデータ転送デバイス。
  3. 夫々のコントローラ(20、21)は、一つのアウトプットに接続する
    請求項1又は2に記載のデータ転送デバイス。
  4. 更に、転送命令を記録するための少なくとも二つのプログラムメモリ(40、41)を含む
    請求項1乃至のうちのいずれか一に記載のデータ転送デバイス。
  5. コントローラ(20、21)と同数のプログラムメモリ(40、41)を含む
    請求項4に記載のデータ転送デバイス。
  6. 更に、前記少なくとも二つのプログラムメモリ(40、41)をプログラミングするためのコントローラインタフェース(43)を含む
    請求項4又は5に記載のデータ転送デバイス。
  7. フロントエンドインタフェース(1)とベースバンドエンジン(12)との間に接続された、請求項1乃至6のうちのいずれか一に記載のデータ転送デバイスの利用。
  8. 前記データ転送デバイス(10)が、更に、ベースバンドエンジンと他のモデムブロック(29)との間の相互接続として用いられる、請求項7に記載のデータ転送デバイス(10)の利用。
JP2012537416A 2009-11-09 2010-11-08 データ転送デバイス Pending JP2013510357A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25944109P 2009-11-09 2009-11-09
US61/259,441 2009-11-09
EP10160036.9 2010-04-15
EP10160036A EP2320327A1 (en) 2009-11-09 2010-04-15 A data transferring device
PCT/EP2010/066993 WO2011054954A1 (en) 2009-11-09 2010-11-08 A data transferring device

Publications (2)

Publication Number Publication Date
JP2013510357A true JP2013510357A (ja) 2013-03-21
JP2013510357A5 JP2013510357A5 (ja) 2014-01-09

Family

ID=42321076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012537416A Pending JP2013510357A (ja) 2009-11-09 2010-11-08 データ転送デバイス

Country Status (4)

Country Link
US (1) US20120265917A1 (ja)
EP (1) EP2320327A1 (ja)
JP (1) JP2013510357A (ja)
WO (1) WO2011054954A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2521617C2 (ru) * 2012-08-01 2014-07-10 Открытое акционерное общество "Научно-производственный центр "Полюс" Способ управления динамическим моментом двигателя-маховика

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652102A (ja) * 1992-07-28 1994-02-25 Toshiba Corp データ転送装置
US5717871A (en) * 1995-08-17 1998-02-10 I-Cube, Inc. Crossbar switch with input/output buffers having multiplexed control inputs
JPH11504741A (ja) * 1996-03-01 1999-04-27 サムスン エレクトロニクス カンパニー,リミテッド 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JPH11175313A (ja) * 1997-09-30 1999-07-02 St Microelectron Ltd デュアルポートバッファ
US20030043841A1 (en) * 2001-08-31 2003-03-06 Wavesmith Networks, Inc. Highly channelized port polling in a telecommunications switch
WO2008103850A2 (en) * 2007-02-21 2008-08-28 Pixel Velocity, Inc. Scalable system for wide area surveillance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175824A (en) * 1989-05-08 1992-12-29 Trw Inc. Crossbar switch connected modular multiprocessor system with processor timing relationship selected and synchronized to be appropriate for function being performed
US7013398B2 (en) * 2001-11-15 2006-03-14 Nokia Corporation Data processor architecture employing segregated data, program and control buses
US20050081200A1 (en) * 2001-12-14 2005-04-14 Rutten Martijn Johan Data processing system having multiple processors, a task scheduler for a data processing system having multiple processors and a corresponding method for task scheduling
WO2004063931A2 (en) * 2003-01-16 2004-07-29 Thomson Licensing S.A. Method and system for optimization of a data processing chain using synchronous handshake protocol with data assembly and segmentation
WO2005122414A1 (ja) * 2004-06-14 2005-12-22 Matsushita Electric Industrial Co., Ltd. 無線通信装置
WO2007132016A1 (en) * 2006-05-16 2007-11-22 Interuniversitair Microelektronica Centrum (Imec) Digital receiver for software-defined radio implementation
US7893941B2 (en) * 2006-09-15 2011-02-22 Rgb Spectrum Intelligent video graphics switcher
US8391717B2 (en) * 2010-05-24 2013-03-05 Hewlett-Packard Development Company, L. P. Flow-control methods and systems for multibus systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652102A (ja) * 1992-07-28 1994-02-25 Toshiba Corp データ転送装置
US5717871A (en) * 1995-08-17 1998-02-10 I-Cube, Inc. Crossbar switch with input/output buffers having multiplexed control inputs
JPH11504741A (ja) * 1996-03-01 1999-04-27 サムスン エレクトロニクス カンパニー,リミテッド 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JPH11175313A (ja) * 1997-09-30 1999-07-02 St Microelectron Ltd デュアルポートバッファ
US20030043841A1 (en) * 2001-08-31 2003-03-06 Wavesmith Networks, Inc. Highly channelized port polling in a telecommunications switch
WO2008103850A2 (en) * 2007-02-21 2008-08-28 Pixel Velocity, Inc. Scalable system for wide area surveillance

Also Published As

Publication number Publication date
US20120265917A1 (en) 2012-10-18
EP2320327A1 (en) 2011-05-11
WO2011054954A1 (en) 2011-05-12

Similar Documents

Publication Publication Date Title
US9100349B2 (en) User selectable multiple protocol network interface device
US9710410B2 (en) Camera control slave devices with multiple slave device identifiers
US5991817A (en) Apparatus and method for a network router
US10521392B2 (en) Slave master-write/read datagram payload extension
CN107015927B (zh) 一种基于SoC支持多个SPI接口标准组的装置
US6687757B1 (en) Packet processor
JP2019508915A (ja) メッセージングおよび入出力転送インターフェースのための最適レイテンシパケタイザ有限ステートマシン
JP2018533120A (ja) マルチノードネットワークにおける入力/出力信号のブリッジングおよび仮想化
KR20210033996A (ko) 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간
TW201903620A (zh) 在改良式內部積體電路匯流排拓撲中從屬對從屬之通信
CN107710184B (zh) 具有少于八位的字节及可变分组大小的spi接口
EP1256206A1 (en) Modem cable avec un controleur d'acces au media programmable
CN114691317A (zh) 可重新配置的计算结构中的循环执行
CN118076944A (zh) 可重新配置计算组构中的循环执行期间的数据存储
JP3989376B2 (ja) 通信システム
WO2019217077A1 (en) Latency optimized i3c virtual gpio with configurable operating mode and device skip
JP2013510357A (ja) データ転送デバイス
KR20060085670A (ko) 시스템 온칩(soc)을 위한 마이크로 콘트롤 아키텍쳐
US20070008907A1 (en) Reconfigurable LSI
JP6823050B2 (ja) 埋設型側波帯通信を伴うシリアルバス
CN118043792A (zh) 提供事件消息的可靠接收的机制
CN118140209A (zh) 可重新配置计算组构中的循环执行
CN117581200A (zh) 在分派期间从存储器加载数据
US10860503B2 (en) Virtual pipe for connecting devices
JP5608934B2 (ja) 任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150317