CN1117319C - 在多线程处理器中改变线程优先级的方法和装置 - Google Patents
在多线程处理器中改变线程优先级的方法和装置 Download PDFInfo
- Publication number
- CN1117319C CN1117319C CN98810355A CN98810355A CN1117319C CN 1117319 C CN1117319 C CN 1117319C CN 98810355 A CN98810355 A CN 98810355A CN 98810355 A CN98810355 A CN 98810355A CN 1117319 C CN1117319 C CN 1117319C
- Authority
- CN
- China
- Prior art keywords
- thread
- priority
- instruction
- threads
- register
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 2
- 239000003607 modifier Substances 0.000 claims 1
- 230000003252 repetitive effect Effects 0.000 abstract 1
- 230000008034 disappearance Effects 0.000 description 35
- 239000000872 buffer Substances 0.000 description 18
- 230000007704 transition Effects 0.000 description 18
- 230000005059 dormancy Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000013519 translation Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
T0优先级 | T1优先级 | T0线程切换条件 | T1线程切换条件 |
高 | 高 | TSC | TSC |
高 | 中 | TSC〔0:2〕被看作是0 | TSC或如果T0准备好 |
高 | 低 | TSC〔0:2〕被看作是0 | TSC或如果T0准备好 |
中 | 高 | TSC或如果T1准备好 | TSC〔0:2〕被看作是0 |
中 | 中 | TSC | TSC |
中 | 低 | TSC〔0:2〕被看作是0 | TSC或如果T0准备好 |
低 | 高 | TSC或如果T1准备好 | TSC〔0:2〕被看作是0 |
低 | 中 | TSC或如果T1准备好 | TSC〔0:2〕被看作是0 |
低 | 低 | TSC | TSC |
Claims (15)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/958,718 US6212544B1 (en) | 1997-10-23 | 1997-10-23 | Altering thread priorities in a multithreaded processor |
US08/958,718 | 1997-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1276890A CN1276890A (zh) | 2000-12-13 |
CN1117319C true CN1117319C (zh) | 2003-08-06 |
Family
ID=25501232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98810355A Expired - Lifetime CN1117319C (zh) | 1997-10-23 | 1998-10-14 | 在多线程处理器中改变线程优先级的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6212544B1 (zh) |
EP (1) | EP1027650B1 (zh) |
JP (1) | JP3714598B2 (zh) |
CN (1) | CN1117319C (zh) |
IL (1) | IL135460A0 (zh) |
TW (1) | TW432327B (zh) |
WO (1) | WO1999021089A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947095B (zh) * | 2004-04-28 | 2011-05-04 | 松下电器产业株式会社 | 数据处理方法 |
CN101661386B (zh) * | 2009-09-24 | 2013-03-20 | 成都市华为赛门铁克科技有限公司 | 多硬件线程处理器的业务处理装置及其业务处理方法 |
CN101334721B (zh) * | 2004-09-23 | 2013-06-19 | 英特尔公司 | 线程活锁单元 |
CN101681261B (zh) * | 2007-06-20 | 2014-07-16 | 富士通株式会社 | 运算处理装置及其控制方法 |
Families Citing this family (266)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US6385715B1 (en) * | 1996-11-13 | 2002-05-07 | Intel Corporation | Multi-threading for a processor utilizing a replay queue |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE59710317D1 (de) * | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US8686549B2 (en) * | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
JP3027845B2 (ja) * | 1997-11-21 | 2000-04-04 | オムロン株式会社 | プログラム制御装置および方法 |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
DE19757876C2 (de) * | 1997-12-24 | 2002-06-20 | Bosch Gmbh Robert | Verfahren zur Ermittlung der Auslastung eines Rechengeräts |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6718457B2 (en) * | 1998-12-03 | 2004-04-06 | Sun Microsystems, Inc. | Multiple-thread processor for threaded software applications |
US7114056B2 (en) | 1998-12-03 | 2006-09-26 | Sun Microsystems, Inc. | Local and global register partitioning in a VLIW processor |
US7117342B2 (en) * | 1998-12-03 | 2006-10-03 | Sun Microsystems, Inc. | Implicitly derived register specifiers in a processor |
US7257814B1 (en) | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US7020879B1 (en) * | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US7035997B1 (en) | 1998-12-16 | 2006-04-25 | Mips Technologies, Inc. | Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US7529907B2 (en) | 1998-12-16 | 2009-05-05 | Mips Technologies, Inc. | Method and apparatus for improved computer load and store operations |
US6477562B2 (en) * | 1998-12-16 | 2002-11-05 | Clearwater Networks, Inc. | Prioritized instruction scheduling for multi-streaming processors |
US7237093B1 (en) | 1998-12-16 | 2007-06-26 | Mips Technologies, Inc. | Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams |
US7370325B1 (en) * | 1999-02-19 | 2008-05-06 | Lucent Technologies Inc. | Eager evaluation of tasks in a workflow system |
US6874144B1 (en) * | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US7644439B2 (en) * | 1999-05-03 | 2010-01-05 | Cisco Technology, Inc. | Timing attacks against user logon and network I/O |
DE10081643D2 (de) | 1999-06-10 | 2002-05-29 | Pact Inf Tech Gmbh | Sequenz-Partitionierung auf Zellstrukturen |
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 |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6631009B1 (en) * | 1999-09-24 | 2003-10-07 | Xerox Corporation | Avoiding deadlock situations in a printing system using a locking time-out mechanism |
US7518993B1 (en) * | 1999-11-19 | 2009-04-14 | The United States Of America As Represented By The Secretary Of The Navy | Prioritizing resource utilization in multi-thread computing system |
US6357016B1 (en) * | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6496925B1 (en) | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) * | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US7051329B1 (en) | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6832265B1 (en) * | 2000-01-07 | 2004-12-14 | Cisco Technology, Inc. | Methods and apparatus for moving data elements within a data communications device |
US7099855B1 (en) | 2000-01-13 | 2006-08-29 | International Business Machines Corporation | System and method for electronic communication management |
US8041754B1 (en) * | 2000-01-22 | 2011-10-18 | Intel Corporation | Establishing thread priority in a processor or the like |
US7299194B1 (en) * | 2000-02-22 | 2007-11-20 | International Business Machines Corporation | Method and system for researching sales effects of advertising using association analysis |
US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
US6810432B1 (en) * | 2000-04-03 | 2004-10-26 | Hewlett-Packard Development Company, L.P. | Method for guaranteeing a device minimun bandwidth on a usb bus |
US6931641B1 (en) | 2000-04-04 | 2005-08-16 | International Business Machines Corporation | Controller for multiple instruction thread processors |
JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
JP2004518183A (ja) | 2000-07-14 | 2004-06-17 | クリアウオーター・ネツトワークス・インコーポレイテツド | マルチスレッド・システムにおける命令のフェッチとディスパッチ |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
AU2002241767A1 (en) * | 2000-10-23 | 2002-06-18 | Xyron Corporation | Concurrent-multitasking processor |
US6467033B2 (en) * | 2000-12-12 | 2002-10-15 | International Business Machines Corporation | Method and apparatus for implementing locking of non-data page operations |
US7644057B2 (en) * | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
GB2372847B (en) | 2001-02-19 | 2004-12-29 | Imagination Tech Ltd | Control of priority and instruction rates on a multithreaded processor |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US20070299993A1 (en) * | 2001-03-05 | 2007-12-27 | Pact Xpp Technologies Ag | Method and Device for Treating and Processing Data |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20030014474A1 (en) * | 2001-05-30 | 2003-01-16 | Mckaig Ray S. | Alternate zero overhead task change circuit |
US6651158B2 (en) * | 2001-06-22 | 2003-11-18 | Intel Corporation | Determination of approaching instruction starvation of threads based on a plurality of conditions |
US7454600B2 (en) | 2001-06-22 | 2008-11-18 | Intel Corporation | Method and apparatus for assigning thread priority in a processor or the like |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US20060218556A1 (en) * | 2001-09-28 | 2006-09-28 | Nemirovsky Mario D | Mechanism for managing resource locking in a multi-threaded environment |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
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 |
EP2043000B1 (de) * | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bussysteme und Rekonfigurationsverfahren |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
AU2003231945A1 (en) * | 2002-05-31 | 2003-12-19 | Guang R. Gao | Method and apparatus for real-time multithreading |
US20030225816A1 (en) | 2002-06-03 | 2003-12-04 | Morrow Michael W. | Architecture to support multiple concurrent threads of execution on an arm-compatible processor |
US8024735B2 (en) * | 2002-06-14 | 2011-09-20 | Intel Corporation | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution |
US7471688B2 (en) * | 2002-06-18 | 2008-12-30 | Intel Corporation | Scheduling system for transmission of cells to ATM virtual circuits and DSL ports |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US20040034759A1 (en) * | 2002-08-16 | 2004-02-19 | Lexra, Inc. | Multi-threaded pipeline with context issue rules |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7065596B2 (en) * | 2002-09-19 | 2006-06-20 | Intel Corporation | Method and apparatus to resolve instruction starvation |
US7096470B2 (en) * | 2002-09-19 | 2006-08-22 | International Business Machines Corporation | Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure |
US6965986B2 (en) * | 2002-09-19 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for implementing two-tiered thread state multithreading support with high clock rate |
US7984268B2 (en) * | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US7653906B2 (en) * | 2002-10-23 | 2010-01-26 | Intel Corporation | Apparatus and method for reducing power consumption on simultaneous multi-threading systems |
US7433307B2 (en) * | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US7181741B2 (en) * | 2003-01-30 | 2007-02-20 | Hewlett-Packard Development Company, L.P. | Apparatus and method to minimize blocking overhead in upcall based MxN threads |
US7673304B2 (en) | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US7487502B2 (en) * | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
US7849465B2 (en) * | 2003-02-19 | 2010-12-07 | Intel Corporation | Programmable event driven yield mechanism which may activate service threads |
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US7278141B2 (en) * | 2003-04-23 | 2007-10-02 | International Business Machines Corporation | System and method for adding priority change value corresponding with a lock to a thread during lock processing |
US7000047B2 (en) * | 2003-04-23 | 2006-02-14 | International Business Machines Corporation | Mechanism for effectively handling livelocks in a simultaneous multithreading processor |
US7013400B2 (en) * | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
US7363625B2 (en) * | 2003-04-24 | 2008-04-22 | International Business Machines Corporation | Method for changing a thread priority in a simultaneous multithread processor |
US7290261B2 (en) * | 2003-04-24 | 2007-10-30 | International Business Machines Corporation | Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor |
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 |
US20050187913A1 (en) * | 2003-05-06 | 2005-08-25 | Yoram Nelken | Web-based customer service interface |
US8495002B2 (en) * | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
EP1634182A2 (en) * | 2003-06-17 | 2006-03-15 | PACT XPP Technologies AG | Data processing device and method |
JP3892829B2 (ja) * | 2003-06-27 | 2007-03-14 | 株式会社東芝 | 情報処理システムおよびメモリ管理方法 |
US7380247B2 (en) * | 2003-07-24 | 2008-05-27 | International Business Machines Corporation | System for delaying priority boost in a priority offset amount only after detecting of preemption event during access to critical section |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US7441101B1 (en) | 2003-12-10 | 2008-10-21 | Cisco Technology, Inc. | Thread-aware instruction fetching in a multithreaded embedded processor |
US7360064B1 (en) | 2003-12-10 | 2008-04-15 | Cisco Technology, Inc. | Thread interleaving in a multithreaded embedded processor |
US20060212874A1 (en) * | 2003-12-12 | 2006-09-21 | Johnson Erik J | Inserting instructions |
US8694976B2 (en) * | 2003-12-19 | 2014-04-08 | Intel Corporation | Sleep state mechanism for virtual multithreading |
US7206922B1 (en) | 2003-12-30 | 2007-04-17 | Cisco Systems, Inc. | Instruction memory hierarchy for an embedded processor |
US8643659B1 (en) | 2003-12-31 | 2014-02-04 | 3Dlabs Inc., Ltd. | Shader with global and instruction caches |
US20050166177A1 (en) * | 2004-01-27 | 2005-07-28 | Ylian Saint-Hilaire | Thread module chaining |
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 |
GB0407384D0 (en) * | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
JP4327008B2 (ja) * | 2004-04-21 | 2009-09-09 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US20050246461A1 (en) * | 2004-04-29 | 2005-11-03 | International Business Machines Corporation | Scheduling threads in a multi-processor computer |
US7216216B1 (en) | 2004-06-30 | 2007-05-08 | Sun Microsystems, Inc. | Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window |
US7941642B1 (en) | 2004-06-30 | 2011-05-10 | Oracle America, Inc. | Method for selecting between divide instructions associated with respective threads in a multi-threaded processor |
US7383403B1 (en) | 2004-06-30 | 2008-06-03 | Sun Microsystems, Inc. | Concurrent bypass to instruction buffers in a fine grain multithreaded processor |
US7437538B1 (en) | 2004-06-30 | 2008-10-14 | Sun Microsystems, Inc. | Apparatus and method for reducing execution latency of floating point operations having special case operands |
US7353364B1 (en) | 2004-06-30 | 2008-04-01 | Sun Microsystems, Inc. | Apparatus and method for sharing a functional unit execution resource among a plurality of functional units |
US7523330B2 (en) * | 2004-06-30 | 2009-04-21 | Sun Microsystems, Inc. | Thread-based clock enabling in a multi-threaded processor |
US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US8095778B1 (en) | 2004-06-30 | 2012-01-10 | Open Computing Trust I & II | Method and system for sharing functional units of a multithreaded processor |
US7401206B2 (en) * | 2004-06-30 | 2008-07-15 | Sun Microsystems, Inc. | Apparatus and method for fine-grained multithreading in a multipipelined processor core |
US7676655B2 (en) * | 2004-06-30 | 2010-03-09 | Sun Microsystems, Inc. | Single bit control of threads in a multithreaded multicore processor |
US7533248B1 (en) | 2004-06-30 | 2009-05-12 | Sun Microsystems, Inc. | Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor |
US7343474B1 (en) | 2004-06-30 | 2008-03-11 | Sun Microsystems, Inc. | Minimal address state in a fine grain multithreaded processor |
US7426630B1 (en) | 2004-06-30 | 2008-09-16 | Sun Microsystems, Inc. | Arbitration of window swap operations |
US7370243B1 (en) | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US7861063B1 (en) | 2004-06-30 | 2010-12-28 | Oracle America, Inc. | Delay slot handling in a processor |
US8225034B1 (en) | 2004-06-30 | 2012-07-17 | Oracle America, Inc. | Hybrid instruction buffer |
US7185178B1 (en) | 2004-06-30 | 2007-02-27 | Sun Microsystems, Inc. | Fetch speculation in a multithreaded processor |
US7478225B1 (en) | 2004-06-30 | 2009-01-13 | Sun Microsystems, Inc. | Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor |
US7774393B1 (en) | 2004-06-30 | 2010-08-10 | Oracle America, Inc. | Apparatus and method for integer to floating-point format conversion |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7890734B2 (en) * | 2004-06-30 | 2011-02-15 | Open Computing Trust I & II | Mechanism for selecting instructions for execution in a multithreaded processor |
US7178005B1 (en) | 2004-06-30 | 2007-02-13 | Sun Microsystems, Inc. | Efficient implementation of timers in a multithreaded processor |
US7747771B1 (en) | 2004-06-30 | 2010-06-29 | Oracle America, Inc. | Register access protocol in a multihreaded multi-core processor |
US7373489B1 (en) | 2004-06-30 | 2008-05-13 | Sun Microsystems, Inc. | Apparatus and method for floating-point exception prediction and recovery |
US7434000B1 (en) | 2004-06-30 | 2008-10-07 | Sun Microsystems, Inc. | Handling duplicate cache misses in a multithreaded/multi-core processor |
US7487503B2 (en) | 2004-08-12 | 2009-02-03 | International Business Machines Corporation | Scheduling threads in a multiprocessor computer |
US7546308B1 (en) * | 2004-09-17 | 2009-06-09 | Symantec Operating Corporation | Model and method of an n-tier quality-of-service (QoS) |
US7392366B2 (en) * | 2004-09-17 | 2008-06-24 | International Business Machines Corp. | Adaptive fetch gating in multithreaded processors, fetch control and method of controlling fetches |
US9626194B2 (en) | 2004-09-23 | 2017-04-18 | Intel Corporation | Thread livelock unit |
US8789051B2 (en) | 2004-11-18 | 2014-07-22 | Hamilton Sundstrand Corporation | Operating system and architecture for embedded system |
US7765547B2 (en) * | 2004-11-24 | 2010-07-27 | Maxim Integrated Products, Inc. | Hardware multithreading systems with state registers having thread profiling data |
US8037250B1 (en) | 2004-12-09 | 2011-10-11 | Oracle America, Inc. | Arbitrating cache misses in a multithreaded/multi-core processor |
US7721292B2 (en) * | 2004-12-16 | 2010-05-18 | International Business Machines Corporation | System for adjusting resource allocation to a logical partition based on rate of page swaps and utilization by changing a boot configuration file |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7853777B2 (en) * | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
US7506140B2 (en) * | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
US7657891B2 (en) * | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7664936B2 (en) * | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
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 |
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 |
US7752627B2 (en) * | 2005-02-04 | 2010-07-06 | Mips Technologies, Inc. | Leaky-bucket thread scheduler in a multithreading microprocessor |
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 |
US7681014B2 (en) | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7921365B2 (en) * | 2005-02-15 | 2011-04-05 | Microsoft Corporation | System and method for browsing tabbed-heterogeneous windows |
CN102968302B (zh) * | 2005-03-02 | 2016-01-27 | 英特尔公司 | 利用同步开销以改善多线程性能的机制 |
US20060206902A1 (en) * | 2005-03-14 | 2006-09-14 | Sujat Jamil | Variable interleaved multithreaded processor method and system |
US7917907B2 (en) * | 2005-03-23 | 2011-03-29 | Qualcomm Incorporated | Method and system for variable thread allocation and switching in a multithreaded processor |
US7765550B2 (en) * | 2005-05-26 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | System for controlling context switch of deferred requests using counter and flag setting of thread accessing shared resource or entering code region |
US7631125B2 (en) * | 2005-09-30 | 2009-12-08 | Intel Corporation | Dynamically migrating channels |
US20070088680A1 (en) * | 2005-10-14 | 2007-04-19 | Microsoft Corporation | Simultaneously spawning multiple searches across multiple providers |
US8250503B2 (en) * | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
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 |
US8065459B2 (en) | 2006-05-17 | 2011-11-22 | Nxp B.V. | Multi-processing system and a method of executing a plurality of data processing tasks |
US8495649B2 (en) * | 2006-07-19 | 2013-07-23 | International Business Machines Corporation | Scheduling threads having complementary functional unit usage on SMT processors |
US20080022283A1 (en) * | 2006-07-19 | 2008-01-24 | International Business Machines Corporation | Quality of service scheduling for simultaneous multi-threaded processors |
US20100192199A1 (en) | 2006-09-07 | 2010-07-29 | Cwi International, Llc | Creating and using a specific user unique id for security login authentication |
WO2008031050A2 (en) * | 2006-09-07 | 2008-03-13 | Black Lab Security Systems, Inc. | Method of controlling a 32/64-bit parallel thread execution within a microsoft pc or server operating system utility program |
US7961745B2 (en) * | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector supporting dynamic priorities in multi-port switch |
US7990989B2 (en) * | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group priorities in multi-port switch |
US7773621B2 (en) * | 2006-09-16 | 2010-08-10 | Mips Technologies, Inc. | Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch |
US7760748B2 (en) * | 2006-09-16 | 2010-07-20 | Mips Technologies, Inc. | Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch |
US8479201B2 (en) * | 2006-09-18 | 2013-07-02 | Innovasic, Inc. | Processor with hardware solution for priority inversion |
JP2008123045A (ja) * | 2006-11-08 | 2008-05-29 | Matsushita Electric Ind Co Ltd | プロセッサ |
US8370806B2 (en) | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US8341604B2 (en) * | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8380966B2 (en) * | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US7560945B2 (en) * | 2007-02-06 | 2009-07-14 | International Business Machines Corporation | Integrated circuit failure prediction |
US7779235B2 (en) * | 2007-02-06 | 2010-08-17 | International Business Machines Corporation | Using performance data for instruction thread direction |
US7895454B2 (en) | 2007-02-06 | 2011-02-22 | International Business Machines Corporation | Instruction dependent dynamic voltage compensation |
US7936153B2 (en) * | 2007-02-06 | 2011-05-03 | International Business Machines Corporation | On-chip adaptive voltage compensation |
US7865750B2 (en) * | 2007-02-06 | 2011-01-04 | International Business Machines Corporation | Fan speed control from adaptive voltage supply |
US8615767B2 (en) * | 2007-02-06 | 2013-12-24 | International Business Machines Corporation | Using IR drop data for instruction thread direction |
US8022685B2 (en) * | 2007-02-06 | 2011-09-20 | International Business Machines Corporation | Temperature dependent voltage source compensation |
US7714635B2 (en) * | 2007-02-06 | 2010-05-11 | International Business Machines Corporation | Digital adaptive voltage supply |
US7971035B2 (en) * | 2007-02-06 | 2011-06-28 | International Business Machines Corporation | Using temperature data for instruction thread direction |
WO2008109870A1 (en) * | 2007-03-07 | 2008-09-12 | Spinealign Medical, Inc. | Transdiscal interbody fusion device and method |
GB2448118B (en) * | 2007-04-03 | 2011-08-24 | Advanced Risc Mach Ltd | Error recovery following erroneous execution with an instruction processing pipeline |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US7926035B2 (en) * | 2007-04-24 | 2011-04-12 | Microsoft Corporation | Testing multi-thread software using prioritized context switch limits |
US8832702B2 (en) * | 2007-05-10 | 2014-09-09 | Freescale Semiconductor, Inc. | Thread de-emphasis instruction for multithreaded processor |
EP2159692A4 (en) * | 2007-06-20 | 2010-09-15 | Fujitsu Ltd | Information processor and load cancellation control method |
GB2451845B (en) * | 2007-08-14 | 2010-03-17 | Imagination Tech Ltd | Compound instructions in a multi-threaded processor |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8005880B2 (en) * | 2007-08-24 | 2011-08-23 | International Business Machines Corporation | Half width counting leading zero circuit |
US8185572B2 (en) * | 2007-08-24 | 2012-05-22 | International Business Machines Corporation | Data correction circuit |
US7797131B2 (en) | 2007-08-24 | 2010-09-14 | International Business Machines Corporation | On-chip frequency response measurement |
US8972958B1 (en) | 2012-10-23 | 2015-03-03 | Convey Computer | Multistage development workflow for generating a custom instruction set reconfigurable processor |
JP2009080690A (ja) * | 2007-09-26 | 2009-04-16 | Nec Corp | 情報記録再生システム,情報記録再生方法及びプログラム |
DE112008003643A5 (de) * | 2007-11-17 | 2010-10-28 | Krass, Maren | Rekonfigurierbare Fliesskomma- und Bit- ebenen Datenverarbeitungseinheit |
US8151008B2 (en) * | 2008-07-02 | 2012-04-03 | Cradle Ip, Llc | Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling |
US8024719B2 (en) | 2008-11-03 | 2011-09-20 | Advanced Micro Devices, Inc. | Bounded hash table sorting in a dynamic program profiling system |
US20100115494A1 (en) * | 2008-11-03 | 2010-05-06 | Gorton Jr Richard C | System for dynamic program profiling |
US8478948B2 (en) * | 2008-12-04 | 2013-07-02 | Oracle America, Inc. | Method and system for efficient tracing and profiling of memory accesses during program execution |
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 |
WO2011051011A1 (en) * | 2009-10-29 | 2011-05-05 | International Business Machines Corporation | A method, system and program to manage scheduling of processes |
US8930907B2 (en) * | 2009-12-01 | 2015-01-06 | Microsoft Corporation | Concurrency software testing with probabilistic bounds on finding bugs |
US8700943B2 (en) * | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
WO2011161830A1 (ja) * | 2010-06-25 | 2011-12-29 | 富士通株式会社 | マルチコアシステムおよびスケジューリング方法 |
US20120005682A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Holistic task scheduling for distributed computing |
US8789065B2 (en) * | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9465670B2 (en) | 2011-12-16 | 2016-10-11 | Intel Corporation | Generational thread scheduler using reservations for fair scheduling |
US9372478B2 (en) * | 2012-01-04 | 2016-06-21 | General Electric Company | Control system for a power application |
US10430190B2 (en) * | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US10275251B2 (en) | 2012-10-31 | 2019-04-30 | International Business Machines Corporation | Processor for avoiding reduced performance using instruction metadata to determine not to maintain a mapping of a logical register to a physical register in a first level register file |
US9286068B2 (en) | 2012-10-31 | 2016-03-15 | International Business Machines Corporation | Efficient usage of a multi-level register file utilizing a register file bypass |
US8972803B2 (en) * | 2012-11-14 | 2015-03-03 | Alcatel Lucent | Run-time default detection in a component associated with an application programming interface platform |
US9569260B2 (en) | 2013-05-31 | 2017-02-14 | Microsoft Technology Licensing, Llc | Efficient priority-aware thread scheduling |
US9652284B2 (en) * | 2013-10-01 | 2017-05-16 | Qualcomm Incorporated | GPU divergence barrier |
US9665372B2 (en) | 2014-05-12 | 2017-05-30 | International Business Machines Corporation | Parallel slice processor with dynamic instruction stream mapping |
US9672043B2 (en) | 2014-05-12 | 2017-06-06 | International Business Machines Corporation | Processing of multiple instruction streams in a parallel slice processor |
US9760375B2 (en) | 2014-09-09 | 2017-09-12 | International Business Machines Corporation | Register files for storing data operated on by instructions of multiple widths |
US9720696B2 (en) | 2014-09-30 | 2017-08-01 | International Business Machines Corporation | Independent mapping of threads |
US10101889B2 (en) | 2014-10-10 | 2018-10-16 | Salesforce.Com, Inc. | Dashboard builder with live data updating without exiting an edit mode |
US9396018B2 (en) * | 2014-10-10 | 2016-07-19 | Salesforce.Com, Inc. | Low latency architecture with directory service for integration of transactional data system with analytical data structures |
US9600548B2 (en) | 2014-10-10 | 2017-03-21 | Salesforce.Com | Row level security integration of analytical data store with cloud architecture |
US9449188B2 (en) | 2014-10-10 | 2016-09-20 | Salesforce.Com, Inc. | Integration user for analytical access to read only data stores generated from transactional systems |
US10049141B2 (en) | 2014-10-10 | 2018-08-14 | salesforce.com,inc. | Declarative specification of visualization queries, display formats and bindings |
US9977678B2 (en) | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
US10133576B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
US10133581B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Linkable issue queue parallel execution slice for a processor |
US20180003614A1 (en) * | 2015-01-30 | 2018-01-04 | Hewlett-Packard Development Company, L.P. | Multi-threaded fluid parameter signal processing |
US10248463B2 (en) * | 2015-02-13 | 2019-04-02 | Honeywell International Inc. | Apparatus and method for managing a plurality of threads in an operating system |
US10115213B2 (en) | 2015-09-15 | 2018-10-30 | Salesforce, Inc. | Recursive cell-based hierarchy for data visualizations |
US10089368B2 (en) | 2015-09-18 | 2018-10-02 | Salesforce, Inc. | Systems and methods for making visual data representations actionable |
US9983875B2 (en) | 2016-03-04 | 2018-05-29 | International Business Machines Corporation | Operation of a multi-slice processor preventing early dependent instruction wakeup |
US10037211B2 (en) | 2016-03-22 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor with an expanded merge fetching queue |
US10346174B2 (en) | 2016-03-24 | 2019-07-09 | International Business Machines Corporation | Operation of a multi-slice processor with dynamic canceling of partial loads |
US10706101B2 (en) | 2016-04-14 | 2020-07-07 | Advanced Micro Devices, Inc. | Bucketized hash tables with remap entries |
US10761854B2 (en) | 2016-04-19 | 2020-09-01 | International Business Machines Corporation | Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor |
US10037229B2 (en) | 2016-05-11 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions |
US9934033B2 (en) | 2016-06-13 | 2018-04-03 | International Business Machines Corporation | Operation of a multi-slice processor implementing simultaneous two-target loads and stores |
US10042647B2 (en) | 2016-06-27 | 2018-08-07 | International Business Machines Corporation | Managing a divided load reorder queue |
US10318419B2 (en) | 2016-08-08 | 2019-06-11 | International Business Machines Corporation | Flush avoidance in a load store unit |
US10248457B2 (en) | 2016-08-10 | 2019-04-02 | International Business Machines Corporation | Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task |
US10275280B2 (en) | 2016-08-10 | 2019-04-30 | International Business Machines Corporation | Reserving a core of a processor complex for a critical task |
US10311047B2 (en) | 2016-10-19 | 2019-06-04 | Salesforce.Com, Inc. | Streamlined creation and updating of OLAP analytic databases |
US10248464B2 (en) | 2016-10-24 | 2019-04-02 | International Business Machines Corporation | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex |
US10223164B2 (en) | 2016-10-24 | 2019-03-05 | International Business Machines Corporation | Execution of critical tasks based on the number of available processing entities |
CN107391248B (zh) * | 2017-07-28 | 2019-10-25 | 四川华泰电气股份有限公司 | 用于stm32系统的多级反馈队列调度方法 |
CN109726006B (zh) * | 2017-10-27 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统的方法、装置和计算机存储介质 |
KR102327878B1 (ko) * | 2017-11-07 | 2021-11-17 | 삼성전자주식회사 | 반도체 장치 및 반도체 시스템 |
US11068274B2 (en) * | 2017-12-15 | 2021-07-20 | International Business Machines Corporation | Prioritized instructions in an instruction completion table of a simultaneous multithreading processor |
CN109298942B (zh) * | 2018-10-09 | 2022-07-12 | Oppo广东移动通信有限公司 | 图片处理方法及电子装置 |
US11144318B2 (en) * | 2019-08-26 | 2021-10-12 | Arm Limited | Method and apparatus for application thread prioritization |
CN112579278B (zh) * | 2020-12-24 | 2023-01-20 | 海光信息技术股份有限公司 | 用于同步多线程的中央处理单元、方法、设备及存储介质 |
CN114227716B (zh) * | 2021-12-30 | 2024-06-04 | 重庆特斯联智慧科技股份有限公司 | 支持控制逻辑云调用的机器人系统及其方法 |
CN114490074B (zh) * | 2022-01-30 | 2024-09-13 | 上海阵量智能科技有限公司 | 仲裁系统、方法、电子设备、存储介质及芯片 |
CN115080577B (zh) * | 2022-05-27 | 2024-08-27 | 平安银行股份有限公司 | 数据统计周期切换方法、装置、设备及存储介质 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3373408A (en) | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US3566357A (en) | 1966-07-05 | 1971-02-23 | Rca Corp | Multi-processor multi-programed computer system |
DE1549531A1 (de) | 1966-08-16 | 1971-04-01 | Scient Data Systems Inc | Digitale Rechenanlage |
US3568173A (en) | 1968-08-19 | 1971-03-02 | Scient Data Systems Inc | Memory stroage element drive circuit |
US3771138A (en) | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
US3728692A (en) | 1971-08-31 | 1973-04-17 | Ibm | Instruction selection in a two-program counter instruction unit |
US3916383A (en) | 1973-02-20 | 1975-10-28 | Memorex Corp | Multi-processor data processing system |
FR2253428A5 (zh) | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
IT1000638B (it) | 1973-12-28 | 1976-04-10 | Olivetti & Co Spa | Calcolatore elettronico con dispo sitivo di deviazione dei micropro grammi |
US3980992A (en) | 1974-11-26 | 1976-09-14 | Burroughs Corporation | Multi-microprocessing unit on a single semiconductor chip |
US4047161A (en) | 1976-04-30 | 1977-09-06 | International Business Machines Corporation | Task management apparatus |
US4229790A (en) | 1978-10-16 | 1980-10-21 | Denelcor, Inc. | Concurrent task and instruction processor and method |
US4320453A (en) | 1978-11-02 | 1982-03-16 | Digital House, Ltd. | Dual sequencer microprocessor |
FR2471631B1 (fr) | 1979-12-11 | 1986-02-21 | Cii Honeywell Bull | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
US4384324A (en) | 1980-05-06 | 1983-05-17 | Burroughs Corporation | Microprogrammed digital data processing system employing tasking at a microinstruction level |
US4493020A (en) | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation |
US4532587A (en) | 1981-08-26 | 1985-07-30 | Texas Instruments Incorporated | Single chip processor connected to an external memory chip |
US4680698A (en) | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
GB8309770D0 (en) | 1983-04-11 | 1983-05-18 | Inmos Ltd | Microcomputer |
US5103394A (en) | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
US4829425A (en) | 1986-10-21 | 1989-05-09 | Intel Corporation | Memory-based interagent communication mechanism |
JPS63123218A (ja) | 1986-11-12 | 1988-05-27 | Nec Corp | タイマ/カウンタ回路 |
US4853849A (en) | 1986-12-17 | 1989-08-01 | Intel Corporation | Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction |
US5159686A (en) | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
US5050070A (en) | 1988-02-29 | 1991-09-17 | Convex Computer Corporation | Multi-processor computer system having self-allocating processors |
US5148536A (en) | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
EP0473714A1 (en) | 1989-05-26 | 1992-03-11 | Massachusetts Institute Of Technology | Parallel multithreaded data processing system |
US5353418A (en) | 1989-05-26 | 1994-10-04 | Massachusetts Institute Of Technology | System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread |
GB2234613B (en) | 1989-08-03 | 1993-07-07 | Sun Microsystems Inc | Method and apparatus for switching context of state elements in a microprocessor |
US5079725A (en) | 1989-11-17 | 1992-01-07 | Ibm Corporation | Chip identification method for use with scan design systems and scan testing techniques |
US5471593A (en) | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5197138A (en) | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
US5179702A (en) | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
US5339415A (en) | 1990-06-11 | 1994-08-16 | Cray Research, Inc. | Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system |
DE69129569T2 (de) | 1990-09-05 | 1999-02-04 | Philips Electronics N.V., Eindhoven | Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen |
DE69130723T2 (de) | 1990-10-05 | 1999-07-22 | Koninklijke Philips Electronics N.V., Eindhoven | Verarbeitungsgerät mit Speicherschaltung und eine Gruppe von Funktionseinheiten |
JP2743608B2 (ja) | 1991-03-27 | 1998-04-22 | 日本電気株式会社 | 共有レジスタ制御方式 |
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
US5530866A (en) | 1991-07-30 | 1996-06-25 | Tera Computer Company | Register allocation methods having upward pass for determining and propagating variable usage information and downward pass for binding; both passes utilizing interference graphs via coloring |
US5247675A (en) | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
US5630128A (en) * | 1991-08-09 | 1997-05-13 | International Business Machines Corporation | Controlled scheduling of program threads in a multitasking operating system |
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 |
US5357617A (en) | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
US5404469A (en) | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5287508A (en) | 1992-04-07 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for efficient scheduling in a multiprocessor system |
US5553305A (en) | 1992-04-14 | 1996-09-03 | International Business Machines Corporation | System for synchronizing execution by a processing element of threads within a process using a state indicator |
JP3309425B2 (ja) | 1992-05-22 | 2002-07-29 | 松下電器産業株式会社 | キャッシュ制御装置 |
US5515538A (en) | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US5423008A (en) | 1992-08-03 | 1995-06-06 | Silicon Graphics, Inc. | Apparatus and method for detecting the activities of a plurality of processors on a shared bus |
DE69325785T2 (de) | 1992-12-29 | 2000-02-17 | Koninklijke Philips Electronics N.V., Eindhoven | Verbesserte Architektur für Prozessor mit sehr langem Befehlswort |
DE69429204T2 (de) | 1993-03-26 | 2002-07-25 | Cabletron Systems Inc | Ablaufssteuerungsverfahren und -gerät für ein Kommunikationsnetzwerk |
WO1994027216A1 (en) | 1993-05-14 | 1994-11-24 | Massachusetts Institute Of Technology | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism |
US5490272A (en) | 1994-01-28 | 1996-02-06 | International Business Machines Corporation | Method and apparatus for creating multithreaded time slices in a multitasking operating system |
US5613114A (en) | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
JPH096633A (ja) | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
US5630136A (en) | 1995-06-09 | 1997-05-13 | Sun Microsystems, Inc. | Method and apparatus for serializing access to multithreading unsafe resources |
US5826081A (en) * | 1996-05-06 | 1998-10-20 | Sun Microsystems, Inc. | Real time thread dispatcher for multiprocessor applications |
-
1997
- 1997-10-23 US US08/958,718 patent/US6212544B1/en not_active Expired - Lifetime
-
1998
- 1998-10-14 CN CN98810355A patent/CN1117319C/zh not_active Expired - Lifetime
- 1998-10-14 EP EP98952308A patent/EP1027650B1/en not_active Expired - Lifetime
- 1998-10-14 JP JP2000517342A patent/JP3714598B2/ja not_active Expired - Lifetime
- 1998-10-14 WO PCT/US1998/021724 patent/WO1999021089A1/en active Application Filing
- 1998-10-14 IL IL13546098A patent/IL135460A0/xx not_active IP Right Cessation
- 1998-10-20 TW TW087117329A patent/TW432327B/zh not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947095B (zh) * | 2004-04-28 | 2011-05-04 | 松下电器产业株式会社 | 数据处理方法 |
CN101334721B (zh) * | 2004-09-23 | 2013-06-19 | 英特尔公司 | 线程活锁单元 |
CN101681261B (zh) * | 2007-06-20 | 2014-07-16 | 富士通株式会社 | 运算处理装置及其控制方法 |
CN101661386B (zh) * | 2009-09-24 | 2013-03-20 | 成都市华为赛门铁克科技有限公司 | 多硬件线程处理器的业务处理装置及其业务处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1027650B1 (en) | 2012-06-20 |
IL135460A0 (en) | 2001-05-20 |
CN1276890A (zh) | 2000-12-13 |
WO1999021089A1 (en) | 1999-04-29 |
EP1027650A1 (en) | 2000-08-16 |
TW432327B (en) | 2001-05-01 |
JP3714598B2 (ja) | 2005-11-09 |
US6212544B1 (en) | 2001-04-03 |
JP2001521219A (ja) | 2001-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1117319C (zh) | 在多线程处理器中改变线程优先级的方法和装置 | |
CN1112636C (zh) | 在多线程处理器中选择线程切换事件的方法和装置 | |
CN1127017C (zh) | 线程切换控制方法及用于该方法的线程状态寄存器 | |
CN1188794C (zh) | 到一个共享的协处理器资源的多个逻辑接口 | |
US7979680B2 (en) | Multi-threaded parallel processor methods and apparatus | |
CN101896886B (zh) | 一种用于计算机系统的资源分配方法及进程执行方法 | |
CN1308825C (zh) | 用于在smt处理器中进行cpi负载平衡的系统和方法 | |
US6105051A (en) | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor | |
CN1308826C (zh) | 用于smt处理器上的cpi调度的系统和方法 | |
US6076157A (en) | Method and apparatus to force a thread switch in a multithreaded processor | |
US20040172631A1 (en) | Concurrent-multitasking processor | |
CN1316367C (zh) | 增强调度线程的优先级引导的系统、设备和方法 | |
US20030195920A1 (en) | Apparatus and method for minimizing lock contention in a multiple processor system with multiple run queues | |
CN101031877A (zh) | 线程活锁单元 | |
CN1582428A (zh) | 用于在非均衡存储器存取计算机系统中调度任务的方法和设备 | |
JPH03144847A (ja) | マルチプロセッサ・システムおよびそのプロセス同期方法 | |
JP2004110795A (ja) | 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 | |
CN108920267A (zh) | 任务处理装置 | |
Kim et al. | Using DVFS and task scheduling algorithms for a hard real-time heterogeneous multicore processor environment | |
WO2002046887A2 (en) | Concurrent-multitasking processor | |
CN1384431A (zh) | 上下文保存 | |
CN117931437A (zh) | 一种多线程处理器动态优先级切换方法 | |
CN117971429A (zh) | 一种基于协程的近数据处理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: GOOGLE INC. Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP. Effective date: 20120301 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20120301 Address after: American California Patentee after: Google Inc. Address before: American New York Patentee before: International Business Machines Corp. |
|
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |
|
CX01 | Expiry of patent term |
Granted publication date: 20030806 |
|
CX01 | Expiry of patent term |