WO2004036354A3 - Method and apparatus for high speed cross-thread interrupts in a multithreaded processor - Google Patents

Method and apparatus for high speed cross-thread interrupts in a multithreaded processor Download PDF

Info

Publication number
WO2004036354A3
WO2004036354A3 PCT/US2003/032322 US0332322W WO2004036354A3 WO 2004036354 A3 WO2004036354 A3 WO 2004036354A3 US 0332322 W US0332322 W US 0332322W WO 2004036354 A3 WO2004036354 A3 WO 2004036354A3
Authority
WO
WIPO (PCT)
Prior art keywords
thread
cross
interrupt
destination
multithreaded processor
Prior art date
Application number
PCT/US2003/032322
Other languages
French (fr)
Other versions
WO2004036354A2 (en
Inventor
Erdem Hokenek
Mayan Moudgill
Sean M Dorward
Original Assignee
Sandbridge Technologies Inc
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 Sandbridge Technologies Inc filed Critical Sandbridge Technologies Inc
Priority to EP03776329A priority Critical patent/EP1554651A4/en
Priority to JP2005501397A priority patent/JP2006503385A/en
Priority to AU2003284098A priority patent/AU2003284098A1/en
Publication of WO2004036354A2 publication Critical patent/WO2004036354A2/en
Publication of WO2004036354A3 publication Critical patent/WO2004036354A3/en

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/46Multiprogramming arrangements
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/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

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)
  • Bus Control (AREA)

Abstract

A multithreaded processor includes an interrupt controller for processing a cross-thread interrupt directed from a requesting thread (512) to a destination thread (212). The interrupt controller in an illustrative embodiment receives a request (512) for delivery of the cross-thread interrupt to the destination thread (212), determines whether the destination thread of the cross-thread interrupt is enabled for receipt of cross-thread interrupts, and utilizes a thread identifier (212) to control delivery of the cross-thread interrupt to the destination thread (212) if the destination thread is enabled for receipt of cross-thread interrupts. The requesting thread requests delivery of the cross-thread interrupt to the destination thread by setting a corresponding interrupt pending bit in a flag register (400) of the multithreaded processor. The destination thread is enabled for receipt of cross-thread interrupts if a corresponding enable bit is set in an enable register (300) of the multithreaded processor. The flag and enable registers may be implemented within the interrupt controller.
PCT/US2003/032322 2002-10-15 2003-10-10 Method and apparatus for high speed cross-thread interrupts in a multithreaded processor WO2004036354A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP03776329A EP1554651A4 (en) 2002-10-15 2003-10-10 Method and apparatus for high speed cross-thread interrupts in a multithreaded processor
JP2005501397A JP2006503385A (en) 2002-10-15 2003-10-10 Method and apparatus for fast inter-thread interrupts in a multi-thread processor
AU2003284098A AU2003284098A1 (en) 2002-10-15 2003-10-10 Method and apparatus for high speed cross-thread interrupts in a multithreaded processor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US41845502P 2002-10-15 2002-10-15
US60/418,455 2002-10-15
US10/404,175 US6971103B2 (en) 2002-10-15 2003-04-01 Inter-thread communications using shared interrupt register
US10/404,175 2003-04-01

Publications (2)

Publication Number Publication Date
WO2004036354A2 WO2004036354A2 (en) 2004-04-29
WO2004036354A3 true WO2004036354A3 (en) 2004-11-18

Family

ID=32073254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/032322 WO2004036354A2 (en) 2002-10-15 2003-10-10 Method and apparatus for high speed cross-thread interrupts in a multithreaded processor

Country Status (6)

