Patents by Inventor Alexander Erik Mericas

Alexander Erik Mericas 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: 20090006825
    Abstract: A method, apparatus, and computer program product are disclosed for, in a processor, concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers. A hardware trace facility captures hardware trace data in a processor. The hardware trace facility is included within the processor. The hardware trace data is transmitted to a system memory utilizing a system bus. The system memory is included within the system. The system bus is capable of being utilized by processing units included in the processing node while the hardware trace data is being transmitted to the system bus. Part of system memory is utilized to store the trace data. The system memory is capable of being accessed by processing units in the processing node other than the hardware trace facility while part of the system memory is being utilized to store the trace data.
    Type: Application
    Filed: September 12, 2008
    Publication date: January 1, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ra'ed Mohammad Al-Omari, Alexander Erik Mericas, William John Starke
  • Patent number: 7472315
    Abstract: An apparatus, system and method of integrating performance monitor data with thermal event information are provided. A thermal event, in this case, is when the temperature of a chip within which is embedded a processor exceeds a user-configurable value while the processor is processing instructions and/or using storage devices that are being monitored. In any event, when the thermal event occurs, the temperature of the chip along with the performance monitor data is stored for future uses, which include performance and diagnostic analyses.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: December 30, 2008
    Assignee: International Business Machines Corporation
    Inventors: Michael Stephen Floyd, Alexander Erik Mericas, Robert Dominick Mirabella
  • Publication number: 20080294881
    Abstract: An information handling system includes a processor that executes multiple instructions or instruction threads within a software application program. The information handling system includes operating system software that manages processor system hardware and software in a multi-tasking environment. In one embodiment, the operating system manages instruction completion stall analysis software to determine the cause or causes of instruction stalls. In another embodiment, the stall analysis software cooperates with the operating system software to store instruction completion stall event data on a per instruction basis while the application program executes. The operating system software may cooperate with the stall analysis software to store instruction completion stall data in memory for later manipulation by system users or other software.
    Type: Application
    Filed: May 24, 2007
    Publication date: November 27, 2008
    Applicant: IBM Corporation
    Inventors: Wen-Tzer Thomas Chen, Venkat Rajeev Indukuru, Alexander Erik Mericas, Mysore Sathyanarayana Srinivas
  • Patent number: 7437617
    Abstract: A method, apparatus, and computer program product are disclosed for, in a processor, concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers. A hardware trace facility captures hardware trace data in a processor. The hardware trace facility is included within the processor. The hardware trace data is transmitted to a system memory utilizing a system bus. The system memory is included within the system. The system bus is capable of being utilized by processing units included in the processing node while the hardware trace data is being transmitted to the system bus. Part of system memory is utilized to store the trace data. The system memory is capable of being accessed by processing units in the processing node other than the hardware trace facility while part of the system memory is being utilized to store the trace data.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ra'ed Mohammad Al-Omari, Alexander Erik Mericas, William John Starke
  • Patent number: 7437618
    Abstract: A method, apparatus, and computer program product are disclosed in a processor for dynamically, during runtime, allocating memory for in-memory hardware tracing. The processor is included within a data processing system. The processor includes multiple processing units that are coupled together utilizing a system bus. The processing units include a memory controller that controls a system memory. A particular size of the system memory is determined that is needed for storing trace data. A hardware trace facility requests, dynamically after the data processing system has completed booting, the particular size of the system memory to be allocated to the hardware trace facility for storing trace data that is captured by the hardware trace facility. The firmware selects particular locations within the system memory. All of the particular locations together are the particular size. The firmware allocates the particular locations for use exclusively by the hardware trace facility.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ra'ed Mohammad Al-Omari, Alexander Erik Mericas, William John Starke
  • Publication number: 20080244330
    Abstract: An apparatus, system and method of integrating performance monitor data with thermal event information are provided. A thermal event, in this case, is when the temperature of a chip within which is embedded a processor exceeds a user-configurable value while the processor is processing instructions and/or using storage devices that are being monitored. In any event, when the thermal event occurs, the temperature of the chip along with the performance monitor data is stored for future uses, which include performance and diagnostic analyses.
    Type: Application
    Filed: May 31, 2008
    Publication date: October 2, 2008
    Inventors: Michael Stephen Floyd, Alexander Erik Mericas, Robert Dominick Mirabella
  • Patent number: 7421619
    Abstract: A method, apparatus, and computer program product are disclosed for performing in-memory hardware tracing in a processor using an existing system bus. The processor includes multiple processing units that are coupled together utilizing the system bus. The processing units include a memory controller that controls a system memory. Information is transmitted among the processing units utilizing the system bus. The information is formatted according to a standard system bus protocol. Hardware trace data is captured utilizing a hardware trace facility that is coupled directly to the system bus. The system bus is utilized for transmitting the hardware trace data to the memory controller for storage in the system memory. The memory controller is coupled directly to the system bus. The hardware trace data is formatted according to the standard system bus protocol for transmission via the system bus.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: September 2, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ra'ed Mohammad Al-Omari, Alexander Erik Mericas, William John Starke
  • Publication number: 20080201566
    Abstract: A computer implemented method, apparatus, and computer program product for monitoring execution of instructions in an instruction pipeline. The process identifies a number of stall cycles for a group of instructions to complete execution. The process retrieves a deterministic latency pattern corresponding to the group of instructions. The process compares the number of stall cycles to the deterministic execution latency pattern. The process identifies the instruction as a dependent instruction in response to a determination that an instruction in the group of instructions completed a deterministic number of cycles after an antecedent instruction completed.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Inventors: Venkat Rajeev Indukuru, Alexander Erik Mericas
  • Patent number: 7194608
    Abstract: Event vectors are included in an instruction tracking structure of a processor to collect history for every instruction flowing through the processor. Such an event vector, by its nature, cannot be whole until the vector's corresponding instruction completes. However, some information for the event vector is collected earlier, i.e., as the instruction flows through the processor prior to completion. Upon completion of the instruction, the instruction's event vector is examined. In each case a determination is made from the instruction history contained in the event vector as to whether a particular instruction has or has not caused or encountered an event of interest. Responsive to the determination, and possibly other information, a selection is made between saving event vector information and discarding the information.
    Type: Grant
    Filed: April 17, 2006
    Date of Patent: March 20, 2007
    Assignee: International Business Machines Corporation
    Inventor: Alexander Erik Mericas
  • Patent number: 7086035
    Abstract: A method and system for counting non-speculative events in a speculative processor is provided. The speculative processor contains a number of counters within a performance monitor for counting occurrences of specified events within a data processing system. An event to be monitored is specified. The specified event is monitored during the execution of instructions by the speculative processor. A count of occurrences of the specified event for all instructions executed by the speculative processor is generated, and a count of occurrences of the specified event for instructions completely executed by the speculative processor is generated. A difference between the count of occurrences of the specified event for all instructions and the count of occurrences of the specified event for all completed instructions may be generated as a count of occurrences of the specified event for instructions speculatively executed by the speculative processor.
    Type: Grant
    Filed: May 13, 1999
    Date of Patent: August 1, 2006
    Assignee: International Business Machines Corporation
    Inventor: Alexander Erik Mericas
  • Patent number: 7051177
    Abstract: A method for determining the latency for a particular level of memory within a hierarchical memory system is disclosed. A performance monitor counter is allocated to count the number of loads (load counter) and for counting the number of cycles (cycle counter). The method begins with a processor determining which load to select for measurement. In response to the determination, the cycle counter value is stored in a rewind register. The processor issues the load and begins counting cycles. In response to the load completing, the level of memory for the load is determined. If the load was executed from the desired memory level, the load counter is incremented. Otherwise, the cycle counter is rewound to its previous value.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: May 23, 2006
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Alexander Erik Mericas, Robert Dominick Mirabella, Toshihiko Kurihara, Michitaka Okuno, Masahiro Tokoro
  • Patent number: 7047398
    Abstract: A method and system for identifying instruction completion delays for a group of instructions in a computer processor. Each instruction in the group of instructions has a status indicator that identifies what is preventing that instruction from completing execution. Examples of completion delays are cache misses, data dependencies or simply the time required for an execution unit in the computer processor to process the instruction. As each instruction finishes executing, its associated status indicator is cleared to indicate that the instruction is no longer waiting to execute. The last instruction to execute is the instruction that is holding up completion of the entire group, and thus the cause for the completion delay of the last instruction is recorded as the cause of completion delay for the entire group.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: May 16, 2006
    Assignee: International Business Machines Corporation
    Inventors: Toshihiko Kurihara, Hung Qui Le, Alexander Erik Mericas, Robert Dominick Mirabella, Michitaka Okuno, Masahiro Tokoro
  • Patent number: 6970999
    Abstract: A method and system for analyzing cycles per instruction (CPI) performance in a processor. A completion table corresponds to the instructions in a group to be processed by the processor. An empty completion table indicates that there has been some type of catastrophe that caused a table flush. While the table is empty, a performance monitoring counter (PMC), located in a performance monitoring unit (PMU) in the processor, counts the number of clock cycles that the table is empty. Preferably, a separate PMC is utilized depending on the reason that the completion table is empty. A second PMC likewise counts the number of clock cycles spent re-filling the empty completion table. A third PMC counts the number of clock cycles spent actually executing the instructions in the completion table. The information in the PMC's can be used to evaluate the true cause for degradation of CPI performance.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: November 29, 2005
    Assignee: International Business Machines Corporation
    Inventors: Toshihiko Kurihara, Hung Qui Le, Alexander Erik Mericas, Robert Dominick Mirabella, Hideki Mitsubayashi, Michitaka Okuno, Masahiro Tokoro
  • Patent number: 6910120
    Abstract: A circuit and method for maintaining a correct value in performance monitor counter within a speculative computer microprocessor is disclosed. In response to determining the begin of speculative execution within the microprocessor, the value of the performance monitor counter is stored in a rewind register. The performance monitor counter is incremented in response to predetermined events. If the microprocessor determines the speculative execution was incorrect, the value of the rewind register is loaded into the counter, restoring correct value for the counter.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: June 21, 2005
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Alexander Erik Mericas, Robert Dominick Mirabella, Toshihiko Kurihara, Michitaka Okuno, Masahiro Tokoro
  • Patent number: 6895399
    Abstract: A data processing system, method, and product are disclosed for dynamically allocating resources for multiple, different types of events that occur within a microprocessor. Multiple, different unallocated resources are provided. One of these unallocated resources are allocated only in response to a first occurrence of an event that is one of the different types of events. Thus, resources remain unallocated until a first occurrence of events for which resources are then allocated.
    Type: Grant
    Filed: September 13, 2001
    Date of Patent: May 17, 2005
    Assignee: International Business Machines Corporation
    Inventor: Alexander Erik Mericas
  • Publication number: 20040268097
    Abstract: The problem identified above is addressed in large part by a microprocessor as disclosed herein. The microprocessor includes a dispatch unit configured to receive a set of instructions from an instruction cache and to forward the set of instructions to an issue queue when the instructions are ready for execution. The dispatch unit may include sampling logic that is configured to select one of the instructions for performance monitoring from the set of instructions. The microprocessor further includes a performance monitor unit enabled to monitor performance characteristics of the selected instruction as it executes. The sampling logic may identify the instruction selected for monitoring as the instruction occupying an eligible position within the set of instructions. The eligible position from which the monitored instruction is selected may vary with each subsequent set of instructions.
    Type: Application
    Filed: June 26, 2003
    Publication date: December 30, 2004
    Applicant: International Business Machines Corporation
    Inventor: Alexander Erik Mericas
  • Patent number: 6804770
    Abstract: A hazard prediction array consists of an array of saturating counters. The array is indexed through a portion of the instruction address. At issue, the hazard prediction array is referenced and a prediction is made as to whether the current instruction or group of instructions is likely to encounter a flush. If the prediction is that it will flush, the instruction is not issued until it is the next instruction to complete. If the prediction is that the instruction will not flush, it is issued as normal. At completion time, the prediction array is updated with the actual flush behavior. When an instruction is predicted to flush and, thus, not issued until it is the next to complete, the predictor may be updated as if the instruction did not flush.
    Type: Grant
    Filed: March 22, 2001
    Date of Patent: October 12, 2004
    Assignee: International Business Machines Corporation
    Inventors: Douglas Robert Logan, Alexander Erik Mericas, William John Starke
  • Patent number: 6748522
    Abstract: The problem identified above is addressed in large part by a microprocessor as disclosed herein. The microprocessor includes a dispatch unit configured to receive a set of instructions from an instruction cache and to forward the set of instructions to an issue queue when the instructions are ready for execution. The dispatch unit may include sampling logic that is configured to select one of the instructions for performance monitoring from the set of instructions. The microprocessor further includes a performance monitor unit enabled to monitor performance characteristics of the selected instruction as it executes. The sampling logic may identify the instruction selected for monitoring as the instruction occupying an eligible position within the set of instructions. The eligible position from which the monitored instruction is selected may vary with each subsequent set of instructions.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: June 8, 2004
    Assignee: International Business Machines Corporation
    Inventors: Dennis Gerard Gregoire, Alexander Erik Mericas, Joel M. Tendler
  • Patent number: 6718403
    Abstract: A microprocessor including a performance monitor unit is disclosed. The performance monitor unit includes a set of performance monitor counters and a corresponding set of control circuits and programmable control registers. The performance monitor unit receives a first set of event signals from functional units of the processor. Each of the first set of events is routed directly from the appropriate functional unit to the performance monitor unit. The performance monitor unit further receives at least a second set of event signals. In one embodiment, the second set of event signals is received via a performance monitor bus of the processor. The performance monitor bus is typically a shared bus that may receive signals from any of the functional units of the processor. The functional units may include multiplexing circuitry that determines which of the functional units has mastership of the shared bus.
    Type: Grant
    Filed: December 11, 2000
    Date of Patent: April 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Joel Roger Davidson, Judith E. K. Laurens, Alexander Erik Mericas
  • Patent number: 6694427
    Abstract: A method, system and apparatus for instruction tracing with out of order speculative processors. With the present invention, information corresponding to the state of an instruction cache and a data cache is stored in a trace storage device along with information corresponding to instructions fetched by the processor. When a cache load is necessary, updated cache information is stored in the trace storage device. Thereby, the state of the cache at all times during fetching of instructions may be known from the information stored in the trace storage device. Additionally, the particular instructions fetched is known from the fetched instructions information stored in the trace storage device. Hence the instruction stream may be reconstructed from the information stored in the trace storage device.
    Type: Grant
    Filed: April 20, 2000
    Date of Patent: February 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Alexander Erik Mericas, William John Starke, Joel M. Tendler