Patents by Inventor G. Michael Uhler

G. Michael Uhler 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).

  • Patent number: 8171262
    Abstract: A method and apparatus for overlaying hazard clearing with a jump instruction within a pipeline microprocessor is described. The apparatus includes hazard logic to detect when a jump instruction specifies that hazards are to be cleared as part of a jump operation. If hazards are to be cleared, the hazard logic disables branch prediction for the jump instruction, thereby causing the jump instruction to proceed down the pipeline until it is finally resolved, and flushing the pipeline behind the jump instruction. Disabling of branch prediction for the jump instruction effectively clears all execution and/or instruction hazards that preceded the jump instruction. Alternatively, hazard logic causes issue control logic to stall the jump instruction for n-cycles until all hazards are cleared. State tracking logic may be provided to determine whether any instructions are executing in the pipeline that create hazards. If so, hazard logic performs normally.
    Type: Grant
    Filed: November 21, 2005
    Date of Patent: May 1, 2012
    Assignee: MIPS Technology, Inc.
    Inventors: Niels Gram Jeppesen, G. Michael Uhler
  • Patent number: 7925864
    Abstract: A method and apparatus within a processing system is provided for associating shadow register sets with interrupt routines. The invention includes a vector generator that receives interrupts, and generates exception vectors to call interrupt routines that correspond to the interrupts. The exception vector considers the type of interrupt and the priority level of the interrupt when selecting the exception vector. Shadow set mapping logic is coupled to the vector generator. The mapping logic contains a number of fields that correspond to the different exception vectors that may be generated. The fields are programmable by kernel mode instructions, and contain data mapping each field to one of a number of shadow register sets. When an interrupt occurs, the vector generator generates a corresponding exception vector. In addition, the shadow set mapping logic looks at the field corresponding to the exception vector, and retrieves the data stored therein.
    Type: Grant
    Filed: January 2, 2009
    Date of Patent: April 12, 2011
    Assignee: MIPS Technologies, Inc.
    Inventor: G. Michael Uhler
  • Patent number: 7853777
    Abstract: An apparatus for reducing instruction re-fetching in a multithreading processor configured to concurrently execute a plurality of threads is disclosed. The apparatus includes a buffer for each thread that stores fetched instructions of the thread, having an indicator for indicating which of the fetched instructions in the buffer have already been dispatched for execution. An input for each thread indicates that one or more of the already-dispatched instructions in the buffer has been flushed from execution. Control logic for each thread updates the indicator to indicate the flushed instructions are no longer already-dispatched, in response to the input. This enables the processor to re-dispatch the flushed instructions from the buffer to avoid re-fetching the flushed instructions. In one embodiment, there are fewer buffers than threads, and they are dynamically allocatable by the threads. In one embodiment, a single integrated buffer is shared by all the threads.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: December 14, 2010
    Assignee: MIPS Technologies, Inc.
    Inventors: Darren M. Jones, Ryan C. Kinter, G. Michael Uhler, Sanjay Vishin
  • Patent number: 7724261
    Abstract: A processor having a compare extension of an instruction set architecture which incorporates a set of high performance floating point operations. The instruction set architecture incorporates a variety of data formats including single precision and double precision data formats, as well as the paired-single data format that allows two simultaneous operations on a pair of operands. The extension includes instructions directed to a magnitude compare of floating point numbers and conversions between a pair of 32-bit fixed point integers and paired-single floating point format.
    Type: Grant
    Filed: June 4, 2007
    Date of Patent: May 25, 2010
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler, Ying-wai Ho, Chandlee B. Harrell
  • Patent number: 7552261
    Abstract: A method and apparatus for generating an interrupt vector associated with either core (internal) generated or off-core (external) generated interrupts is provided. The apparatus includes a number of programmable interrupt priority level fields for storing priority levels for the core generated interrupts, and for the externally generated interrupts, if desired. The apparatus further includes a programmable offset register for storing an offset to be used in calculating the interrupt vector. The apparatus further includes a priority encoder that sorts all of the received interrupts, whether on-core or off-core, according to their priority, utilizing the programmed interrupt priority levels. The priority encoder provides an indication of the received interrupt with the highest priority to a vector generator. The vector generator receives the indication, and calculates an interrupt vector utilizing the programmed offset.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: June 23, 2009
    Assignee: MIPS Technologies, Inc.
    Inventor: G. Michael Uhler
  • Publication number: 20090119434
    Abstract: A method and apparatus within a processing system is provided for associating shadow register sets with interrupt routines. The invention includes a vector generator that receives interrupts, and generates exception vectors to call interrupt routines that correspond to the interrupts. The exception vector considers the type of interrupt and the priority level of the interrupt when selecting the exception vector. Shadow set mapping logic is coupled to the vector generator. The mapping logic contains a number of fields that correspond to the different exception vectors that may be generated. The fields are programmable by kernel mode instructions, and contain data mapping each field to one of a number of shadow register sets. When an interrupt occurs, the vector generator generates a corresponding exception vector. In addition, the shadow set mapping logic looks at the field corresponding to the exception vector, and retrieves the data stored therein.
    Type: Application
    Filed: January 2, 2009
    Publication date: May 7, 2009
    Inventor: G. Michael UHLER
  • Patent number: 7487339
    Abstract: A method and apparatus within a processing system is provided for associating shadow register sets with interrupt routines. The invention includes a vector generator that receives interrupts, and generates exception vectors to call interrupt routines that correspond to the interrupts. The exception vector considers the type of interrupt and the priority level of the interrupt when selecting the exception vector. Shadow set mapping logic is coupled to the vector generator. The mapping logic contains a number of fields that correspond to the different exception vectors that may be generated. The fields are programmable by kernel mode instructions, and contain data mapping each field to one of a number of shadow register sets. When an interrupt occurs, the vector generator generates a corresponding exception vector. In addition, the shadow set mapping logic looks at the field corresponding to the exception vector, and retrieves the data stored therein.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: February 3, 2009
    Assignee: MIPS Technologies, Inc.
    Inventor: G. Michael Uhler
  • Patent number: 7242414
    Abstract: A processor having a compare extension of an instruction set architecture which incorporates a set of high performance floating point operations. The instruction set architecture incorporates a variety of data formats including single precision and double precision data formats, as well as the paired-single data format that allows two simultaneous operations on a pair of operands. The extension includes instructions directed to a magnitude compare of floating point numbers and conversions between a pair of 32-bit fixed point integers and paired-single floating point format.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: July 10, 2007
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler, Ying-wai Ho, Chandlee B. Harrell
  • Patent number: 7185183
    Abstract: A group of bit set and bit clear instructions are provided for a microprocessor to allow atomic modification of privileged architecture control registers. The bit set and bit clear instructions include an opcode that designates to the microprocessor that the instructions are to execute in privileged (kernel) state only, and that the instructions are to communicate with privileged control registers. Two operands are provided for the instructions, the first designating which of the privileged control registers is to be modified, the second designating a general purpose register that contains a bit mask. The bit set instructions set bits in the designated control register according to bits set in the bit mask. The bit clear instructions clear bits in the designated control register according to bits set in the bit mask. By atomically modifying privileged control registers, a requirement for strict nesting of interrupt routines is eliminated.
    Type: Grant
    Filed: August 2, 2001
    Date of Patent: February 27, 2007
    Assignee: MIPS Technologies, Inc.
    Inventor: G. Michael Uhler
  • Patent number: 7181600
    Abstract: A bit mask register is provided within the privileged architecture of a microprocessor. The bit mask register includes a plurality of bits, the bits corresponding to other privileged architecture registers. When a bit in the bit mask register is set, its corresponding privileged architecture register is made read-only accessible when the microprocessor is in user mode. When a bit in the bit mask register is clear, its corresponding privileged architecture register is unavailable when the microprocessor is in user mode. If an instruction executing in user mode requests access to a privileged architecture register, and its corresponding bit in the bit mask register is clear, an exception is generated, allowing a kernel mode operating system to optionally set the corresponding bit in the bit mask register, and provide read-only access to the register.
    Type: Grant
    Filed: August 2, 2001
    Date of Patent: February 20, 2007
    Assignee: MIPS Technologies, Inc.
    Inventor: G. Michael Uhler
  • Patent number: 7065675
    Abstract: A system and method for providing efficient block transfer operations through a test access port uses a Fastdata register. The Fastdata register, in part, emulates a pending process access bit (“PrAcc”) typically found in a Control register associated with the test access port. When a Fastdata access (either a Fastdata upload or a Fastdata download) is requested by a probe coupled to the test access port, the Fastdata register is serially coupled to a data register also associated with the test access port. With these registers so coupled and through the operation of the Fastdata register, downloading and uploading data can be accomplished using a single register operation.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: June 20, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, Scott Michael McCoy, Franz Treue, Morten Zilmer, G. Michael Uhler
  • Patent number: 7000095
    Abstract: A method and apparatus for overlaying hazard clearing with a jump instruction within a pipeline microprocessor is described. The apparatus includes hazard logic to detect when a jump instruction specifies that hazards are to be cleared as part of a jump operation. If hazards are to be cleared, the hazard logic disables branch prediction for the jump instruction, thereby causing the jump instruction to proceed down the pipeline until it is finally resolved, and flushing the pipeline behind the jump instruction. Disabling of branch prediction for the jump instruction effectively clears all execution and/or instruction hazards that preceded the jump instruction. Alternatively, hazard logic causes issue control logic to stall the jump instruction for n-cycles until all hazards are cleared. State tracking logic may be provided to determine whether any instructions are executing in the pipeline that create hazards. If so, hazard logic performs normally.
    Type: Grant
    Filed: September 6, 2002
    Date of Patent: February 14, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Niels Gram Jeppesen, G. Michael Uhler
  • Patent number: 6732259
    Abstract: A processor having a conditional branch extension of an instruction set architecture which incorporates a set of high performance floating point operations. The instruction set architecture incorporates a variety of data formats including single precision and double precision data formats, as well as the paired-single data format that allows two simultaneous operations on a pair of operands. The extension includes instructions directed to branching if, for example, either one of two condition codes is false or true, if any of three condition codes are false or true, or if any one of four condition codes are false or true.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: May 4, 2004
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler, Ying-wai Ho, Chandlee B. Harrell
  • Patent number: 6714197
    Abstract: A processor having an arithmetic extension of an instruction set architecture which incorporates a set of high performance floating point operations. The instruction set architecture incorporates a variety of data formats including single precision and double precision data formats, as well as the paired-single data format that allows two simultaneous operations on a pair of operands. The extension includes instructions directed to reduction add, reduction multiply, reciprocal, and reciprocal square root.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: March 30, 2004
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler, Ying-wai Ho, Chandlee B. Harrell
  • Publication number: 20040049660
    Abstract: A method and apparatus for overlaying hazard clearing with a jump instruction within a pipeline microprocessor is described. The apparatus includes hazard logic to detect when a jump instruction specifies that hazards are to be cleared as part of a jump operation. If hazards are to be cleared, the hazard logic disables branch prediction for the jump instruction, thereby causing the jump instruction to proceed down the pipeline until it is finally resolved, and flushing the pipeline behind the jump instruction. Disabling of branch prediction for the jump instruction effectively clears all execution and/or instruction hazards that preceded the jump instruction. Alternatively, hazard logic causes issue control logic to stall the jump instruction for n-cycles until all hazards are cleared. State tracking logic may be provided to determine whether any instructions are executing in the pipeline that create hazards. If so, hazard logic performs normally.
    Type: Application
    Filed: September 6, 2002
    Publication date: March 11, 2004
    Applicant: MIPS Technologies, Inc.
    Inventors: Niels Gram Jeppesen, G. Michael Uhler
  • Patent number: 6681283
    Abstract: A cache coherency system for an on-chip computing bus is provided. The coherency system contains a coherency credit counter within each master device on the on-chip bus for monitoring the resources available on the bus for coherent transactions, a coherency input buffer for storing coherent transactions, and a cache for storing coherent data. The coherency credit counter tracks coherent transactions pending in a memory controller, and delays coherent transactions from being placed on the bus if coherent resources are not available in the memory controller. When resources become available in the memory controller, the memory controller signals the coherency system in each of the master devices. The coherency system is coupled to a split transaction tracking and control to establish transaction ID's for each coherent transaction initiated by its master device, and presents a transaction ID along with an address portion of each coherent transaction.
    Type: Grant
    Filed: August 12, 1999
    Date of Patent: January 20, 2004
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler
  • Patent number: 6651156
    Abstract: An apparatus and method are provided that enable a central processing unit (CPU) to extend the attributes of virtual memory beyond that which an existing translation lookaside buffer within the CPU is capable of storing while at the same time preserving compatibility with legacy operating system software. The apparatus includes a translation lookaside buffer and extended attributes logic. The translation lookaside buffer (TLB) stores a plurality of TLB entries. Each of the TLB entries has an extended memory attributes index field. The extended attributes logic is coupled to the TLB. The extended attributes logic employs the extended memory attributes index field to access one of a plurality of extended memory attributes registers that is external to the TLB. Contents of the extended memory attributes register prescribe specific extended properties for a corresponding virtual memory page.
    Type: Grant
    Filed: March 30, 2001
    Date of Patent: November 18, 2003
    Assignee: MIPS Technologies, Inc.
    Inventors: David A. Courtright, Lawrence H. Hudepohl, Kevin D. Kissell, G. Michael Uhler
  • Patent number: 6604159
    Abstract: An on-chip split transaction system bus having separate address and data portions is provided. The system bus contains separate address and data buses for initiating and tracking transactions on either or both of the address or data portions of the bus. The system bus provides communication via a bus interface that includes split transaction tracking and control to establish transaction ID's for each transaction initiated by the bus interface, and to determine whether data appearing on the data portion of the system bus is associated with one of its pending transactions. The bus interface also contains a data release mechanism to reduce turn around time of the data bus between competing data bus masters. The data release mechanism is incorporated within the bus interface of all data bus masters. A data bus master drives data release during the last cycle of a data transaction.
    Type: Grant
    Filed: August 12, 1999
    Date of Patent: August 5, 2003
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, G. Michael Uhler
  • Publication number: 20030074545
    Abstract: A method and apparatus within a processing system is provided for associating shadow register sets with interrupt routines. The invention includes a vector generator that receives interrupts, and generates exception vectors to call interrupt routines that correspond to the interrupts. The exception vector considers the type of interrupt and the priority level of the interrupt when selecting the exception vector. Shadow set mapping logic is coupled to the vector generator. The mapping logic contains a number of fields that correspond to the different exception vectors that may be generated. The fields are programmable by kernel mode instructions, and contain data mapping each field to one of a number of shadow register sets. When an interrupt occurs, the vector generator generates a corresponding exception vector. In addition, the shadow set mapping logic looks at the field corresponding to the exception vector, and retrieves the data stored therein.
    Type: Application
    Filed: October 12, 2001
    Publication date: April 17, 2003
    Inventor: G. Michael Uhler
  • Publication number: 20030074508
    Abstract: A method and apparatus for generating an interrupt vector associated with either core (internal) generated or off-core (external) generated interrupts is provided. The apparatus includes a number of programmable interrupt priority level fields for storing priority levels for the core generated interrupts, and for the externally generated interrupts, if desired. The apparatus further includes a programmable offset register for storing an offset to be used in calculating the interrupt vector. The apparatus further includes a priority encoder that sorts all of the received interrupts, whether on-core or off-core, according to their priority, utilizing the programmed interrupt priority levels. The priority encoder provides an indication of the received interrupt with the highest priority to a vector generator. The vector generator receives the indication, and calculates an interrupt vector utilizing the programmed offset.
    Type: Application
    Filed: October 12, 2001
    Publication date: April 17, 2003
    Inventor: G. Michael Uhler