Patents by Inventor Marvin Denman

Marvin Denman 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: 20120124345
    Abstract: A method and apparatus to utilize a fetching scheme for instructions in a processor to limit the expenditure of power caused by the speculative execution of branch instructions is provided. Also provided is a computer readable storage device encoded with data for adapting a manufacturing facility to create an apparatus. The method includes calculating a cumulative confidence measure based on one or more outstanding conditional branch instructions. The method also includes reducing prefetching operations in response to detecting that the cumulative confidence measure is below a first threshold level.
    Type: Application
    Filed: November 15, 2010
    Publication date: May 17, 2012
    Inventors: Marvin Denman, James Dundas, Bradley Gene Burgess, Jeff Rupley
  • Publication number: 20120124347
    Abstract: A method and apparatus to utilize a branch prediction scheme that limits the expenditure of power and the area consumed caused by branch prediction schemes is provided. The method includes accessing a first entry and a second entry of the data structure, wherein each entry stores a portion of a predicted target address, determining the predicted target address using the portion of the predicted target address stored in the first entry and a portion of a branch address of a fetched branch instruction for a fetched branch instruction of a first type, and determining the predicted target address using the portion of the predicted target address stored in the first entry and the portion of the predicted target address stored in the second entry for a fetched branch instruction of a second type.
    Type: Application
    Filed: November 12, 2010
    Publication date: May 17, 2012
    Inventors: James D. Dundas, Marvin A. Denman
  • Publication number: 20120124348
    Abstract: A method and apparatus are provided for increasing the accuracy of a branch predictor. A branch prediction table provides a first instance of a branch prediction value associated with an instruction being speculatively executed a first time; and provides a second instance of the branch prediction value associated with the instruction being speculatively executed a second rime. The first instance of the branch prediction value may be subsequently revised after the instruction associated with the first instance of the branch prediction value is retired. Information regarding whether that branch instruction was accurately predicted may then be used to update the branch prediction table and the second instance of the branch prediction value.
    Type: Application
    Filed: November 16, 2010
    Publication date: May 17, 2012
    Inventors: JAMES David DUNDAS, Nikhil Gupta, Marvin Denman
  • Patent number: 6477640
    Abstract: A branch prediction unit apparatus and method uses an instruction buffer (20), a completion unit (24), and a branch prediction unit (BPU) (28). The instruction buffer (20) and/or the completion unit (24) contain a plurality of instruction entries that contain valid bits and stream identifier (SID) bits. The branch prediction unit contains a plurality of branch prediction buffers (28a-28c). The SID bits are used to associate the pending and executing instructions in the units (20 and 24) into instruction streams related to predicted branches located in the buffers (28a-28c). The SID bits as well as age bits associated with the buffers (28a-28c) are used to perform efficient branch prediction, branch resolution/retirement, and branch misprediction recovery.
    Type: Grant
    Filed: September 11, 2000
    Date of Patent: November 5, 2002
    Assignee: Motorola, Inc.
    Inventors: Jeffrey Pidge Rupley, II, Marvin A. Denman, Bradley G. Burgess, David C. Holloway
  • Patent number: 6157998
    Abstract: A branch prediction unit apparatus and method uses an instruction buffer (20), a completion unit (24), and a branch prediction unit (BPU) (28). The instruction buffer (20) and/or the completion unit (24) contain a plurality of instruction entries that contain valid bits and stream identifier (SID) bits. The branch prediction unit contains a plurality of branch prediction buffers (28a-28c). The SID bits are used to associate the pending and executing instructions in the units (20 and 24) into instruction streams related to predicted branches located in the buffers (28a-28c). The SID bits as well as age bits associated with the buffers (28a-28c) are used to perform efficient branch prediction, branch resolution/retirement, and branch misprediction recovery.
    Type: Grant
    Filed: April 3, 1998
    Date of Patent: December 5, 2000
    Assignee: Motorola Inc.
    Inventors: Jeffrey Pidge Rupley, II, Marvin A. Denman, Bradley G. Burgess, David C. Holloway
  • Patent number: 5805877
    Abstract: A data processor (10) has a BTAC (48) storing a number of recently encountered fetch address-target address pairs. A branch unit (20) generates a fetch address that depends upon a condition precedent and a received branch instruction. After executing each branch instruction, the branch unit predicts whether the condition precedent will be met the next time it encounters the same branch instruction. If the predicted value of the condition precedent would cause the branch to be taken, then the branch unit adds the fetch address-target address pair corresponding to the branch instruction to the BTAC. If the predicted value of the condition precedent would cause the branch to be not taken, then the branch unit deletes the fetch address-target address pair corresponding to the branch instruction from the BTAC.
    Type: Grant
    Filed: September 23, 1996
    Date of Patent: September 8, 1998
    Assignee: Motorola, Inc.
    Inventors: Bryan P. Black, Marvin A. Denman, Jr., Seungyoon Peter Song
  • Patent number: 5761723
    Abstract: A data processor (10) has a branch target address cache (48) for storing the target addresses of a number of recently taken branch instructions. Normally, each fetch address is compared to the contents of the branch target address cache. If a hit occurs, then the data processor branches to the cached target address. The data processor also has a dispatch unit (60) that invalidates the data stored in the branch target address cache if and when it determines that the branch target address cache "hit" on an instruction that was not a branch instruction at all, a "phantom branch." The data processor thereby automatically invalidates its branch target address cache data after a context switch.
    Type: Grant
    Filed: April 8, 1996
    Date of Patent: June 2, 1998
    Assignee: Motorola, Inc.
    Inventors: Bryan P. Black, Marvin Denman, Mark A. Kearney, Seungyoon Peter Song
  • Patent number: 5717587
    Abstract: A method and system are disclosed for processing instructions within a data processing system including a processor having a plurality of execution units. According to the method of the present invention, a number of instructions stored within a memory within the data processing system are retrieved from memory. A selected instruction among the number of instructions is decoded to determine if the selected instruction would be noneffective if executed by the processor. In a preferred embodiment of the present invention, noneffective instructions include instructions with invalid opcodes and instructions that would not change the value of any data register within the processor. In response to determining that the selected instruction would be noneffective if executed by the processor, the selected instruction is recoded into a specified instruction format prior to dispatching the selected instruction to one of the number of execution units.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: February 10, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Bryan Black, Marvin A. Denman, Lee E. Eisen, Robert T. Golla, Albert J. Loper, Jr., Soummya Mallick, Russell Adley Reininger
  • Patent number: 5664215
    Abstract: The disclosed data processor (10) dispatches load/store multiple and load/store string instructions to a load/store unit (28) as a sequence of simple load or store instructions. The sequencer unit (18) assigns an entry of a rename buffer (34) to which the load/store unit writes back the data of each simple load instruction. This strategy facilitates early data forwarding for subsequent instructions. Conversely, the sequencer unit supplies a rename buffer tag to the load/store unit if it is not able to supply the operands of a simple store instruction.
    Type: Grant
    Filed: March 27, 1996
    Date of Patent: September 2, 1997
    Assignees: Motorola, Inc., IBM
    Inventors: David P. Burgess, Marvin Denman, Milton M. Hood, Jr., Mark A. Kearney, Lavanya Kling, Graham R. Murphy, Seungyoon Peter Song
  • Patent number: 5619408
    Abstract: A method and system are disclosed for processing instructions within a data processing system including a processor having a plurality of execution units. According to the method of the present invention, a number of instructions stored within a memory within the data processing system are retrieved from memory. A selected instruction among the number of instructions is decoded to determine if the selected instruction would be noneffective if executed by the processor. In a preferred embodiment of the present invention, noneffective instructions include instructions with invalid opcodes and instructions that would not change the value of any data register within the processor. In response to determining that the selected instruction would be noneffective if executed by the processor, the selected instruction is recoded into a specified instruction format prior to dispatching the selected instruction to one of the number of execution units.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: April 8, 1997
    Assignee: International Business Machines Corporation
    Inventors: Bryan Black, Marvin A. Denman, Lee E. Eisen, Robert T. Golla, Albert J. Loper, Jr., Soummya Mallick, Russell A. Reininger
  • Patent number: 5613081
    Abstract: A data processor (10) has an execution unit (18, 20) for generating the address of each requested data double-word. The data processor fetches the entire memory line, four double-words of data, containing the requested double-word when the requested double-word is not found in the data processor's memory cache. The data processor ultimately stores the requested data in the memory cache (40) when returned from an external memory system. The data processor also has forwarding circuitry (48, 50) for forwarding previously requested double-words directly to the execution unit under certain circumstances. The forwarding circuitry will forward a requested double-word if the data processor has not crossed a memory line boundary since the last memory cache miss and if the two least significant bits of the requested and received double-words logically match.
    Type: Grant
    Filed: September 11, 1995
    Date of Patent: March 18, 1997
    Assignee: Motorola, Inc.
    Inventors: Bryan P. Black, Marvin A. Denman
  • Patent number: 5530825
    Abstract: A data processor (10) has a BTAC (48) storing a number of recently encountered fetch address-target address pairs. Each pair also includes an offset tag identifying which one of a plurality of instructions indexed by the fetch address generated the entry. A branch unit (20) generates an execution address that depends upon one of the plurality of instructions. After executing each instruction, the branch unit may delete an entry from the BTAC if the instruction's execution address differs from the target address and if the instruction is the same instruction which generated the BTAC entry initially.
    Type: Grant
    Filed: April 15, 1994
    Date of Patent: June 25, 1996
    Assignee: Motorola, Inc.
    Inventors: Bryan P. Black, Marvin A. Denman
  • Patent number: 5524224
    Abstract: A processing system and method of operation are provided, In response to a branch instruction, a first instruction is processed so that a storage location is associated with the first instruction prior to execution of the branch instruction. In response to execution of the branch instruction, a second instruction is processed independent of information previously stored in the storage location so that the storage location is associated with the second instruction prior to completion of the branch instruction.
    Type: Grant
    Filed: June 30, 1995
    Date of Patent: June 4, 1996
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Marvin A. Denman, Artie A. Pennington, Seungyoon P Song
  • Patent number: 5493669
    Abstract: A data processor has a plurality of execution units (12), a rename buffer (14) coupled to at least one of the execution units and a plurality of architectural registers (16) coupled to at least one execution unit and to the rename buffer. The rename buffer periodically receives and stores the result and periodically receives requests for the operand. Each received result and operand is associated with an architectural register. The rename buffer periodically forwards one of a set of received results to an execution unit. Each received result of the set is associated with the same architectural register. The rename buffer is operable to determine which entry is the most recently allocated among several that will update the same architectural register. This ability to both manage results destined for the same architectural register and to forward only the appropriate value increases data processor throughput and reduces instruction stalls.
    Type: Grant
    Filed: March 3, 1993
    Date of Patent: February 20, 1996
    Assignee: Motorola, Inc.
    Inventor: Marvin A. Denman, Jr.
  • Patent number: 4903264
    Abstract: A pipelined data unit for use in a data processor, the data unit having special input operand check logic for involking a precise exception handling mechanism if either or both of the input operands fails the check, and output result format logic for involking an imprecise exception handling mechanism if the output result cannot be provided in a selected format. Special buffers are also provided to allow the control and status information unique to each instruction to flow through the pipeline together with that instruction. Sufficient information relating to each instruction being executed in the data unit is retained and made readily available to the handlers, so that each type of exception may be handled, should recovery be possible.
    Type: Grant
    Filed: April 18, 1988
    Date of Patent: February 20, 1990
    Assignee: Motorola, Inc.
    Inventors: Yoav Talgam, Mitch K. Alsup, Marvin A. Denman
  • Patent number: 4893268
    Abstract: A circuit for use in conjunction with a multiplier receives a portion of completed product bits and a portion of sum and carry bits which, when accumulated, provide a complete output product operand. The circuit is adaptable for use with input operands having single or double precision data formats. The accumulation time required depends upon which data format mode the circuit is operating in.
    Type: Grant
    Filed: April 15, 1988
    Date of Patent: January 9, 1990
    Assignee: Motorola, Inc.
    Inventors: Marvin A. Denman, Jr., John M. Young, Mitch K. Alsup
  • Patent number: 4893267
    Abstract: In a data processor having an integer arithmetic unit, the carry-in control logic, carry-out control logic, and the overflow control logic of the arithmetic unit are adapted to be directly controlled by respective carry-in enable, carry-out enable, and overflow enable fields of the integer arithmetic instructions during the execution thereof.
    Type: Grant
    Filed: November 1, 1988
    Date of Patent: January 9, 1990
    Assignee: Motorola, Inc.
    Inventors: Mitchell Alsup, Yoav Talgam, Marvin A. Denman