JP2004178570A - マルチコア通信モジュールを組み入れたデータ通信システム及び方法 - Google Patents

マルチコア通信モジュールを組み入れたデータ通信システム及び方法 Download PDF

Info

Publication number
JP2004178570A
JP2004178570A JP2003375486A JP2003375486A JP2004178570A JP 2004178570 A JP2004178570 A JP 2004178570A JP 2003375486 A JP2003375486 A JP 2003375486A JP 2003375486 A JP2003375486 A JP 2003375486A JP 2004178570 A JP2004178570 A JP 2004178570A
Authority
JP
Japan
Prior art keywords
data
fifo
communication module
data communication
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003375486A
Other languages
English (en)
Other versions
JP4447892B2 (ja
Inventor
Steven M Emerson
スティーブン・エム・エマーソン
Gregory Hammitt
グレゴリー・ハミット
Steven Kopacek
スティーブン・コパセック
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.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2004178570A publication Critical patent/JP2004178570A/ja
Application granted granted Critical
Publication of JP4447892B2 publication Critical patent/JP4447892B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/4009Coupling between buses with data restructuring
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】 異なるデータ及び/又はアドレス・フォーマットを有する、又は、異なる通信機構を用いるプロセッサの間での通信を可能にするマルチコアSOCを提供する。
【解決手段】 アドレス・テーブル(148)を用いて、FIFOなどのメモリ・スペースのアドレスをデータ・プロセッサのアドレスと関連付ける。FIFOに結合されたカウンタ(150、152)が、FIFOの状態が一杯であるのか空であるのかを示すフラグ又は用意信号を、データをFIFOに書き込んでいる又はFIFOから読み出しているマスタ・デバイス(104)に与える。これにより、マスタ・デバイスは、FIFOが一杯ではないときにだけ書き込み、FIFOが空ではないときにだけ読み出すことになる。
【選択図】 図1

Description

本発明は、データ通信に関し、更に詳しくは、マルチコア・システムオンチップにおけるサブシステムの間のデータ通信をサポートするデータ通信モジュールやそのようなモジュールを用いるシステムと、対応するデータ通信プロセスとに関する。
データ・バスは、集積回路(IC)において用いられ、ユーザ制御のマイクロプロセッサなどのマスタ・デバイスとメモリなど周辺デバイスを制御するスレーブ・デバイスとの間でデータを転送する。そのようなICは、システム・オン・チップ(SOC)と称されることが多い。SOCの中には、複数のプロセッサをサポートするものもあり、それらは、マルチコアSOCと称される。
多くの場合、マルチコアSOCのプロセッサは、相互に通信することがないか、又は、単一で非常に単純な通信機構を用いるか、のいずれかである。しかし、場合によっては、マルチコアSOCは、異なるフォーマットで動作するか相互に様々な通信機構を用いるかのいずれかである2以上のプロセッサを用いて構成されうる。そのような場合には、SOCは、そのSOCによって結合されるそれぞれのプロセッサの要求事項をサポートするように設計される。例えば、プロセッサが異なるハードウェア資源を要求する、又は、それらを異なる態様で用いる場合には、SOCは、そのようなすべての要求や使用に対応するように設計されなければならない。従って、SOCは、先入れ先出し(ファーストイン・ファーストアウト・メモリ、FIFO)、フラグ及び割込レジスタ、集中ランダム・アクセス・メモリ(RAM)の数や深度など様々な通信ハードウェアの要求事項や、バス・プロトコル、データ・フォーマット(エンディアン性を含む)、データパスの幅、バス周波数、同期/非同期通信などそれ以外の要求事項に対応するように設計される。
結果的に、マルチコアSOCは、プロセッサの選択されたハードウェア及びソフトウェアの要求事項に対応するように設計及び製造され、それ以外のハードウェア又はソフトウェアの要求事項には容易に適応できない。マルチコアSOCは、異なる要求事項を有するプロセッサを受け入れるように再構成したりプログラミングすることは困難である。
本発明は、マルチプロセッサ・システムのためのユーザによる構成可能かつプログラミング可能な通信モジュールに関するものであり、更に詳しくは、異なるデータ及び/又はアドレス・フォーマットを有する、又は、異なる通信機構を用いるプロセッサの間での通信を許容するマルチコアSOCに関する。更に詳しくは、本発明は、複数のバスのそれぞれに対するスレーブ・デバイスとして機能する通信モジュールに関し、それにより、1つのバスの上のプロセッサが、メッセージを交換し、データを共有し、他のバスの上のプロセッサに事象を告知することが可能になる。本発明の通信モジュールは、それぞれのバスのアドレス・フォーマットにおいてアドレシング(アドレス指定)可能なメモリを含み、データをそれぞれのバスからそのメモリに書き込み、あるバスからのコマンドに応答してそれぞれのバスへデータを読み込む。
ある実施例では、通信モジュールは、複数のデータ・プロセッサを有するデータ通信システムに対して提供される。このモジュールは、複数のポートを含み、それぞれのポートは、対応するデータ・プロセッサの少なくとも1つにそれぞれが結合されるように構成されている。メモリ・デバイスは、データ・プロセッサによってアドレシング可能なデータを記憶する複数の位置を有している。マルチプレクサは、メモリにおけるアドレシング可能な位置と対応するデータ・プロセッサとの間で、データを伝送する。
ある実施例では、メモリ・デバイスは、複数のアドレシング可能なFIFOを含み、これらのFIFOのそれぞれと関連付けられたアドレス・テーブルが、当該FIFOのアドレスをマスタ・デバイスのアドレスと関連付ける。それぞれのFIFOに結合されたカウンタは、FIFOコンテンツに応答して、当該FIFOが一杯ではない又は空ではないという状態を示すフラグ又は準備信号を供給する。このフラグ又は準備信号は、データを当該FIFOに書き込んている(ライト、W)又はデータを当該FIFOから読み出している(リード、R)データ・プロセッサに供給され、それによって、書込みをしているデータ・プロセッサはFIFOがいっぱいではないときにのみ書き込みを行い、読出しをしているデータ・プロセッサはFIFOが空ではないときにのみ読出しを行う。
ある実施例では、本発明のモジュールは、データ通信バスによるメモリ・デバイスへのアクセスのアービトレーション(仲裁)を行うアービタを含む。
別の実施例では、データ・プロセッサは、対応するデータ・バスに結合されたマスタ・デバイスである。それぞれのバスは、複数のマスタ・デバイスを複数のスレーブ・デバイスに結合して、それぞれのマスタ・デバイスが対応するデータ通信バスを介してスレーブ・デバイスとの間でデータを転送できるようにしている。通信モジュールは、スレーブ・デバイスに対するのと類似の態様でそれぞれのバスに結合されている。
更に別の実施例では、データが、互換ではないフォーマットで動作している第1及び第2のデータ・プロセッサの間で転送される。一方のデータ・プロセッサは、そのネイティブなフォーマットを用いてデータを通信モジュールに送る。そのデータは、通信モジュールに記憶され、他方のデータ・プロセッサは、そのネイティブなフォーマットを用いてモジュール・デバイスからデータを受け取るように動作する。第1のデータ・プロセッサは、第1のアドレスを第1のフォーマットで通信モジュールに送るように動作される。通信モジュールは、この第1のアドレスを、データが記憶されている通信モジュールにおけるアドレシング可能な位置を識別する第2のアドレスと関連付ける。このアドレスは、第2のフォーマットの第3のアドレスと関連付けられ、第2のデータ・プロセッサは、第3のアドレスを通信モジュールに送るように動作される。モジュールは、第3のアドレスに応答して、第2のアドレスによって識別される位置からのデータを第2のデータ・プロセッサに送る。
図1は、マルチコア通信モジュールなどの通信モジュール102に結合された複数のバス100/1、100/2などを図解するブロック図である。バス・システム100/1は、複数のマスタ・デバイス104/1−1、・・・、104/1−nと複数のスレーブ・デバイス106/1−1、・・・、106/1−mとを含んでいる。データ・バス108/1は、マスタ・デバイス104/1をスレーブ・デバイス106/1とモジュール102の第1のポートP−1とに結合する。制御バス110/1は、マスタ・デバイス104/1のそれぞれをスレーブ・デバイス106/1とモジュール102のポートP−1とバス・システム101/1のアービタ112/1とのそれぞれに結合する。
同様に、バス・システム100/2は、複数のマスタ・デバイス104/2−1、・・・、104/2−nと複数のスレーブ・デバイス106/2−1、・・・、106/2−mとを含んでいる。データ・バス108/2は、マスタ・デバイス104/2をスレーブ・デバイス106/2とモジュール102の第2のポートP−2とに結合する。制御バス110/2は、マスタ・デバイス104/2のそれぞれをスレーブ・デバイス106/2とモジュール102のポートP−2とバス・システム101/2のアービタ112/2とのそれぞれに結合する。
バス・システム100は、マスタ・デバイス104とスレーブ・デバイス106との間で、アービタ112の制御の下でデータを転送するデータ・バス・システムである。バス・システム100の1つの例としては、英国ケンブリッジ所在のARMリミテッド社のデザインに基づくアドバンスト・ハイパフォーマンス・バス(AHB)がある。AHBバスは、複数のバス・マスタ・デバイスと複数のバス・スレーブ・デバイスとの間でのアービタを用いた、高いパフォーマンスで高いクロック周波数のデータ転送を提供するアドバンスト・マイクロコントローラ・バス・アーキテクチャ(AMBA)の1つの形式である。AHBバスは、プロセッサをオンチップ・メモリやオフチップ外部メモリ・インターフェースに結合するシングルチップ・プロセッサを含む集積回路チップにおいて、特に有用である。
AHBバスは、コマンド・フェーズとそれに続くデータ転送フェーズという1つのフェーズで動作する同期パイプライン・バスである。マスタ・デバイス104は、このマスタ・デバイスがデータをスレーブ・デバイスのメモリに書き込むことを望んでいることをスレーブ・デバイス106に命令することによって、又は、このマスタ・デバイスがデータをスレーブ・デバイスのメモリから読み出すことを望んでいることをスレーブ・デバイスに命令することによって、コマンド・フェーズを開始する。スレーブ・デバイス106は、記憶するためのデータを受け取る用意ができている、又は、回復されたデータをマスタ・デバイスに送る用意ができているときには、アービタ112とマスタ・デバイス104とに、データを受け取る又は送る用意ができていることを告知する。それから、データ転送が実行される。
AHBのバス・コンフィギュレーションに応じて、データ転送は、通常、複数の8ビット・バイトのデータを転送することができる32又は64ビットのデータ・バス上で実行される(32ビット・バスの場合には4バイト、64ビット・バスの場合は8バイト)。データ転送の性質及びフォーマットを定義する制御信号は、マスタ及びスレーブ・デバイスとアービタとの間を制御ラインを介して転送される。AHBバスのデザインに関するより詳細な説明は、ARMリミテッド社によって出版された(1999年)AMBA仕様書の第2版において、そして特にその第3章(ページ3−1からページ3−58まで)において見ることができる。この説明は、この出願において援用する。
AHBバス・デザインには、それぞれが異なるフォーマットを有する複数のコンフィギュレーションが存在する。32ビットのデータ・バスを用いるAHBバスもあれば、64ビットのバスを用いるものもあり、「ビッグ・エンディアン」のアドレス・フォーマットを用いるAHBバスもあれば、「リトル・エンディアン」のアドレス・フォーマットを用いるものもある。AHBバスは、通常、16を超えるマスタ・デバイスを扱うことはできない。更に、与えられたAHBバス・システム100は、普通、ビッグ・エンディアン又はリトル・エンディアンのアドレス・フォーマットで、32ビット又は64ビットのデータ転送など単一のフォーマットで動作する。モジュール102は、それぞれのバスに対する追加的なスレーブ・デバイスとして機能する。
図2は、本発明のある実施例による通信モジュール102のブロック図である。モジュール102は、複数のデータ・ポート120/1、120/2、120/3、・・・、120/xを含み、これらはそれぞれが、対応するバス・システム100/1、100/2、100/3、・・・、100/xのデータ・バス108/1、108/2、108/3、・・・、108/xと制御バス106/1、106/2、106/3、・・・、106/xとの対応するものに結合される。それぞれのポート120は、対応するバス108からデータと制御信号とを受け取り、それらを、対応するバス124/1、124/2、・・・、124/xを介してマルチプレクサ122に供給する。マルチプレクサ122は、データを、先入れ先出し(FIFO)メモリ126とフラグ・レジスタ128とランダム・アクセス・メモリ130(SRAM)とに供給する。アービタ132は、マルチプレクサ122の使用のアービトレーションを行い、特に、マルチプレクサ122と、FIFO126とレジスタ128とSRAM130とのメモリ・スペースとへのアクセスのアービトレーションを行う。FIFO126とSRAM130とは、ローカル・バス134を介してそれぞれのポート120へデータ出力を提供し、FIFO126とフラグ・レジスタ128とは、バス136を介してポート120に状態出力を提供し、制御バス106を介して対応するデータ・バス100に制御データを供給する。コンフィギュレーション・レジスタ138は、アービタ132とFIFO126とフラグ・レジスタ128とに結合され、ユーザが調節可能なコンフィギュレーションをアービタとFIFOとフラグ・レジスタとに提供する。
モジュール102は、複数のデータ・バスを扱うように構成され、ユーザは、このコンフィギュレーションを変更することができる。メッセージ通過機構は、FIFO126とSRAM130とによって提供されたモジュール・メモリ・スペースにおけるメモリ・マップされた機能の外観を呈する。モジュール102のタイミングは、局所的に提供され、その結果、モジュール102は、任意の与えられたデータ・バス100の周波数とは独立の周波数で動作する。
FIFO126は、ポート120の1又は複数に結合された複数の先入れ先出しメモリを含む。実際には、FIFO126のデータ記憶部分は、物理的には、SRAM130の一部でありうる。FIFO126は、後述するレジスタとカウンタとを含みSRAM130とは別個でありうる制御部分を含む。FIFO126は、2つのポート120の間の交差結合されたデータ通信を提供することにより、一方のポートはデータをFIFOに書き込むことができ、他方で、他方のポートはそのFIFOからデータを読み出すことができる。一杯/空の状態フラグは、FIFOによってデータ転送目的のためにこれらのポートに提供される。
バス100からトランザクションを実行してほしいというリクエストを受け取ると、そのバスに結合されているポート120は、リクエストに伴うアドレスがモジュール102に対するものであるかどうかを判断する。与えられたバスの上のマスタ・デバイスによって出力されたアドレスは、特定のスレーブ・デバイス106又は通信モジュール102のアドレシングを行う。それぞれのポートは、対応するバス100に割り当てられたモジュールのアドレス又はアドレス範囲に応答する。モジュール102がそれぞれのバスに対して同一のアドレス又はアドレス範囲を有することは必要ではなく、モジュールのアドレスは、それぞれのバス100に対して異なっていてもかまわない。
あるポートにおいて受け取られたアドレスがそのバスに対するそのモジュールのアドレスと一致する場合には、マルチプレクサ122とFIFO126及びSRAM130のメモリ・スペースとへのアクセスは、アービタ132によるアービトレーションが行われる。アービタ132は、ある与えられた時点におけるマルチプレクサ122とメモリ・スペースとの使用をどのポートが有するのかに関するアービトレーションを行う。アービトレーションのプロトコルは、このシステムに適した任意のプロトコルでよく、ポートの間での優先順位のローテーションや、特定のポートにそれ以外のポートよりも高い優先順位を割り当てる方法や、その両者の組合せを含んでいる。任意の与えられたアービトレーション・サイクルがポート120を優先することにより、最も高い優先順位を有するポートが現時点でのリクエストを有していない場合には、その次に高い優先順位を有するポートに対してサービスが与えられるというのが好ましい。
図3は、複数のポート120−1、120−2、120−3に結合されたFIFO126の機能ブロック図である。FIFO126は、複数の先入れ先出しメモリ140、142、144、146で構成され、これらは、それぞれが、対応するFIFOのベース・アドレスを識別するベース・アドレス・テーブル148、150、152、154と他のバスの上のマスタ・デバイスへのアドレスのテーブルとを有している。
与えられたFIFOは、1つの特定のバスから別のバスへの、又は、特定のバス群の間でのデータの転送の専用でありうる。バス100/1の上のマスタ・デバイス104/1がFIFO126を介してメッセージをバス100/2の上のマスタ・デバイス104/2に送ることを望んでいる場合には、このメッセージは、例えばFIFO140であるFIFOに対してアドレシングされ、バス100/1のフォーマットでマスタ・デバイス104/2へのアドレスを含む。アドレス148は、バス100/2のフォーマットを有するマスタ・デバイス104/2のアドレスを識別するテーブルを含む。データがFIFO140で受け取られると、FIFOは、マスタ・デバイス104/2の関連付けられたアドレスと、FIFO140がマスタ・デバイス104/2(図1)に転送するデータを有していることを識別するポート120/2を介してバス100/2へのフラグとを出力する。FIFOによって出力されたフラグは、標準的なAHBバスにおけるスレーブ・デバイス空の応答信号を表し、バス・アービタ112/2(図1)に供給されて、スレーブ・デバイスとして機能しているモジュール102がデータをFIFOによって識別されたマスタに転送する用意ができていることを、バス・アービタに告知する。アービタ112/2は、バス100/2の使用のアービトレーションを行い、バスの使用を適切なマスタ・デバイス104/2に配分する。すると、マスタ・デバイスは、この時点ではバス100/2に対するスレーブ・デバイスとして機能しているモジュール102へのバス100/2のフォーマットで、リクエストとFIFO140に対するそのアドレスとを送る。FIFO140は、データを、読出関数として、ポート120/2を介してバス100/2の上に、そして、その上の適切なマスタ・デバイス104/2に転送する。
図3に示されているように、HSELFIFOxとして識別されている選択信号は、それぞれのデータ・バス100/1、100/2、・・・から受け取られる。これらの選択信号は、対応するマスタ・デバイス104/1、104/2、・・・によって出力されたアドレス・コードからマルチプレクサ122によって復号化され、アドレシングされている特定のFIFO140。142、144、146に対するアドレス・オフセットを識別する。選択信号は、対応するAHBバスと互換性のあるHSELx信号の形式で発生される。
例えば、AHBバスのコンテキストでは、典型的なアドレス・コードは32ビットを含み、対応するバスのスレーブ・デバイスにおける特定の位置をアドレシングする。典型的には、最上位ビットがこの特定のスレーブ・デバイスをアドレシングし、最下位ビットがデータの転送に用いるスレーブ・デバイスにおける特定の位置をアドレシングする。
図4は、FIFO140、142、144、146のいくつかの制御の側面を図解している。それぞれのFIFO140、142、144、146は、書込カウンタ150と読出カウンタ152とを含む。1ワード又は1ワードの一部(1バイトなど)が(この例におけるバス100/1の上のマスタ・デバイス104/1などの)マスタ・デバイスによってFIFOに書き込まれる度に、書込カウンタ150のカウントはそのバイト・カウントの分だけインクリメントされる。同様に、1ワードが(この例におけるバス100/2に上のマスタ・デバイス104/2によって)FIFOから読み出される度に、読出カウンタ152はインクリメントされる。カウンタ150及び152は、FIFOの一杯及び一杯でない、そして、空及び空でない状態のインクリメント方向のカウントを維持するように動作する再循環カウンタである。データが一方のマスタ・デバイス(マスタ・デバイス104/1)によってFIFOに書き込まれるとカウントの差分がインクリメントされ、データが他方のマスタ・デバイス(マスタ・デバイス104/2)によってFIFOから読み出されるとカウントの差分がデクリメントされる。コントローラ154は、カウンタ150及び152に応答してカウントの差分をインクリメント及びデクリメントして、FIFOが一杯でないフラグとFIFOが空でないフラグとをこれらのマスタ・デバイスに与える。
AHB環境では、選択されたスレーブ・デバイスが読出又は書込トランザクションなどのトランザクションを完了する用意ができているときには、用意(ができていることを示す)信号が出力される。この例では、通信モジュール102は両方のマスタ・デバイス104/1及び104/2に対してスレーブ・デバイスとして機能しており、マスタ・デバイス104/1空のデータを書き込み、マスタ・デバイス104/2へのデータを読み出す。従って、モジュール102は、FIFO140が一杯でないときに、書き込みをしているマスタ・デバイス104/1に対して用意信号を出力し、FIFO140が空でないときに、読み出しをしているマスタ・デバイス104/2に対して用意信号を出力する。書き込みをしているマスタ・デバイス104/1への用意信号により、マスタ・デバイス104/1がデータをFIFOに転送することが可能となる。同様に、読み出しをしているマスタ・デバイス104/2への用意信号により、マスタ・デバイス104/2がデータをFIFOから読み出すことが可能となる。従って、FIFOが一杯ではないときにだけ、書込マスタはイネーブルされてFIFOに書き込みし、FIFOが空ではないときだけ、読出マスタはイネーブルされてFIFOからデータを読み出す。
SRAM130は、2つのデータ・バスの間でデータの大きなブロックを転送するのに用いられる汎用のシングルポートSRAMである。SRAM130は、AHBバスの任意の他のスレーブ・デバイストルイメージの態様でアドレシングがなされる。更に詳しく説明するならば、ある与えられたバス100の上のそれぞれのマスタ・デバイス104は、そのバスに関して当該モジュールに割り当てられたアドレス(これは、それぞれのバスごとに異なりうる)とこのマスタ・デバイスがアクセスを望んでいるSRAMの中のアドレシング可能な位置に対するオフセット・アドレスとを用いてSRAMのアドレシングを行う。例えば、モジュール102がバス100/1に対してアドレス40xx_xxxxを有している場合には、バス100/1の上のマスタ・デバイス104/1は、アドレス40xx_xxxxを用いてモジュール102のメモリ・スペースのアドレシングを行う。通信モジュールの内部では、SRAM130はアドレスxx00_xxxxを有する可能性があり、従って、マスタ・デバイスは、アドレス4000_xxxxを用いてSRAMのアドレシングを行う。ただし、ここでxxxxというのは、SRAMの内部における特定のアドレシング可能な位置を意味する。同様に、モジュール102がバス100/2に対してアドレス30xx_xxxxを有している場合には、バス100/2の上のマスタ・デバイス104/2は、アドレス3000_xxxxを用いてSRAM130のアドレシングを行う。
フラグ・レジスタ128は、それぞれのマスタ・デバイス104によって、FIFOのアドレシングと類似する態様でアドレシングされる。更に詳しくは、好適実施例では、ある1つのポート120から別のポート120へのアドレシングには、フラグ・レジスタが用いられる。フラグ・レジスタは、SRAM130におけるデータの存在を指示するのに用いることができ、それによって、1つのマスタ・デバイスの伝送により、別のバスの上のマスタ・デバイスに対してそれに向けたデータが存在していることが告知される。
図5は、バス100上のプロセッサなど複数のデータ・プロセッサを備えたマルチコア通信モジュール102の動作を図解する論理図である。図解の目的で、図5には制御は示されていない。その代わり、それぞれのバスを表すデータ・プロセッサ160、162及び164は、双方向の通信を介して、SRAMメモリ130(図2)を表すランダム・アクセス領域166での位置をアドレシングするように動作可能である。従って、それぞれのプロセッサは、マルチプレクサ122(図2)を介して、ランダム・アクセス領域166にデータを書き込むこと及びそこからデータを読み出すことができる。FIFOは、好ましくは、1つのプロセッサ(又は、バス)から別のプロセッサ(又は、バス)への一方向の通信に向くように構成されている。従って、それぞれのプロセッサは、FIFOとマルチプレクサ122(図2)とを介して別のプロセッサにデータ又はメッセージを送ることができる。例えば、プロセッサ160は、マルチプレクサ122を介してプロセッサ162にアクセスするために、マルチプレクサ122を介して、データ又はメッセージをFIFO168に送ることができる。同様に、プロセッサ(又は、バス)162はFIFO170を介してプロセッサ(又は、バス)160にメッセージを送ることができ、プロセッサ(又は、バス)160及び164はFIFO172及び174を介してデータ及びメッセージを交換することができ、プロセッサ(又は、バス)162及び164はFIFO176及び178を介してデータ及びメッセージを交換することができる。同じようにして、プロセッサ(又は、バス)160及び162はフラグ・レジスタ180及び182を介して相互にフラグを送ることができ、プロセッサ(又は、バス)162及び164はフラグ・レジスタ184及び186を介して相互にフラグを送ることができ、プロセッサ(又は、バス)160及び164はフラグ・レジスタ188及び190を介して相互にフラグを送ることができる。
SRAM、FIFO及びフラグ・レジスタのメモリ・スペースのアドレスは、それぞれのバスを介し当該バスのネイティブなフォーマットを用いてアドレシングされ、メモリ・スペースへのアクセスを獲得する、ということが理解されよう。他のバス上のマスタ・デバイスは、メモリ・スペースにおけるそれに対するデータの存在が告知され、そのメモリ・スペースにアクセスして通常のAHBバスの態様でデータを読み出す。
メモリは、どのプロセッサがアクセスを獲得する科を識別するのにアービトレーションが行われたフロント・エンドを用いる単一ポート型のメモリとして実現される。あるいは、メモリを、マルチポート・メモリとして実現することもできる。単一ポート型のメモリの長所には、それが小型であり、より高い周波数でも動作することができ、2つのプロセッサが同じメモリ位置に同時にアクセスすることが回避されるようにハードウェアによっってより容易に管理することができる。
通信モジュール102は、コンフィギュレーション・レジスタ138を用いて構成可能(プログラミング可能)である。レジスタ138は、アービタ132のアービトレーション規則とフラグ・レジスタ128の設定とFIFO126の制御とを変更するユーザが修正可能なコードを含んでいる。ある実施例では、FIFO140、・・・を、2又はそれ以上の特定のバス100の間でデータを転送するようにプログラミングすることも可能である。別の実施例では、与えられたFIFOは、バス100/1上のマスタ・デバイスからのデータだけを書き込みしてバス100/2へのデータだけを読み出す、又は、バス100/1及び100/2の間の双方向でデータを転送する(書き込む及び読み出す)、又は、複数のバスの任意のものの間でデータを転送する、などのように構成することができるし、又は、ユーザが希望するそれ以外の任意の有用なコンフィギュレーションに構成することができる。
本発明の1つの特徴は、モジュール102がそれぞれのバスのネイティブなフォーマットでコマンドを受け取りかつ生じることができる点にある。更に詳しくは、FIFOのためのアドレス・マッピングは、アドレス・テーブルを用いて達成される。マルチプレクサ122は、モジュールの使用を、アービタ132によるアービトレーションに従って配分する。通信モジュール102は、ビッグ・エンディアンやリトル・エンディアンのアドレス・フォーマットなど、様々なバス・フォーマットをサポートする。モジュール102自体は、リトル・エンディアン・フォーマットで動作するのが好ましい。なお、ビッグ・エンディアン・フォーマットでは、バイトは左から右に向かって番号が付され、従って、最も大きなアドレスがワードの中の最下位バイト位置にある。リトル・エンディアン・フォーマットでは、バイトは右から左に向かって番号が付され、従って、最も大きなアドレスはワードの中の最上位バイト位置にある。
モジュール102のポート120は、アドレス・フォーマットを、リトル・エンディアンなど、そのモジュールの特定のフォーマットに変換する。ポートに結合されたバスが既にリトル・エンディアン・フォーマットで実行している場合には、ポートは、そのアドレスを単純に通過させる。ポートに結合されたバスがビッグ・エンディアン・フォーマットで動作する場合には、対応するポートは、アドレス・フォーマットをビッグ・エンディアンからリトル・エンディアンに変換して制御をモジュールに転送し、バスによる使用のためにはリトル・エンディアンにフォーマットされているアドレスをビッグ・エンディアンに変換する。
以上で本発明を好適実施例を参照しながら説明してきたが、この技術分野の当業者であれば、本発明の精神と範囲とから逸脱することなく形式及び詳細において変更が可能であることを理解するはずである。従って、ここではバス100をアービタを含むAHBバスとして説明したが、本発明は、アービタを含む含まないを問わず、任意のタイプのバスを用いて実現が可能である。更に、マルチコア通信モジュール102は、バスを介してスレーブ・デバイスに結合されていない複数のデータ・プロセッサの間でのデータ通信であっても、それらのプロセッサを直接にモジュール102のポートに結合することによって、処理が可能である。
図1は、本発明のある実施例による通信モジュールを用いたマルチバス・システムのブロック図である。 図1に図解されているマルチバス・システムにおいて用いられる本発明による通信モジュールのブロック図である。 図3は、図2のモジュールにおいて用いられる先入れ先出しメモリの機能ブロック図である。 図3に図解されているメモリのある制御の側面の機能ブロック図である。 本発明のマルチコア通信モジュールの動作を図解している機能ブロック図である。

Claims (20)

  1. データ通信システムであって、
    第1のデータ通信バスと、前記第1のデータ通信バスに結合された複数の第1のスレーブ・デバイスと、前記第1のデータ通信バスに結合された複数の第1のマスタ・デバイスであって対応する第1のマスタ・デバイスと選択された第1のスレーブ・デバイスとの間のデータ通信を開始する複数の第1のマスタ・デバイスと、
    第2のデータ通信バスと、前記第2のデータ通信バスに結合された複数の第2のスレーブ・デバイスと、前記第2のデータ通信バスに結合された複数の第2のマスタ・デバイスであって対応する第2のマスタ・デバイスと選択された第2のスレーブ・デバイスとの間のデータ通信を開始する複数の第2のマスタ・デバイスと、
    前記第1及び第2のデータ通信バスに結合された通信モジュールであって、
    データを記憶する複数のアドレシング可能な位置を有するメモリ・デバイスであって、前記アドレシング可能な位置は前記第1及び第2のマスタ・デバイスのそれぞれによってアドレシング可能であるメモリ・デバイスと、
    第1又は第2のマスタ・デバイスによってアドレシングされた前記メモリ・デバイスの中の位置と対応する第1又は第2のデータ通信バスとの間でデータを伝送するマルチプレクサと、
    を備えている通信モジュールと、
    を備えていることを特徴とするデータ通信システム。
  2. 請求項1記載のデータ通信システムにおいて、前記メモリ・デバイスはランダム・アクセス・メモリを含むことを特徴とするデータ通信システム。
  3. 請求項1記載のデータ通信システムにおいて、前記メモリ・デバイスは、
    複数のアドレシング可能な先入れ先出し(FIFO)メモリと、
    前記FIFOのそれぞれと関連付けられており、対応するFIFOのアドレスを前記第1及び第2のマスタ・デバイスのアドレスと関連付けるアドレス・テーブルと、
    を含むことを特徴とするデータ通信システム。
  4. 請求項3記載のデータ通信システムにおいて、
    それぞれのFIFOに結合され、対応するFIFOが一杯でないことに応答して、一杯でない状態フラグを提供する第1のカウンタを更に含んでおり、
    前記通信モジュールは、前記一杯でない状態フラグに応答し、マスタ・デバイスをイネーブルしてデータを対応するデータ通信バスを介して前記通信モジュールまで伝送させ、対応するFIFOに記憶することを特徴とするデータ通信システム。
  5. 請求項4記載のデータ通信システムにおいて、
    それぞれのFIFOに結合され、対応するFIFOが空でないことに応答して、空でない状態フラグを提供する第2のカウンタを更に含んでおり、
    前記通信モジュールは、前記空でない状態フラグに応答し、マスタ・デバイスをイネーブルしてデータを対応するデータ通信バスを介して対応するFIFOから受信させることを特徴とするデータ通信システム。
  6. 請求項3記載のデータ通信システムにおいて、
    それぞれのFIFOに結合され、対応するFIFOが空でないことに応答して、空でない状態フラグを提供する第2のカウンタを更に含んでおり、
    前記通信モジュールは、前記空でない状態フラグに応答し、マスタ・デバイスをイネーブルしてデータを対応するデータ通信バスを介して対応するFIFOから受信させることを特徴とするデータ通信システム。
  7. 請求項1記載のデータ通信システムにおいて、
    前記マルチプレクサに結合され前記第1及び第2のデータ通信バスによる前記メモリ・デバイスへのアクセスのアービトレーションを行うアービタを更に含むことを特徴とするデータ通信システム。
  8. 請求項1記載のデータ通信システムにおいて、前記第1及び第2のデータ通信バスは異なるデータ・フォーマットで動作し、前記データ通信バスの少なくとも1つは前記通信モジュールの動作データ・フォーマットとは異なるフォーマットで動作し、前記通信モジュールは前記第1のデータ通信バスに結合された第1のポートと前記第2のデータ通信バスに結合された第2のポートとを更に含み、前記ポートは、それぞれが、前記通信モジュールとは異なるフォーマットで動作するデータ通信バスに結合されており、対応するデータ通信バスのフォーマットと前記通信モジュールのフォーマットとの間でデータを変換するように動作可能であることを特徴とするデータ通信システム。
  9. データ通信能力を備えた複数のデータ・プロセッサを有するデータ通信システムのための通信モジュールであって、
    それぞれが前記データ・プロセッサの少なくとも対応する1つに結合されるように構成されている複数のポートと、
    データを記憶する複数のアドレシング可能な位置を有するメモリ・デバイスであって、前記アドレシング可能な位置はそれぞれが前記データ・プロセッサの少なくとも2つによってアドレシング可能であるメモリ・デバイスと、
    前記メモリ・デバイスにおけるアドレシング可能な位置と対応するデータ・プロセッサとの間でデータを伝送するマルチプレクサと、
    を備えていることを特徴とする通信モジュール。
  10. 請求項9記載の通信モジュールにおいて、前記メモリ・デバイスは、
    複数のアドレシング可能な先入れ先出し(FIFO)メモリと、
    前記FIFOのそれぞれと関連付けられており、対応するFIFOのアドレスを前記データ・プロセッサのアドレスと関連付けるアドレス・テーブルと、
    を含むことを特徴とする通信モジュール。
  11. 請求項10記載の通信モジュールにおいて、前記複数のデータ・プロセッサの第1のものはデータをこのモジュールまで通信し対応するFIFOに記憶するように動作可能であり、このモジュールは、
    それぞれのFIFOに結合されており、対応するFIFOが一杯ではないことに応答して一杯でない状態フラグを提供する第1のカウンタを更に含み、
    前記第1のデータ・プロセッサに結合されたポートは、前記一杯でない状態フラグに応答し、前記第1のデータ・プロセッサをイネーブルしてデータを伝送し対応するFIFOに記憶させることを特徴とする通信モジュール。
  12. 請求項11記載の通信モジュールにおいて、前記複数のデータ・プロセッサの第2のものは対応するFIFOに記憶されているデータを受信するように動作可能であり、このモジュールは、
    それぞれのFIFOに結合されており、対応するFIFOが空ではないことに応答して空でない状態フラグを提供する第2のカウンタを更に含み、
    前記第2のデータ・プロセッサに結合されたポートは、前記空でない状態フラグに応答し、前記第2のデータ・プロセッサをイネーブルして前記対応するFIFOからデータを受信させることを特徴とする通信モジュール。
  13. 請求項10記載の通信モジュールにおいて、前記複数のデータ・プロセッサの第2のものは対応するFIFOに記憶されているデータを受信するように動作可能であり、このモジュールは、
    それぞれのFIFOに結合されており、対応するFIFOが空ではないことに応答して空でない状態フラグを提供する第2のカウンタを更に含み、
    前記第2のデータ・プロセッサに結合されたポートは、前記空でない状態フラグに応答し、前記第2のデータ・プロセッサをイネーブルして前記対応するFIFOからデータを受信させることを特徴とする通信モジュール。
  14. 請求項10記載の通信モジュールにおいて、前記メモリ・デバイスはランダム・アクセス・メモリとフラグ・レジスタとを含むことを特徴とする通信モジュール。
  15. 請求項9記載の通信モジュールにおいて、
    前記マルチプレクサに結合されており前記データ・プロセッサによる前記メモリ・デバイスへのアクセスのアービトレーションを行うアービタを更に含むことを特徴とする通信モジュール。
  16. 請求項13記載の通信モジュールにおいて、前記第1及び第2のデータ・プロセッサは異なるデータ・フォーマットで動作し、前記データ・プロセッサの少なくとも1つはこのモジュールの動作データ・フォーマットとは異なるフォーマットで動作し、前記ポートは、それぞれが、このモジュールとは異なるフォーマットで動作するデータ・プロセッサに結合されており、対応するデータ・プロセッサのフォーマットとこのモジュールのフォーマットとの間でデータを変換するように動作可能であることを特徴とする通信モジュール。
  17. 第1のフォーマットで通信するように動作可能な第1のデータ通信デバイスと前記第1のフォーマットとは互換性のない第2のフォーマットで通信するように動作可能な第2のデータ通信デバイスとの間でデータを通信する方法であって、
    a)前記第1のデータ通信デバイスを、前記第1のフォーマットを用いてデータを通信モジュールまで伝送するように動作させるステップと、
    b)前記データを前記通信モジュールにおけるアドレシング可能な位置に記憶するステップと、
    c)前記第2のデータ通信デバイスを、前記第2のフォーマットを用いて前記通信モジュールから前記データを受信するように動作させるステップと、
    を含むことを特徴とする方法。
  18. 請求項17記載の方法において、ステップa)は、
    a1)前記第1のフォーマットを有する第1のアドレスを前記通信モジュールまで伝送するように前記第1のデータ通信デバイスを動作させるステップと、
    a2)データを前記通信モジュールまで伝送するように前記第1のデータ通信デバイスを動作させるステップと、
    によって実行され、ステップb)は、
    b1)前記第1のアドレスを、前記通信モジュールにおいてアドレシング可能な位置を識別する第2のアドレスに関連付けるステップと、
    b2)前記データを前記第2のアドレスによって識別された位置に記憶するステップと、
    によって実行され、ステップc)は、
    c1)前記第3のアドレスを前記通信モジュールまで伝送するように前記第2のデータ通信デバイスを動作させるステップと、
    c2)前記第3のアドレスの受信に応答して前記第2のアドレスによって識別された位置から前記第2のデータ通信デバイスまでデータを伝送するように前記通信モジュールを動作させるステップと、
    によって実行されることを特徴とする方法。
  19. 請求項17記載の方法において、
    d)前記第1及び第2のデータ通信デバイスによる前記通信モジュールの使用のアービトレーションを行うステップを更に含むことを特徴とする方法。
  20. 請求項19記載の方法において、前記第1及び第2のデータ通信デバイスは、それぞれが、複数のマスタ・デバイスと前記複数のマスタ・デバイスに接続された複数のスレーブ・デバイスとを有するバスを含むことを特徴とする方法。
