Patents by Inventor Joel A. Silberman

Joel A. Silberman 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: 10572264
    Abstract: Aspects of the invention include detecting, in an out-of-order (OoO) processor, that all instructions in a first group of in-flight instructions have a status of finished. The first group of in-flight instructions is the oldest group in an entry of a global completion table (GCT). It is determined that the entry in the GCT is a merged entry that is associated with both the first group of in-flight instructions and a second group of in-flight instructions dispatched immediately subsequent to the first group of in-flight instructions. The first group of in-flight instructions and the second group of in-flight instructions are completed in a single processor cycle. The completing is based at least in part on detecting that all instructions in the first group of in-flight instructions have a status of finished. The completing includes requesting release of resources utilized by both the first and second groups of in-flight instructions.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: February 25, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Patent number: 10564979
    Abstract: Aspects of the invention include detecting that all instructions in a first group of in-flight instructions have a status of finished. The first group of in-flight instructions is associated with a first allocated entry in a global completion table (GCT) which tracks a dispatch order and status of groups of in-flight instructions. The GCT includes a plurality of allocated entries including the first allocated entry and a second allocated entry. A second group of in-flight instructions dispatched immediately prior to the first group is associated with the second allocated entry in the GCT. Based at least in part on the detecting, the first allocated entry is merged into the second allocated entry to create a single merged second allocated entry in the GCT that includes completion information for both the first group of in-flight instructions and the second group of in-flight instructions. The first allocated entry is then deallocated.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: February 18, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Patent number: 10564976
    Abstract: Aspects of the invention include tracking dependencies between instructions in an issue queue. The tracking includes, for each instruction in the issue queue, identifying whether the instruction is dependent on each of a threshold number of instructions added to the issue queue prior to the instruction. The tracking also includes identifying whether the instruction is dependent on one or more other instructions added to the issue queue prior to the instruction that are not included in the each of the threshold number of instructions. A dependency between the instruction and each of the other instructions is tracked as a plurality of groups by indicating that a dependency exists between the instruction and one of the groups based on identifying a dependency between the instruction and at least one instruction in the group. Instructions are issued from the issue queue based at least in part on the tracking.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: February 18, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Patent number: 10529648
    Abstract: A structure for cooling an integrated circuit. The structure may include; an interposer cold plate having at least two expanding channels, each expanding channel having a flow direction from a channel inlet to a channel outlet, the flow direction having different directions for at least two of the at least two expanding channels, the channel inlet having an inlet width and the channel outlet having an outlet width, wherein the inlet width is less than the outlet width.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas J. Brunschwiler, Timothy J. Chainer, Evan G. Colgan, Arvind Raj Mahankali Sridhar, Chin Lee Ong, Pritish R. Parida, Gerd Schlottig, Mark D. Schultz, Joel A. Silberman
  • Publication number: 20190179640
    Abstract: Embodiments of the present invention include methods, systems, and computer program products for implementing instruction fusion after register rename. A computer-implemented method includes receiving, by a processor, a plurality of instructions at an instruction pipeline. The processor can further performing a register rename within the instruction pipeline in response to the received plurality of instructions. The processor can further determine that two or more of the plurality of instructions can be fused after the register rename. The processor can further fuse the two or more instructions that can be fused based on the determination to create one or more fused instructions. The processor can further perform an execution stage within the instruction pipeline to execute the plurality of instructions, including the one or more fused instructions.
    Type: Application
    Filed: December 7, 2017
    Publication date: June 13, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163489
    Abstract: Aspects of the invention include tracking relative ages of instructions in an issue queue of an OoO processor. The tracking includes grouping entries in the issue queue into a pool of blocks, each block containing two or more entries that are configured to be allocated and deallocated as a single unit, each entry configured to store an instruction. Blocks are selected in any order from the pool of block for allocation. The selected blocks are allocated and the relative ages of the allocated blocks are tracked based at least in part on an order that the blocks are allocated. Each allocated block is configured as a first-in-first-out (FIFO) queue of entries, configured to add instructions to the block in a sequential order, and configured to remove instructions from the block in any order including a non-sequential order. The relative ages of instructions within each allocated block are tracked.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Mohit S. Karve, Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163491
    Abstract: Aspects of the invention include detecting, in an out-of-order (OoO) processor, that all instructions in a first group of in-flight instructions have a status of finished. The first group of in-flight instructions is the oldest group in an entry of a global completion table (GCT). It is determined that the entry in the GCT is a merged entry that is associated with both the first group of in-flight instructions and a second group of in-flight instructions dispatched immediately subsequent to the first group of in-flight instructions. The first group of in-flight instructions and the second group of in-flight instructions are completed in a single processor cycle. The completing is based at least in part on detecting that all instructions in the first group of in-flight instructions have a status of finished. The completing includes requesting release of resources utilized by both the first and second groups of in-flight instructions.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163488
    Abstract: Aspects of the invention include tracking relative ages of instructions in a first-in-first-out (FIFO) issue queue of an out-of-order (OoO) processor. The FIFO issue queue is configured to add instructions to the issue queue in a sequential order and to remove instructions from the issue queue in any order including a non-sequential order. The tracking of relative ages of instructions includes maintaining a head pointer to a location of an oldest instruction in the issue queue and a tail pointer to a location of a last instruction added to the issue queue. It is determined periodically whether the tail pointer is pointing to a location that includes a valid instruction. The tail pointer is updated to point to a previous sequential location in the issue queue based at least in part on determining that the tail pointer is not pointing to a location that corresponds to a valid instruction.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Mohit S. Karve, Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163484
    Abstract: Aspects of the invention include tracking dependencies between instructions in an issue queue. The tracking includes, for each instruction in the issue queue, identifying whether the instruction is dependent on each of a threshold number of instructions added to the issue queue prior to the instruction. The tracking also includes identifying whether the instruction is dependent on one or more other instructions added to the issue queue prior to the instruction that are not included in the each of the threshold number of instructions. A dependency between the instruction and each of the other instructions is tracked as a plurality of groups by indicating that a dependency exists between the instruction and one of the groups based on identifying a dependency between the instruction and at least one instruction in the group. Instructions are issued from the issue queue based at least in part on the tracking.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163486
    Abstract: Aspects include monitoring a number of instructions of a first type dispatched to a first shared port of an issue queue of a processor and determining whether the number of instructions of the first type dispatched to the first shared port exceeds a port selection threshold. An instruction of a third type is dispatched to a second shared port of the issue queue associated with a plurality of instructions of a second type based on determining that the number of instructions of the first type dispatched to the first shared port exceeds the port selection threshold. The instruction of the third type is dispatched to the first shared port of the issue queue associated with a plurality of instructions of the first type based on determining that the number of instructions of the first type dispatched to the first shared port does not exceed the port selection threshold.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Balaram Sinharoy, Joel A. Silberman, Brian W. Thompto
  • Publication number: 20190163485
    Abstract: Aspects of the invention include buffered instruction dispatching to an issue queue. A non-limiting example includes dispatching from a dispatch unit of a processor a first group of instructions selected from a first plurality of instructions to a first issue queue partition of the processor in a first cycle. A second group of instructions selected from the first plurality of instructions is passed to an issue queue buffer of the processor in the first cycle. The second group of instructions is passed from the issue queue buffer to the first issue queue partition in a second cycle. A third group of instructions selected from a second plurality of instructions is dispatched to a second issue queue partition in the second cycle.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Mohit S. Karve, Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163482
    Abstract: Aspects of the invention include tracking dependencies between instructions in an issue queue. The tracking includes, for each instruction in the issue queue, identifying whether the instruction is dependent on each of a threshold number of instructions added to the issue queue prior to the instruction. The tracking also includes identifying whether the instruction is dependent on one or more other instructions added to the issue queue prior to the instruction that are not included in the each of a threshold number of instructions. A dependency between the instruction and the other instructions is tracked as a single group by indicating that a dependency exists between the instruction and the group of other instructions based on identifying a dependency between the instruction and at least one of the other instructions in the single group. Instructions are issued from the issue queue based at least in part on the tracking.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163490
    Abstract: Aspects of the invention include detecting that all instructions in a first group of in-flight instructions have a status of finished. The first group of in-flight instructions is associated with a first allocated entry in a global completion table (GCT) which tracks a dispatch order and status of groups of in-flight instructions. The GCT includes a plurality of allocated entries including the first allocated entry and a second allocated entry. A second group of in-flight instructions dispatched immediately prior to the first group is associated with the second allocated entry in the GCT. Based at least in part on the detecting, the first allocated entry is merged into the second allocated entry to create a single merged second allocated entry in the GCT that includes completion information for both the first group of in-flight instructions and the second group of in-flight instructions. The first allocated entry is then deallocated.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Publication number: 20190163483
    Abstract: Aspects of the invention include tracking dependencies between instructions in an issue queue. The tracking includes, for each instruction in the issue queue, tracking a specific dependency on each of a threshold number of instructions most recently added to the issue queue prior to the instruction, tracking as a single group a dependency of the instruction on any instructions in the issue queue that are not in the threshold number of instructions, and tracking for each source register used by the instruction an indicator of whether its content is dependent on results from an instruction in the single group that has not finished execution. Based at least in part on detecting removal from the issue queue of an instruction in the single group that has issued and not finished execution, the method includes indicating that the instruction is ready for issuance or waiting for a notification that the removed instruction has finished execution.
    Type: Application
    Filed: November 30, 2017
    Publication date: May 30, 2019
    Inventors: Joel A. Silberman, Balaram Sinharoy
  • Patent number: 10231359
    Abstract: Methods and devices for active control for two-phase cooling include a cooling volume that has cavities and active coolant flow controls in the cavities configured to adjust coolant flow through the cavities. A reservoir in fluid communication with the cavities and there is a two-phase coolant in the reservoir and cavities. The two-phase coolant has a phase transition temperature between an ambient temperature and an expected device temperature. A coolant sensor is configured to determine a coolant phase condition in the cavities. A control module is configured to adjust the active coolant flow controls in response to the determined coolant phase condition.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Chainer, Pritish R. Parida, Joel A. Silberman
  • Publication number: 20180303006
    Abstract: A cooling system includes a device to be cooled and a cooling device integrated with the device to be cooled. A cooling volume has cavities and active coolant flow controls configured to adjust coolant flow through the cavities. A reservoir is in fluid communication with the cavities and has a liquid outlet and an inlet for a gas or gas-liquid mixture. A two-phase coolant is in the reservoir and cavities. The two-phase coolant has a phase transition temperature between an ambient temperature and an expected device temperature. A capacitance sensor is configured to determine a coolant capacitance in the cavities. A control module is configured to determine a vapor quality and void fraction of the coolant based on the measured capacitance and to increase coolant flow if the determined vapor quality and void fraction indicate a dry-out condition. A secondary cooling line removes heat from the cooling device.
    Type: Application
    Filed: May 16, 2018
    Publication date: October 18, 2018
    Inventors: Timothy J. Chainer, Pritish R. Parida, Joel A. Silberman
  • Patent number: 10083880
    Abstract: In one aspect, a method for forming an electronic device includes the following steps. An ETSOI layer of an ETSOI wafer is patterned into one or more ETSOI segments each of the ETSOI segments having a width of from about 3 nm to about 20 nm. A gate electrode is formed over a portion of the one or more ETSOI segments which serves as a channel region of a transistor, wherein portions of the one or more ETSOI segments extending out from under the gate electrode serve as source and drain regions of the transistor. At least one TSV is formed in the ETSOI wafer adjacent to the transistor. An electronic device is also provided.
    Type: Grant
    Filed: April 24, 2017
    Date of Patent: September 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Chung-Hsun Lin, Yu-Shiang Lin, Shih-Hsien Lo, Joel A. Silberman
  • Publication number: 20180182686
    Abstract: A structure for cooling an integrated circuit. The structure may include; an interposer cold plate having at least two expanding channels, each expanding channel having a flow direction from a channel inlet to a channel outlet, the flow direction having different directions for at least two of the at least two expanding channels, the channel inlet having an inlet width and the channel outlet having an outlet width, wherein the inlet width is less than the outlet width.
    Type: Application
    Filed: February 13, 2018
    Publication date: June 28, 2018
    Inventors: Thomas J. Brunschwiler, Timothy J. Chainer, Evan G. Colgan, Arvind Raj Mahankali Sridhar, Chin Lee Ong, Pritish R. Parida, Gerd Schlottig, Mark D. Schultz, Joel A. Silberman
  • Patent number: 9986662
    Abstract: A cooling system includes a device to be cooled and a cooling device integrated with the device to be cooled. A cooling volume has cavities and active coolant flow controls configured to adjust coolant flow through the cavities. A reservoir is in fluid communication with the cavities and has a liquid outlet and an inlet for a gas or gas-liquid mixture. A two-phase coolant is in the reservoir and cavities. The two-phase coolant has a phase transition temperature between an ambient temperature and an expected device temperature. A capacitance sensor is configured to determine a coolant capacitance in the cavities. A control module is configured to determine a vapor quality and void fraction of the coolant based on the measured capacitance and to increase coolant flow if the determined vapor quality and void fraction indicate a dry-out condition. A secondary cooling line removes heat from the cooling device.
    Type: Grant
    Filed: June 6, 2017
    Date of Patent: May 29, 2018
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Chainer, Pritish R. Parida, Joel A. Silberman
  • Patent number: 9941189
    Abstract: A structure for cooling an integrated circuit. The structure may include; an interposer cold plate having at least two expanding channels, each expanding channel having a flow direction from a channel inlet to a channel outlet, the flow direction having different directions for at least two of the at least two expanding channels, the channel inlet having an inlet width and the channel outlet having an outlet width, wherein the inlet width is less than the outlet width.
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Thomas J. Brunschwiler, Timothy J. Chainer, Evan G. Colgan, Arvind Raj Mahankali Sridhar, Chin Lee Ong, Pritish R. Parida, Gerd Schlottig, Mark D. Schultz, Joel A. Silberman