Patents by Inventor Edward John Silha

Edward John 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).

  • Patent number: 6574712
    Abstract: A data processing system includes a processor having a first level cache and a prefetch engine. Coupled to the processor are a second level cache and a third level cache and a system memory. Prefetching of cache lines is performed into each of the first, second, and third level caches by the prefetch engine. Prefetch requests from the prefetch engine to the second and third level caches is performed over a private prefetch request bus, which is separate from the bus system that transfers data from the various cache levels to the processor. A software instruction is used to accelerate the prefetch process by overriding the normal functionality of the hardware prefetch engine. The instruction also limits the amount of data to be prefetched.
    Type: Grant
    Filed: April 14, 2000
    Date of Patent: June 3, 2003
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Michael John Mayfield, Francis Patrick O'Connell, David Scott Ray, Edward John Silha, Joel M. Tendler
  • Publication number: 20030028757
    Abstract: A method, program, and system for modifying computer program instructions during execution of those instructions are provided. The invention comprises writing a first instruction into a memory location, wherein the instruction is a patch class instruction. This first instruction is then fetched from the memory location and executed. Concurrent with execution of the first instruction, the memory location is overwritten with a second instruction, which is also a patch class instruction. Because the first and second instructions are patch class instructions, if a program is executing from the memory location, or returns to execute from that location, it will fetch and execute either the first instruction or the second instruction. In one embodiment, reconciling the processor's execution pipeline with the memory location will ensure that the second instruction is fetched and executed if the program returns to execute from that location.
    Type: Application
    Filed: July 31, 2001
    Publication date: February 6, 2003
    Applicant: International Business Machines Corporation
    Inventors: Cathy May, Edward John Silha
  • Publication number: 20030023932
    Abstract: A method, apparatus, and computer implemented instructions for processing and recovering from soft errors in computer array with a parity error checking design in a data processing system. In response to an occurrence of a parity error, processor status information is stored to form stored processor information. A determination is made as to whether the parity error is a recoverable parity error using the stored processor information. In response to the parity error being a recoverable parity error, a recovery action is performed. The specific action taken varies depending on the type of error.
    Type: Application
    Filed: March 29, 2001
    Publication date: January 30, 2003
    Applicant: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Alongkorn Kitamorn, Edward John Silha, Scott Douglas Walton, David R. Willoughby
  • Publication number: 20030009648
    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. The processor assigns certain generated addresses to its logical partition, preferably by concatenating certain high order bits from a special register with lower order bits of the generated address. A separate range check mechanism concurrently verifies that these high order effective address bits are in fact 0, and generates an error signal if they are not.
    Type: Application
    Filed: June 20, 2002
    Publication date: January 9, 2003
    Applicant: International Business Machines Corporation
    Inventors: Richard William Doing, Ronald Nick Kalla, Stephen Joseph Schwinn, Edward John Silha, Kenichi Tsuchiya
  • Patent number: 6460115
    Abstract: A data processing system and method for prefetching data in a multi-level code subsystem. The data processing system includes a processor having a first level cache and a prefetch engine. Coupled to the processor are a second level cache, and a third level cache and a system memory. Prefetching of cache lines is concurrently performed into each of the first, second, and third level caches by the prefetch engine. Prefetch requests from the prefetch engine to the second and third level caches are performed over a private or dedicated prefetch request bus, which is separate from the bus system that transfers data from the various cache levels to the processor. A software instruction or hint may be used to accelerate the prefetch process by overriding the normal functionality of the hardware prefetch engine.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: October 1, 2002
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Michael John Mayfield, Francis Patrick O'Connell, David Scott Ray, Edward John Silha, Joel Tendler
  • Patent number: 6438671
    Abstract: A processor supports logical partitioning of a computer system. Logical partitions isolate the real address spaces of processes executing on different processors and the hardware resources that include processors. However, this multithreaded processor system can dynamically reallocate hardware resources including the processors among logical partitions. An ultra-privileged supervisor process, called a hypervisor, regulates the logical partitions. Preferably, the processor supports hardware multithreading, each thread independently capable of being in either hypervisor, supervisor, or problem state. The processor assigns certain generated addresses to its logical partition, preferably by concatenating certain high order bits from a special register with lower order bits of the generated address. A separate range check mechanism concurrently verifies that these high order effective address bits are in fact 0, and generates an error signal if they are not.
    Type: Grant
    Filed: July 1, 1999
    Date of Patent: August 20, 2002
    Assignee: International Business Machines Corporation
    Inventors: Richard William Doing, Ronald Nick Kalla, Stephen Joseph Schwinn, Edward John Silha, Kenichi Tsuchiya
  • Patent number: 6338128
    Abstract: As a program is replaced by the operating system running within a microprocessor, only those entries associated with the replaced program and resident within effective-to-real address translation units will be replaced. Those entries within the effective-to-real address translation units associated with the operating system and shared libraries, and any other software units operating within the microprocessor will not be invalidated.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: January 8, 2002
    Assignee: International Business Machines Corp.
    Inventors: Albert Chang, Edward John Silha, Larry Edward Thatcher, Gus Wai-Yan Yeung
  • Patent number: 6202130
    Abstract: A data processing system includes a data processor (10) coupled to a memory system having a first memory, such as an L1 data cache (16), arranged with a second memory (such as an L2 cache) at a lower hierarchical level. The data processor (10) prefetches data elements of a vector into the first memory prior to processing such data elements. If a requested data element is not present in the first memory, a load request is issued to the second memory and to lower levels of the memory hierarchy until the requested data element is finally retrieved and stored in the first memory. The data processor (10) continues to prefetch subsequent data elements of the vector by considering the length of the data element and the stride of the vector. In one embodiment, the data processor (10) prefetches the vector into the first memory in response to a single data stream touch load (DST) instruction (100).
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: March 13, 2001
    Assignee: Motorola, Inc.
    Inventors: Hunter Ledbetter Scales, III, Keith Everett Diefendorff, Brett Olsson, Pradeep Kumar Dubey, Ronald Ray Hochsprung, Bradford Byron Beavers, Bradley G. Burgess, Michael Dean Snyder, Cathy May, Edward John Silha
  • Patent number: 5968164
    Abstract: A conventional bi-endian computer system is enhanced to include mixed-endian mechanisms that allows the computer system to dynamically change its endian mode. The mixed-endian computer system can change endian mode on a task by task basis if necessary. The mixed-endian mechanisms automatically format the data in the form expected by the running task, regardless of whether the task expects the data to be in big endian format or in little endian format. The mixed-endian mechanisms also format big and little endian instructions such that they can execute on the same computer system.
    Type: Grant
    Filed: July 15, 1998
    Date of Patent: October 19, 1999
    Assignee: International Business Machines Corporation
    Inventors: Larry Wayne Loen, Edward John Silha
  • Patent number: 5928349
    Abstract: A conventional bi-endian computer system is enhanced to include mixed-endian mechanisms that allows the computer system to dynamically change its endian mode. The mixed-endian computer system can change endian mode on a task by task basis if necessary. The mixed-endian mechanisms automatically format the data in the form expected by the running task, regardless of whether the task expects the data to be in big endian format or in little endian formate. The mixed-endian mechanisms also format big and little endian instructions such that they can execute on the same computer system.
    Type: Grant
    Filed: February 24, 1995
    Date of Patent: July 27, 1999
    Assignee: International Business Machines Corporation
    Inventors: Larry Wayne Loen, Edward John Silha
  • Patent number: 5802378
    Abstract: The present invention provides a system and method which ensures that machine state data, for each CPU in an MP system, corresponding to a specific point in time will always be saved, regardless of whether the system interrupt handler is enabled or disabled. A series of special purpose registers (SPR) are included, which are associated with the performance monitoring mechanism in each processor in the MP system. A time base mechanism in each CPU is used and synchronized across the entire MP system. When the time base mechanism requests that the machine state be recorded, the performance monitor then immediately stores the machine state values in the special purpose registers. Thus, the state of the each CPU in the MP system is saved at the identical point in time. The performance monitor issues an interrupt request to the interrupt handler and, if interrupts are enabled, the machine state data is stored for post-processing, or the like.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Frank Eliot Levine, Edward John Silha, Edward Hugh Welbon
  • Patent number: 5758120
    Abstract: A method and system for increasing memory concurrency in a multiprocessor computer system which includes system memory, multiple processors coupled together via a bus, each of the processors including multiple processor units for executing multiple instructions and for performing read, write and store operations and an associated Translation Lookaside Buffer (TLB) for translating effective addresses into real memory addresses within the system memory. Multiple page table entries are provided within a page table within the system memory which each include multiple individually accessible fields, an effective address and an associated real memory address for a selected system memory location. A reference bit is provided within a first individually accessible field in each page table entry and this reference bit is utilized to indicate if an associated system memory location has been accessed for a read or write operation.
    Type: Grant
    Filed: August 20, 1996
    Date of Patent: May 26, 1998
    Assignee: Internatiional Business Machines Corporation
    Inventors: James Allan Kahle, John Stephen Muhich, Richard Raphael Oehler, Edward John Silha
  • Patent number: 5701495
    Abstract: An interrupt subsystem within a data processing system is scalable from low-end uni-processor systems to high-end multi-processor (MP) systems. This interrupt subsystem provides for queueing of interrupts from many sources, and for queueing of interrupts to the best processor in a multi-processor system. The external interrupt mechanism is separated into two layers, an interrupt routing layer and an interrupt presentation layer. The interrupt routing layer routes the interrupt conditions to the appropriate instance of an interrupt management area within the interrupt presentation layer. The interrupt presentation layer communicates the interrupt source to the system software which is to service/process the interrupt. By providing two layers within the interrupt subsystem, application or system software can be written which is independent from the types or sources of interrupts. The interrupt routing layer hides the details of a particular hardware implementation from the software.
    Type: Grant
    Filed: December 18, 1995
    Date of Patent: December 23, 1997
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, James Otto Nicholson, Edward John Silha, Steven Mark Thurber, Amy May Youngs
  • Patent number: 5687337
    Abstract: A conventional bi-endian computer system is enhanced to include mixed-endian circuitry that allows the computer system to dynamically change its endian mode. The mixed-endian computer system can change endian mode on a task by task basis if necessary. The mixed-endian circuitry automatically formats the data in the form expected by the running task, regardless of whether the task expects the data to be in big endian format or in little endian format. The mixed-endian circuitry also formats big and little endian instructions such that they can execute on the same computer system.
    Type: Grant
    Filed: February 24, 1995
    Date of Patent: November 11, 1997
    Assignee: International Business Machines Corporation
    Inventors: Michael Joseph Carnevale, Martin Edward Hopkins, Larry Wayne Loen, Edward John Silha, Andrew Henry Wottreng
  • Patent number: 5673399
    Abstract: A data processing system includes a host processor, a number of peripheral devices, and one or more bridges which may connect between the host, peripheral devices and other hosts or peripheral devices such as in a network. Each bridge, such as a PCI host bridge, connects between a primary bus (e.g system bus) and a secondary bus wherein for the purpose of clarity, the primary bus will be considered as the source for outbound transactions and the destination for inbound transactions and the secondary bus would be considered the destination for outbound transactions and the source for inbound transactions. The host bridge includes an outbound data path, an inbound data path, and a control mechanism.
    Type: Grant
    Filed: November 2, 1995
    Date of Patent: September 30, 1997
    Assignee: International Business Machines, Corporation
    Inventors: Guy Lynn Guthrie, Danny Marvin Neal, Edward John Silha, Steven Mark Thurber