Patents by Inventor Michael A. Fetterman

Michael A. Fetterman 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: 5687338
    Abstract: A method and apparatus for instruction refetch in a processor is provided. To ensure that a macro instruction is available for refetching after the processor has handled an event or determined a correct restart address after a branch misprediction, an instruction memory includes an instruction cache for caching macro instructions to be fetched, and a victim cache for caching victims from the instruction cache. To ensure the availability of a macro instruction for refetching, the instruction memory (the instruction cache and victim cache together) always stores a macro instruction that may need to be refetched until the macro instruction is committed to architectural state. A marker micro instruction is inserted into the processor pipeline when an instruction cache line is victimized. The marker specifies an entry in the victim cache occupied by the victimized cache line.
    Type: Grant
    Filed: August 4, 1995
    Date of Patent: November 11, 1997
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Robert P. Colwell, Michael A. Fetterman, Andrew F. Glew, Ashwani K. Gupta, Glenn J. Hinton, David B. Papworth
  • Patent number: 5664137
    Abstract: A method and apparatus for performing store operations that includes calculating the address and obtaining the data for the store operation. The address represents the memory location to which the data is to be stored. Once the address is calculated and the data obtained, the store operation is committed to processor state. The store operation may be dispatched to memory to complete the execution of the store operation.
    Type: Grant
    Filed: September 7, 1995
    Date of Patent: September 2, 1997
    Assignee: Intel Corporation
    Inventors: Jeffrey M. Abramson, Haitham Akkary, Atig A. Bajwa, Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, Joel Huang, Kris G. Konigsfeld, Paul D. Madland, Prem Pahlajrai
  • Patent number: 5627985
    Abstract: A speculative execution out of order processor comprising a reorder circuit containing a plurality of physical registers that buffer speculative execution results for integer and floating-point operations, and a real register circuit containing a plurality of committed state registers that buffer committed execution results for either integer or floating-point operations, depending on the register. The reorder and real register circuits read the speculative and committed source data values for incoming micro-ops, and transfer the speculative and committed source data values over to a micro-op dispatch circuit over a common data path. A retire logic circuit commits the speculative execution results to an architectural state by transferring the speculative execution results from the reorder circuit to the real register circuit.
    Type: Grant
    Filed: January 4, 1994
    Date of Patent: May 6, 1997
    Assignee: Intel Corporation
    Inventors: Michael A. Fetterman, Andrew F. Glew, David B. Papworth, Glenn J. Hinton, Robert P. Colwell
  • Patent number: 5615385
    Abstract: Register identification preservation in a microprocessor implementing register renaming. Multiplexing and control circuitry are implemented for manipulating data sources to be supplied to a microprocessor's functional units. The circuitry will generate zero extending for source data to an execution unit where a data source register specified is shorter than a general register size utilized by the microprocessor. Similarly, the multiplexing and control circuitry will shift bits of data from one location to another upon a source input to a functional unit in accordance with control signals designating such activity.
    Type: Grant
    Filed: November 29, 1995
    Date of Patent: March 25, 1997
    Assignee: Intel Corporation
    Inventors: Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, David B. Papworth, Robert P. Colwell
  • Patent number: 5604878
    Abstract: Pipeline lengthening in functional units likely to be involved in a writeback conflict is implemented to avoid conflicts. Logic circuitry is provided for comparing the depths of two concurrently executing execution unit pipelines to determine if a conflict will develop. When it appears that two execution units will attempt to write back at the same time, the execution unit having a shorter pipeline will be instructed to add a stage to its pipeline, storing its result in a delaying buffer for one clock cycle. After the conflict has been resolved, the instruction to lengthen the pipeline of a given functional unit will be rescinded. Multistage execution units are designed to signal a reservation station to delay the dispatch of various instructions to avoid conflicts between execution units.
    Type: Grant
    Filed: August 1, 1995
    Date of Patent: February 18, 1997
    Assignee: Intel Corporation
    Inventors: Robert P. Colwell, Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, Robert W. Martell, David B. Papworth
  • Patent number: 5604877
    Abstract: A method and apparatus for resolving Return From Subroutine instructions in a computer processor are disclosed. The method and apparatus resolve Return From Subroutine instructions in four stages. A first stage predicts Call Subroutine instructions and Return From Subroutine instructions within the instruction stream. The first stage stores a return address in a return register when a Call Subroutine instruction is predicted. The first stage predicts a return to the return address in the return register when a Return From Subroutine instruction is predicted. A second stage decodes each Call Subroutine and Return From Subroutine instruction in order to maintain a Return Stack Buffer that stores a stack of return addresses. Each time the second stage decodes a Call Subroutine instruction, a return address is pushed onto the Return Stack Buffer. Correspondingly, each time the second stage decodes a Return From Subroutine instruction, a return address is popped off of the Return Stack Buffer.
    Type: Grant
    Filed: January 4, 1994
    Date of Patent: February 18, 1997
    Assignee: Intel Corporation
    Inventors: Bradley D. Hoyt, Glenn J. Hinton, David B. Papworth, Ashwani K. Gupta, Michael A. Fetterman, Subramanian Natarajan, Sunil Shenoy, Reynold V. D'Sa
  • Patent number: 5584037
    Abstract: An allocator assigns entries for a circular buffer. The allocator receives requests for storing data in entries of the circular buffer, and generates a head pointer to identify a starting entry in the circular buffer for which circular buffer entries are not allocated. In addition to pointing to an entry in the circular buffer, the head pointer includes a wrap bit. The allocator toggles the wrap bit each time the allocator traverses the linear queue of the circular buffer. A tail pointer is generated, including the wrap bit, to identify an ending entry in the circular buffer for which circular buffer entries are allocated. In response to the request for entries, the allocator sequentially assigns entries for the requests located between the head pointer and the tail pointer. The allocator has application for use in a microprocessor performing out-of-order dispatch and speculative execution. The allocator is coupled to a reorder buffer, configured as a circular buffer, to permit allocation of entries.
    Type: Grant
    Filed: December 13, 1995
    Date of Patent: December 10, 1996
    Assignee: Intel Corporation
    Inventors: David B. Papworth, Andrew F. Glew, Michael A. Fetterman, Glenn J. Hinton, Robert P. Colwell, Steven J. Griffith, Shantanu R. Gupta, Narayan Hegde
  • Patent number: 5584038
    Abstract: An allocator assigns entries for a circular buffer. The allocator receives requests for storing data in entries of the circular buffer, and generates a head pointer to identify a starting entry in the circular buffer for which circular buffer entries are not allocated. In addition to pointing to an entry in the circular buffer, the head pointer includes a wrap bit. The allocator toggles the wrap bit each time the allocator traverses the linear queue of the circular buffer. A tail pointer is generated, including the wrap bit, to identify an ending entry in the circular buffer for which circular buffer entries are allocated. In response to the request for entries, the allocator sequentially assigns entries for the requests located between the head pointer and the tail pointer. The allocator has application for use in a microprocessor performing out-of-order dispatch anti speculative execution. The allocator is coupled to a reorder buffer, configured as a circular buffer, to permit allocation of entries.
    Type: Grant
    Filed: April 17, 1996
    Date of Patent: December 10, 1996
    Assignee: Intel Corporation
    Inventors: David B. Papworth, Andrew F. Glew, Michael A. Fetterman, Glenn J. Hinton, Robert P. Colwell, Steven J. Griffith, Shantanu R. Gupta, Narayan Hegde
  • Patent number: 5574871
    Abstract: A Branch Target Buffer Circuit in a computer processor that predicts branch instructions with a stream of computer instructions is disclosed. The Branch Target Buffer Circuit uses a Branch Target Buffer Cache that stores branch information about previously executed branch instructions. The branch information stored in the Branch Target Buffer Cache is addressed by the last byte of each branch instruction. When an Instruction Fetch Unit in the computer processor fetches a block of instructions it sends the Branch Target Buffer Circuit an instruction pointer. Based on the instruction pointer, the Branch Target Buffer Circuit looks in the Branch Target Buffer Cache to see if any of the instructions in the block being fetched is a branch instruction. When the Branch Target Buffer Circuit finds an upcoming branch instruction in the Branch Target Buffer Cache, the Branch Target Buffer Circuit informs an Instruction Fetch Unit about the upcoming branch instruction.
    Type: Grant
    Filed: January 4, 1994
    Date of Patent: November 12, 1996
    Assignee: Intel Corporation
    Inventors: Bradley D. Hoyt, Glenn J. Hinton, David B. Papworth, Ashwani K. Gupta, Michael A. Fetterman, Subramanian Natarajan, Sunil Shenoy, Reynold V. D'Sa
  • Patent number: 5574942
    Abstract: A hybrid execution unit for executing miscellaneous instructions in a single clock cycle. The execution unit receives either integer or floating point data, and performs manipulations of two incoming sources to produce a result source in conjunction with existing integer and floating point execution units.
    Type: Grant
    Filed: February 15, 1996
    Date of Patent: November 12, 1996
    Assignee: Intel Corporation
    Inventors: Robert P. Colwell, David B. Papworth, Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, Stephen M. Coward, Grace C. Chen
  • Patent number: 5564056
    Abstract: Register identification preservation in a microprocessor implementing register renaming. Multiplexing and control circuitry are implemented for manipulating data sources to be supplied to a microprocessor's functional units. The circuitry will generate zero extending for source data to an execution unit where a data source register specified is shorter than a general register size utilized by the microprocessor. Similarly, the multiplexing and control circuitry will shift bits of data from one location to another upon a source input to a functional unit in accordance with control signals designating such activity.
    Type: Grant
    Filed: November 2, 1994
    Date of Patent: October 8, 1996
    Assignee: Intel Corporation
    Inventors: Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, David B. Papworth, Robert P. Colwell
  • Patent number: 5564111
    Abstract: A non-blocking translation lookaside buffer is described for use in a microprocessor capable of processing speculative and out-of-order instructions. Upon the detection of a fault, either during a translation lookaside buffer hit or a page table walk performed in response to a translation lookaside buffer miss, information associated with the faulting instruction is stored within a fault register within the translation lookaside buffer. The stored information includes the linear address of the instruction and information identifying the age of instruction. In addition to storing the information within the fault register, a portion of the information is transmitted to a reordering buffer of the microprocessor for storage therein pending retirement of the faulting instruction. Prior to retirement of the faulting instruction, the translation lookaside buffer continues to process further instructions.
    Type: Grant
    Filed: September 30, 1994
    Date of Patent: October 8, 1996
    Assignee: Intel Corporation
    Inventors: Andrew F. Glew, Haitham Akkary, Robert P. Colwell, Glenn J. Hinton, David B. Papworth, Michael A. Fetterman
  • Patent number: 5561814
    Abstract: A circuit comprising a number of address range registers and complimentary decoding/matching circuits is provided to a processor for determining the memory type of a physical address, thereby allowing memory type to be determined as soon as the physical address is available in an execution stage preceding cache access. Additionally, a memory type field is provided to each address translation lookaside buffer entry of the data and instruction memory subsystem for storing the determined memory type. The memory type determination circuit is disposed in the page miss handler, thereby allowing memory type to be determined at the same time when the physical address is determined.
    Type: Grant
    Filed: December 22, 1993
    Date of Patent: October 1, 1996
    Assignee: Intel Corporation
    Inventors: Andrew F. Glew, Glenn J. Hinton, David B. Papworth, Michael A. Fetterman, Robert P. Colwell, Frederick J. Pollack
  • Patent number: 5555432
    Abstract: An out-of-order execution processor comprising an execution unit, a storage unit and a scheduler is disclosed. The storage unit stores instructions awaiting availability of resources required for execution. The scheduler periodically determines whether resources required for executing each instruction are available, and if so, dispatches that instruction to the execution unit. The execution unit indicates future availability of hardware resources such as functional units and write back ports a number of clock cycles before actual availability of the hardware resources. The scheduler determines availability of resources required for execution of an instruction based on the indication of future availability of the hardware resources, and dispatched the instruction for execution. The out-of-order execution processor also includes means to determine future completion of execution of source instructions a number of clock cycles before actual completion of execution.
    Type: Grant
    Filed: August 19, 1994
    Date of Patent: September 10, 1996
    Assignee: Intel Corporation
    Inventors: Glenn J. Hinton, Robert W. Martell, Michael A. Fetterman, David B. Papworth, James L. Schwartz
  • Patent number: 5553256
    Abstract: Maximum throughput or "back-to-back" scheduling of dependent instructions in a pipelined processor is achieved by maximizing the efficiency in which the processor determines the availability of the source operands of a dependent instruction and provides those operands to an execution unit executing the dependent instruction. These two operations are implemented through a number of mechanisms. One mechanism for determining the availability of source operands, and hence the readiness of a dependent instruction for dispatch to an available execution unit, relies on the early setting of a source valid bit during allocation when a source operand is a retired or immediate value. This allows the ready logic of a reservation station to begin scheduling the instruction for dispatch.
    Type: Grant
    Filed: June 5, 1995
    Date of Patent: September 3, 1996
    Assignee: Intel Corporation
    Inventors: Michael A. Fetterman, Glenn J. Hinton, Robert W. Martell, David B. Papworth
  • Patent number: 5546597
    Abstract: An instruction dispatch circuit is disclosed that improves instruction execution throughput for a processor. The instruction dispatch circuit comprises an instruction buffer with a plurality of instruction entries and a content addressable memory array having at least one cam entry corresponding to each instruction entry. Each cam entry stores at least one source tag for the corresponding instruction entry. The content addressable memory array matches to a result tag from an execution circuit over a result bus, wherein the execution circuit transfers the result tag over the result bus at least one clock cycle before transferring a corresponding result data value over the result bus. Each cam entry generates a cam match signal used to determine whether data dependent instruction are ready for dispatch.
    Type: Grant
    Filed: February 28, 1994
    Date of Patent: August 13, 1996
    Assignee: Intel Corporation
    Inventors: Robert W. Martell, Glenn J. Hinton, Michael A. Fetterman, David B. Papworth, Robert P. Colwell, Andrew F. Glew
  • Patent number: 5463745
    Abstract: Instructions are fetched and issued by an instruction fetch and issue circuit with the instructions' sizes in program order. An allocate circuit allocates reservation station entries in a reservation station circuit, and reorder buffer entries in a reorder circuit, for the issued instructions in order, storing the instructions' sizes in the allocated reorder buffer entries. The reservation and dispatch circuit dispatches the issued instructions to the execution circuits for execution when they are ready. The execution circuits store the result data including target addresses of branch instructions into the corresponding reorder buffer entries. During each retirement operation, a retire circuit reads the instruction sizes and the target addresses for a predetermined number of issued instructions from their allocated reorder buffer entries.
    Type: Grant
    Filed: December 22, 1993
    Date of Patent: October 31, 1995
    Assignee: Intel Corporation
    Inventors: Rohit A. Vidwans, Darrell D. Boggs, Michael A. Fetterman, Andrew F. Glew
  • Patent number: 5452426
    Abstract: A mechanism for coordinating source data in a processor, wherein a decode circuit issues instructions comprising at least one immediate valid flag and at least one logical register source. The immediate valid flag indicates whether an immediate operand for the instruction is available on an immediate data bus, and the logical register source specifies a physical register or a committed state register. A speculative result data value and a speculative source valid flag are read from the physical register, and a committed result data value is read from the committed state register. The speculative result data value and the speculative source valid flag or the committed result data value and the committed source valid flag provide a source data value and a source data valid flag for scheduling an execution of the instruction.
    Type: Grant
    Filed: January 4, 1994
    Date of Patent: September 19, 1995
    Assignee: Intel Corporation
    Inventors: David B. Papworth, Glenn J. Hinton, Michael A. Fetterman, Robert P. Colwell, Andrew F. Glew
  • Patent number: 5404473
    Abstract: In a pipelined processor, an apparatus for handling string operations. When a string operation is received by the processor, the length of the string as specified by the programmer is stored in a register. Next, an instruction sequencer issues an instruction that computes the register value minus a pre-determined number of iterations to be issued into the pipeline. Following the instruction, the pre-determined number of iterations are issued to the pipeline. When the instruction returns with the calculated number, the instruction sequencer then knows exactly how many iterations should be executed. Any extra iterations that had initially been issued are canceled by the execution unit, and additional iterations are issued as necessary. A loop counter in the instruction sequencer is used to track the number of iterations.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: April 4, 1995
    Assignee: Intel Corporation
    Inventors: David B. Papworth, Michael A. Fetterman, Andrew F. Glew, Lawrence O. Smith, III, Michael M. Hancock, Beth Schultz