JP4511638B2 - 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ - Google Patents

内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ Download PDF

Info

Publication number
JP4511638B2
JP4511638B2 JP51554299A JP51554299A JP4511638B2 JP 4511638 B2 JP4511638 B2 JP 4511638B2 JP 51554299 A JP51554299 A JP 51554299A JP 51554299 A JP51554299 A JP 51554299A JP 4511638 B2 JP4511638 B2 JP 4511638B2
Authority
JP
Japan
Prior art keywords
memory
controller
subsystem
display
data
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.)
Expired - Lifetime
Application number
JP51554299A
Other languages
English (en)
Other versions
JP2001505342A (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 JP2001505342A publication Critical patent/JP2001505342A/ja
Application granted granted Critical
Publication of JP4511638B2 publication Critical patent/JP4511638B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/126The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

関連出願
本願は、1997年7月1日に出願された発明の名称が“Computer System Having a Common Display Memory And Main Memory”である同時係属中の米国特許出願第08/886,237号の一部継続出願であり、この関連出願は参考のため引用される。
発明の背景
1.発明の分野
本発明は、一般的にコンピュータシステム用のメモリアーキテクチャに係わり、特に、内部メモリ及び外部メモリコントロールにより構成されたメモリサブシステムに関する。
2.従来技術の説明
典型的なパーソナルコンピュータシステムは、外部メインメモリを備えた中央処理ユニット(CPU)と、専用メモリサブシステムを備えたグラフィックスディスプレイサブシステムとを有する。このメモリサブシステムの一部はディスプレイに出力を供給するフレームバッファであり、このサブシステムの一部はオフ・スクリーン動作のために使用してもよい。しかし、グラフィックスディスプレイサブシステムメモリと、メインシステムのメモリのプールは、データを効率的に共用しないか、若しくは、一方のメモリサブシステムから他方へデータを効率的に転送しない。
別の典型的なパーソナルコンピュータシステムは、CPUとグラフィックスサブシステムの両方のために単一のメモリサブシステムを有する。このタイプのコンピュータシステムの性能は、グラフィックスディスプレイサブシステム用とCPU用に別々のメモリサブシステムを有するコンピュータシステムの性能よりも劣る。単一の外部メモリシステムがCPU用のキャッシュメモリをサポートし得るとしても、メモリ帯域幅はグラフィックスサブシステムとCPUサブシステムの間で共用されるので、全体的な性能は依然として劣る。これらのコンピュータシステムは、CPU及びグラフィックスの両方のサブシステムに対し優れた性能を達成する能力の点で非常に制限される。費用効果率を保つため、これらのシステムは典型的に、グラフィックス動作の特殊な性能要求のため最適化されていない低価格のメインメモリを使用する。
ディスプレイの全てのリフレッシュ及び描画動作を行うため単一の外部メモリサブシステムを使用するシステムの場合、性能は、CPUのためのメモリ帯域幅と共用される上記動作のためのメモリ帯域幅によって拘束される。「リフレッシュ」は、フレームバッファメモリに格納された情報を取得し、次に、モニター、テレビジョン又はフラット形パネルディスプレイのような出力装置に表示するため、情報を行単位でパレットディジタル・アナログ変換器(DAC)に転送することを表す一般的な用語である。フレームバッファの全ての内容は、表示された画像が可視化されるように出力装置へ連続的に転送されるべきである。モニターの場合、このリフレッシュは典型的に毎秒75乃至95回ずつ実行される。高解像度カラーシステムの場合、リフレッシュ過程は、メモリから利用可能な総帯域幅の中のかなりの部分を消費する。
リフレッシュ帯域幅に加えて、グラフィックスサブシステムは、帯域幅のかなりの量を消費する描画動作を行う。2次元グラフィックスアクセラレーションの場合に、描画動作は、Bit−BLt(ビットブロック転送)と、線描画と、同じ共通メモリプールを使用する他の動作とを含む。
インテル社並びにパーソナルコンピュータの他の企業は、次世代周辺ポート(AGP)バスと、グラフィックスとチップセットを組み合わせるための関連したシステムアーキテクチャとを設計した。AGPは、メインメモリコントローラチップセットとグラフィックスディスプレイサブシステムとの間の第2の個別バスである。AGP及び関連したシステムアーキテクチャは、3次元テクスチャメモリをグラフィックスサブシステムによってアクセスされ得るメインメモリに格納できるようにさせる。これは、共用メインメモリをグラフィックス機能のため使用する一つの限定された用法である。しかし、グラフィックスサブシステムとメインメモリコントローラチップセットとの間には、単一のバスが存在するので、このバスはシステム性能を制限する。この単一のバスは、グラフィックスコントローラへの全てのCPUコマンドと、CPUによるディスプレイデータの直接的な読み書き、メインメモリからの全てのテクスチャの取り出し、及び、CPU又はI/Oサブシステムから発生または受信された他のディスプレイ情報(すなわち、捕捉チップ又はデコーダからのビデオデータ)の転送とによって共用される。
AGPは、ディスプレイリフレッシュ及び描画動作のためメインメモリサブシステムを使用することによる上記の性能限界を克服するため設計される。AGPシステムは、AGPバス上のグラフィックスサブシステムがスクリーンのリフレッシュ及び描画動作に対し別個のフレームバッファメモリサブシステムを有するという粗い強制的な要求によってこれらの制限を解決する。フレームバッファメモリの使用は、描画及びリフレッシュ動作と関連した性能ペナルティーを減少させる優れた解決法である。その間、フレームバッファは常に必要とされるので、AGPシステムはスクリーンリフレッシュがメインシステムメモリから行われることを許容しない。このため、メインメモリからスクリーンの全部又は一部のリフレッシュ動作は最適化できない。
さらに、描画動作はグラフィックスディスプレイメモリで行われる必要があるので、グラフィックスサブシステムコントローラによって行われる。また、専用フレームバッファのフレキシビリティは制限され、グラフィックスサブシステムコントローラはメインシステムメモリに描画できない。
フレームバッファメモリをメインシステムメモリから分離することは、入出力(I/O)システムデータを2倍にする。例えば、このことは、ビデオデータがシステムコントローラを通るI/Oバスを介してシステムに入り、次に、メインシステムメモリに格納されるシステムで生じる。データが表示される場合、そのデータはフレームバッファに複写される必要がある。これにより、データの2回目のコピーが行われ、データの転送のために余分な帯域幅が必要になる。
別の代替案は、I/Oデータがフレームバッファに転送される箇所にグラフィックスコントローラと関連した外部バスを具備することである。これにより、システムバスを介した余分な転送は行わなくても済むが、データはディスプレイサブシステム側に残されたままである。CPU又はメインI/Oシステムはシステムバスを使用することなくこのデータにアクセスすることができない。共用メモリサブシステムを備えたシステムの場合、I/Oデータは共用メモリ領域に収容される。したがって、I/Oデータはディスプレイサブシステム又はCPUのいずれからでも利用可能である。
図1は、標準的な先行技術のメモリアーキテクチャ100の略構成図である。CPUサブシステム102はサブシステム104に接続され、サブシステム104は、外部システムランダムアクセスメモリ(RAM)110及び外部コンポーネントインタフェース(PCI)バス112に接続される。サブシステム104はシステムコントローラ106及びグラフィックスコントローラ108を含み、グラフィックスコントローラ108はディスプレイ(図1に図示しない)に接続される。システムは、グラフィックスディスプレイとCPU102の両方のための単一の外部メモリサブシステム110を有する。
図2は、CPU用とグラフィックスディスプレイ用の別個のメモリを有する現状の技術レベルのパーソナルコンピュータのメモリアーキテクチャ200の略構成図である。CPUサブシステム204は、外部システムRAM210及びPCIバス216に接続されたシステムコントローラ206に接続される。また、システムコントローラ206は専用AGPバス214を介してグラフィックスコントローラ208に接続され、グラフィックスコントローラ208は、コントローラの外部又はコントローラに内蔵されたグラフィックスRAM212と、ディスプレイ202とに接続される。CPUサブシステムはシステムRAM210の拡張としてグラフィックスRAM212を取り扱えず、グラフィックスサブシステム208はディスプレイのリフレッシュのためシステムメモリ210を使用できない。
内部及び外部メモリを結合し、共通メモリがディスプレイメモリ及びメインメモリのため使用することができ、性能を低下させる共通メモリへの不適切な帯域幅のアクセスが回避された統合型システムコントローラが必要とされる。
発明の概要
本発明は、一つ以上の大帯域幅のメモリサブシステムを有し、その中の一部のメモリサブシステムはコントローラの外部に設けられ、一部のメモリサブシステムはコントローラの内部に設けられているメモリアーキテクチャである。各大帯域幅のメモリサブシステムは共用され、複数のバスを介してディスプレイサブシステム、中央処理ユニット(CPU)サブシステム、入出力(I/O)バス及び他のコントローラに接続される。ディスプレイサブシステムは、高速メモリサブシステムから種々のビデオ及びグラフィックスタイプのデータを受信するように構成され、ディスプレイのリフレッシュのためそのデータを処理する。付加的なバッファ及びキャッシュがシステム性能を最適化するため使用される。ディスプレイリフレッシュパスは、メモリサブシステムからのデータをディスプレイに出力するため処理し、ここで、データは、I/Oサブシステム、CPUサブシステム又はグラフィックスサブシステムから共用メモリサブシステムに入る。
【図面の簡単な説明】
図1は先行技術のコンピュータシステム用メモリアーキテクチャの構成図であり、
図2は別の先行技術のコンピュータシステム用メモリアーキテクチャの構成図であり、
図3は、統合型メモリと外部メモリとからなる共通のディスプレイメモリ及びメインメモリを有するコンピュータシステムの一実施例の構成図であり、
図4は、共通のディスプレイメモリ及びメインメモリを備えたシステムの一実施例の構成図であり、
図5は、共通のディスプレイメモリ及びメインメモリを備えた新しい改良型システムの全機能の実施例を示す構成図であり、
図6は、内部メモリチャネル及び外部メモリチャネルを備えたデータスイッチの一実施例の構成図であり、
図7は4×4形クロスバー方式データスイッチの一実施例の構成図であり、
図8はアービトレーション及びデータスイッチ制御アーキテクチャの一実施例の構成図であり、
図9はマルチバンク形IRAMサブシステムの一実施例の構成図であり、
図10は、行方向バッファを具備した単一バック形IDRAMを含むIRAMサブシステムの一実施例の構成図であり、
図11は、多数の行方向バッファを個々に使用する多数のIRAMサブシステムを具備したデータスイッチの一実施例の構成図であり、
図12は、メインメモリのアーキテクチャとは無関係にグラフィックス描画及びディスプレイサブシステムに非常に厳密に適用されるIRAMメモリアーキテクチャの構成図である。
好ましい実施例の詳細な説明
本発明は、システムコントローラの内部及び外部の両方に設けられた一つ以上の共用大帯域幅メモリサブシステムである。各大帯域幅のメモリサブシステムは、複数のバスを介してディスプレイサブシステム、中央処理ユニット(CPU)サブシステム、入出力(I/O)バス及び他のコントローラに接続される。ディスプレイサブシステムは、処理及びディスプレイリフレッシュのため高速メモリサブシステムから種々のビデオ及びグラフィックスタイプのデータを受信する。付加的なバッファ及びキャッシュがシステムを最適化するサブシステムのため使用される。
図3は、本発明の一実施例のシステム300のブロック構成図であり、同図には改良型システムコントローラ310に接続されたCPUサブシステム308が示され、改良型システムコントローラ310は、メモリチャネル(EMC1)322を介してメモリサブシステム314に接続され、メモリチャネル(EMC2)324を介してメモリサブシステム318に接続される。改良型システムコントローラ310は、入出力ブリッジ312と、ディスプレイ出力装置330と、PCIバス332と、次世代外部ポート(AGP)334と、高速シリアルI/Oポート336とに接続される。改良型システムコントローラに一体化されているのは付加的な内部メモリサブシステムであり、各内部メモリサブシステムは専用の制御及びデータチャネルを備えている。
低コストのマルチメディアパーソナルコンピュータシステムは、ディスプレイメモリ及びメインシステムメモリの面で一つ以上の共通メモリサブシステムを共用するため、メモリ帯域幅に関してシステムを最適化することにより実現される。図3において、共通メモリサブシステムは、利用可能な帯域幅の共用、並びに、メモリプールの共用を可能にさせる。共用メモリサブシステムの帯域幅は、ディスプレイ動作、又は、主CPU及びメインI/Oシステムの何れかに割り付けることが可能である。共通のメモリプールは、テクスチャ若しくはバッファのようなディスプレイメモリを支援するため、アプリケーション及び動作システムに依存して割り付けられる。或いは、共通のメモリプールは、CPUコード、データ、若しくは、システム内のI/O装置のための周辺システムスワップ領域を支援するため、システムの残りの部分に割り付けても良い。また、共通のメモリプールは、内部若しくは外部のいずれの場合も、ディスプレイサブシステムと他のシステムの両方の機能によって使用される共通データと共に動的に共用される。
図4は本発明の一実施例のシステム400のブロック構成図であり、このシステム400は、グラフィック/描画及びディスプレイサブシステム404に接続されたCPUサブシステムコントローラ402と、メモリチャネルデータスイッチ及び制御ユニット406と、アービトレーション及び制御ユニット408と、周辺I/O制御ユニット440とを含む。CPUサブシステムコントローラ402はCPUサブシステム(図示しない)にも接続される。グラフィック/描画及びディスプレイサブシステム404は、ディスプレイ装置(図示しない)と、メモリチャネルデータスイッチ及び制御ユニット406と、アービトレーション及び制御ユニット408とに接続される。メモリチャネルデータスイッチ406はIMCチャネル425を介して内部メモリサブシステム450に接続される。メモリチャネルデータスイッチ及び制御ユニット406は、メモリチャネル(MC1)426及びメモリチャネル(MC2)428(図示しない)に接続される。周辺I/O制御ユニット440はI/Oブリッジ430(図示しない)に接続される。
図4の実施例には2本データバスが示されている。一方のデータバス(DATA1)420は、主として共通メモリにアクセスするためCPUサブシステムによって使用される。第2のデータバス(DATA2)422は、主としてグラフィックス描画及びディスプレイサブシステム404によって使用される。2本のデータバスを有することにより、CPUコントローラ402と、グラフィックス描画及びディスプレイサブシステム404の両方の並列的なメモリへのアクセスが可能になる。周辺及びI/Oコントローラ440はCPUコントローラ402、又は、グラフィックス描画及びディスプレイサブシステム404の何れかのデータバスを共用する。
本実施例には共用アドレス及び制御(A&C)バス424が示されている。アービトレーション及び制御ユニット408は、CPUサブシステムコントローラ402、グラフィックス描画及びディスプレイサブシステム404、並びに、周辺及びI/O制御ユニット440からの要求に応答し、それらのメモリアクセスをスケジューリングする役割がある。アービトレーション及び制御ユニット408は、要求を知的に処理するコンフィギュレーション及び状態レジスタ(図示しない)の組を含む。さらに、要求プロトコルは、要求元によって要求されたデータの量を指定する。アービトレーション及び制御ユニット408は、2本のデータバスの並列性を最大化し、転送の長さを最適化し、要求の待ち時間がシステム性能を制限しないことを保証する目的で要求を処理する。
これらの競合する目的を満たすため、アービトレーション及び制御ユニット408はメモリチャネルの状態及び要求の待ち時間を追跡する。アービトレーション及び制御ユニット408は、サブシステムからの単一の要求をメモリチャネルへの多数の要求に分解する。これにより、待ち時間及びメモリバーストが最適化される。また、要求中のサブシステムは、システムスループットの不均衡化を考慮することなく、かつ、A&Cバス424の再利用を必要とすることなく、非常に長いデータのバーストを要求する。
図5は、改良型CPUサブシステムコントローラ504の一実施例のシステム500のブロック図である。CPUサブシステムコントローラ504は、データバス532を介してメモリチャネルデータスイッチ及びコントローラ512に接続され、制御バス542を介してアービトレーション及び制御ユニット518に接続される。システム500はグラフィック/描画プロセッササブシステム506を更に有し、グラフィック/描画プロセッサシステム506は、データバス534を介してメモリチャネルデータスイッチ及びコントローラ512に接続され、制御バス546を介してアービトレーション及び制御ブロック518に接続される。システム500は、ディスプレイプロセッササブシステム508を更に有し、ディスプレイプロセッササブシステム508は、データバス536を介してメモリチャネルデータスイッチ及びコントローラ512に接続され、制御バス548を用いてアービトレーション及び制御ユニット518に接続される。また、図5に示されたメモリチャネルデータスイッチ及びコントローラ512は、データバス530によって統合型プロセッサ510に接続され、データバス538によって周辺バス制御ユニット514に接続され、データバス540によって直接I/O制御ユニット516に接続され、データスイッチ制御ユニット520にも接続される。メモリチャネルデータスイッチ及びコントローラ512は、内部メモリチャネル(IMC1)522〜内部メモリチャネル(IMCN)524と、外部メモリチャネル(EMC1)526〜外部メモリチャネル(EMCM)528とのための出力を有する。
図5に示されている周辺バス制御ユニット514は、制御バス550を介してアービトレーション及び制御ユニット518に接続され、PCIバス554とAGPバス556の2本のバスに接続される。直接I/O制御ユニット516は、制御バス520によってアービトレーション及び制御ユニット518に接続され、I/Oブリッジ558と、高速シリアルI/Oポート560とに接続される。図5に示された統合型プロセッサ510は、制御バス544によってアービトレーション及び制御ユニット518に接続される。
図5に示されたシステム500は、図4に示された基本システム400の非常に拡張された実施例である。システム500は、非常に潜在的に並列性のあるデータバスと、付加的なA&Cバスと、統合型プロセッサ510のような付加的な要求元サブシステムとを含む。グラフィックス描画及びディスプレイプロセッサは、2個の要求元サブシステムであるグラフィックス描画プロセッササブシステム506及びディスプレイプロセッササブシステム508とに分割され、各サブシステムはメモリチャネルデータスイッチ及びコントローラユニット512へのパスと、アービトレーション及び制御ユニット518へのパスとを備えている。多数のグラフィックス描画プロセッササブシステム506は、より複雑なシステムでは個々のサポート多重データパスに分割される。ディスプレイプロセッササブシステム508は別個のデータパスを含む。
図5に示された統合型プロセッサ510は、任意の数の機能を実効する。それらの機能には、例えば、3次元グラフィックスのための幾何及び照明用エンジン、MPEG−2方式デコーダ、オーディオプロセッサ、又は、あるタイプのオーディオ若しくはビデオ圧縮エンジンが含まれる。上記のサブシステムは、いずれプロセッサとローカルメモリとを含む。図5のシステムの実施例として階層的なメモリ構造を実現することが可能であり、IRAMサブシステムを含む別個のメモリチャネルデータスイッチは、多数のグラフィックス/描画プロセッササブシステム及びディスプレイプロセッササブシステムと非常に密接に連結され得る。
図6は、サブシステムチャネルのAチャネル610、Bチャネル612、Cチャネル614〜Zチャネル616を、メモリチャネルのIMC1チャネル618、IMC2チャネル620、IMC3チャネル622〜IMCNチャネル624と、EMC1チャネル626、EMC2チャネル628、EMC3チャネル630〜EMCMチャネル632とに接続するデータスイッチ602の一実施例600の構成図である。N個の内部メモリサブシステムである第1のIRAMサブシステム634、第2のIRAMサブシステム636、第3のIRAMサブシステム638〜第NのIRAMサブシステム640が存在し、夫々の制御及びデータバス(内部メモリチャネル)には、IMC1バス618からIMCNバス624のラベルが付けられている。さらに、EMC1バス626からEMCNバス632までのラベルが付けられたM個の外部メモリサブシステムバス(外部メモリチャネル)が示されている。各メモリチャネルは、制御及びデータパス構造からできる限り独立している。データスイッチ602は、サブシステムデータチャネルのAチャネル610〜Zチャネル616が一部のメモリチャネルに並列的にアクセスすることを許可する。
図7には、4×4形クロスバーデータスイッチ700の一実施例が示されている。Aサブシステム702、Bサブシステム704、Cサブシステム706及びDサブシステム708用のシステムコントローラ出力は、SNAスイッチ718、SNBスイッチ720、SNCスイッチ722及びSNDスイッチ724を用いて、MC1メモリチャネル710、MC2メモリチャネル712、MC3メモリチャネル714及びMC4メモリチャネル716に選択的にルーチングすることができ、整数Nは1、2、3若しくは4のいずれでも構わない。スイッチの実際のコンフィギュレーションは実施例毎に変化するが、図7には、4台のサブシステムコントローラと4本のメモリチャネルとに対する完全な能力が示されている。クロスバーデータスイッチ700は、同時に4本の別個のデータパスがスイッチを通ることを許容する。何れかのコントローラが一つのメモリチャネルを利用するとき、他のコントローラは別の3個のメモリコントローラにアクセスすることが阻止されない。
クロスバースイッチは、双方向若しくは一方向のいずれにも設計することができる。一方向スイッチの場合、読み出し側スイッチの組と、書き込み側スイッチの組の両方の組が必要とされる。システム内の全てのスイッチがクロスバースイッチのように複雑ではなくても構わない。非常に簡単なスイッチ及びマルチプレクサMUXベースのスイッチを使用し、良好な全体性能を得ることが可能である。最も簡単なケースでは、スイッチは、サブシステムチャネルとメモリチャネルの間の接続点でもよい。簡単なスイッチアーキテクチャは、特に、図9及び図10に夫々示されるようなマルチバンク及び多重行バッファコンフィギュレーションのため使用される。
例えば、サブシステムAがチャネルMC3にアクセスしている場合、スイッチS3Aはアクティブである。並列的に、サブシステムBは、スイッチS4Bが閉じられた状態でチャネルMC4にアクセスし、サブシステムCはスイッチS1Cを介してチャネルMC1にアクセスし、サブシステムDはスイッチS2Dを介してチャネルMC2にアクセスする。サブシステムが別のサブシステムによって使用中のメモリチャネルに接続する必要がある場合、その接続は阻止され、待機させられる。
図8は、アービトレーション及びデータスイッチ制御アーキテクチャ800の一実施例の構成図である。コンフィギュレーションレジスタ802及び状態レジスタ804は、入力850からのアドレスと、入力852からのリード信号と、入力854からのライト信号と、入力856からのデータとを受信し、制御情報を制御バス816を介してメモリチャネル要求ユニット806と、スイッチサブシステム制御ユニットのAユニット808、Bユニット810〜Mユニット812とに出力する。メモリチャネル要求ユニット806は、MCRAメモリサブシステム818、MCRBメモリサブシステム820、MCRCメモリサブシステム822〜MCRNメモリサブシステム824の各メモリサブシステムに対し制御ライン上に信号を生成する。スイッチサブシステム制御ユニット(A)808は、S1Aライン826、S2Aライン828、S3Aライン830〜SNAライン832上に信号を生成する。スイッチサブシステム制御ユニット(B)810は、S1Bライン834、S2Bライン836、S3Bライン838〜SNBライン840上に信号を生成する。スイッチサブシステム制御ユニット(M)812は、S1Mライン842、S2Mライン844、S3Mライン846〜SNMライン848上に信号を生成する。各制御ブロックはN本の制御ラインを有する。図7に示された4×4形スイッチの場合、N及びMは共に4である。
コンフィギュレーションレジスタ802はサブシステムコントローラの性質を反映するように設定される。これらの特性は、バースト長、待ち時間許容量及び他のアドレッシング情報を含む。コンフィギュレーション情報は、メモリチャネル情報のためにも必要である。状態レジスタ804は、スイッチサブシステムコントローラ808、810及び812からのペンディング要求、並びに、メモリチャネル818、820、822及び824の状態を追跡する。
アービトレーションコントローラユニット814は、各サブシステム808、810及び812からメモリ要求を受信する。状態情報としてコンフィギュレーションレジスタ802情報を使用することにより、アービトレーションコントローラユニット814は、適当な時間に要求を承認し、メモリ要求を循環させるためメモリチャネル要求ユニット806、並びに、スイッチサブシステムコントローラ808、810及び812に信号を送る。
アービトレーションコントローラユニット814は、最大の待ち時間許容量を有するサブシステムが拘束されないことを保証する。また、アービトレーションコントローラユニット814は、最良の性能を得るためシステムの総帯域幅を最大限に広げる。一部の場合に、バーストは分解されないので、メモリチャネルの使用を完了することができる。他の場合に、単一のサブシステムコントローラ要求は分解され、多数のメモリチャネルアクセスによって満たされる。
図9は、メモリサブシステムコントローラ(MSC)960と、データマルチプレクサ(MUX)910と、多数のメモリバンク920、930、940及び950とを含む内部メモリサブシステム900の一実施例を表す図である。MSC960は、サブシステムコントローラがメモリサブシステムと関連したアドレス範囲内でメモリアクセスを要求するとき、ライン958を介してメモリチャネル要求を受信する。MSC960は、データ要求を遂行するため、マルチプレクサ910及びIRAMバンク(920〜950)を制御する。リードの場合、MSC960は、要求されたデータを収容するIRAMバンクを判定し、IMCデータバス902が適切なIRAMバンクからデータを受信するようにMUX910を調節する。
MSC960は種々のサイズのデータ要求を取り扱う必要がある。IRAMバンクの幅はIMCデータパス902の幅とは無関係である。MSC960は、適切なデータが適切な順序でIMC902に転送されることを保証するため、MUX910の論理を使用する。これは、MSC960がIRAMバンク920〜950を介して利用可能な幅広のデータパスの利点を活かすために有効な手段である。
また、メモリバンクのコンフィギュレーションは、高速な順次アクセスを可能にする。メモリのバンクは、記憶セルの行列形式の配列として定義される。典型的にDRAMの場合、配列の全ての行は一回のアクセスでイネーブルにされる。これにより、その行内の任意のデータを直ちにアクセスすることが可能になる。IRAMの同一バンク内の異なる行アドレスへのアクセスが行われる場合、「プレチャージ」ペナルティが導入され、アクセスは遅延される。このような状況の出現を阻止するため、本例ではメモリサブシステムに多数のバンクが利用される。
内部メモリサブシステムを単独のバンクとして設計し得る場合に、多数のメモリバンクを使用する場合に対し性能上の利点がある。図9には、マルチプレクサ910によって単一の内部メモリチャネル(IMC)902上で多重化されたIRAMバンク920〜950の4個のIRAMバンクが示されている。これにより、内部チャネルメモリ(IMC)902の有効スループットが改良される。例えば、IRAMバンク(920〜950)は、インターリーブ式であり、順次的なアクセスが異なるバンクに対し行われる。これは、特に、IRAMバンクが最大IMCデータレートよりも遅い場合に有用である。
DRAMの場合に、IRAMバンク(920〜950)は、バンク内のページモードアクセスの利点を活かし、ページ境界を横切る時にバンクを変更することによりページミスペナルティを隠すために、バンク毎にインターリーブされる。IRAMサブシステム用のメモリシーケンサは、メモリアクセスパターンに基づいて帯域幅を最大限に広げるためバンクを管理する。これには、新しいバンクがアクセスされたときにDRAMバンクをプレチャージ処理すること、或いは、メモリの各ブロックでページをアクティブに保持することが含まれる。
データバス902は、付加的なスイッチを通過するのではなく、処理又はI/Oサブシステムデータバスに直結される。このため、付加的なスイッチングのレベルが節約される。IRAMバンクデータがこのタイプのコンフィギュレーションにおいて共用され得るように、IRAMバンクは付加的なマルチプレクサ(図示しない)に接続してもよい。各付加的なマルチプレクサはIRAMバンクを別個の処理又はI/Oサブシステムデータバスに接続する。
図19は、メモリサブシステムコントローラ(MSC)1022と、IDRAMの単一バンク1002と、双方向行バッファ1004〜1018の組と、オプションのマルチプレクサ(MUX)10022とを含むメモリサブシステム1000の一実施例を示す図である。MSC1022は、オプションのMUX1020と、行バッファ1004〜1018と、IDRAM1002との間の相互作用を制御する。要求は、IMC1026〜1032と関連したコントローラによって実現される。MSC1022は、所与の内部メモリサブシステム1000のメモリアドレスレンジに対応したデータに対するライン1024上のメモリチャネル要求を受信する。MSC1022は、IDRAMバンク1002と行バッファ1004〜1018との間のデータ転送を制御し、並びに、行バッファ1004〜1018と、IMCへのライン1026上の行バッファデータの選択のためのオプションのMUX1020との間の転送を制御する。
MSC1022が新しいリード要求を受信したとき、MSC1022は要求されたデータを格納するIDRAM配列1002にアクセスする。IDRAM配列からの完全なデータの行は、行バッファに転送され、行バッファからオプションのMUX1020を介してライン1026に沿ってIMCに転送される。データの系列に対する要求の場合、行バッファデータは、要求がIMC1026上でバースト方式で満たされるようにルーチングされる。全ての行データは行バッファに残る。
MSC1022は、同様の方法で、他の行バッファに格納されたデータに影響を与えることなく、異なる行に対する次のデータ要求を実施する。これらの要求は、同一のIMCに対する要求でも、異なるIMCに対する要求でも構わない。対応したデータが既に行バッファに存在するアドレスに対するデータリードが発生したとき、行バッファは付加的なIDRAMバンク1002へのアクセスを必要とすることなく、リード要求を直ちに実施する。高速アクセスのため、行バッファには多数のデータ行が含まれているので、メモリサブシステムへの典型的なアクセスパターンに対し著しく高い性能が得られる。
MSC1022は、同様の方法でメモリサブシステムへの書き込の制御を取り扱う。キャッシュコントローラ設計の分野の当業者は、IDRAMデータが行バッファ1004〜1018に一時的にキャッシュされることにより以下の複雑さが生じることを知っている。データ書き込みが既に行バッファに存在するデータの行に対し行われる場合、書き込みは行バッファに対し行われるだけであり、行バッファには最新のデータのコピーが行われた旨の標識が付けられる。この標識は「不正(dirty)」とも称され、データがある時点でIDRAM配列に格納され、そのデータの行に対する次の読み出しが既に配列に存在する「失効(stale)」データではなく、最新の「不正」データを用いて行われるべきことを要求するときに重要である。
「不正」データが配列にもう一度書き込まれたとき、別の実装上のトレードオフが生じる。同様に、行バッファ内に同時に収容されていないアドレスに対するデータ書き込みのため実装上のトレードオフを設計する必要がある。主要な選択肢は「書き込み時の割付」であり、この場合、完全な行が配列から読み出され、その行に対する書き込みが行われる。より簡単な実装は、現時点で行バッファに存在しないロケーションに関するIDRAMバンク1002への「ライトスルー」データ書き込みである。
メモリロケーションに対応する行バッファの割付に関する実装の詳細は、性能と、実装の簡単さとのトレードオフで決まる。最も簡単なケースでは、行バッファは、潜在的なメモリ配列の行の中の固定数の行に「直接的に割り当て」される。最もフレキシブルかつ複雑なケースでは、行バッファは何れかのIDRAM行に対応し、「完全に結合(fully associative)」していると称される。「規定の結合(set associative)」の割当の設計の中間的な複雑さは、2本以上の行バッファが固定されたIDRAM行の組毎に対応する場合に実現可能である。
別の複雑さは、行バッファ置換アルゴリズムを実装する必要がある予め決められた完全に結合的な割当スキームから得られる。2本以上の行バッファは所定の行アクセスに対するデータを収容し得るので、アルゴリズムは新しいアクセスのため置換すべき行バッファを選定する必要がある。好ましい実施例は、「最先使用」(LRU)タイプの置換アルゴリズムを採用する。
単一バンクのIDRAM1002の設計は、面積及び電力の節約の点でマルチバンク設計よりも幾つかの利点がある。単一バンクのIDRAM1002からより優れた性能を得るため、一時的な行バッファ1004〜1018がメモリのリード及びライトを記憶するため使用される。これらの一時的な行バッファ1004〜1018は、メモリバンクに多重ポートを与える。
多重ポート化は、特に、従来よりビデオRAM(VRAM)で使用されている2重ポート方式の拡張である。VRAMは、ランダムアクセスポートと、シリアルアクセスポートの両方のポートを含む。シリアルアクセスポートは、RAM配列から単一サイクルにロードされたシリアルアクセスメモリ(SAM)からのデータを使用する。VRAMは、SAMデータ及びランダムデータの両方のデータを同時にアクセスすることを可能にする。また、VRAMは、データがSAMにシリアルに入力され、単一サイクルでメインRAMに転送されることを可能にする。
行バッファはSAMと同じ汎用的な機能を実施する。行バッファは、SAMレジスタと同様に、RAMの非常に幅広い行全域の内容を単一サイクルで行バッファに転送させることができる。VRAMシステム内のSAMへのシリアルアクセスとは相違して、オンチップの行バッファの場合、内部メモリチャネルへのデータパスは任意の幅に決めることができる。さらに、データ制御論理がデータパスに含まれているので、DRAMバンクからのデータは選択されたIMC1026〜1032に中の最適なデータライン上で転送される。
異なるサブシステムは行バッファを別々に使用する。ディスプレイリフレッシュのような機能に対し、リフレッシュコントローラはメモリアドレス要求を行う。対応したメモリの行は行バッファに転送される。メモリコントローラは要求された量のデータを行バッファからリフレッシュコントローラに転送する。メモリ転送は、典型的に完全な行バッファの内容よりも少ないデータを必要とする。リフレッシュコントローラが次の順番の要求を実施するとき、データは既に転送準備ができた行バッファに存在する。
非グラフィックスアプリケーションにおけるCPUサブシステムは、IDRAMバンクに対応したメモリアドレスからキャッシュラインの充填を実行する。IDRAM行は行バッファに転送され、キャッシュラインデータはキャッシュデータチャネルの中を転送される。行バッファは、おそらく、キャッシュラインサイズよりも大きいので、同じ行バッファアドレスレンジに対応した任意の付加的なキャッシュラインの充填は、IDRAMバンクに再度アクセスすることなく満たされる。
また、多数の行バッファは、所定の時間に有効なデータを収容する。異なる行バッファへのアクセスは、有効なデータを収容するアクティブ行バッファに戻る能力を失うことなく順番に行われる。上記の二つの例を用いることにより、行バッファ1(RB1)の部分的な読み出しが、スクリーンリフレッシュの一部としてIMCへのライン1026上で行われる。リフレッシュは、次に、IMC1026を介した転送の次のバーストとしてRB1から続けられる。
IMCデータバス1026〜1032は、付加的なスイッチを通るのではなく、処理又はI/Oサブシステムデータバスに直結することができる。これにより、付加的なスイッチングのレベルが節約される。同様に、行バッファデータライン1040〜1054は、オプションのMUX1020を通過させることなく、選択的に処理又はサブシステムデータバスに直結することができる。或いは、行バッファデータライ1040〜1054は、オプションのMUX1020を通過させるのではなく、システムデータスイッチに直結させてもよい。
図11は、サブシステムデータチャネルA〜Zを含むシステム1100を示す図であり、サブシステムデータチャネルA〜Zは、データスイッチ1110によって、内部メモリチャネル(IMC)1112〜1114、並びに、内部メモリサブシステム及び外部メモリチャネル(EMC)1116、1118に接続される。各IDRAMサブシステムは、IDRAMバンク1120と、メモリサブシステムコントローラ(MSC)1130と、行バッファの組1140と、適当な行バッファデータをIMC1112及び以下に説明するオプションのデータ操作器(データ・マニピュレータ)1160に転送するマルチプレクサ(MUX)1150とを含む。
本実施例は、前述の実施例に対し、多数の行バッファを個々に含む多数のIDRAMバンクを組み合わせるハイブリッド方式である点で改良されている。図11に示される如く、内部メモリサブシステム1102、1104の各サブシステムは、IDRAMのバンクに対応した行バッファを含む。データスイッチ1110は、各IDRAMメモリサブシステムへの1個以上のチャネルを有し、IMC1112、1114が行バッファに多重化される。MSCは、行バッファ並びに対応したIMCチャネル1112、1114と共にIDRAMデータの適切な行バッファへの転送の制御を担う。或いは、データスイッチ1110は、各IDRAMバンクからの行バッファをサブシステムデータチャネルに直接的に多重化してもよい。
また、各IDRAMメモリサブシステム1102、1104に示されるように、例えば、オプションのデータ操作器(DM)1160が設けられる。データ操作器1160は、第2のキャッシュ処理レベルとして作用する記憶素子と、簡単な算術論理ユニット(ALU)とを含み、MSC1130によって制御される。IDRAMメモリサブシステム1102内にデータ操作器1160を含める利点は、より高い性能が得られることである。データ操作器1160は、行バッファの幅以上の幅を有し、IMC1112、1114の幅を増加させる必要はなく、データスイッチ1110を通過するデータのレートよりも高いレートで動作する。この局所最適化は、IDRAMバンク内で行われる動作の性能を改良する。2個以上のIDRAMバンクにデータを収容する動作は、依然として、データスイッチ1110のデータパスを利用する必要がある。
MSC1130はDM1160を制御可能であり、リード・モディファイ・ライト(読み出し・変更・書き込み)動作のようなIMC1112を介した動作は、簡単な書き込み動作によってIDRAMメモリサブシステム内で満たされ得る。参考のため引用された米国特許第5,544,306号には、これを実現するための技術が記載されている。引用文献によれば、フレームバッファダイナミックランダムアクセスメモリは、Zバッファ比較及び赤・青・緑(RGB)アルファ混合のようなリード・モディファイ・ライト動作を書き込みだけの動作に変換する。
図12には、メインメモリアーキテクチャとは独立したグラフィックス描画及びディスプレイサブシステムに適用されたIRAMメモリアーキテクチャ1200が示されている。多重バンク式、行バッファ式又は組合せ型ハイブリッド方式は、非常に高性能のグラフィックシステムを完成させるため、多数のグラフィックス描画エンジン及びローカルディスプレイコントローラと組み合わされる。各グラフィックス/描画プロセッサ(GDP)1220、1230、1240及び1250は、データスイッチ1210へのパスを有する。また、ディスプレイプロセッササブシステム及びメインメモリへのパスは、データスイッチ1210への接続点(1292及び1294)を有する。各IDRAMサブシステムは、図面を参照した前述の説明の通り、多数のメモリバンクと、行バッファと、データ操作器との組合せでもよい。
GDPはディスプレイ用の画像データを操作するため並列に動作する。各GDPは、ローカルレジスタ、バッファ及びキャッシュメモリを含む。各GDPは異なるIRAMサブシステムデータに関して動作し、或いは、多数のGDPは一つのIRAMサブシステムのデータに関して動作し得る。GDPは、変換、照明、セットアップ及びレンダリングのような完全なグラフィックスパイプライン処理の役割を担う。或いは、各GDPは、グラフィックスパイプライン処理の中の一段階を実施してもよい。理想的にGDPは充分にフレキシブルであり、実施される特定のアプリケーションに依存して、システムは最も効率的なコンフィギュレーションで動作する。
多数のGDPがデータをレンダリング処理する場合、レンダリングされたデータはフレームバッファを表現する規則的な構造であるとは限らない。ディスプレイプロセッサシステム(DPS)は、マッピング情報が与えられ、種々の記憶されたレンダリング情報からディスプレイ情報を再生することができる。DPSは走査線毎に画像を再生するので、データを送出し、適切に表示することが可能である。また、DPSは、GDPよりも裏側のパスで行う方が適しているスケーリング及びフィルタリングのような動作を実施する。
メインメモリデータスイッチへのパスは、GDPとDPSの両方で使用される。GDPの場合に、大量の記憶容量を必要とする大きなテクスチャ又は他の要素は、GDPによって読み込まれ処理される。ある種の場合に、未加工データ若しくは処理されたデータはIRAMサブシステムでキャッシュされ、或いは、データは簡単に使用され、得られた結果が局所的に記憶される。ディスプレイプロセッササブシステムは、出力表示を構成するためメインメモリへのパスを利用する。出力は、GDP、並びに、メインシステムメモリに記憶されるビデオデータのような他の素子からのデータにより構成される。DPSは、IRAMサブシステム又はメインメモリに記憶されたデータから走査線毎に出力を構成する。
図12に示されたアーキテクチャはグラフィックスには関係のないシステムにも拡張することができる。多数のグラフィックス/描画プロセッサの代わりに、システムは多数のコンピュータエンジンを包含してもよく、各コンピュータエンジンは、専用レジスタ、ローカルメモリ若しくはキャッシュメモリを必要に応じて備えている。上述のIRAMサブシステムアークテクチャは、多数のコンピュータエンジンの全体で実施される計算的に複雑なアルゴリズムに対する性能の改善に同等に適用可能である。コンピュータエンジンは同時性のため異なるデータ要素に関して並列に動作し得る。或いは、コンピュータエンジンは、処理全体の中の各段階を個別に直列的に実行してもよい。上記の方法が利用され得るアプリケーションには、信号処理、圧縮、伸長及び通信が含まれる。
共通ディスプレイメモリ及びメインメモリを備えた改良型システムは、好ましくは、メモリサブシステム毎に別個の制御部と、多数のプロセッサ又は周辺サブシステムからの要求を受けるアービトレーションコントローラと、メモリデータパスとを含み、付加的なプロセッサ又は周辺サブシステムが他のメモリサブシステムにアクセスすることを禁止することなく、メモリサブシステムによってメモリデータがプロセッサ又は周辺サブシステムに供給される。
改良型システムは部分的な描画バッファを含み、グラフィックスエンジンが表示出力データの一部を書き込み、ディスプレイフレームが処理された後に次の表示の更新中に使用するため表示出力データの一部を共通メモリサブシステムに転送することができる。改良型システムは、好ましくは、完全な描画バッファを含み、グラフィックスエンジンは完全な表示出力データを記憶し、次の表示更新のため表示出力データを転送することができる。
改良型システムは、好ましくは、3次元グラフィックス機能を実施するためのグラフィックスコントローラと、グラフィックスコントローラ用のデータを供給するためのテクスチャキャッシュと、グラフィックスコントローラがデータを引き出し得る順序バッファとを含む。3次元グラフィックスコントローラに関して、3次元処理の主要な一面は、所与のフレームの間に可視的な対象物、したがって、対象物の画素を決めることである。所与の3次元画像中の多数の対象物は、他の対象物の画素によって視点から遮られる。適当な対象物からの画素が正面にあり、適切に表示されることを保証するため、3次元システムは、一般的にZバッファ又は順序バッファと称されるバッファを含む。順序バッファは、新しい対象物の三角形又は画素が視点に対する位置に基づいて所与のフレームの間に表示されるべきかどうかを決定するため使用される。順序付けが行われるグラフィックスパイプライン処理において、最終的にシーンの間に見えない画素を描くために必要とされる計算は少なくなる。しかし、完全な三角形のレンダリングを行い、画素毎に基づいて、順序バッファ内の値に基づいて表示を更新すべきかどうかを決定する方が簡単な場合もある。
単一の3次元コントローラを備えたシステムの場合、順序バッファへのアクセスは主要な帯域幅の考慮事項である。したがって、テクスチャの場合と同様に、順序情報のためのキャッシュ又はバッファを備えている方が有利である。多数の3次元コントローラを備えたシステムの場合に、各3次元コントローラは、計算負荷を均衡させ、システムスループットを増加させるため、非同期的に動作することが許容される。各コントローラにアクセス可能な順序バッファは、非同期処理を行なうと共に、各対象物からの適当な画素を可視化させることが可能である。
当業者は、本発明がアプリケーションとは無関係に開示されたサブシステムに直列若しくは並列に接続された付加的なサブシステムと共に実施され得ることを認めるであろう。したがって、本発明は請求の範囲の欄の記載だけによって制限される。

Claims (17)

  1. メモリ・コントローラと、
    前記メモリ・コントローラに含まれる内部メモリ・サブシステム及び前記メモリ・コントローラの外部の外部メモリ・サブシステムを有し、ここで、前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムは前記メモリ・コントローラによって制御される、共通ディスプレイ・メモリ及びメイン・メモリと、
    前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムに動作上結合された多用途メモリ・チャネルと、
    前記メモリ・コントローラに結合され、前記多用途メモリ・チャネルを動的に割り付けるよう構成されたメモリ・チャネル・データ・スイッチと、
    前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラに動作可能的に結合され、前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラへの制御信号を出力するよう構成された中央処理ユニット(CPU)サブシステム・コントローラとを含む、コンピュータシステム。
  2. 外部メモリ・サブシステムを前記多用途メモリ・チャネルに選択的に結合するよう構成されたマルチプレクサを更に有する請求項1記載のコンピュータシステム。
  3. 前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムのうちの少なくとも一方はメイン・システム・メモリとして機能し得るよう構成されたディスプレイ・メモリ・サブシステムである請求項2記載のコンピュータシステム。
  4. 前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムのうちの少なくとも一方はメイン・システム・メモリとして機能し得るよう構成されたディスプレイ・メモリ・サブシステムである請求項1記載のコンピュータシステム。
  5. 前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムのうちの少なくとも一方は複数のデータ記憶素子を含むデータ・マニピュレータを備えている請求項1記載のコンピュータシステム。
  6. 完全な描画バッファを更に有し、前記完全な描画バッファは、グラフィックス・エンジンが表示出力データを記憶し、該表示出力データをその後の表示更新のため転送できるようにするよう構成されている、請求項1記載のコンピュータシステム。
  7. コンピュータ・ディスプレイと、完全な描画バッファと、グラフィックス・エンジンとを更に有し、前記グラフィックス・エンジンは、前記コンピュータ・ディスプレイへの出力のために前記描画バッファ中に出力データを記憶し、該出力データをその後、表示更新のため前記コンピュータ・ディスプレイに転送することができるよう構成されている、請求項1記載のコンピュータシステム。
  8. ディスプレイと、
    メモリ・コントローラと、
    前記メモリ・コントローラ内に含まれ、これと協力的に結合するよう構成された少なくとも一つの内部メモリ・サブシステム及び前記メモリ・コントローラの外部にあり、これと協力的に結合するよう構成された少なくとも一つの外部メモリ・サブシステムとを有し、ここで、前記内部メモリ・サブシステム及び前記外部メモリ・サブシステムは前記メモリ・コントローラによって制御される、共通ディスプレイ・メモリ及びメイン・メモリと、
    前記共通ディスプレイ・メモリ及びメイン・メモリに動作上結合された複数のメモリ・チャネルであって、該複数のメモリ・チャネルのうち少なくとも一つが多用途メモリチャネルとして構成されている複数のメモリ・チャネルと、
    前記メモリ・コントローラ及び前記複数のメモリ・チャネルに動作可能的に結合され、
    前記少なくとも一つの内部メモリ・サブシステム及び前記少なくとも一つの外部メモリ・サブシステムの間で前記複数のメモリ・チャネルのうちの選択されたものを割り付けるよう構成されたメモリ・チャネル・データ・スイッチと、
    前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラに動作可能的に結合され、前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラに加えられるべき出力信号を生成するよう構成された中央処理ユニット(CPU)サブシステム・コントローラと、
    前記CPUサブシステム・コントローラ、前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラに動作可能的に結合され、前記メモリ・チャネル・データ・スイッチ及び前記メモリ・コントローラに出力信号を提供するよう構成されているグラフィックス/描写及びディスプレイ・サブシステムと、
    前記CPUサブシステム・コントローラ、前記グラフィックス/描画及びディスプレイ・サブシステムに動作可能的に結合され、前記CPUサブシステム・コントローラに、並びに、前記グラフィックス/描画及びディスプレイ・サブシステムに出力信号を提供するよう構成されているアービトレーション及び制御エンジンと、
    前記メモリ・チャネル・データ・スイッチ、前記メモリ・コントローラ並びに前記アービトレーション及び制御エンジンに動作可能的に結合され、前記メモリ・チャネル・データ・スイッチ、前記メモリ・コントローラ、並びに前記アービトレーション及び制御エンジンに出力信号を提供するよう構成された周辺バス・コントローラとを含む、コンピュータシステム。
  9. 前記少なくとも一つの内部メモリ・サブシステム及び前記少なくとも一つの外部メモリ・サブシステムのうちの少なくとも一つがDRAMメモリを備えている、請求項8記載のコンピュータシステム。
  10. 前記少なくとも一つの内部メモリ・サブシステム及び前記少なくとも一つの外部メモリ・サブシステムのうちの少なくとも一つは複数のデータ記憶素子を含むデータ・マニピュレータを備えている請求項8記載のコンピュータシステム。
  11. 前記少なくとも一つの内部メモリ・サブシステム及び前記少なくとも一つの外部メモリ・サブシステムのうちの少なくとも一つは複数のデータ記憶素子を含むデータ・マニピュレータを備えている請求項9記載のコンピュータシステム。
  12. コンピュータ・ディスプレイと、完全な描画バッファと、グラフィックス・エンジンとを更に有し、前記グラフィックス・エンジンは、前記コンピュータ・ディスプレイへの出力のために前記描画バッファ中に出力データを記憶でき、該出力データをその後、表示更新のため前記コンピュータ・ディスプレイに転送できる、請求項8記載のコンピュータシステム。
  13. メモリ・コントローラと;
    前記メモリ・コントローラに含まれる内部メモリと;
    前記メモリ・コントローラの外部の外部メモリとを含み、ここで、前記内部メモリ及び前記外部メモリは前記メモリ・コントローラによって制御され;
    前記内部メモリ及び前記外部メモリに結合された多用途メモリ・チャネルと;
    前記メモリ・コントローラに結合され、前記多用途メモリ・チャネルを動的に割り付けるよう構成されたスイッチと;
    前記スイッチ及び前記メモリ・コントローラに結合され、前記スイッチ及び前記メモリ・コントローラへの制御信号を出力するよう構成された中央処理コントローラとを含む、
    コンピュータシステム。
  14. メモリ・コントローラと、
    前記メモリ・コントローラに含まれる内部メモリ及び前記メモリ・コントローラの外部の外部メモリを有する共通ディスプレイ・メモリ及びメイン・メモリとを含み、ここで、前記内部メモリ及び前記外部メモリは前記メモリ・コントローラによって制御され、
    前記内部メモリ及び前記外部メモリに結合されたメモリ・チャネルと、
    前記メモリ・コントローラに結合され、前記多用途メモリ・チャネルを動的に割り付けるよう構成されたスイッチであって、ここで前記多用途メモリ・チャネルの動的割り付けは前記内部メモリ及び前記外部メモリを共有することによってメモリ容量使用に関して当該コンピュータ・システムを最適化するものである、スイッチと、
    前記スイッチ及び前記メモリ・コントローラに結合され、前記スイッチ及び前記メモリ・コントローラへの制御信号を出力するよう構成された中央処理コントローラとを含む、
    コンピュータシステム。
  15. メモリの割り付けを制御するデバイスであって:
    メモリ・コントローラと;
    前記メモリ・コントローラに含まれる第一のメモリとを有しており;
    前記第一のメモリは多用途メモリ・チャネルに結合されるよう構成されており、
    前記多用途メモリ・チャネルは前記メモリ・コントローラの外部の第二のメモリに結合されており、ここで、前記第一のメモリ及び前記第二のメモリは前記メモリ・コントローラによって制御され、前記メモリ・コントローラはスイッチに結合されており、前記スイッチは前記多用途メモリ・チャネルを動的に割り付けるよう構成されており、ここで前記少なくとも一つの多用途メモリ・チャネルの動的割り付けは前記第一のメモリ及び前記第二のメモリを共用することによってメモリ容量使用に関して当該デバイスを最適化するものであり、前記メモリ・コントローラは前記スイッチに結合された中央処理コントローラに結合されるよう構成され、前記中央処理コントローラは前記スイッチ及び前記メモリ・コントローラへの制御信号を出力するよう構成されている、
    デバイス。
  16. メモリ・デバイスであって:
    メモリ・コントローラに含まれるよう構成された第一のメモリと;
    前記メモリ・コントローラの外部にあるよう構成された第二のメモリとを有しており、ここで、前記第一のメモリ及び前記第二のメモリは前記メモリ・コントローラによって制御され;
    前記第一のメモリ及び前記第二のメモリは共通のメイン・メモリ兼ディスプレイ・メモリであり、メモリ・チャネルに結合されるよう構成されており、前記メモリ・チャネルはスイッチにより動的に割り付けられるよう構成されており、ここで前記メモリ・チャネルの動的割り付けは前記第一のメモリ及び前記第二のメモリを共用することによってメモリ容量使用に関して当該メモリ・デバイスを最適化するものであり、前記スイッチは前記メモリ・コントローラに結合されており、前記メモリ・コントローラ及び前記スイッチは中央処理コントローラに結合されており、前記中央処理コントローラは前記メモリ・コントローラ及び前記スイッチへの制御信号を出力するよう構成されている、
    メモリ・デバイス。
  17. メモリの割り付けを制御する方法であって:
    ントローラからメイン・メモリ及びディスプレイ・メモリの少なくとも一つへのアクセスのための要求を受信する段階であって、ここで前記メイン・メモリ及び前記ディスプレイ・メモリは共通のメモリであって、共用されるよう構成されている、段階と;
    実行されるべき動作を判定する段階と;
    実行されるべき前記動作に従って、前記メイン・メモリ及び前記ディスプレイ・メモリの前記少なくとも一つを割り付ける段階とを有
    前記共通のメモリが前記コントローラの内部のメモリおよび前記コントローラの外部のメモリを含み、前記内部および外部のメモリがいずれも前記コントローラによって制御される、
    方法。
JP51554299A 1997-09-09 1998-08-19 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ Expired - Lifetime JP4511638B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/926,666 1997-09-09
US08/926,666 US6118462A (en) 1997-07-01 1997-09-09 Computer system controller having internal memory and external memory control
PCT/US1998/017223 WO1999013451A1 (en) 1997-09-09 1998-08-19 Computer system with switch and controller unit for allocating internal and external memory channels among a plurality of subsystems

Publications (2)

Publication Number Publication Date
JP2001505342A JP2001505342A (ja) 2001-04-17
JP4511638B2 true JP4511638B2 (ja) 2010-07-28

Family

ID=25453535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51554299A Expired - Lifetime JP4511638B2 (ja) 1997-09-09 1998-08-19 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ

Country Status (4)

Country Link
US (5) US6118462A (ja)
EP (1) EP0935797A1 (ja)
JP (1) JP4511638B2 (ja)
WO (1) WO1999013451A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US7003593B2 (en) * 1997-12-17 2006-02-21 Src Computers, Inc. Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
US7071946B2 (en) 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) * 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6224280B1 (en) * 1998-05-06 2001-05-01 Pitney Bowes Inc. Tape storing and feeding mechanism for mailing machines
US6334175B1 (en) * 1998-07-22 2001-12-25 Ati Technologies, Inc. Switchable memory system and memory allocation method
US6633947B1 (en) * 1998-09-16 2003-10-14 Intel Corporation Memory expansion channel for propagation of control and request packets
CA2334233C (en) * 1999-03-05 2010-10-26 Kenneth J. Klask Graphical user interface engine for embedded systems
US6469703B1 (en) 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US6546449B1 (en) * 1999-07-02 2003-04-08 Ati International Srl Video controller for accessing data in a system and method thereof
US6529201B1 (en) * 1999-08-19 2003-03-04 International Business Machines Corporation Method and apparatus for storing and accessing texture maps
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6593930B1 (en) * 1999-12-16 2003-07-15 Intel Corporation Method and apparatus to execute a memory maintenance operation during a screen blanking interval
US6804266B1 (en) 2000-01-24 2004-10-12 Ati Technologies, Inc. Method and apparatus for handling private data from transport stream packets
US6785336B1 (en) 2000-01-24 2004-08-31 Ati Technologies, Inc. Method and system for retrieving adaptation field data associated with a transport packet
US6778533B1 (en) 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US6999424B1 (en) 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US6988238B1 (en) 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US7366961B1 (en) 2000-01-24 2008-04-29 Ati Technologies, Inc. Method and system for handling errors
US8284845B1 (en) 2000-01-24 2012-10-09 Ati Technologies Ulc Method and system for handling data
US6763390B1 (en) 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US7106347B1 (en) * 2000-05-31 2006-09-12 Intel Corporation Transforming pixel data and addresses
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7095945B1 (en) * 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
JP2002229516A (ja) * 2001-01-24 2002-08-16 Shini Kagi Kofun Yugenkoshi マイクロコントローラと画面表示装置との仲裁器及びその操作方法
US7095752B2 (en) * 2001-02-28 2006-08-22 Pmc-Sierra, Inc. On-chip inter-subsystem communication including concurrent data traffic routing
JP2003030641A (ja) * 2001-07-19 2003-01-31 Nec System Technologies Ltd 描画装置とその並列描画方法、及び並列描画プログラム
US20030220987A1 (en) * 2002-05-21 2003-11-27 Aviation Communication & Surveillance Systems, Llc System and method with environment memory for input/output configuration
US7139849B2 (en) * 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
US7777748B2 (en) 2003-11-19 2010-08-17 Lucid Information Technology, Ltd. PC-level computing system with a multi-mode parallel graphics rendering subsystem employing an automatic mode controller, responsive to performance data collected during the run-time of graphics applications
US8497865B2 (en) * 2006-12-31 2013-07-30 Lucid Information Technology, Ltd. Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS
US20090027383A1 (en) * 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US7961194B2 (en) 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
CN1890660A (zh) 2003-11-19 2007-01-03 路西德信息技术有限公司 Pc总线上的多重三维图形管线的方法及系统
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
CN101626476B (zh) 2004-04-01 2010-12-08 松下电器产业株式会社 通信设备
JP4624715B2 (ja) * 2004-05-13 2011-02-02 ルネサスエレクトロニクス株式会社 システムlsi
US7840757B2 (en) * 2004-07-29 2010-11-23 International Business Machines Corporation Method and apparatus for providing high speed memory for a processing unit
EP1846834A2 (en) * 2005-01-25 2007-10-24 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
JP2006301724A (ja) * 2005-04-15 2006-11-02 Seiko Epson Corp メモリコントローラ、画像処理コントローラ及び電子機器
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
JP4480661B2 (ja) * 2005-10-28 2010-06-16 株式会社ルネサステクノロジ 半導体集積回路装置
US7907138B2 (en) * 2006-12-29 2011-03-15 Intel Corporation System co-processor
US9209792B1 (en) 2007-08-15 2015-12-08 Nvidia Corporation Clock selection system and method
US20090282199A1 (en) * 2007-08-15 2009-11-12 Cox Michael B Memory control system and method
JP5100312B2 (ja) * 2007-10-31 2012-12-19 ルネサスエレクトロニクス株式会社 液晶表示装置及びlcdドライバ
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US9075559B2 (en) 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US9135675B2 (en) 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
US20120317376A1 (en) * 2011-06-10 2012-12-13 Advanced Micro Devices, Inc. Row buffer register file
US20140184611A1 (en) * 2012-12-31 2014-07-03 Nvidia Corporation Method and apparatus for sending partial frame updates rendered in a graphics processor to a display using framelock signals
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
US9224454B2 (en) 2013-10-25 2015-12-29 Cypress Semiconductor Corporation Multi-channel physical interfaces and methods for static random access memory devices
US9361973B2 (en) 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US9293119B2 (en) 2014-01-06 2016-03-22 Nvidia Corporation Method and apparatus for optimizing display updates on an interactive display device
US9383851B2 (en) 2014-01-06 2016-07-05 Nvidia Corporation Method and apparatus for buffering sensor input in a low power system state
US9959205B2 (en) * 2015-05-13 2018-05-01 Wisconsin Alumni Research Foundation Shared row buffer system for asymmetric memory
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
KR20170075359A (ko) * 2015-12-23 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 콘트롤러의 동작 방법
US11055808B2 (en) * 2019-06-27 2021-07-06 Qualcomm Incorporated Methods and apparatus for wave slot management
CN113051199A (zh) * 2019-12-26 2021-06-29 阿里巴巴集团控股有限公司 数据传输方法及装置

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649516A (en) * 1984-06-01 1987-03-10 International Business Machines Corp. Dynamic row buffer circuit for DRAM
JPS6143359A (ja) * 1984-08-08 1986-03-01 Agency Of Ind Science & Technol メモリアクセス方式
CA1254981A (en) * 1986-02-18 1989-05-30 Lester Kirkland Communications switching system
JPH01266651A (ja) * 1988-04-19 1989-10-24 Mitsubishi Electric Corp 半導体メモリ装置
US5142638A (en) 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5182801A (en) * 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US5522083A (en) * 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5459835A (en) * 1990-06-26 1995-10-17 3D Labs Ltd. Graphics rendering systems
JP3103151B2 (ja) * 1990-09-03 2000-10-23 富士写真フイルム株式会社 電子スチル・カメラおよびその動作制御方法
GB2258069B (en) * 1991-07-25 1995-03-29 Intel Corp High speed computer graphics bus
US5335321A (en) * 1992-06-19 1994-08-02 Intel Corporation Scalable multimedia platform architecture
US5243447A (en) * 1992-06-19 1993-09-07 Intel Corporation Enhanced single frame buffer display system
US5666521A (en) * 1992-12-07 1997-09-09 Intel Corporation Method and apparatus for performing bit block transfers in a computer system
US5572655A (en) 1993-01-12 1996-11-05 Lsi Logic Corporation High-performance integrated bit-mapped graphics controller
US5490112A (en) * 1993-02-05 1996-02-06 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
US5450355A (en) * 1993-02-05 1995-09-12 Micron Semiconductor, Inc. Multi-port memory device
JPH06251166A (ja) 1993-02-25 1994-09-09 Toshiba Corp 画像処理装置
US5574847A (en) * 1993-09-29 1996-11-12 Evans & Sutherland Computer Corporation Computer graphics parallel system with temporal priority
US5712664A (en) 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
US5509129A (en) 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5450542A (en) * 1993-11-30 1995-09-12 Vlsi Technology, Inc. Bus interface with graphics and system paths for an integrated memory system
US5454107A (en) * 1993-11-30 1995-09-26 Vlsi Technologies Cache memory support in an integrated memory system
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
JPH07200428A (ja) * 1993-12-28 1995-08-04 Canon Inc 通信装置
US6185629B1 (en) * 1994-03-08 2001-02-06 Texas Instruments Incorporated Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
US5544306A (en) * 1994-05-03 1996-08-06 Sun Microsystems, Inc. Flexible dram access in a frame buffer memory and system
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
US5598542A (en) * 1994-08-08 1997-01-28 International Business Machines Corporation Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values
AU4002095A (en) * 1994-10-26 1996-05-23 Flamepoint, Inc. Simultaneous processing by multiple components
US5715437A (en) * 1994-11-10 1998-02-03 Brooktree Corporation System for, and method of, processing in hardware commands received from software without polling of the hardware by the software
DE69525261T2 (de) 1994-11-10 2002-10-10 Brooktree Corp., San Diego System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem
US6002411A (en) 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
JPH08221319A (ja) * 1995-02-13 1996-08-30 Hitachi Ltd 半導体記憶装置
US5680591A (en) * 1995-03-28 1997-10-21 Cirrus Logic, Inc. Method and apparatus for monitoring a row address strobe signal in a graphics controller
EP0747872B1 (en) * 1995-06-07 1999-03-03 International Business Machines Corporation Video processor with addressing mode control
US5720019A (en) * 1995-06-08 1998-02-17 Hewlett-Packard Company Computer graphics system having high performance primitive clipping preprocessing
US5671373A (en) * 1995-06-08 1997-09-23 Hewlett-Packard Company Data bus protocol for computer graphics system
KR19990036270A (ko) * 1995-08-08 1999-05-25 로버트 에프. 도노휴 시스템과 프레임 버퍼를 연합한 메모리, 및 이를 사용하는 시스템 및 방법
US6108015A (en) 1995-11-02 2000-08-22 Cirrus Logic, Inc. Circuits, systems and methods for interfacing processing circuitry with a memory
US5748921A (en) * 1995-12-11 1998-05-05 Advanced Micro Devices, Inc. Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory
US5790138A (en) * 1996-01-16 1998-08-04 Monolithic System Technology, Inc. Method and structure for improving display data bandwidth in a unified memory architecture system
KR20000064680A (ko) 1996-03-21 2000-11-06 가나이 쓰도무 Dram내장데이타처리장치
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US5815167A (en) * 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
US5936635A (en) 1996-06-28 1999-08-10 Cirrus Logic, Inc. System and method of rendering polygons into a pixel grid
US6104417A (en) 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
JPH10134008A (ja) 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US5867180A (en) * 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
EP0884715A1 (en) 1997-06-12 1998-12-16 Hewlett-Packard Company Single-chip chipset with integrated graphics controller
US5892964A (en) * 1997-06-30 1999-04-06 Compaq Computer Corp. Computer bridge interfaces for accelerated graphics port and peripheral component interconnect devices
US6057862A (en) 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6247084B1 (en) 1997-10-08 2001-06-12 Lsi Logic Corporation Integrated circuit with unified memory system and dual bus architecture
US6215497B1 (en) 1998-08-12 2001-04-10 Monolithic System Technology, Inc. Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system
US6041400A (en) 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications

Also Published As

Publication number Publication date
US20010040580A1 (en) 2001-11-15
JP2001505342A (ja) 2001-04-17
US20120007873A1 (en) 2012-01-12
EP0935797A1 (en) 1999-08-18
US6690379B2 (en) 2004-02-10
WO1999013451A1 (en) 1999-03-18
USRE41413E1 (en) 2010-07-06
US6118462A (en) 2000-09-12
US20030103056A1 (en) 2003-06-05

Similar Documents

Publication Publication Date Title
JP4511638B2 (ja) 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ
US5937204A (en) Dual-pipeline architecture for enhancing the performance of graphics memory
US6002412A (en) Increased performance of graphics memory using page sorting fifos
US6195106B1 (en) Graphics system with multiported pixel buffers for accelerated pixel processing
US7102646B1 (en) Demand-based memory system for graphics applications
US6057862A (en) Computer system having a common display memory and main memory
CA1312963C (en) Software configurable memory architecture for data processing system having graphics capability
US6104418A (en) Method and system for improved memory interface during image rendering
US5956744A (en) Memory configuration cache with multilevel hierarchy least recently used cache entry replacement
US20020171649A1 (en) Computer system controller having internal memory and external memory control
KR100533305B1 (ko) 다중뱅크-다중포트메모리및시스템과그를사용하는방법
KR100227133B1 (ko) 보존된 어드레싱을 이용하는 메모리 장치 및 이를 이용한 시스템및 방법
US6795078B2 (en) Parallel read with source-clear operation
JPH10269164A (ja) ユニファイド・メモリ・アーキテクチャを有するコンピュータ・システム
EP0883065B1 (en) Non-blocking pipelined cache
US8217954B2 (en) Reconfigurable dual texture pipeline with shared texture cache
US6720969B2 (en) Dirty tag bits for 3D-RAM SRAM
US6778179B2 (en) External dirty tag bits for 3D-RAM SRAM
US8478946B2 (en) Method and system for local data sharing
JPH11510620A (ja) 統合されたシステム/フレームバッファメモリ及びシステム、ならびにそれらの使用方法
US8731071B1 (en) System for performing finite input response (FIR) filtering in motion estimation
US8581918B2 (en) Method and system for efficiently organizing data in memory
Roberts et al. Toshiba TDF-500 high resolution viewing and analysis system
JPH02250183A (ja) 図形描画装置におけるメモリとのインターフェース方法およびその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080625

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100413

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100507

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term