Patents by Inventor B. Ramakrishna Rau
B. Ramakrishna Rau 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: 6963823Abstract: Design spaces for systems, including hierarchical systems, are programmatically validity filtered and quality filtered to produce validity sets and quality sets, reducing the number of designs to be evaluated in selecting a system design for a particular application. Validity filters and quality filters are applied to both system designs and component designs. Component validity sets are combined as Cartesian products to form system validity sets that can be further validity filtered. Validity filters are defined by validity predicates that are functions of discrete system parameters and that evaluate as TRUE for potentially valid systems. For some hierarchical systems, the system validity predicate is a product of component validity predicates. Quality filters use an evaluation metric produced by an evaluation function that permits comparing designs and preparing a quality set of selected designs. In some cases, the quality set is a Pareto set or an approximation thereof.Type: GrantFiled: February 10, 2000Date of Patent: November 8, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Santosh G. Abraham, Robert S. Schreiber, B. Ramakrishna Rau
-
Patent number: 6853970Abstract: A method for the automatic design of processor datapaths operates on an abstract input specification of desired processor operations and their instruction level parallelism and synthesizes a datapath design in machine readable form. A datapath synthesizer automatically designs and synthesizes the processor datapath including the number and types of functional units, the number of read/write ports of the various register files, and the exact connectivity between the register files and the functional units. The heuristics used in the implementation maximize resource sharing and minimize the overall cost in by customizing and sharing functional units and minimizing the number of read/write ports on the register files subject to the specified ILP among operations.Type: GrantFiled: August 20, 1999Date of Patent: February 8, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shail Aditya Gupta, B. Ramakrishna Rau
-
Patent number: 6651222Abstract: A VLIW processor design system automates the design of programmable and non-programmable VLIW processors. The system takes as input an opcode repertoire, the I/O format of the opcodes, a register file specification, and instruction-level parallelism constraints. With this input specification, the system constructs a datapath, including functional units, register files and their interconnect components from a macrocell database. The system uses the input and the datapath to generate an instruction format design. The instruction format may then be used to construct the processor control path. The abstract input and datapath may be used to extract a machine description suitable to re-target a compiler to the processor. To optimize the processor for a particular application program, the system selects custom instruction templates based on operation issue statistics for the application program generated by the re-targeted compiler.Type: GrantFiled: February 6, 2002Date of Patent: November 18, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shail Aditya Gupta, B. Ramakrishna Rau, Vinod K. Kathail, Michael S. Schlansker
-
Patent number: 6581187Abstract: A VLIW processor design system automates the design of programmable and non-programmable VLIW processors. The system takes as input an opcode repertoire, the I/O format of the opcodes, a register file specification, and instruction-level parallelism constraints. With this input specification, the system constructs a datapath, including functional units, register files and their interconnect components from a macrocell database. The system uses the input and the datapath to generate an instruction format design. The instruction format may then be used to construct the processor control path. The abstract input and datapath may be used to extract a machine description suitable to re-target a compiler to the processor. To optimize the processor for a particular application program, the system selects custom instruction templates based on operation issue statistics for the application program generated by the re-targeted compiler.Type: GrantFiled: February 6, 2002Date of Patent: June 17, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shail Aditya Gupta, B. Ramakrishna Rau, Vinod K. Kathail, Michael S. Schlansker
-
Patent number: 6507947Abstract: A programmatic method transforms a nested loop in a high level programming language into a set of parallel processes, each a single time loop, such that the parallel processes satisfy a specified design constraint. Another programmatic method synthesizes a processor array from the set of parallel processes and a specified design constraint.Type: GrantFiled: August 20, 1999Date of Patent: January 14, 2003Assignee: Hewlett-Packard CompanyInventors: Robert S. Schreiber, B. Ramakrishna Rau, Shail Aditya Gupta, Vinod K. Kathail, Sadun Anik
-
Patent number: 6490716Abstract: An automated method for designing a processor's control path employs program routines that synthesize the control path based on the processor's instruction format and data path specification. It extracts parameters from a machine-readable description of the processor's instruction format, and generates a specification of the components in the control path and their interconnection with the control ports in the data path.Type: GrantFiled: August 20, 1999Date of Patent: December 3, 2002Assignee: Hewlett-Packard CompanyInventors: Shail Aditya Gupta, B. Ramakrishna Rau
-
Patent number: 6457173Abstract: A computer-implemented method automates the design of efficient binary instruction encodings of VLIW instruction formats. The method automatically finds compact instruction formats that can express and exploit the full parallelism specified in the underlying processor microarchitecture, subject to constraints on alignment and decode hardware complexity. The method can be guided by statistics about the composition and frequency of program instructions, so that the instruction format design is customized to a particular set of applications or an application domain.Type: GrantFiled: August 20, 1999Date of Patent: September 24, 2002Assignee: Hewlett-Packard CompanyInventors: Shail Aditya Gupta, B. Ramakrishna Rau, Richard C. Johnson, Michael S. Schlansker
-
Publication number: 20020133784Abstract: A VLIW processor design system automates the design of programmable and non-programmable VLIW processors. The system takes as input an opcode repertoire, the I/O format of the opcodes, a register file specification, and instruction-level parallelism constraints. With this input specification, the system constructs a datapath, including functional units, register files and their interconnect components from a macrocell database. The system uses the input and the datapath to generate an instruction format design. The instruction format may then be used to construct the processor control path. The abstract input and datapath may be used to extract a machine description suitable to re-target a compiler to the processor. To optimize the processor for a particular application program, the system selects custom instruction templates based on operation issue statistics for the application program generated by the re-targeted compiler.Type: ApplicationFiled: February 6, 2002Publication date: September 19, 2002Inventors: Shail Aditya Gupta, B. Ramakrishna Rau, Vinod K. Kathail, Michael S. Schlansker
-
Publication number: 20020120914Abstract: A VLIW processor design system automates the design of programmable and non-programmable VLIW processors. The system takes as input an opcode repertoire, the I/O format of the opcodes, a register file specification, and instruction-level parallelism constraints. With this input specification, the system constructs a datapath, including functional units, register files and their interconnect components from a macrocell database. The system uses the input and the datapath to generate an instruction format design. The instruction format may then be used to construct the processor control path. The abstract input and datapath may be used to extract a machine description suitable to re-target a compiler to the processor. To optimize the processor for a particular application program, the system selects custom instruction templates based on operation issue statistics for the application program generated by the re-targeted compiler.Type: ApplicationFiled: February 6, 2002Publication date: August 29, 2002Inventors: Shail Aditya Gupta, B. Ramakrishna Rau, Vinod K. Kathail, Michael S. Schlansker
-
Patent number: 6385757Abstract: A VLIW processor design system automates the design of programmable and non-programmable VLIW processors. The system takes as input an opcode repertoire, the I/O format of the opcodes, a register file specification, and instruction-level parallelism constraints. With this input specification, the system constructs a datapath, including functional units, register files and their interconnect components from a macrocell database. The system uses the input and the datapath to generate an instruction format design. The instruction format may then be used to construct the processor control path. The abstract input and datapath may be used to extract a machine description suitable to re-target a compiler to the processor. To optimize the processor for a particular application program, the system selects custom instruction templates based on operation issue statistics for the application program generated by the re-targeted compiler.Type: GrantFiled: August 20, 1999Date of Patent: May 7, 2002Assignee: Hewlett-Packard CompanyInventors: Shail Aditya Gupta, B. Ramakrishna Rau, Vinod K. Kathail, Michael S. Schlansker
-
Patent number: 6023751Abstract: A computer system provides fast evaluation of predicates and Boolean expressions with a set of operations for determining a value in a specified register from a plurality of inputs. The execution of each operation is defined by two functions of the operation's inputs: a result function which yields a result value, and an enable function which determines whether the result value is written to the specified register. To evaluate a Boolean expression with the operations, the register is preset to a Boolean value, e.g. one for an AND reduction, zero for an OR reduction. The operations can then write a Boolean value, e.g. zero for an AND reduction, one for an OR reduction, to the register if each operation's enable function evaluates true. The register then stores the correct value of the expression. The expression's value can be used as predicates to conditionally execute operations in a program.Type: GrantFiled: March 3, 1995Date of Patent: February 8, 2000Assignee: Hewlett-Packard CompanyInventors: Michael Schlansker, B. Ramakrishna Rau, Vinod Kathail
-
Patent number: 5778219Abstract: A method for supporting speculative execution includes designating operations as speculative or non-speculative, and then deferring exceptions generated by speculative operations while immediately reporting exceptions by non-speculative operations. If a speculative operation uses a result of a speculative operation that has generated an exception, the exception is propagated. Deferred exceptions are detected and reported using a check operation either incorporated into a non-speculative operation or inserted as a separate check operation. A system for supporting speculative execution includes a functional unit for recognizing a speculative operation and deferring any exceptions generated by such an operation. The functional unit may defer an exception by storing information indicating an error has occurred in the register file. To check for deferred exceptions, the functional unit then reads the register file.Type: GrantFiled: February 7, 1996Date of Patent: July 7, 1998Assignee: Hewlett-Packard CompanyInventors: Frederic C. Amerson, Rajiv Gupta, Vinod K. Kathail, B. Ramakrishna Rau, Michael S. Schlansker, William S. Worley, Jr.
-
Patent number: 5721865Abstract: To improve the function of a circuit for prefetching data accessed by a processor, a prefetch unit incorporates therein a circuit for issuing a request to read out one group of data to be prefetched and registers for holding the group of data read in response to the read request therein. The group of data are read out from a cache memory or a main memory under the control of a cache request unit. A plurality of groups of data can be prefetched. When data designation is made, the processor requests the cache memory to read a block to which the data to be prefetched belongs. A circuit is also included in the prefetch unit, wherein when prefetched data is subsequently updated by the processor, its updated data is made invalid. Elements of a vector complex in structure, such as an indexed vector or the like can be also read out. It is also possible to cope with an interrupt generated within the processor.Type: GrantFiled: January 18, 1996Date of Patent: February 24, 1998Assignees: Hitachi, Ltd., Hewlett-Packard CompanyInventors: Yooichi Shintani, Yoshikazu Tanaka, Naohiko Irie, William S. Worley, Jr., B. Ramakrishna Rau, Rajiv Gupta, Frederic C. Amerson
-
Patent number: 5710912Abstract: A method and system are disclosed which allow a computer program to execute properly in object code compatible processing systems which have latencies different from those with which the program was created or compiled. This resulting compatibility of the computer program is achieved because the invention protects the precedence of operations within the computer program using latency assumptions which were used when creating the computer program. When the computer program is created, latency assumption information is efficiently provided within the computer program. Thereafter, when the computer program is executed, it is able to advise the processing system of the latency assumptions with which it was created. Various ways are described in which the processing system can utilize the latency assumptions when executing the computer program so as to ensure compatibility.Type: GrantFiled: May 6, 1993Date of Patent: January 20, 1998Assignee: Hewlett-Packard Co.Inventors: Michael S. Schlansker, B. Ramakrishna Rau, Rajiv Gupta, Joseph A. Fisher