Patents by Inventor John H. Crawford

John H. Crawford 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: 7607048
    Abstract: A method and apparatus for protecting a TLB's VPN from soft errors is described. On a TLB lookup, the incoming virtual address is used to CAM the TLB VPN. In parallel with this CAM operation, parity is computed on the incoming virtual address for the possible page sizes supported by the processor. If a matching VPN is found in the TLB, its payload is read out. The encoded page size is used to select which of the set of pre-computed virtual address parity to compare with the stored parity bit in the TLB entry. This has the advantage of removing the computation of parity on the TLB VPN from the critical path of the TLB lookup. Instead it is now in the TLB fill path.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: October 20, 2009
    Assignee: Intel Corporation
    Inventors: Ugonna C. Echeruo, George Z. Chrysos, John H. Crawford, Shubhendu S. Mukherjee
  • Publication number: 20080163014
    Abstract: Methods and apparatus to track the health of integrated circuit structures are described. In an embodiment, a counter may be updated when the status of a portion of a storage unit (e.g., a cache) transitions to a defective status (e.g., as determined by reference to one or more corresponding status bits). The value stored in the counter may be compared with a threshold value, e.g., to generate a signal that is indicative of whether the threshold value has been exceeded. Other embodiments are also described.
    Type: Application
    Filed: December 30, 2006
    Publication date: July 3, 2008
    Inventors: John H. Crawford, Tsvika Kurts, Moty Mehalel
  • Patent number: 7383468
    Abstract: The invention relates to the design of highly reliable microprocessors and more specifically to the use of a dedicated state machine that periodically checks the validity of critical processor resources. In an embodiment of the present invention, an apparatus to detect errors in information stored in a processor resource includes an error detection component, which is configured to control the detection of errors in the information stored in the processor resource; and a comparison component coupled to the error detection component, which is configured to receive the information from the processor resource and inputs from the detection component. The comparison component is further configured to determine if the information is valid, and to output a signal to replace the information if the information if invalid.
    Type: Grant
    Filed: August 6, 2003
    Date of Patent: June 3, 2008
    Assignee: Intel Corporation
    Inventors: Nhon T. Quach, John H. Crawford, Chakravarthy Kosaraju, Venkatesh Nagapudi
  • Patent number: 7010671
    Abstract: A computer system is disclosed herein including a given microprocessor specifically designed to operate in a virtual operating mode that allows a software program previously written for an earlier designed single program microprocessor to execute in a protected, paged, multi-tasking environment under a particularly designed host operating software program. The system also includes means for executing software interrupt (INTn) instructions, using emulation software forming part of the host program in order to emulate the way in which these instructions would have been executed by the earlier microprocessor. As a unique improvement to this overall computer system, certain ones of the INTn instructions are executed by means of emulation software while others are executed by means of the previously written program in cooperation with the given microprocessor and its host operating software program.
    Type: Grant
    Filed: March 7, 2002
    Date of Patent: March 7, 2006
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Donald Alpert
  • Publication number: 20040139280
    Abstract: The present invention relates to the design of highly reliable high performance microprocessors, and more specifically to designs using a blind invalidate circuit in high-speed memories. In accordance with an embodiment of the present invention, a tag array memory circuit including a plurality of memory bit circuits coupled together to form an n-bit memory cell; and a blind invalidate circuit coupled to a memory bit circuit in the n-bit memory cell, the blind invalidate circuit to clear a bit in the memory bit circuit, if a primary clear bit line is asserted and a received bit value of a right-adjacent memory bit circuit is zero.
    Type: Application
    Filed: December 23, 2003
    Publication date: July 15, 2004
    Applicant: INTEL CORPORATION
    Inventors: Nhon T. Quach, John H. Crawford, Gregory S. Mathews, Edward Grochowski, Chakravarthy Kosaraju
  • Publication number: 20040078529
    Abstract: The present invention relates to the design of highly reliable high performance microprocessors, and more specifically to designs that use cache memory protection schemes such as, for example, a 1-hot plus valid bit scheme and a 2-hot vector cache scheme. These protection schemes protect the 1-hot vectors used in the tag array in the cache and are designed to provide hardware savings, operate at higher speeds and be simple to implement. In accordance with an embodiment of the present invention, a tag array memory including an input conversion circuit to receive a 1-hot vector and to convert the 1-hot vector to a 2-hot vector. The tag array memory also including a memory array coupled to the input conversion circuit, the memory array to store the 2-hot vector; and an output conversion circuit coupled to the memory array, the output conversion circuit to receive the 2-hot vector and to convert the 2-hot vector back to the 1-hot vector.
    Type: Application
    Filed: December 4, 2003
    Publication date: April 22, 2004
    Applicant: INTEL CORPORATION
    Inventors: Nhon T. Quach, John H. Crawford, Greg S. Mathews, Edward Grochowski, Chakravarthy Kosaraju
  • Publication number: 20040030959
    Abstract: The invention relates to the design of highly reliable microprocessors and more specifically to the use of a dedicated state machine that periodically checks the validity of critical processor resources. In an embodiment of the present invention, an apparatus to detect errors in information stored in a processor resource includes an error detection component, which is configured to control the detection of errors in the information stored in the processor resource; and a comparison component coupled to the error detection component, which is configured to receive the information from the processor resource and inputs from the detection component. The comparison component is further configured to determine if the information is valid, and to output a signal to replace the information if the information if invalid.
    Type: Application
    Filed: August 6, 2003
    Publication date: February 12, 2004
    Applicant: INTEL CORPORATION
    Inventors: Nhon T. Quach, John H. Crawford, Chakravarthy Kosaraju, Venkatesh Nagapudi
  • Patent number: 6654909
    Abstract: The invention relates to the design of highly reliable microprocessors and more specifically to the use of a dedicated state machine that periodically checks the validity of critical processor resources. In an embodiment of the present invention, an apparatus to detect errors in information stored in a processor resource includes an error detection component, which is configured to control the detection of errors in the information stored in the processor resource; and a comparison component coupled to the error detection component, which is configured to receive the information from the processor resource and inputs from the detection component. The comparison component is further configured to determine if the information is valid, and to output a signal to replace the information if the information if invalid.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: November 25, 2003
    Assignee: Intel Corporation
    Inventors: Nhon T. Quach, John H. Crawford, Chakravarthy Kosaraju, Venkatesh Nagapudi
  • Patent number: 6604184
    Abstract: The present invention is a method and apparatus to map virtual memory space. A region register file provides a region identifier for a virtual address in the virtual memory space. The virtual address includes a virtual region number and a virtual page number. A virtual page table look-up circuit is coupled to the region register file to generate a page table entry (PTE) virtual address from virtual address parameters. The virtual address parameters include the virtual address.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: August 5, 2003
    Assignee: Intel Corporation
    Inventors: Achmed R. Zahir, Gary N. Hammond, John H. Crawford
  • Publication number: 20030018876
    Abstract: The present invention is a method and apparatus to map virtual memory space. A region register file provides a region identifier for a virtual address in the virtual memory space. The virtual address includes a virtual region number and a virtual page number. A virtual page table look-up circuit is coupled to the region register file to generate a page table entry (PTE) virtual address from virtual address parameters. The virtual address parameters include the virtual address.
    Type: Application
    Filed: June 30, 1999
    Publication date: January 23, 2003
    Inventors: ACHMED R. ZAHIR, GARY N. HAMMOND, JOHN H. CRAWFORD
  • Publication number: 20020120434
    Abstract: A computer system is disclosed herein including a given microprocessor specifically designed to operate in a virtual operating mode that allows a software program previously written for an earlier designed single program microprocessor to execute in a protected, paged, multi-tasking environment under a particularly designed host operating software program. The system also includes means for executing software interrupt (INTn) instructions, using emulation software forming part of the host program in order to emulate the way in which these instructions would have been executed by the earlier microprocessor. As a unique improvement to this overall computer system, certain ones of the INTn instructions are executed by means of emulation software while others are executed by means of the previously written program in cooperation with the given microprocessor and its host operating software program.
    Type: Application
    Filed: March 7, 2002
    Publication date: August 29, 2002
    Inventors: John H. Crawford, Donald Alpert
  • Patent number: 6385718
    Abstract: A computer system including a given microprocessor specifically designed to operate in a virtual operating mode allows a software program previously written for an earlier designed single program microprocessor to execute in a protected, paged, multi-tasking environment under a particularly designed host operating software program. The system also includes means for executing software interrupt (INTn) instructions, using emulation software forming part of the host program in order to emulate the way in which these instructions would have been executed by the earlier microprocessor. As a unique improvement to this overall computer system, certain ones of the INTn instructions are executed by means of emulation software while others are executed by means of the previously written program in cooperation with the given microprocessor and its host operating software program.
    Type: Grant
    Filed: August 29, 1997
    Date of Patent: May 7, 2002
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Donald Alpert
  • Patent number: 6163764
    Abstract: A method and apparatus for emulating an instruction on a processor. The instruction operates on an operand in a first data format and the processor operates in a second data format. The operand is converted from the first data format to the second data format. The processor then executes the instruction in the second data format to generate a result in the second data format. The result is converted from the second data format to the first data format.
    Type: Grant
    Filed: October 12, 1998
    Date of Patent: December 19, 2000
    Assignee: Intel Corporation
    Inventors: Carole Dulong, John H. Crawford
  • Patent number: 5948099
    Abstract: A microprocessor instruction for performing an in-place byte swap on 32-bit data type to convert data stored in a big-endian memory format to a little-endian memory format, or visa-versa, is described. The invention comprises a modified barrel shifter which includes a plurality of multiplexers for selectively coupling data from one or more input buses to an output bus. The coupling of the individual bit lines of the data buses is arranged such that the lower order bits of the 32-bit quantity are exchanged with the higher order bits and visa-versa. Control lines connected to each of the multiplexers provide a means for controlling the byte swapping operation.
    Type: Grant
    Filed: August 12, 1991
    Date of Patent: September 7, 1999
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Mustafiz R. Choudhury
  • Patent number: 5321836
    Abstract: Microprocessor architecture for an address translation unit which provides two levels of memory management is described. Segmentation registers and an associated segmentation table in main memory provide a first level of memory management which includes attribute bits used for protection, priority, etc. A page cache memory and an associated page directory and page table in main memory provide a second level of management with independent protection on a page level.
    Type: Grant
    Filed: April 9, 1990
    Date of Patent: June 14, 1994
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Paul S. Ries
  • Patent number: 5255378
    Abstract: An improved method of transferring burst data in a microprocessor is described. The improvement lies in the burst ordering of the data items to be referenced. The original address is selected as the data item that the user initially wants to access. Subsequent addresses in the burst are generated according to a mathematical algorithm. The algorithm generates the remaining addresses as a function of the internal bus width, the external memory/bus line size and the original address. Using the burst sequence of the present invention, memories/buses of different widths can be smoothly coupled to a microprocessor having a fixed CPU bus size (e.g., 32 bits).
    Type: Grant
    Filed: November 24, 1992
    Date of Patent: October 19, 1993
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Edward T. Grochowski
  • Patent number: 5210845
    Abstract: A cache controller (10) which sits in parallel with a microprocessor bus (14, 15, 29) so as not to impede system response in the event of a cache miss. The cache controller tagram (24) is configured into a two ways, each way including tag and valid-bit storage for associatively searching the directory for cache data-array addresses. The external cache memory (8) is organized such that both ways are simultaneously available to a number of available memory modules in the system to thereby allow the way access time to occur in parallel with the tag lookup.
    Type: Grant
    Filed: November 28, 1990
    Date of Patent: May 11, 1993
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Sundaravarathan R. Iyengar, James Nadir
  • Patent number: 5201043
    Abstract: A microprocessor which includes means for detecting misaligned data reference is described. The detecting means is selectable such that when it is enabled and reference is made to a misaligned data object, a fault is produced which interrupts the currently executing program. The detecting means comprises two mode bits stored within the microprocessor. The first mode bit provides control of the fault at the least privileged level of execution (i.e., the applications level) while the second mode bit provides control of the fault at the most privileged level (i.e., the operating system level). Both mode bits must be set to "1" in order for the detecting means to be enabled. The use of two separate mode bits for optionally enabling alignment checking provides optimum programming flexibility.
    Type: Grant
    Filed: June 10, 1992
    Date of Patent: April 6, 1993
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Ashish B. Dixit
  • Patent number: 5173872
    Abstract: A content addressable memory (CAM) for use with a microprocessor allows comparison of the contents of the memory with input data. The CAM further allows certain bits of input data to be ignored from comparison. This feature allows certain bits, such as a bit indicating whether read or write access is allowed to certain information, to be ignored when the system is, for example, in a supervisory mode. Also disclosed is a method of precharging a hit line, which indicates whether or not a match was found in memory during the comparison, in order to increase the speed of the comparison process.
    Type: Grant
    Filed: July 13, 1987
    Date of Patent: December 22, 1992
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Paul S. Ries
  • Patent number: 5131083
    Abstract: An improved method of transferring burst data in a microprocessor is described. The improvement lies in the burst ordering of the data items to be referenced. The original address is selected as the data item that the user initially wants to access. Subsequent addresses in the burst are generated according to a mathematical algorithm. The algorithm generates the remaining addresses as a function of the internal bus width, the external memory/bus line size and the original address. Using the burst sequence of the present invention, memories/buses of different widths can be smoothly coupled to a microprocessor having a fixed CPU bus size (e.g., 32 bits).
    Type: Grant
    Filed: April 5, 1989
    Date of Patent: July 14, 1992
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Edward T. Grochowski