DE112011100715T8 - Hardware-hilfs-thread - Google Patents

Hardware-hilfs-thread Download PDF

Info

Publication number
DE112011100715T8
DE112011100715T8 DE112011100715T DE112011100715T DE112011100715T8 DE 112011100715 T8 DE112011100715 T8 DE 112011100715T8 DE 112011100715 T DE112011100715 T DE 112011100715T DE 112011100715 T DE112011100715 T DE 112011100715T DE 112011100715 T8 DE112011100715 T8 DE 112011100715T8
Authority
DE
Germany
Prior art keywords
thread
hardware assist
assist
hardware
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.)
Ceased
Application number
DE112011100715T
Other languages
English (en)
Other versions
DE112011100715T5 (de
Inventor
Ronald Hall
Balaram Sinharoy
Raul Esteban Silvera
Hung Qui Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011100715T5 publication Critical patent/DE112011100715T5/de
Application granted granted Critical
Publication of DE112011100715T8 publication Critical patent/DE112011100715T8/de
Ceased legal-status Critical Current

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 or 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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 or look ahead
    • 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 or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
DE112011100715T 2010-05-12 2011-05-04 Hardware-hilfs-thread Ceased DE112011100715T8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/778,192 US8423750B2 (en) 2010-05-12 2010-05-12 Hardware assist thread for increasing code parallelism
US12/778,192 2010-05-12
PCT/EP2011/057106 WO2011141337A1 (en) 2010-05-12 2011-05-04 Hardware assist thread

Publications (2)

Publication Number Publication Date
DE112011100715T5 DE112011100715T5 (de) 2013-01-24
DE112011100715T8 true DE112011100715T8 (de) 2013-03-28

Family

ID=44070029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011100715T Ceased DE112011100715T8 (de) 2010-05-12 2011-05-04 Hardware-hilfs-thread

Country Status (5)

Country Link
US (2) US8423750B2 (de)
DE (1) DE112011100715T8 (de)
GB (1) GB2494331B (de)
TW (1) TW201203111A (de)
WO (1) WO2011141337A1 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423750B2 (en) 2010-05-12 2013-04-16 International Business Machines Corporation Hardware assist thread for increasing code parallelism
US8453161B2 (en) * 2010-05-25 2013-05-28 International Business Machines Corporation Method and apparatus for efficient helper thread state initialization using inter-thread register copy
US8667253B2 (en) 2010-08-04 2014-03-04 International Business Machines Corporation Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register
US8793474B2 (en) 2010-09-20 2014-07-29 International Business Machines Corporation Obtaining and releasing hardware threads without hypervisor involvement
US8713290B2 (en) 2010-09-20 2014-04-29 International Business Machines Corporation Scaleable status tracking of multiple assist hardware threads
US8661449B2 (en) * 2011-06-17 2014-02-25 Microsoft Corporation Transactional computation on clusters
GB2490374B (en) * 2011-09-30 2013-08-07 Avecto Ltd Method and apparatus for controlling access to a resource in a computer device
US9324126B2 (en) 2012-03-20 2016-04-26 Massively Parallel Technologies, Inc. Automated latency management and cross-communication exchange conversion
US8959494B2 (en) 2012-03-20 2015-02-17 Massively Parallel Technologies Inc. Parallelism from functional decomposition
US9977655B2 (en) 2012-03-20 2018-05-22 Massively Parallel Technologies, Inc. System and method for automatic extraction of software design from requirements
US9424168B2 (en) 2012-03-20 2016-08-23 Massively Parallel Technologies, Inc. System and method for automatic generation of software test
US8762946B2 (en) * 2012-03-20 2014-06-24 Massively Parallel Technologies, Inc. Method for automatic extraction of designs from standard source code
US9146709B2 (en) 2012-06-08 2015-09-29 Massively Parallel Technologies, Inc. System and method for automatic detection of decomposition errors
US8893080B2 (en) * 2012-08-15 2014-11-18 Telefonaktiebolaget L M Ericsson (Publ) Parallelization of dataflow actors with local state
US9274832B2 (en) * 2013-02-07 2016-03-01 Htc Corporation Method and electronic device for thread scheduling
US9465594B2 (en) * 2013-02-27 2016-10-11 Hewlett Packard Enterprise Development Lp Distributed implementation of sequential code that includes a future
US9448803B2 (en) 2013-03-11 2016-09-20 Nvidia Corporation System and method for hardware scheduling of conditional barriers and impatient barriers
US9229688B2 (en) 2013-03-14 2016-01-05 Massively Parallel Technologies, Inc. Automated latency management and cross-communication exchange conversion
US9442755B2 (en) 2013-03-15 2016-09-13 Nvidia Corporation System and method for hardware scheduling of indexed barriers
US9697005B2 (en) * 2013-12-04 2017-07-04 Analog Devices, Inc. Thread offset counter
US9715411B2 (en) * 2014-02-05 2017-07-25 International Business Machines Corporation Techniques for mapping logical threads to physical threads in a simultaneous multithreading data processing system
FR3021429B1 (fr) * 2014-05-23 2018-05-18 Kalray Barriere de synchronisation materielle entre elements de traitement
US9715392B2 (en) 2014-08-29 2017-07-25 Qualcomm Incorporated Multiple clustered very long instruction word processing core
US20160147536A1 (en) * 2014-11-24 2016-05-26 International Business Machines Corporation Transitioning the Processor Core from Thread to Lane Mode and Enabling Data Transfer Between the Two Modes
KR20160070512A (ko) 2014-12-10 2016-06-20 삼성전자주식회사 반도체 장치 및 그 동작 방법
US10013279B2 (en) 2015-07-28 2018-07-03 International Business Machines Corporation Processing interrupt requests
US10423330B2 (en) * 2015-07-29 2019-09-24 International Business Machines Corporation Data collection in a multi-threaded processor
TWI564807B (zh) 2015-11-16 2017-01-01 財團法人工業技術研究院 排程方法及應用其的處理裝置
GB2569098B (en) * 2017-10-20 2020-01-08 Graphcore Ltd Combining states of multiple threads in a multi-threaded processor
CN109117260B (zh) * 2018-08-30 2021-01-01 百度在线网络技术(北京)有限公司 一种任务调度方法、装置、设备和介质
US11061681B2 (en) * 2019-07-25 2021-07-13 International Business Machines Corporation Instruction streaming using copy select vector
US11301254B2 (en) * 2019-07-25 2022-04-12 International Business Machines Corporation Instruction streaming using state migration
US11455121B2 (en) * 2020-01-22 2022-09-27 International Business Machines Corporation Selecting data nodes for WAN caching in a hybrid cloud environment
CN113286174B (zh) * 2021-05-21 2022-11-08 浙江商汤科技开发有限公司 视频抽帧方法、装置、电子设备、计算机可读存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928645B2 (en) 2001-03-30 2005-08-09 Intel Corporation Software-based speculative pre-computation and multithreading
US7653912B2 (en) * 2003-05-30 2010-01-26 Steven Frank Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations
GB0320386D0 (en) * 2003-08-30 2003-10-01 Ibm A method, apparatus and computer program for executing a program
US7404067B2 (en) * 2003-09-08 2008-07-22 Intel Corporation Method and apparatus for efficient utilization for prescient instruction prefetch
US20050071438A1 (en) * 2003-09-30 2005-03-31 Shih-Wei Liao Methods and apparatuses for compiler-creating helper threads for multi-threading
US7328433B2 (en) 2003-10-02 2008-02-05 Intel Corporation Methods and apparatus for reducing memory latency in a software application
US7631307B2 (en) 2003-12-05 2009-12-08 Intel Corporation User-programmable low-overhead multithreading
US7689989B2 (en) 2004-12-28 2010-03-30 Sap Ag Thread monitoring using shared memory
US7950012B2 (en) 2005-03-16 2011-05-24 Oracle America, Inc. Facilitating communication and synchronization between main and scout threads
US7913255B2 (en) 2005-10-20 2011-03-22 Qualcomm Incorporated Background thread processing in a multithread digital signal processor
US7707388B2 (en) * 2005-11-29 2010-04-27 Xmtt Inc. Computer memory architecture for hybrid serial and parallel computing systems
US7730263B2 (en) * 2006-01-20 2010-06-01 Cornell Research Foundation, Inc. Future execution prefetching technique and architecture
US8595744B2 (en) 2006-05-18 2013-11-26 Oracle America, Inc. Anticipatory helper thread based code execution
US20080046689A1 (en) * 2006-08-21 2008-02-21 Tien-Fu Chen Method and apparatus for cooperative multithreading
US20080141268A1 (en) 2006-12-12 2008-06-12 Tirumalai Partha P Utility function execution using scout threads
US7937565B2 (en) 2007-02-21 2011-05-03 Hewlett-Packard Development Company, L.P. Method and system for data speculation on multicore systems
US8161480B2 (en) * 2007-05-29 2012-04-17 International Business Machines Corporation Performing an allreduce operation using shared memory
US8423750B2 (en) 2010-05-12 2013-04-16 International Business Machines Corporation Hardware assist thread for increasing code parallelism

Also Published As

Publication number Publication date
US8423750B2 (en) 2013-04-16
US20110283095A1 (en) 2011-11-17
GB2494331A (en) 2013-03-06
GB2494331B (en) 2018-03-07
WO2011141337A1 (en) 2011-11-17
DE112011100715T5 (de) 2013-01-24
US20120254594A1 (en) 2012-10-04
US9037837B2 (en) 2015-05-19
TW201203111A (en) 2012-01-16

Similar Documents

Publication Publication Date Title
NL301146I1 (nl) Vericiguat
NO2021011I1 (no) baloksavirmarboksil
DE112011100715T8 (de) Hardware-hilfs-thread
BR112012028556A2 (pt) Indóis
DE102011100241A8 (de) Nitridhalbleiterbauteil
DK3225404T3 (da) Fluidpatron
CR20130111A (es) Triazina-oxidiazoles
DE10170954T8 (de) Mikrowellendruckgarer
DE112011104226A5 (de) Käfigmutter
DE102011117046A8 (de) Doppelkupplungswindungsgetriebe
DE112011101226A5 (de) Linearwegmesssystem
DE112011102080A5 (de) Kupplungszentralausrücker
DK2539163T3 (da) Dækventil
DK2442899T3 (da) Rotorskive
DE102011002623A8 (de) Ventilsteuerzeitversteller
DE112011102711A5 (de) Hydrostataktor
DK2448659T3 (da) Rotorskive
DK2447426T3 (da) Vaske-WC
DE102010019119B8 (de) Cuttermesser
DE112010005518A5 (de) Dichtungsmanchette
DE102010038420A8 (de) Reinigungungsvorrichtung
DK2596072T3 (da) Bor-forbindelses-suspension
DK2521486T3 (da) Palpometer
DE112011101796A5 (de) Redoxakkumulatoranlage
DE102010035554B8 (de) Fußtüröffner

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final