Patents by Inventor Michael J. Genden

Michael J. Genden 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: 20170168836
    Abstract: Operation of a multi-slice processor that includes a plurality of execution slices and a plurality of load/store slices coupled via a results bus includes: retrieving, from the results bus into an entry of a register file of an execution slice, speculative result data of a load instruction generated by a load/store slice; and determining, from the load/store slice after expiration of a predetermined period of time, whether the result data is valid.
    Type: Application
    Filed: February 22, 2016
    Publication date: June 15, 2017
    Inventors: JOSHUA W. BOWMAN, SUNDEEP CHADHA, MICHAEL J. GENDEN, DHIVYA JEGANATHAN, DUNG Q. NGUYEN, DAVID R. TERRY, EULA A. TOLENTINO
  • Publication number: 20170168831
    Abstract: Operation of a multi-slice processor that includes execution slices and load/store slices coupled via a results bus includes: receiving, by an execution slice, a producer instruction, including: storing, in an entry of an issue queue, the producer instruction; and storing, in a register, an issue queue entry identifier representing the entry of the issue queue in which the producer instruction is stored; receiving, by the execution slice, a source instruction, the source instruction dependent upon the result of the producer instruction, including: storing, in another entry of the issue queue, the source instruction and the issue queue entry identifier of the producer instruction; determining in dependence upon the issue queue entry identifier of the producer instruction that the producer instruction has issued from the issue queue; and responsive to the determination that the producer instruction has issued from the issue queue, issuing the source instruction from the issue queue.
    Type: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Inventors: BRIAN D. BARRICK, SUNDEEP CHADHA, MICHAEL J. GENDEN, JERRY Y. LU, DUNG Q. NGUYEN, NASRIN SULTANA, DAVID R. TERRY, DAVID S. WALDER
  • Publication number: 20170168834
    Abstract: Operation of a multi-slice processor including execution slices and load/store slices, where the load/store slices are coupled to the execution slices via a results bus and the results bus includes segments assigned to carry results of a different instruction type, includes: receiving a producer instruction that includes an identifier of an instruction type and an identifier of the producer instruction, including storing the identifier of the instruction type and the identifier of the producer instruction in an entry of a register; receiving a source instruction dependent upon the result of the producer instruction including storing, in an issue queue, the source instruction, the identifier of the instruction type of the producer instruction, and an identifier of the producer instruction; and snooping the identifier of the producer instruction only from the segment of the results bus assigned to carry results of the instruction type of the producer instruction.
    Type: Application
    Filed: February 18, 2016
    Publication date: June 15, 2017
    Inventors: BRIAN D. BARRICK, SUNDEEP CHADHA, MAUREEN A. DELANEY, THAO T. DOAN, MICHAEL J. GENDEN, ROKESH JAYASUNDAR, DUNG Q. NGUYEN, DAVID R. TERRY
  • Publication number: 20170168821
    Abstract: Operation of a multi-slice processor that includes a plurality of execution slices and a plurality of load/store slices coupled via a results bus includes: retrieving, from the results bus into an entry of a register file of an execution slice, speculative result data of a load instruction generated by a load/store slice; and determining, from the load/store slice after expiration of a predetermined period of time, whether the result data is valid.
    Type: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Inventors: JOSHUA W. BOWMAN, SUNDEEP CHADHA, MICHAEL J. GENDEN, DHIVYA JEGANATHAN, DUNG Q. NGUYEN, DAVID R. TERRY, EULA A. TOLENTINO
  • Publication number: 20160357566
    Abstract: An approach is provided is provided in which a computing system matches a writeback instruction tag (ITAG) to an entry instruction tag (ITAG) included in an issue queue entry. The writeback ITAG is provided by a first of multiple load store units. The issue queue entry includes multiple ready bits, each of which corresponds to one of the multiple load store units. In response to matching the writeback ITAG to the entry ITAG, the computer system sets a first ready bit corresponding to the first load store unit. In turn, the computing system issues an instruction corresponding to the entry ITAG based upon detecting that each of the multiple ready bits is set.
    Type: Application
    Filed: June 2, 2015
    Publication date: December 8, 2016
    Inventors: Joshua W. Bowman, Sundeep Chadha, Michael J. Genden, Dhivya Jeganathan, Dung Q. Nguyen, David R. Terry, Eula F. Tolentino
  • Publication number: 20160357567
    Abstract: An approach is provided is provided in which a computing system matches a writeback instruction tag (ITAG) to an entry instruction tag (ITAG) included in an issue queue entry. The writeback ITAG is provided by a first of multiple load store units. The issue queue entry includes multiple ready bits, each of which corresponds to one of the multiple load store units. In response to matching the writeback ITAG to the entry ITAG, the computer system sets a first ready bit corresponding to the first load store unit. In turn, the computing system issues an instruction corresponding to the entry ITAG based upon detecting that each of the multiple ready bits is set.
    Type: Application
    Filed: August 15, 2015
    Publication date: December 8, 2016
    Inventors: Joshua W. Bowman, Sundeep Chadha, Michael J. Genden, Dhivya Jeganathan, Dung Q. Nguyen, David R. Terry, Eula F. Tolentino
  • Publication number: 20160328329
    Abstract: An approach is provided in which a computing system captures content included in a history buffer entry that corresponds to a flush ITAG. The computing system, in turn, uses an execution unit to transmit the content over a results bus to multiple registers and restore at least one of the registers accordingly.
    Type: Application
    Filed: May 7, 2015
    Publication date: November 10, 2016
    Inventors: Salma Ayub, Sundeep Chadha, Michael J. Genden, Cliff Kucharski, Dung Q. Nguyen, David R. Terry
  • Publication number: 20160328330
    Abstract: An approach is provided in which a computing system captures content included in a history buffer entry that corresponds to a flush ITAG. The computing system, in turn, uses an execution unit to transmit the content over a results bus to multiple registers and restore at least one of the registers accordingly.
    Type: Application
    Filed: June 1, 2015
    Publication date: November 10, 2016
    Inventors: Salma Ayub, Sundeep Chadha, Michael J. Genden, Cliff Kucharski, Dung Q. Nguyen, David R. Terry
  • Publication number: 20160283236
    Abstract: An approach is provided in which a mapper control unit matches a result instruction tag corresponding to an executed instruction to a history buffer entry's instruction tag. The matched history buffer entry includes multiple history buffer field sets that each include a field set state indicator. The mapper control unit identifies a subset of the history buffer field sets having a valid field set state indicator and stores result data corresponding to the result instruction tag in the identified subset of history buffer field sets. In turn, the mapper control unit restores a subset of a register's fields utilizing content from the subset of history buffer field sets.
    Type: Application
    Filed: March 25, 2015
    Publication date: September 29, 2016
    Inventors: Michael J. Genden, Dung Q. Nguyen, Kenneth L. Ward
  • Publication number: 20160253180
    Abstract: An approach is provided in which a mapper control unit receives dispatch information corresponding to an instruction that targets a first field in a first register and a second field in a second register, the first register being a first register type and the second register being a second register type. As such, the mapper control unit selects a history buffer entry in a history buffer that is adapted to concurrently store content corresponding to the first register type and the second register type. In turn, the mapper control unit stores first content from the first register's targeted first fields and second content from the second register's targeted second fields into the selected history buffer entry.
    Type: Application
    Filed: February 26, 2015
    Publication date: September 1, 2016
    Inventors: Michael J. Genden, Dung Q. Nguyen
  • Publication number: 20160253181
    Abstract: An approach is provided in which a mapper control unit receives dispatch information corresponding to a dispatching instruction that targets some of the register fields in a register. The mapper control unit selects, in a history buffer, an available history buffer entry that includes multiple field sets, each including an itag field. In turn, the mapper control unit modifies some of the history buffer field sets, including the itag fields, based on the existing content stored in the targeted register fields.
    Type: Application
    Filed: February 26, 2015
    Publication date: September 1, 2016
    Inventors: Sundeep Chadha, Michael J. Genden, Dung Q. Nguyen, David R. Terry, Kenneth L. Ward
  • Publication number: 20160253177
    Abstract: An approach is provided in which a mapper control unit receives first dispatch information corresponding to a first instruction that identifies a first register and a first register type. The mapper control unit dynamically configures a first history buffer entry to support the first register type and, in turn, stores content from the first register into the first history buffer entry. The mapper control unit then receives second dispatch information corresponding to a second instruction that identifies a second register and a second register type, which is different than the first register type. The mapper control unit dynamically configures a second history buffer entry to support the second register type and, in turn, stores content from the second register into the second history buffer entry.
    Type: Application
    Filed: February 26, 2015
    Publication date: September 1, 2016
    Inventors: Michael J. Genden, Hung Q. Le, Dung Q. Nguyen, Kenneth L. Ward
  • Patent number: 9110708
    Abstract: According to one embodiment of the present disclosure, an approach is provided in which a thread is selected from multiple active threads, along with a corresponding weighting value. Computational logic determines whether one of the multiple threads is dispatching an instruction and, if so, computes a dispatch weighting value using the selected weighting value and a dispatch factor that indicates a weighting adjustment of the selected weighting value. In turn, a resource utilization value of the selected thread is computed using the dispatch weighting value.
    Type: Grant
    Filed: October 29, 2013
    Date of Patent: August 18, 2015
    Assignee: International Business Machines Corporation
    Inventors: James Wilson Bishop, Michael J. Genden, Steven Bradford Herndon, Philip Lee Vitale
  • Patent number: 9015449
    Abstract: An approach is provided in which a thread is selected from multiple active threads, along with a corresponding weighting value. Computational logic determines whether one of the multiple threads is dispatching an instruction and, if so, computes a dispatch weighting value using the selected weighting value and a dispatch factor that indicates a weighting adjustment of the selected weighting value. In turn, a resource utilization value of the selected thread is computed using the dispatch weighting value.
    Type: Grant
    Filed: March 27, 2011
    Date of Patent: April 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: James Wilson Bishop, Michael J. Genden, Steven Bradford Herndon, Philip Lee Vitale
  • Publication number: 20140053164
    Abstract: According to one embodiment of the present disclosure, an approach is provided in which a thread is selected from multiple active threads, along with a corresponding weighting value. Computational logic determines whether one of the multiple threads is dispatching an instruction and, if so, computes a dispatch weighting value using the selected weighting value and a dispatch factor that indicates a weighting adjustment of the selected weighting value. In turn, a resource utilization value of the selected thread is computed using the dispatch weighting value.
    Type: Application
    Filed: October 29, 2013
    Publication date: February 20, 2014
    Applicant: International Business Machines Corporation
    Inventors: James Wilson Bishop, Michael J. Genden, Steven Bradford Herndon, Philip Lee Vitale
  • Publication number: 20120246447
    Abstract: According to one embodiment of the present disclosure, an approach is provided in which a thread is selected from multiple active threads, along with a corresponding weighting value. Computational logic determines whether one of the multiple threads is dispatching an instruction and, if so, computes a dispatch weighting value using the selected weighting value and a dispatch factor that indicates a weighting adjustment of the selected weighting value. In turn, a resource utilization value of the selected thread is computed using the dispatch weighting value.
    Type: Application
    Filed: March 27, 2011
    Publication date: September 27, 2012
    Applicant: International Business Machines Corporation
    Inventors: James Wilson Bishop, Michael J. Genden, Steven Bradford Herndon, Philip Lee Vitale