ATE552551T1 - Verfahren, vorrichtung und computerprogrammprodukt zum handhaben des umschaltens zwischen threads auf einem multithread-prozessor - Google Patents

Verfahren, vorrichtung und computerprogrammprodukt zum handhaben des umschaltens zwischen threads auf einem multithread-prozessor

Info

Publication number
ATE552551T1
ATE552551T1 AT07016002T AT07016002T ATE552551T1 AT E552551 T1 ATE552551 T1 AT E552551T1 AT 07016002 T AT07016002 T AT 07016002T AT 07016002 T AT07016002 T AT 07016002T AT E552551 T1 ATE552551 T1 AT E552551T1
Authority
AT
Austria
Prior art keywords
instruction execution
execution thread
switching
threads
handing
Prior art date
Application number
AT07016002T
Other languages
English (en)
Inventor
Jack Kang
Hsi-Cheng Chu
Original Assignee
Marvell World Trade Ltd
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 Marvell World Trade Ltd filed Critical Marvell World Trade Ltd
Application granted granted Critical
Publication of ATE552551T1 publication Critical patent/ATE552551T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

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)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
AT07016002T 2006-08-14 2007-08-14 Verfahren, vorrichtung und computerprogrammprodukt zum handhaben des umschaltens zwischen threads auf einem multithread-prozessor ATE552551T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82234706P 2006-08-14 2006-08-14
US11/836,044 US8032737B2 (en) 2006-08-14 2007-08-08 Methods and apparatus for handling switching among threads within a multithread processor

Publications (1)

Publication Number Publication Date
ATE552551T1 true ATE552551T1 (de) 2012-04-15

Family

ID=38694957

Family Applications (1)

Application Number Title Priority Date Filing Date
AT07016002T ATE552551T1 (de) 2006-08-14 2007-08-14 Verfahren, vorrichtung und computerprogrammprodukt zum handhaben des umschaltens zwischen threads auf einem multithread-prozessor

Country Status (4)

Country Link
US (2) US8032737B2 (de)
EP (1) EP1890225B1 (de)
AT (1) ATE552551T1 (de)
WO (1) WO2008021445A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214574B2 (en) * 2006-09-08 2012-07-03 Intel Corporation Event handling for architectural events at high privilege levels
JP5463076B2 (ja) * 2009-05-28 2014-04-09 パナソニック株式会社 マルチスレッドプロセッサ
FR2957433B1 (fr) * 2010-03-11 2016-01-15 Bull Sas Procede de configuration d'un systeme informatique, programme d'ordinateur et systeme informatique correspondants
WO2014108747A1 (en) * 2013-01-10 2014-07-17 Freescale Semiconductor, Inc. Integrated circuit processor and method of operating a integrated circuit processor
US10158585B2 (en) 2013-02-21 2018-12-18 Intel Corporation Packet processing with reduced latency
US9471318B2 (en) 2013-03-15 2016-10-18 International Business Machines Corporation System management and instruction counting
US9354883B2 (en) * 2014-03-27 2016-05-31 International Business Machines Corporation Dynamic enablement of multithreading
US10445133B2 (en) 2016-03-04 2019-10-15 Nxp Usa, Inc. Data processing system having dynamic thread control
CN108628639B (zh) 2017-03-21 2021-02-12 华为技术有限公司 处理器和指令调度方法
US20230169163A1 (en) * 2021-11-29 2023-06-01 Nxp B.V. Software isolation using event driven multi-threading

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490272A (en) * 1994-01-28 1996-02-06 International Business Machines Corporation Method and apparatus for creating multithreaded time slices in a multitasking operating system
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
US6076157A (en) 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6205414B1 (en) * 1998-10-02 2001-03-20 International Business Machines Corporation Methodology for emulation of multi-threaded processes in a single-threaded operating system
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US6542991B1 (en) 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US6671795B1 (en) * 2000-01-21 2003-12-30 Intel Corporation Method and apparatus for pausing execution in a processor or the like
US20020161957A1 (en) * 2001-02-09 2002-10-31 Guillaume Comeau Methods and systems for handling interrupts
US7210146B2 (en) * 2001-06-18 2007-04-24 Microsoft Corporation Sleep queue management
US7302684B2 (en) * 2001-06-18 2007-11-27 Microsoft Corporation Systems and methods for managing a run queue
JP3975703B2 (ja) * 2001-08-16 2007-09-12 日本電気株式会社 情報処理システムにおける優先実行制御方法及びその装置並びにプログラム
US7127561B2 (en) * 2001-12-31 2006-10-24 Intel Corporation Coherency techniques for suspending execution of a thread until a specified memory access occurs
US20030126416A1 (en) * 2001-12-31 2003-07-03 Marr Deborah T. Suspending execution of a thread in a multi-threaded processor
US7496915B2 (en) * 2003-04-24 2009-02-24 International Business Machines Corporation Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes
US20050108711A1 (en) * 2003-11-13 2005-05-19 Infineon Technologies North America Corporation Machine instruction for enhanced control of multiple virtual processor systems
DE10353267B3 (de) * 2003-11-14 2005-07-28 Infineon Technologies Ag Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Zykluszeitverlust und ohne Umschalt-Programmbefehl
DE10359949B4 (de) * 2003-12-19 2007-01-04 Infineon Technologies Ag Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Taktzyklusverlust, ohne Umschalt-Programmbefehl und ohne Erweiterung des Programmbefehlsformates
US7360203B2 (en) * 2004-02-06 2008-04-15 Infineon Technologies North America Corp. Program tracing in a multithreaded processor
US7263599B2 (en) * 2004-02-06 2007-08-28 Infineon Technologies Thread ID in a multithreaded processor
US7162666B2 (en) * 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
US7302554B2 (en) * 2004-04-22 2007-11-27 Sony Computer Entertainment Inc. Methods and apparatus for multi-processor pipeline parallelism
US20060146864A1 (en) * 2004-12-30 2006-07-06 Rosenbluth Mark B Flexible use of compute allocation in a multi-threaded compute engines
US7657883B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor
US7363450B1 (en) * 2005-06-01 2008-04-22 Sun Microsystems, Inc. Method and apparatus for estimating multithreaded processor throughput based on processor cache performance
US7457931B1 (en) * 2005-06-01 2008-11-25 Sun Microsystems, Inc. Method and apparatus for estimating the effect of processor cache memory bus delays on multithreaded processor throughput

