Patents by Inventor Mitchell Alsup

Mitchell Alsup 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: 20070038839
    Abstract: In an embodiment, a computer system comprises a processor; a memory management module comprising a plurality of instructions executable on the processor; a memory coupled to the processor; and an input/output memory management unit (IOMMU) coupled to the memory. The IOMMU is configured to implement address translation and memory protection for memory operations sourced by one or more input/output (I/O) devices. The memory stores a command queue during use. The memory management module is configured to write one or more control commands to the command queue, and the IOMMU is configured to read the control commands from the command queue and execute the control commands.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Andrew Lueck, Geoffrey Strongin, Mitchell Alsup, Michael Haertel
  • Publication number: 20070038840
    Abstract: In an embodiment, an input/output memory management unit (IOMMU) is configured to receive a completion wait command defined to ensure that one or more preceding invalidation commands are completed by the IOMMU prior to a completion of the completion wait command. The IOMMU is configured to respond to the completion wait command by delaying completion of the completion wait command until: (1) a read response corresponding to each outstanding memory read operation that depends on a translation entry that is invalidated by the preceding invalidation commands is received; and (2) the control unit transmits one or more operations upstream to ensure that each memory write operation that depends on the translation table entry that is invalidated by the preceding invalidation commands has at least reached a bridge to a coherent fabric in the computer system and has become visible to the system.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Andrew Lueck, Geoffrey Strongin, Mitchell Alsup, Michael Haertel
  • Patent number: 7133975
    Abstract: A cache memory system including a cache memory employing a tag including associated touch bits. The system includes a first cache memory subsystem having a first cache storage and a second cache memory subsystem including a second cache storage. The first cache storage may store a first plurality of cache lines of data. The second cache storage may store a second plurality of cache lines of data. Further the second cache memory subsystem includes a tag storage which may store a plurality of tags each corresponding to a respective cache line of the second plurality of cache lines. In addition, each of said plurality of tags includes an associated bit indicative of whether a copy of the corresponding respective cache line is stored within the first cache memory subsystem.
    Type: Grant
    Filed: January 21, 2003
    Date of Patent: November 7, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Roger D. Isaac, Mitchell Alsup
  • Patent number: 7133969
    Abstract: A system may include an instruction cache, a trace cache including a plurality of trace cache entries, and a trace generator coupled to the instruction cache and the trace cache. The trace generator may be configured to receive a group of instructions output by the instruction cache for storage in one of the plurality of trace cache entries. The trace generator may be configured to detect an exceptional instruction within the group of instructions and to prevent the exceptional instruction from being stored in a same one of the plurality of trace cache entries as any non-exceptional instruction.
    Type: Grant
    Filed: October 1, 2003
    Date of Patent: November 7, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mitchell Alsup, Gregory William Smaus, James K. Pickett, Brian D. McMinn, Michael A. Filippo, Benjamin T. Sander
  • Patent number: 7124236
    Abstract: A microprocessor including a level two cache memory including asynchronously accessible cache blocks. The microprocessor includes an execution unit coupled to a cache memory subsystem which includes a plurality of storage blocks, each configured to store a plurality of data units. Each of the plurality of storage blocks may be accessed asynchronously. In addition, the cache subsystem includes a plurality of tag units which are coupled to the plurality of storage blocks. Each of the tag units may be configured to store a plurality of tags each including an address tag value which corresponds to a given unit of data stored within the plurality of storage blocks. Each of the plurality of tag units may be accessed synchronously.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: October 17, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Teik-Chung Tan, Mitchell Alsup, Jerry D. Moench
  • Patent number: 7073026
    Abstract: A microprocessor including a level two cache memory which supports multiple accesses per cycle. The microprocessor includes an execution unit coupled to a cache memory subsystem which includes a cache memory coupled to a plurality of buses. The cache memory includes a plurality of independently accessible storage blocks. The buses may be coupled to convey a plurality of cache access requests to each of the storage blocks. In response to the plurality of cache access requests being conveyed on the plurality of cache buses, different ones of the storage blocks are concurrently accessible.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: July 4, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Mitchell Alsup
  • Patent number: 7069411
    Abstract: A mapper circuit with backup capability. In one embodiment, the mapper circuit may store associations between physical register names (PRNs) and logical register names (LRNs) in a plurality of storage locations, each of the storage locations corresponding to a speculative state. One of the storage locations may store a LRN-to-PRN mappings for a current speculative state, while the other storage locations may store LRN-to-PRN mappings for previous speculative states. In a case where the processor is required to back up (e.g., such as in the case of a branch misprediction), one of the mappings associated with a previous speculative state may be reverted to an association with the current speculative state.
    Type: Grant
    Filed: August 4, 2003
    Date of Patent: June 27, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Brian D. McMinn, Mitchell Alsup
  • Patent number: 7043626
    Abstract: A method and apparatus for retaining flag values when an associated data value dies. A first storage circuit includes a free list for storing physical register names (PRNs) and indications indicative of whether a physical register associated with a PRN was assigned to store a logical register result and flag results of a first instruction and a logical register result and a subsequent instruction which overwrites the logical register result but not the flags. A second storage circuit stores PRNs separate from the free list. The first and second storage circuits output first and second PRNs to a selection circuit. If the first indication (associated with the first PRN) is in a first state, the selection circuit may provide the first PRN to a mapper for assignment to a logical register. If the first indication is in a second state, the second PRN may be provided to the mapper.
    Type: Grant
    Filed: October 1, 2003
    Date of Patent: May 9, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Brian D. McMinn, James K. Pickett, Mitchell Alsup
  • Patent number: 7003629
    Abstract: A microprocessor may include a trace cache and a trace generator. The trace cache includes several trace cache entries. Each trace cache entry is configured to store several operations and a respective set of liveness indications. The operations are generated by at least partially decoding several instructions. The trace generator may be configured to generate the respective plurality of liveness indications for the operations stored in each trace cache entry. Each liveness indication identifies whether its respective operation depends on a branch operation stored within that trace cache entry.
    Type: Grant
    Filed: July 8, 2003
    Date of Patent: February 21, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Mitchell Alsup
  • Patent number: 6976147
    Abstract: A prefetch mechanism includes a prefetch predictor table coupled to a prefetch control. The prefetch predictor table may include a plurality of locations configured to store a plurality of entries each indicative of a stride between a respective pair of memory requests. Each of the plurality of entries may be stored in a respective one of the plurality of locations dependent upon a value of an earlier stride. The prefetch control may be configured to prefetch an address based upon a given one of the plurality of entries in the prefetch predictor table.
    Type: Grant
    Filed: January 21, 2003
    Date of Patent: December 13, 2005
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Roger D. Isaac, Mitchell Alsup
  • Publication number: 20050247774
    Abstract: A system and method for linking speculative results of load operations to register values. A system includes a memory file including an entry configured to store a first addressing pattern and a first tag. The memory file is configured to compare the first addressing pattern to a second addressing pattern of a load operation, and to link a data value identified by the first tag to a speculative result of the load operation if there is a match. The system further includes an execution core coupled to the memory file and configured to access the speculative result when executing a second operation that is dependent on the load operation, and a load store unit coupled to the memory file and configured to verify the link between the data value and the speculative result of the load operation by performing a comparison between one or more addresses.
    Type: Application
    Filed: May 5, 2004
    Publication date: November 10, 2005
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Benjamin Sander, Krishnan Ramani, Ramsey Haddad, Mitchell Alsup
  • Patent number: 6950925
    Abstract: A microprocessor may include several execution units and a scheduler coupled to issue operations to at least one of the execution units. The scheduler may include several entries. A first entry may be allocated to a first operation. The first entry includes a source status indication for each of the first operation's operands. Each source status indication indicates whether a value of a respective one of the first operation's operands is speculative. The scheduler is configured to update one of the first entry's source status indications to indicate that a value of a respective one of the first operation's operands is non-speculative in response to receiving an indication that a value of a result of a second operation is non-speculative.
    Type: Grant
    Filed: August 28, 2002
    Date of Patent: September 27, 2005
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin T. Sander, Mitchell Alsup, Michael Filippo
  • Publication number: 20050125632
    Abstract: Various embodiments of methods and systems for implementing a microprocessor that includes a trace cache and attempts to transition fetching from instruction cache to trace cache only on label boundaries are disclosed. In one embodiment, a microprocessor may include an instruction cache, a branch prediction unit, and a trace cache. The prefetch unit may fetch instructions from the instruction cache until the branch prediction unit outputs a predicted target address for a branch instruction. When the branch prediction unit outputs a predicted target address, the prefetch unit may check for an entry matching the predicted target address in the trace cache. If a match is found, the prefetch unit may fetch one or more traces from the trace cache in lieu of fetching instructions from the instruction cache.
    Type: Application
    Filed: December 3, 2003
    Publication date: June 9, 2005
    Inventors: Mitchell Alsup, Gregory Smaus
  • Publication number: 20050076180
    Abstract: A system may include an instruction cache, a trace cache including a plurality of trace cache entries, and a trace generator coupled to the instruction cache and the trace cache. The trace generator may be configured to receive a group of instructions output by the instruction cache for storage in one of the plurality of trace cache entries. The trace generator may be configured to detect an exceptional instruction within the group of instructions and to prevent the exceptional instruction from being stored in a same one of the plurality of trace cache entries as any non-exceptional instruction.
    Type: Application
    Filed: October 1, 2003
    Publication date: April 7, 2005
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mitchell Alsup, Gregory Smaus, James Pickett, Brian McMinn, Michael Filippo, Benjamin Sander
  • Publication number: 20040103250
    Abstract: A microprocessor including a level two cache memory which supports multiple accesses per cycle. The microprocessor includes an execution unit coupled to a cache memory subsystem which includes a cache memory coupled to a plurality of buses. The cache memory includes a plurality of independently accessible storage blocks. The buses may be coupled to convey a plurality of cache access requests to each of the storage blocks. In response to the plurality of cache access requests being conveyed on the plurality of cache buses, different ones of the storage blocks are concurrently accessible.
    Type: Application
    Filed: November 26, 2002
    Publication date: May 27, 2004
    Inventor: Mitchell Alsup
  • Publication number: 20040103251
    Abstract: A microprocessor including a first level cache and a second level cache having different cache line sizes. The microprocessor includes an execution unit configured to execute instructions and a cache subsystem coupled to the execution unit. The cache subsystem includes a first cache memory configured to store a first plurality of cache lines each having a first number of bytes of data. The cache subsystem also includes a second cache memory coupled to the first cache memory and configured to store a second plurality of cache lines each having a second number of bytes of data. Each of the second plurality of cache lines includes a respective plurality of sub-lines each having the first number of bytes of data.
    Type: Application
    Filed: November 26, 2002
    Publication date: May 27, 2004
    Inventor: Mitchell Alsup
  • Patent number: 5694564
    Abstract: In a data processing system, a method for performing register renaming with back-up capability. A register renaming apparatus (18) comprises a logical-physical (LP) register map (30), a free list (32), and an internal swap bus (90) for exchanging information between the two. The register renaming hardware (18) is connected to an instruction sequencer (12) and instruction decode/issue logic (16). Each time the decode/issue logic (16) decodes an instruction(s), the logical registers to be read index the LP map (30) to find the physical register "name" where their values can be found. The free list 32 is indexed by instruction slot numbers. Each free list cell (60-75) contains two physical register names a "last" and a "current", as well as pointer (80-83) designating which name is "current". As each write is done the "current" name is transferred to the LP map 30, and the previous physical register name in the LP map (30) is installed in the free list (32) in the place of the "last" name.
    Type: Grant
    Filed: January 4, 1993
    Date of Patent: December 2, 1997
    Assignee: Motorola, Inc.
    Inventors: Mitchell Alsup, Michael C. Becker
  • Patent number: 5355457
    Abstract: A data processing system is provided which has more general purpose physical registers than architectural (logical) registers. The data processing system uses a register inventory system to monitor the allocation state changes of each of the physical registers in a register file. As a sequencer issues instructions, an indexed random access memory (RAM) stores a copy of visible and allocation state bits for each of physical registers. When the sequencer needs to perform a branch repair, the sequencer must back up to the checkpoint where the branch instruction was issued. The visible and allocation bits for each physical register at this checkpoint are read out of the RAM. Using the information read from the RAM, and a predefined back-up deallocation relation, the register inventory system determines which physical registers to deallocate and returns those physical registers to a free pool for future allocation.
    Type: Grant
    Filed: May 21, 1991
    Date of Patent: October 11, 1994
    Assignee: Motorola, Inc.
    Inventors: Michael C. Shebanow, Mitchell Alsup
  • Patent number: 5173617
    Abstract: A digital phase lock loop that does not depend on a voltage controlled oscillator (VCO) for phase locking. A phase detector (PD), terminated with a latch, controls an up/down counter that programs an increase/decrease of delay on the delay line. The tapped output of the delay line goes through a two phase generator which in turn feeds back to the PD for comparison with the reference clock. This process is repeated until phase locking is obtained.
    Type: Grant
    Filed: August 10, 1989
    Date of Patent: December 22, 1992
    Assignee: Motorola, Inc.
    Inventors: Mitchell Alsup, Carl S. Dobbs, Yung Wu, Claude Moughanni, Elie I. Haddad
  • 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