Patents by Inventor David A. Hrusecky

David A. Hrusecky 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: 20170168945
    Abstract: Handling unaligned load operations, including: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associated with the distinct processor slice, wherein the request to load data stored within the cache associated with the distinct processor slice includes a portion of the range of addresses; executing, by each distinct processor slice, the request to load data stored within the cache associated with the distinct processor slice; and receiving, over a plurality of data communications busses, execution results from each distinct processor slice, wherein each data communications busses is associated with one of the distinct processor slices.
    Type: Application
    Filed: February 18, 2016
    Publication date: June 15, 2017
    Inventors: SUNDEEP CHADHA, ROBERT A. CORDES, DAVID A. HRUSECKY, HUNG Q. LE, JENTJE LEENSTRA, DUNG Q. NGUYEN, BRIAN W. THOMPTO, ALBERT J. VAN NORSTRAND, JR.
  • Publication number: 20170168823
    Abstract: Handling unaligned load operations, including: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associated with the distinct processor slice, wherein the request to load data stored within the cache associated with the distinct processor slice includes a portion of the range of addresses; executing, by each distinct processor slice, the request to load data stored within the cache associated with the distinct processor slice; and receiving, over a plurality of data communications busses, execution results from each distinct processor slice, wherein each data communications busses is associated with one of the distinct processor slices.
    Type: Application
    Filed: December 11, 2015
    Publication date: June 15, 2017
    Inventors: SUNDEEP CHADHA, ROBERT A. CORDES, DAVID A. HRUSECKY, HUNG Q. LE, JENTJE LEENSTRA, DUNG Q. NGUYEN, BRIAN W. THOMPTO, ALBERT J. VAN NORSTRAND, JR.
  • Publication number: 20170109093
    Abstract: Method and system for writing data into a register entry of a processing unit is provided. A logic unit issues an instruction for writing result data into a register entry. At least one functional unit coupled to the logic unit receives the instruction and provides partial result data to be written into the register entry and information regarding the partial result data. A logic circuit coupled to the register entry receives the information regarding the partial result data and writes the partial result data into at least one portion of the register entry based on the received information, the at least one portion of the register entry being determined based on the received information.
    Type: Application
    Filed: October 14, 2015
    Publication date: April 20, 2017
    Inventors: Sam G. CHU, David A. HRUSECKY, Dung Q. NGUYEN, Jose A. PAREDES, David R. TERRY, Brian W. THOMPTO
  • Publication number: 20170090941
    Abstract: Within a processor, speculative finishes of load instructions only are tracked in a speculative finish table by maintaining an oldest load instruction of a thread in the speculative finish table after data is loaded for the oldest load instruction, wherein a particular queue index tag assigned to the oldest load instruction by an execution unit points to a particular entry in the speculative finish table, wherein the oldest load instruction is waiting to be finished dependent upon an error check code result. Responsive to a flow unit receiving the particular queue index tag with an indicator that the error check code result for data retrieved for the oldest load instruction is good, finishing the oldest load instruction in the particular entry pointed to by the queue index tag and writing an instruction tag stored in the entry for the oldest load instruction out of the speculative finish table for completion.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Inventors: SUSAN E. EISEN, DAVID A. HRUSECKY, CHRISTOPHER M. MUELLER, DUNG Q. NGUYEN, A. JAMES VAN NORSTRAND, JR., KENNETH L. WARD
  • Publication number: 20170090937
    Abstract: Within a processor, speculative finishes of load instructions only are tracked in a speculative finish table by maintaining an oldest load instruction of a thread in the speculative finish table after data is loaded for the oldest load instruction, wherein a particular queue index tag assigned to the oldest load instruction by an execution unit points to a particular entry in the speculative finish table, wherein the oldest load instruction is waiting to be finished dependent upon an error check code result. Responsive to a flow unit receiving the particular queue index tag with an indicator that the error check code result for data retrieved for the oldest load instruction is good, finishing the oldest load instruction in the particular entry pointed to by the queue index tag and writing an instruction tag stored in the entry for the oldest load instruction out of the speculative finish table for completion.
    Type: Application
    Filed: October 19, 2015
    Publication date: March 30, 2017
    Inventors: SUSAN E. EISEN, DAVID A. HRUSECKY, CHRISTOPHER M. MUELLER, DUNG Q. NGUYEN, A. JAMES VAN NORSTRAND, JR., KENNETH L. WARD
  • Patent number: 9495297
    Abstract: A technique for handling an unaligned load operation includes detecting a cache line crossing load operation that is associated with a first cache line and a second cache line. In response to an cache including the first cache line but not including the second cache line, the second cache line is reloaded into the cache in a same set as the first cache line. In response to reloading the second cache line in the cache, a cache line crossing link indicator associated with the first cache line is asserted to indicate that both the first and second cache lines include portions of a desired data element.
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Miles R. Dooley, David A. Hrusecky
  • Patent number: 9495298
    Abstract: A technique for handling an unaligned load operation includes detecting a cache line crossing load operation that is associated with a first cache line and a second cache line. In response to an cache including the first cache line but not including the second cache line, the second cache line is reloaded into the cache in a same set as the first cache line. In response to reloading the second cache line in the cache, a cache line crossing link indicator associated with the first cache line is asserted to indicate that both the first and second cache lines include portions of a desired data element.
    Type: Grant
    Filed: June 9, 2015
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Miles R. Dooley, David A. Hrusecky
  • Publication number: 20160026580
    Abstract: A technique for handling an unaligned load operation includes detecting a cache line crossing load operation that is associated with a first cache line and a second cache line. In response to an cache including the first cache line but not including the second cache line, the second cache line is reloaded into the cache in a same set as the first cache line. In response to reloading the second cache line in the cache, a cache line crossing link indicator associated with the first cache line is asserted to indicate that both the first and second cache lines include portions of a desired data element.
    Type: Application
    Filed: July 22, 2014
    Publication date: January 28, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: MILES R. DOOLEY, DAVID A. HRUSECKY
  • Publication number: 20160026572
    Abstract: A technique for handling an unaligned load operation includes detecting a cache line crossing load operation that is associated with a first cache line and a second cache line. In response to an cache including the first cache line but not including the second cache line, the second cache line is reloaded into the cache in a same set as the first cache line. In response to reloading the second cache line in the cache, a cache line crossing link indicator associated with the first cache line is asserted to indicate that both the first and second cache lines include portions of a desired data element.
    Type: Application
    Filed: June 9, 2015
    Publication date: January 28, 2016
    Inventors: MILES R. DOOLEY, DAVID A. HRUSECKY
  • Patent number: 8422313
    Abstract: In a circuit that reduces power consumption in an array system of memory cells accessible in parallel, a local evaluation circuit is connected to a memory cell and a global bit line of the array system of memory cells. A selection circuitry splits the global bit line into an upper part and a lower part of the global bit line. The selection circuitry is adapted to receive an early set prediction signal and to connect the upper part of the global bit line to the lower part of the global bit line based on the early set prediction signal. The early set prediction signal indicates whether a set of memory cells, which include the memory cell, is being read. The circuit also includes a N:1 multiplexer connected to the lower part of the global bit line to receive the lower part of the global bit line as input.
    Type: Grant
    Filed: October 28, 2011
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Stefan Buettner, David A. Hrusecky, Werner Juchmes, Wolfgang Penth, Rolf Sautter
  • Publication number: 20120155188
    Abstract: In a circuit that reduces power consumption in an array system of memory cells accessible in parallel, a local evaluation circuit is connected to a memory cell and a global bit line of the array system of memory cells. A selection circuitry splits the global bit line into an upper part and a lower part of the global bit line. The selection circuitry is adapted to receive an early set prediction signal and to connect the upper part of the global bit line to the lower part of the global bit line based on the early set prediction signal. The early set prediction signal indicates whether a set of memory cells, which include the memory cell, is being read. The circuit also includes a N:1 multiplexer connected to the lower part of the global bit line to receive the lower part of the global bit line as input.
    Type: Application
    Filed: October 28, 2011
    Publication date: June 21, 2012
    Applicant: International Business Machines Corporation
    Inventors: Stefan Buettner, David A. Hrusecky, Werner Juchmes, Wolfgang Penth, Rolf Sautter
  • Patent number: 8086801
    Abstract: A load instruction that accesses data cache may be off natural alignment, which causes a cache line crossing to complete the access. The illustrative embodiments provide a mechanism for loading data across multiple cache lines without the need for an accumulation register or collection point for partial data access from a first cache line while waiting for a second cache line to be accessed. Because the accesses to separate cache lines are concatenated within the vector rename register without the need for an accumulator, an off-alignment load instruction is completely pipeline-able and flushable with no cleanup consequences.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: David A. Hrusecky, David S. Ray, Bruce J. Ronchetti, Shih-Hsiung S. Tung
  • Patent number: 8037261
    Abstract: A closed-loop system for dynamically distributing memory bandwidth between real-time components and non-real-time components is provided. Specifically, the present invention includes monitors for measuring a performance of each of the real-time components. Based on the measured performance, closed-loop feedback loop is communicated to a unified memory system. The feedback is used by the memory controls within the unified memory system to efficiently and dynamically distribute memory bandwidth between the real-time and the non-real-time components.
    Type: Grant
    Filed: June 12, 2002
    Date of Patent: October 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Steven B. Herndon, David A. Hrusecky
  • Publication number: 20100262781
    Abstract: A load instruction that accesses data cache may be off natural alignment, which causes a cache line crossing to complete the access. The illustrative embodiments provide a mechanism for loading data across multiple cache lines without the need for an accumulation register or collection point for partial data access from a first cache line while waiting for a second cache line to be accessed. Because the accesses to separate cache lines are concatenated within the vector rename register without the need for an accumulator, an off-alignment load instruction is completely pipeline-able and flushable with no cleanup consequences.
    Type: Application
    Filed: April 8, 2009
    Publication date: October 14, 2010
    Applicant: International Business Machines Corporation
    Inventors: David A. Hrusecky, David S. Ray, Bruce J. Ronchetti, Shih-Hsiung S. Tung
  • Patent number: 7729421
    Abstract: Loss of decoding time prior to the vertical synchronization signal when motion video is arbitrarily scaled and positioned by placing the frame switch point at the completion of frame decoding and synchronizing the bottom border of the scaled image therewith while maintaining low latency of decoded data. High latency operation is provided only when necessitated by minimal spill buffer capacity and in combination with fractional image size reduction in the decoding path in order to maintain image resolution without requiring additional memory.
    Type: Grant
    Filed: February 20, 2002
    Date of Patent: June 1, 2010
    Assignee: International Business Machines Corporation
    Inventors: Francesco Campisano, Dennis Cheney, David A. Hrusecky
  • Publication number: 20060184741
    Abstract: A method, apparatus, and computer program product are disclosed in a data processing system for sharing data in a cache among multiple threads in a simultaneous multi-threaded (SMT) processor. The SMT processor executes multiple threads concurrently during each clock cycle. The cache is dynamically allocated for use among the multiple threads. Portions of the cache are capable of being designated to store private data that is used exclusively by only a first one of the threads. The portions of the cache are capable of being designated to store shared data that can be used by any one of the multiple threads. The size of the portions can be changed dynamically during execution of the threads.
    Type: Application
    Filed: February 11, 2005
    Publication date: August 17, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Hrusecky, Sheldon Levenstein, Bruce Ronchetti, Anthony Saporito
  • Publication number: 20060179258
    Abstract: A method, apparatus and algorithm for quickly detecting an address match in a deeply pipelined processor design in a manner that may be implemented using a minimum of physical space in the critical area of the processor. The address comparison is split into two parts. The first part is a fast, partial address match comparator system. The second part is a slower, full address match comparator system. If a partial match between a requested address and a registry address is detected, then execution of the program or set of instructions requesting the address is temporarily suspended while a full address match check is performed. If the full address match check results in a full match between the requested address and a registry address, then the program or set of instructions is interrupted and stopped. Otherwise, the program or set of instructions continues execution.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Miles Dooley, Scott Frommer, David Hrusecky, Sheldon Levenstein
  • Publication number: 20060179266
    Abstract: Method, system and computer program product for generating effective addresses in a data processing system. A method, in a data processing system, for generating an effective address includes generating a first portion of the effective address by calculating a first plurality of effective address bits of the effective address, and generating a second portion of the effective address by guessing a second plurality of effective address bits of the effective address. By intelligently guessing a plurality of the effective address bits that form the effective address, the effective address can be generated and sent to a translation unit more quickly than in a system in which all the effective address bits of the effective address are calculated. The method and system is particularly suitable for generating effective addresses in a CAM-based effective address translation design in a multi-threaded environment.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Rachel Flood, Scott Frommer, David Hrusecky, Sheldon Levenstein, Michael Vaden
  • Publication number: 20060179227
    Abstract: A method, system, and computer program product for supporting multiple fetch requests to the same congruence class in an n-way set associative cache. Responsive to receiving an incoming fetch instruction at a load/store unit, outstanding valid fetch entries in the n-way set associative cache that have the same cache congruence class as the incoming fetch instruction are identified. SetIDs in used by these identified outstanding valid fetch entries are determined. A resulting setID is assigned to the incoming fetch instruction based on the identified setIDs, wherein the resulting setID assigned is a setID not currently in use by the outstanding valid fetch entries. The resulting setID for the incoming fetch instruction is written in a corresponding entry in the n-way set associative cache.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Hrusecky, Sheldon Levenstein, Bruce Ronchetti, Anthony Saporito
  • Patent number: 6996174
    Abstract: A digital video decoder system, method and article of manufacture are provided having integrated scaling capabilities for presentation of video in full size or a predetermined reduced size, while at the same time allowing for reduced external memory requirements for frame buffer storage. The integrated system utilizes an existing decimation unit to scale the decoded stream of video data when the system is in scaled video mode. Display mode switch logic oversees switching between normal video mode and scaled video mode, wherein the switching occurs without perceptual degradation of a display of the decoded stream of video data. Scaled decoded video frames are buffered in a frame buffer which is partitioned depending upon whether the digital video decoding system is in normal video mode or scaled video mode. In scaled video mode, the frame buffer accommodates both full size I and P frames, as well as scaled I, P & B frames.
    Type: Grant
    Filed: September 4, 2002
    Date of Patent: February 7, 2006
    Assignee: International Business Machines Corporation
    Inventors: Francesco A. Campisano, Dennis P. Cheney, David A. Hrusecky, Chuck H. Ngai, Ronald S. Svec