Patents by Inventor David Hutton
David Hutton 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: 10013257Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: GrantFiled: August 16, 2017Date of Patent: July 3, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Hutton, Wen Li, Eric Schwarz
-
Publication number: 20170344381Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: ApplicationFiled: August 16, 2017Publication date: November 30, 2017Inventors: David Hutton, Wen Li, Eric Schwarz
-
Patent number: 9760379Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: GrantFiled: September 26, 2016Date of Patent: September 12, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Hutton, Wen Li, Eric Schwarz
-
Patent number: 9710281Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: GrantFiled: July 30, 2015Date of Patent: July 18, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Hutton, Wen Li, Eric Schwarz
-
Patent number: 9626189Abstract: Embodiments relate to reducing operand store compare penalties by detecting potential unit of operation (UOP) dependencies. An aspect includes a computer system for reducing operation store compare penalties. The system includes memory and a processor. The system performs a method including cracking an instruction into units of operation, where each UOP includes instruction text and address determination fields. The method includes identifying a load UOP among the plurality of UOPs and comparing values of the address determination fields of the load UOP with values of address determination fields of one or more previously-decoded store UOPs. The method also includes forcing, prior to issuance of the instruction to an execution unit, a dependency between the load UOP and the one or more previously-decoded store UOPs based on the comparing.Type: GrantFiled: June 15, 2012Date of Patent: April 18, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Fadi Busaba, David Hutton, John G. Rell, Jr., Chung-Lung K. Shum
-
Publication number: 20170031688Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: ApplicationFiled: September 26, 2016Publication date: February 2, 2017Inventors: David Hutton, Wen Li, Eric Schwarz
-
Publication number: 20170031687Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: ApplicationFiled: July 30, 2015Publication date: February 2, 2017Inventors: David Hutton, Wen Li, Eric Schwarz
-
Patent number: 9524165Abstract: Embodiments relate to register comparison for register comparison for operand store compare (OSC) prediction. An aspect includes, for each instruction in an instruction group of a processor pipeline: determining a base register value of the instruction; determining an index register value of the instruction; and determining a displacement of the instruction. Another aspect includes comparing the base register value, index register value, and displacement of each instruction in the instruction group to the base register value, index register value, and displacement of all other instructions in the instruction group. Another aspect includes based on the comparison, determining that a load instruction of the instruction group has a probable OSC conflict with a store instruction of the instruction group. Yet another aspect includes delaying the load instruction based on the determined probable OSC conflict.Type: GrantFiled: April 19, 2016Date of Patent: December 20, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David Hutton, Wen Li, Eric Schwarz
-
Patent number: 8938605Abstract: A method, information processing system, and computer program product manage instruction execution based on machine state. At least one instruction is received. The at least one instruction is decoded. A current machine state is determined in response to the decoding. The at least one instruction is organized into a set of unit of operations based on the current machine state that has been determined. The set of unit of operations is executed.Type: GrantFiled: March 5, 2010Date of Patent: January 20, 2015Assignee: International Business Machines CorporationInventors: Fadi Busaba, Bruce Giamei, David Hutton, Eric Schwarz
-
Publication number: 20130339670Abstract: Embodiments relate to reducing operand store compare penalties by detecting potential unit of operation (UOP) dependencies. An aspect includes a computer system for reducing operation store compare penalties. The system includes memory and a processor. The system performs a method including cracking an instruction into units of operation, where each UOP includes instruction text and address determination fields. The method includes identifying a load UOP among the plurality of UOPs and comparing values of the address determination fields of the load UOP with values of address determination fields of one or more previously-decoded store UOPs. The method also includes forcing, prior to issuance of the instruction to an execution unit, a dependency between the load UOP and the one or more previously-decoded store UOPs based on the comparing.Type: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Fadi Busaba, David Hutton, John G. Rell, JR., Chung-Lung K. Shum
-
Patent number: 8464030Abstract: A method, information processing system, and computer program product crack and/or shorten computer executable instructions. At least one instruction is received. The at least on instruction is analyzed. An instruction type associated with the at least one instruction is identified. At least one of a base field, an index field, one or more operands, and a mask field of the instruction are analyzed. At least one of the following is then performed: the at least one instruction is organized into a set of unit of operation; and the at least one instruction is shortened. The set of unit of operations is then executed.Type: GrantFiled: April 9, 2010Date of Patent: June 11, 2013Assignee: International Business Machines CorporationInventors: Fadi Busaba, Brian Curran, Lee Eisen, Bruce Giamei, David Hutton
-
Patent number: 8453124Abstract: A system and method for collecting instrumentation data in a processor with a pipelined instruction execution stages arranged in an out-of-order execution architecture. One instruction group in a Global Completion Table is marked as a tagged group. Instrumentation data is stored for processing stages processing instructions associated with the tagged group. Sample signal pulses trigger a determination of whether the tagged group is the next-to-complete instruction group. When the sample pulse occurs at a time when the tagged group is the next-to-complete group, the instrumentation data is written as an output. Instrumentation data present during sample pulses that occur when the tagged group is not the next-to-complete group is optionally discarded. Sample pulses are generated at a rate equal to the desired sample rate times the number of groups in the global completion table to better ensure occurrence of a next-to-complete tagged group.Type: GrantFiled: December 23, 2009Date of Patent: May 28, 2013Assignee: International Business Machines CorporationInventors: Gregory W. Alexander, Jane Bartik, Michael Billeci, David Hutton, Christian Jacobi, Jang-Soo Lee, Eric Schwarz, Chung-Lung Shum, Phil C. Yeh
-
Patent number: 8406793Abstract: An apparatus for delivering a message from an originating subscriber to a target subscriber across a communication network comprising; means for receiving in a first network a message from an originating subscriber to a target subscriber and an identifier of the target subscriber, the target subscriber being associated with the first network and the originating subscriber being associated with a second network, the message and identifier being received from the second network; means for identifying at least one network node associated with the target subscriber and being responsible for delivering messages to the target subscriber; means for selecting a network node from the at least one network node for delivery of the message; means for receiving from the second network an allowed time period for delivery of the message; means for determining the expected delivery time of the message for the selected network node; means for comparing the expected delivery time with the allowed time period for delivery; andType: GrantFiled: February 9, 2010Date of Patent: March 26, 2013Assignee: Vodafone Intellectual Property Licensing LimitedInventors: Nick Russell, Peter Dawes, David Hutton
-
Publication number: 20110252220Abstract: A method, information processing system, and computer program product crack and/or shorten computer executable instructions. At least one instruction is received. The at least on instruction is analyzed. An instruction type associated with the at least one instruction is identified. At least one of a base field, an index field, one or more operands, and a mask field of the instruction are analyzed. At least one of the following is then performed: the at least one instruction is organized into a set of unit of operation; and the at least one instruction is shortened. The set of unit of operations is then executed.Type: ApplicationFiled: April 9, 2010Publication date: October 13, 2011Applicant: International Business Machines CorporationInventors: Fadi BUSABA, Brian CURRAN, Lee EISEN, Bruce GIAMEI, David HUTTON
-
Publication number: 20110219213Abstract: A method, information processing system, and computer program product manage instruction execution based on machine state. At least one instruction is received. The at least one instruction is decoded. A current machine state is determined in response to the decoding. The at least one instruction is organized into a set of unit of operations based on the current machine state that has been determined. The set of unit of operations is executed.Type: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: International Business Machines CorporationInventors: Fadi BUSABA, Bruce GIAMEI, David HUTTON, Eric SCHWARZ
-
Publication number: 20110154298Abstract: A system and method for collecting instrumentation data in a processor with a pipelined instruction execution stages arranged in an out-of-order execution architecture. One instruction group in a Global Completion Table is marked as a tagged group. Instrumentation data is stored for processing stages processing instructions associated with the tagged group. Sample signal pulses trigger a determination of whether the tagged group is the next-to-complete instruction group. When the sample pulse occurs at a time when the tagged group is the next-to-complete group, the instrumentation data is written as an output. Instrumentation data present during sample pulses that occur when the tagged group is not the next-to-complete group is optionally discarded. Sample pulses are generated at a rate equal to the desired sample rate times the number of groups in the global completion table to better ensure occurrence of a next-to-complete tagged group.Type: ApplicationFiled: December 23, 2009Publication date: June 23, 2011Applicant: International Business Machines CorporationInventors: Gregory W. Alexander, Jane Bartik, Michael Billeci, David Hutton, Christian Jacobi, Jang-Soo Lee, Eric Schwarz, Chung-Lung Shum, Phil C. Yeh
-
Publication number: 20100222089Abstract: An apparatus for delivering a message from an originating subscriber to a target subscriber across a communication network comprising; means for receiving in a first network a message from an originating subscriber to a target subscriber and an identifier of the target subscriber, the target subscriber being associated with the first network and the originating subscriber being associated with a second network, the message and identifier being received from the second network; means for identifying at least one network node associated with the target subscriber and being responsible for delivering messages to the target subscriber; means for selecting a network node from the at least one network node for delivery of the message; means for receiving from the second network an allowed time period for delivery of the message; means for determining the expected delivery time of the message for the selected network node; means for comparing the expected delivery time with the allowed time period for delivery; andType: ApplicationFiled: February 9, 2010Publication date: September 2, 2010Inventors: Nick Russell, Peter Dawes, David Hutton
-
Publication number: 20070233773Abstract: A system for binary multiplication in a superscalar processor includes a first pipeline, an execution unit, and a first multiplexer; a first rotator in communication with one register of the first pipeline and the execution unit; and a leading zero detection register in communication with the execution unit and another register of the first pipeline; a second pipeline, a second execution unit, and a second multiplexer; a rotator in communication with one register of the second pipeline and the second execution unit; and a leading zero detection register in communication with the second execution unit and another register of the first pipeline; and a third pipeline, a binary multiplier in communication with a pair registers of the third pipeline; a general register; an operand buffer for obtaining first and second operands; and a bus for communication between the pipelines, the general register and the operand buffer.Type: ApplicationFiled: May 16, 2007Publication date: October 4, 2007Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Fadi Busaba, Steven Carlough, David Hutton, Christopher Krygowski, John Rell, Sheryll Veneracion
-
Publication number: 20070214205Abstract: A method of implementing binary multiplication in a processing device includes obtaining a multiplicand and a multiplier from a storage device; in the event the multiplier is larger than a selected length, partitioning the multiplier into a plurality of multiplier subgroups; in the event the multiplicand is larger than a selected length, partitioning the multiplicand into a plurality of multiplicand subgroups and at least one of zeroing out of unused bits of the multiplicand subgroup and sign-extending a smaller portion of the multiplicand subgroup; establishing a plurality of multiplicand multiples based on at least one of a selected multiplicand subgroup of the plurality of multiplicand subgroups and the multiplicand; selecting one or more of the multiplicand multiples of the plurality of multiplicand multiples based on the each multiplier subgroup of the plurality of multiplier subgroups; and generating a first modular product based on the selected multiplicand multiples.Type: ApplicationFiled: May 16, 2007Publication date: September 13, 2007Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Fadi Busaba, Steven Carlough, David Hutton, Christopher Krygowski, John Rell, Sheryll Veneracion
-
Publication number: 20070180193Abstract: Using local change bit to direct the install state of the data line. A multi-processor system that having a plurality of individual processors where each of the processors has an associated L1 cache, and the multi-processor system has at least one shared main memory, and at least one shared L2 cache. The method described herein involves writing a data line into an L2 cache comprising and a local change bit to direct the install state of the data line.Type: ApplicationFiled: January 30, 2006Publication date: August 2, 2007Applicant: International Business Machines CorporationInventors: David Hutton, Kathryn Jackson, Keith Langston, Pak-kin Mak, Arthur O'Neill