Patents Assigned to MIPS Technologies, Inc.
-
Patent number: 8392644Abstract: A processing system is provided consisting of an interrupt pin, multiple registers, a stack pointer, and an automatic interrupt system. The multiple registers store a number of processor states values. When the system detects an interrupt on the interrupt pin the system prepares to enter an exception mode where the automatic interrupt system causes an interrupt vector to be fetched, the stack pointer to be updated, and the processor state values to be read in parallel from the registers and stored in memory locations based on the updated stack pointer, prior to the execution of an interrupt service routine. A method for automatic hardware interrupt handling is also presented.Type: GrantFiled: July 30, 2010Date of Patent: March 5, 2013Assignee: MIPS Technologies, Inc.Inventors: Erik K. Norden, David Yiu-Man Lau, James H. Robinson
-
Patent number: 8392663Abstract: A multiprocessor system maintains cache coherence among processors in a coherent domain. Within the coherent domain, a first processor can receive a command to perform a cache maintenance operation. The first processor can determine whether the cache maintenance operation is a coherent operation. For coherent operations, the first processor sends a coherent request message for distribution to other processors in the coherent domain and can cancel execution of the cache maintenance operation pending receipt of intervention messages corresponding to the coherent request. The intervention messages can reflect a global ordering of coherence traffic in the multiprocessor system and can include instructions for maintaining a data cache and an instruction cache of the first processor. Cache maintenance operations that are determined to be non-coherent can be executed at the first processor without sending the coherent request.Type: GrantFiled: December 10, 2008Date of Patent: March 5, 2013Assignee: MIPS Technologies, Inc.Inventors: Ryan C. Kinter, Darren M. Jones, Matthias Knoth
-
Patent number: 8392651Abstract: A microprocessor includes one or more N-way caches and a way prediction logic that selectively enables and disables the cache ways so as to reduce the power consumption. The way prediction logic receives an address and predicts in which one of the cache ways the data associated with the address is likely to be stored. The way prediction logic causes an enabling signal to be supplied only to the way predicted to contain the requested data. The remaining (N?1) of the cache ways do not receive the enabling signal. The power consumed by the cache is thus significantly reduced.Type: GrantFiled: August 20, 2008Date of Patent: March 5, 2013Assignee: MIPS Technologies, Inc.Inventor: Ajit Karthik Mylavarapu
-
Patent number: 8392746Abstract: The present invention provides a clock ratio controller for dynamic voltage and frequency scaled digital systems, and applications thereof. In an embodiment, a digital system is provided that includes a first digital circuit that operates at a first rate determined by a first clock signal and a second digital circuit that operates at a second rate determined by a second clock signal. The first digital circuit is coupled to the second digital circuit by a bus that is used for communications between the first digital circuit and the second digital circuit. A clock ratio controller is used to adjust the frequency of the first clock signal and/or the second clock signal in response to a power management signal without causing a loss of synchronization between the first digital circuit and the second digital circuit.Type: GrantFiled: October 20, 2011Date of Patent: March 5, 2013Assignee: MIPS Technologies, Inc.Inventor: Matthias Knoth
-
Publication number: 20130031314Abstract: A number of coherence domains are maintained among the multitude of processing cores disposed in a microprocessor. A cache coherency manager defines the coherency relationships such that coherence traffic flows only among the processing cores that are defined as having a coherency relationship. The data defining the coherency relationships between the processing cores is optionally stored in a programmable register. For each source of a coherent request, the processing core targets of the request are identified in the programmable register. In response to a coherent request, an intervention message is forwarded only to the cores that are defined to be in the same coherence domain as the requesting core. If a cache hit occurs in response to a coherent read request and the coherence state of the cache line resulting in the hit satisfies a condition, the requested data is made available to the requesting core from that cache line.Type: ApplicationFiled: January 30, 2012Publication date: January 31, 2013Applicant: MIPS Technologies, Inc.Inventor: Ryan C. Kinter
-
Patent number: 8327121Abstract: A microprocessor includes an N-way cache and a logic block that selectively enables and disables the N-way cache for at least one clock cycle if a first register load instructions and a second register load instruction, following the first register load instruction, are detected as pointing to the same index line in which the requested data is stored. The logic block further provides a disabling signal to the N-way cache for at least one clock cycle if the first and second instructions are detected as pointing to the same cache way.Type: GrantFiled: August 20, 2008Date of Patent: December 4, 2012Assignee: MIPS Technologies, Inc.Inventors: Ajit Karthik Mylavarapu, Sanjai Balakrishnan Athi
-
Publication number: 20120290780Abstract: A method of fetching data from a cache begins by preparing to fetch a first set of cache ways for a first data word of a first cache line a using a first thread. Next, in parallel, a second set cache ways for a first data word of a second cache line is prepared to be fetched using a second thread, and data associated with each cache way of the first set of cache ways are fetched using the first thread. Also performed in parallel, data associated with each cache way of the second set of cache ways is fetched using the second thread and a third set of cache ways for a second data word of the first cache line is prepared to be fetched using the first thread based on a selected cache way, the selected cache way selected from the first set of cache ways.Type: ApplicationFiled: January 27, 2012Publication date: November 15, 2012Applicant: MIPS Technologies Inc.Inventors: Ryan C. Kinter, Thomas Benjamin Berg, Matthias Knoth
-
Patent number: 8307426Abstract: 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: GrantFiled: January 26, 2007Date of Patent: November 6, 2012Assignee: MIPS Technologies, Inc.Inventor: Radhika Thekkath
-
Patent number: 8291364Abstract: 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: GrantFiled: February 15, 2011Date of Patent: October 16, 2012Assignee: MIPS Technologies, Inc.Inventors: Avishek Panigrahi, Soumya Banerjee, Thomas Stephen Chanak, Jr.
-
Patent number: 8266620Abstract: 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: GrantFiled: October 26, 2010Date of Patent: September 11, 2012Assignee: MIPS Technologies, Inc.Inventor: Kevin D. Kissell
-
Publication number: 20120221838Abstract: 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: ApplicationFiled: February 24, 2012Publication date: August 30, 2012Applicant: MIPS Technologies, Inc.Inventors: Soumya BANERJEE, Gideon D. INTRATER, Michael Gottlieb JENSEN
-
Patent number: 8234456Abstract: 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: GrantFiled: February 24, 2011Date of Patent: July 31, 2012Assignee: MIPS Technologies, Inc.Inventors: Jinwoo Kim, Darren M. Jones
-
Patent number: 8234326Abstract: 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: GrantFiled: May 5, 2005Date of Patent: July 31, 2012Assignee: MIPS Technologies, Inc.Inventor: Chinh N. Tran
-
Patent number: 8230202Abstract: 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: GrantFiled: March 31, 2008Date of Patent: July 24, 2012Assignee: MIPS Technologies, Inc.Inventors: Thomas Benjamin Berg, Ryan C. Kinter, Jaidev Prasad Patwardhan, Radhika Thekkath
-
Patent number: 8229991Abstract: 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: GrantFiled: May 5, 2005Date of Patent: July 24, 2012Assignee: MIPS Technologies, Inc.Inventor: Chinh N. Tran
-
Patent number: 8209522Abstract: 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: GrantFiled: January 6, 2011Date of Patent: June 26, 2012Assignee: MIPS Technologies, Inc.Inventors: Sol Katzman, Robert Gelinas, W. Patrick Hays
-
Patent number: 8190665Abstract: 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: GrantFiled: November 21, 2007Date of Patent: May 29, 2012Assignee: MIPS Technologies, Inc.Inventors: Morten Stribaek, Jakob Schou Jensen, Jean-Francois Dhem
-
Patent number: 8190865Abstract: 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: GrantFiled: October 9, 2009Date of Patent: May 29, 2012Assignee: MIPS Technologies, Inc.Inventor: Michael G. Jensen
-
Patent number: 8185879Abstract: 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: GrantFiled: November 6, 2006Date of Patent: May 22, 2012Assignee: MIPS Technologies, Inc.Inventors: Radhika Thekkath, Franz Treue, Ernest L. Edgar, Richard T. Leatherman
-
Patent number: 8185717Abstract: 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: GrantFiled: July 20, 2009Date of Patent: May 22, 2012Assignee: MIPS Technologies, Inc.Inventor: Bruce J. Ableidinger