Patents by Inventor David S. Christie

David S. Christie 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: 6247107
    Abstract: A chipset is configured to communicate between one or more processors and other components of the computer system, including a main memory. The chipset communicates read memory operations initiated by the processors to the main memory, and returns the data provided therefrom to the processors. Additionally, the chipset includes circuitry configured to select a portion of the data and to generate a prefetch address using the data. Accordingly, a pointer included in the data can be used to generate a prefetch address. The prefetching does not rely on observing the data access pattern. Instead, the data being transferred in response to a memory operation is used to generate a prefetch address (i.e. “data-directed prefetching”). In one embodiment, various programmable features are included in the chipset to specify which portion of the data to select, when to perform prefetching, etc.
    Type: Grant
    Filed: April 6, 1998
    Date of Patent: June 12, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 6230259
    Abstract: A microprocessor having a standard register set and an extended register set, which is configured to save its state upon suspension of either an extended register process or a standard register processor. The microprocessor is configured to execute both standard register instruction sequences and extended register instruction sequences. A first memory is provided for storing a state of the microprocessor when a standard register instruction set sequence is suspended. The microprocessor further comprises a second memory for storing a microprocessor state upon suspension of the microprocessor executing an extended register instruction set sequence. An extended state save circuit coupled between a microprocessor core and the second memory allows the extended state of the microprocessor to be stored without modification of the operating system. As a result, the extended state of the microprocessor can be saved transparently to the operating system.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: May 8, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Uwe Kranich
  • Patent number: 6185675
    Abstract: A cache memory configured to access stored instructions according to basic blocks is disclosed. Basic blocks are natural divisions in instruction streams resulting from branch instructions. The start of a basic block is a target of a branch, and the end is another branch instruction. A microprocessor configured to use a basic block oriented cache may comprise a basic block cache and a basic block sequence buffer. The basic block cache may have a plurality of storage locations configured to store basic blocks. The basic block sequence buffer also has a plurality of storage locations, each configured to store a block sequence entry. The block sequence entry may comprise an address tag and one or more basic block pointers. The address tag corresponds to the fetch address of a particular basic block, and the pointers point to basic blocks that follow the particular basic block in a predicted order.
    Type: Grant
    Filed: August 21, 1998
    Date of Patent: February 6, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Uwe Kranich, David S. Christie
  • Patent number: 6175906
    Abstract: A recovery mechanism to eliminate the need to re-fetch cache entries during virtual-to-physical memory re-mapping by reducing accesses and thus the demand on the table lookaside buffer (TLB) during the re-mapping recovery. Once one data block in a given page has been revalidated, the other blocks in the same page can be revalidated without accessing the TLB. If the virtual-to-physical mapping of one data block in a page has not changed, then the other data blocks within the same page also have not changed. Therefore, if a virtual tag was previously valid and a data block on the same page as the data block associated with the virtual tag has been revalidated, the virtual tag is valid and the virtual address can be validated. To identify which virtual tags are currently valid and which virtual tags were valid prior to the last re-mapping, a pair of valid registers is employed. A toggle circuit alternates between the valid registers.
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: January 16, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 6157996
    Abstract: A processor for executing computer instructions including, in one embodiment, a machine specific register (MSR) which includes a predicated execution field and an instruction decoder. The decoder is coupled to the MSR and configured to detect predicated execution information contained in the computer instruction and to include conditional execution information in the decoded instruction upon detecting an appropriate setting in the predicated execution field of the MSR. The processor further includes a first execution unit. The first execution unit is configured to detect and evaluate the conditional execution information in the decoded instruction and, if present, to execute the decoded instruction only if a condition represented by the conditional execution information is true. In another embodiment, the processor includes a standard register set and an extended register set, which includes the standard register set.
    Type: Grant
    Filed: November 13, 1997
    Date of Patent: December 5, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Uwe Kranich
  • Patent number: 6154818
    Abstract: A system and method for controlling access to privilege partitioned address space for a model specific register file. A superscalar microprocessor includes a plurality of model specific registers (MSRs). MSRs differ between various implementations of a microprocessor architecture. The MSRs are allocated to access regions within a MSR file. Each access region of the MSR file is assigned access attributes. The MSRs are allocated such that the access region and the access attributes of the MSRs are defined by the address of the MSRs. Access to the MSRs is controlled by comparing the address of the MSR to the current privilege level of the microprocessor. In one embodiment, a validity check circuit is used to control access to the MSRs. If an access is attempted to a MSR that cannot be accessed at the current microprocessor privilege level, access to the register is denied and an exception is generated. In one embodiment, an address checker may be used to verify whether a MSR address is within a valid range.
    Type: Grant
    Filed: November 20, 1997
    Date of Patent: November 28, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 6151662
    Abstract: A microprocessor assigns a data transaction type to each instruction. The data transaction type is based upon the encoding of the instruction, and indicates an access mode for memory operations corresponding to the instruction. The access mode may, for example, specify caching and prefetching characteristics for the memory operation. The access mode for each data transaction type is selected to enhance the speed of access by the microprocessor to the data, or to enhance the overall cache and prefetching efficiency of the microprocessor by inhibiting caching and/or prefetching for those memory operations. Instead of relying on data memory access patterns and overall program behavior to determine caching and prefetching operations, these operations are determined on an instruction-by-instruction basis. Additionally, the data transaction types assigned to different instruction encodings may be revealed to program developers.
    Type: Grant
    Filed: December 2, 1997
    Date of Patent: November 21, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Brian D. McMinn, Stephan G. Meier, James K. Pickett
  • Patent number: 6076605
    Abstract: A subsea wellhead assembly has a tubular housing having a sidewall, an axial bore, and a housing lateral passage extending from the bore through the sidewall. A blocking sleeve fits around the housing to block the housing lateral passage while drilling through the housing. A tubing hanger is secured to a string of tubing and landed in the housing. The tubing hanger has a vertical passage which communicates with the tubing and a tubing lateral passage which extends from the vertical passage and registers with the housing lateral passage. A lower annulus port is in the sidewall of the housing below the lower seal and leads to a tubing annulus. An upper annulus port is in the sidewall of the housing above the upper seal and leads to the bore of the housing. A tree block having a central opening for receiving the housing is lowered over the housing after removal of the blocking sleeve.
    Type: Grant
    Filed: December 1, 1997
    Date of Patent: June 20, 2000
    Assignee: ABB Vetco Gray Inc.
    Inventors: Robert O. Lilley, Stephen P. Fenton, David S. Christie, Peter A. Scott, Walter J. Lacey
  • Patent number: 6076156
    Abstract: A microprocessor employs an instruction redefinition register which programmably redefines the operation performed by one or more instructions. Instructions may be added to the instruction set executed by the microprocessor without consuming opcode encodings. One or more new instructions may be mapped to an opcode assigned to a redefinable instruction (e.g. a seldom-used instruction selected during the design of the microprocessor to be redefinable to one or more of the added instructions). A particular application program may select the architecturally defined operation corresponding to the redefinable instruction or one of the operations corresponding to the new operations by coding the instruction redefinition register. In one particular embodiment, the instruction redefinition register is a model specific register (MSR) as defined by the x86 microprocessor architecture.
    Type: Grant
    Filed: July 17, 1997
    Date of Patent: June 13, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James K. Pickett, David S. Christie
  • Patent number: 6055650
    Abstract: A phase change monitor monitors one or more processor resources to detect a phase change in the program being executed. The phase change monitor signals a prefetch unit to indicate the detected phase change, and may also provide information regarding the phase being entered (as detected by the phase change monitor). The prefetch unit is configured to selectively prefetch in response to the detected phase changes. Prefetching may be tailored to the detected phases. The prefetch unit may disable a current prefetch generated during a previous phase upon detection of the phase change, and a new prefetch may be initiated for the phase being entered. Since the phase being entered may operate upon different data sets, the current prefetch may be less likely to be prefetching data which is subsequently accessed. Terminating the current prefetch upon detection of a phase change may reduce the number of prefetches which are no subsequently accessed.
    Type: Grant
    Filed: April 6, 1998
    Date of Patent: April 25, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 6035386
    Abstract: A processor which includes a fetch program counter circuit and an execute program counter circuit is disclosed. The fetch program counter circuit provides less significant program counter value bits in addition to a fetch program counter value. The execute program counter circuit generates an execute program counter value using the less significant program counter value bits. The execute program counter circuit receives a plurality of less significant program counter bit values and selects a single less significant program counter bit value thus generating execute program counter values in a multiple pipeline processor.
    Type: Grant
    Filed: February 10, 1998
    Date of Patent: March 7, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Scott A. White, Michael D. Goddard
  • Patent number: 6014739
    Abstract: A microprocessor in which a register file of the microprocessor includes a standard register set and an extension register set. The extension register set is available on an instruction-by-instruction basis based on the contents of an extension register key field of the microprocessor instruction. In one embodiment, the instruction set is compliant with an X86 type instruction set in all cases when the extension register key field is not equal to an extension register key value. A microprocessor comprises a register file and an instruction decode circuit. The register file includes a standard register set comprising a plurality of standard registers and an extension register set comprising a plurality of extension registers. The instruction decode circuit is adapted to receive a microprocessor instruction that includes an extension register key field.
    Type: Grant
    Filed: October 27, 1997
    Date of Patent: January 11, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 6009512
    Abstract: A method and apparatus for providing predicated instructions in a processor employing out of order execution. In one embodiment, a plurality of decode units are configured to decode a plurality of variable byte length instructions and to provide a plurality of output of signals. The output signals are provided to a plurality of reservation stations coupled to the plurality of decode units within the superscalar microprocessor. Functional units are configured to receive the output signals from the plurality of decode units. The functional units include function execution units coupled to receive signals from the plurality of reservation stations and to provide a function output responsive to the output signals. The functional units further comprise a predication unit configured to determine whether a predetermined condition has occurred and either stop the function output or allow the function output to be transmitted depending on whether the predetermined condition has occurred.
    Type: Grant
    Filed: October 27, 1997
    Date of Patent: December 28, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 5948093
    Abstract: An interrupt polling unit included within a bus interface unit of a microprocessor is provided. The interrupt polling unit causes an interrupt acknowledge bus transaction to occur. If an interrupt controller receiving the interrupt acknowledge bus transaction returns an interrupt vector indicative of an interrupt service routine, then the microprocessor executes the interrupt service routine. The number of interrupt acknowledge bus transactions associated with the interrupt is reduced from two to one. In one embodiment, the interrupt polling unit causes an interrupt acknowledge bus transaction to occur when the microprocessor is performing a task switch. The task switch may be performed by hardware included within the microprocessor or, alternatively, by software executing upon the microprocessor.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: September 7, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott E. Swanstrom, David S. Christie, Steven L. Belt
  • Patent number: 5944841
    Abstract: A computer system employing an instruction tracing mechanism includes a memory and a CPU. The memory includes a trace buffer used to store records of the instruction tracing. Entries in the trace buffer are pointed to by a tracer pointer. The memory is coupled to the CPU via a bus interface unit. Instructions are passed from the memory to the CPU via the bus interface unit and are queued in an instruction cache, which includes a byte queue. The CPU further includes a control unit coupled to a control register, the tracer pointer and a maskable ROM. The control unit controls and activates the instruction tracing mechanism. In response to software sitting a bit in the control register, the control unit functions to retrieve a special tracing microcode sequence from MROM to provide a trace record of the instructions as they are passed to the instruction decoders. A counting mechanism may also be activated to count instructions and store the count in the memory.
    Type: Grant
    Filed: April 15, 1997
    Date of Patent: August 31, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 5944816
    Abstract: A microprocessor including a context file configured to store multiple contexts is provided. The microprocessor may execute multiple threads, each thread having its own context within the microprocessor. In one embodiment, the present microprocessor is capable of executing at least two threads concurrently: a task and an interrupt service routine. Interrupt service routines may be executed without disturbing a task's context and without performing a context save operation. Instead, the interrupt service routine accesses a context which is independent of the context of the task. In another embodiment, the context file includes multiple interrupt service routine contexts. Multiple ISR context storages allow for nested interrupts to be performed concurrently. In yet another embodiment, the microprocessor is configured to execute multiple tasks and multiple interrupt service routines concurrently.
    Type: Grant
    Filed: May 17, 1996
    Date of Patent: August 31, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Drew J. Dutton, David S. Christie, Brian C. Barnes
  • Patent number: 5918056
    Abstract: A device and method that suspends segmentation addressing and prevents the modification of segmentation information (the segment registers and segment descriptors). By suspending segmentation addressing and preventing modification of segmentation information, the segmentation information does not have to be saved and restored by an interrupt. This reduces the overhead of the interrupt and allows the interrupt to be used in situations that are unfeasible for interrupts with larger overheads. When segmentation addressing is suspended, physical addresses are obtained from operands of the interrupt service routine instructions. Preventing the modification of the segmentation information allows operation of the processor to be transparently resumed after the completion of the interrupt.
    Type: Grant
    Filed: May 17, 1996
    Date of Patent: June 29, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 5835511
    Abstract: A device and method that enables fault detection of control lines without additional fault detection lines. Prior to the transfer of a group of data, a control line is used to select whether even or odd parity is used on the group of data. After the data transfer, the same control signal is used at the destination device to select the type of parity used to check the validity of the data. If an error occurs on the control line that causes the state of the control line to change, the destination device will use the a different type of parity (even or odd parity) to check the validity of the group of data, and an error will be detected. In this manner, an error on the control line can be detected without additional parity signals.
    Type: Grant
    Filed: May 17, 1996
    Date of Patent: November 10, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David S. Christie
  • Patent number: 5822778
    Abstract: A microprocessor is provided which is configured to detect the presence of segment override prefixes in instruction code sequences being executed in flat memory mode, and to use the prefix value or the value stored in the associated segment register to control the selection of a bank of registers to use for the instruction operands. Each bank of registers includes the full complement of AMD 80x86 Series registers. Additional registers are available to a program other than the AMD 80x86 Series architecture specifies, but the instruction encoding is unchanged. Having more registers available to a program allows for more operands to be stored in the registers. Since registers are accessible in a shorter period of time than memory, operand access time is decreased.
    Type: Grant
    Filed: July 1, 1997
    Date of Patent: October 13, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Drew J. Dutton, David S. Christie
  • Patent number: 5819080
    Abstract: A microprocessor is provided including a branch prediction unit configured to select one of multiple sets of condition flags for use by a branch instruction according to the segment register override prefix byte which may be included with the instruction. Branch instructions may be scheduled distant from the instruction which sets the condition flags tested by the branch instruction. Numerous instructions may be placed between the two instructions, such that the condition flags may be available at the time the instruction is fetched. The branch instruction may be executed without stalling until the condition flags are available. In another embodiment, the branch prediction unit is configured to predict the direction a branch instruction may take according to a branch prediction scheme. Additionally, upon detection of a segment override prefix byte, the branch prediction unit uses an alternative branch prediction scheme.
    Type: Grant
    Filed: January 2, 1996
    Date of Patent: October 6, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Drew J. Dutton, David S. Christie