Patents by Inventor Darrell D. Boggs

Darrell D. Boggs 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: 20030023816
    Abstract: A method for maintaining an instruction in a pipelined processor using inuse fields. The method involves receiving a read request for an instruction, sending the instruction in response to the read request and setting an inuse field associated with the instruction to inuse. Alternate embodiments of the method involve transmitting the instruction in response to the read request, receiving a notification of instruction retirement and resetting the inuse field in the ITLB. The method can also be used in the ICACHE in which inuse fields are associated with each instruction stored in the ICACHE. Other embodiments of the method can be used concurrently in the ITLB and the ICACHE as a resource tracking mechanism to maintain resources.
    Type: Application
    Filed: August 15, 2002
    Publication date: January 30, 2003
    Inventors: Alan B. Kyker, Darrell D. Boggs
  • Publication number: 20020199088
    Abstract: In a multi-threaded processor, thread priority variables are set up in memory. The actual assignment of thread priority is based on the expiration of a thread precedence counter. To further augment, the effectiveness of the thread precedence counters, starting counters are associated with each thread that serve as a multiplier for the value to be used in the thread precedence counter. The value in the starting counters are manipulated so as to prevent one thread from getting undue priority to the resources of the multi-threaded processor.
    Type: Application
    Filed: June 22, 2001
    Publication date: December 26, 2002
    Inventors: David W. Burns, James D. Allen, Michael D. Upton, Darrell D. Boggs, David J. Sager
  • Publication number: 20020199089
    Abstract: In a multi-threaded processor, thread priority variables are set up in memory. According to an embodiment of the present invention, several conditions are monitored so as to determine an indication of instruction side starvation may be approaching. If such starvation is approaching, the starvation is resolved upon the expiration of a threshold counter or the like.
    Type: Application
    Filed: June 22, 2001
    Publication date: December 26, 2002
    Inventors: David W. Burns, James D. Allen, Michael D. Upton, Darrell D. Boggs, Alan B. Kyker
  • Patent number: 6467027
    Abstract: A method for maintaining an instruction in a pipelined processor using inuse fields. The method involves receiving a read request for an instruction, sending the instruction in response to the read request and setting an inuse field associated with the instruction to inuse. Alternate embodiments of the method involve transmitting the instruction in response to the read request, receiving a notification of instruction retirement and resetting the inuse field in the ITLB. The method can also be used in the ICACHE in which inuse fields are associated with each instruction stored in the ICACHE. Other embodiments of the method can be used concurrently in the ITLB and the ICACHE as a resource tracking mechanism to maintain resources.
    Type: Grant
    Filed: December 30, 1999
    Date of Patent: October 15, 2002
    Assignee: Intel Corporation
    Inventors: Alan B. Kyker, Darrell D. Boggs
  • Patent number: 6385715
    Abstract: A processor is provided that includes an execution unit for executing instructions and a replay system for replaying instructions which have not executed properly. The replay system is coupled to the execution unit and includes a checker for determining whether each instruction has executed properly and a plurality of replay queues or replay queue sections coupled to the checker for temporarily storing one or more instructions for replay. In one embodiment, thread-specific replay queue sections may each be used to store long latency instruction for each thread until the long latency instruction is ready to be executed (e.g., data for a load instruction has been retrieved from external memory). By storing the long latency instruction and its dependents in a replay queue section for one thread which has stalled, execution resources are made available for improving the speed of execution of other threads which have not stalled.
    Type: Grant
    Filed: May 4, 2001
    Date of Patent: May 7, 2002
    Assignee: Intel Corporation
    Inventors: Amit A. Merchant, Darrell D. Boggs, David J. Sager
  • Patent number: 6163838
    Abstract: A computer processor includes a multiplexer having a first input, a second input, and an output, and a scheduler coupled to the multiplexer first input. The processor further includes an execution unit coupled to the multiplexer output. The execution unit is adapted to receive a plurality of instructions from the multiplexer. The processor further includes a replay system coupled to the second multiplexer input and the scheduler. The replay system replays an instruction that has not correctly executed by sending a stop scheduler signal to the scheduler and sending the instruction to the multiplexer.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: December 19, 2000
    Assignee: Intel Corporation
    Inventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs
  • Patent number: 6094717
    Abstract: A computer processor includes a multiplexer having a first input, a second input, a third input, and an output. The processor further includes a scheduler coupled to the multiplexer first input, an execution unit coupled to the multiplexer output, and a replay system that has an input coupled to the multiplexer output. The replay system includes a first checker coupled to the replay system input and the second multiplexer input, and a second checker coupled to the first checker and the third multiplexer input.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: July 25, 2000
    Assignee: Intel Corp.
    Inventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs, Michael D. Upton
  • Patent number: 6041403
    Abstract: A method and apparatus for decoding a macroinstruction, the macroinstruction including an operational code (opcode) and a specification of an operand, is described. The method includes two primary steps, which are performed either serially or in parallel. When performed serially, the steps may be performed in any order. The first primary step involves the generation of a first micro-instruction, specifying a first micro-operation, the first micro-instruction being derived from the specification of the operand of the macroinstruction. The second primary step involves the generation of a second micro-instruction, specifying a second micro-operation, the second micro-instruction being derived from the opcode of macroinstruction. The specification of the operand may specify the operand to be either a memory operand or a register operand in a manner that necessitates data processing or manipulation prior to a memory access or to execution of the second micro-instruction.
    Type: Grant
    Filed: September 27, 1996
    Date of Patent: March 21, 2000
    Assignee: Intel Corporation
    Inventors: Donald D. Parker, Darrell D. Boggs, Alan B. Kyker
  • Patent number: 6026477
    Abstract: An improved branch recovery mechanism includes an instruction fetch unit, an instruction decode stage, a branch prediction unit coupled to the decode stage for predicting whether the branch instruction will be taken, and an instruction pool for receiving and storing micro-ops. After a mispredicted branch is detected, micro-ops corresponding to a correct path are loaded into the instruction pool without waiting for the mispredicted branch instruction to be retired. By immediately loading the correct path into the instruction pool, Front End stall time can be reduced. Micro-ops in the instruction pool are distinguished based on path information for each micro-op stored in the instruction pool. The micro-ops corresponding to the mispredicted path are deleted as quickly as possible without committing their execution results to architectural state.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: February 15, 2000
    Assignee: Intel Corporation
    Inventors: Alan B. Kyker, Darrell D. Boggs
  • Patent number: 5974523
    Abstract: A mechanism for efficiently overlapping multiple operand types is used in a microprocessor which includes a plurality of execution units and a mechanism to provide operations, which include one or more operands, to the plurality of execution units. Each of the plurality of execution units interprets the one or more operands as different types of operands, and the mechanism to provide operations overlaps the different types of operands.
    Type: Grant
    Filed: September 6, 1996
    Date of Patent: October 26, 1999
    Assignee: Intel Corporation
    Inventors: Andrew F. Glew, Darrell D. Boggs, Michael A. Fetterman, Glenn J. Hinton, Robert P. Colwell, David B. Papworth
  • Patent number: 5913050
    Abstract: This invention overcomes the address size backward compatibility problem by first subtracting the segment base address from the linear destination address of a branch instruction to generate a virtual destination address. It is assumed that the branch instruction destination address is n bits long with m most significant bits. It is desired to provide backward compatibility in the n-bit processor for branch instruction code written for processors utilizing instruction address fields of size (n-m) bits. After obtaining the virtual address, if any of the m most significant bits are non-zero, then those m bits are set to zero to thereby generate a corrected virtual address. If such a compatibility correction is necessary, then a clear signal is asserted to flush all state of the processor that resulted from instructions being fetched after the branch instruction was fetched. The corrected virtual address is added back to the segment base address to generate a corrected linear address.
    Type: Grant
    Filed: October 22, 1996
    Date of Patent: June 15, 1999
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Robert P. Colwell, Michael A. Fetterman, Andrew F. Glew, Glenn J. Hinton, David B. Papworth
  • Patent number: 5740393
    Abstract: A method for enforcing an instruction pointer limit in a processor, wherein a retire circuit determines a speculative instruction pointer for a set of retiring instruction during a retirement operation. The retire circuit also determines whether each speculative instruction pointer exceeds the instruction pointer limit. The retire circuit commits the result data value of each instruction to the architectural state if the speculative instruction pointer for the result data value does not exceed the instruction pointer limit.
    Type: Grant
    Filed: September 30, 1996
    Date of Patent: April 14, 1998
    Assignee: Intel Corporation
    Inventors: Rohit A. Vidwans, Darrell D. Boggs, Michael A. Fetterman, Andrew F. Glew
  • 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: 5625788
    Abstract: An out-of-order microprocessor signals event occurrence and provides event handling information utilizing a novel instruction issued to an execution unit upon detection of the condition giving rise to the event. Event information includes the type of event and characteristic information and data for use by a coded routine which handles the event. A reorder buffer stores this information to facilitate event handling actions and state updates. A retirement control circuit of the microprocessor includes a posting mechanism for use by the event handling routine.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: April 29, 1997
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Scott D. Rodgers
  • Patent number: 5581717
    Abstract: Decoding circuitry and a method supplying an immediate field that is issued from a decoder. A macroinstruction is supplied to the decoding circuit, which generates a first micro-operation that includes a first aliasing field and a first immediate field. The first aliasing field indicates the source of the micro-operation that will eventually be issued from the decoder. If the source is the first immediate field, then the alias field is further examined to determine the interpretation to be placed upon the data. The data may be interpreted literally, or as an address into a constant ROM, thereby providing an ability to output wide, 32-bit immediate data from a narrower, 9-bit input addresses. Additional sources for immediate data include macro-alias registers, macro-branch information, and micro-branch information.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: December 3, 1996
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Gary L. Brown, Donald D. Parker
  • Patent number: 5566298
    Abstract: A state recovery and restart method that simplifies assist handling. The recovery and restart method also handles micro-branch mispredictions. An assist sequence is executed in microcode to assist an error-causing macroinstruction. If data is required from an error-causing macroinstruction, it is fetched, decoded, and macro-alias registers are restored with macro-alias data. To recover the state of the micro-alias registers, micro-alias data from a micro-operation of the flow may be loaded into the micro-alias register. Subsequently, control returns to the Micro-operation Sequence (MS) unit to issue further error correction Control micro-operations (Cuops). In order to simplify restart, the Cuops originating from the error-causing macroinstruction supplied by the translate programmable logic arrays (XLAT PLAs) are loaded into the Cuop registers, with their valid bits unasserted.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: October 15, 1996
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Gary L. Brown, Michael M. Hancock, Donald D. Parker, Gail M. Rupnick
  • Patent number: 5559974
    Abstract: A decoder that includes a micro-alias register to store information from a micro-operation for use by later micro-operations in the micro-operation flow. The decoder includes one or more XLAT PLAs that produces PLA control micro-operations ("Cuops"), a microcode sequencing unit that produces microcode Cuops, and an aliasing mechanism that extracts fields and stores them in macro-alias registers. A multiplexer is provided to select the appropriate Cuop to be stored in a Cuop register. Multiple Cuops may issue each cycle. A multiplexer is coupled to select one of the Cuops and to store predetermined fields in the micro-alias register for use by subsequent Cuops. Micro-alias data and macro-alias data can be utilized simultaneously with a Cuop to form an Auop.
    Type: Grant
    Filed: June 2, 1995
    Date of Patent: September 24, 1996
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Gary L. Brown, Michael M. Hancock, Donald D. Parker
  • Patent number: 5537560
    Abstract: The present invention provides a microinstruction for conditionally selecting one of two data values based upon control states of a processor. The microinstruction is preferably utilized in an out-of-order processor, although it may be used in conventional processors, to perform state dependent operations, including but not limited to privilege or mode sensitive instruction checking, privilege or mode sensitive algorithm execution and processor state updating. This is accomplished through the issuance from microcode to an execution unit upon decoding of a state dependent instruction a conditional move operation that takes advantage of condition resolving circuitry implemented within the execution unit. The execution unit's circuitry makes available processor state information in the form of result values that can be immediately used by the microinstruction upon its execution to resolve the conditions which it specifies.
    Type: Grant
    Filed: March 1, 1994
    Date of Patent: July 16, 1996
    Assignee: Intel Corporation
    Inventors: Darrell D. Boggs, Alan B. Kyker, Scott D. Rodgers
  • 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