Patents by Inventor Gary Lauterbach

Gary Lauterbach has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20080301364
    Abstract: A processor includes a cache hierarchy including a level-1 cache and a higher-level cache. The processor maps a portion of physical memory space to a portion of the higher-level cache, executes instructions, at least some of which comprise microcode, allows microcode to access the portion of the higher-level cache, and prevents instructions that do not comprise microcode from accessing the portion of the higher-level cache. The first portion of the physical memory space can be permanently allocated for use by microcode. The processor can move one or more cache lines of the first portion of the higher-level cache from the higher-level cache to a first portion of the level-1 cache, allow microcode to access the first portion of the first level-1 cache, and prevent instructions that do not comprise microcode from accessing the first portion of the first level-1 cache.
    Type: Application
    Filed: May 29, 2007
    Publication date: December 4, 2008
    Inventors: Gary Lauterbach, Bruce R. Holloway, Michael Gerard Butler, Sean Lie
  • Patent number: 7316021
    Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.
    Type: Grant
    Filed: February 17, 2004
    Date of Patent: January 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Publication number: 20070174597
    Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.
    Type: Application
    Filed: February 23, 2007
    Publication date: July 26, 2007
    Inventors: William Joy, Marc Tremblay, Gary Lauterbach, Joseph Chamdani
  • Patent number: 7185185
    Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: February 27, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: William Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6938147
    Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.
    Type: Grant
    Filed: May 11, 1999
    Date of Patent: August 30, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6801997
    Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.
    Type: Grant
    Filed: May 23, 2002
    Date of Patent: October 5, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Publication number: 20040162971
    Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.
    Type: Application
    Filed: February 17, 2004
    Publication date: August 19, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6694347
    Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.
    Type: Grant
    Filed: February 12, 2002
    Date of Patent: February 17, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Publication number: 20030191927
    Abstract: A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.
    Type: Application
    Filed: March 31, 2003
    Publication date: October 9, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6542991
    Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.
    Type: Grant
    Filed: May 11, 1999
    Date of Patent: April 1, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Publication number: 20030014612
    Abstract: A processor improves throughput efficiency and exploits increased parallelism by introducing multithreading to an existing and mature processor core. The multithreading is implemented in two steps including vertical multithreading and horizontal multithreading. The processor core is retrofitted to support multiple machine states. System embodiments that exploit retrofitting of an existing processor core advantageously leverage hundreds of man-years of hardware and software development by extending the lifetime of a proven processor pipeline generation. A processor implements N-bit flip-flop global substitution. To implement multiple machine states, the processor converts 1-bit flip-flops in storage cells of the stalling vertical thread to an N-bit global flip-flop where N is the number of vertical threads.
    Type: Application
    Filed: May 11, 1999
    Publication date: January 16, 2003
    Inventors: WILLIAM N. JOY, MARC TREMBLAY, GARY LAUTERBACH, JOSEPH I. CHAMDANI
  • Patent number: 6507862
    Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.
    Type: Grant
    Filed: May 11, 1999
    Date of Patent: January 14, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6487715
    Abstract: A method of reordering instructions. Barrier instructions are determined. The method determines when a processor stall may occur, and hoists subsequent instructions to fill in the stall time. However, instructions are not hoisted above the barrier instructions. Barrier instructions include branch instructions, store and load instructions, and instructions which, if hoisted, cause the number of available registers to be exceeded. The method produces a reordered instruction trace and statistics regarding the effectiveness of the reordering.
    Type: Grant
    Filed: April 16, 1999
    Date of Patent: November 26, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Joseph I. Chamdani, Gary Lauterbach, William Lynch
  • Publication number: 20020138717
    Abstract: A processor includes logic for tagging a thread identifier (TID) for usage with processor blocks that are not stalled. Pertinent non-stalling blocks include caches, translation look-aside buffers (TLB), a load buffer asynchronous interface, an external memory management unit (MMU) interface, and others. A processor includes a cache that is segregated into a plurality of N cache parts. Cache segregation avoids interference, “pollution”, or “cross-talk” between threads. One technique for cache segregation utilizes logic for storing and communicating thread identification (TID) bits. The cache utilizes cache indexing logic. For example, the TID bits can be inserted at the most significant bits of the cache index.
    Type: Application
    Filed: May 23, 2002
    Publication date: September 26, 2002
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Publication number: 20020078122
    Abstract: A processor includes logic for attaining a very fast exception handling functionality while executing non-threaded programs by invoking a multithreaded-type functionality in response to an exception condition. The processor, while operating in multithreaded conditions or while executing non-threaded programs, progresses through multiple machine states during execution. The very fast exception handling logic includes connection of an exception signal line to thread select logic, causing an exception signal to evoke a switch in thread and machine state. The switch in thread and machine state causes the processor to enter and to exit the exception handler immediately, without waiting to drain the pipeline or queues and without the inherent timing penalty of the operating system's software saving and restoring of registers.
    Type: Application
    Filed: February 12, 2002
    Publication date: June 20, 2002
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6351808
    Abstract: A processor includes a “four-dimensional” register structure in which register file structures are replicated by N for vertical threading in combination with a three-dimensional storage circuit. The multi-dimensional storage is formed by constructing a storage, such as a register file or memory, as a plurality of two-dimensional storage planes.
    Type: Grant
    Filed: May 11, 1999
    Date of Patent: February 26, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6341347
    Abstract: A processor includes a thread switching control logic that performs a fast thread-switching operation in response to an L1 cache miss stall. The fast thread-switching operation implements one or more of several thread-switching methods. A first thread-switching operation is “oblivious” thread-switching for every N cycle in which the individual flip-flops locally determine a thread-switch without notification of stalling. The oblivious technique avoids usage of an extra global interconnection between threads for thread selection. A second thread-switching operation is “semi-oblivious” thread-switching for use with an existing “pipeline stall” signal (if any). The pipeline stall signal operates in two capacities, first as a notification of a pipeline stall, and second as a thread select signal between threads so that, again, usage of an extra global interconnection between threads for thread selection is avoided.
    Type: Grant
    Filed: May 11, 1999
    Date of Patent: January 22, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: William N. Joy, Marc Tremblay, Gary Lauterbach, Joseph I. Chamdani
  • Patent number: 6317810
    Abstract: A central processing unit of a computer includes a single-ported data cache and a dual-ported prefetch cache. The data cache accommodates a first pipeline and the prefetch cache, which is much smaller than the data cache, accommodates both the first pipeline and a second pipeline. If a data cache miss occurs, a row of data corresponding to the specified address is stored in the data cache and the prefetch cache. Thereafter, if a prefetch cache hit occurs, a row of data corresponding to a prefetch address is loaded into the prefetch cache. The prefetch address may, for instance, be generated by adding a fixed increment to the specified address. This operation frequently results in the prefetch cache storing data soon requested by a computer program. When this condition is achieved, the data corresponding to the subsequent address request is rapidly retrieved from cache memory without incurring memory latencies associated with the external cache, the primary memory, and the secondary memory.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: November 13, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Herbert Lopez-Aguado, Denise Chiacchia, William L. Lynch, Gary Lauterbach
  • Patent number: 6272602
    Abstract: A pending tag system and method to maintain data coherence in a processing node during pending transactions in a transaction pipeline. A pending tag storage unit may be coupled to a cache controller and configured to store pending tags each indicative of a coherence state for a data line corresponding to a pending transaction within the transaction pipeline. The pending tag storage unit includes a total amount of storage which is substantially less than an amount required to store tags contained in the full tag array for the cache memory. When a pending tag exists in the pending tag storage unit, the coherence state of the corresponding data line within the cache memory is dictated by the pending tag for snoop operations. Accordingly, data coherence is maintained during the period when transactions are pending, e.g., not yet presented to a processor and cache.
    Type: Grant
    Filed: March 8, 1999
    Date of Patent: August 7, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ashok Singhal, Alan Yamauchi, Gary Lauterbach
  • Patent number: 6138212
    Abstract: A central processing unit (CPU) of a computer has a data caching unit which includes a novel dual-ported prefetch cache configured in parallel with a conventional single-ported data cache. If a data cache miss occurs, the requested data is loaded into the data cache and into the prefetch cache. Thereafter, each data request which results in a prefetch cache hit triggers the prefetching of data into the prefetch cache. A data load history tracking circuit maintains a running history of instructions that request data from external memory, and uses the resulting loop heuristics of these instructions to generate a stride. The stride is used to derive a prefetch address which identifies data that is predicted to be soon requested in subsequent instructions. Data corresponding to the prefetch address is then loaded into the prefetch cache.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: October 24, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Denise Chiacchia, Herbert Lopez-Aguado, Gary Lauterbach