Patents by Inventor Eric A. Sprangle

Eric A. Sprangle 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: 20090248990
    Abstract: A technique to increase memory bandwidth for throughput applications. In one embodiment, memory bandwidth can be increased, particularly for throughput applications, without increasing interconnect trace or pin count by pipelining pages between one or more memory storage areas on half cycles of a memory access clock.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Inventor: Eric Sprangle
  • Publication number: 20090222654
    Abstract: Techniques to control power and processing among a plurality of asymmetric cores. In one embodiment, one or more asymmetric cores are power managed to migrate processes or threads among a plurality of cores according to the performance and power needs of the system.
    Type: Application
    Filed: July 22, 2008
    Publication date: September 3, 2009
    Inventors: Herbert Hum, Eric Sprangle, Doug Carmean, Rajesh Kumar
  • Publication number: 20090174721
    Abstract: A method and apparatus for efficiently handling texture sampling is described herein. A compiler or other software is capable of breaking a texture sampling operation for a pixel into a pre-fetch operation and a use operation. A processing element, in response to executing the pre-fetch operation, delegates computation of the texture sample of the pixel to a hardware texture sample unit. In parallel to the hardware texture sample unit performing a texture sample for the pixel and providing the result, i.e. a textured pixel (texel), to a destination address, the processing element is capable of executing other independent code. After an amount of time, the processing element executes the use operation, such as a load operation to load the texel from the destination address.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 9, 2009
    Inventor: Eric Sprangle
  • Publication number: 20090172364
    Abstract: A system and method for assigning values to elements in a first register, where each data field in a first register corresponds to a data element to be written into a second register, and where for each data field in the first register, a first value may indicate that the corresponding data element has not been written into the second register and a second value indicates that the corresponding data element has been written into the second register, reading the values of each of the data fields in the first register, and for each data field in the first register having the first value, gathering the corresponding data element and writing the corresponding data element into the second register, and changing the value of the data field in the first register from the first value to the second value. Other embodiments are described and claimed.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin, Tom Forsyth, Michael Abrash
  • Publication number: 20090172291
    Abstract: A method and apparatus for efficiently caching streaming and non-streaming data is described herein. Software, such as a compiler, identifies last use streaming instructions/operations that are the last instruction/operation to access streaming data for a number of instructions or an amount of time. As a result of performing an access to a cache line for a last use instruction/operation, the cache line is updated to a streaming data no longer needed (SDN) state. When control logic is to determine a cache line to be replaced, a modified Least Recently Used (LRU) algorithm is biased to select SDN state lines first to replace no longer needed streaming data.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin
  • Publication number: 20090172349
    Abstract: A computer processor includes a decoder for decoding machine instructions and an execution unit for executing those instructions. The decoder and the execution unit are capable of decoding and executing vector instructions that include one or more format conversion indicators. For instance, the processor may be capable of executing a vector-load-convert-and-write (VLoadConWr) instruction that provides for loading data from memory to a vector register. The VLoadConWr instruction may include a format conversion indicator to indicate that the data from memory should be converted from a first format to a second format before the data is loaded into the vector register. Other embodiments are described and claimed.
    Type: Application
    Filed: December 26, 2007
    Publication date: July 2, 2009
    Inventors: Eric Sprangle, Robert D. Cavin, Anwar Rohillah, Douglas M. Carmean
  • Publication number: 20090171994
    Abstract: A system and method for generating a single compressed vector including two or more predetermined attribute values. For each of a plurality of data points such as pixels, if a first and a second attribute values of the data point are equal to a first and a second, respectively, of the two or more predetermined attribute values, the compressed vector is used to operate on the data point. Other embodiments are described and claimed.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Eric Sprangle, Anwar Rohillah, Robert Cavin, Tom Forsyth, Michael Abrash
  • Patent number: 7536530
    Abstract: A system and method for a processor to determine a memory page management implementation used by a memory controller without necessarily having direct access to the circuits or registers of the memory controller is disclosed. In one embodiment, a matrix of counters correspond to potential page management implementations and numbers of pages per block. The counters may be incremented or decremented depending upon whether the corresponding page management implementations and numbers of pages predict a page boundary whenever a long access latency is observed. The counter with the largest value after a period of time may correspond to the actual page management implementation and number of pages per block.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: May 19, 2009
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Patent number: 7383418
    Abstract: A prefetching scheme to detect when a load misses the lower level cache and hits the next level cache. Consequently, the prefetching scheme utilizes the previous information for the cache miss to the lower level cache and hit to the next higher level of cache memory that may result in initiating a sidedoor prefetch load for fetching the previous or next cache line into the lower level cache. In order to generate an address for the sidedoor prefetch, a history of cache access is maintained in a queue.
    Type: Grant
    Filed: September 1, 2004
    Date of Patent: June 3, 2008
    Assignee: Intel Corporation
    Inventors: Kenneth J. Janik, K S Venkatraman, Anwar Rohillah, Eric Sprangle, Ronak Singhal
  • Patent number: 7296140
    Abstract: A method and apparatus to detect and filter out redundant cache line addresses in a prefetch input queue, and to adjust the detector window size dynamically according to the number of detector entries in the queue for the cache-to-memory controller bus. Detectors correspond to cache line addresses that may represent cache misses in various levels of cache memory.
    Type: Grant
    Filed: January 12, 2006
    Date of Patent: November 13, 2007
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Publication number: 20060117145
    Abstract: A method and apparatus to detect and filter out redundant cache line addresses in a prefetch input queue, and to adjust the detector window size dynamically according to the number of detector entries in the queue for the cache-to-memory controller bus. Detectors correspond to cache line addresses that may represent cache misses in various levels of cache memory.
    Type: Application
    Filed: January 12, 2006
    Publication date: June 1, 2006
    Inventors: Eric Sprangle, Anwar Rohillah
  • Publication number: 20060112255
    Abstract: A system and method for a processor to determine a memory page management implementation used by a memory controller without necessarily having direct access to the circuits or registers of the memory controller is disclosed. In one embodiment, a matrix of counters correspond to potential page management implementations and numbers of pages per block. The counters may be incremented or decremented depending upon whether the corresponding page management implementations and numbers of pages predict a page boundary whenever a long access latency is observed. The counter with the largest value after a period of time may correspond to the actual page management implementation and number of pages per block.
    Type: Application
    Filed: December 30, 2005
    Publication date: May 25, 2006
    Applicant: INTEL CORPORATION
    Inventors: Eric Sprangle, Anwar Rohillah
  • Patent number: 7032076
    Abstract: A method and apparatus to detect and filter out redundant cache line addresses in a prefetch input queue, and to adjust the detector window size dynamically according to the number of detector entries in the queue for the cache-to-memory controller bus. Detectors correspond to cache line addresses that may represent cache misses in various levels of cache memory.
    Type: Grant
    Filed: September 16, 2002
    Date of Patent: April 18, 2006
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Patent number: 7020762
    Abstract: A system and method for a processor to determine a memory page management implementation used by a memory controller without necessarily having direct access to the circuits or registers of the memory controller is disclosed. In one embodiment, a matrix of counters correspond to potential page management implementations and numbers of pages per block. The counters may be incremented or decremented depending upon whether the corresponding page management implementations and numbers of pages predict a page boundary whenever a long access latency is observed. The counter with the largest value after a period of time may correspond to the actual page management implementation and number of pages per block.
    Type: Grant
    Filed: December 24, 2002
    Date of Patent: March 28, 2006
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Publication number: 20060047915
    Abstract: A prefetching scheme to detect when a load misses the lower level cache and hits the next level cache. Consequently, the prefetching scheme utilizes the previous information for the cache miss to the lower level cache and hit to the next higher level of cache memory that may result in initiating a sidedoor prefetch load for fetching the previous or next cache line into the lower level cache. In order to generate an address for the sidedoor prefetch, a history of cache access is maintained in a queue.
    Type: Application
    Filed: September 1, 2004
    Publication date: March 2, 2006
    Inventors: Kenneth Janik, K.S. Venkatraman, Anwar Rohillah, Eric Sprangle, Ronak Singhal
  • Patent number: 6925550
    Abstract: A method and apparatus to execute data speculative instructions in a processor comprising at least one source register, each source register comprising a bit to indicate validity of data in the at least one source register. A data validity circuit coupled to the one or more source registers to determine the validity of the data in the source registers, and to indicate the validity of the data in a destination register based upon the validity bit in the at least one source register. The processor optionally comprising a checker unit to retire those instructions from the execution unit which write valid data to the destination register, and to re-schedules those instructions for execution which write invalid data to the destination register.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: August 2, 2005
    Assignee: Intel Corporation
    Inventors: Eric Sprangle, Michael J. Haertel, David J. Sager
  • Publication number: 20050071566
    Abstract: According to one embodiment a computer system is disclosed. The computer system includes a central processing unit (CPU) and a cache memory coupled to the CPU. The cache memory includes a main cache having plurality of compressible cache lines to store additional data, and a plurality of storage pools to hold a segment of the additional data for one or more of the plurality of cache lines that are to be compressed.
    Type: Application
    Filed: September 30, 2003
    Publication date: March 31, 2005
    Inventors: Ali-Reza Adl-Tabatabai, Anwar Ghuloum, Eric Sprangle
  • Publication number: 20040199731
    Abstract: A method and apparatus for accessing memory comprising monitoring memory accesses from a hardware prefetcher; determining whether the memory accesses from the hardware prefetcher are used by an out-of-order core; and switching memory accesses from a first mode to a second mode if a percentage of the memory access generated by the hardware prefetcher are used by the out-of-order core.
    Type: Application
    Filed: April 19, 2004
    Publication date: October 7, 2004
    Inventors: Eric A. Sprangle, Onur Mutlu
  • Publication number: 20040193846
    Abstract: A method and apparatus for a microprocessor with multiple memory read opportunity ports in a pipeline is disclosed. In one embodiment, a register file may have only one read port. When a statistically rare instruction requires two operands to be read from the register file, a spacer may be introduced into the pipeline, permitting the use of a second opportunity port to read its second operand from the register file at a later time. The spacer may be a nop, or it may be another instruction that receives its operands from a bypass path. In other embodiments, a register alias table may have only one read port, and a second opportunity port may be used to read a second physical register address.
    Type: Application
    Filed: March 28, 2003
    Publication date: September 30, 2004
    Inventor: Eric A. Sprangle
  • Patent number: 6799257
    Abstract: A method and apparatus for accessing memory comprising monitoring memory accesses from a hardware prefetcher and determining whether the memory accesses from the hardware prefetcher are used by an out-of-order core. A front side bus controller switches memory access modes from a minimize memory access latency mode to a maximize memory bus bandwidth mode if a percentage of the memory accesses generated by the hardware prefetcher are used by the out-of-order core.
    Type: Grant
    Filed: February 21, 2002
    Date of Patent: September 28, 2004
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Onur Mutlu