Patents by Inventor Narendra Sankar

Narendra Sankar 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: 20080040577
    Abstract: Load and store operations in computer systems are extended to provide for Stream Load and Store and Masked Load and Store. In Stream operations a CPU executes a Stream instruction that indicates by appropriate arguments a first address in memory or a first register in a register file from whence to begin reading data entities, and a first address or register from whence to begin storing the entities, and a number of entities to be read and written. In Masked Load and Masked Store operations stored masks are used to indicate patterns relative to first addresses and registers for loading and storing. Bit-string vector methods are taught for masks.
    Type: Application
    Filed: October 22, 2007
    Publication date: February 14, 2008
    Applicant: MIPS Technologies, Inc.
    Inventors: Mario Nemirovsky, Enrique Musoll, Narendra Sankar, Stephen Melvin
  • Publication number: 20070260852
    Abstract: A pipelined multistreaming processor has an instruction source, a plurality of streams fetching instructions from the instruction source, a dispatch stage for selecting and dispatching instructions to a set of execution units, a set of instruction queues having one queue associated with each stream in the plurality of streams, and located in the pipeline between the instruction cache and the dispatch stage, and a select system for selecting streams in each cycle to fetch instructions from the instruction cache. The processor is characterized in that the select system selects one or more streams in each cycle for which to fetch instructions from the instruction cache, and in that the number of streams selected for which to fetch instructions in each cycle is fewer than the number of streams in the plurality of streams.
    Type: Application
    Filed: October 6, 2006
    Publication date: November 8, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventors: Mario Nemirovsky, Narendra Sankar, Adolfo Nemirovsky, Enrique Musoll
  • Patent number: 7139898
    Abstract: A pipelined multistreaming processor has an instruction source, a plurality of streams fetching instructions from the instruction source, a dispatch stage for selecting and dispatching instructions to a set of execution units, a set of instruction queues having one queue associated with each stream in the plurality of streams, and located in the pipeline between the instruction cache and the dispatch stage, and a select system for selecting streams in each cycle to fetch instructions from the instruction cache. The processor is characterized in that the select system selects one or more streams in each cycle for which to fetch instructions from the instruction cache, and in that the number of streams selected for which to fetch instructions in each cycle is fewer than the number of streams in the plurality of streams.
    Type: Grant
    Filed: November 3, 2000
    Date of Patent: November 21, 2006
    Assignee: Mips Technologies, Inc.
    Inventors: Mario Nemirovsky, Adolfo Nemirovsky, Narendra Sankar, Enrique Musoll
  • Publication number: 20060225080
    Abstract: A background event buffer manager (BEBM) for ordering and accounting for events in a data processing system having a processor includes a port for receiving event identifications (IDs) from a device, a queuing function enabled for queuing event IDs received, and a notification function for notifying the processor of queued event IDs. The BEBM handles all event ordering and accounting for the processor. The BEBM in preferred embodiments queues events by type with priority and by priority within type, and also handles sending acknowledgement to the device when processing on each event is concluded, and buffers the acknowledgement process. In particular embodiments the apparatus and method is taught as a packet processing router engine.
    Type: Application
    Filed: April 5, 2006
    Publication date: October 5, 2006
    Inventors: Mario Nemirovsky, Narendra Sankar, Adolfo Nemirovsky, Enric Musoll
  • Publication number: 20060159104
    Abstract: In a data-packet processor, a configurable queueing system for packet accounting during processing has a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
    Type: Application
    Filed: March 23, 2006
    Publication date: July 20, 2006
    Inventors: Mario Nemirovsky, Enric Musoll, Stephen Melvin, Narendra Sankar, Nandakumar Sampath, Adolfo Nemirovsky
  • Publication number: 20060153197
    Abstract: In a data-packet processor, a configurable queueing system for packet accounting during processing has a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
    Type: Application
    Filed: February 23, 2006
    Publication date: July 13, 2006
    Inventors: Mario Nemirovsky, Enric Musoll, Stephen Melvin, Narendra Sankar, Nandakumar Sampath, Adolfo Nemirovsky
  • Patent number: 7058064
    Abstract: In a data-packet processor, a configurable queueing system for packet accounting during processing has a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
    Type: Grant
    Filed: December 14, 2000
    Date of Patent: June 6, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Mario Nemirovsky, Enric Musoll, Stephen Melvin, Narendra Sankar, Nandakumar Sampath, Adolfo Nemirovsky
  • Patent number: 7032226
    Abstract: A background event buffer manager (BEBM) for ordering and accounting for events in a data processing system having a processor includes a port for receiving event identifications (IDs) from a device, a queuing function enabled for queuing event IDs received, and a notification function for notifying the processor of queued event IDs. The BEBM handles all event ordering and accounting for the processor. The BEBM in preferred embodiments queues events by type with priority and by priority within type, and also handles sending acknowledgement to the device when processing on each event is concluded, and buffers the acknowledgement process. In particular embodiments the apparatus and method is taught as a packet processing router engine.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: April 18, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Mario Nemirovsky, Narendra Sankar, Adolfo Nemirovsky, Enric Musoll
  • Patent number: 7020879
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams, and interrupt handler logic. The logic detects and maps interrupts and exceptions to one or more specific streams. In some embodiments one interrupt or exception may be mapped to two or more streams, and in others two or more interrupts or exceptions may be mapped to one stream. Mapping may be static and determined at processor design, programmable, with data stored and amendable, or conditional and dynamic, the interrupt logic executing an algorithm sensitive to variables to determine the mapping. Interrupts may be external interrupts generated by devices external to the processor software (internal) interrupts generated by active streams, or conditional, based on variables. After interrupts are acknowledged streams to which interrupts or exceptions are mapped are vectored to appropriate service routines.
    Type: Grant
    Filed: May 14, 1999
    Date of Patent: March 28, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Publication number: 20050081214
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams; and interstream control mechanisms whereby any stream may effect the operation of any other stream. In various embodiments the interstream control mechanisms include mechanisms for accomplishing one or more of enabling or disabling another stream, putting another stream into a sleep mode or awakening another stream from a sleep mode, setting priorities for another stream relative to access to functional resources, and granting blocking access by another stream to functional resources. A Master Mode is taught, wherein one stream is granted master status, and thereby may exert any and all available control mechanisms relative to other streams without interference by any stream.
    Type: Application
    Filed: August 18, 2004
    Publication date: April 14, 2005
    Inventors: Mario Nemirovsky, Adolfo Nemirovsky, Narendra Sankar
  • Patent number: 6789100
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams; and interstream control mechanisms whereby any stream may effect the operation of any other stream. In various embodiments the interstream control mechanisms include mechanisms for accomplishing one or more of enabling or disabling another stream, putting another stream into a sleep mode or awakening another stream from a sleep mode, setting priorities for another stream relative to access to functional resources, and granting blocking access by another stream to functional resources. A Master Mode is taught, wherein one stream is granted master status, and thereby may exert any and all available control mechanisms relative to other streams without interference by any stream.
    Type: Grant
    Filed: February 8, 2002
    Date of Patent: September 7, 2004
    Assignee: MIPS Technologies, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Patent number: 6477562
    Abstract: A multi-streaming processor has multiple streams for processing multiple threads, and an instruction scheduler including a priority record of priority codes for one or more of the streams. The priority codes determine in some embodiments relative access to resources as well as which stream has access at any point in time. In other embodiments priorities are determined dynamically and altered on-the-fly, which may be done by various criteria, such as on-chip processing statistics, by executing one or more priority algorithms, by input from off-chip, according to stream loading, or by combinations of these and other methods. In one embodiment a special code is used for disabling a stream, and streams may be enabled and disabled dynamically by various methods, such as by on-chip events, processing statistics, inpu from off-chip, and by processor interrupts. Some specific applications are taught, including for IP-routers and digital signal processors.
    Type: Grant
    Filed: December 16, 1998
    Date of Patent: November 5, 2002
    Assignee: Clearwater Networks, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Publication number: 20020095565
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams; and interstream control mechanisms whereby any stream may effect the operation of any other stream. In various embodiments the interstream control mechanisms include mechanisms for accomplishing one or more of enabling or disabling another stream, putting another stream into a sleep mode or awakening another stream from a sleep mode, setting priorities for another stream relative to access to functional resources, and granting blocking access by another stream to functional resources. A Master Mode is taught, wherein one stream is granted master status, and thereby may exert any and all available control mechanisms relative to other streams without interference by any stream.
    Type: Application
    Filed: February 8, 2002
    Publication date: July 18, 2002
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Publication number: 20020062435
    Abstract: A multi-streaming processor has multiple streams for processing multiple threads, and an instruction scheduler including a priority record of priority codes for one or more of the streams. The priority codes determine in some embodiments relative access to resources as well as which stream has access at any point in time. In other embodiments priorities are determined dynamically and altered on-the-fly, which may be done by various criteria, such as on-chip processing statistics, by executing one or more priority algorithms, by input from off-chip, according to stream loading, or by combinations of these and other methods. In one embodiment a special code is used for disabling a stream, and streams may be enabled and disabled dynamically by various methods, such as by on-chip events, processing statistics, inpu from off-chip, and by processor interrupts. Some specific applications are taught, including for IP-routers and digital signal processors.
    Type: Application
    Filed: December 16, 1998
    Publication date: May 23, 2002
    Inventors: MARIO D. NEMIROVSKY, ADOLFO M. NEMIROVSKY, NARENDRA SANKAR
  • Patent number: 6389449
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams; and interstream control mechanisms whereby any stream may effect the operation of any other stream. In various embodiments the interstream control mechanisms include mechanisms for accomplishing one or more of enabling or disabling another stream, putting another stream into a sleep mode or awakening another stream from a sleep mode, setting priorities for another stream relative to access to functional resources, and granting blocking access by another stream to functional resources. A Master Mode is taught, wherein one stream is granted master status, and thereby may exert any and all available control mechanisms relative to other streams without interference by any stream.
    Type: Grant
    Filed: March 22, 1999
    Date of Patent: May 14, 2002
    Assignee: Clearwater Networks, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Publication number: 20010043610
    Abstract: In a data-packet processor, a configurable queueing system for packet accounting during processing has a plurality of queues arranged in one or more clusters, an identification mechanism for creating a packet identifier for arriving packets, insertion logic for inserting packet identifiers into queues and for determining into which queue to insert a packet identifier, and selection logic for selecting packet identifiers from queues to initiate processing of identified packets, downloading of completed packets, or for requeueing of the selected packet identifiers.
    Type: Application
    Filed: December 14, 2000
    Publication date: November 22, 2001
    Inventors: Mario Nemirovsky, Enric Musoll, Stephen Melvin, Narendra Sankar, Nandakumar Sampath, Adolfo Nemirovsky
  • Patent number: 6292888
    Abstract: A processing system has an instruction processor (IP), register files for storing data to be processed by the IP, such as a thread context, and a register transfer unit (RTU) connected to the register files and to the IP. Register files may assume different states, readable and settable by both the RTU and the IP. The IP and the RTU assume control of register files and perform their functions partially in response to states for the register files, and in releasing register files after processing, set the states. The invention is particularly applicable to multistreamed processors, wherein more register files than streams may be implemented, allowing for at least one idle register file in which to accomplish background loading and unloading of data. The invention is also particularly applicable to processing systems dealing with real-time phenomena, such as data packet processing in network routers.
    Type: Grant
    Filed: January 27, 1999
    Date of Patent: September 18, 2001
    Assignee: Clearwater Networks, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Patent number: 5815736
    Abstract: The present invention is a data word extraction circuit that receives n data words DW.sub.x (for x equal 0 through n-1), where each of the data words DW.sub.x having m bit positions BP.sub.y (for y=0 through m-1). The circuit provides at least one of the data words DW.sub.x to an extraction circuit output responsive to an extraction indicator signal. Specifically, a group of data selector elements DSE.sub.y, each corresponding to a separate one of the bit positions BP.sub.y in the received data words. Each data selector element includes a data output DO.sub.y and a plurality of data inputs DI.sub.x. Each data input DI.sub.x is connected to receive a bit from the bit position BP.sub.y to which the data selector element DSE.sub.y corresponds, of a data word DW.sub.x to which the data input DI.sub.x corresponds. A select input is responsive to the extraction indicator signal such that the data selector element DSE.sub.y provides, at the data output, the bit received at one of the data inputs DI.sub.
    Type: Grant
    Filed: May 26, 1995
    Date of Patent: September 29, 1998
    Assignee: National Semiconductor Corporation
    Inventors: Christopher E. Phillips, Narendra Sankar
  • Patent number: 5752273
    Abstract: An apparatus and method for efficiently generating the consecutive addresses needed to access misaligned or doubleword length data stored in the memory of a general purpose microprocessor. The apparatus shares the address generation operations between a small 3 bit adder, typically contained in the bus unit, and the execution unit. Control logic is used to determine whether a data misalignment situation exists based on the length of the data which is to be retrieved and the starting address of the data. When misalignment is indicated, the control unit acts to assign the address calculations to either the 3 bit adder alone or the execution unit together with the 3 bit adder depending upon how much the present address must be incremented to obtain the new addresses.
    Type: Grant
    Filed: May 23, 1997
    Date of Patent: May 12, 1998
    Assignee: National Semiconductor Corporation
    Inventors: Mario Nemirovsky, Alexander Perez, Robert James Divivier, Narendra Sankar
  • Patent number: 5699506
    Abstract: A method and apparatus for fault testing a pipelined processor. In test mode, the stage registers are reconfigured as multiple input shift registers by switching in a few exclusive-OR gates. Also, the execute stage is prevented from executing any instructions. A unique sequential test sequence of instructions are run through the processor at normal speed. It is known that a particular test sequence (and thus a unique sequential input pattern to the MISR, assuming no faults) will result in a unique signature pattern existing in the MISR at the end of the sequence. If the signature pattern is not found in the MISR at the end of the test sequence, then it is known that a fault exists on the chip.
    Type: Grant
    Filed: May 26, 1995
    Date of Patent: December 16, 1997
    Assignee: National Semiconductor Corporation
    Inventors: Christopher E. Phillips, Narendra Sankar