GB2372349B - Control of priority and instruction rates on a multithreaded processor - Google Patents

Control of priority and instruction rates on a multithreaded processor

Info

Publication number
GB2372349B
GB2372349B GB0110038A GB0110038A GB2372349B GB 2372349 B GB2372349 B GB 2372349B GB 0110038 A GB0110038 A GB 0110038A GB 0110038 A GB0110038 A GB 0110038A GB 2372349 B GB2372349 B GB 2372349B
Authority
GB
United Kingdom
Prior art keywords
priority
control
multithreaded processor
instruction rates
rates
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.)
Expired - Fee Related
Application number
GB0110038A
Other versions
GB0110038D0 (en
GB2372349A (en
Inventor
Adrian John Anderson
Martin John Woodhead
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.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies 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 Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of GB0110038D0 publication Critical patent/GB0110038D0/en
Publication of GB2372349A publication Critical patent/GB2372349A/en
Application granted granted Critical
Publication of GB2372349B publication Critical patent/GB2372349B/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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

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)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
GB0110038A 2001-02-19 2001-04-24 Control of priority and instruction rates on a multithreaded processor Expired - Fee Related GB2372349B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0104045A GB2372847B (en) 2001-02-19 2001-02-19 Control of priority and instruction rates on a multithreaded processor

Publications (3)

Publication Number Publication Date
GB0110038D0 GB0110038D0 (en) 2001-06-13
GB2372349A GB2372349A (en) 2002-08-21
GB2372349B true GB2372349B (en) 2004-11-10

Family

ID=9909034

Family Applications (3)

Application Number Title Priority Date Filing Date
GB0104045A Expired - Fee Related GB2372847B (en) 2001-02-19 2001-02-19 Control of priority and instruction rates on a multithreaded processor
GB0110040A Expired - Fee Related GB2372350B (en) 2001-02-19 2001-04-24 Control of priority of instruction rates on a multithreaded processor
GB0110038A Expired - Fee Related GB2372349B (en) 2001-02-19 2001-04-24 Control of priority and instruction rates on a multithreaded processor

Family Applications Before (2)

Application Number Title Priority Date Filing Date
GB0104045A Expired - Fee Related GB2372847B (en) 2001-02-19 2001-02-19 Control of priority and instruction rates on a multithreaded processor
GB0110040A Expired - Fee Related GB2372350B (en) 2001-02-19 2001-04-24 Control of priority of instruction rates on a multithreaded processor

Country Status (6)

Country Link
US (3) US7269713B2 (en)
EP (1) EP1412855B1 (en)
JP (1) JP3805305B2 (en)
DE (1) DE60238617D1 (en)
GB (3) GB2372847B (en)
WO (1) WO2002067116A2 (en)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2372847B (en) * 2001-02-19 2004-12-29 Imagination Tech Ltd Control of priority and instruction rates on a multithreaded processor
WO2003065214A1 (en) * 2002-01-30 2003-08-07 Real Enterprise Solutions Development B.V. Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor
US7401208B2 (en) 2003-04-25 2008-07-15 International Business Machines Corporation Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor
US7401207B2 (en) 2003-04-25 2008-07-15 International Business Machines Corporation Apparatus and method for adjusting instruction thread priority in a multi-thread processor
US7360062B2 (en) 2003-04-25 2008-04-15 International Business Machines Corporation Method and apparatus for selecting an instruction thread for processing in a multi-thread processor
US7472390B2 (en) * 2003-10-01 2008-12-30 Intel Corporation Method and apparatus to enable execution of a thread in a multi-threaded computer system
US7802255B2 (en) * 2003-12-19 2010-09-21 Stmicroelectronics, Inc. Thread execution scheduler for multi-processing system and method
US20050198475A1 (en) * 2004-02-06 2005-09-08 Infineon Technologies, Inc. Thread selection unit and method to fairly allocate processor cycles in a block multithreaded processor
GB2415060B (en) * 2004-04-16 2007-02-14 Imagination Tech Ltd Dynamic load balancing
GB0415851D0 (en) * 2004-07-15 2004-08-18 Imagination Tech Ltd Microprocessor output ports and control of instructions provided therefrom
US7603673B2 (en) * 2004-10-28 2009-10-13 Intel Corporation Method and system for reducing context switch times
US9361156B2 (en) * 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US7627770B2 (en) * 2005-04-14 2009-12-01 Mips Technologies, Inc. Apparatus and method for automatic low power mode invocation in a multi-threaded processor
JP5145936B2 (en) * 2005-06-02 2013-02-20 学校法人慶應義塾 Multi-thread central processing unit and simultaneous multi-threading control method
GB0519597D0 (en) 2005-09-26 2005-11-02 Imagination Tech Ltd Scalable multi-threaded media processing architecture
WO2007068865A1 (en) * 2005-12-15 2007-06-21 Arm Limited Instruction issue control within a multithreaded processor
US7747842B1 (en) * 2005-12-19 2010-06-29 Nvidia Corporation Configurable output buffer ganging for a parallel processor
JP4557949B2 (en) * 2006-04-10 2010-10-06 富士通株式会社 Resource brokering program, recording medium recording the program, resource brokering apparatus, and resource brokering method
US7996845B2 (en) * 2006-11-14 2011-08-09 Nokia Corporation Methods and apparatus to control application execution resource with a variable delay
US8898438B2 (en) * 2007-03-14 2014-11-25 XMOS Ltd. Processor architecture for use in scheduling threads in response to communication activity
US8015427B2 (en) * 2007-04-23 2011-09-06 Netapp, Inc. System and method for prioritization of clock rates in a multi-core processor
US8832702B2 (en) * 2007-05-10 2014-09-09 Freescale Semiconductor, Inc. Thread de-emphasis instruction for multithreaded processor
EP2159700A4 (en) * 2007-06-19 2011-07-20 Fujitsu Ltd Cache controller and control method
GB2450564B (en) 2007-06-29 2011-03-02 Imagination Tech Ltd Clock frequency adjustment for semi-conductor devices
US8095932B2 (en) * 2007-08-14 2012-01-10 Intel Corporation Providing quality of service via thread priority in a hyper-threaded microprocessor
JP5043560B2 (en) * 2007-08-24 2012-10-10 パナソニック株式会社 Program execution control device
US8574393B2 (en) * 2007-12-21 2013-11-05 Tsinghua University Method for making touch panel
US8312458B2 (en) * 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
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
US8145849B2 (en) 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8250396B2 (en) 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8640141B2 (en) 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8788795B2 (en) 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8732683B2 (en) * 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8386822B2 (en) 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8225120B2 (en) * 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
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
US8171476B2 (en) * 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8516484B2 (en) * 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8612977B2 (en) 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8316218B2 (en) 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8341635B2 (en) * 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
GB2457265B (en) 2008-02-07 2010-06-09 Imagination Tech Ltd Prioritising of instruction fetching in microprocessor systems
JP4759026B2 (en) * 2008-07-15 2011-08-31 公立大学法人広島市立大学 Processor
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US8640133B2 (en) 2008-12-19 2014-01-28 International Business Machines Corporation Equal duration and equal fetch operations sub-context switch interval based fetch operation scheduling utilizing fetch error rate based logic for switching between plurality of sorting algorithms
GB2466984B (en) * 2009-01-16 2011-07-27 Imagination Tech Ltd Multi-threaded data processing system
US8145723B2 (en) 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
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
US8886919B2 (en) 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8082315B2 (en) 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US9569270B2 (en) * 2009-04-21 2017-02-14 Empire Technology Development Llc Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
US9189282B2 (en) * 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US8881157B2 (en) * 2009-09-11 2014-11-04 Empire Technology Development Llc Allocating threads to cores based on threads falling behind thread completion target deadline
US20110066830A1 (en) * 2009-09-11 2011-03-17 Andrew Wolfe Cache prefill on thread migration
GB2469822B (en) * 2009-04-28 2011-04-20 Imagination Tech Ltd Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor
JP5411587B2 (en) * 2009-06-09 2014-02-12 トヨタ自動車株式会社 Multi-thread execution device and multi-thread execution method
US8385192B2 (en) 2009-08-11 2013-02-26 International Business Machines Corporation Deduplicated data processing rate control
GB2489708B (en) 2011-04-05 2020-04-15 Advanced Risc Mach Ltd Thread selection for multithreaded processing
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
JP5848153B2 (en) * 2012-02-17 2016-01-27 ルネサスエレクトロニクス株式会社 Signal processing apparatus and semiconductor device
US8691916B2 (en) 2012-05-07 2014-04-08 Dow Global Technologies Llc Retortable easy opening seals for film extrusion
GB2505884B (en) 2012-09-12 2015-06-03 Imagination Tech Ltd Dynamically resizable circular buffers
US8671232B1 (en) * 2013-03-07 2014-03-11 Freescale Semiconductor, Inc. System and method for dynamically migrating stash transactions
US9471318B2 (en) 2013-03-15 2016-10-18 International Business Machines Corporation System management and instruction counting
US9632958B2 (en) 2014-07-06 2017-04-25 Freescale Semiconductor, Inc. System for migrating stash transactions
US9696787B2 (en) * 2014-12-10 2017-07-04 Qualcomm Innovation Center, Inc. Dynamic control of processors to reduce thermal and power costs
US10127121B2 (en) * 2016-06-03 2018-11-13 International Business Machines Corporation Operation of a multi-slice processor implementing adaptive failure state capture
US10318294B2 (en) 2016-06-20 2019-06-11 International Business Machines Corporation Operation of a multi-slice processor implementing dependency accumulation instruction sequencing
US10503550B2 (en) 2017-09-30 2019-12-10 Intel Corporation Dynamic performance biasing in a processor
US11068274B2 (en) * 2017-12-15 2021-07-20 International Business Machines Corporation Prioritized instructions in an instruction completion table of a simultaneous multithreading processor
US11334389B2 (en) 2019-10-23 2022-05-17 Microsoft Technology Licensing, Llc Adaptive scheduling of latency-sensitive event-based processors
US11334384B2 (en) * 2019-12-10 2022-05-17 Advanced Micro Devices, Inc. Scheduler queue assignment burst mode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482815A2 (en) * 1990-10-23 1992-04-29 AT&T Corp. Rate-based scheduling of multiplexed resources
GB2311882A (en) * 1996-04-04 1997-10-08 Videologic Ltd Data processing management system with programmable routing operations
EP0923248A2 (en) * 1997-12-01 1999-06-16 Matsushita Electric Industrial Co., Ltd. Multimedia server

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4458314A (en) * 1982-01-07 1984-07-03 Bell Telephone Laboratories, Incorporated Circuitry for allocating access to a demand shared bus
AU6244686A (en) * 1985-09-17 1987-03-19 Codex Corporation Multiple task control
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
CN100373331C (en) 1996-08-27 2008-03-05 松下电器产业株式会社 Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream
US5911083A (en) 1996-12-27 1999-06-08 Unisys Corporation Programmable processor execution rate controller
US6138232A (en) 1996-12-27 2000-10-24 Texas Instruments Incorporated Microprocessor with rate of instruction operation dependent upon interrupt source for power consumption control
US6073159A (en) * 1996-12-31 2000-06-06 Compaq Computer Corporation Thread properties attribute vector based thread selection in multithreading processor
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6910210B1 (en) * 1998-11-24 2005-06-21 Microsoft Corp. System and method for terminating applications
US6421701B1 (en) * 1999-01-29 2002-07-16 International Business Machines Corporation Method and system for replication support in a remote method invocation system
US7925869B2 (en) * 1999-12-22 2011-04-12 Ubicom, Inc. Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching
US8041754B1 (en) * 2000-01-22 2011-10-18 Intel Corporation Establishing thread priority in a processor or the like
GB2372847B (en) * 2001-02-19 2004-12-29 Imagination Tech Ltd Control of priority and instruction rates on a multithreaded processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482815A2 (en) * 1990-10-23 1992-04-29 AT&T Corp. Rate-based scheduling of multiplexed resources
GB2311882A (en) * 1996-04-04 1997-10-08 Videologic Ltd Data processing management system with programmable routing operations
EP0923248A2 (en) * 1997-12-01 1999-06-16 Matsushita Electric Industrial Co., Ltd. Multimedia server

Also Published As

Publication number Publication date
GB0104045D0 (en) 2001-04-04
US7269713B2 (en) 2007-09-11
GB2372847B (en) 2004-12-29
EP1412855B1 (en) 2010-12-15
GB2372350A (en) 2002-08-21
WO2002067116A2 (en) 2002-08-29
DE60238617D1 (en) 2011-01-27
WO2002067116A9 (en) 2002-10-24
JP3805305B2 (en) 2006-08-02
JP2004532444A (en) 2004-10-21
GB0110040D0 (en) 2001-06-13
GB0110038D0 (en) 2001-06-13
GB2372847A (en) 2002-09-04
US20070016757A1 (en) 2007-01-18
GB2372349A (en) 2002-08-21
GB2372350B (en) 2004-10-13
US20050021931A1 (en) 2005-01-27
US20070168649A1 (en) 2007-07-19
WO2002067116A3 (en) 2004-03-04
EP1412855A2 (en) 2004-04-28
US7337303B2 (en) 2008-02-26

Similar Documents

Publication Publication Date Title
GB2372847B (en) Control of priority and instruction rates on a multithreaded processor
GB2382181B (en) Multi-thread execution method and parallel processor system
GB2381610B (en) Multi-thread execution method and parallel processor system
GB2393297B (en) A multithreaded processor capable of implicit multithreaded execution of a single-thread program
AU2003289301A1 (en) Software execution control system and software execution control program
AU2002223824A1 (en) Instruction processor systems and methods
GB0111431D0 (en) A real-world representation system and language
AU2002257140A1 (en) System and method for implementing a flexible interrupt mechanism
GB2398411B (en) Processors and compiling methods for processors
GB2376099B (en) Program instruction interpretation
AU2003282365A1 (en) A processor capable of multi-threaded execution of a plurality of instruction-sets
GB2382887B (en) Instruction execution in a processor
EP1411723A4 (en) Program; related information fetch system and method
GB2382672B (en) Repeated instruction execution
GB2381890B (en) Testing the interrupt sources of a microprocessor
GB2367652B (en) Scheduling control within a system having mixed hardware and software based instruction execution
GB2374950B (en) Expanded functionality of processor operations within a fixed width instruction encoding
AU2002313610A1 (en) Pipelined processor and instruction loop execution method
AU2002232196A1 (en) Microprocessor and instruction execution order scheduling method
AU2002311825A1 (en) Data processor with enhanced instruction execution and method
AU2002312524A1 (en) A multithreaded processor capable of implicit multithreaded execution of a single-thread program
AU2002314676A1 (en) Control of a unit provided with a processor
GB0124554D0 (en) Debugging of processors
GB0124555D0 (en) Debugging of processors
TW491380U (en) Instruction board for four fundamental operations of arithmetic on fraction

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20180327 AND 20180328

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20200424