JP2003375486A 2002-11-25 2003-11-05 マルチコア通信モジュールを組み入れたデータ通信システム及び方法 Expired - Fee Related JP4447892B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/303,589 US7099983B2 (en) 2002-11-25 2002-11-25 Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process

Publications (2)

Publication Number Publication Date
JP2004178570A true JP2004178570A (ja) 2004-06-24
JP4447892B2 JP4447892B2 (ja) 2010-04-07

Family

ID=32229937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003375486A Expired - Fee Related JP4447892B2 (ja) 2002-11-25 2003-11-05 マルチコア通信モジュールを組み入れたデータ通信システム及び方法

Country Status (3)

Country Link
US (1) US7099983B2 (ja)
EP (1) EP1422626B1 (ja)
JP (1) JP4447892B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1552411A2 (en) * 2002-10-08 2005-07-13 Koninklijke Philips Electronics N.V. Integrated circuit and method for exchanging data
JP4233373B2 (ja) * 2003-04-14 2009-03-04 株式会社ルネサステクノロジ データ転送制御装置
JP2004334410A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
JP2005100210A (ja) * 2003-09-26 2005-04-14 Oki Electric Ind Co Ltd バス構成回路
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US8422568B2 (en) * 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
KR100694095B1 (ko) * 2005-03-05 2007-03-12 삼성전자주식회사 버스 연결 방법 및 장치
JP4601488B2 (ja) * 2005-05-12 2010-12-22 三菱電機株式会社 電力系統の監視制御システム
CN100369028C (zh) * 2005-06-15 2008-02-13 威盛电子股份有限公司 读取数据的装置及方法
US7461187B2 (en) * 2005-07-07 2008-12-02 Canon Kabushiki Kaisha Bus system and data transfer method
US7532636B2 (en) * 2005-10-07 2009-05-12 Intel Corporation High bus bandwidth transfer using split data bus
JP4611901B2 (ja) * 2006-01-16 2011-01-12 株式会社ソニー・コンピュータエンタテインメント 信号伝送方法、ブリッジユニット、および情報処理装置
EP1990726B1 (en) * 2006-02-27 2017-05-17 Fujitsu Limited Data control apparatus, data control method, and data control program
US20070255874A1 (en) * 2006-04-28 2007-11-01 Jennings Kevin F System and method for target device access arbitration using queuing devices
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
CN102567278A (zh) * 2011-12-29 2012-07-11 中国科学院计算技术研究所 一种片上多核数据传输方法和装置
US9229896B2 (en) * 2012-12-21 2016-01-05 Apple Inc. Systems and methods for maintaining an order of read and write transactions in a computing system
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
KR102368600B1 (ko) * 2017-05-31 2022-03-02 현대자동차주식회사 이종망 데이터 전송이 가능한 i2c 통신 고속화 시스템
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
WO2019173135A1 (en) * 2018-03-08 2019-09-12 quadric.io, Inc. A machine perception and dense algorithm integrated circuit
WO2019190707A1 (en) 2018-03-28 2019-10-03 Quadric.I0, Inc. System and method for implementing a machine perception and dense algorithm integrated circuit
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US11200186B2 (en) * 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US12086080B2 (en) 2020-09-26 2024-09-10 Intel Corporation Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
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
US5113500A (en) * 1989-08-23 1992-05-12 Unisys Corporation Multiple cooperating and concurrently operating processors using individually dedicated memories
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5349683A (en) * 1992-07-16 1994-09-20 Mosel-Vitelic Bidirectional FIFO with parity generator/checker
US5448565A (en) * 1992-11-12 1995-09-05 International Business Machines Corp. Multiport LAN bridge
US5448701A (en) * 1992-12-22 1995-09-05 International Business Machines Corporation Flow controller for shared bus used by plural resources
JPH06314264A (ja) * 1993-05-06 1994-11-08 Nec Corp セルフ・ルーティング・クロスバー・スイッチ
JP3454294B2 (ja) * 1994-06-20 2003-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプル・バス情報処理システム及びブリッジ回路
US5859988A (en) * 1995-09-29 1999-01-12 Intel Corporation Triple-port bus bridge
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US5941969A (en) * 1997-10-22 1999-08-24 Auspex Systems, Inc. Bridge for direct data storage device access
US6678801B1 (en) * 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
US6618782B1 (en) * 1998-11-23 2003-09-09 Advanced Micro Devices, Inc. Computer interconnection bus link layer
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6628662B1 (en) * 1999-11-29 2003-09-30 International Business Machines Corporation Method and system for multilevel arbitration in a non-blocking crossbar switch

