JP2008507034A5 - - Google Patents

Download PDF

Info

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
Application number
JP2007521508A
Other languages
English (en)
Other versions
JP2008507034A (ja
Filing date
Publication date
Priority claimed from US10/889,730 external-priority patent/US7339592B2/en
Application filed filed Critical
Publication of JP2008507034A publication Critical patent/JP2008507034A/ja
Publication of JP2008507034A5 publication Critical patent/JP2008507034A5/ja
Pending legal-status Critical Current

Links

Claims (21)

  1. 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のスレッドへ実行のためにディスパッチするステップと、
    を備える方法。
  2. 前記第1のスレッド及び前記第2のスレッドに割り付けられる前記数のレジスタが、いくつかの部分に分割され、それらの部分が、前記一組のメモリーバンク内に存在する2以上のメモリーバンク内に割り付けられる、請求項1に記載の方法。
  3. 前記第1のスレッド及び前記第2のスレッドに割り付けられる前記数のレジスタが、前記一組のメモリーバンク内に存在するただ1つのメモリーバンク内に配置される、請求項1に記載の方法。
  4. 前記数のレジスタの割り付けが、割り付け方式に基づくものであ当該割り付け方式は、厚い割り付け方式、又は、薄い割り付け方式である、請求項1に記載の方法。
  5. 前記第1のスレッド及び前記第2のスレッドに割り付けられるレジスタの前記数に基づいて前記割り付け方式を決定するステップをさらに備える、請求項4に記載の方法。
  6. 前記割り付け方式をドライバから受け取るステップをさらに備える、請求項4に記載の方法。
  7. 前記第1のスレッド及び前記第2のスレッドが同じ命令を処理するとき、前記第1のスレッド及び前記第2のスレッドが前記一組のメモリーバンクのうちの同一のメモリーバンクからオペランドを読み込まないように、前記第1のスレッド及び前記第2のスレッドのために割り付けられた一組のレジスタ内に存在するレジスタを、それぞれのレジスタを割り当てるための前記第1のスレッド及び前記第2のスレッドに関連する位相値を用いて、少なくとも1つのメモリーバンクに割り当てるステップをさらに備える、請求項1に記載の方法。
  8. グラフィックスプログラム命令のためのオペランドを複数のシングルポートメモリーへ記憶するための、及び、複数のシングルポートメモリーから出力するためのレジスタファイルユニットであって、
    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のメモリーバンク間に記憶及び配信される、レジスタファイルユニット。
  9. 前記第1の収集ユニット及び前記第2の収集ユニットのいずれか一方が、スレッドのためのオペランドを前記第1のメモリーバンク及び前記第2のメモリーバンクのいずれか一方から受け取るために、前記第1のメモリーバンク及び前記第2のメモリーバンク前記第1の収集ユニット及び前記第2の収集ユニットに結合するクロスバユニットをさらに備える、請求項に記載のレジスタファイルユニット
  10. オペランド読み出し要求を前記第1のメモリーバンクに出力するように構成された第1のバンク要求調停ユニットと、
    オペランド読み出し要求を前記第2のメモリーバンクに出力するように構成された第2のバンク要求調停ユニットと、
    をさらに備える、請求項に記載のレジスタファイルユニット
  11. 前記第2の収集ユニットに結合され、かつ、前記第1の収集ユニット及び前記第2の収集ユニットと前記第1のスレッド及び前記第2のスレッドとを調停し、前記第1のスレッドの前記プログラム命令および前記第1のスレッドの前記プログラム命令によって指定された任意のオペランドまたは前記第2のスレッドの前記プログラム命令および前記第2のスレッドの前記プログラム命令によって指定された任意のオペランドを出力するように構成されたディスパッチャーユニットをさらに備える、請求項に記載のレジスタファイルユニット
  12. 前記ディスパッチャーユニットによって出力された任意のプログラム命令を実行するように構成された実行ユニットをさらに備え、前記ディスパッチャーユニットは、当該ディスパッチャーユニットによって前記第1の収集ユニットと前記第2の収集ユニットとの間に確立された優先順位に基づいて、前記実行ユニットにオペランドを出力する、請求項11に記載のレジスタファイルユニット
  13. 前記第1の収集ユニットによって出力された任意のプログラム命令を実行するように構成された実行ユニットをさらに備える、請求項11に記載のレジスタファイルユニット
  14. 前記第1のメモリーバンク及び前記第2のメモリーバンクのそれぞれと、前記第1の収集ユニット及び前記第2の収集ユニットのそれぞれとの間に接続され、メモリーバンク内に記憶されていないソースデータを受け取り、前記第1の収集ユニット及び前記第2の収集ユニットに前記ソースデータを提供するセレクタユニットをさらに備える請求項8に記載のレジスタファイルユニット。
  15. 前記第1の収集ユニット及び前記第2の収集ユニットから前記命令及び前記オペランドを受け取ると共に、前記命令によってデスティネーションオペランドが指定された場合に、前記第1のメモリーバンク及び前記第2のメモリーバンクの一方に書き込み要求を出力するための実行ユニットをさらに備える請求項8に記載のレジスタファイルユニット。
  16. 複数の追加のメモリーバンク及び複数の追加の収集ユニットを備え、当該複数の追加のメモリーバンクの数と当該複数の追加の収集ユニットの数は異なり、前記クロスバユニットは、いずれかのメモリーバンクから出力されるオペランドを、前記第1の収集ユニット及び前記第2の収集ユニットのうちのいずれかの入力へルーティングできるように構成されている請求項9に記載のレジスタファイルユニット。
  17. 前記第1のスレッド及び前記第2のスレッドのそれぞれに割り付けられる前記数のレジスタが、いくつかの部分に分割され、それらの部分が、前記一組のメモリーバンク内に存在する1つのメモリーバンク内に全て割り付けられる、又は、前記一組のメモリーバンク内に存在する全てのメモリーバンクの間で等しく割り付けられ、
    前記一組のメモリーバンク内に存在する前記1つのメモリーバンクは、割り付けのために次に利用可能なレジスタを指示するレジスタベースアドレス、割り付け方式、及び、割り付けられる次のレジスタにおけるレジスタベースアドレスを記憶する請求項1に記載の方法。
  18. 1つ以上のスレッドに割り付けられる前記数のレジスタが、いくつかの部分に分割され、前記レジスタは、厚い割り付け又は薄い割り付けに基づいて割り付けられ、メモリーバンクにおける前記厚い割り付けは、当該メモリーバンクの一端から開始され、当該メモリーバンクにおける前記薄い割り付けは、当該メモリーバンクの他端から開始される請求項1に記載の方法。
  19. スレッドを処理するために必要なレジスタの数を決定すると共に、厚い割り付けが使用されるべきか、薄い割り付けが使用されるべきかを決定するためのレジスタアドレスユニットを備え、
    前記レジスタアドレスユニットは、前記第1のメモリーバンク及び前記第2のメモリーバンク内において割り付け可能な最初のロケーションを指示するベースポインタを更新するようにさらに構成されている請求項8に記載のレジスタファイルユニット。
  20. 前記レジスタアドレスユニットは、次に続くスレッドに割り付けられるオペランドに割り当てられるレジスタが、既に割り付けられたレジスタに対してスキューされるように、必要なレジスタの数を決定した後に位相値を更新するようにさらに構成されている請求項19に記載のレジスタファイルユニット。
  21. 前記第1の収集ユニット及び前記第2の収集ユニットのそれぞれが、前記第1のスレッド及び前記第2のスレッドのうちの任意のスレッド内の実行すべきプログラム命令のためのオペランドを前記複数のメモリーバンクのうちの2以上のメモリーバンクから収集するように、前記第1のメモリーバンク及び前記第2のメモリーバンクのうちの任意のメモリーバンク内にある前記第1のオペランド及び前記第2のオペランドのうちの任意のオペランドは、前記クロスバを通して、前記第1の収集ユニット及び前記第2の収集ユニットのうちの任意の収集ユニットに送られることができる請求項1に記載の方法。
JP2007521508A 2004-07-13 2005-07-07 下位ポートカウントメモリーを用いたマルチポートメモリーのシミュレート Pending JP2008507034A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 数据的同步访问方法和同步访问装置