Also Published As

Publication number Publication date
EP1890225A1 (de) 2008-02-20
US20120066479A1 (en) 2012-03-15
WO2008021445A1 (en) 2008-02-21
US8032737B2 (en) 2011-10-04
EP1890225B1 (de) 2012-04-04
US20080040579A1 (en) 2008-02-14
HK1120121A1 (en) 2009-03-20
US8478972B2 (en) 2013-07-02

Similar Documents

Publication Publication Date Title
ATE552551T1 (de) Verfahren, vorrichtung und computerprogrammprodukt zum handhaben des umschaltens zwischen threads auf einem multithread-prozessor
NL1024839A1 (nl) Een programmeerbaar gebeurtenis aangedreven opbrengstmechanisme dat andere processtromen kan activeren.
GB2485683A (en) Thread shift: Allocating threads to cores
IN2012DN00929A (de)
ATE540353T1 (de) Einteilen von threads in einem prozessor
GB2549883A (en) Advanced processor architecture
WO2006004826A3 (en) Apparatus and method for fine-grained multithreading in a multipipelined processor core
EP2645236A3 (de) Halbleiterbauelement
JP2016513300A5 (de)
DE602008000690D1 (de) Verfahren und Vorrichtung zur Aktivierung einer Laufzeitprozessormigration mit Betriebssystemunterstützung
GB201310833D0 (en) Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads
ATE554443T1 (de) Anweisungsgesteuerte datenverarbeitungseinrichtung und -verfahren
EP1855205A4 (de) Debugging-unterstützungsvorrichtung und programm, um einen computer zur durchführung eines debugging-verarbeitungsverfahrens zu veranlassen
GB2517877A (en) Controlling an order for processing data elements during vector processing
BRPI0907809A2 (pt) Aparelho e método de processamento de imagem e programa que faz um computador executar um processo
WO2008092883A3 (en) Speculative throughput computing
JP2011065651A5 (de)
JP2011028540A5 (ja) 情報処理システム
GB2514043A (en) Instruction Merging Optimization
BRPI1006013A2 (pt) aparelho e método de processamento de imagem, e, programa para fazer com que um computador para executar um processo.
WO2011063031A3 (en) Methods and apparatus for measuring performance of a multi-thread processor
HRP20190661T1 (hr) Filtriranje prekidanja programa kod provođenja transakcije
WO2014014944A3 (en) Managing multi-threaded operations in a multimedia authoring environment
DE602007002136D1 (de) Spinnmaschine mit Vorrichtung zur Beseitigung von Fadenlockerungen
JP2017097520A5 (de)