Patents by Inventor Thomas A. Piazza

Thomas A. Piazza 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: 20070147692
    Abstract: Methods, apparatus and computer readable medium are described that compress and/or decompress a digital image in a lossless or a lossy manner. In some embodiments, a display controller may compress a digital image by generating a symbol for each pel of the digital image. In particular, the symbol may represent a pel via a match vector and a channel error vector. The match vector may indicate which quantized channels of the pel matched quantized channels of a previous pel. Further, the channel error vector may comprise a lossless or lossy channel for each quantized channel of the pel that did not match a corresponding quantized channel of the previous pel. The channel error may also comprise a lossless or lossy channel error for each quantized channel of the pel that matched a corresponding quantized channel of the previous pel.
    Type: Application
    Filed: February 27, 2007
    Publication date: June 28, 2007
    Inventors: Michael Dwyer, Thomas Piazza
  • Publication number: 20070103487
    Abstract: A configurable filter module for providing shared filter resource between an overlay engine and a texture mapping engine of a graphics system. The configurable filter may comprise a plurality of linear blend units each of which receives data input from one of the overlay engine and a mapping engine cache, and generates a linear blend filter output respectively; and a filter output multiplexer which receives data output from the linear blend units and selects a proper byte ordering output, wherein the linear blend units serve as an overlay interpolator filter to perform linear blending of the data input from the overlay engine during a linear blend mode, and serve as a texture bilinear filter to perform bilinear filtering of the data input from the mapping engine cache during a bilinear filtering mode.
    Type: Application
    Filed: January 2, 2007
    Publication date: May 10, 2007
    Inventors: David Watson, Kim Meinerth, Indraneel Ghosh, Thomas Piazza, Val Cook
  • Patent number: 7212676
    Abstract: Methods, apparatus and computer readable medium are described that compress and/or decompress a digital image in a lossless or a lossy manner. In some embodiments, a display controller may compress a digital image by generating a symbol for each pel of the digital image. In particular, the symbol may represent a pel via a match vector and a channel error vector. The match vector may indicate which quantized channels of the pel matched quantized channels of a previous pel. Further, the channel error vector may comprise a lossless or lossy channel for each quantized channel of the pel that did not match a corresponding quantized channel of the previous pel. The channel error may also comprise a lossless or lossy channel error for each quantized channel of the pel that matched a corresponding quantized channel of the previous pel.
    Type: Grant
    Filed: December 30, 2002
    Date of Patent: May 1, 2007
    Assignee: Intel Corporation
    Inventors: Michael K. Dwyer, Thomas A. Piazza
  • Patent number: 7158147
    Abstract: A configurable filter module for providing shared filter resource between an overlay engine and a texture mapping engine of a graphics system. The configurable filter may comprise a plurality of linear blend units each of which receives data input from one of the overlay engine and a mapping engine cache, and generates a linear blend filter output respectively; and a filter output multiplexer which receives data output from the linear blend units and selects a proper byte ordering output, wherein the linear blend units serve as an overlay interpolator filter to perform linear blending of the data input from the overlay engine during a linear blend mode, and serve as a texture bilinear filter to perform bilinear filtering of the data input from the mapping engine cache during a bilinear filtering mode.
    Type: Grant
    Filed: September 4, 2002
    Date of Patent: January 2, 2007
    Assignee: Intel Corporation
    Inventors: David W. Watson, Kim A. Meinerth, Indraneel Ghosh, Thomas A. Piazza, Val G. Cook
  • Patent number: 7139890
    Abstract: Methods and arrangements to interface memory are described. Many embodiments comprise comparing a transaction or access from a source to memory addresses associated with the source to determine whether an address associated with the transaction is accessible by the source. Some embodiments may comprise defining protected memory. Several embodiments may comprise defining protected memory by, for example, determining a configuration for memory. Such embodiments may comprise protecting a memory location or limiting access to memory addresses associated with a protected memory location. Some of these embodiments may comprise accessing registers to define protected memory and verifying accesses to a memory location according to the definition of protected memory. Further embodiments may comprise generating an association between a source of an access and a memory location and storing the association to facilitate access to the memory location by the source.
    Type: Grant
    Filed: April 30, 2002
    Date of Patent: November 21, 2006
    Assignee: Intel Corporation
    Inventors: Douglas R. Moran, Clifford D. Hall, Thomas A. Piazza, Richard W. Jensen
  • Publication number: 20060164429
    Abstract: A 3D rendering texture caching scheme that minimizes external bandwidth requirements for texture and increases the rate at which textured pixels are available. The texture caching scheme efficiently pre-fetches data at the main memory access granularity and stores it in cache memory. The data in the main memory and texture cache memory is organized in a manner to achieve large reuse of texels with a minimum of cache memory to minimize cache misses. The texture main memory stores a two dimensional array of texels, each texel having an address and one of N identifiers. The texture cache memory has addresses partitioned into N banks, each bank containing texels transferred from the main memory that have the corresponding identifier. A cache controller determines which texels need to be transferred from the texture main memory to the texture cache memory and which texels are currently in the cache using a least most recently used algorithm.
    Type: Application
    Filed: January 30, 2006
    Publication date: July 27, 2006
    Inventors: Michael Mantor, John Carey, Ralph Taylor, Thomas Piazza, Jeffrey Potter, Angel Socarras
  • Publication number: 20060161757
    Abstract: A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.
    Type: Application
    Filed: September 12, 2005
    Publication date: July 20, 2006
    Inventor: Thomas Piazza
  • Publication number: 20060155924
    Abstract: According to some embodiments, determining a new value to be pushed onto a hardware stack having n entries is determined. Each entry in the stack may include a data portion and an associated counter. If the new value equals the data portion of the entry associated with a current top of stack pointer, the counter associated with that entry is incremented. If the new value does not equal the data portion associated with the current top of stack pointer, the new value is stored in the data portion of the next entry and the current top of stack pointer is advanced.
    Type: Application
    Filed: December 15, 2004
    Publication date: July 13, 2006
    Inventors: Michael Dwyer, Hong Jiang, Thomas Piazza
  • Publication number: 20060149938
    Abstract: According to some embodiments, a value is retrieved from a location in an index register. A region in a register file may then be determined based at least in part on the value. Information may then be stored into the determined region of the register file.
    Type: Application
    Filed: December 29, 2004
    Publication date: July 6, 2006
    Inventors: Hong Jiang, Val Cook, Thomas Piazza, Michael Dwyer
  • Publication number: 20060146852
    Abstract: A context-free (stateless) dataport may allow multiple processors to perform read and write operations on a shared memory. The operations may include, for example, structured data operations such as image and video operations. The dataport may perform addressing computations associated with block memory operations. Therefore, the dataport may be able, for example, to relieve the processors that it serves from this duty. The dataport may be accessed using a message interface that may be implemented in a standard and generalized manner and that may therefore be easily transportable between different types of processors.
    Type: Application
    Filed: December 30, 2004
    Publication date: July 6, 2006
    Inventors: Dinakar Munagala, Hong Jiang, Bishara Shomar, Val Cook, Michael Dwyer, Thomas Piazza
  • Publication number: 20060139366
    Abstract: Z testing during computer graphics rendering is performed in a manner so as to optimize rendering. The status of a pixel as non-promotable may be tracked using a pixel status array (PSA). Each PSA row may contain bits which correspond to the non-promotable status of pixels. Each row may include five pixels, the first four of which represent the pixels in a subspan. If the row corresponds to a valid subspan, a determination may be made as to whether any pixel in the subspan is represented by a one, indicating that the pixel is non-promotable. This row corresponds to a previous subspan that has been sent down rendering pipeline. If a one is present, then the current subspan may be stalled until the pixels of the previous subspan has gone through color calculation. If, in the row that has just been read, no pixels are represented by a one, then a determination may be made as to whether any pixels in the current subspan are non-promotable.
    Type: Application
    Filed: December 29, 2004
    Publication date: June 29, 2006
    Applicant: Intel Corporation
    Inventors: Thomas Piazza, Eric Samson, Nasseh Akaaboune, Dinakar Munagala
  • Patent number: 7051172
    Abstract: Embodiments of the present invention provide a memory arbiter for directing chipset and graphics traffic to system memory. Page consistency and priorities are used to optimize memory bandwidth utilization and guarantee latency to isochronous display requests. The arbiter also contains a mechanism to prevent CPU requests from starving lower priority requests. The memory arbiter thus provides a simple, easy to validate architecture that prevents the CPU from unfairly starving low priority agent and takes advantage of grace periods and memory page detection to optimize arbitration switches, thus increasing memory bandwidth utilization.
    Type: Grant
    Filed: September 1, 2004
    Date of Patent: May 23, 2006
    Assignee: Intel Corporation
    Inventors: Josh B. Mastronarde, Aditya Sreenivas, Thomas A. Piazza
  • Patent number: 7050063
    Abstract: A 3D rendering texture caching scheme that minimizes external bandwidth requirements for texture and increases the rate at which textured pixels are available. The texture caching scheme efficiently pre-fetches data at the main memory access granularity and stores it in cache memory. The data in the main memory and texture cache memory is organized in a manner to achieve large reuse of texels with a minimum of cache memory to minimize cache misses. The texture main memory stores a two dimensional array of texels, each texel having an address and one of N identifiers. The texture cache memory has addresses partitioned into N banks, each bank containing texels transferred from the main memory that have the corresponding identifier. A cache controller determines which texels need to be transferred from the texture main memory to the texture cache memory and which texels are currently in the cache using a least most recently used algorithm.
    Type: Grant
    Filed: February 11, 2000
    Date of Patent: May 23, 2006
    Assignee: Intel Corporation
    Inventors: Michael Mantor, John Austin Carey, Ralph Clayton Taylor, Thomas A. Piazza, Jeffrey D. Potter, Angel E. Socarras
  • Patent number: 7035984
    Abstract: Embodiments of the present invention provide a memory arbiter for directing chipset and graphics traffic to system memory. Page consistency and priorities are used to optimize memory bandwidth utilization and guarantee latency to isochronous display requests. The arbiter also contains a mechanism to prevent CPU requests from starving lower priority requests. The memory arbiter thus provides a simple, easy to validate architecture that prevents the CPU from unfairly starving low priority agent and takes advantage of grace periods and memory page detection to optimize arbitration switches, thus increasing memory bandwidth utilization.
    Type: Grant
    Filed: December 31, 2001
    Date of Patent: April 25, 2006
    Assignee: Intel Corporation
    Inventors: Josh B. Mastronarde, Aditya Sreenivas, Thomas A. Piazza
  • Publication number: 20050289329
    Abstract: According to some embodiments, a conditional Single Instruction, Multiple Data instruction is provided. For example, a first conditional instruction may be received at an n-channel SIMD execution engine. The first conditional instruction may be evaluated based on multiple channels of associated data, and the result of the evaluation may be stored in an n-bit conditional mask register. A second conditional instruction may then be received at the execution engine and the result may be copied from the conditional mask register to an n-bit wide, m-entry deep conditional stack.
    Type: Application
    Filed: June 29, 2004
    Publication date: December 29, 2005
    Inventors: Michael Dwyer, Hong Jiang, Thomas Piazza
  • Publication number: 20050219253
    Abstract: A method and apparatus for rendering three-dimensional graphics using a streaming render-cache with a multi-threading, multi-core graphics processor are disclosed. The graphics processor includes a streaming render-cache and render-cache controller to maintain the order in which threads are dispatched to the graphics engine, and to maintain data coherency between the render-cache and the main memory. The render-cache controller blocks threads from being dispatched to the graphics engine out of order by only allowing one sub-span to be in-flight at any given time.
    Type: Application
    Filed: March 31, 2004
    Publication date: October 6, 2005
    Inventors: Thomas Piazza, Prasoonkumar Surti
  • Patent number: 6950108
    Abstract: Embodiments of the present invention provide a split vertex buffer where the data for each vertex is split between parallel vertex buffers. The first buffer contains vertex X and Y data, while the second parallel buffer contains the remainder of the vertex data. Given the split vertex buffers, the hardware binning-engine is now permitted to read and cache only vertex screen X and Y data. Especially given a typically high level of temporal coherency between indexed vertex references, the reading and caching of large parcels of vertex screen-space X and Y leads to lower and highly efficient utilization of memory bandwidth for hardware binning input. Embodiments of the present invention thus reduce the hardware binning memory bandwidth requirements and improve memory utilization.
    Type: Grant
    Filed: May 27, 2004
    Date of Patent: September 27, 2005
    Assignee: Intel Corporation
    Inventors: Peter L. Doyle, Thomas A. Piazza
  • Publication number: 20050198644
    Abstract: Active and/or proactive semaphore mechanisms and thread synchronization techniques can be applied to various visual and graphical processing techniques.
    Type: Application
    Filed: December 31, 2003
    Publication date: September 8, 2005
    Inventors: Hong Jiang, Thomas Piazza
  • Publication number: 20050155034
    Abstract: Multiple parallel passive threads of instructions coordinate access to shared resources using “active” semaphores. The semaphores are referred to as active because the semaphores send messages to execution and/or control circuitry to cause the state of a thread to change. A thread can be placed in an inactive state by a thread scheduler in response to an unresolved dependency, which can be indicated by a semaphore. A thread state variable corresponding to the dependency is used to indicate that the thread is in inactive mode. When the dependency is resolved a message is passed to control circuitry causing the dependency variable to be cleared. In response to the cleared dependency variable the thread is placed in an active state. Execution can proceed on the threads in the active state.
    Type: Application
    Filed: December 31, 2003
    Publication date: July 14, 2005
    Inventors: Hong Jiang, Thomas Piazza
  • Publication number: 20050149928
    Abstract: Multiple parallel passive threads of instructions coordinate access to shared resources using “active” and “proactive” semaphores. The active semaphores send messages to execution and/or control circuitry to cause the state of a thread to change. A thread can be placed in an inactive state by a thread scheduler in response to an unresolved dependency, which can be indicated by a semaphore. A thread state variable corresponding to the dependency is used to indicate that the thread is in inactive mode. When the dependency is resolved a message is passed to control circuitry causing the dependency variable to be cleared. In response to the cleared dependency variable the thread is placed in an active state. Execution can proceed on the threads in the active state. A proactive semaphore operates in a similar manner except that the semaphore is configured by the thread dispatcher before or after the thread is dispatched to the execution circuitry for execution.
    Type: Application
    Filed: December 31, 2003
    Publication date: July 7, 2005
    Inventors: Hong Jiang, Thomas Piazza