Patents by Inventor Benjamin T. Sander

Benjamin T. Sander 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: 7685406
    Abstract: A technique for reducing stack pointer adjustment operations when stack dependent operations, which correspond to stack dependent instructions, are encountered includes setting a stack pointer to an initial value for a stack. A number of bytes associated with the stack dependent operation is determined. A stack pointer delta is then modified based upon the number of bytes associated with the stack dependent operation. A current location in the stack is determined based on the stack pointer and the stack pointer delta.
    Type: Grant
    Filed: March 22, 2007
    Date of Patent: March 23, 2010
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Christopher Svec, Faisal Syed, Michael E. Tuuk, Benjamin T. Sander, Gregory W. Smaus
  • Publication number: 20080235491
    Abstract: A technique for reducing stack pointer adjustment operations when stack dependent operations, which correspond to stack dependent instructions, are encountered includes setting a stack pointer to an initial value for a stack. A number of bytes associated with the stack dependent operation is determined. A stack pointer delta is then modified based upon the number of bytes associated with the stack dependent operation. A current location in the stack is determined based on the stack pointer and the stack pointer delta.
    Type: Application
    Filed: March 22, 2007
    Publication date: September 25, 2008
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Christopher Svec, Faisal Syed, Michael E. Tuuk, Benjamin T. Sander, Gregory W. Smaus
  • Publication number: 20080141008
    Abstract: In accordance with a specific embodiment of the present disclosure, hardware periodically monitors a fetch cycle that fetches data associated with an address to determine performance parameters associated with the fetch cycle. Information related to the duration of a fetch cycle is maintained as well as information indicating the occurrence of various states and data values related to the fetch cycle. For example, the virtual address being processed during the fetch cycle is saved at the integrated circuit containing the fetch engine. Other performance-related parameters associated with execution of instructions at an execution engine of the pipeline are also monitored periodically. However, monitoring performance of the fetch engine is decoupled from monitoring performance-related events of the execution engine.
    Type: Application
    Filed: December 8, 2006
    Publication date: June 12, 2008
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Benjamin T. Sander, Michael Edward Tuuk, Ravindra N. Bhargava
  • Publication number: 20080140993
    Abstract: In accordance with a specific embodiment of the present disclosure, hardware periodically monitors a fetch cycle that fetches data associated with an address to determine performance parameters associated with the fetch cycle. Information related to the duration of a fetch cycle is maintained as well as information indicating the occurrence of various states and data values related to the fetch cycle. For example, the virtual address being processed during the fetch cycle is saved at the integrated circuit containing the fetch engine. Other performance-related parameters associated with execution of instructions at an execution engine of the pipeline are also monitored periodically. However, monitoring performance of the fetch engine is decoupled from monitoring performance-related events of the execution engine.
    Type: Application
    Filed: December 8, 2006
    Publication date: June 12, 2008
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Ravindra N. Bhargava, Benjamin T. Sander, David Neal Suggs
  • Publication number: 20080141002
    Abstract: In accordance with a specific embodiment of the present disclosure, hardware periodically monitors a fetch cycle that fetches data associated with an address to determine performance parameters associated with the fetch cycle. Information related to the duration of a fetch cycle is maintained as well as information indicating the occurrence of various states and data values related to the fetch cycle. For example, the virtual address being processed during the fetch cycle is saved at the integrated circuit containing the fetch engine. Other performance-related parameters associated with execution of instructions at an execution engine of the pipeline are also monitored periodically. However, monitoring performance of the fetch engine is decoupled from monitoring performance-related events of the execution engine.
    Type: Application
    Filed: December 8, 2006
    Publication date: June 12, 2008
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Ravindra N. Bhargava, Benjamin T. Sander
  • Patent number: 7373484
    Abstract: A method of controlling write operations to a non-renamed register space includes receiving a write operation to a given register within the non-renamed register space. The method also includes determining whether a pending write operation to the given register exists. In response to determining that the pending write operation to the given register exists, the method includes blocking the write operation to the given register from being scheduled. However, in response to determining that the pending write operation to the given register does not exist, the method includes allowing the write operation to the given register to be scheduled. Further, if the pending write operation to the given register does not exist, the method includes allowing a subsequent write operation to a different register within the non-renamed register space to be scheduled.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: May 13, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Arun Radhakrishnan, Benjamin T. Sander, Michael A. Filippo, Michael T. Clark, David E. Kroesche
  • Patent number: 7363470
    Abstract: A microprocessor may include one or more functional units configured to execute operations, a scheduler configured to issue operations to the functional units for execution, and at least one replay detection unit. The scheduler may be configured to maintain state information for each operation. Such state information may, among other things, indicate whether an associated operation has completed execution. The replay detection unit may be configured to detect that one of the operations in the scheduler should be replayed. If an instance of that operation is currently being executed by one of the functional units when operation is detected as needing to be replayed, the replay detection unit is configured to inhibit an update to the state information for that operation in response to execution of the in-flight instance of the operation. Various embodiments of computer systems may include such a microprocessor.
    Type: Grant
    Filed: May 2, 2003
    Date of Patent: April 22, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander
  • Patent number: 7315935
    Abstract: A microprocessor is configured to provide port arbitration in a register file. The microprocessor includes a plurality of functional units configured to collectively operate on a maximum number of operands in a given execution cycle, and a register file providing a number of read ports that is insufficient to provide the maximum number of operands to the plurality of functional units in the given execution cycle. The microprocessor also includes an arbitration logic coupled to allocate the read ports of the register file for use by selected functional units during the given execution cycle.
    Type: Grant
    Filed: October 6, 2003
    Date of Patent: January 1, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mitchell Alsup, Brian D. McMinn, Benjamin T. Sander, David E. Kroesche
  • Patent number: 7266673
    Abstract: A microprocessor may include a retire queue and one or more data speculation verification units. The data speculation verification units are each configured to verify data speculation performed on operations. Each data speculation verification unit generates a respective speculation pointer identifying outstanding operations on which data speculation has been verified by that data speculation verification unit. The retire queue is configured to selectively retire operations dependent on the speculation pointer received from each of the data speculation verification units.
    Type: Grant
    Filed: May 2, 2003
    Date of Patent: September 4, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander
  • Patent number: 7263600
    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: Grant
    Filed: May 5, 2004
    Date of Patent: August 28, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin T. Sander, Krishnan V. Ramani, Ramsey W. Haddad, Mitchell Alsup
  • Patent number: 7197630
    Abstract: A method and system for changing the executable status of an operation following a branch misprediction. In one embodiment, a method may include predicting an execution path of a first conditional branch operation stored in an entry of a trace cache, and in response to predicting the execution path, if a first operation stored in the entry of the trace cache is not in the execution path according to the prediction, assigning to the first operation a non-executable status indicative that the first operation is not in the execution path. The method may further include detecting that the prediction is incorrect subsequent to assigning the non-executable status to the first operation and assigning an executable status to the first operation in response to detecting the incorrect prediction, where the executable status is indicative that the first operation is in the execution path.
    Type: Grant
    Filed: April 12, 2004
    Date of Patent: March 27, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mitchell Alsup, Benjamin T. Sander
  • Patent number: 7165167
    Abstract: A microprocessor may include a scheduler configured to issue operations and a load store unit configured to execute memory operations issued by the scheduler. The load store unit is configured to store information identifying memory operations issued to the load store unit. In response to detection of incorrect data speculation for one of the issued memory operations, the load store unit is configured to replay at least one of the issued memory operations by providing an indication to the scheduler. The scheduler is configured to responsively reissue the memory operations identified by the load store unit.
    Type: Grant
    Filed: June 10, 2003
    Date of Patent: January 16, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander, Rama S. Gopal
  • 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: 7133995
    Abstract: A memory controller may be implemented using dynamic page conflict prediction to control the closure of memory pages. A memory controller may include a page history register configured to store a value indicating the pattern of page conflicts encountered by a memory device. The memory controller may include a global conflict predictor for storing probabilities of page conflicts associated with values of the page history register. In response to receiving a memory access request, a control unit may be configured to determine whether the memory access request causes a page conflict. The memory controller may be configured to update the global conflict predictor based on this determination. If a page conflict is predicted, the memory controller may automatically close the targeted page (e.g., by initiating the memory access in auto-precharge mode) upon completion of the memory access requested by the memory access request.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: November 7, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Roger Isaac, Benjamin T. Sander
  • Patent number: 6973563
    Abstract: Various embodiments of methods and systems for implementing a return address prediction mechanism in a microprocessor are disclosed. In one embodiment, a return address prediction mechanism includes a return storage and a controller. The return storage includes one or more entries. One of the entries includes a count and a first return address that corresponds to a recently detected call operation. The controller is configured to receive a new return address that corresponds to a call instruction and to compare the new return address to the return address stored in the entry. If the new return address equals the return address in the entry, the controller may be configured to increase the value of the count in the entry. By increasing the count instead of allocating a new entry in the return storage to the new return address, the effective size of the return storage may be increased.
    Type: Grant
    Filed: January 4, 2002
    Date of Patent: December 6, 2005
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Benjamin T. Sander
  • 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: 20040255101
    Abstract: A microprocessor may include a scheduler configured to issue operations and a load store unit configured to execute memory operations issued by the scheduler. The load store unit is configured to store information identifying memory operations issued to the load store unit. In response to detection of incorrect data speculation for one of the issued memory operations, the load store unit is configured to replay at least one of the issued memory operations by providing an indication to the scheduler. The scheduler is configured to responsively reissue the memory operations identified by the load store unit.
    Type: Application
    Filed: June 10, 2003
    Publication date: December 16, 2004
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander, Rama S. Gopal
  • Patent number: 6823427
    Abstract: Various methods and systems for implementing a sectored least recently used (LRU) cache replacement algorithm are disclosed. Each set in an N-way set-associative cache is partitioned into several sectors that each include two or more of the N ways. Usage status indicators such as pointers show the relative usage status of the sectors in an associated set. For example, an LRU pointer may point to the LRU sector, an MRU pointer may point to the MRU sector, and so on. When a replacement is performed, a way within the LRU sector identified by the LRU pointer is filled.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: November 23, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin T. Sander, Teik-Chung Tan, Adam Duley
  • Publication number: 20040221139
    Abstract: A microprocessor may include one or more functional units configured to execute operations, a scheduler configured to issue operations to the functional units for execution, and at least one replay detection unit. The scheduler may be configured to maintain state information for each operation. Such state information may, among other things, indicate whether an associated operation has completed execution. The replay detection unit may be configured to detect that one of the operations in the scheduler should be replayed. If an instance of that operation is currently being executed by one of the functional units when operation is detected as needing to be replayed, the replay detection unit is configured to inhibit an update to the state information for that operation in response to execution of the in-flight instance of the operation. Various embodiments of computer systems may include such a microprocessor.
    Type: Application
    Filed: May 2, 2003
    Publication date: November 4, 2004
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander
  • Publication number: 20040221140
    Abstract: A microprocessor may include a retire queue and one or more data speculation verification units. The data speculation verification units are each configured to verify data speculation performed on operations. Each data speculation verification unit generates a respective speculation pointer identifying outstanding operations on which data speculation has been verified by that data speculation verification unit. The retire queue is configured to selectively retire operations dependent on the speculation pointer received from each of the data speculation verification units.
    Type: Application
    Filed: May 2, 2003
    Publication date: November 4, 2004
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett, Benjamin T. Sander