Country Link
US (1) US6971103B2 (en)
EP (2) EP2306313A1 (en)
JP (1) JP2006503385A (en)
KR (1) KR101002911B1 (en)
AU (1) AU2003284098A1 (en)
WO (1) WO2004036354A2 (en)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
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
US7437724B2 (en) * 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US20050033889A1 (en) * 2002-10-08 2005-02-10 Hass David T. Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip
US7496915B2 (en) * 2003-04-24 2009-02-24 International Business Machines Corporation Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes
US7418585B2 (en) * 2003-08-28 2008-08-26 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7711931B2 (en) * 2003-08-28 2010-05-04 Mips Technologies, Inc. Synchronized storage providing multiple synchronization semantics
US7870553B2 (en) * 2003-08-28 2011-01-11 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
EP1660993B1 (en) * 2003-08-28 2008-11-19 MIPS Technologies, Inc. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US7849297B2 (en) * 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
US9032404B2 (en) * 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US20050050305A1 (en) * 2003-08-28 2005-03-03 Kissell Kevin D. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US7376954B2 (en) * 2003-08-28 2008-05-20 Mips Technologies, Inc. Mechanisms for assuring quality of service for programs executing on a multithreaded processor
US7594089B2 (en) * 2003-08-28 2009-09-22 Mips Technologies, Inc. Smart memory based synchronization controller for a multi-threaded multiprocessor SoC
US7836450B2 (en) * 2003-08-28 2010-11-16 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US20050086667A1 (en) * 2003-09-30 2005-04-21 Feng Jin Symmetric Scheduling for parallel execution
US7222064B1 (en) * 2003-10-10 2007-05-22 Unisys Corporation Instruction processor emulation having inter-processor messaging accounting
US7451454B2 (en) * 2004-03-31 2008-11-11 Intel Corporation Event handling mechanism
US8074051B2 (en) * 2004-04-07 2011-12-06 Aspen Acquisition Corporation Multithreaded processor with multiple concurrent pipelines per thread
JP4556554B2 (en) * 2004-08-25 2010-10-06 セイコーエプソン株式会社 Allocation of load when image processing is executed in parallel
JP4501593B2 (en) * 2004-08-25 2010-07-14 セイコーエプソン株式会社 Allocation of load when image processing is executed in parallel
TW200625097A (en) * 2004-11-17 2006-07-16 Sandbridge Technologies Inc Data file storing multiple date types with controlled data access
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
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US7490230B2 (en) 2005-02-04 2009-02-10 Mips Technologies, Inc. Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor
US7681014B2 (en) 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US7702889B2 (en) * 2005-10-18 2010-04-20 Qualcomm Incorporated Shared interrupt control method and system for a digital signal processor
US7984281B2 (en) * 2005-10-18 2011-07-19 Qualcomm Incorporated Shared interrupt controller for a multi-threaded processor
US7971205B2 (en) 2005-12-01 2011-06-28 International Business Machines Corporation Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
US8819099B2 (en) * 2006-09-26 2014-08-26 Qualcomm Incorporated Software implementation of matrix inversion in a wireless communication system
US9110726B2 (en) * 2006-11-10 2015-08-18 Qualcomm Incorporated Method and system for parallelization of pipelined computations
US7797514B2 (en) * 2006-11-16 2010-09-14 Texas Instruments Incorporated Scalable multi-threaded sequencing/synchronizing processor architecture
US8181185B2 (en) * 2007-05-31 2012-05-15 Intel Corporation Filtering of performance monitoring information
US8190864B1 (en) * 2007-10-25 2012-05-29 Oracle America, Inc. APIC implementation for a highly-threaded x86 processor
KR20100108509A (en) * 2007-11-05 2010-10-07 샌드브리지 테크놀로지스, 인코포레이티드 Method of encoding register instruction fields
US8539188B2 (en) * 2008-01-30 2013-09-17 Qualcomm Incorporated Method for enabling multi-processor synchronization
US7657683B2 (en) * 2008-02-01 2010-02-02 Redpine Signals, Inc. Cross-thread interrupt controller for a multi-thread processor
US8762641B2 (en) * 2008-03-13 2014-06-24 Qualcomm Incorporated Method for achieving power savings by disabling a valid array
WO2009134217A1 (en) * 2008-04-28 2009-11-05 Hewlett-Packard Development Company, L.P. Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems
KR20110050665A (en) 2008-08-06 2011-05-16 아스펜 액퀴지션 코포레이션 Haltable and restartable dma engine
EP2157511B1 (en) * 2008-08-19 2012-01-18 STMicroelectronics Rousset SAS Method for directly routing an interrupt signal to a virtual processing unit in a system with one or several physical processing units
JP5173714B2 (en) 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 Multi-thread processor and interrupt processing method thereof
JP5225010B2 (en) * 2008-10-14 2013-07-03 キヤノン株式会社 Interprocessor communication method, multiprocessor system, and processor.
US9026705B2 (en) * 2012-08-09 2015-05-05 Oracle International Corporation Interrupt processing unit for preventing interrupt loss
US10248463B2 (en) * 2015-02-13 2019-04-02 Honeywell International Inc. Apparatus and method for managing a plurality of threads in an operating system
US10069949B2 (en) 2016-10-14 2018-09-04 Honeywell International Inc. System and method for enabling detection of messages having previously transited network devices in support of loop detection
WO2019005860A1 (en) * 2017-06-28 2019-01-03 Apple Inc. Scheduling
US10810086B2 (en) 2017-10-19 2020-10-20 Honeywell International Inc. System and method for emulation of enhanced application module redundancy (EAM-R)
US10783026B2 (en) 2018-02-15 2020-09-22 Honeywell International Inc. Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor
CN117171102B (en) * 2023-09-07 2024-01-26 山东九州信泰信息科技股份有限公司 Method for writing files at high speed in multithreading and lock-free mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103847A1 (en) * 2001-02-01 2002-08-01 Hanan Potash Efficient mechanism for inter-thread communication within a multi-threaded computer system
US20030061258A1 (en) * 1999-12-09 2003-03-27 Dion Rodgers Method and apparatus for processing an event occurrence for at least one thread within a multithreaded processor

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694603A (en) * 1982-09-28 1997-12-02 Reiffin; Martin G. Computer memory product with preemptive multithreading software
US4980824A (en) * 1986-10-29 1990-12-25 United Technologies Corporation Event driven executive
US5524250A (en) * 1991-08-23 1996-06-04 Silicon Graphics, Inc. Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers
US6243735B1 (en) * 1997-09-01 2001-06-05 Matsushita Electric Industrial Co., Ltd. Microcontroller, data processing system and task switching control method
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6697935B1 (en) * 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US6430593B1 (en) * 1998-03-10 2002-08-06 Motorola Inc. Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
WO2000070482A1 (en) * 1999-05-14 2000-11-23 Clearwater Networks, Inc. Interrupt and exception handling for multi-streaming digital processors
US6687818B1 (en) * 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6754690B2 (en) * 1999-09-16 2004-06-22 Honeywell, Inc. Method for time partitioned application scheduling in a computer operating system
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US20010052053A1 (en) * 2000-02-08 2001-12-13 Mario Nemirovsky Stream processing unit for a multi-streaming processor
US6785887B2 (en) * 2000-12-27 2004-08-31 International Business Machines Corporation Technique for using shared resources on a multi-threaded processor
US20020144004A1 (en) * 2001-03-29 2002-10-03 Gaur Daniel R. Driver having multiple deferred procedure calls for interrupt processing and method for interrupt processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061258A1 (en) * 1999-12-09 2003-03-27 Dion Rodgers Method and apparatus for processing an event occurrence for at least one thread within a multithreaded processor
US20020103847A1 (en) * 2001-02-01 2002-08-01 Hanan Potash Efficient mechanism for inter-thread communication within a multi-threaded computer system

