JP2006505046A - 適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ - Google Patents

適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ Download PDF

Info

Publication number
JP2006505046A
JP2006505046A JP2004548488A JP2004548488A JP2006505046A JP 2006505046 A JP2006505046 A JP 2006505046A JP 2004548488 A JP2004548488 A JP 2004548488A JP 2004548488 A JP2004548488 A JP 2004548488A JP 2006505046 A JP2006505046 A JP 2006505046A
Authority
JP
Japan
Prior art keywords
memory
bus
adaptive processor
computing system
memory controller
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.)
Withdrawn
Application number
JP2004548488A
Other languages
English (en)
Other versions
JP2006505046A5 (ja
Inventor
ハッペンサール,ジョン・エム
シーマン,トーマス・アール
バートン,リー・エイ
Original Assignee
エス・アール・シィ・コンピューターズ・インコーポレイテッド
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 エス・アール・シィ・コンピューターズ・インコーポレイテッド filed Critical エス・アール・シィ・コンピューターズ・インコーポレイテッド
Publication of JP2006505046A publication Critical patent/JP2006505046A/ja
Publication of JP2006505046A5 publication Critical patent/JP2006505046A5/ja
Withdrawn 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

コアロジックのメモリ・I/Oコントローラチップに追加されたまたはこれに関連付けられた適応プロセッサインターフェイスポート(APIP)を用いてハイブリッド計算システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ。上記ポートおよび主マイクロプロセッサバスへおよびこれらからのメモリアクセスは、コントローラチップの一部を形成するメモリ制御回路によって調停される。こうすることにより、ハイブリッド計算システムにおけるマイクロプロセッサと適応プロセッサとのメモリ帯域幅および待ち時間が等しくなる。これに加え、APIPはマイクロプロセッサバスとは別個の電気的ポートであるため、すべてのFSBプロトコルに準拠および関与する必要はない。その結果プロトコルのオーバーヘッドが減少し、その結果としてインターフェイスで得られる処理可能な負荷の量が大きくなる。

Description

関連特許出願の相互参照
この発明は、2001年1月5日出願の米国特許出願連続番号第09/755,744号「メモリサブシステムにおいて複数のメモリアルゴリズムプロセッサを組込んだ多重プロセッサのコンピュータアーキテクチャ(“Multiprocessor Computer Architecture incorporating a Plurality of Memory Algorithm Processors in the Memory Subsystem”」からの優先権を主張しかつその部分継続出願であり、これは2000年1月12日出願の米国特許出願連続番号第09/481,902号(現在は米国特許第6,247,110号)の分割出願であり、これは1997年12月17日出願の米国特許出願連続番号第08/992,763号(現在は米国特許第6,076,152号)の継続出願である。この発明は、1992年1月15日発行の米国特許第6,339,819号「ロードされた入力バッファ内のオペランドに各々のプロセッサ要素がアクセスして結果をFIFO出力バッファに送る多重プロセッサ(“Multiprocessor with Each Processor Element Accessing Operands in Loaded Input Buffer and Forwarding Results to FIFO Output Buffer”)」の主題に関するものである。上述の特許出願および発行された特許は、この発明の譲受人であるSRCコンピューターズ・インコーポレイテッド(SRC Computers, Inc.)に譲渡されており、その開示は本願明細書中でこの引用によりその全体において明確に援用される。
発明の背景
この発明は、一般的に、種々の処理または計算を相互接続するコンピュータシステムおよび技術の分野に関する。より特定的には、この発明は、適応プロセッサインターフェイスポートを用いてハイブリッド計算システム内で緊密結合するためのハイブリッドコンピュータシステムアーキテクチャおよびメモリコントローラに関する。
ハイブリッドコンピュータシステムとは、標準的なマイクロプロセッサおよび適応プロセッサの両方を組込んだものである。典型的には、これは共用されるネットワーク上に常駐する大型のサーバタイプの多重プロセッサシステムであり、ユーザインターフェイスコンソールからは直接操作されない。このようなシステムの全体的な性能および柔軟性は、マイクロプロセッサと適応プロセッサとの結合のレベルに正比例する。すなわち、これら2種のプロセッサが対等なものとして扱われて帯域幅および共有メモリに対する待ち時間が等しいときにシステム性能は最大限となる。
現在までに、上記2形態のプロセッサを結合する方法がいくつか受入れられている。その最も基本的なものは、標準的な入出力(I/O)ポートを介して適応プロセッサをマイクロプロセッサに接続するというものであった。これは比較的実施が容易ではあるが、得られる結合は極めて緩いものに過ぎず、プロセッサバスの帯域幅および待ち時間に対して帯域幅は小さく待ち時間は長くなる。両種のプロセッサは同じメモリを共有しなければならないため、適応プロセッサでの性能は著しく低下したものとなる。また、上記技術では、現実に生じ得るプロセッサ間の対話の量は制限される。
第2の典型的な相互接続方法は、上述の特許および特許出願で開示されたいくつかの特定の実施例に開示されたように、マイクロプロセッサのメモリ空間内に適応プロセッサを配置するというものである。この接続によればはるかに緊密な結合が得られ、帯域幅およ
び待ち時間は一般的にマイクロプロセッサバスのものと等しくなる。それにもかかわらず、特に小さな転送の場合、この接続に関連するオーバーヘッドは望ましいよりも大きくなる場合がある。これは、パーソナルコンピュータ環境における標準的なメモリサブシステムが「スレーブ的」な性質を有するためである。
第3の公知の方法は、適応プロセッサを直接にマイクロプロセッサのバスまたは一次マイクロプロセッサ相互接続部(たとえばフロントサイドバス(FSB))上に配置するというものである。この方法であれば、適応プロセッサの帯域幅および、システムにおける残りの部分に対する待ち時間を、確実にマイクロプロセッサでのそれと等しくできるように見える。しかしながら、現実にはこれは必ずしも当てはまるものではない。インテル(登録商標)(Intel)マイクロプロセッサの場合、適応プロセッサといった異質なデバイスは特別の扱いを受けることがあり、第三者エージェントとして分類される。したがって、場合によっては、キャッシュされたデータの移動またはI/O装置へのデータの移動に関連した機能などバスにおける多くの機能を利用することができない。また、適応プロセッサはそれ自体が1つの回路基板であり、そのマイクロプロセッサへの接続がバスレイアウトの基本的な規則を侵すおそれがあるという場合もあり得る。これに加え、適応プロセッサは、一貫性のあるバス・エージェントでない場合もあるにもかかわらず、キャッシュの一貫性に関係するトランザクションに正しく応答するなどマイクロプロセッサのバスのプロトコルすべてに関与しなければならない場合もある。
発明の概要
しかし、所望の結合を達成すると同時に、マイクロプロセッサバスに常駐していることに関連する問題を解消する方策が存在する。これは、コアロジックのメモリ・I/Oコントローラチップ、すなわち典型的には現在のインテル(登録商標)ベースのプロセッサボード上で「ノースブリッジ」と呼ばれるものに追加されたまたはこれに関連付けられた専用の適応プロセッサインターフェイスポート(APIP)を採用することによるものである。そして、このポートおよび主マイクロプロセッサバスへおよびこれらからのメモリアクセスは、メモリコントローラ内の回路によって調停される。こうすることで、マイクロプロセッサおよび適応プロセッサ両方のメモリ帯域幅および待ち時間は等しくなる。これに加え、APIPは、マイクロプロセッサバスとは別個の電気的ポートであるため、すべてのFSBプロトコルに準拠および関与する必要はない。その結果プロトコルのオーバーヘッドが減少し、その結果としてインターフェイスで得られる処理可能な負荷の量が大きくなる。
適応プロセッサへのデータの移動を高速化するために、ノースブリッジ内に直接メモリアクセス(DMA)エンジンを含めることもまた可能である。これによって、適応プロセッサはAPIP経由で単一の「読出」要求を発行して、その結果DMAエンジンに実際大きなデータブロックを検索させて適応プロセッサへ送信させることが可能となる。このDMAエンジンは「読出」要求および「書込」要求の両方を同時に処理することができるため、適応プロセッサ内でストリーミング動作を可能な限り効率的に生じさせることができる。
構築され得るシステムを極めて大型化できるように、このポートに十分な駆動能力を与えて、これが外部の相互接続部、たとえば大型のクロスバースイッチと接続できるようにしてもよい。こうすることで、多数の適応プロセッサとマイクロプロセッサとは、問題を解決するためにランダムに相互接続されて働くことができる。スイッチにおけるいずれの所与のポートも、いずれの時点においてもビジーとなる可能性があるため、APIPの外部行きの経路に小さなバッファを設け、こうして、当該経路がビジーになったときに進行
中であり得る「読出」メモリアクセスがデータの損失なしに完了できるようにすることが望ましい。当該経路が自由になると直ちにバッファからの抜取りおよび送信を行なって現在のDMAを再開させることができる。経路がビジーであることを示す方策としては、ビジーな受信側のポートからこれが接続される送信機へ「ビジー」信号を送信するというものがある。これに伴ない、APIPは「ビジー」信号を受取ると送信を止め、何らかの理由でデータをこれ以上受取ることができなくなったときに別個の「ビジー」信号を生成する。
適応プロセッサの制御と、適応プロセッサおよびマイクロプロセッサ間の直接通信とを支援するものとして、一連の好ましくは64ビットのレジスタをメモリコントローラ内に含めるのがよい。そして、これらレジスタは、マイクロプロセッサまたは適応プロセッサのいずれかからアクセス可能にされ得る。
一般的に、大型のシステムにおいては、プロセッサは互いを中断する必要がある。これはハイブリッドシステムを扱う場合にも当てはまる。したがって、APIPには、プロセッサ間の中断をマイクロプロセッサから受入れてシステム内の他のプロセッサに送る能力と、逆の機能を実行してプロセッサ間の中断を受取る能力とを与えてもよい。このポートは物理的外観においてAGPグラフィックスポートと類似し得る。実際、典型的にAGP(accelerated graphics port)はサーバにおいては、モニタがないことから用いられないため、メモリコントローラにおける同じデバイスピンを使用し、レジスタを用いてポートをAGPまたはAPIPのいずれかとして構成可能にすることも可能であろう。
本願明細書において特定的に開示されるのは、第1のバスを与える少なくとも1つのマイクロプロセッサと、上記第1のバスに結合され、さらにメモリバスおよび適応プロセッサポートに結合されたメモリコントローラと、上記メモリバスに結合されたメモリブロックと、上記適応プロセッサポートに結合された適応プロセッサとを備えるコンピュータシステムである。
本願明細書においてさらに開示されるのは、少なくとも1つのマイクロプロセッサと、メモリブロックと、上記マイクロプロセッサおよび上記メモリブロックに結合されて上記少なくとも1つのマイクロプロセッサによる上記メモリブロックへのアクセスを制御するためのメモリコントローラと、上記メモリコントローラに結合された少なくとも1つの適応プロセッサとを備え、上記メモリコントローラがさらに上記少なくとも1つの適応プロセッサによる上記メモリブロックへのアクセスを制御する、ハイブリッド計算システムである。
本願明細書においてさらに開示されるのは、第1および第2の処理要素と、メモリブロックと、第1のバスを介して上記第1の処理要素に結合されかつ第2のバスを介して上記第2の処理要素に結合され、上記第1および第2の処理要素による上記メモリブロックへのアクセスを制御するメモリコントローラとを備える、計算システムである。
本願明細書においてさらに開示されるのは、第1および第2の処理要素ならびにメモリブロック間に結合され、上記第1および第2の処理要素による上記メモリブロックへのアクセスを制御するメモリバス調停部を備える、計算システム用メモリコントローラである。
以下の好ましい実施例の説明を添付の図面とともに参照することで、この発明に関する上記およびその他の特徴および目的ならびにこれを達成する態様がより明らかとなり、ま
たこの発明それ自体が最もよく理解されるであろう。
代表的な実施例の説明
まず図1を参照して、典型的な計算システム100の高レベルの機能ブロック図が示される。計算システム100は、たとえば、集積回路(IC)メモリコントローラ(ノースブリッジ)102を組込んだパーソナルコンピュータ(PC)であり得る。市場で入手できるICメモリコントローラ102としては、VIAテクノロジーズ・インコーポレイテッド(VIA Technologies, Inc.)社製のP4X333/P4X400デバイス、エイサー・ラブズ・インコーポレイテッド(Acer Labs, Inc.)社製のM1647デバイス、およびインテル・コーポレイション(Intel Corporation)社製の824430Xデバイスなどがある。ノースブリッジIC102はフロントサイドバス(FSB)を用いてプロセッサ104に結合される。プロセッサ104としては、たとえばインテル・コーポレイション社製のPentium(登録商標)シリーズのプロセッサの1つが挙げられる。
ノースブリッジIC102は、別個のメモリバスを介してシステムメモリ106に結合される。システムメモリ106は、たとえば或る数の同期ダイナミック・ランダムアクセス(SDRAM)メモリモジュールを含み得る。また、システム100をグラフィックスアクセラレータにインターフェイスするための専用のAGP(accelerated graphics port)が設けられ、またノースブリッジIC102と追加の入出力I/OコントローラIC(サウスブリッジ)108とを結合するブリッジ間のバスが設けられる。サウスブリッジICはたとえばスタンダード・マイクロシステムズ・コーポレイション(Standard Microsystems, Corporation)社製のSLC90E66デバイス、またはVIAテクノロジーズ社製のVT8235デバイスであり得る。
サウスブリッジIC108は、システム100をPCI(peripheral component interconnect)バスに結合し、或る数の専用PCIスロット110とのインターフェイスをとる。また、USB(universal serial bus)、システム管理(system management:SM)バスおよび汎用(general purpose:GP)I/Oバスとの相互接続部が設けられ、さらに、システム100のさまざまな構成要素のうち或る数の構成要素を制御するシステムコントローラ114および基本入出力システム(BIOS)ブロック112へのISA/EIO(industry standard architecture/extended I/O)バスへの相互接続部が設けられる。
次に図2を併せて参照して、典型的なI/O接続のハイブリッド計算システム200の機能ブロック図が示される。ハイブリッド計算システム200は1つ以上のノースブリッジIC202O〜202Nを含み、その各々がフロントサイドバスを用いて4つのマイクロプロセッサ20400〜20403から204N0〜204N3まで(これらを含む)に結合される。ノースブリッジIC202O〜202Nは、それぞれメモリブロック206O〜206Nに結合され、さらに対応するI/Oブリッジ要素208O〜208Nに結合される。ネットワークインターフェイスカード(NIC)212O〜212Nは、それぞれI/Oブリッジ208O〜208NのI/Oバスをクラスタバスに結合し、これは共通のクラスタ化ハブ(またはイーサネット(登録商標)スイッチ)214に結合される。
図示のように、適応プロセッサ要素210O〜210Nは、それぞれI/Oブリッジ208O〜208Nに結合され関連付けられる。これはハイブリッド計算システム200において適応プロセッサ210を接続する既存の手法の中でも最も基本的なものであり、本質的には標準的なI/Oポートを介してマイクロプロセッサ204への接続により実現される。これは比較的実現が容易ではあるが、その結果として適応プロセッサ210およびマイクロプロセッサ204間の結合は極めて「緩い」ものとなり、その結果、プロセッサバスの帯域幅および待ち時間に対して帯域幅は小さく待ち時間は長くなる。さらに、両種のプ
ロセッサ204,210は同じメモリ206を共有しなければならないため、適応プロセッサ210での性能は著しく低下したものとなる。機能的には、このアーキテクチャでは、現実に生じ得るマイクロプロセッサ204および適応プロセッサ210間の対話の量は大幅に制限される。
次に図3を併せて参照して、典型的なメモリ接続のハイブリッド計算システム300の機能ブロック図が示される。このハイブリッド計算システム300もまた或る数のノースブリッジIC202O〜202Nを含み、その各々がフロントサイドバスを用いて4つのマイクロプロセッサ20400〜204O3から204N0〜204N3まで(これらを含む)に結合される。ノースブリッジIC202O〜202Nはそれぞれメモリブロック206O〜206Nに結合され、さらに対応するI/Oブリッジ要素208O〜208Nに結合される。ネットワークインターフェイスカード(NIC)212O〜212Nは、それぞれI/Oブリッジ208O〜208NのI/Oバスをクラスタバスに結合し、これは共通のクラスタ化ハブ(またはイーサネット(登録商標)スイッチ)214に結合される。
図示のように、適応プロセッサ要素310O〜310Nは、それぞれメモリブロック206O〜206Nに結合され関連付けられる。この特定の計算システム300のアーキテクチャにおいては、適応プロセッサ310は、上述の特許のいくつかに開示された態様で実質的にマイクロプロセッサ204のメモリ206空間内に配置される。図示の計算システム300のアーキテクチャによれば、マイクロプロセッサ204および適応プロセッサ310間において、先の図の計算システム200でのものよりもはるかに緊密な結合が得られ、帯域幅および待ち時間は一般的にマイクロプロセッサバス自体のものと等しくなる。それにもかかわらず、特に小さな転送の場合、この種の相互接続に関連するオーバーヘッドは望ましいよりも大きくなる場合があるが、それはパーソナルコンピュータ環境における標準的なメモリサブシステムが実質的に「スレーブ的」な性質を有するためである。
次に図4を併せて参照して、典型的なフロントサイドバス(FSB)接続のハイブリッド計算システム400の機能ブロック図が示される。このハイブリッド計算システム400もまた或る数のノースブリッジIC202O〜202Nを含み、その各々がフロントサイドバスを用いて4つのマイクロプロセッサ20400〜204O3から204N0〜204N3まで(これらを含む)に結合される。ノースブリッジIC202O〜202Nはそれぞれメモリブロック206O〜206Nに結合され、さらに対応するI/Oブリッジ要素208O〜208Nに結合される。ネットワークインターフェイスカード(NIC)212O〜212Nは、それぞれI/Oブリッジ208O〜208NのI/Oバスをクラスタバスに結合し、これは共通のクラスタ化ハブ(またはイーサネット(登録商標)スイッチ)214に結合される。
図示のように、適応プロセッサ要素410O〜410Nは、それぞれ、マイクロプロセッサ204O0〜204O3から204N0〜204N3まで(これらを含む)に結合されたフロントサイドバスに結合され関連付けられる。この特定のアーキテクチャにおいては、適応プロセッサ410は直接にマイクロプロセッサ204のバスまたはフロントサイドバス上に配置される。この相互接続方式であれば、適応プロセッサ410の帯域幅および、計算システム400における残りの部分に対する待ち時間を、確実にマイクロプロセッサ204でのそれと等しくできるように見える。しかしながら、現実にはこれは必ずしも当てはまるものではない。インテル(登録商標)マイクロプロセッサの場合、適応プロセッサ410といった「異質な」デバイスは特別な扱いを受けることがあり、「第三者エージェント」として分類される。したがって、場合によっては、キャッシュされたデータの移動またはI/O装置へのデータの移動に関連した機能などフロントサイドバスにおける多くの機能を利用することができない。また、適応プロセッサ410はそれ自体が1つの回路基板であり、そのマイクロプロセッサへの接続がバスレイアウトの基本的な規則を侵すおそれ
があるという場合もあり得る。これに加え、適応プロセッサ410は、それ自体が一貫性のあるバス・エージェントでない場合もあるにもかかわらず、キャッシュの一貫性に関係するトランザクションに正しく応答するなどマイクロプロセッサ204のバスのプロトコルすべてに関与しなければならない場合もある。
次に図5を併せて参照して、先の図に対応した、この発明に従う適応プロセッサインターフェイスポート(APIP)接続のハイブリッド計算システム500の機能ブロック図が示される。計算システム500は或る数のメモリ・I/Oコントローラ502O〜502Nを含み、その各々がフロントサイドバスを用いて4つのマイクロプロセッサ204O0〜204O3から204NO〜204N3まで(これらを含む)に結合される。メモリ・I/Oコントローラ502O〜502Nはそれぞれメモリブロック206O〜206Nに結合され、さらに対応するI/Oブリッジ要素208O〜208Nに結合される。ネットワークインターフェイスカード(NIC)212O〜212Nは、それぞれI/Oブリッジ208O〜208NのI/Oバスをクラスタバスに結合し、これは共通のクラスタ化ハブ(またはイーサネット(登録商標)スイッチ)214に結合される。
図示のように、適応プロセッサ要素510O〜510Nは、適応プロセッサインターフェイスポート(APIP)を介してそれぞれメモリ・I/Oコントローラ502O〜502Nに結合され関連付けられるので、計算システム500の性能が向上し、上述の従来技術にあった問題が解消される。この発明についての他の実現例としては、適応プロセッサ510のうち1つ以上に代えて従来のマイクロプロセッサをAPIPインターフェイスに結合することもできる。
ここに開示した好ましい実施例においては、上記のことは、メモリ・I/Oコントローラ502(たとえばノースブリッジチップ)に追加されたまたはこれに関連付けられた専用の適応プロセッサインターフェイスポートを採用することによって実現することができる。そして、このAPIPポートへおよびここからのメモリアクセス、ならびに主マイクロプロセッサ204のバス(たとえばフロントサイドバス)へおよびここからのメモリアクセスは、メモリ・I/Oコントローラ502内のメモリ制御回路によって調停される。こうすることで、マイクロプロセッサ204および適応プロセッサ510両方のメモリ帯域幅および待ち時間は等しくなる。これに加え、APIPは、マイクロプロセッサバスのそれとは別個の電気的ポートであるため、すべてのFSBプロトコルに準拠および関与する必要はない。その結果プロトコルのオーバーヘッドが減少し、そしてその結果としてインターフェイスで得られる処理可能な負荷の量が大きくなる。
次に図6を併せて参照して、先の図のAPIPインターフェイスを実現するメモリ・I/Oコントローラ502の機能ブロック図が示される。このメモリ・I/Oコントローラ502はFSBインターフェイス512を含む。FSBインターフェイス512はメモリバス調停部514により制御され、マイクロプロセッサ204O0〜204O3から204N0〜204N3まで(これらを含む)へ/からの、優先度の高い要求に応答する。メモリバス調停部514はまた、メモリブロック206O〜206Nへのアクセスを可能にするためのメモリインターフェイス516を制御する。I/Oブリッジ要素208O〜208Nを通る優先度の低い要求は、メモリバス調停部514により制御されてブリッジ間インターフェイス518を通じて行なわれる。
図示のように、メモリ・I/Oコントローラ502は、従来のAGPバスインターフェイスの代わりに、またはこれに追加して、適応プロセッサ要素510O〜510Nとのインターフェイスをとりこれと通信するためのAPIPインターフェイス524を含む。また、直接メモリアクセス(DMA)エンジン520は、「読出」についての読出要求バッファ522とともに、たとえば別個の「データ書込」バスおよび「データ読出」バス経由で
、メモリバス調停部514およびAPIPインターフェイス524へおよびここからの優先度の高い要求を処理する。APIPインターフェイス524は、例示の一実施例において、APIPインターフェイスからDMAエンジン520への「ビジー」信号を設けることを含み得る。さらに、FSBインターフェイス512をAPIPインターフェイス524に結合する或る数の制御レジスタ526が設けられ得る。
動作においては、DMAエンジン520は、メモリ・I/Oコントローラ502を通って適応プロセッサ510に至るデータの移動を高速化するように働くことができる。この機能によって、適応プロセッサ510は、APIPインターフェイス524経由で単一の「読出」要求を発行して、その結果DMAエンジン520に実際大きなデータブロックを検索させて適応プロセッサ510へ送信させることが可能となる。このDMAエンジン520は「読出」要求および「書込」要求の両方を同時に処理することができるため、適応プロセッサ510内でストリーミング動作を可能な限り効率的に生じさせることができる。
構築され得る計算システム500を極めて大型化できるように、APIPインターフェイス524に十分な駆動能力を与えて、これが外部の相互接続部、たとえば大型のクロスバースイッチと接続できるようにしてもよい。こうすることで、多数の適応プロセッサ510とマイクロプロセッサ204とは、問題を解決するためにランダムに相互接続されて働くことができる。スイッチにおけるいずれの所与のポートも、いずれの時点においてもビジーとなる可能性があるため、APIPインターフェイス524の外部行きの経路に小さなバッファ(たとえば読出要求バッファ522)を設け、こうして、当該経路が「ビジー」になったときに進行中であり得る「読出」メモリアクセスがデータの損失なしに完了できるようにすることが望ましい。当該経路が自由になると直ちにバッファ522からの抜取りおよび送信を行なって現在のDMA動作を再開することができる。経路がビジーであることを示す方策としては、ビジーな受信側のポートからこれが接続される送信機へ「ビジー」信号を送信するというものがある。これに伴ない、APIPインターフェイス524は「ビジー」信号を受取ると送信を止め、何らかの理由でデータをこれ以上受取ることができなくなったときに別個の「ビジー」信号を生成する。
適応プロセッサ510の制御と、適応プロセッサ510およびマイクロプロセッサ204間の直接通信とを支援するものとして、一連のたとえば64ビットの制御レジスタ526をメモリ・I/Oコントローラ502の一部として含める場合がある。これらレジスタ526は、マイクロプロセッサ204または適応プロセッサ510のいずれかからアクセス可能であるのが理想的である。一般的に、比較的大型の計算システム500においては、プロセッサ204は互いを中断する必要がある。これはハイブリッド計算システムを扱う場合にも当てはまる。したがって、APIPインターフェイス524には、プロセッサ204間の中断をマイクロプロセッサ204から受入れてシステム内の他のプロセッサ204に送る能力と、逆の機能を実行してプロセッサ204間の中断を受取る能力とを与えてもよい。
特定の実現例において、APIPインターフェイス524は物理的外観においてAGPグラフィックスポートに類似し得る。実際、典型的にAGP(accelerated graphics port)はサーバにおいては、モニタがないことから用いられないため、典型的なノースブリッジ装置において他では利用可能である同じピンを使用し、レジスタを用いてポートをAGPまたはAPIPのいずれかとして構成可能にすることも可能である。
次に図7を併せて参照して、適応プロセッサ要素510として使用され得る多適応型プロセッサ要素(MAPTM、SRCコンピューターズ・インコーポレイテッドの登録商標)の機能ブロック図が示される。適応プロセッサ要素510は、上述の発行された特許およ
び係属中の特許出願に開示されたような1つ以上のフィールド・プログラマブル・ゲートアレイ(FPGA)を含み得るユーザアレイ539を含む。図示のように、2つ以上の適応プロセッサ要素510を直接に結合するためのチェーンポートを設けることができる。
制御チップ532は、適応プロセッサ要素510を関連のメモリ・I/Oコントローラ502のAPIPインターフェイス524に結合し、対応するユーザアレイ530に制御機能を提供する。制御チップ532およびユーザアレイ530には、オンボードメモリ534がたとえば6個のポートを介して結合される。簡潔に説明すると、メモリ・I/Oコントローラ502の書込データ線および読出データ線が制御チップ(またはブロック)532に結合され、制御チップ532は、或る数のアドレス線でオンボードメモリ534にアドレスを与えてユーザアレイ530からアドレスを受取る。書込データ線で供給されるデータは、制御チップ532により、或る数のデータ線でオンボードメモリ534に与えられ、オンボードメモリ534から読出されるデータは、上記の同じ線でユーザアレイ530および制御チップ532に与えられ、この後でAPIPインターフェイス524に呈示され得るようになる。上述のように、ユーザアレイ530にはチェーンポートを結合して、1つ以上の他の適応プロセッサ510と直接に読出データおよび書込データを通信させることができる。
次に図8を併せて参照して、この発明の別の実施例に従う適応プロセッサインターフェイスポート接続のハイブリッド計算システム800の一部の機能ブロック図が示される。図示のように、計算システム800においては、メモリ・I/Oコントローラ802の機能はマイクロプロセッサ804に組込まれている。このようにして、メモリ・I/Oコントローラ802のメモリインターフェイス516をメモリブロック806に結合することができ、ブリッジ間インターフェイス518をI/Oブリッジ808に結合することができ、APIPインターフェイス524を適応プロセッサ810に結合することができる。計算システム800においては、メモリ・I/Oコントローラ502(図6)の機能は維持されているが、一体的なメモリ・I/Oコントローラ802を含めることによりメモリ・I/Oコントローラ502の機能をマイクロプロセッサ804に一体化しているので、別個のチップまたは集積回路装置の必要性がなくなる。
以上、この発明の原理について、特定の計算システムアーキテクチャおよび構成要素との関連において説明したが、以上の説明は単に例としてなされたものであり、この発明の範囲の限定としてなされたものではないことが明らかに理解されるであろう。特に、以上の開示の教示によって当業者には他の変形例が示唆されることが認められる。このような変形例は、それ自体で既に公知である他の特徴であって、本願明細書に既に記載された特徴の代わりにまたはこれに追加して用いられ得るものを含み得る。本願においては、特許請求の範囲を特定の特徴の組合せに対して作成してあるが、ここでの開示の範囲は、明示的または暗示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、または当業者には明らかであろうそのあらゆる一般化もしくは変形をも含み、かつこのようなものがいずれかの請求項において現在請求されている同じ発明に関係するか否か、およびこの発明が直面する同じ技術的問題のうちいずれかまたはすべてを緩和するか否かにはかかわらないことが理解されるべきである。本出願人はこれにより、本願またはここから導き出されるあらゆるさらなる出願についての手続中に、上記のような特徴および/または上記のような特徴の組合せに対して新たな請求項を作成する権利を留保する。
メモリ・入出力(I/O)コントローラ(ノースブリッジ)およびPCI(peripheral component interconnect)バスI/Oコントローラ(サウスブリッジ)との関連で実現されたパーソナルコンピュータ(PC)など典型的な計算システムの高レベルの機能ブロック図である。 或る数のマイクロプロセッサおよび適応プロセッサを含み、これら適応プロセッサがI/Oブリッジに結合された典型的なI/O接続のハイブリッド計算システムの機能ブロック図である。 或る数のマイクロプロセッサおよび適応プロセッサを含み、これら適応プロセッサがシステムメモリに結合された典型的なメモリ接続のハイブリッド計算システムの機能ブロック図である。 或る数のマイクロプロセッサおよび適応プロセッサを含み、これら適応プロセッサが直接にフロントサイドバス(FSB)に結合された典型的なFSB接続のハイブリッド計算システムの機能ブロック図である。 先の図に対応して、この発明に従い、或る数のマイクロプロセッサおよび適応プロセッサを含み、これら適応プロセッサが直接にメモリ・I/Oコントローラに結合された適応プロセッサインターフェイスポート(APIP)接続のハイブリッド計算システムの機能ブロック図である。 適応プロセッサとともに用いられるAPIPインターフェイスを実現するメモリ・I/Oコントローラの機能ブロック図である。 この発明に従うハイブリッド計算システムにおいて適応プロセッサとして使用され得る多適応型プロセッサ(MAPTM、SRCコンピューターズ・インコーポレイテッドの登録商標)の機能ブロック図である。 この発明の別の実施例に従う適応プロセッサインターフェイスポート接続のハイブリッド計算システムであって、メモリ・I/Oコントローラの機能がマイクロプロセッサ自体に組込まれたものの一部の機能ブロック図である。

Claims (55)

  1. コンピュータシステムであって、
    第1のバスを与える少なくとも1つのマイクロプロセッサと、
    前記第1のバスに結合されたメモリコントローラとを備え、前記メモリコントローラはメモリバスおよび適応プロセッサポートに結合され、前記コンピュータシステムはさらに、
    前記メモリバスに結合されたメモリブロックと、
    前記適応プロセッサポートに結合された適応プロセッサとを備える、コンピュータシステム。
  2. 前記コンピュータシステムはさらに、前記第1のバスに結合された複数のマイクロプロセッサを備える、請求項1に記載のコンピュータシステム。
  3. 前記メモリコントローラはさらに、コンピュータシステムクラスタ化ハブに結合された第2のバスを含む、請求項1に記載のコンピュータシステム。
  4. さらに、他の第2のバスを通じて前記クラスタ化ハブに結合され、さらに他の第1のバスを通じて少なくとも1つの他のマイクロプロセッサに結合された少なくとも1つの追加のメモリコントローラを備える、請求項3に記載のコンピュータシステム。
  5. さらに、他のメモリバスを通じて前記少なくとも1つの追加のメモリコントローラに結合された他のメモリブロックを備える、請求項4に記載のコンピュータシステム。
  6. さらに、前記少なくとも1つの追加のメモリコントローラにおける他の適応プロセッサポートに結合された少なくとも1つの追加の適応プロセッサを備える、請求項4に記載のコンピュータシステム。
  7. 前記適応プロセッサポートは代替的にグラフィックスポートとして構成可能である、請求項1に記載のコンピュータシステム。
  8. 前記第1のバスはフロントサイドバスを含む、請求項1に記載のコンピュータシステム。
  9. 前記適応プロセッサは、
    前記適応プロセッサポートに結合された制御要素と、
    前記制御要素に結合されたユーザアレイと、
    前記制御要素および前記ユーザアレイに結合されたメモリ要素とを含む、請求項1に記載のコンピュータシステム。
  10. 前記ユーザアレイはさらに、前記適応プロセッサ要素を第2の適応プロセッサ要素に結合するためのチェーンポートを含む、請求項9に記載のコンピュータシステム。
  11. 前記ユーザアレイはフィールド・プログラマブル・ゲートアレイを含む、請求項9に記載のコンピュータシステム。
  12. 前記メモリコントローラは、
    メモリバス調停部と、
    前記メモリバス調停部に関連付けられ、前記第1のバスで受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記適応プロセッサポートで受取られたメモリアクセス要求を制御するための適応プロセッサポートインターフェイスとを含む、請求項1に記載のコンピュータシステム。
  13. さらに、前記メモリバス調停部と前記適応プロセッサポートインターフェイスとを結合する直接メモリアクセスエンジンを備える、請求項12に記載のコンピュータシステム。
  14. 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記適応プロセッサポートインターフェイスに結合される、請求項13に記載のコンピュータシステム。
  15. さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項13に記載のコンピュータシステム。
  16. さらに、前記適応プロセッサポートインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項13に記載のコンピュータシステム。
  17. さらに、前記第1のバスインターフェイスおよび前記適応プロセッサポートインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項12に記載のコンピュータシステム。
  18. さらに、前記メモリバス調停部に関連付けられた第2のバスインターフェイスを備える、請求項12に記載のコンピュータシステム。
  19. 前記メモリコントローラは集積回路装置を含む、請求項1に記載のコンピュータシステム。
  20. 前記少なくとも1つのマイクロプロセッサは前記メモリコントローラを含む、請求項1に記載のコンピュータシステム。
  21. 少なくとも1つのマイクロプロセッサと、
    メモリブロックと、
    前記マイクロプロセッサおよび前記メモリブロックに結合されて前記少なくとも1つのマイクロプロセッサによる前記メモリブロックへのアクセスを制御するためのメモリコントローラと、
    前記メモリコントローラに結合された少なくとも1つの適応プロセッサとを備え、前記メモリコントローラはさらに前記少なくとも1つの適応プロセッサによる前記メモリブロックへのアクセスを制御する、ハイブリッド計算システム。
  22. 前記メモリコントローラは、
    メモリバス調停部と、
    前記メモリバス調停部に関連付けられ、前記少なくとも1つのマイクロプロセッサから受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記少なくとも1つの適応プロセッサから受取られたメモリアクセス要求を制御するための適応プロセッサポートインターフェイスとを含む、請求項21に記載のハイブリッド計算システム。
  23. さらに、前記メモリバス調停部と前記適応プロセッサポートインターフェイスとを結合する直接メモリアクセスエンジンを備える、請求項22に記載のハイブリッド計算システム。
  24. 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記適応プロセッサポートインターフェイスに結合される、請求項23に記載のハイブリッド計算システム。
  25. さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項23に記載のハイブリッド計算システム。
  26. さらに、前記適応プロセッサポートインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項23に記載のハイブリッド計算システム。
  27. さらに、前記第1のバスインターフェイスおよび前記適応プロセッサポートインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項22に記載のハイブリッド計算システム。
  28. さらに、前記メモリバス調停部に関連付けられた第2のバスインターフェイスを備える、請求項22に記載のハイブリッド計算システム。
  29. 前記メモリコントローラは集積回路装置を含む、請求項21に記載のハイブリッド計算システム。
  30. 前記少なくとも1つのマイクロプロセッサは前記メモリコントローラを含む、請求項21に記載のハイブリッド計算システム。
  31. 第1および第2の処理要素と、
    メモリブロックと、
    第1のバスを介して前記第1の処理要素に結合されかつ第2のバスを介して前記第2の処理要素に結合され、前記第1および第2の処理要素による前記メモリブロックへのアクセスを制御するためのメモリコントローラとを備える、計算システム。
  32. 前記第1の処理要素はマイクロプロセッサを含む、請求項31に記載の計算システム。
  33. 前記第2の処理要素はマイクロプロセッサを含む、請求項32に記載の計算システム。
  34. 前記第2の処理要素は適応プロセッサを含む、請求項32に記載の計算システム。
  35. メモリバス調停部と、
    前記メモリバス調停部に関連付けられ、前記第1の処理要素から受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
    前記メモリバス調停部に関連付けられ、前記第2の処理要素から受取られたメモリアクセス要求を制御するための第2のバスインターフェイスとを備える、請求項31に記載の計算システム。
  36. さらに、前記メモリバス調停部と前記第2のバスインターフェイスとを結合する直接メ
    モリアクセスエンジンを備える、請求項35に記載の計算システム。
  37. 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記第2のバスインターフェイスに結合される、請求項35に記載の計算システム。
  38. さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項35に記載の計算システム。
  39. さらに、前記第2のバスインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項35に記載の計算システム。
  40. さらに、前記第1のバスインターフェイスおよび前記第2のバスインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項31に記載の計算システム。
  41. さらに、前記メモリバス調停部に関連付けられた第3のバスインターフェイスを備える、請求項30に記載の計算システム。
  42. 前記メモリコントローラは集積回路装置を含む、請求項31に記載の計算システム。
  43. 前記メモリコントローラは前記第1の処理要素と一体化される、請求項31に記載の計算システム。
  44. 第1および第2の処理要素ならびにメモリブロック間に結合され、前記第1および第2の処理要素による前記メモリブロックへのアクセスを制御するメモリバス調停部を備える、計算システム用メモリコントローラ。
  45. 前記第1の処理要素はマイクロプロセッサを含む、請求項44に記載のメモリコントローラ。
  46. 前記第1の処理要素は適応プロセッサを含む、請求項44に記載のメモリコントローラ。
  47. 前記第2の処理要素はマイクロプロセッサを含む、請求項45に記載のメモリコントローラ。
  48. 前記第2の処理要素は適応プロセッサを含む、請求項45に記載のメモリコントローラ。
  49. 前記メモリコントローラは、前記第1および第2の処理要素間で中断がやり取りされることを可能にする、請求項44に記載のメモリコントローラ。
  50. さらに、前記第1の処理要素および前記第2の処理要素の両方によりアクセス可能な少なくとも1つのレジスタを備える、請求項44に記載のメモリコントローラ。
  51. さらに、前記メモリバス調停部を前記第1の処理要素に結合する第1のポートインターフェイスと、前記メモリバス調停部を前記第2の処理要素に結合する第2のポートインターフェイスとを備える、請求項44に記載のメモリコントローラ。
  52. 前記第2のポートインターフェイスは代替的にグラフィックスポートインターフェイスとなるよう適合可能である、請求項51に記載のメモリコントローラ。
  53. さらに、前記第2のポートインターフェイスに関連付けられた直接メモリアクセスエンジンを備える、請求項51に記載のメモリコントローラ。
  54. 前記第2のポートインターフェイスは、前記直接メモリアクセスエンジンに対してビジー信号をアサートすることができる、請求項53に記載のメモリコントローラ。
  55. 前記メモリバス調停部はマイクロプロセッサの一部を形成する、請求項44に記載のメモリコントローラ。
JP2004548488A 2002-10-29 2003-10-24 適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ Withdrawn JP2006505046A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/282,986 US7003593B2 (en) 1997-12-17 2002-10-29 Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
PCT/US2003/033941 WO2004040413A2 (en) 2002-10-29 2003-10-24 Memory controller with adaptive processor interface port

Publications (2)

Publication Number Publication Date
JP2006505046A true JP2006505046A (ja) 2006-02-09
JP2006505046A5 JP2006505046A5 (ja) 2006-12-14

Family

ID=32228794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004548488A Withdrawn JP2006505046A (ja) 2002-10-29 2003-10-24 適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ

Country Status (6)

Country Link
US (1) US7003593B2 (ja)
EP (1) EP1559021A4 (ja)
JP (1) JP2006505046A (ja)
AU (1) AU2003286693A1 (ja)
CA (1) CA2491923A1 (ja)
WO (1) WO2004040413A2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565469B2 (en) * 2004-11-17 2009-07-21 Nokia Corporation Multimedia card interface method, computer program product and apparatus
US8909872B1 (en) 2006-10-31 2014-12-09 Hewlett-Packard Development Company, L. P. Computer system with coherent interconnection
US8145749B2 (en) * 2008-08-11 2012-03-27 International Business Machines Corporation Data processing in a hybrid computing environment
US8141102B2 (en) * 2008-09-04 2012-03-20 International Business Machines Corporation Data processing in a hybrid computing environment
US7984267B2 (en) * 2008-09-04 2011-07-19 International Business Machines Corporation Message passing module in hybrid computing system starting and sending operation information to service program for accelerator to execute application program
US8230442B2 (en) 2008-09-05 2012-07-24 International Business Machines Corporation Executing an accelerator application program in a hybrid computing environment
US8458466B2 (en) * 2008-12-22 2013-06-04 International Business Machines Corporation System and method for handling cross-platform system call in a hybrid system
US8191072B2 (en) * 2008-12-22 2012-05-29 International Business Machines Corporation System and method for shifting workloads across platform in a hybrid system
US8621207B2 (en) 2008-12-23 2013-12-31 International Business Machines Corporation System and method for handling cross-platform system call with shared page cache in hybrid system
US8493979B2 (en) * 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8527734B2 (en) 2009-01-23 2013-09-03 International Business Machines Corporation Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system
US9286232B2 (en) * 2009-01-26 2016-03-15 International Business Machines Corporation Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses
US8843880B2 (en) * 2009-01-27 2014-09-23 International Business Machines Corporation Software development for a hybrid computing environment
US8255909B2 (en) * 2009-01-28 2012-08-28 International Business Machines Corporation Synchronizing access to resources in a hybrid computing environment
US20100191923A1 (en) * 2009-01-29 2010-07-29 International Business Machines Corporation Data Processing In A Computing Environment
US8001206B2 (en) * 2009-01-29 2011-08-16 International Business Machines Corporation Broadcasting data in a hybrid computing environment
US9170864B2 (en) * 2009-01-29 2015-10-27 International Business Machines Corporation Data processing in a hybrid computing environment
US8010718B2 (en) * 2009-02-03 2011-08-30 International Business Machines Corporation Direct memory access in a hybrid computing environment
US8037217B2 (en) * 2009-04-23 2011-10-11 International Business Machines Corporation Direct memory access in a hybrid computing environment
US8180972B2 (en) 2009-08-07 2012-05-15 International Business Machines Corporation Reducing remote reads of memory in a hybrid computing environment by maintaining remote memory values locally
US9417905B2 (en) * 2010-02-03 2016-08-16 International Business Machines Corporation Terminating an accelerator application program in a hybrid computing environment
US8578132B2 (en) * 2010-03-29 2013-11-05 International Business Machines Corporation Direct injection of data to be transferred in a hybrid computing environment
US9015443B2 (en) 2010-04-30 2015-04-21 International Business Machines Corporation Reducing remote reads of memory in a hybrid computing environment
US8489784B2 (en) * 2010-12-31 2013-07-16 Silicon Image, Inc. Adaptive interconnection scheme for multimedia devices
US20130157639A1 (en) 2011-12-16 2013-06-20 SRC Computers, LLC Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption
US9881657B2 (en) 2012-05-08 2018-01-30 Marvell World Trade Ltd. Computer system and method of memory management
JP6263836B2 (ja) * 2013-01-15 2018-01-24 オムロン株式会社 制御装置および制御方法
US9177646B2 (en) 2013-05-06 2015-11-03 International Business Machines Corporation Implementing computational memory from content-addressable memory
US10741226B2 (en) 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
US9153311B1 (en) 2014-05-27 2015-10-06 SRC Computers, LLC System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers
US9530483B2 (en) 2014-05-27 2016-12-27 Src Labs, Llc System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem
US9542244B2 (en) 2015-04-22 2017-01-10 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors
US9411528B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Storage management systems and methods
US9411613B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Systems and methods for managing execution of specialized processors

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453214A (en) * 1981-09-08 1984-06-05 Sperry Corporation Bus arbitrating circuit
JPS58200323A (ja) * 1982-05-14 1983-11-21 Nec Corp 入出力処理装置
US4730268A (en) * 1985-04-30 1988-03-08 Texas Instruments Incorporated Distributed bus arbitration for a multiprocessor system
JPS626366A (ja) * 1985-07-03 1987-01-13 Hitachi Ltd 記憶制御方式
AU598101B2 (en) 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US4974148A (en) * 1987-07-06 1990-11-27 Motorola Computer X, Inc. Bus arbiter with equitable priority scheme
KR890007159A (ko) * 1987-10-30 1989-06-19 미다 가쓰시게 데이타 처리장치 및 그것을 갖는 데이타 처리 시스템
AU616213B2 (en) 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
DE68920388T2 (de) 1988-09-19 1995-05-11 Fujitsu Ltd Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens.
CA2011935A1 (en) * 1989-04-07 1990-10-07 Desiree A. Awiszio Dual-path computer interconnect system with four-ported packet memory control
EP0459233A3 (en) * 1990-05-29 1992-04-08 National Semiconductor Corporation Selectively locking memory locations within a microprocessor's on-chip cache
US5194895A (en) 1991-09-13 1993-03-16 Xerox Corporation Printing machine adaptive setup
JPH05181793A (ja) * 1991-12-27 1993-07-23 Fujitsu Ltd Scsiバス制御方法
US5802290A (en) 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
US5414857A (en) 1992-10-02 1995-05-09 Ast Research, Inc. Adaptive processor interface operable with different types of processors
US6052773A (en) 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5570040A (en) 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5696910A (en) 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US5903771A (en) 1996-01-16 1999-05-11 Alacron, Inc. Scalable multi-processor architecture for SIMD and MIMD operations
US5949762A (en) * 1996-01-24 1999-09-07 Telebit Corporation Apparatus and method for processing multiple telephone calls
US5737766A (en) 1996-02-14 1998-04-07 Hewlett Packard Company Programmable gate array configuration memory which allows sharing with user memory
US5887165A (en) * 1996-06-21 1999-03-23 Mirage Technologies, Inc. Dynamically reconfigurable hardware system for real-time control of processes
US5892962A (en) 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US6118462A (en) * 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6078736A (en) * 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US6023748A (en) 1997-09-12 2000-02-08 Adaptec, Inc. Multiple client memory arbitration system capable of operating multiple configuration types
US6226776B1 (en) 1997-09-16 2001-05-01 Synetry Corporation System for converting hardware designs in high-level programming language to hardware implementations
US6076152A (en) 1997-12-17 2000-06-13 Src Computers, Inc. Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US6339819B1 (en) 1997-12-17 2002-01-15 Src Computers, Inc. Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer
US6567426B1 (en) * 1998-03-05 2003-05-20 Silicon Graphics, Inc. Preemptive timer multiplexed shared memory access
US6414391B1 (en) 1998-06-30 2002-07-02 Micron Technology, Inc. Module assembly for stacked BGA packages with a common bus bar in the assembly
US6192439B1 (en) 1998-08-11 2001-02-20 Hewlett-Packard Company PCI-compliant interrupt steering architecture
US6128731A (en) 1998-10-21 2000-10-03 Silicon Graphics, Inc. Advanced boot sequence for an +86 computer system that maintains expansion card device compatibility
JP3616518B2 (ja) 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
US6442597B1 (en) 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6434636B1 (en) 1999-10-31 2002-08-13 Hewlett-Packard Company Method and apparatus for performing high bandwidth low latency programmed I/O writes by passing tokens
US6446145B1 (en) 2000-01-06 2002-09-03 International Business Machines Corporation Computer memory compression abort and bypass mechanism when cache write back buffer is full
US6496971B1 (en) 2000-02-07 2002-12-17 Xilinx, Inc. Supporting multiple FPGA configuration modes using dedicated on-chip processor
US6654818B1 (en) 2000-06-22 2003-11-25 International Business Machines Corporation DMA access authorization for 64-bit I/O adapters on PCI bus
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US6715094B2 (en) 2000-12-20 2004-03-30 Intel Corporation Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers
US6441483B1 (en) 2001-03-30 2002-08-27 Micron Technology, Inc. Die stacking scheme

Also Published As

Publication number Publication date
EP1559021A2 (en) 2005-08-03
CA2491923A1 (en) 2004-05-13
US20030061432A1 (en) 2003-03-27
WO2004040413A3 (en) 2004-08-19
AU2003286693A1 (en) 2004-05-25
US7003593B2 (en) 2006-02-21
EP1559021A4 (en) 2006-12-06
WO2004040413A2 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
JP2006505046A (ja) 適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ
KR100271336B1 (ko) 주변구성요소 내부접속 버스상의 기능을 향상시키는 장치 및방법
RU2140667C1 (ru) Компьютерная система, имеющая шинный интерфейс
US6182178B1 (en) Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses
JP4589384B2 (ja) 高速メモリモジュール
US6330647B1 (en) Memory bandwidth allocation based on access count priority scheme
US6167476A (en) Apparatus, method and system for accelerated graphics port bus bridges
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US7185127B2 (en) Method and an apparatus to efficiently handle read completions that satisfy a read request
US20050283546A1 (en) Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US9304922B2 (en) Inter-queue anti-starvation mechanism with dynamic deadlock avoidance in a retry based pipeline
US8341360B2 (en) Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
US6801976B2 (en) Mechanism for preserving producer-consumer ordering across an unordered interface
CN117561505A (zh) 用于动态地配置设备结构的系统、方法、装置和架构
US6052754A (en) Centrally controlled interface scheme for promoting design reusable circuit blocks
US9053092B2 (en) System authorizing direct data transfers between memories of several components of that system
EP1089501B1 (en) Arbitration mechanism for packet transmission
JPH02130662A (ja) 情報処理システム
US5933648A (en) Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks
US11537539B2 (en) Acceleration of data between a network and local I/O in a NUMA system
Georgopoulos et al. μP-Peripheral Chips Interfaces
KR19990019229A (ko) 하이파이 플러스 인터럽트 버스의 전송속도 향상장치
JPS63153662A (ja) 半導体記憶装置
KR19990031838U (ko) 피씨이아이 브리지 보드를 갖는 컴퓨터

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061017

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070320