TW200745953A - System and method for grouping execution threads - Google Patents

System and method for grouping execution threads

Info

Publication number
TW200745953A
TW200745953A TW095147158A TW95147158A TW200745953A TW 200745953 A TW200745953 A TW 200745953A TW 095147158 A TW095147158 A TW 095147158A TW 95147158 A TW95147158 A TW 95147158A TW 200745953 A TW200745953 A TW 200745953A
Authority
TW
Taiwan
Prior art keywords
thread
buddy
threads
hardware resources
execution threads
Prior art date
Application number
TW095147158A
Other languages
English (en)
Other versions
TWI338861B (en
Inventor
Brett W Coon
John Erik Lindholm
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW200745953A publication Critical patent/TW200745953A/zh
Application granted granted Critical
Publication of TWI338861B publication Critical patent/TWI338861B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
TW095147158A 2005-12-16 2006-12-15 System and method for grouping execution threads TWI338861B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/305,558 US20070143582A1 (en) 2005-12-16 2005-12-16 System and method for grouping execution threads

Publications (2)

Publication Number Publication Date
TW200745953A true TW200745953A (en) 2007-12-16
TWI338861B TWI338861B (en) 2011-03-11

Family

ID=38165749

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095147158A TWI338861B (en) 2005-12-16 2006-12-15 System and method for grouping execution threads

Country Status (4)

Country Link
US (1) US20070143582A1 (zh)
JP (1) JP4292198B2 (zh)
CN (1) CN1983196B (zh)
TW (1) TWI338861B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089564A1 (en) * 2006-12-06 2009-04-02 Brickell Ernie F Protecting a Branch Instruction from Side Channel Vulnerabilities
GB2451845B (en) * 2007-08-14 2010-03-17 Imagination Tech Ltd Compound instructions in a multi-threaded processor
JP5433676B2 (ja) 2009-02-24 2014-03-05 パナソニック株式会社 プロセッサ装置、マルチスレッドプロセッサ装置
US8589922B2 (en) 2010-10-08 2013-11-19 International Business Machines Corporation Performance monitor design for counting events generated by thread groups
US8601193B2 (en) 2010-10-08 2013-12-03 International Business Machines Corporation Performance monitor design for instruction profiling using shared counters
US8489787B2 (en) 2010-10-12 2013-07-16 International Business Machines Corporation Sharing sampled instruction address registers for efficient instruction sampling in massively multithreaded processors
US9152462B2 (en) 2011-05-19 2015-10-06 Nec Corporation Parallel processing device, parallel processing method, optimization device, optimization method and computer program
CN102520916B (zh) * 2011-11-28 2015-02-11 深圳中微电科技有限公司 在mvp处理器中消除纹理延迟和寄存器管理的方法
JP5894496B2 (ja) * 2012-05-01 2016-03-30 ルネサスエレクトロニクス株式会社 半導体装置
US9747107B2 (en) * 2012-11-05 2017-08-29 Nvidia Corporation System and method for compiling or runtime executing a fork-join data parallel program with function calls on a single-instruction-multiple-thread processor
US9086813B2 (en) * 2013-03-15 2015-07-21 Qualcomm Incorporated Method and apparatus to save and restore system memory management unit (MMU) contexts
KR20150019349A (ko) * 2013-08-13 2015-02-25 삼성전자주식회사 다중 쓰레드 실행 프로세서 및 이의 동작 방법
GB2524063B (en) 2014-03-13 2020-07-01 Advanced Risc Mach Ltd Data processing apparatus for executing an access instruction for N threads
GB2540937B (en) * 2015-07-30 2019-04-03 Advanced Risc Mach Ltd Graphics processing systems
GB2544994A (en) * 2015-12-02 2017-06-07 Swarm64 As Data processing
US11537397B2 (en) 2017-03-27 2022-12-27 Advanced Micro Devices, Inc. Compiler-assisted inter-SIMD-group register sharing
CN114035847B (zh) * 2021-11-08 2023-08-29 海飞科(南京)信息技术有限公司 用于并行执行核心程序的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092175A (en) * 1998-04-02 2000-07-18 University Of Washington Shared register storage mechanisms for multithreaded computer systems with out-of-order execution
US6735769B1 (en) * 2000-07-13 2004-05-11 International Business Machines Corporation Apparatus and method for initial load balancing in a multiple run queue system
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US7984268B2 (en) * 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7430654B2 (en) * 2003-07-09 2008-09-30 Via Technologies, Inc. Dynamic instruction dependency monitor and control system

Also Published As

Publication number Publication date
JP4292198B2 (ja) 2009-07-08
CN1983196B (zh) 2010-09-29
TWI338861B (en) 2011-03-11
JP2007200288A (ja) 2007-08-09
US20070143582A1 (en) 2007-06-21
CN1983196A (zh) 2007-06-20

Similar Documents

Publication Publication Date Title
TW200745953A (en) System and method for grouping execution threads
TW200632740A (en) Thread livelock unit
TW200707170A (en) Power management of multiple processors
TW200710675A (en) Methods and apparatus for resource management in a logically partitioned processing environment
WO2014070134A3 (en) Quorum-based virtual machine security
TW200713036A (en) Selecting multiple threads for substantially concurrent processing
TW200703026A (en) System and method of maintaining strict hardware affinity in a virtualized logical partitioned (LPAR) multiprocessor system while allowing one processor to donate excess processor cycles to other partitions when warranted
IN2012DN00929A (zh)
WO2005081104A3 (en) Methods and apparatus for processor task migration in a multi-processor system
WO2010077983A3 (en) Integrated mixed transport messaging system
WO2007084700A3 (en) System and method for thread handling in multithreaded parallel computing of nested threads
WO2008003930A3 (en) Techniques for program execution
MX2012012534A (es) Objetos sub-bufer.
GB2485683A (en) Thread shift: Allocating threads to cores
WO2011146540A3 (en) Sharing and synchronization of objects
GB2568816A8 (en) Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
BRPI0409710A (pt) método e lógica contábil para determinar a utilização de recurso de processador per-thread em um processador de múltiplos threads simultáneos (smt)
MY144449A (en) Performing diagnostic operations upon an asymmetric multiprocessor apparatus
GB2505818A (en) Graphics processor with non-blocking concurrent architecture
TW200622908A (en) System and method for sharing resources between real-time and virtualizing operating systems
GB201122094D0 (en) Providing state storage in a processor for system management mode
EP2624135A3 (en) Systems and methods for task grouping on multi-processors
BR112013019302A2 (pt) sistema de interação de localização múltipla e método para proporcionar experiência interativa a dois ou mais participantes localizados em um ou mais nós interativos
SG166014A1 (en) Server architecture for multi-core systems
BR112013032147A2 (pt) sistema de centro de chamadas e seu método de processamento de chamadas