Also Published As

Publication number Publication date
US7099983B2 (en) 2006-08-29
EP1422626A3 (en) 2007-10-24
EP1422626B1 (en) 2012-06-13
US20040103230A1 (en) 2004-05-27
EP1422626A2 (en) 2004-05-26
JP4447892B2 (ja) 2010-04-07

Similar Documents

Publication Publication Date Title
JP4447892B2 (ja) マルチコア通信モジュールを組み入れたデータ通信システム及び方法
US7277449B2 (en) On chip network
US7328289B2 (en) Communication between processors
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
US6996651B2 (en) On chip network with memory device address decoding
US4935868A (en) Multiple port bus interface controller with slave bus
US4947366A (en) Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US7200137B2 (en) On chip network that maximizes interconnect utilization between processing elements
US7139860B2 (en) On chip network with independent logical and physical layers
US7051150B2 (en) Scalable on chip network
US6128669A (en) System having a bridge with distributed burst engine to decouple input/output task from a processor
US6895457B2 (en) Bus interface with a first-in-first-out memory
US5978858A (en) Packet protocol and distributed burst engine
US20040107265A1 (en) Shared memory data transfer apparatus
EP1307818B1 (en) Implementing locks in a distributed processing system
EP1730643A2 (en) Pvdm (packet voice data module) generic bus protocol
EP1047994A2 (en) Intelligent data bus interface using multi-port memory
JP2001142842A (ja) Dmaハンドシェークプロトコル
WO1996000940A1 (en) Pci to isa interrupt protocol converter and selection mechanism
US6675251B1 (en) Bridge device for connecting multiple devices to one slot
US6253304B1 (en) Collation of interrupt control devices
US6339808B1 (en) Address space conversion to retain software compatibility in new architectures
EP1367499A1 (en) Compute node to mesh interface for highly scalable parallel processing system
EP1367492A1 (en) Compute node to mesh interface for highly scalable parallel processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100121

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees