JP5240588B2 - デッドロックを起こさないパイプライン処理のためのシステム及び方法 - Google Patents
デッドロックを起こさないパイプライン処理のためのシステム及び方法 Download PDFInfo
- Publication number
- JP5240588B2 JP5240588B2 JP2010066407A JP2010066407A JP5240588B2 JP 5240588 B2 JP5240588 B2 JP 5240588B2 JP 2010066407 A JP2010066407 A JP 2010066407A JP 2010066407 A JP2010066407 A JP 2010066407A JP 5240588 B2 JP5240588 B2 JP 5240588B2
- Authority
- JP
- Japan
- Prior art keywords
- texture
- unit
- request
- pipeline
- thread
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 42
- 238000012545 processing Methods 0.000 title claims description 33
- 239000000872 buffer Substances 0.000 claims description 89
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 15
- 101001010541 Homo sapiens Electron transfer flavoprotein subunit alpha, mitochondrial Proteins 0.000 description 6
- 101001059644 Homo sapiens MAP kinase-activating death domain protein Proteins 0.000 description 6
- 102100028822 MAP kinase-activating death domain protein Human genes 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 201000003645 multiple acyl-CoA dehydrogenase deficiency Diseases 0.000 description 6
- 238000013468 resource allocation Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/393—Arrangements 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)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
Description
[020]以下の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに関するオペレーションの手順、ステップ、ロジックブロック、処理及びその他の記号表現の形にてなされている。これらの説明及び表現は、自分の業績の実体を他の当業者に対して最も効果的に伝えるためデータ処理技術の当業者により使用される手段である。手順、コンピュータ実行ステップ、ロジックブロック、プロセス等は、ここで、且つ一般的に、希望の結果に至る自己矛盾のない一連のステップ又は命令であると考えられている。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、コンピュータシステムにおいて記憶されたり、転送されたり、結合されたり、比較されたり、その他の形にて操作されることのできる電気的又は磁気的信号の形を取っている。これらの信号を、ビット、値、要素、記号、文字、用語、数字等として記載するのが、時には、又、主として慣用されているという理由で、便宜的であることが分かっている。
[022]図1は、本発明の一実施形態によるコンピュータシステム100を示している。コンピュータシステム100は、本発明の実施形態による基本コンピュータシステムの構成要素を示しており、特定のハードウエアベースの機能及びソフトウエアベースの機能のための実行プラットフォームを提供する。一般的に、コンピュータシステム100は、少なくとも1つのCPU101と、システムメモリ115と、少なくとも1つのグラフィック処理ユニット(GPU)110と、を備えている。CPU101は、ブリッジコンポーネント/メモリコントローラ(図示せず)を介してシステムメモリ115に結合され得、又は、CPU101の内部のメモリコントローラ(図示せず)を介してシステムメモリ115に直接的に結合され得る。GPU110は、ディスプレイ112に結合される。1つ以上の付加的なGPUを、オプションとして、システム100に任意的に結合して、計算能力を更に増大させることが可能である。GPU110は、CPU101及びシステムメモリ115に結合されている。GPU110は、別個の構成部分、コネクタ(例えば、AGPスロット、PCIエクスプレススロット等)を介してコンピュータシステム100に結合するように設計された別個のグラフィックカード、別個の集積回路ダイ(例えば、マザーボード上に直接に取り付けられた)として実施することができ、又は、コンピュータシステムチップセットコンポーネント(図示せず)の集積回路ダイ内に含まれた一体化GPUとして実施することもできる。さらに、高帯域グラフィックデータ記憶用のGPU110に対してローカルグラフィックメモリ114を含ませることもできる。
Claims (12)
- グラフィック処理ユニットにおいてデータを処理する方法であって、
前記グラフィック処理ユニットのテクスチャーユニットである実行ユニットから結果を受け取るように結合されたパイプラインバッファの空きメモリリソースのカウントを保持するステップと、
スレッドの前記実行ユニットに対する要求の数を決定するステップであって、該要求の数は、読戻しオペレーションが前記スレッド内に存在する前に、前記スレッド内に存在する複数の要求オペレーションの数を含む、該ステップと、
前記数の要求の全てを受容するのに十分な前記パイプラインバッファの空きメモリリソースが存在する場合に、前記実行ユニットへ前記数の要求を発し、存在しない場合には、前記実行ユニットへ前記数の要求のいずれをも発しない、ステップと、
前記実行ユニットが、発せられた要求の結果を、その実行後に、前記パイプラインバッファへ書き込むステップと、
前記スレッドが、前記グラフィック処理ユニットの数値演算機能ユニットへ数値演算オペレーションを発し、前記数値演算機能ユニットが、レジスタファイルのソースレジスタから前記数値演算オペレーション用のソースオペランドを得て、前記数値演算オペレーションの実行による結果を前記レジスタファイルのデスティネーションレジスタへ戻す数値演算ステップと、
を含み、
前記数値演算ステップは、前記実行ユニットに対するテクスチャー要求が数値演算要求に依存していない場合には、該テクスチャー要求が処理されている間に並行して完了するものである、方法。 - 前記パイプラインバッファの空きメモリリソースのカウントを保持するステップは、前記実行ユニットへ前記数の要求が発せられたことに応答して、前記パイプラインバッファの前記空きメモリリソースの前記カウントを減少させることを含む、請求項1に記載の方法。
- 前記スレッドが、前記実行ユニットに発せられた要求に対応する前記パイプラインバッファからの読戻しオペレーションを実行するステップを更に含み、
前記パイプラインバッファの空きメモリリソースの前記カウントを保持するステップは、更に、前記スレッドが前記読戻しオペレーションを実行することに応答して、前記パイプラインバッファの前記空きメモリリソースの前記カウントを増大させることを含む、請求項2に記載の方法。 - 更に、前記テクスチャーユニットの各テクスチャーオペレーションは、前記テクスチャーユニットに対するテクスチャー要求オペレーション及び前記パイプラインバッファからのテクスチャー読戻しオペレーションを含む、請求項1に記載の方法。
- 前記発すること及び前記発しないことは、前記パイプラインバッファ内に割り当てられた結果スペースを有するグループ化されたテクスチャー要求オペレーションのみを発することにより、前記テクスチャーユニットのデッドロックを防止し、
前記グループ化されたテクスチャー要求オペレーションは、前記スレッドの第1の発せられていないテクスチャー読戻しオペレーションに先行する該スレッド内の全ての発せられていない一連のテクスチャー要求オペレーションである、請求項4に記載の方法。 - 前記レジスタファイルは、前記テクスチャーユニットの実行による結果を受け取らない、請求項1に記載の方法。
- グラフィック処理ユニットにおいてデータを処理する方法であって、
前記グラフィック処理ユニットのテクスチャーユニットである実行ユニットから結果を受け取るように結合されたパイプラインバッファのサイズを決定するステップと、
各スレッド内の要求オペレーションの数に基づいて、更に前記パイプラインバッファの前記サイズに基づいて、前記実行ユニットで同時に動作することが許されるスレッドの数を決定するステップと、
デッドロックを防止するため、前記数以下のスレッドのみが前記実行ユニットで同時に動作することを許可するステップと、
前記数のスレッドが、前記実行ユニットへ要求オペレーションを発するステップと、
前記実行ユニットが、前記要求オペレーションの結果を、その実行後に、前記パイプラインバッファへ書き込むステップと、
スレッドが、前記グラフィック処理ユニットの数値演算機能ユニットへ数値演算オペレーションを発し、前記数値演算機能ユニットが、レジスタファイルのソースレジスタから前記数値演算オペレーション用のソースオペランドを得て、前記数値演算オペレーションの実行による結果を前記レジスタファイルのデスティネーションレジスタへ戻す数値演算ステップと、
を含み、
前記数値演算ステップは、前記実行ユニットに対するテクスチャー要求が数値演算要求に依存していない場合には、該テクスチャー要求が処理されている間に並行して完了するものである、方法。 - 前記スレッドの数を決定するステップは、前記パイプラインバッファの前記サイズを、各スレッド内の前記要求オペレーションの数で除算することを含む、請求項7に記載の方法。
- 前記数のスレッドが、前記実行ユニットへ発せられた前記要求オペレーションに対応する前記パイプラインバッファからの読戻しオペレーションを実行するステップを更に含む、請求項7に記載の方法。
- 更に、前記テクスチャーユニットの各テクスチャーオペレーションは、テクスチャー要求オペレーション及び前記パイプラインバッファからのテクスチャー読戻しオペレーションを含む、請求項7に記載の方法。
- 前記数以下のスレッドのみが前記実行ユニットで同時に動作することを許可するステップは、前記数のスレッド内の全てのテクスチャー読戻しオペレーションが実行する機会を有することを保証することにより、デッドロックを防止する、請求項10に記載の方法。
- 前記機能ユニットは、テクスチャーユニットであり、前記レジスタファイルは、前記テクスチャーユニットの実行による結果を受け取らない、請求項7に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/420,751 US8698823B2 (en) | 2009-04-08 | 2009-04-08 | System and method for deadlock-free pipelining |
US12/420,751 | 2009-04-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010244529A JP2010244529A (ja) | 2010-10-28 |
JP5240588B2 true JP5240588B2 (ja) | 2013-07-17 |
Family
ID=42934008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010066407A Active JP5240588B2 (ja) | 2009-04-08 | 2010-03-23 | デッドロックを起こさないパイプライン処理のためのシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8698823B2 (ja) |
JP (1) | JP5240588B2 (ja) |
KR (1) | KR101226817B1 (ja) |
CN (1) | CN101859257B (ja) |
TW (1) | TWI423162B (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9849372B2 (en) | 2012-09-28 | 2017-12-26 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
US9626191B2 (en) | 2011-12-22 | 2017-04-18 | Nvidia Corporation | Shaped register file reads |
US20130191572A1 (en) * | 2012-01-23 | 2013-07-25 | Qualcomm Incorporated | Transaction ordering to avoid bus deadlocks |
US9925468B2 (en) | 2012-06-29 | 2018-03-27 | Sony Interactive Entertainment Inc. | Suspending state of cloud-based legacy applications |
US9656163B2 (en) | 2012-06-29 | 2017-05-23 | Sony Interactive Entertainment Inc. | Haptic enhancements for emulated video game not originally designed with haptic capabilities |
US9694276B2 (en) | 2012-06-29 | 2017-07-04 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9717989B2 (en) | 2012-06-29 | 2017-08-01 | Sony Interactive Entertainment Inc. | Adding triggers to cloud-based emulated games |
US11013993B2 (en) | 2012-09-28 | 2021-05-25 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9707476B2 (en) | 2012-09-28 | 2017-07-18 | Sony Interactive Entertainment Inc. | Method for creating a mini-game |
US20140092087A1 (en) | 2012-09-28 | 2014-04-03 | Takayuki Kazama | Adaptive load balancing in software emulation of gpu hardware |
US9697006B2 (en) * | 2012-12-19 | 2017-07-04 | Nvidia Corporation | Technique for performing memory access operations via texture hardware |
US9183092B1 (en) * | 2013-01-21 | 2015-11-10 | Amazon Technologies, Inc. | Avoidance of dependency issues in network-based service startup workflows |
US9405605B1 (en) | 2013-01-21 | 2016-08-02 | Amazon Technologies, Inc. | Correction of dependency issues in network-based service remedial workflows |
US9165396B2 (en) * | 2013-02-26 | 2015-10-20 | Nvidia Corporation | Graphics processing unit with a texture return buffer and a texture queue |
US9171525B2 (en) * | 2013-02-26 | 2015-10-27 | Nvidia Corporation | Graphics processing unit with a texture return buffer and a texture queue |
US9258012B2 (en) | 2013-03-15 | 2016-02-09 | Sony Computer Entertainment Inc. | Compression of state information for data transfer over cloud-based networks |
JP5466786B1 (ja) * | 2013-08-28 | 2014-04-09 | 株式会社 ディー・エヌ・エー | 画像処理装置及び画像処理プログラム |
KR102161742B1 (ko) | 2013-10-11 | 2020-10-05 | 삼성전자주식회사 | 피드백 경로를 포함하는 파이프 라인 시스템 및 그 동작방법 |
US9760967B2 (en) * | 2013-11-13 | 2017-09-12 | Qualcomm Incorporated | System and method of dynamically throttling CPU frequency for gaming workloads |
CN103713884B (zh) * | 2013-12-18 | 2016-06-29 | 珠海金山网络游戏科技有限公司 | 多线程通过数组处理数据的方法、系统及多线程处理器 |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
GB2524063B (en) | 2014-03-13 | 2020-07-01 | Advanced Risc Mach Ltd | Data processing apparatus for executing an access instruction for N threads |
CN103955407B (zh) * | 2014-04-24 | 2018-09-25 | 深圳中微电科技有限公司 | 在处理器中减小纹理延迟的方法及装置 |
US9633153B1 (en) * | 2014-12-31 | 2017-04-25 | Cadence Design Systems, Inc. | Method, system, and computer program product for verifying an electronic design using stall prevention requirements of electronic circuit design models of the electronic design |
US10616144B2 (en) | 2015-03-30 | 2020-04-07 | Cavium, Llc | Packet processing system, method and device having reduced static power consumption |
US9747226B2 (en) * | 2015-03-30 | 2017-08-29 | Cavium, Inc. | Packet processing system, method and device to optimize packet buffer space |
US10242494B2 (en) * | 2017-04-01 | 2019-03-26 | Intel Corporation | Conditional shader for graphics |
US10417731B2 (en) | 2017-04-24 | 2019-09-17 | Intel Corporation | Compute optimization mechanism for deep neural networks |
US10417734B2 (en) | 2017-04-24 | 2019-09-17 | Intel Corporation | Compute optimization mechanism for deep neural networks |
CN107770090B (zh) * | 2017-10-20 | 2020-05-01 | 深圳市楠菲微电子有限公司 | 用于控制流水线中寄存器的方法和装置 |
CN108509241B (zh) * | 2018-03-15 | 2021-06-04 | Oppo广东移动通信有限公司 | 一种图像的全屏显示方法、全屏显示装置及移动终端 |
US10990443B2 (en) | 2018-12-04 | 2021-04-27 | International Business Machines Corporation | Utilization profiling and scheduling operations using thread specific execution units usage of a multi-core multi-threaded processor |
US10657699B1 (en) * | 2018-12-08 | 2020-05-19 | Arm Limited | Performing texturing operations for sets of plural execution threads in graphics processing systems |
KR20200081966A (ko) * | 2018-12-28 | 2020-07-08 | 엘지디스플레이 주식회사 | 발광 표시장치 |
KR102531567B1 (ko) * | 2020-04-03 | 2023-05-15 | 서울대학교산학협력단 | 데드락 회피 방법 및 시스템 |
Family Cites Families (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6414648A (en) * | 1987-07-08 | 1989-01-18 | Mitsubishi Electric Corp | Arithmetic processor |
US5455913A (en) * | 1990-05-14 | 1995-10-03 | At&T Global Information Solutions Company | System and method for transferring data between independent busses |
US5301295A (en) * | 1991-05-22 | 1994-04-05 | Analog Devices, Inc. | Data processor apparatus and method with selective caching of instructions |
US5444853A (en) * | 1992-03-31 | 1995-08-22 | Seiko Epson Corporation | System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's |
US5768548A (en) * | 1992-04-15 | 1998-06-16 | Intel Corporation | Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data |
US5546548A (en) * | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
US5555424A (en) | 1994-10-06 | 1996-09-10 | The Dow Chemical Company | Extended Harvard architecture computer memory system with programmable variable address increment |
US5706466A (en) * | 1995-01-13 | 1998-01-06 | Vlsi Technology, Inc. | Von Neumann system with harvard processor and instruction buffer |
US5923859A (en) * | 1995-04-13 | 1999-07-13 | Compaq Computer Corporation | Dual arbiters for arbitrating access to a first and second bus in a computer system having bus masters on each bus |
US5877741A (en) * | 1995-06-07 | 1999-03-02 | Seiko Epson Corporation | System and method for implementing an overlay pathway |
US6175634B1 (en) * | 1995-08-28 | 2001-01-16 | Intel Corporation | Adaptive noise reduction technique for multi-point communication system |
US6226695B1 (en) * | 1995-09-29 | 2001-05-01 | International Business Machines Corporation | Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors |
US5717954A (en) * | 1995-10-13 | 1998-02-10 | Compaq Computer Corporation | Locked exchange FIFO |
US5940866A (en) * | 1995-12-13 | 1999-08-17 | International Business Machines Corporation | Information handling system having a local address queue for local storage of command blocks transferred from a host processing side |
US5968143A (en) * | 1995-12-13 | 1999-10-19 | International Business Machines Corporation | Information handling system for transfer of command blocks to a local processing side without local processor intervention |
US5761468A (en) * | 1996-05-15 | 1998-06-02 | Sun Microsystems Inc | Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions |
US5822568A (en) * | 1996-05-20 | 1998-10-13 | Advanced Micro Devices, Inc. | System for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller |
US5745772A (en) * | 1996-08-02 | 1998-04-28 | Micron Electronics, Inc. | Advanced programmable interrupt controller |
US5790817A (en) * | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US6185634B1 (en) * | 1996-09-27 | 2001-02-06 | Emc Corporation | Address triggered DMA controller with an indicative signal including circuitry for calculating a new trigger address value based on the sum of the current trigger address and the descriptor register data with a trigger address register |
US6018803A (en) * | 1996-12-17 | 2000-01-25 | Intel Corporation | Method and apparatus for detecting bus utilization in a computer system based on a number of bus events per sample period |
US6029228A (en) * | 1996-12-31 | 2000-02-22 | Texas Instruments Incorporated | Data prefetching of a load target buffer for post-branch instructions based on past prediction accuracy's of branch predictions |
US5864876A (en) * | 1997-01-06 | 1999-01-26 | Creative Technology Ltd. | DMA device with local page table |
US5881248A (en) * | 1997-03-06 | 1999-03-09 | Advanced Micro Devices, Inc. | System and method for optimizing system bus bandwidth in an embedded communication system |
US6526518B1 (en) * | 1997-05-22 | 2003-02-25 | Creative Technology, Ltd. | Programmable bus |
US6085276A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computers Corporation | Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies |
US6266742B1 (en) * | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Algorithm for cache replacement |
US6016528A (en) * | 1997-10-29 | 2000-01-18 | Vlsi Technology, Inc. | Priority arbitration system providing low latency and guaranteed access for devices |
US6098114A (en) * | 1997-11-14 | 2000-08-01 | 3Ware | Disk array system for processing and tracking the completion of I/O requests |
US6418496B2 (en) * | 1997-12-10 | 2002-07-09 | Intel Corporation | System and apparatus including lowest priority logic to select a processor to receive an interrupt message |
US6233656B1 (en) * | 1997-12-22 | 2001-05-15 | Lsi Logic Corporation | Bandwidth optimization cache |
US6298407B1 (en) * | 1998-03-04 | 2001-10-02 | Intel Corporation | Trigger points for performance optimization in bus-to-bus bridges |
US6157980A (en) * | 1998-03-23 | 2000-12-05 | International Business Machines Corporation | Cache directory addressing scheme for variable cache sizes |
US6085278A (en) * | 1998-06-02 | 2000-07-04 | Adaptec, Inc. | Communications interface adapter for a computer system including posting of system interrupt status |
US6182112B1 (en) * | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
US6490654B2 (en) * | 1998-07-31 | 2002-12-03 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
US6101568A (en) * | 1998-08-25 | 2000-08-08 | Stmicroelectronics, Inc. | Bus interface unit having dual purpose transaction buffer |
US6065088A (en) * | 1998-08-31 | 2000-05-16 | International Business Machines Corporation | System and method for interrupt command queuing and ordering |
US6205524B1 (en) * | 1998-09-16 | 2001-03-20 | Neomagic Corp. | Multimedia arbiter and method using fixed round-robin slots for real-time agents and a timed priority slot for non-real-time agents |
US20020056027A1 (en) * | 1998-10-29 | 2002-05-09 | Hiroki Kanai | Information processing system |
US6233645B1 (en) * | 1998-11-02 | 2001-05-15 | Compaq Computer Corporation | Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high |
US6314472B1 (en) * | 1998-12-01 | 2001-11-06 | Intel Corporation | Abort of DRAM read ahead when PCI read multiple has ended |
US6397296B1 (en) * | 1999-02-19 | 2002-05-28 | Hitachi Ltd. | Two-level instruction cache for embedded processors |
US6345341B1 (en) * | 1999-06-24 | 2002-02-05 | International Business Machines Corporation | Method of cache management for dynamically disabling O state memory-consistent data |
US6681285B1 (en) * | 1999-07-22 | 2004-01-20 | Index Systems, Inc. | Memory controller and interface |
US7389466B1 (en) | 1999-08-12 | 2008-06-17 | Texas Instruments Incorporated | ECC in computer system with associated mass storage device, and method for operating same |
EP1145240A1 (en) * | 1999-10-29 | 2001-10-17 | Kabushiki Kaisha Toshiba | Data write control system and method therefor |
US6574712B1 (en) * | 1999-11-08 | 2003-06-03 | International Business Machines Corporation | Software prefetch system and method for predetermining amount of streamed data |
US6631434B1 (en) * | 1999-11-15 | 2003-10-07 | Hewlett-Packard Development Company, L.P. | Dynamic early indication system for a computer |
US6560657B1 (en) * | 1999-12-23 | 2003-05-06 | Intel Corporation | System and method for controlling peripheral devices |
US6499090B1 (en) * | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
JP3450248B2 (ja) * | 2000-01-19 | 2003-09-22 | エヌイーシー東芝スペースシステム株式会社 | 人工衛星搭載用データバス制御方法、そのシステム |
US6578102B1 (en) * | 2000-04-18 | 2003-06-10 | International Business Machines Corporation | Tracking and control of prefetch data in a PCI bus system |
JP3796390B2 (ja) | 2000-04-27 | 2006-07-12 | シャープ株式会社 | データ駆動型情報処理装置 |
JP4489245B2 (ja) * | 2000-05-02 | 2010-06-23 | オリンパス株式会社 | 画像処理装置とその制御方法 |
DE10121792C2 (de) * | 2000-05-26 | 2003-09-25 | Ibm | Universelle Ladeadresse/Wertevorhersageschema |
US6427195B1 (en) * | 2000-06-13 | 2002-07-30 | Hewlett-Packard Company | Thread local cache memory allocator in a multitasking operating system |
US6754755B1 (en) * | 2000-08-10 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Service request system using an activity indicator to reduce processing overhead |
US6745258B1 (en) * | 2000-08-22 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Raid system having multiple reply queues for use with multiprocessor host |
US6957290B1 (en) * | 2000-10-06 | 2005-10-18 | Broadcom Corporation | Fast arbitration scheme for a bus |
US6696954B2 (en) * | 2000-10-16 | 2004-02-24 | Amerasia International Technology, Inc. | Antenna array for smart RFID tags |
US6681281B1 (en) * | 2000-11-17 | 2004-01-20 | Advanced Micro Devices, Inc. | System and method for implementing a multi-level interrupt scheme in a computer system |
US6480939B2 (en) * | 2000-12-29 | 2002-11-12 | Intel Corporation | Method and apparatus for filtering prefetches to provide high prefetch accuracy using less hardware |
GB0031763D0 (en) * | 2000-12-29 | 2001-02-07 | Mitel Semiconductor Ltd | Arbiter for a queue management system |
US6901467B2 (en) * | 2001-02-23 | 2005-05-31 | Hewlett-Packard Development Company, L.P. | Enhancing a PCI-X split completion transaction by aligning cachelines with an allowable disconnect boundary's ending address |
US6571318B1 (en) * | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
US20020144054A1 (en) * | 2001-03-30 | 2002-10-03 | Fanning Blaise B. | Prefetch canceling based on most recent accesses |
US6728856B2 (en) * | 2001-06-01 | 2004-04-27 | Microchip Technology Incorporated | Modified Harvard architecture processor having program memory space mapped to data memory space |
US6842803B2 (en) * | 2001-07-09 | 2005-01-11 | Advanced Micro Devices, Inc. | Computer system with privileged-mode modem driver |
US6907480B2 (en) * | 2001-07-11 | 2005-06-14 | Seiko Epson Corporation | Data processing apparatus and data input/output apparatus and data input/output method |
US6696854B2 (en) * | 2001-09-17 | 2004-02-24 | Broadcom Corporation | Methods and circuitry for implementing first-in first-out structure |
US7376846B2 (en) | 2001-10-14 | 2008-05-20 | Palm, Inc. | Charging and communication cable system for a mobile computer apparatus |
WO2003052758A1 (en) * | 2001-12-13 | 2003-06-26 | Seagate Technology Llc | Raid data storage array spin-up control |
US6925534B2 (en) * | 2001-12-31 | 2005-08-02 | Intel Corporation | Distributed memory module cache prefetch |
US6877048B2 (en) * | 2002-03-12 | 2005-04-05 | International Business Machines Corporation | Dynamic memory allocation between inbound and outbound buffers in a protocol handler |
US20030187911A1 (en) * | 2002-04-01 | 2003-10-02 | Michael Abd-El-Malek | Method and apparatus to facilitate recovering a thread from a checkpoint |
TWI258081B (en) * | 2002-04-04 | 2006-07-11 | Via Tech Inc | Arbitrating method and arbiter for bus grant |
US6904473B1 (en) * | 2002-05-24 | 2005-06-07 | Xyratex Technology Limited | Direct memory access controller and method of filtering data during data transfer from a source memory to a destination memory |
US20030229743A1 (en) * | 2002-06-05 | 2003-12-11 | Brown Andrew C. | Methods and structure for improved fairness bus arbitration |
US6898674B2 (en) * | 2002-06-11 | 2005-05-24 | Intel Corporation | Apparatus, method, and system for synchronizing information prefetch between processors and memory controllers |
US6801963B2 (en) * | 2002-07-24 | 2004-10-05 | Intel Corporation | Method, system, and program for configuring components on a bus for input/output operations |
DE10234933A1 (de) * | 2002-07-31 | 2004-03-18 | Advanced Micro Devices, Inc., Sunnyvale | Pufferung von Non-Posted-Lesebefehlen und Antworten |
DE10234934A1 (de) * | 2002-07-31 | 2004-03-18 | Advanced Micro Devices, Inc., Sunnyvale | Antwortreihenwiederherstellungsmechanismus |
US6957306B2 (en) * | 2002-09-09 | 2005-10-18 | Broadcom Corporation | System and method for controlling prefetching |
US6895475B2 (en) * | 2002-09-30 | 2005-05-17 | Analog Devices, Inc. | Prefetch buffer method and apparatus |
TW200415476A (en) * | 2002-09-30 | 2004-08-16 | Matsushita Electric Ind Co Ltd | Resource management device |
TW569236B (en) * | 2002-10-03 | 2004-01-01 | Via Tech Inc | Multiple-grant controller with parallel arbitration mechanism and related method |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US6901483B2 (en) * | 2002-10-24 | 2005-05-31 | International Business Machines Corporation | Prioritizing and locking removed and subsequently reloaded cache lines |
US6976106B2 (en) * | 2002-11-01 | 2005-12-13 | Sonics, Inc. | Method and apparatus for speculative response arbitration to improve system latency |
US20040201647A1 (en) * | 2002-12-02 | 2004-10-14 | Mark Jackson Pulver | Stitching of integrated circuit components |
US20040117606A1 (en) * | 2002-12-17 | 2004-06-17 | Hong Wang | Method and apparatus for dynamically conditioning statically produced load speculation and prefetches using runtime information |
US6983356B2 (en) * | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
US7143219B1 (en) | 2002-12-31 | 2006-11-28 | Intel Corporation | Multilevel fair priority round robin arbiter |
US7673304B2 (en) * | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US6950892B2 (en) * | 2003-04-10 | 2005-09-27 | International Business Machines Corporation | Method and system for managing distributed arbitration for multicycle data transfer requests |
JP3632695B2 (ja) | 2003-05-06 | 2005-03-23 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及びデータ転送制御方法 |
JP4313607B2 (ja) * | 2003-05-08 | 2009-08-12 | 富士通株式会社 | バス接続回路及びバス接続システム |
US7177985B1 (en) | 2003-05-30 | 2007-02-13 | Mips Technologies, Inc. | Microprocessor with improved data stream prefetching |
US7139878B2 (en) * | 2003-06-20 | 2006-11-21 | Freescale Semiconductor, Inc. | Method and apparatus for dynamic prefetch buffer configuration and replacement |
US7600058B1 (en) | 2003-06-26 | 2009-10-06 | Nvidia Corporation | Bypass method for efficient DMA disk I/O |
US7225318B2 (en) * | 2003-10-08 | 2007-05-29 | Intel Corporation | Dynamic prefetch in continuous burst read operation |
US6996647B2 (en) * | 2003-12-17 | 2006-02-07 | International Business Machines Corporation | Token swapping for hot spot management |
US7027062B2 (en) * | 2004-02-27 | 2006-04-11 | Nvidia Corporation | Register based queuing for texture requests |
US7281148B2 (en) * | 2004-03-26 | 2007-10-09 | Intel Corporation | Power managed busses and arbitration |
US7315912B2 (en) * | 2004-04-01 | 2008-01-01 | Nvidia Corporation | Deadlock avoidance in a bus fabric |
JP4377279B2 (ja) * | 2004-05-06 | 2009-12-02 | 株式会社日立製作所 | ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法 |
KR100865811B1 (ko) * | 2004-05-14 | 2008-10-28 | 엔비디아 코포레이션 | 저전력 프로그램가능 프로세서 |
US7441087B2 (en) * | 2004-08-17 | 2008-10-21 | Nvidia Corporation | System, apparatus and method for issuing predictions from an inventory to access a memory |
US7260686B2 (en) * | 2004-08-17 | 2007-08-21 | Nvidia Corporation | System, apparatus and method for performing look-ahead lookup on predictive information in a cache memory |
US7206902B2 (en) * | 2004-08-17 | 2007-04-17 | Nvidia Corporation | System, apparatus and method for predicting accesses to a memory |
US7461211B2 (en) * | 2004-08-17 | 2008-12-02 | Nvidia Corporation | System, apparatus and method for generating nonsequential predictions to access a memory |
US7218291B2 (en) | 2004-09-13 | 2007-05-15 | Nvidia Corporation | Increased scalability in the fragment shading pipeline |
US7525986B2 (en) | 2004-10-28 | 2009-04-28 | Intel Corporation | Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools |
US7263566B2 (en) | 2004-12-30 | 2007-08-28 | Qualcomm Incorporated | Method and apparatus of reducing transfer latency in an SOC interconnect |
US20060206902A1 (en) * | 2005-03-14 | 2006-09-14 | Sujat Jamil | Variable interleaved multithreaded processor method and system |
US20070165042A1 (en) * | 2005-12-26 | 2007-07-19 | Seitaro Yagi | Rendering apparatus which parallel-processes a plurality of pixels, and data transfer method |
JP4621604B2 (ja) | 2006-02-20 | 2011-01-26 | 株式会社東芝 | バス装置、バスシステムおよび情報転送方法 |
JP4892253B2 (ja) | 2006-02-28 | 2012-03-07 | ルネサスエレクトロニクス株式会社 | 電子装置 |
US8766996B2 (en) * | 2006-06-21 | 2014-07-01 | Qualcomm Incorporated | Unified virtual addressed register file |
US8345053B2 (en) * | 2006-09-21 | 2013-01-01 | Qualcomm Incorporated | Graphics processors with parallel scheduling and execution of threads |
US7631126B2 (en) | 2007-05-24 | 2009-12-08 | Research In Motion Limited | System and method for interfacing an electronic device with a host system |
US7734856B2 (en) | 2007-08-22 | 2010-06-08 | Lantiq Deutschland Gmbh | Method for operating a plurality of arbiters and arbiter system |
US7876329B2 (en) * | 2007-09-10 | 2011-01-25 | Via Technologies, Inc. | Systems and methods for managing texture data in a computer |
US8099539B2 (en) | 2008-03-10 | 2012-01-17 | Lsi Corporation | Method and system of a shared bus architecture |
US8370552B2 (en) | 2008-10-14 | 2013-02-05 | Nvidia Corporation | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions |
US7895385B2 (en) | 2008-12-09 | 2011-02-22 | Nvidia Corporation | Establishing communication over serial buses in a slave device |
-
2009
- 2009-04-08 US US12/420,751 patent/US8698823B2/en active Active
-
2010
- 2010-03-23 JP JP2010066407A patent/JP5240588B2/ja active Active
- 2010-04-07 TW TW099110703A patent/TWI423162B/zh active
- 2010-04-08 CN CN2010101420064A patent/CN101859257B/zh active Active
- 2010-04-08 KR KR1020100032219A patent/KR101226817B1/ko active IP Right Grant
-
2013
- 2013-11-27 US US14/092,816 patent/US9928639B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN101859257A (zh) | 2010-10-13 |
US20140092114A1 (en) | 2014-04-03 |
KR101226817B1 (ko) | 2013-01-28 |
TWI423162B (zh) | 2014-01-11 |
US9928639B2 (en) | 2018-03-27 |
CN101859257B (zh) | 2013-09-18 |
JP2010244529A (ja) | 2010-10-28 |
US8698823B2 (en) | 2014-04-15 |
US20100259536A1 (en) | 2010-10-14 |
TW201044311A (en) | 2010-12-16 |
KR20100112099A (ko) | 2010-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5240588B2 (ja) | デッドロックを起こさないパイプライン処理のためのシステム及び方法 | |
US9766938B2 (en) | Application interface on multiple processors | |
KR101477882B1 (ko) | 서브버퍼 오브젝트 | |
US9436504B2 (en) | Techniques for managing the execution order of multiple nested tasks executing on a parallel processor | |
TWI493451B (zh) | 使用預解碼資料進行指令排程的方法和裝置 | |
US10026145B2 (en) | Resource sharing on shader processor of GPU | |
US9069609B2 (en) | Scheduling and execution of compute tasks | |
US20120110586A1 (en) | Thread group scheduler for computing on a parallel thread processor | |
US20080276064A1 (en) | Shared stream memory on multiple processors | |
TWI501150B (zh) | 無指令解碼而排程指令的方法和裝置 | |
US20170371654A1 (en) | System and method for using virtual vector register files | |
US9626216B2 (en) | Graphics processing unit sharing between many applications | |
US9798544B2 (en) | Reordering buffer for memory access locality | |
US9715413B2 (en) | Execution state analysis for assigning tasks to streaming multiprocessors | |
US9489245B2 (en) | Work-queue-based graphics processing unit work creation | |
US9135081B2 (en) | Work-queue-based graphics processing unit work creation | |
US9262348B2 (en) | Memory bandwidth reallocation for isochronous traffic | |
US20140240329A1 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
US20110082961A1 (en) | Sharing Data Crossbar for Reads and Writes in a Data Cache | |
WO2023163863A1 (en) | Dynamic wave pairing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121217 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121227 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5240588 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |