Patents by Inventor Satish Kumar Sadasivam

Satish Kumar Sadasivam 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: 11803386
    Abstract: A branch prediction system includes a neuron cache and logic coupled to the neuron cache. The neuron cache includes one or more weights of a neural network model trained for one or more selected code sections, and the logic is to be used with the neuron cache to predict a target address for a branch instruction of the one or more selected code sections.
    Type: Grant
    Filed: September 16, 2021
    Date of Patent: October 31, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Satish Kumar Sadasivam, Shruti Saxena, Puneeth A. H. Bhat
  • Patent number: 11740880
    Abstract: Aspects of the invention include a compiler detecting an expression in a loop that includes elements of mixed data types. The compiler then promotes elements of a sub-expression of the expression to a same intermediate data type. The compiler then calculates the sub-expression using the elements of the same intermediate data type.
    Type: Grant
    Filed: September 8, 2021
    Date of Patent: August 29, 2023
    Assignee: International Business Machines Corporation
    Inventors: Biplob Mishra, Satish Kumar Sadasivam, Puneeth A. H. Bhat
  • Publication number: 20230078582
    Abstract: A branch prediction system includes a neuron cache and logic coupled to the neuron cache. The neuron cache includes one or more weights of a neural network model trained for one or more selected code sections, and the logic is to be used with the neuron cache to predict a target address for a branch instruction of the one or more selected code sections.
    Type: Application
    Filed: September 16, 2021
    Publication date: March 16, 2023
    Inventors: Satish Kumar Sadasivam, Shruti Saxena, Puneeth A.H. Bhat
  • Publication number: 20230073063
    Abstract: Aspects of the invention include a compiler detecting an expression in a loop that includes elements of mixed data types. The compiler then promotes elements of a sub-expression of the expression to a same intermediate data type. The compiler then calculates the sub-expression using the elements of the same intermediate data type.
    Type: Application
    Filed: September 8, 2021
    Publication date: March 9, 2023
    Inventors: Biplob Mishra, SATISH KUMAR SADASIVAM, Puneeth A.H. Bhat
  • Patent number: 11579886
    Abstract: A processor including a processor pipeline having one or more execution units configured to execute branch instructions, a branch predictor coupled to the processor pipeline and configured to predict a branch instruction outcome, and a branch classification unit coupled to the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: static taken branch, static not-taken branch, simple easy-to-predict branch, flip flop hard-to-predict (HTP) branch, dynamic HTP branch, biased positive HTP branch, biased negative HTP branch, and other HTP branch.
    Type: Grant
    Filed: January 9, 2018
    Date of Patent: February 14, 2023
    Assignee: International Business Machines Corporation
    Inventors: Puneeth A. H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Patent number: 11169807
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor associated with the processor pipeline and configured to predict a branch instruction outcome, a branch classification unit associated with the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch or a hard-to-predict (HTP) branch, wherein a threshold used for the classification is dynamically adjusted based on a workload of the processor.
    Type: Grant
    Filed: February 11, 2020
    Date of Patent: November 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Puneeth A. H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Patent number: 11113066
    Abstract: A processor including a processor pipeline having one or more execution units configured to execute branch instructions, a branch predictor coupled to the processor pipeline and configured to predict a branch instruction outcome, and a branch classification unit coupled to the processor pipeline and the branch predictor. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch and a hard-to-predict branch. The branch classification unit includes a direct mapped branch type table (BTT) and a branch classification table (BCT).
    Type: Grant
    Filed: January 9, 2018
    Date of Patent: September 7, 2021
    Assignee: International Business Machines Corporation
    Inventors: Puneeth A. H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Patent number: 10977045
    Abstract: Microprocessor with multiple issue queues in a microprocessor, where at least one of the issue queues is an adjustable mode queue that can be set to act as either of a priority queue, or a regular queue, with respect to intake of new instructions and/or outflow of old instructions. A set of summary bit value(s) can be set to control whether the adjustable mode queue has instruction intake priority and/or instruction outflow priority relative to the other issue queue(s).
    Type: Grant
    Filed: November 29, 2017
    Date of Patent: April 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: Satish Kumar Sadasivam, Puneeth A. H. Bhat, Shruti Saxena
  • Patent number: 10956161
    Abstract: Provided is a method for predicting a target address using a set of Indirect Target TAgged GEometric (ITTAGE) tables and a target address pattern table. A branch instruction that is to be executed may be identified. A first tag for the branch instruction may be determined. The first tag may be a unique identifier that corresponds to the branch instruction. Using the tag, the branch instruction may be determined to be in a target address pattern table, and an index may be generated. A predicted target address for the branch instruction may be determined using the generated index and the largest ITTAGE table. Instructions associated with the predicted target address may be fetched.
    Type: Grant
    Filed: January 15, 2019
    Date of Patent: March 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Satish Kumar Sadasivam, Puneeth A. H. Bhat, Shruti Saxena
  • Patent number: 10884749
    Abstract: Aspects of the present disclosure relate to control of speculative demand loads. In some embodiments, the method includes receiving instructions for a branch in a program, detecting the branch load is in the cache, monitoring a number of completed loads for the program, determining a cache pollution ratio of executed loads to completed loads, providing the cache pollution ratio to a branch prediction unit, and altering load instructions for the branch based on the cache pollution ratio.
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: January 5, 2021
    Assignee: International Business Machines Corporation
    Inventors: Satish Kumar Sadasivam, Puneeth A. H. Bhat, Shruti Saxena, Sangram Alapati
  • Publication number: 20200310813
    Abstract: Aspects of the present disclosure relate to control of speculative demand loads. In some embodiments, the method includes receiving instructions for a branch in a program, detecting the branch load is in the cache, monitoring a number of completed loads for the program, determining a cache pollution ratio of executed loads to completed loads, providing the cache pollution ratio to a branch prediction unit, and altering load instructions for the branch based on the cache pollution ratio.
    Type: Application
    Filed: March 26, 2019
    Publication date: October 1, 2020
    Inventors: Satish Kumar Sadasivam, Puneeth A.H. Bhat, Shruti Saxena, Sangram Alapati
  • Publication number: 20200183690
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor associated with the processor pipeline and configured to predict a branch instruction outcome, a branch classification unit associated with the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch or a hard-to-predict (HTP) branch, wherein a threshold used for the classification is dynamically adjusted based on a workload of the processor.
    Type: Application
    Filed: February 11, 2020
    Publication date: June 11, 2020
    Inventors: Puneeth A.H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Patent number: 10642615
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor associated with the processor pipeline and configured to predict a branch instruction outcome, a branch classification unit associated with the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch or a hard-to-predict (HTP) branch, wherein a threshold used for the classification is dynamically adjusted based on a workload of the processor.
    Type: Grant
    Filed: April 27, 2018
    Date of Patent: May 5, 2020
    Assignee: International Business Machines Corporation
    Inventors: Puneeth A. H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Patent number: 10607137
    Abstract: Disclosed aspects relate to branch predictor selection management in a pipelined microprocessor architecture. A set of selection factor data may be collected in the pipelined microprocessor architecture. The set of selection factor data may be analyzed using a perceptron-based learning technique with respect to a set of candidate branch predictors. A chosen branch predictor may be selected from the set of candidate branch predictors based on analyzing the set of selection factor data with respect to the set of candidate branch predictors using the perceptron-based learning technique. The chosen branch predictor may be invoked in the pipelined microprocessor architecture.
    Type: Grant
    Filed: April 5, 2017
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: Satish Kumar Sadasivam, Puneeth A. H. Bhat, Shruti Saxena
  • Patent number: 10521207
    Abstract: Systems, methods, and computer program products relating to compiling source code to reduce memory operations during execution. A compiler receives source code. The compiler identifies an indirect access array operation in the source code. The compiler generates replacement code for the indirect access array operation. The replacement code includes a mask array and a union data structure. The compiler generates modified code. The modified code modifies the source code to include the replacement code in place of the indirect access array operation.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: December 31, 2019
    Assignee: International Business Machines Corporation
    Inventors: Archana Ravindar, Satish Kumar Sadasivam
  • Publication number: 20190369973
    Abstract: Systems, methods, and computer program products relating to compiling source code to reduce memory operations during execution. A compiler receives source code. The compiler identifies an indirect access array operation in the source code. The compiler generates replacement code for the indirect access array operation. The replacement code includes a mask array and a union data structure. The compiler generates modified code. The modified code modifies the source code to include the replacement code in place of the indirect access array operation.
    Type: Application
    Filed: May 30, 2018
    Publication date: December 5, 2019
    Inventors: Archana RAVINDAR, Satish Kumar SADASIVAM
  • Publication number: 20190332380
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor associated with the processor pipeline and configured to predict a branch instruction outcome, a branch classification unit associated with the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch or a hard-to-predict (HTP) branch, wherein a threshold used for the classification is dynamically adjusted based on a workload of the processor.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Puneeth A.H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Publication number: 20190213008
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor coupled to the processor pipeline and configured to predict a branch instruction outcome, and a branch classification unit coupled to the processor pipeline and the branch predictor. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: a simple branch and a hard-to-predict branch. The branch classification unit includes a direct mapped branch type table (BTT) and a branch classification table (BCT).
    Type: Application
    Filed: January 9, 2018
    Publication date: July 11, 2019
    Inventors: Puneeth A.H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Publication number: 20190213011
    Abstract: A processor comprising a processor pipeline comprising one or more execution units configured to execute branch instructions, a branch predictor coupled to the processor pipeline and configured to predict a branch instruction outcome, and a branch classification unit coupled to the processor pipeline and the branch prediction unit. The branch classification unit is configured to, in response to detecting a branch instruction, classify the branch instruction as at least one of the following: static taken branch, static not-taken branch, simple easy-to-predict branch, flip flop hard-to-predict (HTP) branch, dynamic HTP, biased positive HTP, biased negative HTP, and other HTP.
    Type: Application
    Filed: January 9, 2018
    Publication date: July 11, 2019
    Inventors: Puneeth A.H. Bhat, Satish Kumar Sadasivam, Shruti Saxena
  • Publication number: 20190163487
    Abstract: Microprocessor with multiple issue queues in a microprocessor, where at least one of the issue queues is an adjustable mode queue that can be set to act as either of a priority queue, or a regular queue, with respect to intake of new instructions and/or outflow of old instructions. A set of summary bit value(s) can be set to control whether the adjustable mode queue has instruction intake priority and/or instruction outflow priority relative to the other issue queue(s).
    Type: Application
    Filed: November 29, 2017
    Publication date: May 30, 2019
    Inventors: Satish Kumar Sadasivam, Puneeth A. H. Bhat, Shruti Saxena