JP2006505054A - ハイブリッド計算システムにおいて調停されたメモリバスを設けるためのシステムおよび方法 - Google Patents
ハイブリッド計算システムにおいて調停されたメモリバスを設けるためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2006505054A JP2006505054A JP2004549958A JP2004549958A JP2006505054A JP 2006505054 A JP2006505054 A JP 2006505054A JP 2004549958 A JP2004549958 A JP 2004549958A JP 2004549958 A JP2004549958 A JP 2004549958A JP 2006505054 A JP2006505054 A JP 2006505054A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- arbitration
- port
- access
- coupled
- 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
- 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
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
少なくとも1つのマイクロプロセッサを有する計算システムと、少なくとも1つのマイクロプロセッサに結合されるメモリサブシステムとを提供する。メモリコントローラは、メモリサブシステムと少なくとも1つのマイクロプロセッサとの間でメモリトランザクションを管理するよう結合される。少なくとも1つの調停ポートはメモリコントローラに結合され、外部の調停信号を受信するよう構成される。
Description
関連する出願の相互参照
この発明は、「メモリサブシステムにおいて複数のメモリアルゴリズムプロセッサを組込んだマルチプロセッサコンピュータアーキテクチャ(“Multiprocessor Computer Architecture Incorporating a Plurality of Memory Algorithm Processors in the Memory Subsystem”)」と題され、2001年1月5日に出願された米国特許出願連続番号第09/755,744号に関し、これは、2000年1月12日に出願された(現在は米国特許第6,247,110号である)米国特許出願連続番号第09/481,902号の分割出願であり、これは、1997年12月17日に出願された(現在は米国特許第6,076,152号である)米国特許出願連続番号第08/992,763号の継続出願である。この発明はまた、「ロードされた入力バッファにおけるオペランドにアクセスし、FIFO出力バッファに結果を送る各プロセッサ素子を備えたマルチプロセッサ(“Multiprocessor with Each Processor Element Accessing Operands in Loaded Input Buffer
and Forwarding Results to FIFO Output Buffer”)」と題され、1992年1月15日に発行された米国特許第6,339,819号の主題に関する。上述の特許出願および発行された特許は、この発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)に譲渡され、その開示が、全体として、この引用によりこの明細書中に具体的に援用される。
この発明は、「メモリサブシステムにおいて複数のメモリアルゴリズムプロセッサを組込んだマルチプロセッサコンピュータアーキテクチャ(“Multiprocessor Computer Architecture Incorporating a Plurality of Memory Algorithm Processors in the Memory Subsystem”)」と題され、2001年1月5日に出願された米国特許出願連続番号第09/755,744号に関し、これは、2000年1月12日に出願された(現在は米国特許第6,247,110号である)米国特許出願連続番号第09/481,902号の分割出願であり、これは、1997年12月17日に出願された(現在は米国特許第6,076,152号である)米国特許出願連続番号第08/992,763号の継続出願である。この発明はまた、「ロードされた入力バッファにおけるオペランドにアクセスし、FIFO出力バッファに結果を送る各プロセッサ素子を備えたマルチプロセッサ(“Multiprocessor with Each Processor Element Accessing Operands in Loaded Input Buffer
and Forwarding Results to FIFO Output Buffer”)」と題され、1992年1月15日に発行された米国特許第6,339,819号の主題に関する。上述の特許出願および発行された特許は、この発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)に譲渡され、その開示が、全体として、この引用によりこの明細書中に具体的に援用される。
発明の背景
この発明は、概して、さまざまな処理素子または計算素子を相互接続するためのコンピュータシステムおよび技術の分野に関する。より特定的には、この発明は、外部装置がシステムメモリリソースに協働的にアクセスすることを可能にする調停インターフェイスを有するコンピュータシステムアーキテクチャおよびメモリコントローラに関する。
この発明は、概して、さまざまな処理素子または計算素子を相互接続するためのコンピュータシステムおよび技術の分野に関する。より特定的には、この発明は、外部装置がシステムメモリリソースに協働的にアクセスすることを可能にする調停インターフェイスを有するコンピュータシステムアーキテクチャおよびメモリコントローラに関する。
シングルプロセッサシステムのための従来のコンピュータシステムアーキテクチャは、「システムチップセット」を通じて他の装置と通信するマイクロプロセッサを含む。当該システムチップセットは、マイクロプロセッサがメモリ、大容量記憶装置、表示装置、ネットワークインターフェイス、プリンタなどの外部装置と通信することを可能にするさまざまな入出力およびコントローラ機能を実現する。典型的なシステムチップセットは、しばしば「フロントサイドバス」または「FSB」と称されるマイクロプロセッサへのインターフェイスを実現し、これが、メモリなどの高速、低レイテンシ、または帯域幅集約型の構成要素に結合する。チップセットは、しばしば「周辺バス」と称され、より低速で動作する二次インターフェイスを実現し、これが、大容量記憶コントローラ、プリンタ、ネットワークインターフェイスなどのより低速の装置に結合する。
システムチップセットは、しばしば、複数の専用の構成要素として製造される。典型的な構成においては、「ノースブリッジ」構成要素は、マイクロプロセッサインターフェイスと、メモリサブシステムへのインターフェイスとを実現する。「サウスブリッジ」構成要素は周辺インターフェイスを実現する。ノースブリッジ構成要素とサウスブリッジ構成要素とが結合されて、周辺インターフェイスとマイクロプロセッサインターフェイスとをブリッジでつなぐ。マイクロプロセッサとメモリとの間のインターフェイスは、大抵のアプリケーションに対する特に制約付けされたインターフェイスである。大抵のパーソナルコンピュータアーキテクチャにおいては、1つの装置がFSBへの排他的なアクセスを有する(たとえば、単一のマイクロプロセッサがFSBに結合される)と仮定される。この
ため、すべてのメモリトランザクションは、ノースブリッジチップへのポートを介して実現されなければならない。これにより、外部装置のためのシステムメモリアクセス時間が増える。外部装置が適応プロセッサであるハイブリッド計算システムの場合には、このアクセス時間の増加により、ハイブリッドシステムの性能の恩恵が減じられる。
ため、すべてのメモリトランザクションは、ノースブリッジチップへのポートを介して実現されなければならない。これにより、外部装置のためのシステムメモリアクセス時間が増える。外部装置が適応プロセッサであるハイブリッド計算システムの場合には、このアクセス時間の増加により、ハイブリッドシステムの性能の恩恵が減じられる。
多くの場合、ダイレクトメモリアクセス(DMA)コントローラは、周辺バスとメモリサブシステムとの間のメモリトランザクションを管理するために、周辺バス上で、ノースブリッジ装置内で、またはノースブリッジ構成要素上のDMAポートを介して実現される。DMAコントローラは、かなりのメモリ帯域幅を必要とする外部プロセッサなどの装置とは対照的に、典型的には、サウスブリッジ装置を介して結合される低速の周辺装置でメモリトランザクションをサポートするよう設計される。すなわち、DMAコントローラは、周辺のメモリ活動をサポートし、そうして、より低速の周辺インターフェイス速度で動作する。DMAコントローラがマイクロプロセッサをすべてのメモリ動作の操作から解放するが、より低速のインターフェイスにより、マイクロプロセッサにとって利用可能な速度に類似の速度でメモリサブシステムにアクセスする能力が制限される。
従来のコンピュータシステムのノースブリッジは、システムメモリバスへのアクセスのためにプロセッサとグラフィックスポートと周辺装置およびDMAコントローラとの間において内部で調停を行なう。現在、システムチップセットは、調停ロジックに外部アクセスを与えない。したがって、メモリサブシステムへのアクセスを所望する外部装置は、ノースブリッジ構成要素によって実現される調停メカニズムの使用を強いられる。
SMP(対称型マルチプロセッシング)とは、共通のオペレーティングシステムおよびメモリを共有する複数のプロセッサを用いてプログラムを実行するシステムを指す。対称型マルチプロセッシングにおいては、プロセッサはメモリおよびI/Oバスまたはデータ経路を共有する。オペレーティングシステムの単一コピーがすべてのプロセッサを管理する。従来の計算システムアーキテクチャでは複数の装置がメモリバスにアクセスすることができないので、複数のプロセッサがメモリを共有するシステムを実現することは難しい。結果として、従来のアーキテクチャ用に設計される大量生産された構成要素に基づいたSMPシステムは、周辺バス速度で許可されたより低速のアクセスを用いたか、またはメモリサブシステム内で処理構成要素を実現した。より最近の実現例の一例には、同一出願人に譲渡された米国特許第6,247,110号に記載される多重適応プロセッサ(MAPTM(登録商標))がある(MAPは、SRC Computers, Inc.の商標または登録商標である)。
以上のことを考慮すると、高速でのメモリサブシステムへのアクセスを可能にするために調停メカニズムを呈示する計算システムが必要とされることが明らかである。さらに、メモリサブシステムバスに結合する複数のプロセッサおよび他の構成要素などの複数のエージェントによってメモリサブシステムバスがアクセス可能となるように、外部から供給された調停信号を利用するシステムチップセットアーキテクチャが特に必要とされる。
発明の概要
簡潔に述べると、この発明は、少なくとも1つのマイクロプロセッサを有する計算システムと、少なくとも1つのマイクロプロセッサに結合されるメモリサブシステムとを含む。メモリコントローラは、メモリサブシステムと少なくとも1つのマイクロプロセッサとの間でメモリトランザクションを管理するよう結合される。少なくとも1つの調停ポートがメモリコントローラに結合され、外部の調停信号を受信するよう構成される。
簡潔に述べると、この発明は、少なくとも1つのマイクロプロセッサを有する計算システムと、少なくとも1つのマイクロプロセッサに結合されるメモリサブシステムとを含む。メモリコントローラは、メモリサブシステムと少なくとも1つのマイクロプロセッサとの間でメモリトランザクションを管理するよう結合される。少なくとも1つの調停ポートがメモリコントローラに結合され、外部の調停信号を受信するよう構成される。
好ましい実施例の詳細な説明
この発明は、さまざまなプロセスからのシステムメモリへの共有アクセスを可能にする対称型マルチプロセッシング(SMP)計算システムを含んだマルチプロセッサとハイブリッドコンピュータシステムとを含む。この発明の具体的な実現例においては、実質的に従来のシステムチップセットは、内部の調停ロジックを外部装置にさらすよう変更が加えられる。この態様では、適応プロセッサなどの1つ以上の外部装置は、システムチップセットを介してシステムメモリにアクセスする必要なしに、システムメモリに直接リンクしている。他の実現例においては、調停ロジックはシステムチップセットの外部にある装置において実現され、この場合、システムチップセットは、それが排他的なアクセスを有すると仮定するのではなく、メモリシステムアクセスのために調停を行なうよう変更される。いずれの場合も、システムチップセットへの変更は最小限であり、調停信号バスまたはポートが、システムチップセットへのわずか2〜3つの接続で実現され得る。
この発明は、さまざまなプロセスからのシステムメモリへの共有アクセスを可能にする対称型マルチプロセッシング(SMP)計算システムを含んだマルチプロセッサとハイブリッドコンピュータシステムとを含む。この発明の具体的な実現例においては、実質的に従来のシステムチップセットは、内部の調停ロジックを外部装置にさらすよう変更が加えられる。この態様では、適応プロセッサなどの1つ以上の外部装置は、システムチップセットを介してシステムメモリにアクセスする必要なしに、システムメモリに直接リンクしている。他の実現例においては、調停ロジックはシステムチップセットの外部にある装置において実現され、この場合、システムチップセットは、それが排他的なアクセスを有すると仮定するのではなく、メモリシステムアクセスのために調停を行なうよう変更される。いずれの場合も、システムチップセットへの変更は最小限であり、調停信号バスまたはポートが、システムチップセットへのわずか2〜3つの接続で実現され得る。
図1は、典型的な計算システム100の高レベルの機能ブロック図を示す。計算システム100はたとえばパーソナルコンピュータ(「PC」)アーキテクチャであってもよく、市販されている集積回路(「IC」)メモリコントローラ(「ノースブリッジ」)102、たとえば、ブイ・アイ・エー・テクノロジーズ・インコーポレイテッド(VIA Technologies, Inc.)から入手可能なP4X333/P4X400装置、エイサー・ラボラトリーズ・インコーポレイテッド(Acer Labs, Inc.)から入手可能なM1647装置、およびインテル・コーポレイション(Intel Corporation)から入手可能な824430X装置などを組込んでいる。ノースブリッジ102は、フロントサイドバス(「FSB」)によって、プロセッサ104、たとえばIntel Corporationから同様に入手可能なIntel(登録商標)Pentium(登録商標)シリーズのプロセッサまたはXeon(登録商標)シリーズのプロセッサうちの1つに結合される。ノースブリッジ102は、メモリバスを介して、たとえば同期ダイナミックランダムアクセス(「SDRAM」)メモリモジュールの構成を含むシステムメモリ106に結合される。他のメモリ構成および装置には、たとえば、ランバス・コーポレイション(Rambus Corporation)によるダブルデータレート(DDR)SDRAM、RDRAMおよびDRDRAM、ラムトロン・インターナショナル・コーポレイション(Ramtron International Corporation)によって製造されるエンハンスドSDRAM(ESDRAM)などがある。以上で留意されるように、従来のノースブリッジ構成要素は、FSBを介して単一のプロセッサ104をサポートするよう構成されており、これにより付加的なプロセッサを追加することが難しくなる。システムチップセットがFSBに結合された複数のプロセッサをサポートする場合でも、代替的な実施例において上述されるように、FSBアーキテクチャは特定のプロセッサタイプに極めて特有なものである。したがって、適応プロセッサにメモリサブシステム106への好適なアクセスを与える態様で適応プロセッサなどの高度なまたは特殊用途の処理装置を結合することは難しいかまたは不可能であった。
いくつかの実現例においては、ブリッジ間のバスがノースブリッジIC102を「サウスブリッジ」108に結合する一方で、専用の高速グラフィックスポート(「AGP」)(図示せず)が、システム100を外部のグラフィックス処理構成要素にインターフェイスするために設けられる。ノースブリッジ102およびサウスブリッジ108は合わせてシステムチップセットと称される。というのも、それらが典型的には一緒に作動して所望のシステムI/O機能をもたらすよう設計されているからである。チップセットの構成要素間における機能の割当は実現例の間で変えられてもよく、I/O機能のいくつかまたはすべては、マイクロコントローラの場合と同様にマイクロプロセッサ104に組込まれてもよい。この発明の目的のために、ノースブリッジ構成要素102が典型的にはメモリサブシステムへのアクセスに関連付けられる高速のI/O機能に対処することを留意するこ
とで十分である。
とで十分である。
サウスブリッジ108は、スタンダード・マイクロシステムズ・コーポレイション(Standard Microsystems, Corporation)から入手可能なSLC90E66装置、または、VIA Technologiesから入手可能なVT8235装置によって実現され得る。サウスブリッジ108は、たとえば周辺構成要素相互接続(「PCI」)バス、ユニバーサル・シリアル・バス(USB)、IEEE 1394ポート、システム管理(「SM」)バス、汎用(「GP」)I/O、ならびに業界標準アーキテクチャ/拡張I/O(「ISA/EIO」)バスなどにシステム100を結合するさまざまなI/Oインターフェイスおよびポートを実現する。サウスブリッジ108はまた、特定の応用例の必要に応じて、グラフィックスデバイス、オーディオデバイス、ローカルエリアネットワークデバイス、ディスクドライブ、フラッシュメモリなどへの専用のポートを実現し得る。概して、サウスブリッジ108のインターフェイスは、ノースブリッジ102と比べて、より低速で狭い帯域幅のI/Oに対処する。
図1に示されるアーキテクチャとは対照的に、図2〜図7に示されるハイブリッド計算システムは、外部の処理装置がメモリサブシステムへのアクセスを共有することを可能にするさまざまな実現例を示す。ハイブリッドコンピュータシステムは、標準的なマイクロプロセッサおよび適応プロセッサの両方を組込んだシステムである。これらは、典型的には、共有ネットワーク上に存在する大きなマルチプロセッサ・サーバタイプのシステムである。このようなシステムの全体的な性能および柔軟性は、マイクロプロセッサと適応プロセッサとシステムメモリとの間の結合のレベルに正比例している。本質的に異なるプロセッサタイプが同等物として扱われ、共有メモリに対してバランスの取れた(たとえば実質的に等しい)帯域幅およびレイテンシを有する場合、システム性能は通常最大限にされるだろう。概して、図2〜図7に示される実現例は、このようなバランスの取れたアクセスを達成するために、外部のプロセッサがメモリサブシステムへのアクセスを協働的に共有することを可能にする調停ポートおよび調停メカニズムを提供する。
たとえば、図2においては、システム200は、システム/ネットワークアダプタポート(SNAP)212を介してシステムメモリバスに結合される適応プロセッサ210を追加することによって、典型的なコンピュータシステム100上で拡張する。SRC Computers, Inc.によって売り出されている多重適応プロセッサ(MAP)などの適応プロセッサは、ハードウェアロジックによって実現される機能を有する能力をユーザに与え、当該機能により、アプリケーションアルゴリズムが、従来のマイクロプロセッサ204内のソフトウェアにおいて実現される以上に大きく加速され得る。具体的なSNAPの実現例および機能についての詳細が、この発明の譲受人であるSRC Computers, Inc.(コロラド州(Colorado)、コロラドスプリングス(Colorado Springs))に譲渡され、「デュアル・インライン・メモリモジュールフォーマットで多重適応プロセッサのチェーンを用いるクラスタ化されたコンピュータのためのスイッチ/ネットワークアダプタポート(“Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format”)」と題され、2001年8月17日に出願された米国特許出願連続番号第09/932,330号に記載され、その開示が、全体としてこの引用によりこの明細書中に具体的に援用される。SNAP212は、典型的には、コンピュータシステムのDIMMスロットに配置され、これによりメモリバスに結合される。SNAP212は、メモリサブシステム上で実現され、メモリアドレス空間を占有するが、処理およびI/O機能を実行するよう構成され得る構成可能な装置である。SNAP212はメモリシステム206に密接に結合されるが、メモリトランザクションを実行する際に、メモリバスに対するその「スレーブ」の結果としていくらかのオーバーヘッドを呈示する。しかしながら、このオーバーヘッドが全体的な性能に及ぼす影響は最小限である。というのも、調停信号ポートをセットアップする際にこうむった
オーバーヘッドが、適応プロセッサ210によって処理されるすべてのメモリトランザクションにわたって広がるからである。
オーバーヘッドが、適応プロセッサ210によって処理されるすべてのメモリトランザクションにわたって広がるからである。
ハイブリッドシステム200においては、当該例でノースブリッジチップとして実現されるメモリおよびI/Oコントローラ202はもはや、マイクロプロセッサ204がシステムメモリ206を制御することとなる唯一のエージェントになるとは想定し得ない。適応プロセッサ210は、メモリトランザクション(すなわち、読出、書込、修正、ロック、アンロックなど)を開始するのにシステムメモリ206への共有アクセスを必要とする。この発明のこの実現例に従うと、メモリおよびI/Oコントローラ202内の調停ロジックは、SNAP212とメモリおよびI/Oコントローラ202との間で調停信号を伝達するための外部調停ポートを備える。調停信号は、特定の例においては、要求信号がメモリシステムアクセスを求めるエージェントによってアサートされ、許可信号がメモリサブシステムに現在アクセスできるエージェントへの調停ロジックによってアサートされる比較的単純な要求/許可スキームを含む。従来のノースブリッジチップ内の調停ロジックがこのような決定を下すためのロジックを既に含んでいるので、この発明で必要とされる外部の調停信号のためのポート(たとえば、I/Oピン、ドライバ機構およびおそらくはバッファ)を設けるのにかかる労力は比較的簡単なものである。
動作の際に、ハイブリッドシステムのシステムメモリバス上で調停を行なうエージェントになる適応プロセッサのために、マザーボートのレイアウトをいくらか変更することが必要となるだろう。スイッチ・ネットワークアダプタポート(SNAP)は、システムにおけるDIMMスロットのうちの1つに配置されるだろう。付加的なヘッダがマザーボードに追加されて、システムにおける他のDIMMモジュールのチップセレクトへの接続を提供する。このヘッダへのSNAPコネクトはリボンケーブルを介して設けられる。このヘッダは、サイズの点ではたとえば18〜20個のピンであるだろう。従来のコンピュータシステム100においては、このヘッダは使用されず、マザーボート上には存在しない。このスロットから、SNAP212がアドレスおよびコマンド情報をシステムにおける他のDIMMに駆動する。データが、すべてのDIMMに共通しているデータ線にわたってSNAP212との間でやり取りされる。SDRAMにおいて用いられる標準的なSSTL2インターフェイスはバス上に複数のドライバが存在することを可能にし、こうして、付加的なトライステート能力を必要とすることなく、この発明が実現され得る。結果として、この発明はシステムチップセットおよびマザーボードのわずかな変更を企図するが、従来のDIMMメモリ構成要素の変更は企図しない。
この発明の特定の実現例においては、ノースブリッジ202は、図1のシステム100などの従来のシステムと互換性があるように設計される。このような互換性により、従来のシステム100およびハイブリッドシステム200の両方の要求を満たす単一のICを製造することが可能となり、典型的には、結果としてより効率的な製造につながる。このような実現例においては、要求線が従来のシステム100のために非活性状態に関連付けられる可能性があり、これにより、メモリおよびI/Oコントローラがメモリシステムアクセスのために調停を行なう唯一のエージェントとなるだろう。
メモリサブシステム206に直接アクセスする能力を有する場合、適応プロセッサ210などの付加的なエージェントは、低レイテンシでより高帯域幅のメモリアクセスを認識する。加えて、マイクロプロセッサ204は適応プロセッサ210へのデータ移動においては必要とされず、こうして、マイクロプロセッサ204を解放して他の非メモリ関連のタスクを実行させる。
図3は、この発明が実現されるハイブリッドシステム300の別の実施例を示す。図3の実施例においては、複数の適応プロセッサ310は、SNAP312に結合するクロス
バ314を用いて設けられる。図示されないが、2つ以上のSNAP312およびマイクロプロセッサシステムがクロスバスイッチ314に接続され得る。適応プロセッサ310は図2の記載におけるプロセッサ210に実質的に等しく、SNAP装置312は図2におけるSNAP212に実質的に等しい。図3の実現例において、クロスバ314は、SNAP312のそれぞれから単一の適応プロセッサ310が接続されるように、1つの適応プロセッサ310をSNAP312に選択的に結合する。この態様では、SNAP312は、図2の実現例に記載されるのと実質的に等しい態様で、メモリバスおよびメモリサブシステム306に適応プロセッサ310を結合するようプログラムされ得る。クロスバ314は、SNAP312に結合するべき特定のプロセッサ310を選択するために何らかの形の調停/制御を必要とするだろう。特定の例においては、この制御機能はSNAP312インターフェイスにおいて実現され、適応プロセッサ310と通信するために規定された制御機能を活用し、したがって、クロスバ314の制御を実現するのに追加の配線またはリソースは必要とされない。これは、たとえば、適応プロセッサ310のうちの1つ以上の適応プロセッサ310内に構成されたロジックによって、または外部の管理エージェント(図示せず)によって実現され得る。代替的には、クロスバ314は適応プロセッサ310のラウンドロビン選択を実現して、システムメモリ306にアクセスするためのタイムシェアリングのようなアルゴリズムを実現し得る。
バ314を用いて設けられる。図示されないが、2つ以上のSNAP312およびマイクロプロセッサシステムがクロスバスイッチ314に接続され得る。適応プロセッサ310は図2の記載におけるプロセッサ210に実質的に等しく、SNAP装置312は図2におけるSNAP212に実質的に等しい。図3の実現例において、クロスバ314は、SNAP312のそれぞれから単一の適応プロセッサ310が接続されるように、1つの適応プロセッサ310をSNAP312に選択的に結合する。この態様では、SNAP312は、図2の実現例に記載されるのと実質的に等しい態様で、メモリバスおよびメモリサブシステム306に適応プロセッサ310を結合するようプログラムされ得る。クロスバ314は、SNAP312に結合するべき特定のプロセッサ310を選択するために何らかの形の調停/制御を必要とするだろう。特定の例においては、この制御機能はSNAP312インターフェイスにおいて実現され、適応プロセッサ310と通信するために規定された制御機能を活用し、したがって、クロスバ314の制御を実現するのに追加の配線またはリソースは必要とされない。これは、たとえば、適応プロセッサ310のうちの1つ以上の適応プロセッサ310内に構成されたロジックによって、または外部の管理エージェント(図示せず)によって実現され得る。代替的には、クロスバ314は適応プロセッサ310のラウンドロビン選択を実現して、システムメモリ306にアクセスするためのタイムシェアリングのようなアルゴリズムを実現し得る。
図4は、複数のプロセッサ404がメモリバスへの外部アクセスと組合せてFSBに結合される点で図2に示されるシステムとは異なるハイブリッドシステムを示す。適応プロセッサ410は図2の記載中のプロセッサ210に実質的に等しく、SNAP装置412は図2のSNAP212に実質的に等しい。いくつかのシステムチップセットは、FSB上の複数のマイクロプロセッサ404とインターフェイスし得るメモリおよびI/Oコントローラ402を含む。マイクロプロセッサ404によって生成されるメモリトランザクションは、システムメモリ406への共有アクセスを可能にするよう適応プロセッサ410からのトランザクション要求で調停される。メモリおよびI/Oコントローラ402はすべてのプロセッサ404および410に対して等しいアクセスを実現し得るか、または、いくつかのプロセッサに対して好ましいアクセスを提供し得る。たとえば、マイクロプロセッサ404のすべてが一緒に50%のアクセスを主張し得る(bet)が、残りの50%は適応プロセッサ410に割当てられる。可変アクセス帯域幅を可能にするには、メモリおよびI/Oコントローラ402内の調停ロジックにいくらか変更を加えることが必要になるかもしれない。たとえば適応プロセッサ410がシステムメモリ406にアクセスすることのできる周波数を調整するかまたは制御することによって、SNAP412内でのプログラミングもプロセッサ404によるより要求の厳しいアクセスに対処するよう変更され得ることが企図される。
図5は、複数のプロセッサ504がメモリおよびI/Oコントローラ502へのFSBアクセスを共有する一方で、複数の適応プロセッサ510がSNAP512を介してメモリおよびI/Oコントローラ502にアクセスする実現例を示す。SNAP装置512は構成可能であるので、並行して動作するよう構成され得る。SNAP間の接続512は物理接続であり得るか、またはメモリコマンドによって実現される仮想接続であり得る。各適応プロセッサ510はメモリバスにアクセスでき、したがって、システムメモリ506へのアクセスを調停する。図5の実現例は、複数の要求エージェントの間で調停する能力を含む、メモリおよびI/Oコントローラ502内の調停メカニズムを活用する。SNAP512は、それら自体の間でメモリバスアクセスを調整するメカニズムを含み、かつ、メモリバスアクセスが複数のマイクロプロセッサ504によるアクセスの増加に対処するようアサートされる周波数を自己制御するメカニズムを含み得る。
図6および図7は、調停制御ロジックが、メモリおよびI/Oコントローラ602または702内の調停ロジックに完全に依拠するのではなくSNAP612またはSNAP7
12内で実現されている具体的な実施例を示す。場合によっては、メモリおよびI/Oコントローラ602/702の製造業者は、調停メカニズムに直接アクセスせずに、メモリバスに外部アクセスを提供し得る。この場合、SNAP612および712内の調停ロジックはメモリバス上のメモリリフレッシュ信号を監視するだろう。特定の実現例においては、メモリリフレッシュ制御は、従来のコンピュータシステムとの互換性を残すようにノースブリッジ構成要素602/702において保持される。
12内で実現されている具体的な実施例を示す。場合によっては、メモリおよびI/Oコントローラ602/702の製造業者は、調停メカニズムに直接アクセスせずに、メモリバスに外部アクセスを提供し得る。この場合、SNAP612および712内の調停ロジックはメモリバス上のメモリリフレッシュ信号を監視するだろう。特定の実現例においては、メモリリフレッシュ制御は、従来のコンピュータシステムとの互換性を残すようにノースブリッジ構成要素602/702において保持される。
図6に示されるSMPコンピュータシステム600は、図4に示されるシステムに類似しているが、SNAP612がメモリおよびI/Oコントローラ602の外にある調停ロジックを実現する点で異なっている。この外部の調停ロジックにより、適応プロセッサ610がメモリサブシステム606にアクセスすることが可能となる。メモリおよびI/O構成要素602は、システムメモリへのアクセスがマイクロプロセッサ604またはI/Oブリッジ608のうちの1つから待ち状態であるとき要求信号をアサートする。メモリリフレッシュは、リフレッシュサイクル前にメモリおよびI/O構成要素602にSNAP612へのリフレッシュ信号をアサートさせることによって実現される。リフレッシュ信号の後の次のコマンドサイクルで、メモリおよびI/O構成要素606内のメモリリフレッシュメカニズムがメモリバスを制御して、システムメモリ606のリフレッシュを実行する。
図7に示されるSMPコンピュータシステム700は、図5に示されるシステムに類似しているが、SNAP712がメモリおよびI/Oコントローラ702の外にある調停ロジックを実現する点で異なっている。図6の実現例と同様に、外部の調停ロジックの使用は、リフレッシュ信号をメモリおよびI/Oコントローラ702から少なくとも1つのSNAP712に供給することによって実現され、このため、リフレッシュ機能がメモリおよびI/Oコントローラ702によって保持される。従来のコンピュータシステム100においてメモリおよびI/Oコントローラ702を用いるために、許可線は、メモリおよびI/Oコントローラ702がメモリバスを制御していることを示す信号レベルに関連付けられる。
図8および図9は、この発明に従ったコンピュータシステムを作動させるための具体的なタイミング図を示す。図8および図9においては、水平なアクセスは、クロック信号によって示されるサイクルに分割される増加時間を表わす。垂直なアクセスは、時間の経過に伴った信号事象を示す信号レベル(たとえば、電圧、電流など)を表わす。図8における要求信号および許可信号は、図2〜図5において「ARB」と明示された調停バスの状態を示す。図8における要求信号および許可信号は、図6および図7において「ARB」と明示された調停バスの状態を示すが、図9におけるリフレッシュ信号線は図6および図7に示されるリフレッシュ線の状態を示す。各タイミング図の上方領域において、クロックサイクルが「NB CMD」と指定されて、ノースブリッジコマンドがアサートされる(すなわち、コマンドがメモリおよびI/Oコントローラによってアサートされる)ある期間を示す。「SNAP CMD」と明示されたサイクルにおいては、SNAP装置が調停されたメモリバスを制御し、図9で「REFRESH CMD」と明示されたサイクルにおいては、(特定の例におけるノースブリッジ構成要素内の)リフレッシュメカニズムが調停されたメモリバスを制御する。便宜上、図8および図9の説明は、SNAP装置212、312、412、512、612または712のいずれかによって生成される信号としてSNAP信号について言及するだろう。同様に、メモリおよびI/Oコントローラ202、302、402、502、602および702はノースブリッジ構成要素と称されるだろう。
図8においては、ノースブリッジは最初にメモリバスを制御する。SNAP装置は、要求(REQUEST)信号をアサートし、これは、許可(GRANT)が後に1つ以上の
クロックサイクルで受信されるまで要求状態で保持される。GRANTは、特定のノースブリッジ構成要素によって実現される調停アルゴリズムに従って、ノースブリッジ構成要素内の調停ロジックによって生成されるだろう。GRANT信号をアサートすると、SNAP装置は、REQUEST線を下げることによってメモリバスを解放するまでメモリバスを制御する。SNAP装置にメモリバスの制御を放棄させてデッドロック/ライブロック状況を避けるために何らかのメカニズムが提供され得ることが企図される。しかしながら、図8に示される通常動作において、ノースブリッジ構成要素内の調停ロジックがREQUEST信号のデアサートを認識し、後続のクロックサイクルにおいてGRANT線を低く配置し、その後、ノースブリッジ構成要素が、後続のSNAP要求が処理されるまでメモリバスの制御を維持する。従来の動作については、GRANT線は、ノースブリッジ構成要素が連続した制御を維持するように、ノースブリッジ制御を示す信号状態(たとえば、図8ではロー)に永久的に関連付けられる。
クロックサイクルで受信されるまで要求状態で保持される。GRANTは、特定のノースブリッジ構成要素によって実現される調停アルゴリズムに従って、ノースブリッジ構成要素内の調停ロジックによって生成されるだろう。GRANT信号をアサートすると、SNAP装置は、REQUEST線を下げることによってメモリバスを解放するまでメモリバスを制御する。SNAP装置にメモリバスの制御を放棄させてデッドロック/ライブロック状況を避けるために何らかのメカニズムが提供され得ることが企図される。しかしながら、図8に示される通常動作において、ノースブリッジ構成要素内の調停ロジックがREQUEST信号のデアサートを認識し、後続のクロックサイクルにおいてGRANT線を低く配置し、その後、ノースブリッジ構成要素が、後続のSNAP要求が処理されるまでメモリバスの制御を維持する。従来の動作については、GRANT線は、ノースブリッジ構成要素が連続した制御を維持するように、ノースブリッジ制御を示す信号状態(たとえば、図8ではロー)に永久的に関連付けられる。
図9においては、ノースブリッジは最初にメモリバスを制御する。REQUEST/GRANTプロトコルは図8に示されるプロトコルに大体類似しているが、調停ロジックがSNAP装置において実現されるので、SNAP装置はメモリシステムのREFRESH状態を認識していなければならない。図9に図示のとおり、ノースブリッジ構成要素がリフレッシュ動作を実行しようとしていることを示すREFRESH信号を検出すると、SNAP装置はREQUEST信号およびGRANT信号をデアサートすることによって制御を放棄する。リフレッシュサイクルが終了すると、SNAPは再び、REQUESTをアサートし、かつノースブリッジ構成要素の内部の調停メカニズムよって生成されるであろうGRANTを待つことによって、メモリバスの制御のために調停を行うことができる。従来の動作については、GRANT線がノースブリッジ制御を示す信号状態(たとえば、図8ではロー)に永久的に関連付けられ、REQUEST/REFRESH線が使用されないので、ノースブリッジ構成要素は連続した制御を維持する。
特定の計算システムアーキテクチャおよび構成要素に関連してこの発明の原理を以上に記載したが、前述の記載は例示のためだけになされたものであり、この発明の範囲を限定するものではないことは明瞭に理解されるべきである。特に、前述の開示の教示により、関連技術の当業者には、他の変形例が提案されることがわかる。このような変形例は、それ自体が既に公知であり、かつ、この明細書中に既に記載された特徴の代わりにまたはそれに加えて用いることのできる他の特徴を含み得る。特許請求の範囲は、本願では特定の特徴の組合せに対して作成されているが、この明細書中における開示の範囲もまた、関連技術の当業者には明らかであろういかなる新規な特徴、または明示的もしくは暗示的に開示される特徴のいかなる新規な組合せ、またはこれらのいかなる一般化もしくは変形例も、これらがいずれかの請求項において現在クレームされるのと同じ発明に関連しているか否か、および、この発明が直面するのと同じ技術的な問題のいずれかもしくはすべてを緩和するか否かにかかわらず、包含するものであることを理解されたい。本出願人はこれにより、本願またはこれより発生するさらなる出願すべての審査手続期間中にそのような特徴および/またはそのような特徴の組合せに対し、新しい請求項を作成する権利を留保する。
この発明をある程度特定的に記載および図示してきたが、この発明の開示が例示のみを目的としてなされたものであり、添付の特許請求の範囲に記載されるように、この発明の精神および範囲から逸脱することなく、当業者によって部品の組合せおよび構成の多くの変更がなされ得ることが理解される。
Claims (26)
- 計算システムであって、
少なくとも1つのマイクロプロセッサと、
前記少なくとも1つのマイクロプロセッサに結合されるメモリサブシステムと、
前記メモリサブシステムと前記少なくとも1つのマイクロプロセッサとの間でメモリトランザクションを管理するよう結合されるメモリコントローラと、
前記メモリコントローラに結合され、外部の調停信号を受信するよう構成される少なくとも1つの調停ポートとを含む、計算システム。 - 前記調停信号ポートはシステムチップセットのノースブリッジ構成要素において実現される、請求項1に記載の計算システム。
- 前記ノースブリッジ構成要素によって実現される複数のインターフェイスポートをさらに含み、前記複数のインターフェイスポートは外部システムからのメモリトランザクションをサポートし、さらに、
前記メモリサブシステムへのアクセスのための前記複数のインターフェイスポートの間で調停を行なうための、前記ノースブリッジ構成要素内における調停メカニズムを含み、前記少なくとも1つの調停ポートは前記調停メカニズムに結合する、請求項2に記載の計算システム。 - 前記ノースブリッジ構成要素によって実現される複数のインターフェイスポートをさらに含み、前記複数のインターフェイスポートの各々は外部システムからのメモリトランザクションをサポートし、さらに、
前記メモリサブシステムへのアクセスのための前記複数のインターフェイスポートの間で調停を行なうための前記ノースブリッジ構成要素内における内部調停メカニズムと、
前記調停ポートを介して前記内部調停メカニズムに前記調停信号を供給するよう結合される外部調停メカニズムとをさらに含む、請求項2に記載の計算システム。 - 前記調停信号ポートはメモリコントローラにおいて実現される、請求項1に記載の計算システム。
- 前記メモリコントローラは前記少なくとも1つのマイクロプロセッサに組込まれ、前記調停信号ポートは前記マイクロプロセッサの前記メモリコントローラにおいて実現される、請求項1に記載の計算システム。
- 複数のエージェントが、前記メモリサブシステムとのトランザクションを実行するために前記少なくとも1つの調停ポートにアクセスする、請求項1に記載の計算システム。
- 対称型マルチプロセッサ(SMP)コンピュータシステムであって、
少なくとも2つのマイクロプロセッサと、
共有システムメモリと、
前記共有システムメモリおよび前記少なくとも2つのマイクロプロセッサに結合されるメモリコントローラと、
前記メモリコントローラに結合され、前記少なくとも2つのマイクロプロセッサの各々によってアクセス可能であるメモリ調停ポートとを含み、前記メモリコントローラは、前記少なくとも2つのマイクロプロセッサの各々を前記共有システムメモリに選択的に結合するために前記メモリ調停ポート上の信号に応答する、対称型マルチプロセッサ(SMP)コンピュータシステム。 - 前記調停メカニズムは、特定されたメモリ位置が前記少なくとも2つのマイクロプロセッサのうちの第2のマイクロプロセッサによって用いられているときに前記少なくとも2つのマイクロプロセッサのうちの第1のマイクロプロセッサによって特定されたメモリ位置へのアクセスを妨げるためのリソースを含む、請求項8に記載のSMPコンピュータシステム。
- 前記調停メカニズムは、前記少なくとも2つのマイクロプロセッサのサブセットによって排他的なアクセスのための特定されたメモリ位置を確保するためのリソースを含む、請求項8に記載のSMPコンピュータシステム。
- 計算システムであって、
少なくとも1つの適応プロセッサと、
前記少なくとも1つの適応プロセッサに結合されるメモリサブシステムと、
前記メモリサブシステムと前記少なくとも1つの適応プロセッサとの間でメモリトランザクションを管理するよう結合されるメモリコントローラと、
前記メモリコントローラに結合され、外部の調停信号を受信するよう構成される少なくとも1つの調停ポートとを含む、計算システム。 - 前記調停信号ポートは、システムチップセットのノースブリッジ構成要素において実現される、請求項11に記載の計算システム。
- 前記ノースブリッジ構成要素によって実現される複数のインターフェイスポートをさらに含み、前記複数のインターフェイスポートの各々が外部システムからのメモリトランザクションをサポートし、さらに、
前記メモリサブシステムへのアクセスのための前記複数のインターフェイスポートの間で調停を行なうための、前記ノースブリッジ構成要素内における調停メカニズムを含み、前記少なくとも1つの調停ポートは前記調停メカニズムに結合する、請求項12に記載の計算システム。 - 前記ノースブリッジ構成要素によって実現される複数のインターフェイスポートをさらに含み、前記複数のインターフェイスポートの各々は外部システムからのメモリトランザクションをサポートし、さらに、
前記メモリサブシステムへのアクセスのための前記複数のインターフェイスポートの間で調停を行なうための、前記ノースブリッジ構成要素内における内部調停メカニズムと、
前記調停ポートを介して前記内部調停メカニズムに前記調停信号を供給するよう結合される外部調停メカニズムとを含む、請求項12に記載の計算システム。 - 前記調停信号ポートはメモリコントローラにおいて実現される、請求項11に記載の計算システム。
- 前記メモリコントローラは前記少なくとも1つのマイクロプロセッサに組込まれ、前記調停信号ポートは前記適応プロセッサの前記メモリコントローラにおいて実現される、請求項11に記載の計算システム。
- 複数のエージェントが前記メモリサブシステムとのトランザクションを実行するために前記少なくとも1つの調停ポートにアクセスする、請求項11に記載の計算システム。
- 計算システムであって、
少なくとも1つの適応プロセッサと、
少なくとも1つのマイクロプロセッサと、
メモリサブシステムと、
前記少なくとも1つの適応プロセッサ、前記少なくとも1つのマイクロプロセッサおよび前記メモリサブシステムに結合されるメモリバスと、
前記メモリバスへの前記少なくとも1つのマイクロプロセッサのアクセスを管理するためのメモリおよびI/Oコントローラと、
前記メモリバスへのアクセスを調停するための前記少なくとも1つの適応プロセッサに結合される調停メカニズムと、
外部のエージェントが前記メモリサブシステムの制御のために調停を行なうことを可能にするよう動作可能な前記調停メカニズム内における少なくとも1つのインターフェイスポートとを含み、前記調停メカニズムが前記メモリおよびI/Oコントローラにおいて外部から実現される、計算システム。 - コンピュータシステムのためのメモリおよびI/Oコントローラであって、
メモリアクセス要求を生成する装置に結合するための1つ以上のメモリユーザポートと、
システムメモリに結合するためのメモリバスポートと、
メモリアクセス要求を生成する前記装置によって前記システムメモリへの調停されたアクセスを許可するよう動作可能な調停メカニズムと、
前記調停メカニズムに結合される外部調停ポートとを含み、前記調停メカニズムは、前記外部調停ポートの外部装置コントローラによって前記システムメモリへの調停されたアクセスを許可するために前記外部調停ポート上の信号に応答する、メモリおよびI/Oコントローラ。 - 前記調停メカニズムはシステムチップセットのノースブリッジ構成要素内で実現される、請求項19に記載のメモリおよびI/Oコントローラ。
- 前記調停ポートは要求信号ポートおよび許可信号ポートを含む、請求項20に記載のメモリおよびI/Oコントローラ。
- メモリシステム調停メカニズムを有するコンピュータシステムにおいて用いるためのメモリシステム調停バスであって、前記バスは、
要求信号ポートと、
許可信号ポートとを含む、メモリシステム調停バス。 - メモリシステム調停メカニズムと、メモリシステムリフレッシュメカニズムとを有するコンピュータシステムにおいて用いるためのメモリシステム調停バスであって、前記バスは、
要求信号ポートと、
許可信号ポートと、
メモリサブシステムのリフレッシュ状態を伝達するリフレッシュ信号ポートとを含み、前記調停メカニズムは、メモリシステムリフレッシュメカニズムとは別個の装置において実現される、メモリシステム調停バス。 - 計算システムであって、
少なくとも1つのマイクロプロセッサと、
メモリサブシステムと、
前記マイクロプロセッサおよび前記メモリサブシステムに結合され、前記メモリサブシステムと前記少なくとも1つのマイクロプロセッサとの間でメモリトランザクションを管理するよう動作可能なメモリコントローラと、
前記メモリコントローラに結合され、外部の調停信号を受信するよう構成される少なく
とも1つの調停ポートと、
前記調停ポートに結合され、1つ以上の適応プロセッサに結合されるポートを有するスイッチとを含み、前記スイッチは前記適応プロセッサのうちの1つを前記調停ポートに選択的に結合するよう動作可能である、計算システム。 - 共有メモリサブシステムへのアクセス要求を生成する複数のサブシステムを有する計算システムを作動させるための方法であって、前記方法は、
前記サブシステムのうちの1つ以上に前記メモリサブシステムへのアクセスを要求させる動作と、
前記1つ以上のサブシステムの間で調停を行なって、1つのサブシステムを選択する動作と、
前記選択されたサブシステムへの許可信号を生成する動作と、
前記選択されたサブシステムと前記メモリサブシステムとの間でメモリトランザクションを実行する動作とを含む、方法。 - 前記サブシステムのうちの1つ以上にアクセスを要求させる前記動作はさらに、システムチップセットの外部ポートに要求信号を伝達する動作を含む、請求項25に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/284,994 US6996656B2 (en) | 2002-10-31 | 2002-10-31 | System and method for providing an arbitrated memory bus in a hybrid computing system |
PCT/US2003/029540 WO2004042588A1 (en) | 2002-10-31 | 2003-09-17 | System and method for providing an arbitrated memory bus in a hybrid computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006505054A true JP2006505054A (ja) | 2006-02-09 |
Family
ID=32175058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004549958A Withdrawn JP2006505054A (ja) | 2002-10-31 | 2003-09-17 | ハイブリッド計算システムにおいて調停されたメモリバスを設けるためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6996656B2 (ja) |
EP (1) | EP1556771A1 (ja) |
JP (1) | JP2006505054A (ja) |
AU (1) | AU2003272583A1 (ja) |
CA (1) | CA2492970A1 (ja) |
WO (1) | WO2004042588A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324231B2 (en) * | 2002-12-05 | 2008-01-29 | Hewlett-Packard Development Company, L.P. | Printer expansion method and apparatus |
TWI289752B (en) * | 2003-05-20 | 2007-11-11 | Via Tech Inc | Method for saving the BIOS in CMOS memory into DMI section |
TWI233016B (en) * | 2003-09-10 | 2005-05-21 | Via Tech Inc | Method and related apparatus for controlling data movement in a memory device |
US20050134595A1 (en) * | 2003-12-18 | 2005-06-23 | Hung-Ming Lin | Computer graphics display system |
KR100736902B1 (ko) * | 2005-06-23 | 2007-07-10 | 엠텍비젼 주식회사 | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 |
US20110104213A1 (en) * | 2009-10-30 | 2011-05-05 | University Of Pittsburgh-Of The Commonwealth System Of Higher Education | Porous Biomolecule-Containing Metal-Organic Frameworks |
US20120117318A1 (en) | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
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 |
US9177646B2 (en) | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
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 |
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 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59119591A (ja) * | 1982-12-27 | 1984-07-10 | Toshiba Corp | 半導体メモリ装置 |
EP0360527B1 (en) * | 1988-09-19 | 1995-01-04 | Fujitsu Limited | Parallel computer system using a SIMD method |
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 |
US5404538A (en) * | 1992-10-28 | 1995-04-04 | International Business Machines Corporation | Method and apparatus for multilevel bus arbitration |
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
US6085283A (en) * | 1993-11-19 | 2000-07-04 | Kabushiki Kaisha Toshiba | Data selecting memory device and selected data transfer device |
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 |
EP0842470B1 (en) * | 1995-07-27 | 2003-09-24 | Intel Corporation | Protocol for arbitrating access to a shared memory area using historical state information |
US5983327A (en) * | 1995-12-01 | 1999-11-09 | Nortel Networks Corporation | Data path architecture and arbitration scheme for providing access to a shared system resource |
US5943483A (en) * | 1995-12-11 | 1999-08-24 | Lsi Logic Corporation | Method and apparatus for controlling access to a bus in a data processing system |
US5903771A (en) * | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US5737766A (en) * | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
US5822549A (en) * | 1996-07-15 | 1998-10-13 | Micron Electronics, Inc. | Computer system and bus controller for controlling access to a computer bus |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5950229A (en) * | 1997-03-12 | 1999-09-07 | Micron Electronics, Inc. | System for accelerating memory bandwidth |
US6088761A (en) * | 1997-03-31 | 2000-07-11 | Sun Microsystems, Inc. | Reduced pin system interface |
US6226776B1 (en) * | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
US6216191B1 (en) * | 1997-10-15 | 2001-04-10 | Lucent Technologies Inc. | Field programmable gate array having a dedicated processor interface |
US6085263A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computer Corp. | Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor |
US6314499B1 (en) * | 1997-11-14 | 2001-11-06 | Lucent Technologies Inc. | Non-preemptive memory locking mechanism in a shared resource system |
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 |
US6434687B1 (en) * | 1997-12-17 | 2002-08-13 | Src Computers, Inc. | System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US6654833B1 (en) * | 1999-07-29 | 2003-11-25 | Micron Technology, Inc. | Bus arbitration |
US6594730B1 (en) * | 1999-08-03 | 2003-07-15 | Intel Corporation | Prefetch system for memory controller |
US6330647B1 (en) * | 1999-08-31 | 2001-12-11 | Micron Technology, Inc. | Memory bandwidth allocation based on access count priority scheme |
US6745369B1 (en) * | 2000-06-12 | 2004-06-01 | Altera Corporation | Bus architecture for system on a chip |
US6415369B1 (en) * | 2000-08-29 | 2002-07-02 | Agere Systems Guardian Corp. | Shared devices and memory using split bus and time slot interface bus arbitration |
US6820142B2 (en) * | 2000-12-14 | 2004-11-16 | International Business Machines Corporation | Token based DMA |
JP2002236607A (ja) * | 2001-02-13 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 共有メモリ制御装置とマルチメディア処理システム |
GB2373595B (en) * | 2001-03-15 | 2005-09-07 | Italtel Spa | A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol |
JP4615137B2 (ja) * | 2001-03-26 | 2011-01-19 | 富士通セミコンダクター株式会社 | 同期型メモリに対するフライバイ転送を可能にするdma制御システム |
US20030061453A1 (en) * | 2001-09-27 | 2003-03-27 | Cosky Jason E. | Method and apparatus for arbitrating a memory bus |
US6717834B2 (en) * | 2002-03-26 | 2004-04-06 | Intel Corporation | Dual bus memory controller |
-
2002
- 2002-10-31 US US10/284,994 patent/US6996656B2/en not_active Expired - Lifetime
-
2003
- 2003-09-17 CA CA002492970A patent/CA2492970A1/en not_active Abandoned
- 2003-09-17 EP EP03754772A patent/EP1556771A1/en not_active Withdrawn
- 2003-09-17 JP JP2004549958A patent/JP2006505054A/ja not_active Withdrawn
- 2003-09-17 WO PCT/US2003/029540 patent/WO2004042588A1/en not_active Application Discontinuation
- 2003-09-17 AU AU2003272583A patent/AU2003272583A1/en not_active Abandoned
-
2005
- 2005-07-22 US US11/187,534 patent/US20050256994A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2004042588A1 (en) | 2004-05-21 |
CA2492970A1 (en) | 2004-05-21 |
US20040088467A1 (en) | 2004-05-06 |
US6996656B2 (en) | 2006-02-07 |
AU2003272583A1 (en) | 2004-06-07 |
US20050256994A1 (en) | 2005-11-17 |
EP1556771A1 (en) | 2005-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050256994A1 (en) | System and method for providing an arbitrated memory bus in a hybrid computing system | |
US6330647B1 (en) | Memory bandwidth allocation based on access count priority scheme | |
US6145029A (en) | Computer system with enhanced docking support | |
JP2552085B2 (ja) | マルチプル・バスの調停論理のためのシステム及び方法 | |
US5954809A (en) | Circuit for handling distributed arbitration in a computer system having multiple arbiters | |
US6272580B1 (en) | Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system | |
US5678064A (en) | Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives | |
US5901297A (en) | Initialization mechanism for symmetric arbitration agents | |
EP1163593A2 (en) | Method and apparatus for communicating between multiple functional units in a computer environment | |
US6801971B1 (en) | Method and system for shared bus access | |
US6397279B1 (en) | Smart retry system that reduces wasted bus transactions associated with master retries | |
US5740381A (en) | Expandable arbitration architecture for sharing system memory in a computer system | |
US5951667A (en) | Method and apparatus for connecting expansion buses to a peripheral component interconnect bus | |
US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
US8463968B2 (en) | Mechanism for a shared serial peripheral interface | |
US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
US6804736B2 (en) | Bus access arbitration based on workload | |
US5933613A (en) | Computer system and inter-bus control circuit | |
US7765349B1 (en) | Apparatus and method for arbitrating heterogeneous agents in on-chip busses | |
US5878239A (en) | Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge | |
KR950008229B1 (ko) | 퍼스널 컴퓨터 시스템 | |
JP2004133942A (ja) | データバスシステム及びバス間クロスアクセス方法 | |
US5983025A (en) | Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses | |
US5850529A (en) | Method and apparatus for detecting a resource lock on a PCI bus | |
US5892977A (en) | Apparatus and method for read-accessing write-only registers in a DMAC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061205 |