Patents by Inventor Rishiyur S. Nikhil
Rishiyur S. Nikhil 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: 8572534Abstract: A Hardware Description Language (HDL) utilizing a Term Rewriting System (TRS) is provided that simplifies handling of clocks, and signaling between various clock domains of a multi-clock domain circuit specification. A specific clock data type is supplied for use with clock signals. Using the clock data type, and other requirements of a circuit specification, clock domain crossing between domains of clocks of the same clock family is handled implicitly. For clock domain crossing between clock domains driven by clocks of different clock families, a “hardware approach” and a “linguistic approach” are provided. A “hardware approach” provides facilities to explicitly specify a synchronizer, using, in part, TRS rules. A “linguistic approach” allows a designer to abstracts the instantiation of synchronizers and instead specify a circuit specification in terms of differently clocked interfaces.Type: GrantFiled: February 16, 2010Date of Patent: October 29, 2013Assignee: Bluespec, Inc.Inventors: Edward W. Czeck, Ravi A. Nanavati, Rishiyur S. Nikhil, Joseph E. Stoy
-
Publication number: 20100146468Abstract: A Hardware Description Language (HDL) utilizing a Term Rewriting System (TRS) is provided that simplifies handling of clocks, and signaling between various clock domains of a multi-clock domain circuit specification. A specific clock data type is supplied for use with clock signals. Using the clock data type, and other requirements of a circuit specification, clock domain crossing between domains of clocks of the same clock family is handled implicitly. For clock domain crossing between clock domains driven by clocks of different clock families, a “hardware approach” and a “linguistic approach” are provided. A “hardware approach” provides facilities to explicitly specify a synchronizer, using, in part, TRS rules. A “linguistic approach” allows a designer to abstracts the instantiation of synchronizers and instead specify a circuit specification in terms of differently clocked interfaces.Type: ApplicationFiled: February 16, 2010Publication date: June 10, 2010Applicant: BLUESPEC, INC.Inventors: Edward W. Czeck, Ravi A. Nanavati, Rishiyur S. Nikhil, Joseph E. Stoy
-
Patent number: 7665059Abstract: A Hardware Description Language (HDL) utilizing a Term Rewriting System (TRS) is provided that simplifies handling of clocks, and signaling between various clock domains of a multi-clock domain circuit specification. A specific clock data type is supplied for use with clock signals. Using the clock data type, and other requirements of a circuit specification, clock domain crossing between domains of clocks of the same clock family is handled implicitly. For clock domain crossing between clock domains driven by clocks of different clock families, a “hardware approach” and a “linguistic approach” are provided. A “hardware approach” provides facilities to explicitly specify a synchronizer, using, in part, TRS rules. A “linguistic approach” allows a designer to abstracts the instantiation of synchronizers and instead specify a circuit specification in terms of differently clocked interfaces.Type: GrantFiled: June 7, 2006Date of Patent: February 16, 2010Assignee: Bluespec, Inc.Inventors: Edward W. Czeck, Ravi A. Nanavati, Rishiyur S. Nikhil, Joseph E. Stoy
-
Publication number: 20070288874Abstract: A Hardware Description Language (HDL) utilizing a Term Rewriting System (TRS) is provided that simplifies handling of clocks, and signaling between various clock domains of a multi-clock domain circuit specification. A specific clock data type is supplied for use with clock signals. Using the clock data type, and other requirements of a circuit specification, clock domain crossing between domains of clocks of the same clock family is handled implicitly. For clock domain crossing between clock domains driven by clocks of different clock families, a “hardware approach” and a “linguistic approach” are provided. A “hardware approach” provides facilities to explicitly specify a synchronizer, using, in part, TRS rules. A “linguistic approach” allows a designer to abstracts the instantiation of synchronizers and instead specify a circuit specification in terms of differently clocked interfaces.Type: ApplicationFiled: June 7, 2006Publication date: December 13, 2007Inventors: Edward W. Czeck, Ravi A. Nanavati, Rishiyur S. Nikhil, Joseph E. Stoy
-
Patent number: 6675189Abstract: A system for learning and applying a task and data parallel strategy to an application that includes at least one task for processing an input data stream to produce an output data stream includes the following components. A controller measuring an execution of the application to generate an action space representing a task and data parallel strategy. A run-time system applying the action space to implement the task and data parallel strategy.Type: GrantFiled: May 28, 1998Date of Patent: January 6, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: James Mathew Rehg, Kathleen Knobe, Rishiyur S. Nikhil, Umakishore Ramachandran
-
Patent number: 6480876Abstract: A system for integrating task and data parallelism in a dynamic application that includes at least one task for processing an input data stream to produce an output data stream replaces the at least one task with the following components. A splitter task for partitioning the input data stream into a plurality of data chunks. A plurality of worker tasks for processing subsets of the data chunks, each worker task being an instance of the at least one task, and a joiner task combining the processed data chunks to produce the output data stream.Type: GrantFiled: May 28, 1998Date of Patent: November 12, 2002Assignee: Compaq Information Technologies Group, L.P.Inventors: James Mathew Rehg, Kathleen Knobe, Rishiyur S. Nikhil, Umakishore Ramachandran
-
Publication number: 20020091747Abstract: A system for integrating task and data parallelism in a dynamic application that includes at least one task for processing an input data stream to produce an output data stream replaces the at least one task with the following components. A splitter task for partitioning the input data stream into a plurality of data chunks. A plurality of worker tasks for processing subsets of the data chunks, each worker task being an instance of the at least one task, and a joiner task combining the processed data chunks to produce the output data stream.Type: ApplicationFiled: May 28, 1998Publication date: July 11, 2002Inventors: JAMES MATHEW REHG, KATHLEEN KNOBE, RISHIYUR S. NIKHIL, UMAKISHORE RAMACHANDRAN
-
Patent number: 6067604Abstract: In a computer system, a memory is allocated to a plurality of ports. The ports are arranged in a spatial ordering. A plurality of various sized data items are temporally ordered in each of the plurality of ports. Each data item includes a time-stamp to indicate the temporal ordering of the plurality of data items. The plurality of data items are atomically accessed by a plurality of threads using space and time coordinates. The space and time coordinates uniquely identify each of the plurality of data items.Type: GrantFiled: August 11, 1997Date of Patent: May 23, 2000Assignee: Compaq Computer CorporationInventors: Umakishore Ramachandran, Robert H. Halstead, Jr., Christopher F. Joerg, Leonidas Kontothanassis, Rishiyur S. Nikhil, James M. Rehg
-
Patent number: 5560029Abstract: A multiprocessor system comprises a plurality of processing nodes, each node processing multiple threads of computation. Each node includes a data processor which sequentially processes blocks of code, each block defining a thread of computation. The code includes instructions to send start messages with data values to start new threads of computation. Each node also includes a synchronization coprocessor for processing start messages from the same and other nodes of the system. The coprocessor processes the messages from a message queue to store values as operands for threads of computation, to determine when all operands required for a thread of computation have been received and to provide in a continuation queue an indication to the data processor that a thread of computation may be initiated. The data processor subsequently nonsynchronously initiates the thread of computation. Alternatively, a single processor may perform the continuation and message processing functions in an interleaved sequence.Type: GrantFiled: May 31, 1994Date of Patent: September 24, 1996Assignee: Massachusetts Institute of TechnologyInventors: Gregory M. Papadopoulos, Rishiyur S. Nikhil, Robert J. Greiner, Arvind
-
Patent number: 5499349Abstract: A multithreaded parallel data processing system has at least one processing element for processing multiple threads of computation. Threads are described by thread descriptors or tokens which are stored while waiting to be processed in a thread descriptor storage. Thread descriptors are comprised of an instruction pointer and a frame pointer. The instruction pointer points to the next instruction to be executed, and the frame pointer points to a frame of memory locations that the next instruction will operate on. Included within the instruction set of the at least one processing element is a fork instruction generates two thread descriptors which are added to the current thread descriptors, a start instruction on a first processor sends a message containing a thread descriptor to a second processor, and a join instruction joins two threads by producing a single thread descriptor when both of the joining threads have reached a join instruction.Type: GrantFiled: October 3, 1994Date of Patent: March 12, 1996Assignee: Massachusetts Institute of TechnologyInventors: Rishiyur S. Nikhil, Arvind
-
Patent number: 5430850Abstract: A multiprocessor system comprises a plurality of processing nodes, each node processing multiple threads of computation. Each node includes a data processor which sequentially processes blocks of code, each block defining a thread of computation. The code includes instructions to send start messages with data values to start new threads of computation. Each node also includes a synchronization coprocessor for processing start messages from the same and other nodes of the system. The coprocessor processes the start messages to store values as operands for threads of computation, to determine when all operands required for a thread of computation have been received and to provide an indication to the data processor that a thread of computation may be initiated. The data processor subsequently nonsynchronously initiates the thread of computation. Preferably, the processors load and store from and to a common memory with the translation from a local virtual address to a local physical address.Type: GrantFiled: July 22, 1991Date of Patent: July 4, 1995Assignee: Massachusetts Institute of TechnologyInventors: Gregory M. Papadopoulos, Rishiyur S. Nikhil, Robert J. Greiner, Arvind
-
Patent number: 5353418Abstract: A multithreaded parallel data processing system has at least one processing element for processing multiple threads of computation. Threads are described by thread descriptors which are stored while waiting to be processed in a thread descriptor storage. Thread descriptors are comprised of an instruction pointer and a frame pointer. The instruction pointer points to the next instruction to be executed, and the frame pointer points to a frame of memory locations that the next instruction will operate on. Included within the instruction on set of the at least one processing element is a load instruction that loads global data into local processing element memory that is performed to two phases: a request phase and a response phase. Also included are instructions to fork a thread into two threads and to join two threads into a single thread.Type: GrantFiled: May 21, 1990Date of Patent: October 4, 1994Assignee: Massachusetts Institute of TechnologyInventors: Rishiyur S. Nikhil, Arvind