Patents by Inventor James B. Keller

James B. Keller 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: 20020044550
    Abstract: A messaging scheme that conserves system memory bandwidth during a memory read operation in a multiprocessing computer system is described. A source processing node sends a memory read command to a target processing node to read data from a designated memory location in a system memory associated with the target processing node. The target node transmits a read response to the source node containing the requested data and also concurrently transmits a probe command to one or more of the remaining nodes in the multiprocessing computer system. In response to the probe command each remaining processing node checks whether the processing node has a cached copy of the requested data. If a processing node, other than the source and the target nodes, finds a modified cached copy of the designated memory location, that processing node responds with a memory cancel response sent to the target node and a read response sent to the source node.
    Type: Application
    Filed: October 31, 2001
    Publication date: April 18, 2002
    Applicant: Advanced Micro Devices, Inc.
    Inventor: James B. Keller
  • Patent number: 6374344
    Abstract: A technique handles load instructions within a data processor that includes a cache circuit having a data cache and a tag memory indicating valid entries within the data cache. The technique involves writing data to the data cache during a series of four processor cycles in response to a first load instruction. Additionally, the technique involves updating the tag memory and preventing reading of the tag memory in response to the first load instruction during a first processor cycle in the series of processor cycles. Furthermore, the technique involves reading tag information from the tag memory during a processor cycle of the series of four processor cycles following the first processor cycle in response to a second load instruction.
    Type: Grant
    Filed: November 25, 1998
    Date of Patent: April 16, 2002
    Assignee: Compaq Information Technologies Group L.P. (CITG)
    Inventors: David Arthur James Webb, Jr., James B. Keller, Derrick R. Meyer
  • Patent number: 6370621
    Abstract: A messaging scheme that conserves system memory bandwidth during a memory read operation in a multiprocessing computer system is described. A source processing node sends a memory read command to a target processing node to read data from a designated memory location in a system memory associated with the target processing node. The target node transmits a read response to the source node containing the requested data and also concurrently transmits a probe command to one or more of the remaining nodes in the multiprocessing computer system. In response to the probe command each remaining processing node checks whether the processing node has a cached copy of the requested data. If a processing node, other than the source and the target nodes, finds a modified cached copy of the designated memory location, that processing node responds with a memory cancel response sent to the target node and a read response sent to the source node.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: April 9, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventor: James B. Keller
  • Patent number: 6360314
    Abstract: A bypass mechanism is disclosed for a computer system that executes load and store instructions out of order. The bypass mechanism compares the address of each issuing load instruction with a set of recent store instructions that have not yet updated memory. A match of the recent stores provides the load data instead of having to retrieve the data from memory. A store queue holds the recently issued stores. Each store queue entry and the issuing load includes a data size indicator. Subsequent to a data bypass, the data size indicator of the issuing load is compared against the data size indicator of the matching store queue entry. A trap is signaled when the data size indicator of the issuing load differs from the data size indicator of the matching store queue entry. The trap signal indicates that the data provided by the bypass mechanism was insufficient to satisfy the requirements of the load instruction.
    Type: Grant
    Filed: July 14, 1998
    Date of Patent: March 19, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: David Arthur James Webb, Jr., James B. Keller, Derrick R. Meyer
  • Patent number: 6349366
    Abstract: A memory management system couples processors to each other and to a main memory. Each processor may have one or more associated caches local to that processor. A system port of the memory management system receives a request from a source processor of the processors to access a block of data from the main memory. A memory manager of the memory management system then converts the request into a probe command having a data movement part identifying a condition for movement of the block out of a cache of a target processor and a next coherence state part indicating a next state of the block in the cache of the target processor.
    Type: Grant
    Filed: June 18, 1998
    Date of Patent: February 19, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Rahul Razdan, James B. Keller, Richard E. Kessler
  • Publication number: 20010044891
    Abstract: A processor supports a processing mode in which the address size is greater than 32 bits and the operand size may be 32 or 64 bits. The address size may be nominally indicated as 64 bits, although various embodiments of the processor may implement any address size which exceeds 32 bits, up to and including 64 bits, in the processing mode. The processing mode may be established by placing an enable indication in a control register into an enabled state and by setting a first operating mode indication and a second operating mode indication in a segment descriptor to predefined states. Other combinations of the first operating mode indication and the second operating mode indication may be used to provide compatibility modes for 32 bit and 16 bit processing compatible with the x86 processor architecture (with the enable indication remaining in the enabled state).
    Type: Application
    Filed: April 2, 2001
    Publication date: November 22, 2001
    Inventors: Kevin J McGrath, Michael T. Clark, James B. Keller
  • Patent number: 6314496
    Abstract: A computing apparatus connectable to a cache and a memory, includes a system port configured to receive an atomic probe command or a system data control response command having an address part identifying data stored in the cache which is associated with data stored in the memory and a next coherence state part indicating a next state of the data in the cache. The computing apparatus further includes an execution unit configured to execute the command to change the state of the data stored in the cache according to the next coherence state part of the command.
    Type: Grant
    Filed: June 18, 1998
    Date of Patent: November 6, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Rahul Razdan, James B. Keller, Richard E. Kessler
  • Publication number: 20010029574
    Abstract: A system manages access to caches connected to a plurality of processors in a multiprocessor system; the system including a system port and a memory manager. The system port is connectable to each of the plurality of processors and configured to receive a set-dirty request from one of the processors to modify a block of that processor's cache. The set-dirty request corresponds to a coherence state of the block of the cache. In response to the received set-dirty request, the memory manager directs sending, over the system port, of probes to the caches, (ii) receives cache state information, over the system port, responsive to the probes, (iii) determines an acknowledgment based on the received cache state information representing one of permission granted and permission denied to modify the block of the cache, and (iv) directs sending, over the system port, of the acknowledgment, to the processor.
    Type: Application
    Filed: June 18, 1998
    Publication date: October 11, 2001
    Inventors: RAHUL RAZDAN, JAMES B. KELLER, RICHARD E. KESSLER
  • Patent number: 6295583
    Abstract: A processor of a multiprocessor system is configured to transmit a full probe to a cache associated with the processor to transfer data from the stored data of the cache. The data corresponding to the full probe is transferred during a time period. A first tag-only probe is also transmitted to the cache during the same time period to determine if the data corresponding to the tag-only probe is part of the stored data stored in the cache. A stream of probes accesses the cache in two stages. The cache is composed of a tag structure and a data structure. In the first stage, a probe is designated a tag-only probe and accesses the tag structure, but not the data structure, to determine tag information indicating a hit or a miss. In the second stage, if the probe returns tag information indicating a cache hit the probe is designated to be a full probe and accesses the data structure of the cache. If the probe returns tag information indicating a cache miss the probe does not proceed to the second stage.
    Type: Grant
    Filed: June 18, 1998
    Date of Patent: September 25, 2001
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Rahul Razdan, Solomon J. Katzman, James B. Keller, Richard E. Kessler
  • Patent number: 6275905
    Abstract: In a multiprocessing computer system, a cache-coherent data transfer scheme that also conserves the system memory bandwidth during a memory read operation is described. A source processing node sends a read command to a target processing node to read data from a designated memory location in a system memory associated with the target processing node. In response to the read command, the target processing node transmits a probe command to all the remaining processing nodes in the computer system regardless of whether one or more of the remaining nodes have a copy of the data cached in their respective cache memories. Probe command causes each node to maintain cache coherency by appropriately changing the state of the cache block containing the requested data and sending respective probe responses to the source node. Probe command also causes the node having an updated copy of the cache block to send the cache block to the source node through a read response.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: August 14, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James B. Keller, Derrick R. Meyer
  • Patent number: 6266763
    Abstract: A register renaming apparatus includes one or more physical registers which may be assigned to store a floating point value, a multimedia value, an integer value and corresponding condition codes, or condition codes only. The classification of the instruction (e.g. floating point, multimedia, integer, flags-only) defines which lookahead register state is updated (e.g. floating point, integer, flags, etc.), but the physical register can be selected from the one or more physical registers for any of the instruction types. Determining if enough physical registers are free for assignment to the instructions being selected for dispatch includes considering the number of instructions selected for dispatch and the number of free physical registers, but excludes the data type of the instruction. When a code sequence includes predominately instructions of a particular data type, many of the physical registers may be assigned to that data type (efficiently using the physical register resource).
    Type: Grant
    Filed: January 5, 1999
    Date of Patent: July 24, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, James B. Keller
  • Patent number: 6253301
    Abstract: A data caching system and method includes a data store for caching data from a main memory, a primary tag array for holding tags associated with data cached in the data store, and a duplicate tag array which holds copies of the tags held in the primary tag array. The duplicate tag array is accessible by functions, such as external memory cache probes, such that the primary tag remains available to the processor core. An address translator maps virtual page addresses to physical page address. In order to allow a data caching system which is larger than a page size, a portion of the virtual page address is used to index the tag arrays and data store. However, because of the virtual to physical mapping, the data may reside in any of a number of physical locations. During an internally-generated memory access, the virtual address is used to look up the cache. If there is a miss, other combinations of values are substituted for the virtual bits of the tag array index.
    Type: Grant
    Filed: April 16, 1998
    Date of Patent: June 26, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Rahul Razdan, David A. Webb, Jr., James B. Keller, Derrick R. Meyer
  • Patent number: 6253285
    Abstract: A data caching system comprises a hashing function, a data store, a tag array, a page translator, a comparator and a duplicate tag array. The hashing function combines an index portion of a virtual address with a virtual page portion of the virtual address to form a cache index. The data store comprises a plurality of data blocks for holding data. The tag array comprises a plurality of tag entries corresponding to the data blocks, and both the data store and tag array are addressed with the cache index. The tag array provides a plurality of physical address tags corresponding to physical addresses of data resident within corresponding data blocks in the data store addressed by the cache index. The page translator translates a tag portion of the virtual address to a corresponding physical address tag.
    Type: Grant
    Filed: July 15, 1998
    Date of Patent: June 26, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Rahul Razdan, Richard E. Kessler, James B. Keller
  • Patent number: 6212493
    Abstract: A technique for verification of a complex integrated circuit design, such as a microprocessor, using a randomly generated test program to simulate internal events and to determine the timing of external events. The simulation proceeds in two passes. During a first pass, the randomly generated test program and data vectors are applied to a simulation model of the design being verified. During this first pass, an internal agent collects profile data about internal events such as addresses and program counter contents as they occur. During a second pass of the process, the profile data is used to generate directed external events based upon the data observed during the first pass. In this manner, the advantages of rapid test vector generation provided through random schemes is achieved at the same time that a more directed external event correlation is accomplished.
    Type: Grant
    Filed: December 1, 1998
    Date of Patent: April 3, 2001
    Assignee: Compaq Computer Corporation
    Inventors: James D. Huggins, David H. Asher, James B. Keller
  • Patent number: 6199153
    Abstract: A computing apparatus has a mode selector configured to select one of a long-bus mode corresponding to a first memory size and a short-bus mode corresponding to a second memory size which is less than the first memory size. An address bus of the computing apparatus is configured to transmit an address consisting of address bits defining the first memory size and a subset of the address bits defining the second memory size. The address bus has N communication lines each configured to transmit one of a first number of bits of the address bits defining the first memory size in the long-bus mode and M of the N communication lines each configured to transmit one of a second number of bits of the address bits defining the second memory size in the short-bus mode, where M is less than N.
    Type: Grant
    Filed: June 18, 1998
    Date of Patent: March 6, 2001
    Assignee: Digital Equipment Corporation
    Inventors: Rahul Razdan, Solomon J. Katzman, James B. Keller, Richard E. Kessler
  • Patent number: 6167492
    Abstract: A circuit and method is disclosed for preserving the order for memory requests originating from I/O devices coupled to a multiprocessor computer system. The multiprocessor computer system includes a plurality of circuit nodes and a plurality of memories. Each circuit node includes at least one microprocessor coupled to a memory controller which in turn is coupled to one of the plurality of memories. The circuit nodes are in data communication with each other, each circuit node being uniquely identified by a node number. At least one of the circuit nodes is coupled to an I/O bridge which in turn is coupled directly or indirectly to one or more I/O devices. The I/O bridge generates non-coherent memory access transactions in response to memory access requests originating with one of the I/O devices. The circuit node coupled to the I/O bridge, receives the non-coherent memory access transactions.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: December 26, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James B. Keller, Dale E. Gulick, Larry D. Hewitt, Geoffrey Strongin
  • Patent number: 6163821
    Abstract: A computer method and apparatus causes the load-store instruction grouping in a microprocessor instruction pipeline to be disrupted at appropriate times. The computer method and apparatus employs a memory access member which periodically stalls the issuance of store instructions when there are prior store instructions pending in the store queue. The periodic stalls bias the issue stage to issue load groups and store instruction groups. In the latter case, the store queue is free to update the data cache with the data from previous store instructions. Thus, the invention memory access member biases issuance of store instructions in a manner that prevents the store queue from becoming full, and as such enables the store queue to write to the data cache before the store queue becomes full.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: December 19, 2000
    Assignee: Compaq Computer Corporation
    Inventors: James B. Keller, Richard E. Kessler, Stephen C. Root, Paul Geoffrey Lowney
  • Patent number: 5202973
    Abstract: A system and method for controlling a shared memory bus in a computer of a multi-processor system prevents collisions on the shared bus and ensures that the bus is full at system start-up. Steady state operations are maintained without the need for a queuing mechanism in the system's memory controller and in view of the memory modules of the shared memory having different read access times, with the system and method being implemented in a system that includes a central unit and multiple uni-directional buses that are disposed between a shared memory and a plurality of processors, with the central unit controlling access to, and use of, the shared buses of the system.
    Type: Grant
    Filed: June 29, 1990
    Date of Patent: April 13, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Raj Ramanujan, James B. Keller, Jay Stickney, Steven Ho, Paul Lemmon
  • Patent number: 5029076
    Abstract: In a data processing system in which a plurality of data processing units or subsystems exchange logic signal groups by means of a system bus, apparatus is provided to allow sufficient time to permit transients on the system bus to decay, thereby increasing the integrity of the data. When the logic signal groups are applied to the system bus via conducting and nonconducting transistors, the presence of a logic signal on the system bus immediately prior to the application of a set of logic signals from a different data processing unit can delay the on-set of conduction of the most recently activated transistors, thereby resulting in transients of long duration. To accommodate these long transient conditions, the application of the new set of logic signals can be delayed until the transients on the system bus have been attenuated.
    Type: Grant
    Filed: April 9, 1990
    Date of Patent: July 2, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Robert E. Stewart, James B. Keller
  • Patent number: 5012403
    Abstract: An arrangement and method for decoding coded instructions and playing and replaying decoded instructions to a machine. The arrangement has a source of coded instructions. Connected to this coded instruction source is a decoder for receiving and decoding the coded instructions and for outputting the decoded instructions to a machine. A silo is connected to the output of the decoder and siloes and outputs the decoded instructions to the machine. The outputting of the decoded instructions to the machine are switched between the silo and the decoder, so that the machine receives the siloed decoded instructions. By siloing and then replaying already decoded instructions at the time of a trap occurrence, a speed increase is achieved, since the instructions which are in the trap shadow do not have to be decoded again.
    Type: Grant
    Filed: April 1, 1988
    Date of Patent: April 30, 1991
    Assignee: Digital Equipment Corporation
    Inventors: James B. Keller, Kevin L. Ladd, James J. Reisert