Patents by Inventor Eric F. Robinson

Eric F. Robinson 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: 7610449
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Power is conserved by guiding access to lines stored in the cache and lowering cache clock speed relative to the central processor clock speed.
    Type: Grant
    Filed: October 4, 2006
    Date of Patent: October 27, 2009
    Assignee: International Business Machines Corporation
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20090164729
    Abstract: A method, system and process for retiring data entries held within a store queue (STQ). The STQ of a processor cache is modified to receive and process multiple synchronized groups (sync-groups). Sync groups comprise thread of execution synchronized (thread-sync) entries, all thread of execution synchronized (all-thread-sync) entries, and regular store entries (non-thread-sync and non-all-thread-sync). The task of storing data entries, from the STQ out to memory or an input/output device, is modified to increase the effectiveness of the cache. Sync-groups are created for each thread and tracked within the STQ via a synchronized identification (SID). An entry is eligible for retirement when the entry is within a currently retiring sync-group as identified by the SID.
    Type: Application
    Filed: December 21, 2007
    Publication date: June 25, 2009
    Applicant: IBM Corporation
    Inventor: ERIC F. ROBINSON
  • Publication number: 20090164734
    Abstract: A method, system and processing device for retiring data entries held within a store queue (STQ). The STQ of a processor cache is modified to receive and process several types of data entries including: non-synchronized (non-sync), thread of execution synchronized (thread-sync), and all thread of execution synchronized (all-thread-sync). The task of storing data entries, from the STQ out to memory or an input/output device, is modified to increase the effectiveness of the cache. The modified STQ allows non-sync, thread-sync, and all-thread-sync instructions to coexist in the STQ regardless of the thread of execution. Stored data entries, or stores are deterministically selected for retirement, according to the data entry type.
    Type: Application
    Filed: December 21, 2007
    Publication date: June 25, 2009
    Applicant: IBM Corporation
    Inventor: Eric F. Robinson
  • Publication number: 20090157944
    Abstract: A method and system for processing data. In one embodiment, the method includes receiving a first store and receiving a second store subsequent to the first store. The method also includes generating a pointer that points to the last store that needs to retire before the second store retires, where the pointer is associated with the second store, and the last store that needs to retire is the first store.
    Type: Application
    Filed: December 17, 2007
    Publication date: June 18, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Eric F. ROBINSON
  • Publication number: 20090157943
    Abstract: A method and system for processing data. In one embodiment, the method includes receiving a plurality of stores into a store queue, where each store is a result from a processor, and where the plurality of stores are destined for at least one memory address. The method also includes marking a most recent store of the plurality of stores for each unique memory address, comparing a load request against the store queue, and identifying only the most recent store for each unique memory address for the purpose of handling load-hit-store ordering hazards.
    Type: Application
    Filed: December 17, 2007
    Publication date: June 18, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Eric F. ROBINSON
  • Publication number: 20080288752
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for forwarding store data to loads in a pipelined processor is provided. In one implementation, a processor is provided that includes a decoder operable to decode an instruction, and a plurality of execution units operable to respectively execute a decoded instruction from the decoder. The plurality of execution units include a load/store execution unit operable to execute decoded load instructions and decoded store instructions and generate corresponding load memory operations and store memory operations. The store queue is operable to buffer one or more store memory operations prior to the one or more memory operations being completed, and the store queue is operable to forward store data of the one or more store memory operations buffered in the store queue to a load memory operation on a byte-by-byte basis.
    Type: Application
    Filed: May 4, 2008
    Publication date: November 20, 2008
    Inventors: JASON A. COX, Kevin C.K. Lin, Eric F. Robinson
  • Publication number: 20080250207
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Control is exercised over which lines are contained within the cache. This invention avoids inefficiencies in the cache by removing trace lines experiencing early exits from the cache, or trace lines that are short, by maintaining a few bits of information about the accuracy of the control flow in a trace cache line and using that information in addition to the LRU (Least Recently Used) bits that maintain the recency information of a cache line, in order to make a replacement decision.
    Type: Application
    Filed: May 12, 2008
    Publication date: October 9, 2008
    Inventors: GORDON T. DAVIS, Richard W. Doing, John D. Jabusch, M.V.V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080250206
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for a single unified level one instruction(s) cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instruction(s) consistent with conventional cache lines is provided. Formation of trace lines in the cache is delayed on initial operation of the system to assure quality of the trace lines stored.
    Type: Application
    Filed: May 7, 2008
    Publication date: October 9, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M.V.V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080250205
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for a single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines is provided. A mechanism is described for indexing into the cache, and selecting the desired line. Control is exercised over which lines are contained within the cache. Provision is made for selection between a trace line and a conventional line when both match during a tag compare step.
    Type: Application
    Filed: May 7, 2008
    Publication date: October 9, 2008
    Inventors: GORDON T. DAVIS, Richard W. Doing, John D. Jabusch, M VV A. Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080235500
    Abstract: A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design for a single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines is provided. Instruction branches are predicted taken or not taken using a highly accurate branch history table (BHT). Branches that are predicted not taken are appended to a trace buffer and the next basic block is constructed from the remaining instructions in the fetch buffer. Branches that are predicted taken flush the remaining fetch buffer and the next address is determined using a Branch Target Address Register (BTAC).
    Type: Application
    Filed: June 2, 2008
    Publication date: September 25, 2008
    Inventors: GORDON T. DAVIS, Richard W. Doing, John D. Jabusch, M. V.V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080215804
    Abstract: A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design for register renaming allows processor hardware to use a larger set of registers than the architected registers visible to the compiler. This larger set of registers is called the physical register file. Thus, dynamically renaming every compiler-suggested architected register to a microarchitecture-specific physical register, allows the processor to overcome name dependencies and the hazards (pipeline slowdowns) induced by name dependencies.
    Type: Application
    Filed: May 12, 2008
    Publication date: September 4, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, MVV A. Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080120468
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Instruction branches are predicted taken or not taken using a highly accurate branch history table (BHT). Branches that are predicted not taken are appended to a trace buffer and the next basic block is constructed from the remaining instructions in the fetch buffer. Branches that are predicted taken flush the remaining fetch buffer and the next address is determined using a Branch Target Address Register (BTAC).
    Type: Application
    Filed: November 21, 2006
    Publication date: May 22, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080120523
    Abstract: A method and system for creating trace triggers from non-concurrent events, the system comprising: a trace trigger mechanism including: a plurality of multiplexers for breaking down a plurality of signals into a plurality of groups of signals; a pattern match mechanism for matching the plurality of signals to form a plurality of events, and a trace array trigger control block to perform one or more functions on the plurality of independently controlled events in order to create flexible trace trigger controls from non-concurrent events to control the starting and stopping of a data gathering function such as is used to capture trace data.
    Type: Application
    Filed: November 17, 2006
    Publication date: May 22, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason A. Cox, Keith A. DeWeese, Robert J. Dorsey, Eric F. Robinson, Thuong Q. Truong, Mark J. Wolski
  • Publication number: 20080114964
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Control is exercised over which lines are contained within the cache. This invention avoids inefficiencies in the cache by removing trace lines experiencing early exits from the cache, or trace lines that are short, by maintaining a few bits of information about the accuracy of the control flow in a trace cache line and using that information in addition to the LRU (Least Recently Used) bits that maintain the recency information of a cache line, in order to make a replacement decision.
    Type: Application
    Filed: November 14, 2006
    Publication date: May 15, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080091883
    Abstract: A system for detecting and breaking up requester starvation, including: a plurality of logic circuits, each of the plurality of logic circuits permitted to access a cache via a plurality of requesters for requesting information from the cache; and a counter for counting a number of times each of the plurality of requestors of each of the plurality of logic circuits has (i) successfully accessed one or more of a plurality of arbitration levels and (ii) has been rejected by a subsequent arbitration level; wherein when the counter reaches a predetermined threshold value, an event is triggered to block a first type of requester from accessing the cache and to permit a second type of requester to access the cache; and wherein the counter is reconfigured to count a predetermined number of cycles before the first type of requester is unblocked from accessing the cache.
    Type: Application
    Filed: October 12, 2006
    Publication date: April 17, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason A. Cox, Eric F. Robinson, Thuong Q. Truong, Mark J. Wolski
  • Publication number: 20080091866
    Abstract: A system having a plurality of arbitration levels for detecting and breaking up requester starvation, the system including: a plurality of logic circuits, each of the plurality of logic circuits permitted to access a cache via a plurality of requesters for requesting information from the cache; a counter for counting a number of times each of the plurality of requesters of each of the plurality of logic circuits has successfully accessed one or more of the plurality of arbitration levels and has been rejected by a subsequent arbitration level; wherein if the counter reaches a predetermined threshold for a requester of a logic circuit, the counter triggers an event that increases a priority level of the requester compared to all other requesters attempting to access the cache, so that the requestor reaches the cache before the other requesters.
    Type: Application
    Filed: October 12, 2006
    Publication date: April 17, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason A. Cox, Eric F. Robinson, Thuong Q. Truong
  • Publication number: 20080091879
    Abstract: A system for breaking out of live-locks, the system including: a plurality of central processing units (CPUs), each of the plurality of CPUs having a first level cache; a plurality of second level cache, each of the plurality of second level cache in communication with one or more of the plurality of CPUs; wherein each of the plurality of second level cache includes a plurality of DMs (Data Machines); and wherein the system executes the communication between the plurality of CPUs and the plurality of second level cache by implementing the steps: randomly stopping dispatching of one or more requests; verifying that the plurality of DMs of the second level cache is in an idle state; entering into a single dispatch mode, whereby a DM is dispatched if it is determined that every DM of the second level cache is in the idle state; and returning to normal dispatch mode in a random manner.
    Type: Application
    Filed: October 12, 2006
    Publication date: April 17, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert J. Dorsey, Jason A. Cox, Eric F. Robinson, Thuong Q. Truong, Mark J. Wolski
  • Publication number: 20080086595
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Power is conserved by guiding access to lines stored in the cache and lowering cache clock speed relative to the central processor clock speed.
    Type: Application
    Filed: October 4, 2006
    Publication date: April 10, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080086596
    Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. A mechanism is described for indexing into the cache, and selecting the desired line. Control is exercised over which lines are contained within the cache. Provision is made for selection between a trace line and a conventional line when both match during a tag compare step.
    Type: Application
    Filed: October 4, 2006
    Publication date: April 10, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
  • Publication number: 20080086597
    Abstract: A single unified level one instruction(s) cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instruction(s) consistent with conventional cache lines. Formation of trace lines in the cache is delayed on initial operation of the system to assure quality of the trace lines stored.
    Type: Application
    Filed: October 5, 2006
    Publication date: April 10, 2008
    Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers