Patents by Inventor Edward Silha

Edward Silha 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: 20080091922
    Abstract: A method of prefetching data in a microprocessor includes identifying a data stream associated with a process and determining a depth associated with the data stream based upon prefetch factors including the number of currently concurrent data streams and data consumption rates associated with the concurrent data streams. Data prefetch requests are allocated with the data stream to reflect the determined depth of the data stream. Allocating data prefetch requests may include allocating prefetch requests for a number of cache lines away from the cache line currently being referenced, wherein the number of cache lines is equal to the determined depth. The method may include, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream. Prefetch control bits in an instruction executed by the processor control the prefetch hardware configuration.
    Type: Application
    Filed: December 10, 2007
    Publication date: April 17, 2008
    Inventors: Eric Fluhr, Bradly Frey, John Griswell, Hung Le, Cathy May, Francis O'Connell, Edward Silha, Albert Williams
  • Publication number: 20070143565
    Abstract: An apparatus and method selectively invalidate entries in an address translation cache instead of invalidating all, or nearly all, entries. One or more translation mode bits are provided in each entry in the address translation cache. These translation mode bits may be set according to the addressing mode used to create the cache entry. One or more “hint bits” are defined in an instruction that allow specifying which of the entries in the address translation cache are selectively preserved during an invalidation operation according to the value(s) of the translation mode bit(s). In the alternative, multiple instructions may be defined to preserve entries in the address translation cache that have specified addressing modes. In this manner, more intelligence is used to recognize that some entries in the address translation cache may be valid after a task or partition switch, and may therefore be retained, while other entries in the address translation cache are invalidated.
    Type: Application
    Filed: December 15, 2005
    Publication date: June 21, 2007
    Applicant: International Business Machines Corporation
    Inventors: Michael Corrigan, Paul Godtland, Joaquin Hinojosa, Cathy May, Naresh Nayar, Edward Silha
  • Publication number: 20060242702
    Abstract: A method and apparatus are provided for an independent operating system for the prevention of certain classes of computer attacks that have previously not been preventable. Detailed is an effective methodology to implement instruction decryption using the existing instruction set for a processor. Significant hurdles are addressed in the processor architecture so as to limit the impact to processor execution timing. Instruction execution timing is not altered in the processor core. Any additional processing is overlapped into existing operations and, therefore, the impact on processor throughput is minimal.
    Type: Application
    Filed: April 26, 2005
    Publication date: October 26, 2006
    Applicant: International Business Machines Corporation
    Inventors: Gordon McIntosh, Edward Silha
  • Publication number: 20060179239
    Abstract: A method of prefetching data in a microprocessor includes identifying a data stream associated with a process and determining a depth associated with the data stream based upon prefetch factors including the number of currently concurrent data streams and data consumption rates associated with the concurrent data streams. Data prefetch requests are allocated with the data stream to reflect the determined depth of the data stream. Allocating data prefetch requests may include allocating prefetch requests for a number of cache lines away from the cache line currently being referenced, wherein the number of cache lines is equal to the determined depth. The method may include, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream. Prefetch control bits in an instruction executed by the processor control the prefetch hardware configuration.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Inventors: Eric Fluhr, Bradly Frey, John Griswell, Hung Le, Cathy May, Francis O'Connell, Edward Silha, Albert Williams
  • Publication number: 20050155019
    Abstract: A method and apparatus in a data processing system for measuring events associated with the execution of instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. In some embodiments, the performance indicators, counters, thresholds, and other performance monitoring structures may be stored in a page table that is used to translate virtual addresses into physical storage addresses. A standard page table is augmented with additional fields for storing the performance monitoring structures. These structures may be set by the performance monitoring application and may be queried and modified as events occur that require access to physical storage.
    Type: Application
    Filed: January 14, 2004
    Publication date: July 14, 2005
    Applicant: International Business Machines Corporation
    Inventors: Frank Levine, Christopher Richardson, Edward Silha
  • Publication number: 20050091476
    Abstract: A processor supports logical partitioning of hardware resources including real address spaces of a computer system. An ultra-privileged supervisor process, called a hypervisor, regulates the logical partitions and can dynamically re-allocate resources. Preferably, the processor supports hardware multithreading, each thread independently capable of being in either hypervisor, supervisor, or problem state, and is capable of entering hypervisor state only upon occurrence of certain pre-defined events. A logical partition identifier is stored in a processor register, and can be altered by the processor only when in hypervisor state. Certain bus communications contain a logical partition identifier tag, and the processor ignores such communications if the tag does not match its own logical partition identifier in its register.
    Type: Application
    Filed: September 23, 2004
    Publication date: April 28, 2005
    Applicant: International Business Machines Corporation
    Inventors: Richard Doing, Ronald Kalla, Stephen Schwinn, Edward Silha, Kenichi Tsuchiya
  • Publication number: 20050027960
    Abstract: The present invention provides for storing and using a stored logical partition indicia in a TLB. A partition in a microprocessor architecture is employed. A virtual page number is selected. A stored LPID indicia corresponding to the selected page number is read from a TLB. The stored logical partition indicia from the TLB is compared to a logical partition indicia associated with the employed partition. If the stored logical partition indicia and the logical partition indicia associated with the employed partition match, a corresponding page table entry stored in the translation look-aside buffer is read. If they do not match, a page table entry from a page table entry source is retrieved and stored in the TLB. If a partition is to invalidate an entry in the TLB, a TLB entry command is generated and used to invalidate a memory entry.
    Type: Application
    Filed: July 31, 2003
    Publication date: February 3, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jonathan DeMent, Cathy May, Naresh Nayar, Edward Silha