Patents by Inventor Nazar Zaidi

Nazar Zaidi 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: 20030043797
    Abstract: A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: July 6, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers, Fred Gruner
  • Publication number: 20030043812
    Abstract: A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: December 21, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers
  • Publication number: 20030043818
    Abstract: A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: December 21, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers, Fred Gruner
  • Publication number: 20030043835
    Abstract: A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: December 21, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers
  • Publication number: 20030043836
    Abstract: A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: December 21, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers
  • Publication number: 20030043817
    Abstract: Cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports for transmitting the received packets to identified targets. A set of data rings couples the input ports to the sink ports. Each sink port utilizes the set of data rings to simultaneously accept multiple data packets targeted to the same destination—creating a non-blocking cross-bar switch. Sink ports are also each capable of supporting multiple targets—providing the cross-bar switch with implicit multicast capability.
    Type: Application
    Filed: December 21, 2001
    Publication date: March 6, 2003
    Inventors: Abbas Rashid, Nazar Zaidi, Mark Bryers
  • Patent number: 6523106
    Abstract: Only one pipe in superscalar microprocessor contains particular functional logic necessary to process a specific instruction. When the specific instruction appears in an instruction stream, the microprocessor replicates the specific instruction so that there are as many identical instructions in the stream as there are pipes. The identical instructions appear contiguously in the instruction stream. Each identical instruction is processed by a different one of the pipes. The pipe with the particular functional logic performs the necessary operations for the specific instruction while the other pipes treat the instruction as a null operation.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: February 18, 2003
    Assignee: Intel Corporation
    Inventors: Michael Mroczek, Umberto Santoni, Nazar A. Zaidi, Mike Morrison
  • Publication number: 20030033481
    Abstract: A system includes a plurality of processing clusters and a snoop controller adapted to service memory requests. The snoop controller and each processing cluster are coupled to a snoop ring. A first processing cluster forwards a memory request to the snoop controller for access to a memory location. In response to the memory request, the snoop controller places a snoop request on the snoop ring—calling for a change in ownership of the requested memory location. A second processing cluster receives the snoop request on the snoop ring. The second processing cluster generates a response to the snoop request. If the second processing cluster owns the requested memory location, the second processing cluster modifies ownership status of the requested memory location.
    Type: Application
    Filed: March 25, 2002
    Publication date: February 13, 2003
    Inventors: Dave Hass, Frederick Gruner, Nazar Zaidi, Ramesh Panwar, Mark Vilas
  • Publication number: 20030033488
    Abstract: A compute engine includes a central processing unit coupled to a coprocessor. The coprocessor includes a media access controller engine and a data transfer engine. The media access controller engine couples the compute engine to a communications network. The data transfer engine couples the media access controller engine to a set of cache memory. In further embodiments, a compute engine includes two media access controller engines. A reception media access controller engine receives data from the communications network. A transmission media access controller engine transmits data to the communications network. The compute engine also includes two data transfer engines. A streaming output engine stores network data from the reception media access controller engine in cache memory. A streaming input engine transfers data from cache memory to the transmission media access controller engine.
    Type: Application
    Filed: March 25, 2002
    Publication date: February 13, 2003
    Inventors: Frederick Gruner, Robert Hathaway, Ramesh Panwar, Elango Ganesan, Nazar Zaidi
  • Publication number: 20030033479
    Abstract: A compute engine's central processing unit is coupled to a coprocessor that includes application engines. The central processing unit initializes the coprocessor to perform an application, and the coprocessor initializes an application engine to perform the application. The application engine responds by carrying out the application. In performing some applications, the application engine accesses cache memory—obtaining a physical memory address that corresponds to a virtual address and providing the physical address to the cache memory. In some instances, the coprocessor employs multiple application engines to carry out an application. In one implementation, the application engines facilitate different network services, including but not limited to: 1) virtual private networking; 2) secure sockets layer processing; 3) web caching; 4) hypertext mark-up language compression; 5) virus checking; 6) firewall support; and 7) web switching.
    Type: Application
    Filed: March 25, 2002
    Publication date: February 13, 2003
    Inventors: Frederick Gruner, Robert Hathaway, Ramesh Panwar, Elango Ganesan, Nazar Zaidi
  • Publication number: 20030009629
    Abstract: A multi-processor includes multiple processing clusters for performing assigned applications. Each cluster includes a set of compute engines, with each compute engine coupled to a set of cache memory. A compute engine includes a central processing unit and a coprocessor with a set of application engines. The central processing unit and coprocessor are coupled to the compute engine's associated cache memory. The sets of cache memory within a cluster are also coupled to one another.
    Type: Application
    Filed: March 25, 2002
    Publication date: January 9, 2003
    Inventors: Fred Gruner, David Hass, Ramesh Panwar, Nazar Zaidi
  • Publication number: 20030009625
    Abstract: A multi-processor includes multiple processing clusters for performing assigned applications. Each cluster includes a set of compute engines, with each compute engine coupled to a set of cache memory. A compute engine includes a central processing unit and a coprocessor with a set of application engines. The central processing unit and coprocessor are coupled to the compute engine's associated cache memory. The sets of cache memory within a cluster are also coupled to one another.
    Type: Application
    Filed: March 25, 2002
    Publication date: January 9, 2003
    Inventors: Fred Gruner, David Hass, Ramesh Panwar, Nazar Zaidi
  • Publication number: 20030009626
    Abstract: A multi-processor includes multiple processing clusters for performing assigned applications. Each cluster includes a set of compute engines, with each compute engine coupled to a set of cache memory. A compute engine includes a central processing unit and a coprocessor with a set of application engines. The central processing unit and coprocessor are coupled to the compute engine's associated cache memory. The sets of cache memory within a cluster are also coupled to one another.
    Type: Application
    Filed: July 6, 2001
    Publication date: January 9, 2003
    Inventors: Fred Gruner, David Hass, Robert Hathaway, Ramesh Panwar, Ricardo Ramirez, Nazar Zaidi
  • Patent number: 6405307
    Abstract: A system and method are described for detecting and recovering from self-modifying code (SMC) conflicts. In one embodiment, detection is accomplished by accessing the contents of a memory, configured to contain a number of recently executed instructions, to obtain an address. This address is compared to information propagating through a front-end pipeline of an instruction pipeline. The instruction pipeline includes the front-end pipeline to support loading and propagation of information through the instruction pipeline and a back-end pipeline to support execution of instructions along with writeback to the memory. If the address matches the information propagating through the front-end pipeline, a SMC conflict has occurred and at least some of the pipelined information is invalidated.
    Type: Grant
    Filed: June 2, 1998
    Date of Patent: June 11, 2002
    Assignee: Intel Corporation
    Inventors: Keshavram N. Murty, Nazar A. Zaidi
  • Patent number: 6363408
    Abstract: An apparatus is provided for adding selected bits. The apparatus includes a hardware device having a plurality of ordered input terminals to receive binary signals for a portion of an ordered set of the selected bits. The hardware device also has a plurality of output terminals to transmit digital signals for a plurality of sums. Each sum adds a set of speculative values of a portion of the selected bits. A method is provided for adding a set of ordered selected logic signals. The method includes producing a set of digital signals for a plurality of sums and selecting one of the digital signals for a sum in response to receiving a signal for a correction vector. Each sum adds a set of speculative values for an ordered set of selected logic signals. The selected sum is equal to a sum of speculative values of the selected logic signals as identified by the correction vector. The method also includes transmitting the selected one of the digital signals to an output terminal.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: March 26, 2002
    Assignee: Intel Corporation
    Inventors: Umair A. Khan, Nazar A. Zaidi
  • Patent number: 6292882
    Abstract: In one aspect, the invention includes an apparatus for filtering instructions within a digital system that eliminates the need to physically switch the valid instructions onto consecutive data lines of a buffer. The apparatus includes a filter for filtering instructions within a digital system. The filter includes an address generator capable of generating at least two addresses in response to receiving at least two micro-operations. The filter also includes a logic circuit coupled to the address generator. The logic circuit filters addresses corresponding to valid micro-operations in response to assessing the state of a portion of each of the micro-operations. In a second aspect, the invention includes a method for filtering instructions within a digital system that eliminates the need to physically switch the valid instructions onto consecutive data lines of a buffer. The method includes, generating at least two addresses in response to receiving at least two micro-operations.
    Type: Grant
    Filed: December 10, 1998
    Date of Patent: September 18, 2001
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Umair A. Khan
  • Patent number: 6237088
    Abstract: An apparatus, system and method are described for tracking in-flight line addresses. Such tracking enables a determination of a self-modifying code (SMC) conflict. In one embodiment, the apparatus comprises a line address buffer and companion logic. The line address buffer contains a first plurality of line addresses. Each line address is associated with a fetched instruction pointer. The comparison logic compares a second plurality of line addresses with an address of an instruction being executed in order to detect an event.
    Type: Grant
    Filed: June 3, 1998
    Date of Patent: May 22, 2001
    Assignee: Intel Corporation
    Inventor: Nazar A. Zaidi
  • Patent number: 6216221
    Abstract: A microprocessor includes a decoder, a queue, and a renamer. The decoder is adapted to receive a program instruction and decode the program instruction to provide a first decoded instruction. The first decoded instruction includes a plurality of instruction bits. The queue is coupled to the decoder and adapted to store the first decoded instruction. The renamer has a first input port and a first and second output port. The renamer is coupled to the queue and adapted to receive the first decoded instruction at the input port, provide the first decoded instruction on the first output port, change at least one of the instruction bits to generate a second decoded instruction, and provide the second decoded instruction on the second output port. A method for expanding program instructions in a microprocessor having a renamer is provided. The renamer includes a first input port and first and second output ports. The method includes receiving a first decoded instruction in the first input port.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: April 10, 2001
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Michael J. Morrison, Bharat Zaveri
  • Patent number: 6065105
    Abstract: In a microprocessor, an instruction scheduler 30 includes a dependency matrix 36 and a waiting buffer 34. A dependency determination unit 32 receives instructions to be executed, forwards the instructions to the waiting buffer 34, determines if any dependency exists between the instructions, and forwards the dependency information to the dependency matrix 36 in the form of a dependency vector 40. The dependency matrix 36 periodically determines whether any of the instructions contained in the waiting buffer 34 are ready to be executed, that is, no dependencies exist for that instruction. As each instruction is dispatched for execution from the waiting buffer 34, the dependency vector 40 for all dependent instructions is cleared for subsequent execution. In this manner, an out-of-order processing scheme is implemented that efficiently accounts for data dependency between processed instructions.
    Type: Grant
    Filed: January 8, 1997
    Date of Patent: May 16, 2000
    Assignee: Intel Corporation
    Inventors: Nazar Zaidi, Gary Hammond, Ken Shoemaker, Jeff Baxter
  • Patent number: 6055652
    Abstract: A new method and apparatus are used to check for segment limit violations during memory access. When a segment descriptor is retrieved during the initialization of a segment, the segment limit from the segment descriptor is used to create five limits. The five limits are the last possible address within the segment for each size of memory access. During a subsequent memory access, the limit corresponding to the segment being accessed and the length of memory access is selected. The selected limit is compared against the address of the memory access to determine if a limit violation has occurred. If a limit violation has occurred, a flag is set that, when read, will cause an exception.
    Type: Grant
    Filed: May 19, 1999
    Date of Patent: April 25, 2000
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Kenneth D. Shoemaker, Gary N. Hammond