Also Published As

Publication number Publication date
KR101002911B1 (en) 2010-12-20
KR20050050126A (en) 2005-05-27
JP2006503385A (en) 2006-01-26
WO2004036354A2 (en) 2004-04-29
AU2003284098A1 (en) 2004-05-04
AU2003284098A8 (en) 2004-05-04
EP2306313A1 (en) 2011-04-06
US20040073910A1 (en) 2004-04-15
US6971103B2 (en) 2005-11-29
EP1554651A4 (en) 2007-10-31
EP1554651A2 (en) 2005-07-20

Similar Documents

Publication Publication Date Title
WO2004036354A3 (en) Method and apparatus for high speed cross-thread interrupts in a multithreaded processor
US7124225B2 (en) Method and apparatus for multi-interrupt controller for reducing hardware interrupts to DSP
TW362194B (en) Method and apparatus for decreasing thread switch latency in a multithread processor
TW200517952A (en) Method and apparatus for counting instruction execution and data accesses for specific types of instructions
JP2006503385A5 (en)
MY127357A (en) A data processing apparatus and method for saving return state
US6499078B1 (en) Interrupt handler with prioritized interrupt vector generator
WO2002067116A3 (en) Control of priority and instruction rates on a multithreaded processor
EP0867814A3 (en) System and method for controlling a bus
GB2383873A (en) Method and apparatus for maintaining the temperature of a microprocessor using a firmware assisted interrupt mechanism
WO2003005645A3 (en) Method and apparatus in data packet processing
HUP0302843A2 (en) Method and apparatus for transferring interrupts from a peripheral device to a host computer system
TW200504522A (en) Trusted peripheral mechanism
EP0385487A3 (en) Interrupt controller for multiprocessor systems
US8015337B2 (en) Power efficient interrupt detection
US7043582B2 (en) Self-nesting interrupts
JPH05233318A (en) Microprocessor
GB2344668A (en) Method for improved interrupt handling within a microprocessor
US20060161695A1 (en) Direct memory access system
US7281073B2 (en) Method for controlling interrupts and auxiliary control circuit
KR970002673A (en) Programmable Interrupt Control Device
JPS5491156A (en) Data processing system
JPS57103560A (en) Stop controller of central processor
JPH09251388A (en) Interruption control system for information processor
JPS6457354A (en) Method and apparatus for data transfer hand shake pipeline

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2003776329

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003776329

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020057006201

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005501397

Country of ref document: JP

Ref document number: 20038A14800

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020057006201

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003776329

Country of ref document: EP