Patents by Inventor Stephen W. Mahin

Stephen W. Mahin 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: 6604174
    Abstract: The present invention provides a performance based system and method for dynamic allocation of a unified multiport cache. A multiport cache system is disclosed that allows multiple single-cycle look ups through a multiport tag and multiple single-cycle cache accesses from a multiport cache. Therefore, multiple processes, which could be processors, tasks, or threads can access the cache during any cycle. Moreover, the ways of the cache can be allocated to the different processes and then dynamically reallocated based on performance. Most preferably, a relational cache miss percentage is used to reallocate the ways, but other metrics may also be used.
    Type: Grant
    Filed: November 10, 2000
    Date of Patent: August 5, 2003
    Assignee: International Business Machines Corporation
    Inventors: Alvar A. Dean, Kenneth J. Goodnow, Stephen W. Mahin, Wilbur D. Pricer, Dana J. Thygesen, Sebastian T. Ventrone
  • Patent number: 6532520
    Abstract: A method and apparatus are provided for managing cache allocation for a plurality of data types in a unified cache having dynamically allocable lines for first type data and for second type data. Cache allocation is managed by counting misses to first type data and misses to second type data in the unified cache, and by determining when a difference between a number of first type data misses and a number of second type data misses crosses a preselected threshold. A replacement algorithm of the unified cache then is adjusted in response to the detected crossing of the preselected threshold, the adjusting step including increasing a replacement priority of the first type data lines in the cache. The replacement algorithm preferably is an LRU algorithm wherein the adjusting step includes incrementing an age indication of the first type data lines.
    Type: Grant
    Filed: September 10, 1999
    Date of Patent: March 11, 2003
    Assignee: International Business Machines Corporation
    Inventors: Alvar A. Dean, Marc R. Faucher, John W. Goetz, Kenneth J. Goodnow, Paul T. Gutwin, Stephen W. Mahin, Wilbur D. Pricer
  • Publication number: 20020152361
    Abstract: Fine grained control of cache maintenance resulting in improved cache hit rate and processor performance by storing age values and aging rates for respective code lines stored in the cache to direct performance of a least recently used (LRU) strategy for casting out lines of code from the cache which become less likely, over time, of being needed by a processor, thus supporting improved performance of a processor accessing the cache. The invention is implemented by the provision for entry of an arbitrary age value when a corresponding code line is initially stored in or accessed from the cache and control of the frequency or rate at which the age of each code is incremented in response to a limited set of command instructions which may be placed in a program manually or automatically using an optimizing compiler.
    Type: Application
    Filed: February 5, 2001
    Publication date: October 17, 2002
    Applicant: International Business Machines Corporation
    Inventors: Alvar A. Dean, Kenneth J. Goodnow, Paul T. Gutwin, Stephen W. Mahin, W. David Pricer
  • Patent number: 6449693
    Abstract: A processor system is provided that comprises a plurality of L0 caches, a processor having a plurality of execution units, and an L1 cache for caching any data and instructions used by the processor. A portion of the execution units provided are configured so that each execution unit within the portion accesses one of the L0 caches. Each of the L0 caches is accessible by only one of the portion of the execution units, and each L0 cache caches a subset of any data used by the processor which is not cacheable by any of the other L0 caches. The processor system preferably comprises an instruction dispatcher that dispatches instructions executable by the processor and that selectively designates data as cacheable by only one of the L0 caches, preferably at dispatch time.
    Type: Grant
    Filed: April 5, 1999
    Date of Patent: September 10, 2002
    Assignee: International Business Machines Corporation
    Inventors: John W. Goetz, Paul T. Gutwin, Stephen W. Mahin, Wilbur D. Pricer
  • Patent number: 5854913
    Abstract: A microprocessor which supports two distinct instruction-set architectures. The microprocessor includes a mode control unit which enables extensions and/or limitations to each of the two architectures and controls the architectural context under which the microprocessor operates. The control unit controls memory management unit (MMU) hardware that is designed to allow address translation to take place under the control of a mode bit so that the translation mechanism can be switched from one architecture to another. A single MMU translates addresses of the two distinct architectures under control of the mode bit which is also used to simultaneously inform instruction decode which architecture is being used so that instructions are properly decoded. The MMU is also capable of mapping the address translation of one architecture onto that of the other so that software written for both architectures may be multi-tasked under the control of a single operating system.
    Type: Grant
    Filed: June 10, 1997
    Date of Patent: December 29, 1998
    Assignee: International Business Machines Corporation
    Inventors: John W. Goetz, Stephen W. Mahin, John J. Bergkvist
  • Patent number: 5625787
    Abstract: A mechanism which manages variable length instructions in cache is comprised of three cooperating elements designed to optimize self modifying code and anticipate next instructions for branch operand management. A content addressable memory (CAM) stores addresses of lines which have been accessed for instruction fetching. In a system having modifiable instruction stream (i.e., store to instruction stream), when the CAM matches, the system must retire certain instructions, flush instructions and then fetch the modified instruction stream. Boundary identification logic examines a field in each cache byte to determine the nature of the byte. This field is initially cleared at the time the cache line is loaded and filled with the line is fetched. An anticipation buffer designed to minimize the circuitry necessary for fetches across cache lines is loaded with sequentially anticipated prefetched instructions from the cache. These anticipated instructions can then be concatenated by a fetch aligner.
    Type: Grant
    Filed: May 12, 1995
    Date of Patent: April 29, 1997
    Assignee: International Business Machines Corporation
    Inventors: Stephen W. Mahin, Stephen M. Conor, Stephen J. Ciavaglia, Lyman H. Moulton, III, Stephen E. Rich, Paul D. Kartschoke