Patents by Inventor David B. Papworth

David B. Papworth 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: 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: 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: 5471633
    Abstract: A register alias table unit (RAT) with an idiom recognition mechanism for overriding partial width conditions stalls is described. A partial width stall condition occurs during the RAT renaming process when a logical source register being renamed is larger than the corresponding physical source register pointed to by a renaming table. An idiom recognizer detects uops that zero their logical destination register and sets and clears zero bits in an iRAT array accordingly. The zero bits indicate which portions of an entry's physical source register are known to be zeros. A partial width stall override mechanism overrides a partial width stall condition when the zero bits for the physical source register causing the partial width stall indicate that the "missing" portion of the physical source register contains zeros. The performance of a microprocessor implementing such a RAT renaming mechanism with an idiom recognizer is improved because common partial width stalls are avoided.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: November 28, 1995
    Assignee: Intel Corporation
    Inventors: Robert P. Colwell, Andrew F. Glew, David B. Papworth, Glenn J. Hinton, David W. Clift
  • 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
  • Patent number: 5307506
    Abstract: A parallel processor has a plurality of communication buses advantageously interconnecting the arithmetic processor elements, the memory controller elements, a global controller circuitry, and input/output processors. The processor preferably has at least one central processing unit cluster, the cluster having at least one integer processor and one floating point processor. A plurality of I/F buses interconnect the integer and floating point processors of a cluster for communications therebetween. Integer load buses connect the integer processors of each cluster and selectively connect those processors to the memory controllers for transferring data from memory to the clusters and for providing inter-integer processor data communications. A plurality of floating point load buses connect the floating point processors of the clusters to selected memory controllers for transferring data from the controllers to the floating point processors and for providing inter-floating point processor data communications.
    Type: Grant
    Filed: September 16, 1992
    Date of Patent: April 26, 1994
    Assignee: Digital Equipment Corporation
    Inventors: Robert P. Colwell, John O'Donnell, David B. Papworth, Paul K. Rodman
  • Patent number: 5179680
    Abstract: A method and apparatus for storing an instruction word in a compacted form on a storage media, the instruction word having a plurality of instruction fields, features associating with each instruction word, a mask word having a length in bits at least equal to the number of instruction fields in the instruction word. Each instruction field is associated with a bit of the mask word and accordingly, using the mask word, only non-zero instruction fields need to be stored in memory. The instruction compaction method is advantageously used in a high speed cache miss engine for refilling portions of instruction cache after a cache miss occurs.
    Type: Grant
    Filed: May 30, 1991
    Date of Patent: January 12, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Robert P. Colwell, John O'Donnell, David B. Papworth, Paul K. Rodman
  • Patent number: 5057837
    Abstract: A method and apparatus for storing an instruction word in a compacted form on a storage media, the instruction word having a plurality of instruction fields, features associating with each instruction word, a mask word having a length in bits at least equal to the number of instruction fields in the instruction word. Each instruction field is associated with a bit of the mask word and accordingly, using the mask word, only non-zero instruction fields need to be stored in memory. The instruction compaction method is advantageously used in a high speed cache miss engine for refilling portions of instruction cache after a cache miss occurs.
    Type: Grant
    Filed: January 30, 1990
    Date of Patent: October 15, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Robert P. Colwell, John O'Donnell, David B. Papworth, Paul K. Rodman
  • Patent number: 4920477
    Abstract: A data processor has a central processing unit and at least one pipelined memory controller circuitry. The central processing unit addresses data in the memory using a virtual address memory table lookaside buffer and features a data miss recovery circuitry wherein, after a memory access error condition has been detected, the instruction causing the error condition, and those instructions entering the memory pipeline after the instruction causing the error condition, are replayed. The method and apparatus for replaying the instructions use first in-first out buffers for storing the virtual address data and instruction status data relating to each memory access instruction. That stored data is then retrieved after an error condition is detected so that the instruction sequence, beginning at the data miss, can be replayed.
    Type: Grant
    Filed: April 20, 1987
    Date of Patent: April 24, 1990
    Assignee: Multiflow Computer, Inc.
    Inventors: Robert P. Colwell, John O'Donnell, David B. Papworth, Paul K. Rodman
  • Patent number: 4833599
    Abstract: In a parallel data processing system having a plurality of separately operating arithmetic processing units, a method and apparatus allows a plurality of branch instructions to be operated upon in a single machine cycle. The branch instructions have associated therewith a hierarchical priority system and the method and apparatus determine which branch, if any, should be taken. In particular, the method and apparatus simultaneously determine, during the parallel execution of the branch instructions, whether any branch test condition associated with a branch instruction is true, and independently, the target address for each branch instruction and a fall-through instruction address if a branch instruction is not taken.
    Type: Grant
    Filed: April 20, 1987
    Date of Patent: May 23, 1989
    Assignee: Multiflow Computer, Inc.
    Inventors: Robert P. Colwell, John O'Donnell, David B. Papworth, Paul K. Rodman
  • Patent number: 4777594
    Abstract: A data processing system for processing a sequence of program instructions has a pipeline structure which includes an instruction pipeline and an execution pipeline. Each of the instruction and execution pipelines has a plurality of serially operating stages. The instruction pipeline reads instructions from storage and forms therefrom address data to be employed by the execution pipeline. The execution pipeline receives the address data and uses it for referencing stored data to be employed for execution of the program instructions. A program instruction flow prediction apparatus and method employ a high speed flow prediction storage element for predicting redirection of program flow prior to the time when the instruction has been decoded. Circuitry is further provided for updating the storage element, correcting erroneous branch and/or non-branch predictions, and accommodating instructions occurring on even or odd boundaries of the normally read double word instruction.
    Type: Grant
    Filed: February 10, 1984
    Date of Patent: October 11, 1988
    Assignee: Prime Computer, Inc.
    Inventors: Walter A. Jones, Paul R. Jones, Jr., David B. Papworth
  • Patent number: 4760519
    Abstract: A data processing system for processing a sequence of program instructions has a pipeline structure including an instruction pipeline and an execution pipeline. Each pipeline has a plurality of serially operating stages. The stages read from and modify memory at various stages of instruction processing. Collisions between data read from a register in the instruction pipeline phase of operation in response to a first instruction and write data written into the register during the execution phase of operation in response to an earlier instruction can be detected and predicted. In response thereto, the new data can be substituted directly for the modified data in the pipeline itself to provide continued valid operation. In addition, the apparatus and method provide for altering the flow of the instructions through the pipeline in order to accommodate newly generated data and to avoid invalid operation.
    Type: Grant
    Filed: September 15, 1986
    Date of Patent: July 26, 1988
    Assignee: Prime Computer, Inc.
    Inventors: David B. Papworth, Joseph L. Ardini, Jr.
  • Patent number: 4561051
    Abstract: A multiprocessor data processing system in which a number of independent processors can concurrently operate on a shared memory even when one processor is performing a read-modify-write (RMW) operation, the system having a locking, content-associative write buffer and a controller for identifying RMW requests, for addressing the buffer and, for issuing directives to lock the buffer, to validate particular data blocks in the buffer and to transfer data back and forth between the processors, the memory and the buffer.
    Type: Grant
    Filed: February 10, 1984
    Date of Patent: December 24, 1985
    Assignee: Prime Computer, Inc.
    Inventors: Paul K. Rodman, Joseph L. Ardini, Jr., David B. Papworth