WO2000068778A3 - Multiple-thread processor with single-thread interface shared among threads - Google Patents
Multiple-thread processor with single-thread interface shared among threads Download PDFInfo
- Publication number
- WO2000068778A3 WO2000068778A3 PCT/US2000/012800 US0012800W WO0068778A3 WO 2000068778 A3 WO2000068778 A3 WO 2000068778A3 US 0012800 W US0012800 W US 0012800W WO 0068778 A3 WO0068778 A3 WO 0068778A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- processor
- thread
- tid
- threads
- Prior art date
Links
- 239000000872 buffer Substances 0.000 abstract 2
- 238000005204 segregation Methods 0.000 abstract 2
- 238000000034 method Methods 0.000 abstract 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
- G06F9/30127—Register windows
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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, 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; 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- 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
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/309,734 | 1999-05-11 | ||
US09/309,734 US6542991B1 (en) | 1999-05-11 | 1999-05-11 | Multiple-thread processor with single-thread interface shared among threads |
Publications (4)
Publication Number | Publication Date |
---|---|
WO2000068778A2 WO2000068778A2 (en) | 2000-11-16 |
WO2000068778A3 true WO2000068778A3 (en) | 2001-08-09 |
WO2000068778B1 WO2000068778B1 (en) | 2001-10-04 |
WO2000068778A9 WO2000068778A9 (en) | 2002-04-04 |
Family
ID=23199449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/012800 WO2000068778A2 (en) | 1999-05-11 | 2000-05-09 | Multiple-thread processor with single-thread interface shared among threads |
Country Status (2)
Country | Link |
---|---|
US (4) | US6542991B1 (en) |
WO (1) | WO2000068778A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032737B2 (en) | 2006-08-14 | 2011-10-04 | Marvell World Trade Ltd. | Methods and apparatus for handling switching among threads within a multithread processor |
Families Citing this family (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2728559B1 (en) * | 1994-12-23 | 1997-01-31 | Saint Gobain Vitrage | GLASS SUBSTRATES COATED WITH A STACK OF THIN LAYERS WITH INFRARED REFLECTION PROPERTIES AND / OR IN THE FIELD OF SOLAR RADIATION |
JP3541669B2 (en) * | 1998-03-30 | 2004-07-14 | 松下電器産業株式会社 | Arithmetic processing unit |
US6883171B1 (en) * | 1999-06-02 | 2005-04-19 | Microsoft Corporation | Dynamic address windowing on a PCI bus |
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 |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US20010042138A1 (en) * | 1999-12-23 | 2001-11-15 | Reinhard Buendgen | Method and system for parallel and procedural computing |
US6694425B1 (en) * | 2000-05-04 | 2004-02-17 | International Business Machines Corporation | Selective flush of shared and other pipeline stages in a multithread processor |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US6904594B1 (en) * | 2000-07-06 | 2005-06-07 | International Business Machines Corporation | Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment |
US6729699B1 (en) * | 2000-10-04 | 2004-05-04 | International Business Machines Corporation | Invocation map based architecture for program execution |
US7139898B1 (en) * | 2000-11-03 | 2006-11-21 | Mips Technologies, Inc. | Fetch and dispatch disassociation apparatus for multistreaming processors |
US7035998B1 (en) * | 2000-11-03 | 2006-04-25 | Mips Technologies, Inc. | Clustering stream and/or instruction queues for multi-streaming processors |
US6662274B2 (en) * | 2001-06-20 | 2003-12-09 | Intel Corporation | Method for using cache prefetch feature to improve garbage collection algorithm |
US6857046B1 (en) * | 2002-03-28 | 2005-02-15 | Cisco Technology, Inc. | Caching for context switching applications |
US6990557B2 (en) * | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
US6912623B2 (en) * | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US20030229740A1 (en) * | 2002-06-10 | 2003-12-11 | Maly John Warren | Accessing resources in a microprocessor having resources of varying scope |
JP3749208B2 (en) * | 2002-08-14 | 2006-02-22 | 株式会社東芝 | Process migration method, computer |
US6904511B2 (en) * | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
US20040154010A1 (en) * | 2003-01-31 | 2004-08-05 | Pedro Marcuello | Control-quasi-independent-points guided speculative multithreading |
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 |
US7000233B2 (en) * | 2003-04-21 | 2006-02-14 | International Business Machines Corporation | Simultaneous multithread processor with result data delay path to adjust pipeline length for input to respective thread |
US7412549B2 (en) * | 2003-05-08 | 2008-08-12 | Koninklijke Philips Electronics N.V. | Processing system and method for communicating data |
US8266379B2 (en) * | 2003-06-02 | 2012-09-11 | Infineon Technologies Ag | Multithreaded processor with multiple caches |
GB0315504D0 (en) * | 2003-07-02 | 2003-08-06 | Advanced Risc Mach Ltd | Coherent multi-processing system |
KR100591755B1 (en) * | 2003-07-22 | 2006-06-22 | 삼성전자주식회사 | Apparatus and method for processing multiple threads simultaneously |
US7594089B2 (en) * | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US7849297B2 (en) * | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7321965B2 (en) * | 2003-08-28 | 2008-01-22 | Mips Technologies, Inc. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7418585B2 (en) * | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US9032404B2 (en) * | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
US7711931B2 (en) * | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US7870553B2 (en) * | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7836450B2 (en) * | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7614056B1 (en) | 2003-09-12 | 2009-11-03 | Sun Microsystems, Inc. | Processor specific dispatching in a heterogeneous configuration |
TWI223756B (en) * | 2003-10-09 | 2004-11-11 | Univ Nat Sun Yat Sen | Automatic register backup/restore system and method |
US7840949B2 (en) * | 2003-11-03 | 2010-11-23 | Ramal Acquisition Corp. | System and method for data transformation using dataflow graphs |
US8694976B2 (en) * | 2003-12-19 | 2014-04-08 | Intel Corporation | Sleep state mechanism for virtual multithreading |
US7577947B2 (en) * | 2003-12-19 | 2009-08-18 | Intel Corporation | Methods and apparatus to dynamically insert prefetch instructions based on garbage collector analysis and layout of objects |
US7206916B2 (en) * | 2004-03-08 | 2007-04-17 | Sun Microsystems, Inc. | Partial address compares stored in translation lookaside buffer |
US7889750B1 (en) * | 2004-04-28 | 2011-02-15 | Extreme Networks, Inc. | Method of extending default fixed number of processing cycles in pipelined packet processor architecture |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US7370243B1 (en) | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US7571284B1 (en) | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
US7523330B2 (en) * | 2004-06-30 | 2009-04-21 | Sun Microsystems, Inc. | Thread-based clock enabling in a multi-threaded processor |
US7434000B1 (en) | 2004-06-30 | 2008-10-07 | Sun Microsystems, Inc. | Handling duplicate cache misses in a multithreaded/multi-core processor |
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 |
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 |
US20060009265A1 (en) * | 2004-06-30 | 2006-01-12 | Clapper Edward O | Communication blackout feature |
US7426630B1 (en) | 2004-06-30 | 2008-09-16 | Sun Microsystems, Inc. | Arbitration of window swap operations |
US7185178B1 (en) | 2004-06-30 | 2007-02-27 | Sun Microsystems, Inc. | Fetch speculation in a multithreaded 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 |
US7509484B1 (en) | 2004-06-30 | 2009-03-24 | Sun Microsystems, Inc. | Handling cache misses by selectively flushing the pipeline |
US7366829B1 (en) | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
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 |
US7383403B1 (en) | 2004-06-30 | 2008-06-03 | Sun Microsystems, Inc. | Concurrent bypass to instruction buffers in a fine grain multithreaded processor |
US7343474B1 (en) | 2004-06-30 | 2008-03-11 | Sun Microsystems, Inc. | Minimal address state 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 |
US8095778B1 (en) | 2004-06-30 | 2012-01-10 | Open Computing Trust I & II | Method and system for sharing functional units of a multithreaded processor |
US7543132B1 (en) | 2004-06-30 | 2009-06-02 | Sun Microsystems, Inc. | Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes |
US7373489B1 (en) | 2004-06-30 | 2008-05-13 | Sun Microsystems, Inc. | Apparatus and method for floating-point exception prediction and recovery |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7676655B2 (en) * | 2004-06-30 | 2010-03-09 | Sun Microsystems, Inc. | Single bit control of threads in a multithreaded multicore processor |
US7178005B1 (en) | 2004-06-30 | 2007-02-13 | Sun Microsystems, Inc. | Efficient implementation of timers 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 |
US7747771B1 (en) | 2004-06-30 | 2010-06-29 | Oracle America, Inc. | Register access protocol in a multihreaded multi-core processor |
US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread 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 |
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 |
US7401206B2 (en) * | 2004-06-30 | 2008-07-15 | Sun Microsystems, Inc. | Apparatus and method for fine-grained multithreading in a multipipelined processor core |
US7890734B2 (en) | 2004-06-30 | 2011-02-15 | Open Computing Trust I & II | Mechanism for selecting instructions for execution in a multithreaded processor |
JP4297846B2 (en) * | 2004-07-27 | 2009-07-15 | 富士通株式会社 | Address translation buffer control device and address translation buffer control method |
JP4520788B2 (en) * | 2004-07-29 | 2010-08-11 | 富士通株式会社 | Multithreaded processor |
JP2006053830A (en) * | 2004-08-13 | 2006-02-23 | Toshiba Corp | Branch estimation apparatus and branch estimation method |
US8037250B1 (en) | 2004-12-09 | 2011-10-11 | Oracle America, Inc. | Arbitrating cache misses in a multithreaded/multi-core processor |
DE102004059972B4 (en) * | 2004-12-13 | 2010-07-01 | Infineon Technologies Ag | Thread scheduling method, and thread list scheduler device |
US8756605B2 (en) * | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
US7937709B2 (en) | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
US7430643B2 (en) * | 2004-12-30 | 2008-09-30 | Sun Microsystems, Inc. | Multiple contexts for efficient use of translation lookaside buffer |
US7600101B2 (en) * | 2005-01-13 | 2009-10-06 | Hewlett-Packard Development Company, L.P. | Multithreaded hardware systems and methods |
US20060229638A1 (en) * | 2005-03-29 | 2006-10-12 | Abrams Robert M | Articulating retrieval device |
US20060294344A1 (en) * | 2005-06-28 | 2006-12-28 | Universal Network Machines, Inc. | Computer processor pipeline with shadow registers for context switching, and method |
US8301868B2 (en) | 2005-09-23 | 2012-10-30 | Intel Corporation | System to profile and optimize user software in a managed run-time environment |
US20080235450A1 (en) * | 2005-09-28 | 2008-09-25 | Yongxiang Han | Updating Entries Cached by a Network Processor |
US7734901B2 (en) * | 2005-10-31 | 2010-06-08 | Mips Technologies, Inc. | Processor core and method for managing program counter redirection in an out-of-order processor pipeline |
US7711934B2 (en) * | 2005-10-31 | 2010-05-04 | Mips Technologies, Inc. | Processor core and method for managing branch misprediction in an out-of-order processor pipeline |
US8275942B2 (en) * | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
US8108863B2 (en) * | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
US8001549B2 (en) * | 2006-04-27 | 2011-08-16 | Panasonic Corporation | Multithreaded computer system and multithread execution control method |
US8453147B2 (en) | 2006-06-05 | 2013-05-28 | Cisco Technology, Inc. | Techniques for reducing thread overhead for systems with multiple multi-threaded processors |
US8549499B1 (en) * | 2006-06-16 | 2013-10-01 | University Of Rochester | Parallel programming using possible parallel regions and its language profiling compiler, run-time system and debugging support |
US7502913B2 (en) * | 2006-06-16 | 2009-03-10 | Microsoft Corporation | Switch prefetch in a multicore computer chip |
US8041929B2 (en) | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
JP4783229B2 (en) * | 2006-07-19 | 2011-09-28 | パナソニック株式会社 | Cache memory system |
US8046775B2 (en) | 2006-08-14 | 2011-10-25 | Marvell World Trade Ltd. | Event-based bandwidth allocation mode switching method and apparatus |
US8010966B2 (en) * | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
US7996632B1 (en) | 2006-12-22 | 2011-08-09 | Oracle America, Inc. | Device for misaligned atomics for a highly-threaded x86 processor |
US7975272B2 (en) * | 2006-12-30 | 2011-07-05 | Intel Corporation | Thread queuing method and apparatus |
US8261049B1 (en) | 2007-04-10 | 2012-09-04 | Marvell International Ltd. | Determinative branch prediction indexing |
US7681020B2 (en) * | 2007-04-18 | 2010-03-16 | International Business Machines Corporation | Context switching and synchronization |
US7958323B1 (en) | 2007-05-09 | 2011-06-07 | Marvell Israel (M.I.S.L.) Ltd. | Multithreading implementation for flops and register files |
WO2008155838A1 (en) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | Instruction processor |
US20090024772A1 (en) * | 2007-07-20 | 2009-01-22 | Wenjeng Ko | Overlayed separate dma mapping of adapters |
US20090024823A1 (en) * | 2007-07-20 | 2009-01-22 | Wenjeng Ko | Overlayed separate dma mapping of adapters |
US8261284B2 (en) * | 2007-09-13 | 2012-09-04 | Microsoft Corporation | Fast context switching using virtual cpus |
JP5256685B2 (en) * | 2007-10-18 | 2013-08-07 | 日本電気株式会社 | Information processing device |
US8949569B2 (en) * | 2008-04-30 | 2015-02-03 | International Business Machines Corporation | Enhanced direct memory access |
US20090276448A1 (en) * | 2008-04-30 | 2009-11-05 | International Business Machines Corporation | Parallel transformation of files |
US8677018B2 (en) | 2008-08-25 | 2014-03-18 | Google Inc. | Parallel, side-effect based DNS pre-caching |
US9197486B2 (en) | 2008-08-29 | 2015-11-24 | Google Inc. | Adaptive accelerated application startup |
US20100115494A1 (en) * | 2008-11-03 | 2010-05-06 | Gorton Jr Richard C | System for dynamic program profiling |
US8024719B2 (en) | 2008-11-03 | 2011-09-20 | Advanced Micro Devices, Inc. | Bounded hash table sorting in a dynamic program profiling system |
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 |
KR101547302B1 (en) * | 2009-02-09 | 2015-08-26 | 삼성전자주식회사 | Method of measuring setup time including clock skew absorbing characteristic of a pulse-based flip-flop |
JP5414305B2 (en) * | 2009-02-25 | 2014-02-12 | キヤノン株式会社 | Information processing apparatus, virtual storage management method, and program |
US9225794B2 (en) | 2009-03-31 | 2015-12-29 | Google Inc. | Adaptive DNS pre-resolution |
KR101572879B1 (en) * | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | Dynamic parallel system and method for parallel application program |
US8140646B2 (en) * | 2009-06-04 | 2012-03-20 | Microsoft Corporation | Network application performance enhancement using speculative execution |
US20110016367A1 (en) * | 2009-07-14 | 2011-01-20 | Bo Tang | Skew tolerant scannable master/slave flip-flop including embedded logic |
US8631411B1 (en) | 2009-07-21 | 2014-01-14 | The Research Foundation For The State University Of New York | Energy aware processing load distribution system and method |
US9367462B2 (en) * | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
WO2011130406A1 (en) * | 2010-04-13 | 2011-10-20 | Et International, Inc. | Runspace method, system and apparatus |
EP2402859A1 (en) * | 2010-07-02 | 2012-01-04 | STMicroelectronics (Grenoble 2) SAS | Die and package comprising a plurality of dies |
US9658877B2 (en) * | 2010-08-23 | 2017-05-23 | Empire Technology Development Llc | Context switching using a context controller and on-chip context cache |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
EP2652634A1 (en) | 2010-12-16 | 2013-10-23 | Et International Inc. | Distributed computing architecture |
CN102609240B (en) * | 2011-01-20 | 2016-04-06 | 瑞昱半导体股份有限公司 | The method of processor circuit and reading data |
US8639884B2 (en) * | 2011-02-28 | 2014-01-28 | Freescale Semiconductor, Inc. | Systems and methods for configuring load/store execution units |
US9547593B2 (en) * | 2011-02-28 | 2017-01-17 | Nxp Usa, Inc. | Systems and methods for reconfiguring cache memory |
US9401869B1 (en) * | 2012-06-04 | 2016-07-26 | Google Inc. | System and methods for sharing memory subsystem resources among datacenter applications |
US8943252B2 (en) | 2012-08-16 | 2015-01-27 | Microsoft Corporation | Latency sensitive software interrupt and thread scheduling |
US9262323B1 (en) | 2012-11-26 | 2016-02-16 | Amazon Technologies, Inc. | Replication in distributed caching cluster |
US9529772B1 (en) | 2012-11-26 | 2016-12-27 | Amazon Technologies, Inc. | Distributed caching cluster configuration |
US9847907B2 (en) | 2012-11-26 | 2017-12-19 | Amazon Technologies, Inc. | Distributed caching cluster management |
US9602614B1 (en) | 2012-11-26 | 2017-03-21 | Amazon Technologies, Inc. | Distributed caching cluster client configuration |
US9135067B2 (en) * | 2013-02-28 | 2015-09-15 | Mips Technologies, Inc. | Resource sharing using process delay |
US9501137B2 (en) * | 2013-09-17 | 2016-11-22 | Empire Technology Development Llc | Virtual machine switching based on processor power states |
US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
US9417876B2 (en) * | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
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 |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US9996354B2 (en) * | 2015-01-09 | 2018-06-12 | International Business Machines Corporation | Instruction stream tracing of multi-threaded processors |
US20170091117A1 (en) * | 2015-09-25 | 2017-03-30 | Qualcomm Incorporated | Method and apparatus for cache line deduplication via data matching |
US10706101B2 (en) | 2016-04-14 | 2020-07-07 | Advanced Micro Devices, Inc. | Bucketized hash tables with remap entries |
WO2018021620A1 (en) * | 2016-07-26 | 2018-02-01 | 주식회사 맴레이 | Parallel processing unit, computing device comprising same, and thread group scheduling method |
CN106293937A (en) * | 2016-08-02 | 2017-01-04 | 合肥奇也信息科技有限公司 | A kind of for distributing the method that data processing resources processes to data |
JP2020508534A (en) * | 2017-02-20 | 2020-03-19 | インテンシベイト インコーポレイテッドIntensivate Inc. | Super thread processor, processing system and method |
US10269088B2 (en) * | 2017-04-21 | 2019-04-23 | Intel Corporation | Dynamic thread execution arbitration |
JP7367359B2 (en) * | 2018-08-10 | 2023-10-24 | 株式会社デンソー | Vehicle electronic control system, file transfer control method, file transfer control program and device |
US10878857B2 (en) * | 2018-11-02 | 2020-12-29 | Bitmain Inc. | Dynamic data storage element, and integrated circuit having the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999021082A1 (en) * | 1997-10-23 | 1999-04-29 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4695943A (en) * | 1984-09-27 | 1987-09-22 | Honeywell Information Systems Inc. | Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization |
GB2234613B (en) * | 1989-08-03 | 1993-07-07 | Sun Microsystems Inc | Method and apparatus for switching context of state elements in a microprocessor |
US5255211A (en) | 1990-02-22 | 1993-10-19 | Redmond Productions, Inc. | Methods and apparatus for generating and processing synthetic and absolute real time environments |
US5452452A (en) | 1990-06-11 | 1995-09-19 | Cray Research, Inc. | System having integrated dispatcher for self scheduling processors to execute multiple types of processes |
US5590359A (en) * | 1992-08-05 | 1996-12-31 | Intel Corporation | Method and apparatus for generating a status word in a pipelined processor |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5684993A (en) * | 1993-01-04 | 1997-11-04 | Microsoft Corporation | Segregation of thread-specific information from shared task information |
US5584023A (en) | 1993-12-27 | 1996-12-10 | Hsu; Mike S. C. | Computer system including a transparent and secure file transform mechanism |
JP3676411B2 (en) | 1994-01-21 | 2005-07-27 | サン・マイクロシステムズ・インコーポレイテッド | Register file device and register file access method |
US5742806A (en) | 1994-01-31 | 1998-04-21 | Sun Microsystems, Inc. | Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system |
US5512130A (en) * | 1994-03-09 | 1996-04-30 | Texas Instruments Incorporated | Method and apparatus of etching a clean trench in a semiconductor material |
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US5761285A (en) | 1994-06-01 | 1998-06-02 | Davox Corporation | Universal telephony application client that is configurable from a profile for a telphone call campaign |
US5752027A (en) | 1994-11-30 | 1998-05-12 | Dun & Bradstreet Software Services, Inc. | Apparatus and process for creating and accessing a database centric object |
US5724565A (en) * | 1995-02-03 | 1998-03-03 | International Business Machines Corporation | Method and system for processing first and second sets of instructions by first and second types of processing systems |
US5680641A (en) * | 1995-08-16 | 1997-10-21 | Sharp Microelectronics Technology, Inc. | Multiple register bank system for concurrent I/O operation in a CPU datapath |
JP3661235B2 (en) * | 1995-08-28 | 2005-06-15 | 株式会社日立製作所 | Shared memory system, parallel processor and memory LSI |
US5860138A (en) * | 1995-10-02 | 1999-01-12 | International Business Machines Corporation | Processor with compiler-allocated, variable length intermediate storage |
JP3348367B2 (en) * | 1995-12-06 | 2002-11-20 | 富士通株式会社 | Multiple access method and multiple access cache memory device |
US5809415A (en) | 1995-12-11 | 1998-09-15 | Unwired Planet, Inc. | Method and architecture for an interactive two-way data communication network |
US5778247A (en) | 1996-03-06 | 1998-07-07 | Sun Microsystems, Inc. | Multi-pipeline microprocessor with data precision mode indicator |
JP3139392B2 (en) * | 1996-10-11 | 2001-02-26 | 日本電気株式会社 | Parallel processing system |
US5893145A (en) * | 1996-12-02 | 1999-04-06 | Compaq Computer Corp. | System and method for routing operands within partitions of a source register to partitions within a destination register |
US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
US6058466A (en) * | 1997-06-24 | 2000-05-02 | Sun Microsystems, Inc. | System for allocation of execution resources amongst multiple executing processes |
US6233599B1 (en) * | 1997-07-10 | 2001-05-15 | International Business Machines Corporation | Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers |
US5893159A (en) * | 1997-10-22 | 1999-04-06 | International Business Machines Corporation | Methods and apparatus for managing scratchpad memory in a multiprocessor data processing system |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US5913047A (en) * | 1997-10-29 | 1999-06-15 | Advanced Micro Devices, Inc. | Pairing floating point exchange instruction with another floating point instruction to reduce dispatch latency |
US6298431B1 (en) * | 1997-12-31 | 2001-10-02 | Intel Corporation | Banked shadowed register file |
US6205519B1 (en) * | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
US6507862B1 (en) * | 1999-05-11 | 2003-01-14 | Sun Microsystems, Inc. | Switching method in a multi-threaded processor |
US6420903B1 (en) * | 2000-08-14 | 2002-07-16 | Sun Microsystems, Inc. | High speed multiple-bit flip-flop |
-
1999
- 1999-05-11 US US09/309,734 patent/US6542991B1/en not_active Expired - Lifetime
-
2000
- 2000-05-09 WO PCT/US2000/012800 patent/WO2000068778A2/en active Application Filing
-
2002
- 2002-05-23 US US10/154,076 patent/US6801997B2/en not_active Expired - Lifetime
-
2003
- 2003-03-31 US US10/403,406 patent/US7185185B2/en not_active Expired - Lifetime
-
2007
- 2007-02-23 US US11/710,112 patent/US7587581B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999021082A1 (en) * | 1997-10-23 | 1999-04-29 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
Non-Patent Citations (3)
Title |
---|
GULATI M ET AL: "PERFORMANCE STUDY OF A MULTITHREADED SUPERSCALAR MICROPROCESSOR", PROCEEDINGS. INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, 1996, XP000572068 * |
GUNTHER B K: "MULTITHREADING WITH DISTRIBUTED FUNCTIONAL UNITS", IEEE TRANSACTIONS ON COMPUTERS,US,IEEE INC. NEW YORK, vol. 46, no. 4, 1 April 1997 (1997-04-01), pages 399 - 411, XP000656016, ISSN: 0018-9340 * |
KLASS F ET AL: "A new family of semidynamic and dynamic flip-flops with embedded logic for high-performance processors", IEEE JOURNAL OF SOLID-STATE CIRCUITS,IEEE INC. NEW YORK,US, vol. 34, no. 5, 11 June 1998 (1998-06-11), pages 712 - 716, XP002156316, ISSN: 0018-9200 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032737B2 (en) | 2006-08-14 | 2011-10-04 | Marvell World Trade Ltd. | Methods and apparatus for handling switching among threads within a multithread processor |
US8478972B2 (en) | 2006-08-14 | 2013-07-02 | Marvell World Trade Ltd. | Methods and apparatus for handling switching among threads within a multithread processor |
Also Published As
Publication number | Publication date |
---|---|
US20070174597A1 (en) | 2007-07-26 |
US6542991B1 (en) | 2003-04-01 |
US20030191927A1 (en) | 2003-10-09 |
US7587581B2 (en) | 2009-09-08 |
WO2000068778A2 (en) | 2000-11-16 |
US7185185B2 (en) | 2007-02-27 |
WO2000068778B1 (en) | 2001-10-04 |
WO2000068778A9 (en) | 2002-04-04 |
US6801997B2 (en) | 2004-10-05 |
US20020138717A1 (en) | 2002-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000068778A3 (en) | Multiple-thread processor with single-thread interface shared among threads | |
US5410669A (en) | Data processor having a cache memory capable of being used as a linear ram bank | |
EP1182569B8 (en) | TLB lock and unlock operation | |
CA2021272C (en) | Associative map with least recently used (lru) replacement | |
CA2088978A1 (en) | Translation buffer for virtual machines with address space match | |
KR100210209B1 (en) | Microprocessor architecture having dual usage cache tag array | |
TW259855B (en) | Data processing device | |
CA2057403A1 (en) | Apparatus and method for a space saving translation lookaside buffer for content addressable memory | |
EP0243724A3 (en) | Multilevel storage hierarchy with a variable address mode | |
GB9019822D0 (en) | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism | |
DE60143929D1 (en) | Common bit based TLB operations | |
WO2000045270A8 (en) | Techniques for improving memory access in a virtual memory system | |
GB2277181A (en) | Interleaved cache for multiple accesses per clock in a microprocessor | |
US6553477B1 (en) | Microprocessor and address translation method for microprocessor | |
EP0312238A3 (en) | Fifo buffer controller | |
JPS6428758A (en) | Information processor | |
GB2377298A (en) | Method for controlling cache system comprising direct-mapped cache and fully-associative buffer | |
CA2034709A1 (en) | System for controlling an internally-installed cache memory | |
US6131143A (en) | Multi-way associative storage type cache memory | |
US20050160228A1 (en) | Equipment and method for cache replacement | |
WO2002084492A3 (en) | Reverse directory for facilitating accesses involving a lower-level cache | |
WO2003083663A3 (en) | Use of context identifiers in cache memory | |
GB2244158B (en) | Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations | |
US6510493B1 (en) | Method and apparatus for managing cache line replacement within a computer system | |
US6393521B1 (en) | Information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): IL JP KR SG |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): IL JP KR SG |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
AK | Designated states |
Kind code of ref document: B1 Designated state(s): IL JP KR SG |
|
AL | Designated countries for regional patents |
Kind code of ref document: B1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
B | Later publication of amended claims | ||
AK | Designated states |
Kind code of ref document: C2 Designated state(s): IL JP KR SG |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/19-19/19, DRAWINGS, REPLACED BY NEW PAGES 1/21-21/21; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |