Patents by Inventor Brian William Curran
Brian William Curran 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: 20230344667Abstract: Embodiments for providing single-producer-multiple consumers synchronization and multicast data transfer by a processor are disclosed. Multicast data transfer is synchronized based on an identification tag and a request from each one of a plurality of recipients for the multicast data. The multicast data is transferred to each of the plurality of recipients based on the identification tag, the request from each one of the plurality of recipients, and a list of the plurality of recipients.Type: ApplicationFiled: April 22, 2022Publication date: October 26, 2023Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Vijayalakshmi SRINIVASAN, Scot RIDER, Swagath VENKATARAMANI, Kailash GOPALAKRISHNAN, Sunil K. SHUKLA, Brian William CURRAN, Martin A. LUTZ
-
Patent number: 11138010Abstract: Embodiments of the present invention include a computer system that manages execution of one or more programs with one or more loops where each loop having a loop level. Embodiments that manage loops that can skip execution and the number of loops changing during execution are also disclosed. A loop level register (LLEV) stores the loop level for a currently executing loop. A Loop-Back Program Counter Register (LBPR) has a table of one or more Loop-Back Registers. Each Loop-Back Register stores the loop level for a LBPR respective loop and a loop back PC location for the LBPR respective loop. A Program Counter points back to the PC location for each iteration of the loop. A Loop Current Count Register table (LCCR) tracks a number of iterations remaining to executed for of the loop. A loop management process causes one of the CPUs to execute all the one or more instructions of an iteration of the currently executing program loop.Type: GrantFiled: October 1, 2020Date of Patent: October 5, 2021Assignee: International Business Machines CorporationInventors: Chia-Yu Chen, Jungwook Choi, Brian William Curran, Bruce Fleischer, Kailash Gopalakrishnan, Jinwook Oh, Sunil K Shukla, Vijayalakshmi Srinivasan
-
Patent number: 7991816Abstract: A method of operating an arithmetic logic unit (ALU) by inverting a result of an operation to be executed during a current cycle in response to control signals from instruction decode logic which indicate that a later operation will require a complement of the result, wherein the result is inverted during the current cycle. The later operation may be a subtraction operation that immediately follows the first operation. The later instruction is decoded prior to the current cycle to control the inversion in the ALU. The ALU includes an adder, a rotator, and a data manipulation unit which invert the result during the current cycle in response to an invert control signal. The second operation subtracts the result during a subsequent cycle in which a carry control signal to the adder is enabled, and the rotator and the data manipulation unit are disabled. The ALU may be used in an execution unit of a microprocessor, such as a fixed-point unit.Type: GrantFiled: August 12, 2008Date of Patent: August 2, 2011Assignee: International Business Machines CorporationInventors: Brian William Curran, Ashutosh Goyal, Michael Thomas Vaden, David Allan Webber
-
Patent number: 7904697Abstract: An apparatus and method for executing a Load Register instruction in which the source data of the Load Register instruction is retained in its original physical register while the architected target register is mapped to this same physical target register. In this state the two architected registers alias to one physical register. When the source register of the Load Address instruction is specified as the target address of a subsequent instruction, a free physical register is assigned to the Load Registers source register. And with this assignment the alias is thus broken. Similarly when the target register of the Load Address instruction is the target address of a subsequent instruction, a new physical register is assigned to the Load Registers target address. And with this assignment the alias is thus broken.Type: GrantFiled: March 7, 2008Date of Patent: March 8, 2011Assignee: International Business Machines CorporationInventors: Brian David Barrick, Brian William Curran, Lee Evan Eisen
-
Publication number: 20090228692Abstract: An apparatus and method for executing a Load Register instruction in which the source data of the Load Register instruction is retained in its original physical register while the architected target register is mapped to this same physical target register. In this state the two architected registers alias to one physical register. When the source register of the Load Address instruction is specified as the target address of a subsequent instruction, a free physical register is assigned to the Load Registers source register. And with this assignment the alias is thus broken. Similarly when the target register of the Load Address instruction is the target address of a subsequent instruction, a new physical register is assigned to the Load Registers target address. And with this assignment the alias is thus broken.Type: ApplicationFiled: March 7, 2008Publication date: September 10, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Brian David Barrick, Brian William Curran, Lee Evan Eisen
-
Patent number: 7509365Abstract: A method of operating an arithmetic logic unit (ALU) by inverting a result of an operation to be executed during a current cycle in response to control signals from instruction decode logic which indicate that a later operation will require a complement of the result, wherein the result is inverted during the current cycle. The later operation may be a subtraction operation that immediately follows the first operation. The later instruction is decoded prior to the current cycle to control the inversion in the ALU. The ALU includes an adder, a rotator, and a data manipulation unit which invert the result during the current cycle in response to an invert control signal. The second operation subtracts the result during a subsequent cycle in which a carry control signal to the adder is enabled, and the rotator and the data manipulation unit are disabled. The ALU may be used in an execution unit of a microprocessor, such as a fixed-point unit.Type: GrantFiled: February 11, 2005Date of Patent: March 24, 2009Assignee: International Business Machines CorporationInventors: Brian William Curran, Ashutosh Goyal, Michael Thomas Vaden, David Allan Webber
-
Publication number: 20080301411Abstract: A method of operating an arithmetic logic unit (ALU) by inverting a result of an operation to be executed during a current cycle in response to control signals from instruction decode logic which indicate that a later operation will require a complement of the result, wherein the result is inverted during the current cycle. The later operation may be a subtraction operation that immediately follows the first operation. The later instruction is decoded prior to the current cycle to control the inversion in the ALU. The ALU includes an adder, a rotator, and a data manipulation unit which invert the result during the current cycle in response to an invert control signal. The second operation subtracts the result during a subsequent cycle in which a carry control signal to the adder is enabled, and the rotator and the data manipulation unit are disabled. The ALU may be used in an execution unit of a microprocessor, such as a fixed-point unit.Type: ApplicationFiled: August 12, 2008Publication date: December 4, 2008Inventors: Brian William Curran, Ashutosh Goyal, Michael Thomas Vaden, David Allan Webber
-
Patent number: 7237094Abstract: A more efficient method of handling instructions in a computer processor, by associating resource fields with respective program instructions wherein the resource fields indicate which of the processor hardware resources are required to carry out the program instructions, calculating resource requirements for merging two or more program instructions based on their resource fields, and determining resource availability for simultaneously executing the merged program instructions based on the calculated resource requirements. Resource vectors indicative of the required resource may be encoded into the resource fields, and the resource fields decoded at a later stage to derive the resource vectors. The resource fields can be stored in the instruction cache associated with the respective program instructions. The processor may operate in a simultaneous multithreading mode with different program instructions being part of different hardware threads.Type: GrantFiled: October 14, 2004Date of Patent: June 26, 2007Assignee: International Business Machines CorporationInventors: Brian William Curran, Brian R. Konigsburg, Hung Qui Le, David Arnold Luick, Dung Quoc Nguyen
-
Patent number: 6104212Abstract: A domino CMOS circuit has a number of domino gates, a common virtual ground node and a common evaluation NFET device. Each domino gate provides a PFET precharge device, an NFET device tree, an output inverter stage, a dynamic node, a plurality of input nodes, a clock input node and an output node. The PFET precharge device is coupled to a high voltage supply rail, the clock input node and the dynamic node and an NFET device tree is coupled to the common virtual ground node, to the plurality of inputs and to the dynamic node. An output inverter stage is coupled to the high voltage supply rail, to said dynamic node, to a low voltage supply rail and to said output node. And for improving performance, a common evaluation NFET device is coupled to said clock inputnode, to the to said low voltage supply rail and to the common virtual ground node. The virtual ground node is coupled to the low voltage supply rail when a high voltage is applied to clock input node.Type: GrantFiled: February 11, 1998Date of Patent: August 15, 2000Assignee: International Business Machines CorporationInventor: Brian William Curran
-
Patent number: 5771369Abstract: Improved memory access is provided for use when addressing dynamic random access modules (DRAMs). Both the memory contoller and the main memory hardware remember the row address of the last access. The main memory hardware redrives that row address to the DRAMs after completion of an access.Type: GrantFiled: June 7, 1995Date of Patent: June 23, 1998Assignee: International Business Machines CorporationInventor: Brian William Curran
-
Patent number: 5765207Abstract: A state machine computing system provides multiple state registers, a recursive hardware state machine computing system; particularly address translation hardware which can be used in multiprocessors, parallel machines and massively parallel machines. The hardware state machine includes a mechanism to push values into a state register stack and to pop values from the state register stack. The stack consists of a plurality of state registers, one of which is designated the current state register and the remainder designated as prior (or saved) state registers. Recursive logic is provided to increment the current state register. The recursive state machine described provides significant advantages over prior art hardware implementations of guest virtual address translation because guest virtual address translations recursively invoke host virtual address translation.Type: GrantFiled: December 16, 1996Date of Patent: June 9, 1998Assignee: International Business Machines CorporationInventor: Brian William Curran