Patents by Inventor Steven R. Carlough

Steven R. Carlough 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: 9335993
    Abstract: Machine instructions, referred to herein as a long Convert from Zoned instruction (CDZT) and extended Convert from Zoned instruction (CXZT), are provided that read EBCDIC or ASCII data from memory, convert it to the appropriate decimal floating point format, and write it to a target floating point register or floating point register pair. Further, machine instructions, referred to herein as a long Convert to Zoned instruction (CZDT) and extended Convert to Zoned instruction (CZXT), are provided that convert a decimal floating point (DFP) operand in a source floating point register or floating point register pair to EBCDIC or ASCII data and store it to a target memory location.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: May 10, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven R. Carlough, Reid T. Copeland, Charles W. Gainey, Jr., Marcel Mitran, Eric M. Schwarz, Timothy J. Slegel
  • Patent number: 9335995
    Abstract: Machine instructions, referred to herein as a long Convert from Zoned instruction (CDZT) and extended Convert from Zoned instruction (CXZT), are provided that read EBCDIC or ASCII data from memory, convert it to the appropriate decimal floating point format, and write it to a target floating point register or floating point register pair. Further, machine instructions, referred to herein as a long Convert to Zoned instruction (CZDT) and extended Convert to Zoned instruction (CZXT), are provided that convert a decimal floating point (DFP) operand in a source floating point register or floating point register pair to EBCDIC or ASCII data and store it to a target memory location.
    Type: Grant
    Filed: December 4, 2014
    Date of Patent: May 10, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven R. Carlough, Reid T. Copeland, Charles W. Gainey, Jr., Marcel Mitran, Eric M. Schwarz, Timothy J. Slegel
  • Patent number: 9329861
    Abstract: Machine instructions, referred to herein as a long Convert from Zoned instruction (CDZT) and extended Convert from Zoned instruction (CXZT), are provided that read EBCDIC or ASCII data from memory, convert it to the appropriate decimal floating point format, and write it to a target floating point register or floating point register pair. Further, machine instructions, referred to herein as a long Convert to Zoned instruction (CZDT) and extended Convert to Zoned instruction (CZXT), are provided that convert a decimal floating point (DFP) operand in a source floating point register or floating point register pair to EBCDIC or ASCII data and store it to a target memory location.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: May 3, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven R. Carlough, Reid T. Copeland, Charles W. Gainey, Jr., Marcel Mitran, Eric M. Schwarz, Timothy J. Slegel
  • Publication number: 20160098248
    Abstract: Arithmetic logic circuitry is provided for performing a floating point arithmetic add/subtract operation on first and second floating point numbers. The method includes: generating a guard digit for the first or second number by transforming the first and second numbers by a compressing function; determining a result depending on the arithmetic operation, a sum of the transformed floating point numbers, and first and second differences of the transformed floating point numbers, and determining a corresponding result plus one by additionally adding a value of one to the result; generating injection values for rounding the final result; generating injection carry values based on the transformed first and second numbers and the injection values; and selecting the final result from the result, the result plus one, and a least significant digit, based on the injection carry values and the end around carry signals.
    Type: Application
    Filed: October 2, 2015
    Publication date: April 7, 2016
    Inventors: Steven R. CARLOUGH, Klaus M. KROENER, Petra LEBER, Cedric LICHTENAU, Silvia M. MUELLER
  • Publication number: 20160098249
    Abstract: Logic is provided for performing decimal and binary floating point arithmetic calculations on first and second operands. The method includes: receiving the first and second operands in packed format; unpacking the first and second operands; swapping the first operand to a fourth operand and the second operand to a third operand, if an exponent of the first operand is less than an exponent of the second operand, otherwise storing the first operand to the third operand and the second operand to the fourth operand; aligning the third operand and the fourth operands based on the exponent difference of the third and fourth operand and a number of leading zeroes of the third operand; performing an add/subtract operation on the aligned third and fourth operands with normalizing and rounding between the operands; and packing the result obtained from the add/subtract.
    Type: Application
    Filed: October 2, 2015
    Publication date: April 7, 2016
    Inventors: Steven R. CARLOUGH, Juergen HAESS, Michael KLEIN, Klaus M. KROENER, Petra LEBER, Silvia M. MUELLER, Kerstin SCHELM
  • Patent number: 9304848
    Abstract: Embodiments of the invention relate to dynamically routing instructions to execution units based on detected errors in the execution units. An aspect of the invention includes a computer system including a processor having an instruction issue unit and a plurality of execution units. The processor is configured to detect an error in a first execution unit among the plurality of execution units and adjust instruction dispatch rules of the instruction issue unit based on detecting the error in the first execution unit to restrict access to the first execution unit while leaving un-restricted access to the remaining execution units of the plurality of execution units.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: April 5, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Publication number: 20160092233
    Abstract: Embodiments include issuing dynamic issue masks for processor hang prevention. Aspects include storing an instruction in an issue queue for execution by an execution unit, the instruction including a default issue mask. Aspects further include determining whether the instruction in the issue queue is likely to be rescinded by the execution unit. Based on determining that the instruction is not likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with the default issue mask. Based on determining that the instruction is likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with a likely to be rescinded issue mask.
    Type: Application
    Filed: September 1, 2015
    Publication date: March 31, 2016
    Inventors: GREGORY W. ALEXANDER, STEVEN R. CARLOUGH, LEE E. EISEN, DAVID A. SCHROTER
  • Publication number: 20160092165
    Abstract: Embodiments relate to converting data from a decimal floating point format to a packed decimal format by executing a machine instruction. A method of executing the machine instruction is provided. The method reads data in a decimal floating point format from one or more registers of a processor that is communicatively coupled to a memory. The method converts the data in the decimal floating point format into a packed decimal format. The method writes the data converted into the packed decimal format to the memory.
    Type: Application
    Filed: July 28, 2015
    Publication date: March 31, 2016
    Inventors: Jonathan D. Bradbury, Steven R. Carlough, Reid T. Copeland, Marcel Mitran
  • Publication number: 20160092164
    Abstract: Embodiments relate to converting data from a packed decimal format to a decimal floating point format by executing a machine instruction. A method of executing the machine instruction is provided. The method reads data in a packed decimal format from a memory that is communicatively coupled to a processor. The method converts the data in the packed decimal format into a decimal floating point format. The method writes the data converted into the decimal floating point format to one or more target registers of the processor.
    Type: Application
    Filed: July 28, 2015
    Publication date: March 31, 2016
    Inventors: Jonathan D. Bradbury, Steven R. Carlough, Reid T. Copeland, Marcel Mitran
  • Publication number: 20160092162
    Abstract: Embodiments relate to converting data from a packed decimal format to a decimal floating point format by executing a machine instruction. A method of executing the machine instruction is provided. The method reads data in a packed decimal format from a memory that is communicatively coupled to a processor. The method converts the data in the packed decimal format into a decimal floating point format. The method writes the data converted into the decimal floating point format to one or more target registers of the processor.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Jonathan D. Bradbury, Steven R. Carlough, Reid T. Copeland, Marcel Mitran
  • Publication number: 20160092163
    Abstract: Embodiments relate to converting data from a decimal floating point format to a packed decimal format by executing a machine instruction. A method of executing the machine instruction is provided. The method reads data in a decimal floating point format from one or more registers of a processor that is communicatively coupled to a memory. The method converts the data in the decimal floating point format into a packed decimal format. The method writes the data converted into the packed decimal format to the memory.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Jonathan D. Bradbury, Steven R. Carlough, Reid T. Copeland, Marcel Mitran
  • Publication number: 20160092212
    Abstract: Embodiments include issuing dynamic issue masks for processor hang prevention. Aspects include storing an instruction in an issue queue for execution by an execution unit, the instruction including a default issue mask. Aspects further include determining whether the instruction in the issue queue is likely to be rescinded by the execution unit. Based on determining that the instruction is not likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with the default issue mask. Based on determining that the instruction is likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with a likely to be rescinded issue mask.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: GREGORY W. ALEXANDER, STEVEN R. CARLOUGH, LEE E. EISEN, DAVID A. SCHROTER
  • Patent number: 9286138
    Abstract: Major branch instructions are provided that enable execution of a computer program to branch from one segment of code to another segment of code. These instructions also create a new stream of processing at the other segment of code enabling execution of the other segment of code to be performed in parallel with the segment of code from which the branch was taken. In one example, the other stream of processing starts a transaction for processing instructions of the other stream of processing.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: March 15, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Publication number: 20160070572
    Abstract: A condition code can depend upon a numerical output of a floating point operation for a processing pipeline. A classification can be determined for the floating point operation of a received instruction. In response to the classification and using condition determination logic, a value can be calculated for the condition code by inferring from data that is available from the processing pipeline before the numerical output is available. The value for the condition code can be provided to branch decision logic of the processing pipeline.
    Type: Application
    Filed: September 10, 2014
    Publication date: March 10, 2016
    Inventors: Steven R. Carlough, Son T. Dao, Petra Leber, Silvia M. Mueller
  • Publication number: 20160070573
    Abstract: A condition code can depend upon a numerical output of a floating point operation for a processing pipeline. A classification can be determined for the floating point operation of a received instruction. In response to the classification and using condition determination logic, a value can be calculated for the condition code by inferring from data that is available from the processing pipeline before the numerical output is available. The value for the condition code can be provided to branch decision logic of the processing pipeline.
    Type: Application
    Filed: October 15, 2014
    Publication date: March 10, 2016
    Inventors: Steven R. Carlough, Son T. Dao, Petra Leber, Silvia M. Mueller
  • Patent number: 9280398
    Abstract: Major branch instructions are provided that enable execution of a computer program to branch from one segment of code to another segment of code. These instructions also create a new stream of processing at the other segment of code enabling execution of the other segment of code to be performed in parallel with the segment of code from which the branch was taken. In one example, the other stream of processing starts a transaction for processing instructions of the other stream of processing.
    Type: Grant
    Filed: January 31, 2012
    Date of Patent: March 8, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Patent number: 9250911
    Abstract: Major branch instructions are provided that enable execution of a computer program to branch from one segment of code to another segment of code. These instructions also create a new stream of processing at the other segment of code enabling execution of the other segment of code to be performed in parallel with the segment of code from which the branch was taken. In one example, the other stream of processing starts a transaction for processing instructions of the other stream of processing.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: February 2, 2016
    Assignee: INTERNATONAL BUSINESS MACHINES CORPORATION
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Publication number: 20160019028
    Abstract: Checking correctness of computations. An arithmetic logic unit circuit provides a computation result as a first number. The computation result is increased by a constant as a second number by the arithmetic logic unit circuit. A sum of the first number and the constant is compared to the second number, and an error is reported, if the comparing operation does not indicate an equal result.
    Type: Application
    Filed: July 20, 2015
    Publication date: January 21, 2016
    Inventors: Steven R. Carlough, Cedric Lichtenau, Silvia Melitta Mueller
  • Patent number: 9229722
    Abstract: Major branch instructions are provided that enable execution of a computer program to branch from one segment of code to another segment of code. These instructions also create a new stream of processing at the other segment of code enabling execution of the other segment of code to be performed in parallel with the segment of code from which the branch was taken. In one example, the other stream of processing starts a transaction for processing instructions of the other stream of processing.
    Type: Grant
    Filed: January 31, 2012
    Date of Patent: January 5, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum
  • Patent number: 9213608
    Abstract: A computer system includes a simultaneous multi-threading processor and memory in operable communication with the processor. The processor is configured to perform a method including running multiple threads simultaneously, detecting a hardware error in one or more hardware structures of the processing circuit, and identifying one or more victim threads of the multiple threads. The processor is further configured to identify a plurality of hardware structures associated with execution of the one or more victim threads, isolate the one or more victim threads from the rest of the multiple threads by preventing access to the plurality of hardware structures by the multiple threads, flush the one or more victim threads by resetting hardware states of the plurality of hardware structures, and restore the one or more victim threads by restoring the plurality of hardware structures to a known safe state.
    Type: Grant
    Filed: March 8, 2013
    Date of Patent: December 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-Lung K. Shum