WO2006058242A3 - Hardware multithreading systems and methods - Google Patents

Hardware multithreading systems and methods Download PDF

Info

Publication number
WO2006058242A3
WO2006058242A3 PCT/US2005/042794 US2005042794W WO2006058242A3 WO 2006058242 A3 WO2006058242 A3 WO 2006058242A3 US 2005042794 W US2005042794 W US 2005042794W WO 2006058242 A3 WO2006058242 A3 WO 2006058242A3
Authority
WO
WIPO (PCT)
Prior art keywords
thread
wait
system calls
mutex
condition
Prior art date
Application number
PCT/US2005/042794
Other languages
French (fr)
Other versions
WO2006058242A2 (en
Inventor
Sorin C Cismas
Ilie Garbacea
Kristan J Monsen
Original Assignee
Mobilygen Corp
Sorin C Cismas
Ilie Garbacea
Kristan J Monsen
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 Mobilygen Corp, Sorin C Cismas, Ilie Garbacea, Kristan J Monsen filed Critical Mobilygen Corp
Priority to JP2007543545A priority Critical patent/JP5166877B2/en
Priority to EP05849950A priority patent/EP1817663A2/en
Publication of WO2006058242A2 publication Critical patent/WO2006058242A2/en
Publication of WO2006058242A3 publication Critical patent/WO2006058242A3/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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

According to some embodiments, a multithreaded microcontroller includes a thread control unit comprising thread control hardware (logic) configured to perform a number of multithreading system calls essentially in real time, e.g. in one or a few clock cycles. System calls can include mutex lock, wait condition, and signal instructions. The thread controller includes a number of thread state, mutex, and condition variable registers used for executing the multithreading system calls. Threads can transition between several states including free, run, ready and wait. The wait state includes interrupt, condition, mutex, I-cache, and memory substates. A thread state transition controller controls thread states, while a thread instructions execution unit executes multithreading system calls and manages thread priorities to avoid priority inversion. A thread scheduler schedules threads according to their priorities. A hardware thread profiler including global, run and wait profiler registers monitors thread performance to facilitate software development.
PCT/US2005/042794 2004-11-24 2005-11-24 Hardware multithreading systems and methods WO2006058242A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007543545A JP5166877B2 (en) 2004-11-24 2005-11-24 Hardware multithread system and method
EP05849950A EP1817663A2 (en) 2004-11-24 2005-11-24 Hardware multithreading systems and methods

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/996,691 US7765547B2 (en) 2004-11-24 2004-11-24 Hardware multithreading systems with state registers having thread profiling data
US10/996,691 2004-11-24

Publications (2)

Publication Number Publication Date
WO2006058242A2 WO2006058242A2 (en) 2006-06-01
WO2006058242A3 true WO2006058242A3 (en) 2006-10-19

Family

ID=36097121

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/042794 WO2006058242A2 (en) 2004-11-24 2005-11-24 Hardware multithreading systems and methods

Country Status (4)

Country Link
US (2) US7765547B2 (en)
EP (1) EP1817663A2 (en)
JP (1) JP5166877B2 (en)
WO (1) WO2006058242A2 (en)

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162615B1 (en) * 2000-06-12 2007-01-09 Mips Technologies, Inc. Data transfer bus communication using single request to perform command and return data to destination indicated in context to allow thread context switch
US7634774B2 (en) * 2004-09-13 2009-12-15 Integrated Device Technology, Inc. System and method of scheduling computing threads
US7526661B2 (en) * 2004-12-02 2009-04-28 Intel Corporation Performance state-based thread management
US8756605B2 (en) * 2004-12-17 2014-06-17 Oracle America, Inc. Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US20060136919A1 (en) * 2004-12-17 2006-06-22 Sun Microsystems, Inc. System and method for controlling thread suspension in a multithreaded processor
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
DE102005001025A1 (en) * 2005-01-07 2006-07-27 Infineon Technologies Ag Multi-thread processor, has switching table receiving internal and external exceptions of specific context, where context parameter sets of exceptions are updated, and switching parameter set is set for flow control of program commands
CA2538503C (en) * 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
US9361156B2 (en) 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US8387052B2 (en) * 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
JP4387970B2 (en) * 2005-03-31 2009-12-24 富士通株式会社 Data I / O program, device, and method
US8255912B2 (en) * 2005-04-13 2012-08-28 Qualcomm Incorporated Techniques for setting events in a multi-threaded system
US20060248283A1 (en) * 2005-04-29 2006-11-02 Galin Galchev System and method for monitoring threads in a clustered server architecture
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US7761435B2 (en) * 2005-04-29 2010-07-20 Sap Ag External persistence of session state information
US20060248199A1 (en) * 2005-04-29 2006-11-02 Georgi Stanev Shared closure persistence of session state information
US7853698B2 (en) * 2005-04-29 2010-12-14 Sap Ag Internal persistence of session state information
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US8589562B2 (en) * 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US7856636B2 (en) * 2005-05-10 2010-12-21 Hewlett-Packard Development Company, L.P. Systems and methods of sharing processing resources in a multi-threading environment
US20070043916A1 (en) * 2005-08-16 2007-02-22 Aguilar Maximino Jr System and method for light weight task switching when a shared memory condition is signaled
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
CN101366004A (en) * 2005-12-06 2009-02-11 波士顿电路公司 Methods and apparatus for multi-core processing with dedicated thread management
US8707323B2 (en) * 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
JP2007286671A (en) * 2006-04-12 2007-11-01 Fujitsu Ltd Software/hardware division program and division method
US8001549B2 (en) * 2006-04-27 2011-08-16 Panasonic Corporation Multithreaded computer system and multithread execution control method
US7584344B2 (en) * 2006-05-02 2009-09-01 Freescale Semiconductor, Inc. Instruction for conditionally yielding to a ready thread based on priority criteria
US8041929B2 (en) * 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
US8321872B2 (en) * 2006-06-28 2012-11-27 Nvidia Corporation Reusable, operating system aware hardware mutex
US8996152B2 (en) * 2006-06-28 2015-03-31 Nvidia Corporation Operating system aware hardware mutex
US8468526B2 (en) * 2006-06-30 2013-06-18 Intel Corporation Concurrent thread execution using user-level asynchronous signaling
JP4119945B2 (en) 2006-08-24 2008-07-16 ネットクリアスシステムズ株式会社 Task processing device
US8479201B2 (en) * 2006-09-18 2013-07-02 Innovasic, Inc. Processor with hardware solution for priority inversion
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8112675B2 (en) * 2006-09-28 2012-02-07 Nvidia Corporation Filesystem directory debug log
US7698540B2 (en) 2006-10-31 2010-04-13 Hewlett-Packard Development Company, L.P. Dynamic hardware multithreading and partitioned hardware multithreading
US9003410B2 (en) * 2007-01-30 2015-04-07 Hewlett-Packard Development Company, L.P. Abstracting a multithreaded processor core to a single threaded processor core
US20080229062A1 (en) * 2007-03-12 2008-09-18 Lorenzo Di Gregorio Method of sharing registers in a processor and processor
US9367321B2 (en) * 2007-03-14 2016-06-14 Xmos Limited Processor instruction set for controlling an event source to generate events used to schedule threads
US7613909B2 (en) 2007-04-17 2009-11-03 Xmos Limited Resuming thread to service ready port transferring data externally at different clock rate than internal circuitry of a processor
US8219845B2 (en) * 2007-05-09 2012-07-10 Microsoft Corporation Timer service uses a single timer function to perform timing services for both relative and absolute timers
US8589943B2 (en) 2007-08-15 2013-11-19 Sony Computer Entertainment Inc. Multi-threaded processing with reduced context switching
US8341641B2 (en) 2007-08-16 2012-12-25 Kernelon Silicon Inc. Task processor
US8190864B1 (en) * 2007-10-25 2012-05-29 Oracle America, Inc. APIC implementation for a highly-threaded x86 processor
US8190624B2 (en) * 2007-11-29 2012-05-29 Microsoft Corporation Data parallel production and consumption
US8015379B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Wake-and-go mechanism with exclusive system bus response
US8316218B2 (en) * 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8145849B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8171476B2 (en) 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8312458B2 (en) 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8732683B2 (en) 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8880853B2 (en) 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8250396B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8516484B2 (en) 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8788795B2 (en) 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8225120B2 (en) 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8640141B2 (en) 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8312253B2 (en) 2008-02-22 2012-11-13 Freescale Semiconductor, Inc. Data processor device having trace capabilities and method
US8972794B2 (en) * 2008-02-26 2015-03-03 International Business Machines Corporation Method and apparatus for diagnostic recording using transactional memory
US8032736B2 (en) * 2008-02-26 2011-10-04 International Business Machines Corporation Methods, apparatus and articles of manufacture for regaining memory consistency after a trap via transactional memory
KR100959548B1 (en) * 2008-05-21 2010-05-27 한국과학기술원 A method of interrupt scheduling
US8752057B1 (en) * 2008-06-30 2014-06-10 Emc Corporation Techniques for synchronizing processing of at least two code threads
JP5173713B2 (en) * 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 Multi-thread processor and hardware thread scheduling method
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
US8689223B2 (en) * 2008-11-18 2014-04-01 International Business Machines Corporation Mechanisms to detect priority inversion
TW201025138A (en) * 2008-11-28 2010-07-01 Ibm Real-time signal handling in guest and host operating systems
US8583700B2 (en) * 2009-01-02 2013-11-12 International Business Machines Corporation Creation of date window for record selection
US9218211B2 (en) * 2009-01-02 2015-12-22 International Business Machines Corporation Priority promotion for service requests
US8886919B2 (en) 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8230201B2 (en) * 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8082315B2 (en) * 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8145723B2 (en) * 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US8156275B2 (en) * 2009-05-13 2012-04-10 Apple Inc. Power managed lock optimization
US8996556B2 (en) * 2009-06-05 2015-03-31 Microsoft Technology Licensing, Llc Parallel processing of an ordered data stream
US8522000B2 (en) * 2009-09-29 2013-08-27 Nvidia Corporation Trap handler architecture for a parallel processing unit
US8695002B2 (en) * 2009-10-20 2014-04-08 Lantiq Deutschland Gmbh Multi-threaded processors and multi-processor systems comprising shared resources
US8832663B2 (en) * 2009-11-23 2014-09-09 International Business Machines Corporation Thread serialization and disablement tool
US8549523B2 (en) 2009-11-23 2013-10-01 International Business Machines Corporation Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool
US8276154B2 (en) * 2009-12-18 2012-09-25 Microsoft Corporation Hash partitioning streamed data
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
US8769543B2 (en) * 2010-09-27 2014-07-01 Throughputer, Inc. System and method for maximizing data processing throughput via application load adaptive scheduling and context switching
US8214544B2 (en) * 2010-06-30 2012-07-03 Hewlett-Packard Development Company, L.P. Register access protocol
CN102292705B (en) * 2010-08-30 2013-12-18 华为技术有限公司 Instruction processing method of network processor and network processer
US8713290B2 (en) * 2010-09-20 2014-04-29 International Business Machines Corporation Scaleable status tracking of multiple assist hardware threads
US9058179B2 (en) * 2010-11-12 2015-06-16 Arm Limited Retirement serialisation of status register access operations
US8572628B2 (en) 2010-12-02 2013-10-29 International Business Machines Corporation Inter-thread data communications in a computer processor
US8561070B2 (en) * 2010-12-02 2013-10-15 International Business Machines Corporation Creating a thread of execution in a computer processor without operating system intervention
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US8479207B2 (en) * 2011-02-25 2013-07-02 Qualcomm Incorporated Priority inheritance in multithreaded systems
JPWO2012120654A1 (en) * 2011-03-08 2014-07-07 富士通株式会社 Task scheduling method and multi-core system
US9043796B2 (en) 2011-04-07 2015-05-26 Microsoft Technology Licensing, Llc Asynchronous callback driven messaging request completion notification
US9262235B2 (en) 2011-04-07 2016-02-16 Microsoft Technology Licensing, Llc Messaging interruptible blocking wait with serialization
US10496461B2 (en) * 2011-06-15 2019-12-03 Arm Finance Overseas Limited Apparatus and method for hardware initiation of emulated instructions
US9195501B2 (en) * 2011-07-12 2015-11-24 Qualcomm Incorporated Instruction culling in graphics processing unit
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US9633407B2 (en) 2011-07-29 2017-04-25 Intel Corporation CPU/GPU synchronization mechanism
US9218186B2 (en) * 2011-09-01 2015-12-22 International Business Machines Corporation Software compiler generated threaded environment
CN102508776B (en) * 2011-11-03 2014-09-17 中国人民解放军国防科学技术大学 Automatic construction method for evaluation stimulus of multi-thread cross double-precision short-vector structure
TWI439925B (en) * 2011-12-01 2014-06-01 Inst Information Industry Embedded systems and methods for threads and buffer management thereof
US8966494B2 (en) * 2012-03-16 2015-02-24 Arm Limited Apparatus and method for processing threads requiring resources
US8924784B2 (en) * 2012-04-12 2014-12-30 Freescale Semiconductor, Inc. Controller for managing a reset of a subset of threads in a multi-thread system
CN103377086A (en) * 2012-04-27 2013-10-30 华为技术有限公司 Method, device and system used for asynchronous multinuclear system to operate sharing resource
US9514069B1 (en) 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
US9229721B2 (en) * 2012-09-10 2016-01-05 Qualcomm Incorporated Executing subroutines in a multi-threaded processing system
KR20140079137A (en) * 2012-12-18 2014-06-26 삼성전자주식회사 Computing system using nonvolatile memory as main memory and method for managing data thereof
US10558437B1 (en) * 2013-01-22 2020-02-11 Altera Corporation Method and apparatus for performing profile guided optimization for high-level synthesis
US9256573B2 (en) 2013-02-14 2016-02-09 International Business Machines Corporation Dynamic thread status retrieval using inter-thread communication
US9544247B2 (en) * 2013-03-15 2017-01-10 Innovasic, Inc. Packet data traffic management apparatus
US10310863B1 (en) * 2013-07-31 2019-06-04 Red Hat, Inc. Patching functions in use on a running computer system
US10725889B2 (en) * 2013-08-28 2020-07-28 Micro Focus Llc Testing multi-threaded applications
US9684614B2 (en) * 2014-01-27 2017-06-20 Signalchip Innovations Private Limited System and method to convert lock-free algorithms to wait-free using a hardware accelerator
US9582326B2 (en) 2014-05-30 2017-02-28 Apple Inc. Quality of service classes
US9772959B2 (en) 2014-05-30 2017-09-26 Apple Inc. I/O scheduling
GB2529899B (en) 2014-09-08 2021-06-23 Advanced Risc Mach Ltd Shared Resources in a Data Processing Apparatus for Executing a Plurality of Threads
US9898289B2 (en) 2014-10-20 2018-02-20 International Business Machines Corporation Coordinated start interpretive execution exit for a multithreaded processor
US9996354B2 (en) * 2015-01-09 2018-06-12 International Business Machines Corporation Instruction stream tracing of multi-threaded processors
US10346039B2 (en) 2015-04-21 2019-07-09 Toshiba Memory Corporation Memory system
US10671565B2 (en) 2015-04-24 2020-06-02 Quest Software Inc. Partitioning target data to improve data replication performance
US9658794B2 (en) * 2015-05-08 2017-05-23 Sonicwall Inc. Two stage memory allocation using a cache
US10310891B2 (en) 2015-06-05 2019-06-04 Apple Inc. Hand-off scheduling
US9772963B2 (en) * 2015-07-26 2017-09-26 Nxp Usa, Inc. Interrupt management system for deferring low priority interrupts in real-time system
JP6350452B2 (en) * 2015-08-27 2018-07-04 京セラドキュメントソリューションズ株式会社 Electronic equipment and interrupt processing program
US10628320B2 (en) 2016-06-03 2020-04-21 Synopsys, Inc. Modulization of cache structure utilizing independent tag array and data array in microprocessor
US10558463B2 (en) * 2016-06-03 2020-02-11 Synopsys, Inc. Communication between threads of multi-thread processor
US10318302B2 (en) 2016-06-03 2019-06-11 Synopsys, Inc. Thread switching in microprocessor without full save and restore of register file
US10664377B2 (en) * 2016-07-15 2020-05-26 Blackberry Limited Automation of software verification
US10613859B2 (en) 2016-08-18 2020-04-07 Synopsys, Inc. Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions
US10552158B2 (en) 2016-08-18 2020-02-04 Synopsys, Inc. Reorder buffer scoreboard having multiple valid bits to indicate a location of data
CN107870866B (en) * 2016-09-28 2023-09-26 厦门鑫忆讯科技有限公司 IO command scheduling method and NVM interface controller
US10423191B2 (en) * 2017-01-19 2019-09-24 International Business Machines Corporation Clock comparator sign control
US10417057B2 (en) 2017-01-30 2019-09-17 Oracle International Corporation Mutex profiling based on waiting analytics
US10248420B2 (en) 2017-04-05 2019-04-02 Cavium, Llc Managing lock and unlock operations using active spinning
US10331500B2 (en) * 2017-04-05 2019-06-25 Cavium, Llc Managing fairness for lock and unlock operations using operation prioritization
US20190102274A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Utilization Metrics for Processing Engines
KR102086027B1 (en) * 2017-12-08 2020-03-06 현대오트론 주식회사 An Apparatus and a Method for Controlling Multi-Master Modules for Vehicles Based on Priority
US10705901B2 (en) 2018-02-23 2020-07-07 Dell Products, L.P. System and method to control memory failure handling on double-data rate dual in-line memory modules via suspension of the collection of correctable read errors
US10761919B2 (en) 2018-02-23 2020-09-01 Dell Products, L.P. System and method to control memory failure handling on double-data rate dual in-line memory modules
WO2019165428A1 (en) * 2018-02-26 2019-08-29 Zytek Communications Corporation Thread scheduling on simt architectures with busy-wait synchronization
US11119972B2 (en) * 2018-05-07 2021-09-14 Micron Technology, Inc. Multi-threaded, self-scheduling processor
US11281493B2 (en) * 2018-05-30 2022-03-22 Texas Instruments Incorporated Real-time context specific task manager for multi-core communication and control system
WO2020019140A1 (en) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 Video processing method, terminal device and machine-readable storage medium
CN109491928B (en) * 2018-11-05 2021-08-10 深圳乐信软件技术有限公司 Cache control method, device, terminal and storage medium
AU2020240048B2 (en) * 2019-03-18 2022-12-22 Tencent America LLC Method and apparatus for video coding
US11023273B2 (en) 2019-03-21 2021-06-01 International Business Machines Corporation Multi-threaded programming
US10817341B1 (en) * 2019-04-10 2020-10-27 EMC IP Holding Company LLC Adaptive tuning of thread weight based on prior activity of a thread
US11086672B2 (en) * 2019-05-07 2021-08-10 International Business Machines Corporation Low latency management of processor core wait state
US11250124B2 (en) * 2019-09-19 2022-02-15 Facebook Technologies, Llc Artificial reality system having hardware mutex with process authentication
US20210096904A1 (en) * 2019-09-28 2021-04-01 Tencent America LLC Method and apparatus for a step-enabled workflow
US11789771B2 (en) * 2019-09-28 2023-10-17 Tencent America LLC Method and apparatus for a step-enabled workflow
CN111078449B (en) * 2019-11-29 2020-11-13 深圳大学 Information processing method, information processing device and terminal equipment
CN111538580B (en) * 2020-04-23 2024-01-05 苏州大学 Thread signal operation method and system of embedded real-time operating system
US11656876B2 (en) 2020-10-29 2023-05-23 Cadence Design Systems, Inc. Removal of dependent instructions from an execution pipeline
CN112395095A (en) * 2020-11-09 2021-02-23 王志平 Process synchronization method based on CPOC
WO2022100372A1 (en) * 2020-11-16 2022-05-19 Hui Ronald Chi Chun Processor architecture with micro-threading control by hardware-accelerated kernel thread
CN113608853B (en) * 2021-08-06 2023-11-10 安徽创新软件集团有限公司 Multithread data acquisition system based on internet of things technology
US20230058935A1 (en) * 2021-08-18 2023-02-23 Micron Technology, Inc. Managing return parameter allocation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000045239A2 (en) * 1999-01-29 2000-08-03 Iona Technologies, Inc. Method and system for multi-threaded object loading and unloading
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276886A (en) 1990-10-11 1994-01-04 Chips And Technologies, Inc. Hardware semaphores in a multi-processor environment
GB2311882B (en) 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US6076157A (en) 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6018759A (en) * 1997-12-22 2000-01-25 International Business Machines Corporation Thread switch tuning tool for optimal performance in a computer processor
US5995998A (en) 1998-01-23 1999-11-30 Sun Microsystems, Inc. Method, apparatus and computer program product for locking interrelated data structures in a multi-threaded computing environment
US6499048B1 (en) 1998-06-30 2002-12-24 Sun Microsystems, Inc. Control of multiple computer processes using a mutual exclusion primitive ordering mechanism
US6145073A (en) 1998-10-16 2000-11-07 Quintessence Architectures, Inc. Data flow integrated circuit architecture
US6507862B1 (en) 1999-05-11 2003-01-14 Sun Microsystems, Inc. Switching method in a multi-threaded processor
US6341347B1 (en) 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
US6542921B1 (en) 1999-07-08 2003-04-01 Intel Corporation Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6629237B2 (en) 2000-09-01 2003-09-30 Intel Corporation Solving parallel problems employing hardware multi-threading in a parallel processing environment
US6785887B2 (en) * 2000-12-27 2004-08-31 International Business Machines Corporation Technique for using shared resources on a multi-threaded processor
US6651158B2 (en) * 2001-06-22 2003-11-18 Intel Corporation Determination of approaching instruction starvation of threads based on a plurality of conditions
US6857062B2 (en) * 2001-11-30 2005-02-15 Intel Corporation Broadcast state renaming in a microprocessor
US7831974B2 (en) * 2002-11-12 2010-11-09 Intel Corporation Method and apparatus for serialized mutual exclusion
US7797683B2 (en) * 2003-12-29 2010-09-14 Intel Corporation Decoupling the number of logical threads from the number of simultaneous physical threads in a processor
US20050166206A1 (en) * 2004-01-26 2005-07-28 Parson Dale E. Resource management in a processor-based system using hardware queues

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
WO2000045239A2 (en) * 1999-01-29 2000-08-03 Iona Technologies, Inc. Method and system for multi-threaded object loading and unloading
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system

Also Published As

Publication number Publication date
US7765547B2 (en) 2010-07-27
US20060117316A1 (en) 2006-06-01
US8640129B2 (en) 2014-01-28
WO2006058242A2 (en) 2006-06-01
US20100257534A1 (en) 2010-10-07
EP1817663A2 (en) 2007-08-15
JP2008522290A (en) 2008-06-26
JP5166877B2 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
WO2006058242A3 (en) Hardware multithreading systems and methods
US6542921B1 (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US9003421B2 (en) Acceleration threads on idle OS-visible thread execution units
WO2006083543A3 (en) Multithreading processor including thread scheduler based on instruction stall likelihood prediction
US20030126416A1 (en) Suspending execution of a thread in a multi-threaded processor
US20060150184A1 (en) Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention
US8539203B2 (en) Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation
GB2457181A (en) Suspending other threads to prevent access conflicts
EP1890225B1 (en) Method, apparatus and computer program product for handling switching among threads within a multithread processor
CN111796574A (en) Hardware support for OS-centric performance monitoring using data collection
US7213134B2 (en) Using thread urgency in determining switch events in a temporal multithreaded processor unit
JP2011216004A (en) Microprocessor, electronic control unit, execution ratio switching method
Zagan et al. Schedulability analysis of nMPRA processor based on multithreaded execution
US11449338B2 (en) Handling exceptions in a multi-tile processing arrangement
Lamie Real-time embedded multithreading: using ThreadX and ARM
Chishiro Rt-seed: Real-time middleware for semi-fixed-priority scheduling
Gaitan et al. Using Dual Priority scheduling to improve the resource utilization in the nMPRA microcontrollers
Andries et al. Dual priority scheduling algorithm used in the nMPRA microcontrollers: Subtitle as needed (paper subtitle)
Reddy et al. Scheduling latency comparison of two open-source RTOSs on CORTEX-M3
Gliwa et al. Operating Systems
Gupta et al. Support for Nested Preemption in nxtOSEK
Sáez et al. Deferred setting of scheduling attributes in ada 2012
Woo et al. Catnap: A Backoff Scheme for Kernel Spinlocks in Many-Core Systems
Anantaraman et al. Exploiting visa for higher concurrency in safe real-time systems
Yun et al. Deterministic Real-time Thread Scheduling

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA 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 IS IT LT LU LV MC NL PL 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
WWE Wipo information: entry into national phase

Ref document number: 2005849950

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007543545

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005849950

Country of ref document: EP