Patents Assigned to MIPS Technologies, Inc.
  • Patent number: 8307426
    Abstract: The present invention provides systems and methods for controlling the use of processing algorithms, and applications thereof. In an embodiment, authorization to use an algorithm is validated in a system having a processor capable of executing user defined instructions, by executing a user defined instruction that writes a first value to a first storage of a user defined instruction block, uses the first value to transform a second value located in a second storage of the user defined instruction block, and compares the transformed second value to a third value located in a third storage. Use of the algorithm is permitted only if the comparison of the transformed second value to the third value indicates that use of the algorithm is authorized. In another embodiment, authorization to use an at least partially decrypted algorithm is validated via a key for enablement.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: November 6, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Radhika Thekkath
  • Patent number: 8291364
    Abstract: The present invention provides an automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof In an embodiment, an automated design tool according to the invention generates a clocking system that includes a clock signal generator, control logic, enable logic, and at least one clock gater. The clock signal generator generates a clock signal that is distributed to various logic blocks of the digital circuit using a buffered clock tree. The enable logic receives input values from the control logic and provides a control signal to the clock gater. When enabled, the clock gater allows a clock signal to pass through to multiple registers. An early clock signal is provided to register(s) in the control logic, which allows for an increased clock frequency while still meeting timing constraints.
    Type: Grant
    Filed: February 15, 2011
    Date of Patent: October 16, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Avishek Panigrahi, Soumya Banerjee, Thomas Stephen Chanak, Jr.
  • Patent number: 8266620
    Abstract: A multiprocessing system is disclosed. The system includes a multithreading microprocessor, including a plurality of thread contexts (TCs), each comprising a first control indicator for controlling whether the TC is exempt from servicing interrupt requests to an exception domain for the plurality of TCs, and a virtual processing element (VPE), comprising the exception domain, configured to receive the interrupt requests, wherein the interrupt requests are non-specific to the plurality of TCs, wherein the VPE is configured to select a non-exempt one of the plurality of TCs to service each of the interrupt requests, the VPE further comprising a second control indicator for controlling whether the VPE is enabled to select one of the plurality of TCs to service the interrupt requests.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: September 11, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Kevin D. Kissell
  • Publication number: 20120221838
    Abstract: The present invention provides software programmable hardware state machines to detect a cause of an error in a processor and prevent the error from occurring. A processor core is provided that includes an execution unit, a programmable mask register and a buffer that stores values representing instructions dispatched to the execution unit. The processor core also includes control logic to determine whether there is a match between a sequence in the mask register and a sequence in the buffer and, upon detecting a match, to generate control signals to perform a desired action. The desired action prevents an unwanted change from occurring to the architectural state of the processor. The processor core further comprises a programmable fix register. In an embodiment, the control logic generates the control signals based on control bits stored in the fix register.
    Type: Application
    Filed: February 24, 2012
    Publication date: August 30, 2012
    Applicant: MIPS Technologies, Inc.
    Inventors: Soumya BANERJEE, Gideon D. INTRATER, Michael Gottlieb JENSEN
  • Patent number: 8239620
    Abstract: A processor includes a first translation look-aside buffer to support a guest operating mode. A second translation look-aside buffer supports a root operating mode. Hardware resources support the guest operating mode as controlled by guest mode control registers defining guest context. The guest context is used by the hardware resources to access the first translation look-aside buffer to translate a guest virtual address to a guest physical address. The hardware resources access the second translation look-aside buffer to translate the guest physical address to a physical address.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: August 7, 2012
    Assignee: Mips Technologies, Inc.
    Inventor: James Robert Howard Hakewill
  • Patent number: 8234326
    Abstract: The present invention provides processing systems, apparatuses, and methods that support both general processing processor (GPP) and digital signal processor (DSP) features, such as vector and single value multiplication. In an embodiment, fractional arithmetic, integer arithmetic, saturation, and single instruction multiple data (SIMD) operations such as vector multiply, multiply accumulate, dot-product accumulate, and multiply-subtract accumulate are supported. In an embodiment, the process core and/or multiplier multiplies vector values or single values by creating partial products for each desired product. These partial products are added to produce intermediate results, which are combined in different ways to support various GPP and DSP operations.
    Type: Grant
    Filed: May 5, 2005
    Date of Patent: July 31, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Chinh N. Tran
  • Patent number: 8234456
    Abstract: A method of controlling the exclusivity mode of a level-two cache includes generating level-two cache exclusivity control information at a processor in response to an exclusivity mode indicator, and utilizing the level-two cache exclusivity control information to configure the exclusivity mode of the level-two cache.
    Type: Grant
    Filed: February 24, 2011
    Date of Patent: July 31, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Jinwoo Kim, Darren M. Jones
  • Patent number: 8229991
    Abstract: The present invention provides processing systems, apparatuses, and methods that support both general processing processor (GPP) and digital signal processor (DSP) features, such as vector and single value multiplication. In an embodiment, fractional arithmetic, integer arithmetic, saturation, and single instruction multiple data (SIMD) operations such as vector multiply, multiply accumulate, dot-product accumulate, and multiply-subtract accumulate are supported. In an embodiment, the process core and/or multiplier multiplies vector values or single values by creating partial products for each desired product. These partial products are added to produce intermediate results, which are combined in different ways to support various GPP and DSP operations.
    Type: Grant
    Filed: May 5, 2005
    Date of Patent: July 24, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Chinh N. Tran
  • Patent number: 8230202
    Abstract: A computer readable storage medium includes executable instructions to characterize a coherency controller. The executable instructions define ports to receive processor trace information from a set of processors. The processor trace information from each processor includes a processor identity and a condensed coherence indicator. Circuitry produces a trace stream with trace metrics and condensed coherence indicators.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: July 24, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Thomas Benjamin Berg, Ryan C. Kinter, Jaidev Prasad Patwardhan, Radhika Thekkath
  • Patent number: 8209522
    Abstract: Systems and methods that allow for extracting a field from data stored in a pair of registers using two instructions. A first instruction extracts any part of the field from a first register designated as a first source register, and executes a second instruction extracting any part of the field from a second general register designated as a second source register. The second instruction inserts any extracted field parts in a result register.
    Type: Grant
    Filed: January 6, 2011
    Date of Patent: June 26, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Sol Katzman, Robert Gelinas, W. Patrick Hays
  • Patent number: 8190865
    Abstract: An instruction encoding architecture is provided for a microprocessor to allow atomic modification of privileged architecture registers. The 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, a field for designating which of a plurality of privileged architecture registers is to be modified, a field for designating which bit fields within the designated privileged architecture register is to be modified, and a field to designate whether the whether the designated bit fields are to be set or cleared. The instruction encoding allows a single instruction to atomically set or clear bit fields within privileged architecture registers, without reading the privileged architecture registers into a general purpose register.
    Type: Grant
    Filed: October 9, 2009
    Date of Patent: May 29, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Michael G. Jensen
  • Patent number: 8190665
    Abstract: A microprocessor including random cache line refill ordering to lessen side channel leakage in a cache line and thus thwart cryptanalysis attacks such as timing attacks, power analysis attacks, and probe attacks. A random sequence generator is used to randomize the order in which memory locations are read when filling a cache line.
    Type: Grant
    Filed: November 21, 2007
    Date of Patent: May 29, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Morten Stribaek, Jakob Schou Jensen, Jean-Francois Dhem
  • Patent number: 8185717
    Abstract: A system includes a processor with a memory map specifying a user mode region with virtual address translation by a memory management unit and a kernel mode region with direct virtual address translation. The processor executes an application in the user mode region where virtual addresses are not unique. A probe receives trace information from the processor. A host system receives the trace information from the probe. The host system includes a data structure associating a process name, a process identification and a set of instruction counters. Each instruction counter is incremented upon the processing of a designated virtual address within the trace information. A profiling module processes information associated with the process name and set of instruction counters to identify a performance problem in the application.
    Type: Grant
    Filed: July 20, 2009
    Date of Patent: May 22, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Bruce J. Ableidinger
  • Patent number: 8185879
    Abstract: A method for tracing a multi-tasking embedded pipelined processor includes executing compiled code including trace controls. Tracing is initiated when the execution of the compiled code is initiated. Tracing is stopped when execution of the compiled code is completed. A trace record is formed during tracing. The trace record includes a processor mode indication, application space identity value and an instruction architecture set mode indication.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: May 22, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Radhika Thekkath, Franz Treue, Ernest L. Edgar, Richard T. Leatherman
  • Patent number: 8181000
    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: April 17, 2006
    Date of Patent: May 15, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Michael G. Uhler
  • 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
  • Publication number: 20120082167
    Abstract: A system for processing data packets in a data packet network has at least one input port for receiving data packets, at least one output port for sending out data packets, a processor for processing packet data, and a packet predictor for predicting a future packet based on a received packet, such that at least some processing for the predicted packet may be accomplished before the predicted packet actually arrives at the system. The system is used in preferred embodiments in Internet routers.
    Type: Application
    Filed: December 12, 2011
    Publication date: April 5, 2012
    Applicant: MIPS Technologies, Inc.
    Inventor: Enrique MUSOLL
  • Patent number: 8151093
    Abstract: The present invention provides software programmable hardware state machines to detect a cause of an error in a processor and prevent the error from occurring. In example embodiments, processors, systems and methods are provided to prevent an unwanted change in architectural state from occurring as a result of execution of a specific sequence of instruction types. A processor core is provided that includes an execution unit, a programmable mask register and a buffer that stores values representing instructions dispatched to the execution unit. The processor core also includes control logic to determine whether there is a match between a sequence in the mask register and a sequence in the buffer and, upon detecting a match, to generate control signals to perform a desired action. The desired action prevents an unwanted change from occurring to the architectural state of the processor.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: April 3, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Soumya Banerjee, Gideon D. Intrater, Michael Gottlieb Jensen
  • Patent number: 8151268
    Abstract: A multithreading processor for concurrently executing multiple threads is provided. The processor includes an execution pipeline and a thread scheduler that dispatches instructions of the threads to the execution pipeline. The execution pipeline execution pipeline is configured for generating a thread context (TC) flush indicator associated with a thread context when one or more instructions of the thread context would stall in the execution pipeline. One or more instructions in the pipeline of the thread context associated with the thread context flush signal can be flushed or nullified.
    Type: Grant
    Filed: January 8, 2010
    Date of Patent: April 3, 2012
    Assignee: MIPS Technologies, Inc.
    Inventors: Darren M. Jones, Ryan C. Kinter, Michael Gottlieb Jensen, Sanjay Vishin
  • Patent number: 8145884
    Abstract: A fork instruction for execution on a multithreaded microprocessor and occupying a single instruction issue slot is disclosed. The fork instruction, executing in a parent thread, includes a first operand specifying the initial instruction address of a new thread and a second operand. The microprocessor executes the fork instruction by allocating context for the new thread, copying the first operand to a program counter of the new thread context, copying the second operand to a register of the new thread context, and scheduling the new thread for execution. If no new thread context is free for allocation, the microprocessor raises an exception to the fork instruction. The fork instruction is efficient because it does not copy the parent thread general purpose registers to the new thread. The second operand is typically used as a pointer to a data structure in memory containing initial general purpose register set values for the new thread.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: March 27, 2012
    Assignee: MIPS Technologies, Inc.
    Inventor: Kevin D. Kissell