Patents by Inventor Thomas L. Jeremiah
Thomas L. Jeremiah 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: 8521982Abstract: A system and method for tracking core load requests and providing arbitration and ordering of requests. When a core interface unit (CIU) receives a load operation from the processor core, a new entry in allocated in a queue of the CIU. In response to allocating the new entry in the queue, the CIU detects contention between the load request and another memory access request. In response to detecting contention, the load request may be suspended until the contention is resolved. Received load requests may be stored in the queue and tracked using a least recently used (LRU) mechanism. The load request may then be processed when the load request resides in a least recently used entry in the load request queue. CIU may also suspend issuing an instruction unless a read claim (RC) machine is available. In another embodiment, CIU may issue stored load requests in a specific priority order.Type: GrantFiled: April 15, 2009Date of Patent: August 27, 2013Assignee: International Business Machines CorporationInventors: Robert A. Cargnoni, Guy L. Guthrie, Thomas L. Jeremiah, Stephen J. Powell, William J. Starke, Jeffrey A. Steucheli
-
Patent number: 8347037Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, a determination is made whether the memory access request hits or misses in a directory of the lower level victim cache. In response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache. The lower level victim cache preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type.Type: GrantFiled: October 22, 2008Date of Patent: January 1, 2013Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
-
Patent number: 8327072Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core, the lower level cache victim determines whether the memory access request hits or misses in the directory of the lower level victim cache, and the upper level cache determines whether a castout from the upper level cache is to be performed and selects a victim coherency granule for eviction from the upper level cache. In response to determining that a castout from the upper level cache is to be performed, the upper level cache evicts the selected victim coherency granule. In the eviction, the upper level cache reads out the victim coherency granule from the data array of the upper level cache only in response to an indication that the memory access request misses in the directory of the lower level victim cache.Type: GrantFiled: July 23, 2008Date of Patent: December 4, 2012Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William J. Starke, Phillip G. Williams
-
Patent number: 8327073Abstract: A second lower level cache receives an LCO command issued by a first lower level cache on an interconnect fabric. The LCO command indicates an address of a victim cache line to be castout from the first lower level cache and indicates that the second lower level cache is an intended destination of the victim cache line. The second lower level cache determines whether to accept the victim cache line from the first lower level cache based at least in part on the address of the victim cache line indicated by the LCO command. In response to determining not to accept the victim cache line, the second lower level cache provides a coherence response to the LCO command refusing the identified victim cache line. In response to determining to accept the victim cache line, the second lower level cache updates an entry corresponding to the identified victim cache line.Type: GrantFiled: April 9, 2009Date of Patent: December 4, 2012Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Harmony L. Helterhoff, Thomas L. Jeremiah, Alvan W. Ng, William J. Starke, Jeffrey A. Stuecheli, Philip G. Williams
-
Patent number: 8117397Abstract: A cache memory includes a cache array including a plurality of congruence classes each containing a plurality of cache lines, where each cache line belongs to one of multiple classes which include at least a first class and a second class. The cache memory also includes a cache directory of the cache array that indicates class membership. The cache memory further includes a cache controller that selects a victim cache line for eviction from a congruence class. If the congruence class contains a cache line belonging to the second class, the cache controller preferentially selects as the victim cache line a cache line of the congruence class belonging to the second class based upon access order. If the congruence class contains no cache line belonging to the second class, the cache controller selects as the victim cache line a cache line belonging to the first class based upon access order.Type: GrantFiled: December 16, 2008Date of Patent: February 14, 2012Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
-
Publication number: 20100262784Abstract: A second lower level cache receives an LCO command issued by a first lower level cache on an interconnect fabric. The LCO command indicates an address of a victim cache line to be castout from the first lower level cache and indicates that the second lower level cache is an intended destination of the victim cache line. The second lower level cache determines whether to accept the victim cache line from the first lower level cache based at least in part on the address of the victim cache line indicated by the LCO command. In response to determining not to accept the victim cache line, the second lower level cache provides a coherence response to the LCO command refusing the identified victim cache line. In response to determining to accept the victim cache line, the second lower level cache updates an entry corresponding to the identified victim cache line.Type: ApplicationFiled: April 9, 2009Publication date: October 14, 2010Applicant: International Business Machines CorporationInventors: Guy L. Guthrie, Harmony L. Helterhoff, Thomas L. Jeremiah, Alvan W. Ng, William J. Starke, Jeffrey A. Stuecheli, Philip G. Williams
-
Publication number: 20100153650Abstract: A cache memory includes a cache array including a plurality of congruence classes each containing a plurality of cache lines, where each cache line belongs to one of multiple classes which include at least a first class and a second class. The cache memory also includes a cache directory of the cache array that indicates class membership. The cache memory further includes a cache controller that selects a victim cache line for eviction from a congruence class. If the congruence class contains a cache line belonging to the second class, the cache controller preferentially selects as the victim cache line a cache line of the congruence class belonging to the second class based upon access order. If the congruence class contains no cache line belonging to the second class, the cache controller selects as the victim cache line a cache line belonging to the first class based upon access order.Type: ApplicationFiled: December 16, 2008Publication date: June 17, 2010Applicant: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
-
Publication number: 20100100682Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core that specifies a non-modifying access to a target coherency granule, a determination is made whether the memory access request hits or misses in a directory of the lower level victim cache. In response to determining that the memory access request hits in the lower level victim cache in a data-valid coherence state, the lower level victim cache provides the target coherency granule of the memory access request to the upper level cache. The lower level victim cache preserves the target coherency granule in the lower level victim cache in a shared coherence state if the memory access request is of a first type and invalidates the target coherency granule if the memory access request is of a second type.Type: ApplicationFiled: October 22, 2008Publication date: April 22, 2010Applicant: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William L. McNeil, Piyush C. Patel, William J. Starke, Jeffrey A. Stuecheli
-
Publication number: 20100023695Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core, the lower level cache victim determines whether the memory access request hits or misses in the directory of the lower level victim cache, and the upper level cache determines whether a castout from the upper level cache is to be performed and selects a victim coherency granule for eviction from the upper level cache. In response to determining that a castout from the upper level cache is to be performed, the upper level cache evicts the selected victim coherency granule. In the eviction, the upper level cache reads out the victim coherency granule from the data array of the upper level cache only in response to an indication that the memory access request misses in the directory of the lower level victim cache.Type: ApplicationFiled: July 23, 2008Publication date: January 28, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Guy L. Guthrie, Thomas L. Jeremiah, William J. Starke, Phillip G. Williams
-
Patent number: 7484052Abstract: The present invention utilizes the good qualities of a single address concentrator (AC), without any extra chips or wires, and distributes the AC function among the various chips, making use of the fact that each chip in the system has a copy of the AC function therein. Using the distributed address concentrator function, each chip will handle approximately one-fourth of the command traffic and the average latency of servicing the commands will be approximately the same across each chip in the system.Type: GrantFiled: May 3, 2005Date of Patent: January 27, 2009Assignee: International Business Machines CorporationInventors: Brian M. Bass, Thomas L. Jeremiah, Charles R. Johns, David J. Shippy, Thuong Q. Truong
-
Patent number: 5504932Abstract: An instruction processor system for decoding compound instructions created from a series of base instructions of a scalar machine, the processor generating a series of compound instructions with an instruction format text having appended control bits in the instruction format text enabling the execution of the compound instruction format text in said instruction processor with a compounding facility which fetches and decodes compound instructions which can be executed as compounded and single instructions by the arithmetic and logic units of the instruction processor while preserving intact the scalar execution of the base instructions of a scalar machine which were originally in storage.Type: GrantFiled: June 7, 1995Date of Patent: April 2, 1996Assignee: International Business Machines CorporationInventors: Stamatis Vassiliadis, Bartholomew Blaner, Thomas L. Jeremiah
-
Patent number: 5446850Abstract: A system for compounding instructions across cache line boundaries transfers an instruction line from a relatively slow memory to a instruction compounding unit if there is a miss for an instruction in that line in the instruction cache. At the same time the numerically preceding instruction in cache is transferred to the instruction compounding unit and instructions from the two lines are compounded. If a numerically preceding cache line has been compounded with a cache line that has been deleted and then replaced, compounding tags for the numerically preceding cache line are deleted.Type: GrantFiled: July 27, 1994Date of Patent: August 29, 1995Assignee: International Business Machines CorporationInventors: Thomas L. Jeremiah, Bartholomew Blaner
-
Patent number: 5398321Abstract: An apparatus for generating microcode in a scalable compound instruction set machine operates in response to compounding information indicating that two or more adjacent instructions are to be executed in parallel. Separate and independent microcode is held in control store for each possible instruction in a group. Microcode sequences for each instruction of a group of instructions to be executed in parallel are merged in response to the compounding information into a single microinstruction sequence.Type: GrantFiled: January 21, 1994Date of Patent: March 14, 1995Assignee: International Business Machines CorporationInventor: Thomas L. Jeremiah
-
Patent number: 5386531Abstract: An instruction processing unit (IPU) and a storage array, a storage-to-instruction-processing-unit interface, including a hardware accelerator for cross-boundary storage access with a cross-boundary buffer for providing residual read and write data in support of high speed block concurrent accessing of multi-word operands of a computer system. A cross-boundary buffer (CBB) is used, coupled to a write rotating shifter, a write merger (WMERGE) and a write merge controller (WMCTL) which is coupled for an input to said control register (CREG) for sequencing data transmitted on the data bus for merger with data contained in the cross-boundary buffer (CBB) by the write merger before it is latched in a data bus out register, and for simultaneously also latching the data in the cross-boundary buffer (CBB), and for writing data from the data bus out register into the storage array in the next clock cycle of the instruction processor at the doubleword address addressed.Type: GrantFiled: May 15, 1991Date of Patent: January 31, 1995Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, Raymond J. Eberhard, Thomas L. Jeremiah, Michael J. Mack
-
Patent number: 5303356Abstract: An instruction processor system for decoding compound instructions created from a series of base instructions of a scalar machine, the processor generating a series of compound instructions with an instruction format text having appended control bits in the instruction format text enabling the execution of the compound instruction format text in said instruction processor with a compounding facility which fetches and decodes compound instructions which can be executed as compounded and single instructions by the arithmetic and logic units of the instruction processor while preserving intact the scalar execution of the base instructions of a scalar machine which were originally in storage.Type: GrantFiled: March 29, 1991Date of Patent: April 12, 1994Assignee: International Business Machines CorporationInventors: Stamatis Vassiliadis, Bartholomew Blaner, Thomas L. Jeremiah
-
Patent number: 5287467Abstract: The parallelism of a multi-pipelined digital computer is enhanced by detection of branch instructions from the execution pipelines and concurrent processing of up to two of the detected instructions in parallel with the operations of the execution pipelines. Certain branch instructions, when detected, are removed altogether from the pipeline, but still processed. The processing is synchronized with the execution pipeline to, first, predict an outcome for detected branch instructions, second, test the conditions for branch instructions at their proper place in the execution sequence to determine whether the predicted outcome was correct, and third, fetch a corrected target instruction if the prediction proves wrong.Type: GrantFiled: April 18, 1991Date of Patent: February 15, 1994Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, Thomas L. Jeremiah, Stamatis Vassiliadis, Phillip G. Williams
-
Patent number: 5039939Abstract: Chip performance is measured using LSSD logic to propagate a signal through the LSSD scan path of the chip. The measurement data is compared to tabular data which is used to classify the AC chip performance. The use of the LSSD scan path provides an accurate overall measurement of an entire chip. The circuitry is internal to the system and does not require external test circuitry. No unique test patterns are required for a given chip design. The chip measurements can be made after installation of the chip in a field operational environment as well as during a manufacturing and testing environment. The chip measurements can be made by local execution of the testing or controlled from a remote location.Type: GrantFiled: December 29, 1988Date of Patent: August 13, 1991Assignee: International Business Machines CorporationInventors: Carroll J. Dick, Bruce J. Ditmyer, Thomas L. Jeremiah, Lawrence Jones, Gregory S. Still
-
Patent number: 4964041Abstract: A system for interrupting loading of data into a high speed memory device from main storage when a processor requests cache access. A high speed cache is connected to main storage for storing at least a subset of the data residing therein, and the cache can be directly accessed by a processor. In a preferred embodiment, a buffering device is connected to main storage and to the cache for buffering data to be loaded therein. The data buffer is adapted to receive data from main storage continuously and is adapted to transfer the data to the cache continuously unless the cache is being accessed by the processor.Type: GrantFiled: August 24, 1987Date of Patent: October 16, 1990Assignee: IBM CorporationInventors: Thomas L. Jeremiah, Albert J. Ruane, Frank A. Zurla
-
Patent number: 4234955Abstract: For a computer system having an array of external registers which may be used as a data source or data destination, wherein such system uses an odd parity checking system, and wherein certain of the register position in the external array can be vacant, an improved parity checking configuration includes a plurality of parity bit latches, one for each location in the external register array. The parity bit latches are set by an initial microprogram load to provide an odd parity bit for each location in the external array of registers which is empty or which may be faulty, disabled or malfunctioning. This assures that when the external array is searched by row, that all of the array locations will provide the appropriate parity check regardless of whether a byte of information exists therein or not.Type: GrantFiled: January 26, 1979Date of Patent: November 18, 1980Assignee: International Business Machines CorporationInventors: Thomas L. Jeremiah, Karl F. Pezdirtz