JP2008507034A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008507034A5 JP2008507034A5 JP2007521508A JP2007521508A JP2008507034A5 JP 2008507034 A5 JP2008507034 A5 JP 2008507034A5 JP 2007521508 A JP2007521508 A JP 2007521508A JP 2007521508 A JP2007521508 A JP 2007521508A JP 2008507034 A5 JP2008507034 A5 JP 2008507034A5
- Authority
- JP
- Japan
- Prior art keywords
- thread
- memory bank
- unit
- memory
- collection unit
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims 65
- 238000000034 method Methods 0.000 claims 3
- 230000000875 corresponding Effects 0.000 claims 1
- 230000001808 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
Claims (21)
- 1つのマルチポートメモリーとして機能するように複数のシングルポートメモリーを構成すると共に、複数のメモリーバンクの中にレジスタを割り付ける方法であって、
前記複数のシングルポートメモリーは、複数のスレッドのうちの少なくとも1つによって実行されるオペランドを記憶するためのレジスタを提供し、
前記複数のメモリーバンクのそれぞれは、前記複数のスレッドのうちの少なくとも1つに関連しており、
前記複数のスレッドのうちの第1のスレッドに割り付けられるレジスタの数を決定するステップと、
前記1つのマルチポートメモリーとして機能するように構成された一組のメモリーバンク内に存在する少なくとも1つのメモリーバンク内のロケーションにおいて前記第1のスレッドに前記数のレジスタを割り付けるステップと、
前記複数のスレッドのうちの前記第1のスレッド及び第2のスレッドが、同一のメモリーバンクに記憶された同一のプログラム命令によって指定された対応するオペランド無しで、同一のプログラム命令を処理することができるように、前記レジスタを割り当てるステップと、
前記複数のスレッドのうちの前記第2のスレッドに割り付けられるレジスタの数を決定するステップと、
前記1つのマルチポートメモリーとして機能するように構成された一組のメモリーバンク内に存在する少なくとも1つのメモリーバンク内のロケーションにおいて前記第2のスレッドに前記数のレジスタを割り付けるステップと、
前記一組のメモリーバンク内に存在するレジスタから、第1の収集ユニットへ、前記第2のスレッド内に存在するプログラム命令によって指定される第1のオペランドを読み込むステップと、
前記一組のメモリーバンク内に存在するレジスタから、第2の収集ユニットへ、前記第1のスレッド内に存在する前記プログラム命令によって指定される第2のオペランドを読み込むステップと、
前記プログラム命令、前記第1のオペランド、及び、前記第2のオペランドを、前記第1の収集ユニット及び前記第2の収集ユニットのそれぞれから前記第1のスレッド及び前記第2のスレッドへ実行のためにディスパッチするステップと、
を備える方法。 - 前記第1のスレッド及び前記第2のスレッドに割り付けられる前記数のレジスタが、いくつかの部分に分割され、それらの部分が、前記一組のメモリーバンク内に存在する2以上のメモリーバンク内に割り付けられる、請求項1に記載の方法。
- 前記第1のスレッド及び前記第2のスレッドに割り付けられる前記数のレジスタが、前記一組のメモリーバンク内に存在するただ1つのメモリーバンク内に配置される、請求項1に記載の方法。
- 前記数のレジスタの割り付けが、割り付け方式に基づくものであり、当該割り付け方式は、厚い割り付け方式、又は、薄い割り付け方式である、請求項1に記載の方法。
- 前記第1のスレッド及び前記第2のスレッドに割り付けられるレジスタの前記数に基づいて前記割り付け方式を決定するステップをさらに備える、請求項4に記載の方法。
- 前記割り付け方式をドライバから受け取るステップをさらに備える、請求項4に記載の方法。
- 前記第1のスレッド及び前記第2のスレッドが同じ命令を処理するとき、前記第1のスレッド及び前記第2のスレッドが前記一組のメモリーバンクのうちの同一のメモリーバンクからオペランドを読み込まないように、前記第1のスレッド及び前記第2のスレッドのために割り付けられた一組のレジスタ内に存在するレジスタを、それぞれのレジスタを割り当てるための前記第1のスレッド及び前記第2のスレッドに関連する位相値を用いて、少なくとも1つのメモリーバンクに割り当てるステップをさらに備える、請求項1に記載の方法。
- グラフィックスプログラム命令のためのオペランドを複数のシングルポートメモリーへ記憶するための、及び、複数のシングルポートメモリーから出力するためのレジスタファイルユニットであって、
1つのマルチポートメモリーとして機能し、第1のスレッドのためのオペランドを記憶するように構成された複数のシングルポートメモリーからなる第1のメモリーバンクと、
1つのマルチポートメモリーとして機能し、第2のスレッドのためのオペランドを記憶するように構成された複数のシングルポートメモリーからなる第2のメモリーバンクと、
前記第1のスレッドのための前記オペランドを前記第1のメモリーバンクから受け取り、前記第1のスレッドのプログラム命令と前記第1のスレッドの前記プログラム命令によって指定された任意のオペランドとを出力するように構成された第1の収集ユニットと、
前記第2のスレッドのための前記オペランドを前記第2のメモリーバンクから受け取り、前記第2のスレッドのプログラム命令と前記第2のスレッドの前記プログラム命令によって指定された任意のオペランドとを実行のために前記第1のスレッド及び前記第2のスレッドに出力するように構成された第2の収集ユニットと、
を備え、
前記第1のメモリーバンク及び前記第2のメモリーバンクのうちのただ1つに記憶されたオペランドにアクセスすること無く、同一の命令が前記第1のスレッドと前記第2のスレッドの両方において同時に実行可能なように、前記オペランドは前記第1のメモリーバンク及び前記第2のメモリーバンク間に記憶及び配信される、レジスタファイルユニット。 - 前記第1の収集ユニット及び前記第2の収集ユニットのいずれか一方が、スレッドのためのオペランドを前記第1のメモリーバンク及び前記第2のメモリーバンクのいずれか一方から受け取るために、前記第1のメモリーバンク及び前記第2のメモリーバンクを前記第1の収集ユニット及び前記第2の収集ユニットに結合するクロスバユニットをさらに備える、請求項8に記載のレジスタファイルユニット。
- オペランド読み出し要求を前記第1のメモリーバンクに出力するように構成された第1のバンク要求調停ユニットと、
オペランド読み出し要求を前記第2のメモリーバンクに出力するように構成された第2のバンク要求調停ユニットと、
をさらに備える、請求項8に記載のレジスタファイルユニット。 - 前記第2の収集ユニットに結合され、かつ、前記第1の収集ユニット及び前記第2の収集ユニットと前記第1のスレッド及び前記第2のスレッドとを調停し、前記第1のスレッドの前記プログラム命令および前記第1のスレッドの前記プログラム命令によって指定された任意のオペランドまたは前記第2のスレッドの前記プログラム命令および前記第2のスレッドの前記プログラム命令によって指定された任意のオペランドを出力するように構成されたディスパッチャーユニットをさらに備える、請求項8に記載のレジスタファイルユニット。
- 前記ディスパッチャーユニットによって出力された任意のプログラム命令を実行するように構成された実行ユニットをさらに備え、前記ディスパッチャーユニットは、当該ディスパッチャーユニットによって前記第1の収集ユニットと前記第2の収集ユニットとの間に確立された優先順位に基づいて、前記実行ユニットにオペランドを出力する、請求項11に記載のレジスタファイルユニット。
- 前記第1の収集ユニットによって出力された任意のプログラム命令を実行するように構成された実行ユニットをさらに備える、請求項11に記載のレジスタファイルユニット。
- 前記第1のメモリーバンク及び前記第2のメモリーバンクのそれぞれと、前記第1の収集ユニット及び前記第2の収集ユニットのそれぞれとの間に接続され、メモリーバンク内に記憶されていないソースデータを受け取り、前記第1の収集ユニット及び前記第2の収集ユニットに前記ソースデータを提供するセレクタユニットをさらに備える請求項8に記載のレジスタファイルユニット。
- 前記第1の収集ユニット及び前記第2の収集ユニットから前記命令及び前記オペランドを受け取ると共に、前記命令によってデスティネーションオペランドが指定された場合に、前記第1のメモリーバンク及び前記第2のメモリーバンクの一方に書き込み要求を出力するための実行ユニットをさらに備える請求項8に記載のレジスタファイルユニット。
- 複数の追加のメモリーバンク及び複数の追加の収集ユニットを備え、当該複数の追加のメモリーバンクの数と当該複数の追加の収集ユニットの数は異なり、前記クロスバユニットは、いずれかのメモリーバンクから出力されるオペランドを、前記第1の収集ユニット及び前記第2の収集ユニットのうちのいずれかの入力へルーティングできるように構成されている請求項9に記載のレジスタファイルユニット。
- 前記第1のスレッド及び前記第2のスレッドのそれぞれに割り付けられる前記数のレジスタが、いくつかの部分に分割され、それらの部分が、前記一組のメモリーバンク内に存在する1つのメモリーバンク内に全て割り付けられる、又は、前記一組のメモリーバンク内に存在する全てのメモリーバンクの間で等しく割り付けられ、
前記一組のメモリーバンク内に存在する前記1つのメモリーバンクは、割り付けのために次に利用可能なレジスタを指示するレジスタベースアドレス、割り付け方式、及び、割り付けられる次のレジスタにおけるレジスタベースアドレスを記憶する請求項1に記載の方法。 - 1つ以上のスレッドに割り付けられる前記数のレジスタが、いくつかの部分に分割され、前記レジスタは、厚い割り付け又は薄い割り付けに基づいて割り付けられ、メモリーバンクにおける前記厚い割り付けは、当該メモリーバンクの一端から開始され、当該メモリーバンクにおける前記薄い割り付けは、当該メモリーバンクの他端から開始される請求項1に記載の方法。
- スレッドを処理するために必要なレジスタの数を決定すると共に、厚い割り付けが使用されるべきか、薄い割り付けが使用されるべきかを決定するためのレジスタアドレスユニットを備え、
前記レジスタアドレスユニットは、前記第1のメモリーバンク及び前記第2のメモリーバンク内において割り付け可能な最初のロケーションを指示するベースポインタを更新するようにさらに構成されている請求項8に記載のレジスタファイルユニット。 - 前記レジスタアドレスユニットは、次に続くスレッドに割り付けられるオペランドに割り当てられるレジスタが、既に割り付けられたレジスタに対してスキューされるように、必要なレジスタの数を決定した後に位相値を更新するようにさらに構成されている請求項19に記載のレジスタファイルユニット。
- 前記第1の収集ユニット及び前記第2の収集ユニットのそれぞれが、前記第1のスレッド及び前記第2のスレッドのうちの任意のスレッド内の実行すべきプログラム命令のためのオペランドを前記複数のメモリーバンクのうちの2以上のメモリーバンクから収集するように、前記第1のメモリーバンク及び前記第2のメモリーバンクのうちの任意のメモリーバンク内にある前記第1のオペランド及び前記第2のオペランドのうちの任意のオペランドは、前記クロスバを通して、前記第1の収集ユニット及び前記第2の収集ユニットのうちの任意の収集ユニットに送られることができる請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/889,730 US7339592B2 (en) | 2004-07-13 | 2004-07-13 | Simulating multiported memories using lower port count memories |
PCT/US2005/024164 WO2006017135A2 (en) | 2004-07-13 | 2005-07-07 | Simulating multiported memories using memories with lower port count |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011154233A Division JP5422614B2 (ja) | 2004-07-13 | 2011-07-12 | 低ポート数メモリーを用いたマルチポートメモリーのシミュレート |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008507034A JP2008507034A (ja) | 2008-03-06 |
JP2008507034A5 true JP2008507034A5 (ja) | 2010-09-16 |
Family
ID=34973122
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007521508A Pending JP2008507034A (ja) | 2004-07-13 | 2005-07-07 | 下位ポートカウントメモリーを用いたマルチポートメモリーのシミュレート |
JP2011154233A Active JP5422614B2 (ja) | 2004-07-13 | 2011-07-12 | 低ポート数メモリーを用いたマルチポートメモリーのシミュレート |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011154233A Active JP5422614B2 (ja) | 2004-07-13 | 2011-07-12 | 低ポート数メモリーを用いたマルチポートメモリーのシミュレート |
Country Status (6)
Country | Link |
---|---|
US (2) | US7339592B2 (ja) |
JP (2) | JP2008507034A (ja) |
KR (1) | KR100862124B1 (ja) |
CN (1) | CN101014933B (ja) |
TW (1) | TWI441021B (ja) |
WO (1) | WO2006017135A2 (ja) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634621B1 (en) * | 2004-07-13 | 2009-12-15 | Nvidia Corporation | Register file allocation |
US7339592B2 (en) | 2004-07-13 | 2008-03-04 | Nvidia Corporation | Simulating multiported memories using lower port count memories |
US7360035B2 (en) | 2004-09-01 | 2008-04-15 | International Business Machines Corporation | Atomic read/write support in a multi-module memory configuration |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
EP2477109B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US8766995B2 (en) * | 2006-04-26 | 2014-07-01 | Qualcomm Incorporated | Graphics system with configurable caches |
US20070268289A1 (en) * | 2006-05-16 | 2007-11-22 | Chun Yu | Graphics system with dynamic reposition of depth engine |
US8884972B2 (en) * | 2006-05-25 | 2014-11-11 | Qualcomm Incorporated | Graphics processor with arithmetic and elementary function units |
US8869147B2 (en) * | 2006-05-31 | 2014-10-21 | Qualcomm Incorporated | Multi-threaded processor with deferred thread output control |
US8644643B2 (en) | 2006-06-14 | 2014-02-04 | Qualcomm Incorporated | Convolution filtering in a graphics processor |
US8766996B2 (en) * | 2006-06-21 | 2014-07-01 | Qualcomm Incorporated | Unified virtual addressed register file |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US8725991B2 (en) | 2007-09-12 | 2014-05-13 | Qualcomm Incorporated | Register file system and method for pipelined processing |
US7945764B2 (en) * | 2008-01-11 | 2011-05-17 | International Business Machines Corporation | Processing unit incorporating multirate execution unit |
US20090189896A1 (en) * | 2008-01-25 | 2009-07-30 | Via Technologies, Inc. | Graphics Processor having Unified Shader Unit |
US8689217B2 (en) | 2008-10-31 | 2014-04-01 | Electronics And Telecommunications Research Institute | System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes |
KR101102930B1 (ko) * | 2008-10-31 | 2012-01-10 | 한국전자통신연구원 | 로봇용 소프트웨어 컴포넌트 장치 및 이를 이용한 쓰레드 처리 방법 |
US8370557B2 (en) * | 2008-12-19 | 2013-02-05 | Intel Corporation | Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory |
US8386808B2 (en) * | 2008-12-22 | 2013-02-26 | Intel Corporation | Adaptive power budget allocation between multiple components in a computing system |
US8458446B2 (en) * | 2009-09-30 | 2013-06-04 | Oracle America, Inc. | Accessing a multibank register file using a thread identifier |
KR20110103256A (ko) * | 2010-03-12 | 2011-09-20 | 삼성전자주식회사 | 다중 입출력 오퍼레이션 지원 프로세서 및 그 방법 |
US8832671B1 (en) * | 2010-07-07 | 2014-09-09 | Nvidia Corporation | Conflict-free register allocation |
US8555035B1 (en) | 2010-07-07 | 2013-10-08 | Nvidia Corporation | Conflict-free register allocation using a multi-bank register file with input operand alignment |
US20120066471A1 (en) * | 2010-09-14 | 2012-03-15 | Advanced Micro Devices, Inc. | Allocation of memory buffers based on preferred memory performance |
US20120066444A1 (en) * | 2010-09-14 | 2012-03-15 | Advanced Micro Devices, Inc. | Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
US8787368B2 (en) * | 2010-12-07 | 2014-07-22 | Advanced Micro Devices, Inc. | Crossbar switch with primary and secondary pickers |
TWI533129B (zh) | 2011-03-25 | 2016-05-11 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊 |
US9274793B2 (en) | 2011-03-25 | 2016-03-01 | Soft Machines, Inc. | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
US20120254589A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | System, apparatus, and method for aligning registers |
EP2710481B1 (en) | 2011-05-20 | 2021-02-17 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
KR101639854B1 (ko) * | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조 |
US8819379B2 (en) | 2011-11-15 | 2014-08-26 | Memory Technologies Llc | Allocating memory based on performance ranking |
EP2783281B1 (en) | 2011-11-22 | 2020-05-13 | Intel Corporation | A microprocessor accelerated code optimizer |
KR101842550B1 (ko) | 2011-11-22 | 2018-03-28 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
US8639882B2 (en) * | 2011-12-14 | 2014-01-28 | Nvidia Corporation | Methods and apparatus for source operand collector caching |
US9626191B2 (en) * | 2011-12-22 | 2017-04-18 | Nvidia Corporation | Shaped register file reads |
US9606808B2 (en) * | 2012-01-11 | 2017-03-28 | Nvidia Corporation | Method and system for resolving thread divergences |
US9158683B2 (en) * | 2012-08-09 | 2015-10-13 | Texas Instruments Incorporated | Multiport memory emulation using single-port memory devices |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9489316B2 (en) * | 2013-03-15 | 2016-11-08 | Freescale Semiconductor, Inc. | Method and device implementing execute-only memory protection |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9508112B2 (en) * | 2013-07-31 | 2016-11-29 | Apple Inc. | Multi-threaded GPU pipeline |
US9377968B2 (en) | 2013-11-13 | 2016-06-28 | Sandisk Technologies Llc | Method and system for using templates to communicate with non-volatile memory |
US9430411B2 (en) | 2013-11-13 | 2016-08-30 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory |
US9390033B2 (en) | 2013-11-13 | 2016-07-12 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory via multiple data paths |
KR20150056373A (ko) * | 2013-11-15 | 2015-05-26 | 삼성전자주식회사 | 순차적 수행 방식의 멀티스레드 프로세싱 장치 및 방법 |
US9201636B2 (en) | 2013-11-21 | 2015-12-01 | National Tsing Hua University | Method for divergence analysis of pointer-based program |
US9141291B2 (en) | 2013-11-26 | 2015-09-22 | Sandisk Technologies Inc. | Adaptive context disbursement for improved performance in non-volatile memory systems |
US9437172B2 (en) * | 2014-08-19 | 2016-09-06 | Apple Inc. | High-speed low-power access to register files |
KR102357863B1 (ko) * | 2014-12-15 | 2022-02-04 | 삼성전자주식회사 | 메모리 접근 방법 및 장치 |
GB2540971B (en) * | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
US10089115B2 (en) | 2016-07-07 | 2018-10-02 | Intel Corporation | Apparatus to optimize GPU thread shared local memory access |
US9747106B1 (en) | 2016-09-30 | 2017-08-29 | International Business Machines Corporation | Allocating multiple operand data areas of a computer instruction within a program buffer |
US20200012531A1 (en) * | 2017-04-01 | 2020-01-09 | Intel Corporation | Execution unit-shared hybrid technique for accelerated computing on graphics processors |
US10521880B2 (en) | 2017-04-17 | 2019-12-31 | Intel Corporation | Adaptive compute size per workload |
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 |
US10467724B1 (en) * | 2018-02-14 | 2019-11-05 | Apple Inc. | Fast determination of workgroup batches from multi-dimensional kernels |
CN111459543B (zh) * | 2019-01-21 | 2022-09-13 | 上海登临科技有限公司 | 一种管理寄存器文件单元的方法 |
KR102201352B1 (ko) * | 2019-04-03 | 2021-01-08 | 연세대학교 산학협력단 | 스핀 전달 토크 랜덤 액세스 메모리 기반의 계층적 레지스터 파일 장치 |
US20220121486A1 (en) * | 2020-10-20 | 2022-04-21 | Micron Technology, Inc. | Rescheduling a failed memory request in a processor |
US20220197649A1 (en) * | 2020-12-22 | 2022-06-23 | Advanced Micro Devices, Inc. | General purpose register hierarchy system and method |
CN115934102B (zh) * | 2022-12-29 | 2023-12-12 | 格兰菲智能科技有限公司 | 通用寄存器动态分配方法、装置、计算机设备和存储介质 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US41228A (en) * | 1864-01-12 | Improved refrigerating dish-cover | ||
US163699A (en) * | 1875-05-25 | Improvement in ruffling attachments for sewing-machines | ||
US80512A (en) * | 1868-07-28 | John shellabergeb | ||
US103990A (en) * | 1870-06-07 | Improvement in liquid-meters | ||
US12603A (en) * | 1855-03-27 | Improvement in seed-planters | ||
US4532589A (en) * | 1981-12-02 | 1985-07-30 | Hitachi, Ltd. | Digital data processor with two operation units |
JPS61269773A (ja) * | 1985-05-24 | 1986-11-29 | Fujitsu Ltd | ベクトル命令実行制御方式 |
JP2545789B2 (ja) * | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
US4964042A (en) * | 1988-08-12 | 1990-10-16 | Harris Corporation | Static dataflow computer with a plurality of control structures simultaneously and continuously monitoring first and second communication channels |
JPH0331937A (ja) * | 1989-06-29 | 1991-02-12 | Mitsubishi Electric Corp | マイクロプロセッサ |
US6091430A (en) * | 1993-03-31 | 2000-07-18 | International Business Machines Corporation | Simultaneous high resolution display within multiple virtual DOS applications in a data processing system |
JPH06332721A (ja) * | 1993-05-24 | 1994-12-02 | Hitachi Ltd | レジスタの使用方法 |
GB2287108B (en) * | 1994-02-28 | 1998-05-13 | Intel Corp | Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path |
US6154826A (en) * | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
US5701426A (en) * | 1995-03-31 | 1997-12-23 | Bull Information Systems Inc. | Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio |
US5644780A (en) * | 1995-06-02 | 1997-07-01 | International Business Machines Corporation | Multiple port high speed register file with interleaved write ports for use with very long instruction word (vlin) and n-way superscaler processors |
US6167486A (en) * | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
JP3087696B2 (ja) * | 1997-07-25 | 2000-09-11 | 日本電気株式会社 | 分散メモリ型マルチプロセッサ・システム制御方法およびコンピュータ読み取り可能な記録媒体 |
US5913049A (en) * | 1997-07-31 | 1999-06-15 | Texas Instruments Incorporated | Multi-stream complex instruction set microprocessor |
JPH11184674A (ja) * | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | レジスタファイル |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6317820B1 (en) | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
JP3880739B2 (ja) * | 1999-02-25 | 2007-02-14 | 三菱電機株式会社 | オペレーティングシステムの処理方式及びオペレーティングシステムの処理方法 |
US6438557B1 (en) * | 1999-06-23 | 2002-08-20 | Ericsson Inc. | System and method for performing context switching and rescheduling of a processor |
JP2001167084A (ja) * | 1999-12-08 | 2001-06-22 | Nec Kofu Ltd | ベクトル演算処理装置及びベクトルデータ移送方法 |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US6615340B1 (en) * | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
US20020103990A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Programmed load precession machine |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US6795889B2 (en) * | 2002-01-09 | 2004-09-21 | International Business Machines Corporation | Method and apparatus for multi-path data storage and retrieval |
JP3727887B2 (ja) * | 2002-02-19 | 2005-12-21 | 富士通株式会社 | マルチスレッドプロセッサにおける共有レジスタファイル制御方式 |
US6833831B2 (en) * | 2002-02-26 | 2004-12-21 | Sun Microsystems, Inc. | Synchronizing data streams in a graphics processor |
US7398374B2 (en) * | 2002-02-27 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Multi-cluster processor for processing instructions of one or more instruction threads |
ATE443887T1 (de) * | 2002-04-10 | 2009-10-15 | Nxp Bv | Datenverarbeitungssystem mit mehreren registerbänke |
US7336283B2 (en) * | 2002-10-24 | 2008-02-26 | Hewlett-Packard Development Company, L.P. | Efficient hardware A-buffer using three-dimensional allocation of fragment memory |
JP2004178427A (ja) * | 2002-11-28 | 2004-06-24 | Toshiba Microelectronics Corp | 中央処理装置 |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US7339592B2 (en) | 2004-07-13 | 2008-03-04 | Nvidia Corporation | Simulating multiported memories using lower port count memories |
-
2004
- 2004-07-13 US US10/889,730 patent/US7339592B2/en active Active
-
2005
- 2005-07-07 CN CN2005800298490A patent/CN101014933B/zh active Active
- 2005-07-07 WO PCT/US2005/024164 patent/WO2006017135A2/en active Application Filing
- 2005-07-07 JP JP2007521508A patent/JP2008507034A/ja active Pending
- 2005-07-07 KR KR1020077003498A patent/KR100862124B1/ko active IP Right Grant
- 2005-07-12 TW TW094123642A patent/TWI441021B/zh active
-
2006
- 2006-11-01 US US11/555,649 patent/US7834881B2/en active Active
-
2011
- 2011-07-12 JP JP2011154233A patent/JP5422614B2/ja active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008507034A5 (ja) | ||
JP5422614B2 (ja) | 低ポート数メモリーを用いたマルチポートメモリーのシミュレート | |
JP3561915B2 (ja) | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 | |
CN100378655C (zh) | 并行处理器中的多线程执行 | |
EP1247168B1 (en) | Memory shared between processing threads | |
CN100367257C (zh) | 并行处理器体系结构的sdram控制器 | |
TWI498819B (zh) | 執行成型記憶體存取作業的系統和方法 | |
EP2350843A2 (en) | Data processing circuit with arbitration between a plurality of queues | |
KR940015852A (ko) | 긴 명령 워드를 갖는 처리기 | |
CN103365631A (zh) | 用于存储器访问的动态库模式寻址 | |
US20120079200A1 (en) | Unified streaming multiprocessor memory | |
US20150121037A1 (en) | Computing architecture and method for processing data | |
EP1760581A1 (en) | Processing operations management systems and methods | |
JP2009505180A (ja) | 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法 | |
JP2001043180A (ja) | マイクロプロセッサおよびそのための記憶装置 | |
CN111459543B (zh) | 一种管理寄存器文件单元的方法 | |
US20100325631A1 (en) | Method and apparatus for increasing load bandwidth | |
US10073783B2 (en) | Dual mode local data store | |
US7315935B1 (en) | Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots | |
US10409610B2 (en) | Method and apparatus for inter-lane thread migration | |
US8478946B2 (en) | Method and system for local data sharing | |
CA2420785C (en) | Computer system for processing instructions each containing a group of operations to be executed out of order | |
JP4868255B2 (ja) | プロセッサ、プロセッサの制御方法及び情報処理装置 | |
JP6432348B2 (ja) | 演算装置及び演算方法 | |
WO2017036041A1 (zh) | 数据的同步访问方法和同步访问装置 |