JP2006505046A - 適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ - Google Patents
適応プロセッサインターフェイスポートを用いてハイブリッド処理システム内で緊密結合するためのコンピュータシステムアーキテクチャおよびメモリコントローラ Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access 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.)に譲渡されており、その開示は本願明細書中でこの引用によりその全体において明確に援用される。
この発明は、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プロトコルに準拠および関与する必要はない。その結果プロトコルのオーバーヘッドが減少し、その結果としてインターフェイスで得られる処理可能な負荷の量が大きくなる。
しかし、所望の結合を達成すると同時に、マイクロプロセッサバスに常駐していることに関連する問題を解消する方策が存在する。これは、コアロジックのメモリ・I/Oコントローラチップ、すなわち典型的には現在のインテル(登録商標)ベースのプロセッサボード上で「ノースブリッジ」と呼ばれるものに追加されたまたはこれに関連付けられた専用の適応プロセッサインターフェイスポート(APIP)を採用することによるものである。そして、このポートおよび主マイクロプロセッサバスへおよびこれらからのメモリアクセスは、メモリコントローラ内の回路によって調停される。こうすることで、マイクロプロセッサおよび適応プロセッサ両方のメモリ帯域幅および待ち時間は等しくなる。これに加え、APIPは、マイクロプロセッサバスとは別個の電気的ポートであるため、すべてのFSBプロトコルに準拠および関与する必要はない。その結果プロトコルのオーバーヘッドが減少し、その結果としてインターフェイスで得られる処理可能な負荷の量が大きくなる。
適応プロセッサへのデータの移動を高速化するために、ノースブリッジ内に直接メモリアクセス(DMA)エンジンを含めることもまた可能である。これによって、適応プロセッサはAPIP経由で単一の「読出」要求を発行して、その結果DMAエンジンに実際大きなデータブロックを検索させて適応プロセッサへ送信させることが可能となる。このDMAエンジンは「読出」要求および「書込」要求の両方を同時に処理することができるため、適応プロセッサ内でストリーミング動作を可能な限り効率的に生じさせることができる。
構築され得るシステムを極めて大型化できるように、このポートに十分な駆動能力を与えて、これが外部の相互接続部、たとえば大型のクロスバースイッチと接続できるようにしてもよい。こうすることで、多数の適応プロセッサとマイクロプロセッサとは、問題を解決するためにランダムに相互接続されて働くことができる。スイッチにおけるいずれの所与のポートも、いずれの時点においてもビジーとなる可能性があるため、APIPの外部行きの経路に小さなバッファを設け、こうして、当該経路がビジーになったときに進行
中であり得る「読出」メモリアクセスがデータの損失なしに完了できるようにすることが望ましい。当該経路が自由になると直ちにバッファからの抜取りおよび送信を行なって現在の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つが挙げられる。
まず図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間の対話の量は大幅に制限される。
ロセッサ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のバスのプロトコルすべてに関与しなければならない場合もある。
があるという場合もあり得る。これに加え、適応プロセッサ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が設けられ得る。
、メモリバス調停部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を直接に結合するためのチェーンポートを設けることができる。
び係属中の特許出願に開示されたような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に一体化しているので、別個のチップまたは集積回路装置の必要性がなくなる。
以上、この発明の原理について、特定の計算システムアーキテクチャおよび構成要素との関連において説明したが、以上の説明は単に例としてなされたものであり、この発明の範囲の限定としてなされたものではないことが明らかに理解されるであろう。特に、以上の開示の教示によって当業者には他の変形例が示唆されることが認められる。このような変形例は、それ自体で既に公知である他の特徴であって、本願明細書に既に記載された特徴の代わりにまたはこれに追加して用いられ得るものを含み得る。本願においては、特許請求の範囲を特定の特徴の組合せに対して作成してあるが、ここでの開示の範囲は、明示的または暗示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、または当業者には明らかであろうそのあらゆる一般化もしくは変形をも含み、かつこのようなものがいずれかの請求項において現在請求されている同じ発明に関係するか否か、およびこの発明が直面する同じ技術的問題のうちいずれかまたはすべてを緩和するか否かにはかかわらないことが理解されるべきである。本出願人はこれにより、本願またはここから導き出されるあらゆるさらなる出願についての手続中に、上記のような特徴および/または上記のような特徴の組合せに対して新たな請求項を作成する権利を留保する。
Claims (55)
- コンピュータシステムであって、
第1のバスを与える少なくとも1つのマイクロプロセッサと、
前記第1のバスに結合されたメモリコントローラとを備え、前記メモリコントローラはメモリバスおよび適応プロセッサポートに結合され、前記コンピュータシステムはさらに、
前記メモリバスに結合されたメモリブロックと、
前記適応プロセッサポートに結合された適応プロセッサとを備える、コンピュータシステム。 - 前記コンピュータシステムはさらに、前記第1のバスに結合された複数のマイクロプロセッサを備える、請求項1に記載のコンピュータシステム。
- 前記メモリコントローラはさらに、コンピュータシステムクラスタ化ハブに結合された第2のバスを含む、請求項1に記載のコンピュータシステム。
- さらに、他の第2のバスを通じて前記クラスタ化ハブに結合され、さらに他の第1のバスを通じて少なくとも1つの他のマイクロプロセッサに結合された少なくとも1つの追加のメモリコントローラを備える、請求項3に記載のコンピュータシステム。
- さらに、他のメモリバスを通じて前記少なくとも1つの追加のメモリコントローラに結合された他のメモリブロックを備える、請求項4に記載のコンピュータシステム。
- さらに、前記少なくとも1つの追加のメモリコントローラにおける他の適応プロセッサポートに結合された少なくとも1つの追加の適応プロセッサを備える、請求項4に記載のコンピュータシステム。
- 前記適応プロセッサポートは代替的にグラフィックスポートとして構成可能である、請求項1に記載のコンピュータシステム。
- 前記第1のバスはフロントサイドバスを含む、請求項1に記載のコンピュータシステム。
- 前記適応プロセッサは、
前記適応プロセッサポートに結合された制御要素と、
前記制御要素に結合されたユーザアレイと、
前記制御要素および前記ユーザアレイに結合されたメモリ要素とを含む、請求項1に記載のコンピュータシステム。 - 前記ユーザアレイはさらに、前記適応プロセッサ要素を第2の適応プロセッサ要素に結合するためのチェーンポートを含む、請求項9に記載のコンピュータシステム。
- 前記ユーザアレイはフィールド・プログラマブル・ゲートアレイを含む、請求項9に記載のコンピュータシステム。
- 前記メモリコントローラは、
メモリバス調停部と、
前記メモリバス調停部に関連付けられ、前記第1のバスで受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記適応プロセッサポートで受取られたメモリアクセス要求を制御するための適応プロセッサポートインターフェイスとを含む、請求項1に記載のコンピュータシステム。 - さらに、前記メモリバス調停部と前記適応プロセッサポートインターフェイスとを結合する直接メモリアクセスエンジンを備える、請求項12に記載のコンピュータシステム。
- 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記適応プロセッサポートインターフェイスに結合される、請求項13に記載のコンピュータシステム。
- さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項13に記載のコンピュータシステム。
- さらに、前記適応プロセッサポートインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項13に記載のコンピュータシステム。
- さらに、前記第1のバスインターフェイスおよび前記適応プロセッサポートインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項12に記載のコンピュータシステム。
- さらに、前記メモリバス調停部に関連付けられた第2のバスインターフェイスを備える、請求項12に記載のコンピュータシステム。
- 前記メモリコントローラは集積回路装置を含む、請求項1に記載のコンピュータシステム。
- 前記少なくとも1つのマイクロプロセッサは前記メモリコントローラを含む、請求項1に記載のコンピュータシステム。
- 少なくとも1つのマイクロプロセッサと、
メモリブロックと、
前記マイクロプロセッサおよび前記メモリブロックに結合されて前記少なくとも1つのマイクロプロセッサによる前記メモリブロックへのアクセスを制御するためのメモリコントローラと、
前記メモリコントローラに結合された少なくとも1つの適応プロセッサとを備え、前記メモリコントローラはさらに前記少なくとも1つの適応プロセッサによる前記メモリブロックへのアクセスを制御する、ハイブリッド計算システム。 - 前記メモリコントローラは、
メモリバス調停部と、
前記メモリバス調停部に関連付けられ、前記少なくとも1つのマイクロプロセッサから受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記少なくとも1つの適応プロセッサから受取られたメモリアクセス要求を制御するための適応プロセッサポートインターフェイスとを含む、請求項21に記載のハイブリッド計算システム。 - さらに、前記メモリバス調停部と前記適応プロセッサポートインターフェイスとを結合する直接メモリアクセスエンジンを備える、請求項22に記載のハイブリッド計算システム。
- 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記適応プロセッサポートインターフェイスに結合される、請求項23に記載のハイブリッド計算システム。
- さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項23に記載のハイブリッド計算システム。
- さらに、前記適応プロセッサポートインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項23に記載のハイブリッド計算システム。
- さらに、前記第1のバスインターフェイスおよび前記適応プロセッサポートインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項22に記載のハイブリッド計算システム。
- さらに、前記メモリバス調停部に関連付けられた第2のバスインターフェイスを備える、請求項22に記載のハイブリッド計算システム。
- 前記メモリコントローラは集積回路装置を含む、請求項21に記載のハイブリッド計算システム。
- 前記少なくとも1つのマイクロプロセッサは前記メモリコントローラを含む、請求項21に記載のハイブリッド計算システム。
- 第1および第2の処理要素と、
メモリブロックと、
第1のバスを介して前記第1の処理要素に結合されかつ第2のバスを介して前記第2の処理要素に結合され、前記第1および第2の処理要素による前記メモリブロックへのアクセスを制御するためのメモリコントローラとを備える、計算システム。 - 前記第1の処理要素はマイクロプロセッサを含む、請求項31に記載の計算システム。
- 前記第2の処理要素はマイクロプロセッサを含む、請求項32に記載の計算システム。
- 前記第2の処理要素は適応プロセッサを含む、請求項32に記載の計算システム。
- メモリバス調停部と、
前記メモリバス調停部に関連付けられ、前記第1の処理要素から受取られたメモリアクセス要求を制御するための第1のバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記メモリブロックへのアクセスを制御するためのメモリバスインターフェイスと、
前記メモリバス調停部に関連付けられ、前記第2の処理要素から受取られたメモリアクセス要求を制御するための第2のバスインターフェイスとを備える、請求項31に記載の計算システム。 - さらに、前記メモリバス調停部と前記第2のバスインターフェイスとを結合する直接メ
モリアクセスエンジンを備える、請求項35に記載の計算システム。 - 前記直接メモリアクセスエンジンは、それぞれ読出および書込についてのデータ線を用いて前記第2のバスインターフェイスに結合される、請求項35に記載の計算システム。
- さらに、前記直接メモリアクセスエンジンに関連付けられた読出要求バッファを備える、請求項35に記載の計算システム。
- さらに、前記第2のバスインターフェイスと前記直接メモリアクセスエンジンとを結合するビジー信号線を備える、請求項35に記載の計算システム。
- さらに、前記第1のバスインターフェイスおよび前記第2のバスインターフェイス間で通信する少なくとも1つの制御レジスタを備える、請求項31に記載の計算システム。
- さらに、前記メモリバス調停部に関連付けられた第3のバスインターフェイスを備える、請求項30に記載の計算システム。
- 前記メモリコントローラは集積回路装置を含む、請求項31に記載の計算システム。
- 前記メモリコントローラは前記第1の処理要素と一体化される、請求項31に記載の計算システム。
- 第1および第2の処理要素ならびにメモリブロック間に結合され、前記第1および第2の処理要素による前記メモリブロックへのアクセスを制御するメモリバス調停部を備える、計算システム用メモリコントローラ。
- 前記第1の処理要素はマイクロプロセッサを含む、請求項44に記載のメモリコントローラ。
- 前記第1の処理要素は適応プロセッサを含む、請求項44に記載のメモリコントローラ。
- 前記第2の処理要素はマイクロプロセッサを含む、請求項45に記載のメモリコントローラ。
- 前記第2の処理要素は適応プロセッサを含む、請求項45に記載のメモリコントローラ。
- 前記メモリコントローラは、前記第1および第2の処理要素間で中断がやり取りされることを可能にする、請求項44に記載のメモリコントローラ。
- さらに、前記第1の処理要素および前記第2の処理要素の両方によりアクセス可能な少なくとも1つのレジスタを備える、請求項44に記載のメモリコントローラ。
- さらに、前記メモリバス調停部を前記第1の処理要素に結合する第1のポートインターフェイスと、前記メモリバス調停部を前記第2の処理要素に結合する第2のポートインターフェイスとを備える、請求項44に記載のメモリコントローラ。
- 前記第2のポートインターフェイスは代替的にグラフィックスポートインターフェイスとなるよう適合可能である、請求項51に記載のメモリコントローラ。
- さらに、前記第2のポートインターフェイスに関連付けられた直接メモリアクセスエンジンを備える、請求項51に記載のメモリコントローラ。
- 前記第2のポートインターフェイスは、前記直接メモリアクセスエンジンに対してビジー信号をアサートすることができる、請求項53に記載のメモリコントローラ。
- 前記メモリバス調停部はマイクロプロセッサの一部を形成する、請求項44に記載のメモリコントローラ。
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)
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)
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 |
-
2002
- 2002-10-29 US US10/282,986 patent/US7003593B2/en not_active Expired - Fee Related
-
2003
- 2003-10-24 WO PCT/US2003/033941 patent/WO2004040413A2/en not_active Application Discontinuation
- 2003-10-24 AU AU2003286693A patent/AU2003286693A1/en not_active Abandoned
- 2003-10-24 CA CA002491923A patent/CA2491923A1/en not_active Abandoned
- 2003-10-24 JP JP2004548488A patent/JP2006505046A/ja not_active Withdrawn
- 2003-10-24 EP EP03777903A patent/EP1559021A4/en not_active Withdrawn
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 |