Patents by Inventor James Norris Dieffenderfer

James Norris Dieffenderfer 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: 20090210663
    Abstract: A processor includes a conditional branch instruction prediction mechanism that generates weighted branch prediction values. For weakly weighted predictions, which tend to be less accurate than strongly weighted predictions, the power associating with speculatively filling and subsequently flushing the cache is saved by halting instruction prefetching. Instruction fetching continues when the branch condition is evaluated in the pipeline and the actual next address is known. Alternatively, prefetching may continue out of a cache. To avoid displacing good cache data with instructions prefetched based on a mispredicted branch, prefetching may be halted in response to a weakly weighted prediction in the event of a cache miss.
    Type: Application
    Filed: May 4, 2009
    Publication date: August 20, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Thomas Andrew Sartorius, Victor Roberts Augsburg, James Norris Dieffenderfer, Jeffrey Todd Bridges, Michael Scott McIlvaine, Rodney Wayne Smith
  • Patent number: 7568070
    Abstract: A fixed number of variable-length instructions are stored in each line of an instruction cache. The variable-length instructions are aligned along predetermined boundaries. Since the length of each instruction in the line, and hence the span of memory the instructions occupy, is not known, the address of the next following instruction is calculated and stored with the cache line. Ascertaining the instruction boundaries, aligning the instructions, and calculating the next fetch address are performed in a predecoder prior to placing the instructions in the cache.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: July 28, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Jeffrey Todd Bridges, James Norris Dieffenderfer, Rodney Wayne Smith, Thomas Andrew Sartorius
  • Publication number: 20090119486
    Abstract: A method for retrieving a return address from a link stack when returning from a procedure in a pipeline processor is disclosed. The method identifies a retrieve instruction operable to retrieve a return address from a software stack. The method further identifies a branch instruction operable to branch to the return address. The method retrieves the return address from the link stack, in response to both the instruction and the branch instruction being identified and fetches instructions using the return address.
    Type: Application
    Filed: November 2, 2007
    Publication date: May 7, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: James Norris Dieffenderfer, Michael William Morrow
  • Publication number: 20090119485
    Abstract: A predecode repair cache is described in a processor capable of fetching and executing variable length instructions having instructions of at least two lengths which may be mixed in a program. An instruction cache is operable to store in an instruction cache line instructions having at least a first length and a second length, the second length longer than the first length. A predecoder is operable to predecode instructions fetched from the instruction cache that have invalid predecode information to form repaired predecode information. A predecode repair cache is operable to store the repaired predecode information associated with instructions of the second length that span across two cache lines in the instruction cache. Methods for filling the predecode repair cache and for executing an instruction that spans across two cache lines are also described.
    Type: Application
    Filed: November 2, 2007
    Publication date: May 7, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Rodney Wayne Smith, Brian Michael Stempel, David John Mandzak, James Norris Dieffenderfer
  • Patent number: 7523265
    Abstract: Systems and arrangements promoting a line from shared to exclusive in cache are contemplated. Embodiments include a cache controller adapted to determine whether a memory line for which the processor is to issue an address-only kill request resides in a fill buffer for the cache line in a shared state. If so, the cache controller may mark the fill buffer as not having completed bus transactions and issue the address-only kill request for that fill buffer. The address-only kill request may transmit to other processors on the bus and the other processors may respond by invalidating the cache entries for the memory line. Upon confirmation from the other processors, a bus arbiter may confirm the kill request, promoting the memory line already in that fill buffer to exclusive state. Once promoted, the fill buffer may be marked as having completed the bus transactions and may be written into the cache.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: April 21, 2009
    Assignee: International Business Machines Corporation
    Inventors: James Norris Dieffenderfer, Praveen G. Karandikar, Michael Bryan Mitchell, Thomas Philip Speier, Paul Michael Steinmetz
  • Publication number: 20090094444
    Abstract: Whenever a link address is written to the link stack, the prior value of the link stack entry is saved, and is restored to the link stack after a link stack push operation is speculatively executed following a mispredicted branch. This condition is detected by maintaining a count of the total number of uncommitted link stack write instructions in the pipeline, and a count of the number of uncommitted link stack write instructions ahead of each branch instruction. When a branch is evaluated and determined to have been mispredicted, the count associated with it is compared to the total count. A discrepancy indicates a link stack write instruction was speculatively issued into the pipeline after the mispredicted branch instruction, and pushed a link address onto the link stack. The prior link address is restored to the link stack from the link stack restore buffer.
    Type: Application
    Filed: October 5, 2007
    Publication date: April 9, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: James Norris Dieffenderfer, Brian Michael Stempel, Rodney Wayne Smith
  • Patent number: 7500045
    Abstract: The disclosure is directed to a weakly-ordered processing system and method for enforcing strongly-ordered memory access requests in a weakly-ordered processing system. The processing system includes a plurality of memory devices and a plurality of processors. A bus interconnect is configured to interface the processors to the memory devices. The bus interconnect is further configured to enforce an ordering constraint for a strongly-ordered memory access request from an originating processor to a target memory device by sending a memory barrier to each of the other memory devices accessible by the originating processor, except for those memory devices that the bus interconnect can confirm have no unexecuted memory access requests from the originating processor.
    Type: Grant
    Filed: October 20, 2005
    Date of Patent: March 3, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Richard Gerard Hofmann, James Norris Dieffenderfer, Thomas Sartorius, Thomas Philip Speier, Jaya Prakash Subramaniam Ganasan
  • Publication number: 20090019229
    Abstract: A system and method taught herein control data prefetching for a data cache by tracking prefetch hits and overall hits for the data cache. Data prefetching for the data cache is disabled based on the tracking of prefetch hits and data prefetching is enabled for the data cache based on the tracking of overall hits. For example, in one or more embodiments, a cache controller is configured to track a prefetch hit rate reflecting the percentage of hits on the data cache that involve prefetched data lines and disable data prefetching if the prefetch hit rate falls below a defined threshold. The cache controller also tracks an overall hit rate reflecting the overall percentage of data cache hits (versus misses) and enables data prefetching if the overall hit rate falls below a defined threshold.
    Type: Application
    Filed: July 10, 2007
    Publication date: January 15, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Michael William Morrow, James Norris Dieffenderfer
  • Patent number: 7478228
    Abstract: An apparatus for emulating the branch prediction behavior of an explicit subroutine call is disclosed. The apparatus includes a first input which is configured to receive an instruction address and a second input. The second input is configured to receive predecode information which describes the instruction address as being related to an implicit subroutine call to a subroutine. In response to the predecode information, the apparatus also includes an adder configured to add a constant to the instruction address defining a return address, causing the return address to be stored to an explicit subroutine resource, thus, facilitating subsequent branch prediction of a return call instruction.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: January 13, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Brian Michael Stempel, James Norris Dieffenderfer, Thomas Andrew Sartorius, Rodney Wayne Smith
  • Publication number: 20080313410
    Abstract: Embodiments include a cache controller adapted to determine whether a memory line for which the processor is to issue an address-only kill request resides in a fill buffer for the cache line in a shared state. If so, the cache controller may mark the fill buffer as not having completed bus transactions and issue the address-only kill request for that fill buffer. The address-only kill request may transmit to other processors on the bus and the other processors may respond by invalidating the cache entries for the memory line. Upon confirmation from the other processors, a bus arbiter may confirm the kill request, promoting the memory line already in that fill buffer to exclusive state. Once promoted, the fill buffer may be marked as having completed the bus transactions and may be written into the cache.
    Type: Application
    Filed: August 22, 2008
    Publication date: December 18, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Norris Dieffenderfer, Praveen G. Karandikar, Michael Bryan Mitchell, Thomas Philip Speier, Paul Michael Steinmetz
  • Publication number: 20080288753
    Abstract: An apparatus for emulating the branch prediction behavior of an explicit subroutine call is disclosed. The apparatus includes a first input which is configured to receive an instruction address and a second input. The second input is configured to receive predecode information which describes the instruction address as being related to an implicit subroutine call to a subroutine. In response to the predecode information, the apparatus also includes an adder configured to add a constant to the instruction address defining a return address, causing the return address to be stored to an explicit subroutine resource, thus, facilitating subsequent branch prediction of a return call instruction.
    Type: Application
    Filed: July 31, 2008
    Publication date: November 20, 2008
    Applicant: QUALCOMM INCORPORATED
    Inventors: Brian Michael Stempel, James Norris Dieffenderfer, Thomas Andrew Sartorius, Rodney Wayne Smith
  • Patent number: 7454538
    Abstract: Data from a source domain operating at a first data rate is transferred to a FIFO in another domain operating at a different data rate. The FIFO buffers data before transfer to a sink for further processing or storage. A source side counter tracks space available in the FIFO. In disclosed examples, the initial counter value corresponds to FIFO depth. The counter decrements in response to a data ready signal from the source domain, without delay. The counter increments in response to signaling from the sink domain of a read of data off the FIFO. Hence, incrementing is subject to the signaling latency between domains. The source may send one more beat of data when the counter indicates the FIFO is full. The last beat of data is continuously sent from the source until it is indicated that a FIFO position became available; effectively providing one more FIFO position.
    Type: Grant
    Filed: May 11, 2005
    Date of Patent: November 18, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Kenneth Alan Dockser, Victor Roberts Augsburg, James Norris Dieffenderfer, Jeffrey Todd Bridges, Robert Douglas Clancy, Thomas Andrew Sartorius
  • Publication number: 20080281996
    Abstract: Data from a source domain operating at a first data rate is transferred to a FIFO in another domain operating at a different data rate. The FIFO buffers data before transfer to a sink for further processing or storage. A source side counter tracks space available in the FIFO. In disclosed examples, the initial counter value corresponds to FIFO depth. The counter decrements in response to a data ready signal from the source domain, without delay. The counter increments in response to signaling from the sink domain of a read of data off the FIFO. Hence, incrementing is subject to the signaling latency between domains. The source may send one more beat of data when the counter indicates the FIFO is full. The last beat of data is continuously sent from the source until it is indicated that a FIFO position became available; effectively providing one more FIFO position.
    Type: Application
    Filed: July 25, 2008
    Publication date: November 13, 2008
    Applicant: QUALCOMM INCORPORATED
    Inventors: Kenneth Alan Dockser, Victor Roberts Augsburg, James Norris Dieffenderfer, Jeffrey Todd Bridges, Robert Douglas Clancy, Thomas Andrew Sartorius
  • Patent number: 7437537
    Abstract: In an instruction execution pipeline, the misalignment of memory access instructions is predicted. Based on the prediction, an additional micro-operation is generated in the pipeline prior to the effective address generation of the memory access instruction. The additional micro-operation accesses the memory falling across a predetermined address boundary. Predicting the misalignment and generating a micro-operation early in the pipeline ensures that sufficient pipeline control resources are available to generate and track the additional micro-operation, avoiding a pipeline flush if the resources are not available at the time of effective address generation. The misalignment prediction may employ known conditional branch prediction techniques, such as a flag, a bimodal counter, a local predictor, a global predictor, and combined predictors. A misalignment predictor may be enabled or biased by a memory access instruction flag or misaligned instruction type.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: October 14, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Jeffrey Todd Bridges, Victor Roberts Augsburg, James Norris Dieffenderfer, Thomas Andrew Sartorius
  • Publication number: 20080244234
    Abstract: A method of processing a plurality of instructions in multiple pipeline stages within a pipeline processor is disclosed. The method partially or wholly executes a stalled instruction in a pipeline stage that has a function other than instruction execution prior to the execution stage within the processor. Partially or wholly executing the instruction prior to the execution stage in the pipeline speeds up the execution of the instruction and allows the processor to more effectively utilize its resources, thus increasing the processor's efficiency.
    Type: Application
    Filed: March 28, 2007
    Publication date: October 2, 2008
    Applicant: QUALCOMM INCORPORATED
    Inventors: Kiran Ravi Seth, James Norris Dieffenderfer, Michael Scott McIlvaine, Nathan Samuel Nunamaker
  • Patent number: 7426626
    Abstract: A processor includes a hierarchical Translation Lookaside Buffer (TLB) comprising a Level-1 TLB and a small, high-speed Level-0 TLB. Entries in the L0 TLB replicate entries in the L1 TLB. The processor first accesses the L0 TLB in an address translation, and access the L1 TLB if a virtual address misses in the L0 TLB. When the virtual address hits in the L1 TLB, the virtual address, physical address, and page attributes are written to the L0 TLB, replacing an existing entry if the L0 TLB is full. The entry may be locked against replacement in the L0 TLB in response to an L0 Lock (L0L) indicator in the L1 TLB entry. Similarly, in a hardware-managed L1 TLB, entries may be locked against replacement in response to an L1 Lock (L1L) indicator in the corresponding page table entry.
    Type: Grant
    Filed: August 23, 2005
    Date of Patent: September 16, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Victor Roberts Augsburg, James Norris Dieffenderfer, Jeffrey Todd Bridges, Thomas Andrew Sartorius
  • Patent number: 7424563
    Abstract: A processor provides two-level interrupt servicing. In one embodiment, the processor comprises a storage device and an interrupt handler. The storage device is configured to store an interrupt identifier corresponding to an interrupt request. The interrupt handler is configured to recognize the interrupt request, initiate a common interrupt service routine responsive to recognizing the interrupt request and subsequently initiate an interrupt service routine corresponding to the stored interrupt identifier.
    Type: Grant
    Filed: February 24, 2006
    Date of Patent: September 9, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Michael Egnoah Birenbach, Gregory Lee Brookshire, James Norris Dieffenderfer, Stephen G. Geist, Richard Alan Moore, Thomas Andrew Sartorius, Rodney Wayne Smith
  • Patent number: 7421568
    Abstract: A processor capable of fetching and executing variable length instructions is described having instructions of at least two lengths. The processor operates in multiple modes. One of the modes restricts instructions that can be fetched and executed to the longer length instructions. An instruction cache is used for storing variable length instructions and their associated predecode bit fields in an instruction cache line and storing the instruction address and processor operating mode state information at the time of the fetch in a tag line. The processor operating mode state information indicates the program specified mode of operation of the processor. The processor fetches instructions from the instruction cache for execution.
    Type: Grant
    Filed: March 4, 2005
    Date of Patent: September 2, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Brian Michael Stempel, James Norris Dieffenderfer, Jeffrey Todd Bridges, Rodney Wayne Smith, Thomas Andrew Sartorius
  • Patent number: 7421529
    Abstract: Semaphore operation manages exclusive access to a memory that is shared by a plurality of processing elements. Semaphore reservation status for exclusive access by a processing element is monitored by a memory controller. To clear an obsolete reservation status, a command signal is transmitted for a write operation to the memory while prohibiting update of the contents of a memory. The reservation status at the controller is changed from a reservation state to a non-reservation state in response to receipt of the command signal.
    Type: Grant
    Filed: October 20, 2005
    Date of Patent: September 2, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Thomas Philip Speier, James Norris Dieffenderfer, Thomas Andrew Sartorius, Jaya Prakash Subramaniam Ganasan
  • Patent number: 7415638
    Abstract: In a pipelined processor where instructions are pre-decoded prior to being stored in a cache, an incorrectly pre-decoded instruction is detected during execution in the pipeline. The corresponding instruction is invalidated in the cache, and the instruction is forced to evaluate as a branch instruction. In particular, the branch instruction is evaluated as “mispredicted not taken” with a branch target address of the incorrectly pre-decoded instruction's address. This, with the invalidated cache line, causes the incorrectly pre-decoded instruction to be re-fetched from memory with a precise address. The re-fetched instruction is then correctly pre-decoded, written to the cache, and executed.
    Type: Grant
    Filed: November 22, 2004
    Date of Patent: August 19, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Rodney Wayne Smith, Brian Michael Stempel, James Norris Dieffenderfer, Jeffrey Todd Bridges, Thomas Andrew Sartorius