GB2469822B - Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor - Google Patents
Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessorInfo
- Publication number
- GB2469822B GB2469822B GB0907286A GB0907286A GB2469822B GB 2469822 B GB2469822 B GB 2469822B GB 0907286 A GB0907286 A GB 0907286A GB 0907286 A GB0907286 A GB 0907286A GB 2469822 B GB2469822 B GB 2469822B
- Authority
- GB
- United Kingdom
- Prior art keywords
- scheduling
- issue
- instructions
- multithreaded microprocessor
- multithreaded
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
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)
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0907286A GB2469822B (en) | 2009-04-28 | 2009-04-28 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
| US12/584,759 US9189241B2 (en) | 2009-04-28 | 2009-09-11 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
| JP2012507809A JP5631976B2 (ja) | 2009-04-28 | 2010-04-27 | マルチスレッドマイクロプロセッサにおける命令の発行をスケジュールするための方法及び装置 |
| CN201080018675.9A CN102414659B (zh) | 2009-04-28 | 2010-04-27 | 用于在多线程微处理器中调度指令的发布的方法和设备 |
| EP10717728.9A EP2425329B8 (en) | 2009-04-28 | 2010-04-27 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
| PCT/GB2010/000832 WO2010125336A1 (en) | 2009-04-28 | 2010-04-27 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
| US14/930,913 US10360038B2 (en) | 2009-04-28 | 2015-11-03 | Method and apparatus for scheduling the issue of instructions in a multithreaded processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0907286A GB2469822B (en) | 2009-04-28 | 2009-04-28 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| GB0907286D0 GB0907286D0 (en) | 2009-06-10 |
| GB2469822A GB2469822A (en) | 2010-11-03 |
| GB2469822B true GB2469822B (en) | 2011-04-20 |
Family
ID=40791924
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB0907286A Expired - Fee Related GB2469822B (en) | 2009-04-28 | 2009-04-28 | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US9189241B2 (enExample) |
| EP (1) | EP2425329B8 (enExample) |
| JP (1) | JP5631976B2 (enExample) |
| CN (1) | CN102414659B (enExample) |
| GB (1) | GB2469822B (enExample) |
| WO (1) | WO2010125336A1 (enExample) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102063291B (zh) * | 2011-01-13 | 2013-08-28 | 上海大学 | 一种前瞻线程的多级并行执行方法 |
| US20140007087A1 (en) * | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
| US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
| US9218185B2 (en) | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
| US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
| US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
| US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
| US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
| US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
| CN108279927B (zh) * | 2017-12-26 | 2020-07-31 | 芯原微电子(上海)股份有限公司 | 可调整指令优先级的多通道指令控制方法及系统、控制器 |
| US11314516B2 (en) * | 2018-01-19 | 2022-04-26 | Marvell Asia Pte, Ltd. | Issuing instructions based on resource conflict constraints in microprocessor |
| CN108710506B (zh) * | 2018-05-31 | 2021-01-22 | 北京智行者科技有限公司 | 车辆的指令处理方法 |
| CN111984387B (zh) * | 2020-08-26 | 2024-06-25 | 上海兆芯集成电路股份有限公司 | 用于调度发布队列中指令的方法及处理器 |
| US11656877B2 (en) | 2021-03-31 | 2023-05-23 | Advanced Micro Devices, Inc. | Wavefront selection and execution |
| JP7589712B2 (ja) | 2022-05-17 | 2024-11-26 | トヨタ自動車株式会社 | リソース管理装置、リソース管理方法及びリソース管理用コンピュータプログラム |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040225870A1 (en) * | 2003-05-07 | 2004-11-11 | Srinivasan Srikanth T. | Method and apparatus for reducing wrong path execution in a speculative multi-threaded processor |
| US20050060518A1 (en) * | 2003-09-17 | 2005-03-17 | International Business Machines Corporation | Speculative instruction issue in a simultaneously multithreaded processor |
| GB2421328A (en) * | 2004-12-17 | 2006-06-21 | Sun Microsystems Inc | Scheduling threads for execution in a multi-threaded processor. |
| US20060184946A1 (en) * | 2005-02-11 | 2006-08-17 | International Business Machines Corporation | Thread priority method, apparatus, and computer program product for ensuring processing fairness in simultaneous multi-threading microprocessors |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0583089B1 (en) * | 1992-08-12 | 2000-01-26 | Advanced Micro Devices, Inc. | Instruction decoder |
| JPH08179946A (ja) * | 1994-12-26 | 1996-07-12 | Toshiba Corp | プロセッサ |
| GB2311882B (en) | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
| US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
| JP2001092657A (ja) * | 1999-09-22 | 2001-04-06 | Toshiba Corp | 中央演算装置、コンパイル方法、及びコンパイルプログラムを記録した記録媒体 |
| US6658551B1 (en) * | 2000-03-30 | 2003-12-02 | Agere Systems Inc. | Method and apparatus for identifying splittable packets in a multithreaded VLIW processor |
| GB2372847B (en) * | 2001-02-19 | 2004-12-29 | Imagination Tech Ltd | Control of priority and instruction rates on a multithreaded processor |
| US7051195B2 (en) * | 2001-10-26 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Method of optimization of CPU and chipset performance by support of optional reads by CPU and chipset |
| JP3816844B2 (ja) * | 2002-07-05 | 2006-08-30 | 富士通株式会社 | プロセッサ及び命令制御方法 |
| US6950925B1 (en) * | 2002-08-28 | 2005-09-27 | Advanced Micro Devices, Inc. | Scheduler for use in a microprocessor that supports data-speculative execution |
| US20040168045A1 (en) * | 2003-02-21 | 2004-08-26 | Dale Morris | Out-of-order processor executing speculative-load instructions |
| GB2415060B (en) | 2004-04-16 | 2007-02-14 | Imagination Tech Ltd | Dynamic load balancing |
| US7237094B2 (en) * | 2004-10-14 | 2007-06-26 | International Business Machines Corporation | Instruction group formation and mechanism for SMT dispatch |
| US7254697B2 (en) * | 2005-02-11 | 2007-08-07 | International Business Machines Corporation | Method and apparatus for dynamic modification of microprocessor instruction group at dispatch |
| JP2006343872A (ja) * | 2005-06-07 | 2006-12-21 | Keio Gijuku | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
| US20070294693A1 (en) * | 2006-06-16 | 2007-12-20 | Microsoft Corporation | Scheduling thread execution among a plurality of processors based on evaluation of memory access data |
| CN100578459C (zh) * | 2007-06-12 | 2010-01-06 | 华为技术有限公司 | 线程调度方法及其装置 |
-
2009
- 2009-04-28 GB GB0907286A patent/GB2469822B/en not_active Expired - Fee Related
- 2009-09-11 US US12/584,759 patent/US9189241B2/en active Active
-
2010
- 2010-04-27 JP JP2012507809A patent/JP5631976B2/ja active Active
- 2010-04-27 WO PCT/GB2010/000832 patent/WO2010125336A1/en not_active Ceased
- 2010-04-27 CN CN201080018675.9A patent/CN102414659B/zh active Active
- 2010-04-27 EP EP10717728.9A patent/EP2425329B8/en active Active
-
2015
- 2015-11-03 US US14/930,913 patent/US10360038B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040225870A1 (en) * | 2003-05-07 | 2004-11-11 | Srinivasan Srikanth T. | Method and apparatus for reducing wrong path execution in a speculative multi-threaded processor |
| US20050060518A1 (en) * | 2003-09-17 | 2005-03-17 | International Business Machines Corporation | Speculative instruction issue in a simultaneously multithreaded processor |
| GB2421328A (en) * | 2004-12-17 | 2006-06-21 | Sun Microsystems Inc | Scheduling threads for execution in a multi-threaded processor. |
| US20060184946A1 (en) * | 2005-02-11 | 2006-08-17 | International Business Machines Corporation | Thread priority method, apparatus, and computer program product for ensuring processing fairness in simultaneous multi-threading microprocessors |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102414659A (zh) | 2012-04-11 |
| US20160055002A1 (en) | 2016-02-25 |
| GB0907286D0 (en) | 2009-06-10 |
| EP2425329A1 (en) | 2012-03-07 |
| US20100275211A1 (en) | 2010-10-28 |
| JP5631976B2 (ja) | 2014-11-26 |
| US10360038B2 (en) | 2019-07-23 |
| JP2012525620A (ja) | 2012-10-22 |
| GB2469822A (en) | 2010-11-03 |
| EP2425329B8 (en) | 2018-10-24 |
| CN102414659B (zh) | 2014-10-29 |
| US9189241B2 (en) | 2015-11-17 |
| EP2425329B1 (en) | 2017-12-27 |
| WO2010125336A1 (en) | 2010-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| GB2469822B (en) | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor | |
| GB0917069D0 (en) | A method and apparatus | |
| GB2478572B (en) | A job-processing apparatus and a job-processing method | |
| GB0915592D0 (en) | A video-collaboration apparatus and method | |
| PL2379308T3 (pl) | Sposób i urządzenie do wytwarzania haczykowych elementów mocujących | |
| EP2464058A4 (en) | QUEUE PLANNING PROCESS AND DEVICE | |
| GB0901034D0 (en) | Apparatus and method | |
| GB0902880D0 (en) | Apparatus and method | |
| EP2524536A4 (en) | METHOD AND APPARATUS | |
| ZA201105982B (en) | Scheduling apparatus and scheduling method | |
| GB0908506D0 (en) | Method and apparatus for drawing polygons | |
| GB0901257D0 (en) | Apparatus and method | |
| SG10201500593SA (en) | A trading apparatus and method | |
| GB201000333D0 (en) | A method and apparatus | |
| EP2642943A4 (en) | METHOD AND DEVICE FOR PREPARING A DENTAL COMPONENT | |
| ZA201107183B (en) | Method and apparatus for releasably retainig bandages | |
| GB0916114D0 (en) | Display apparatus and a method for the same | |
| GB0905198D0 (en) | Apparatus and method | |
| SI2251317T1 (sl) | Postopek za pripravo fesoterodina in /ali fesoterodinijevega fumarata | |
| GB0904389D0 (en) | Apparatus and method | |
| EP2519447A4 (en) | PACKING PIECE, METHOD AND APPARATUS FOR MANUFACTURING THE SAME | |
| GB201013224D0 (en) | Method and apparatus for creating a database | |
| IL201570A0 (en) | System and method for verifying the location of a person in real - time | |
| IL214077A0 (en) | A method and apparatus for liposuction | |
| GB201002806D0 (en) | A method and apparatus for use in attaching a board |
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: 20200428 |