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).

  • Patent number: 6049897
    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: January 7, 1997
    Date of Patent: April 11, 2000
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Kenneth D. Shoemaker, Gary N. Hammond
  • Patent number: 6044456
    Abstract: A system and method are described for maintaining synchronization of information propagating through multiple front-end pipelines operating in parallel. In general, these multiple front-end pipelines become asynchronous in response to a stall condition and re-establish synchronization by flushing both front-end pipelines as well as by selectively releasing these front-end pipelines from their stall condition at different periods of time.
    Type: Grant
    Filed: January 5, 1998
    Date of Patent: March 28, 2000
    Assignee: Intel Corporation
    Inventors: Keshavram N. Murty, Nazar A. Zaidi, Darshana S. Shah, Tse-Yu Yeh
  • Patent number: 6032250
    Abstract: A method and device for identifying boundaries between variable length instructions in a packet of instruction bytes includes examining each instruction byte in a first portion of the packet, marking each instruction byte in the first portion as one of an end byte and a non-end byte in response to the examining act, and marking each instruction byte in a second portion of the packet as a predetermined one of an end byte and a non-end byte.
    Type: Grant
    Filed: December 5, 1997
    Date of Patent: February 29, 2000
    Assignee: Intel Corporation
    Inventor: Nazar Zaidi
  • Patent number: 6016540
    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. 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. All identified instructions are then assigned to a current wave to be dispatched. The identified instructions are then dispatched for execution as execution resources become available. As each instruction is dispatched for execution in the waiting buffer 34, the dependency vector 40 for all dependent instructions is cleared for subsequent execution.
    Type: Grant
    Filed: January 8, 1997
    Date of Patent: January 18, 2000
    Assignee: Intel Corporation
    Inventors: Nazar Zaidi, Gary Hammond, Ken Shoemaker
  • Patent number: 5996064
    Abstract: A method for guaranteeing minimum variable scheduling distance between instructions in a processor includes receiving a plurality of instructions and determining the post-ready latency of each instruction. Each instruction is then scheduled for execution so that the instruction follows an earlier instruction by an amount of time at least equal to the post-ready latency of the instruction.
    Type: Grant
    Filed: December 30, 1997
    Date of Patent: November 30, 1999
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Michael J. Morrison, Elango Ganesan
  • Patent number: 5961615
    Abstract: A queue structure includes a plurality of entries, a plurality of ports coupled to the entries, a plurality of enable lines coupled to the entries and the ports, and control logic. Each enable line is adapted to enable a selected port to communicate with a selected entry. The control logic is adapted to enable at least two enable lines and allow at least one of the ports to communicate with at least two of the entries concurrently. A method for storing data in a queue is provided. The queue includes a plurality of entries, a plurality of ports coupled to the entries, and a plurality of enable lines coupled to the entries and the ports. Each enable line is adapted to enable a selected port to communicate with a selected entry. The method includes receiving a first instruction on one of the ports. A first enable line is enabled to allow the port to communicate with a first entry. The first instruction is stored in the first entry.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: October 5, 1999
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Michael J. Morrison, Bharat Zaveri
  • Patent number: 5961630
    Abstract: A method for handling dynamic structural hazards and exceptions by using post-ready latency, including: receiving a plurality of instructions; selecting a first instruction whose execution can cause an exception; assigning a post-ready latency to a second instruction that follows the first instruction; and scheduling for execution the first instruction and the second instruction separated from the first instruction by an amount of time at least equal to the post-ready latency of the second instruction.
    Type: Grant
    Filed: December 30, 1997
    Date of Patent: October 5, 1999
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Michael J. Morrison, Elango Ganesan
  • Patent number: 5954814
    Abstract: A microprocessor includes an instruction fetch unit, a branch prediction unit, and a decode unit. The instruction fetch unit is adapted to retrieve a plurality of program instructions. The program instructions include serialization initiating instructions and branch instructions. The branch prediction unit is adapted to generate branch predictions for the branch instructions, direct the instruction fetch unit to retrieve the program instructions in an order corresponding to the branch predictions, and redirect the instruction fetch unit based on a branch misprediction. The branch prediction unit is further adapted to store a redirect address corresponding to the branch misprediction. The decode unit is adapted to decode the program instructions into microcode.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: September 21, 1999
    Assignee: Intel Corporation
    Inventors: Nazar A. Zaidi, Deepak J. Aatresh, Michael J. Morrison
  • Patent number: 5944818
    Abstract: A system for accelerating instruction restart in a microprocessor. An instruction is fetched. The instruction is placed in a macro-instruction queue and sent to the decoder. The instruction is decoded in order to produce at least one micro-operation. The micro-operation is executed, and the microprocessor checks for instruction restart conditions. If an instruction restart condition is found, the instruction restart function is performed. The instruction restart function includes decoding the instruction stored in the macro-instruction queue and executing the corresponding micro-operations.
    Type: Grant
    Filed: June 28, 1996
    Date of Patent: August 31, 1999
    Assignee: Intel Corporation
    Inventors: Jeff J. Baxter, Mike J. Morrison, Anand B. Pai, Nazar A. Zaidi
  • Patent number: 5918031
    Abstract: A microarchitecture that accommodates divergent instruction sets having different data sizes and addressing modes utilizes a mechanism for translating a generic flow for an instruction into specific operations at run-time. These generic flows use a special class of micro-ops (uops), called "super-uops" (or "Suops)" which are translated into a variable number of regular (i.e., simple) uops. A first-level decoder translates macroinstructions into either simple micro-ops or one or more super-uops which represent one or more sequences of one or more simple uops. A second-level decoder is responsible for converting the super-uops into the appropriate micro-op sequence based upon a set of arguments associated with the super-uop and attributes of the macroinstruction.
    Type: Grant
    Filed: December 18, 1996
    Date of Patent: June 29, 1999
    Assignee: Intel Corporation
    Inventors: Michael J. Morrison, Andrew Paul Kelm, Nazar A. Zaidi, Bharat N. Zaveri