Patents by Inventor Timour Paltashev

Timour Paltashev 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: 7583268
    Abstract: A graphics processing unit (“GPU”) is configured to interrupt processing of a first context and to initiate processing of a second context upon command. A command processor communicates an interrupt signal on a communication path from to a plurality of pipeline processing blocks in a graphics pipeline. A token, which corresponds to an end of an interrupted context, is forwarded from the command processor to a first pipeline processing block and subsequently to other pipeline blocks in the graphics pipeline. Each pipeline processing block discards contents of associated memory units upon receipt of the interrupt signal until the token is reached. The token may be forwarded to one or more additional pipeline processing blocks and memory units so that the token is communicated throughout the graphics pipeline to flush data associated with the first context. Data associated with the second context may follow behind the token through graphics pipeline.
    Type: Grant
    Filed: November 10, 2005
    Date of Patent: September 1, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Hsilin Huang, Timour Paltashev, John Brothers
  • Patent number: 7580040
    Abstract: A graphics processing unit (“GPU”) is configured to interrupt processing of a first context and to initiate processing of a second context upon command so that multiple programs can be executed by the GPU. The CPU creates and the GPU stores a run list containing a plurality of contexts for execution, where each context has a ring buffer of commands and pointers for processing. The GPU initiates processing of a first context in the run list and retrieves memory access commands and pointers referencing data associated with the first context. The GPU's pipeline processes data associated with first context until empty or interrupted. If emptied, the GPU switches to a next context in the run list for processing data associated with that next context. When the last context in the run list is completed, the GPU may switch to another run list containing a new list of contexts for processing.
    Type: Grant
    Filed: November 10, 2005
    Date of Patent: August 25, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Hsilin Huang, Timour Paltashev
  • Publication number: 20090189909
    Abstract: Graphics processing units (GPUs) are used, for example, to process data related to three-dimensional objects or scenes and to render the three-dimensional data onto a two-dimensional display screen. One embodiment, among others, of a unified cache system used in a GPU comprises a data storage device and a storage device controller. The data storage device is configured to store graphics data processed by or to be processed by one or more shader units. The storage device controller is placed in communication with the data storage device. The storage device controller is configured to dynamically control a storage allocation of the graphics data within the data storage device.
    Type: Application
    Filed: January 25, 2008
    Publication date: July 30, 2009
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Jeff Jiao, Timour Paltashev
  • Publication number: 20090189896
    Abstract: Graphics processing units (GPUs) are used, for example, to process data related to three-dimensional objects or scenes and to render the three-dimensional data onto a two-dimensional display screen. One embodiment, among others, of a GPU is disclosed herein, wherein the GPU includes a control device configured to receive vertex, geometry and pixel data. The GPU further includes a plurality of execution units connected in parallel, each execution unit configured to perform a plurality of graphics shading functions on the vertex, geometry and pixel data. The control device is further configured to allocate a portion of the vertex, geometry and pixel data to each execution unit in a manner to substantially balance the load among the execution units.
    Type: Application
    Filed: January 25, 2008
    Publication date: July 30, 2009
    Applicant: VIA Technologies, Inc.
    Inventors: Jeff Jiao, Timour Paltashev
  • Publication number: 20090182948
    Abstract: Systems and methods for sharing a physical cache among one or more clients in a stream data processing pipeline are described. One embodiment, among others, is directed to a system for sharing caches between two or more clients. The system comprises a physical cache memory having a memory portion accessed through a cache index. The system further comprises at least two virtual cache spaces mapping to the memory portion and at least one virtual cache controller configured to perform a hit-miss test on the active window of the virtual cache space in response to a request from one of the clients for accessing the physical cache memory. In accordance with some embodiments, each of the virtual cache spaces has an active window which has a different size than the memory portion. Furthermore, data is accessed from the corresponding location of the memory portion when the hit-miss test of the cache index returns a hit.
    Type: Application
    Filed: January 16, 2008
    Publication date: July 16, 2009
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Jeff Jiao, Timour Paltashev
  • Patent number: 7551174
    Abstract: A low-cost high-speed programmable rasterizer accepting an input set of functionals representing a triangle, clipping planes and a scissoring box, and producing multiple spans per clock cycle as output. A Loader converts the input set from a general form to a special case form accepted by a set of Edge Generators, the restricted input format accepted by the Edge Generators contributing to their efficient hardware implementation.
    Type: Grant
    Filed: December 23, 2003
    Date of Patent: June 23, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Konstantine Iourcha, Boris Prokopenko, Timour Paltashev, Derek Gladding
  • Patent number: 7545381
    Abstract: A graphics processing unit (“GPU”) is configured to receive an interrupt command from a CPU or internal interrupt event while the GPU is processing a first context. The GPU saves the first context to memory and records a precise processing position for the first context corresponding to the point interrupted. Thereafter, the GPU loads a second context to the processing portion of the GPU from memory and begins executing instructions associated with the second context. After the second context is complete of if an interrupt command directs restoration of the first context, the GPU's processor switches to the first context for continued processing. The first context is retrieved from memory and restored to the precise processing position where previously interrupted. The GPU then processes a remainder portion of the first context from the precise processing point to an end of the first context.
    Type: Grant
    Filed: November 10, 2005
    Date of Patent: June 9, 2009
    Assignee: Via Technologies, Inc.
    Inventors: Hsilin Huang, Timour Paltashev, John Brothers
  • Publication number: 20080282034
    Abstract: A method and a computing system are provided. The computing system may include a system memory configured to store data in a first data format. The computing system may also include a computational core comprising a plurality of execution units (EU). The computational core may be configured to request data from the system memory and to process data in a second data format. Each of the plurality of EU may include an execution control and datapath and a specialized L1 cache pool. The computing system may include a multipurpose L2 cache in communication with the each of the plurality of EU and the system memory. The multipurpose L2 cache may be configured to store data in the first data format and the second data format. The computing system may also include an orthogonal data converter in communication with at least one of the plurality of EU and the system memory.
    Type: Application
    Filed: July 18, 2008
    Publication date: November 13, 2008
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Yang (Jeff) Jiao, Yiping Chen, Timour Paltashev
  • Publication number: 20080158252
    Abstract: Systems for performing rasterization are described. At least one embodiment includes a span generator for performing rasterization. In accordance with such embodiments, the span generator comprises functionals representing a scissoring box, loaders configured to convert the functionals from a general form to a special case form, edge generators configured to read the special case form of the scissoring box, whereby the special case form simplifies calculations by the edge generators. The span generator further comprises sorters configured to compute the intersection of half-planes, wherein edges of the intersection are generated by the edge generators and a span buffer configured to temporarily store spans before tiling.
    Type: Application
    Filed: March 11, 2008
    Publication date: July 3, 2008
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Konstantine Iourcha, Boris Prokopenko, Timour Paltashev, Derek Gladding
  • Publication number: 20070285417
    Abstract: Various embodiments for reducing external bandwidth requirements for transferring graphics data are included. One embodiment includes a system for reducing the external bandwidth requirements for transferring graphics data comprising a prediction error calculator configured to generate a prediction error matrix for a pixel tile of z-coordinate data, a bit length calculator configured to calculate the number of bits needed to store the prediction error matrix, a data encoder configured to encode the prediction error matrix into a compressed block and a packer configured to shift the compressed block in a single operation to an external memory location.
    Type: Application
    Filed: May 17, 2007
    Publication date: December 13, 2007
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Boris Prokopenko, Timour Paltashev
  • Patent number: 7284113
    Abstract: An orthogonal data converter for converting the components of a sequential vector component flow to a parallel vector component flow. The data converter has an input rotator configured to rotate corresponding vector components of the sequential vector component flow by a prescribed amount, and a bank of register files configured to store the rotated vector components. The converter also has an output rotator configured to rotate the position of the vector components read from the bank of register files by a prescribed amount. A controller of the converter is operative to control the addressing of the bank of register files and the rotating of the vector components. In this regard, the controller is operative to write the vector components to the bank of register files in a prescribed order and read the vector components in a prescribed order to generate the parallel vector component flow.
    Type: Grant
    Filed: September 19, 2003
    Date of Patent: October 16, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Boris Prokopenko, Timour Paltashev
  • Publication number: 20070186082
    Abstract: Included are embodiments of a stream processor configured to process data in any of a plurality of different formats. At least one embodiment of the stream processor includes a first scalar arithmetic logic unit (ALU), configured to process a plurality of sets of short data in response to a received short format control signal from an instruction set and process a set of long data in response to a received long format control signal from the instruction set. Embodiments of the processor also include a second arithmetic logic unit (ALU), configured to receive the processed data from the first arithmetic logic unit (ALU) and process the input data and the processed data according to a control signal from the instruction set. Still other embodiments include a special function unit (SFU) configured to provide additional computational functionality to the first ALU and the second ALU.
    Type: Application
    Filed: February 6, 2007
    Publication date: August 9, 2007
    Inventors: Boris Prokopenko, Timour Paltashev, Derek Gladding
  • Publication number: 20070185953
    Abstract: Included are embodiments of a Multiply-Accumulate Unit to process multiple format floating point operands. For short format operands, embodiments of the Multiply Accumulate Unit are configured to process data with twice the throughput as long and mixed format data. At least one embodiment can include a short exponent calculation component configured to receive short format data, a long exponent calculation component configured to receive long format data, and a mixed exponent calculation component configured to receive short exponent data, the mixed exponent calculation component further configured to received long format data. Embodiments also include a mantissa datapath configured for implementation to accommodate processing of long, mixed, and short floating point operands.
    Type: Application
    Filed: February 6, 2007
    Publication date: August 9, 2007
    Inventors: Boris Prokopenko, Timour Paltashev, Derek Gladding
  • Patent number: 7246218
    Abstract: A system for executing instructions is presented. In some embodiments, among others, the system comprises functional units, local multiplexers, local register files, and a global register file, which are communicatively coupled to each other and arranged to accommodate shortened instruction words in multiple-issue processors. These components are arranged to permit greater access to registers by instructions, thereby permitting reduction of the word length, as compared to conventional very long instruction word (VLIW) processors.
    Type: Grant
    Filed: November 1, 2004
    Date of Patent: July 17, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Boris Prokopenko, Timour Paltashev, Derek Edward Davout Gladding
  • Publication number: 20070103474
    Abstract: A graphics processing unit (“GPU”) is configured to interrupt processing of a first context and to initiate processing of a second context upon command. A command processor communicates an interrupt signal on a communication path from to a plurality of pipeline processing blocks in a graphics pipeline. A token, which corresponds to an end of an interrupted context, is forwarded from the command processor to a first pipeline processing block and subsequently to other pipeline blocks in the graphics pipeline. Each pipeline processing block discards contents of associated memory units upon receipt of the interrupt signal until the token is reached. The token may be forwarded to one or more additional pipeline processing blocks and memory units so that the token is communicated throughout the graphics pipeline to flush data associated with the first context. Data associated with the second context may follow behind the token through graphics pipeline.
    Type: Application
    Filed: November 10, 2005
    Publication date: May 10, 2007
    Inventors: Hsilin Huang, Timour Paltashev, John Brothers
  • Publication number: 20070103475
    Abstract: A graphics processing unit (“GPU”) is configured to interrupt processing of a first context and to initiate processing of a second context upon command so that multiple programs can be executed by the GPU. The CPU creates and the GPU stores a run list containing a plurality of contexts for execution, where each context has a ring buffer of commands and pointers for processing. The GPU initiates processing of a first context in the run list and retrieves memory access commands and pointers referencing data associated with the first context. The GPU's pipeline processes data associated with first context until empty or interrupted. If emptied, the GPU switches to a next context in the run list for processing data associated with that next context. When the last context in the run list is completed, the GPU may switch to another run list containing a new list of contexts for processing.
    Type: Application
    Filed: November 10, 2005
    Publication date: May 10, 2007
    Inventors: Hsilin Huang, Timour Paltashev
  • Publication number: 20070091100
    Abstract: A graphics pipeline configured to synchronize data processing according to signals and tokens has at least four components. The first component has one input and one output and communicates output tokens or wire signals after receiving tokens on the input, an internal event occurrence, or receipt of a signal on an input path. The second component has one input and a plurality of outputs and communicates tokens or wire signals on one of the outputs after receiving tokens on the input, an internal event occurrence, or receipt of a signal on an input path. The third component has a plurality of inputs and one output and communicates tokens or wire signals on the output after receiving tokens on one of the inputs, an internal event occurrence, or receipt of a signal on an input path. The fourth component has a plurality of inputs and a plurality of outputs and has the capabilities of both the third and forth components.
    Type: Application
    Filed: August 30, 2006
    Publication date: April 26, 2007
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: John Brothers, Timour Paltashev, Hsilin Huang, Qunfeng Liao
  • Publication number: 20070091102
    Abstract: A method for high level synchronization between an application and a graphics pipeline comprises receiving an application instruction in an input stream at a predetermined component, such as a command stream processor (CSP), as sent by a central processing unit. The CSP may have a first portion coupled to a next component in the graphics pipeline and a second portion coupled to a plurality of components of the graphics pipeline. A command associated with the application instruction may be forwarded from the first portion to the next component in the graphics pipeline or some other component coupled thereto. The command may be received and thereafter executed. A response may be communicated on a feedback path to the second portion of the CSP. Nonlimiting exemplary application instructions that may be received and executed by the CSP include check surface fault, trap, wait, signal, stall, flip, and trigger.
    Type: Application
    Filed: October 25, 2006
    Publication date: April 26, 2007
    Inventors: John Brothers, Timour Paltashev, Hsilin Huang, Boris Prokopenko, Qunfeng Liao
  • Patent number: 7202872
    Abstract: One embodiment of the present invention is directed to a graphics system comprising logic for generating a mask that identifies bits within a plurality of bits that are not to be impacted by a subsequent computation. The graphics system further comprises compression logic that is responsive to the mask for generating a compressed bit stream, such that the bits that are not to be impacted by the computation are not included in the compressed bit stream. Another embodiment of the present invention is directed to a graphics system comprising logic for generating a mask identifying positions within a plurality of positions of a bit stream that are to be removed during a compression operation.
    Type: Grant
    Filed: April 19, 2004
    Date of Patent: April 10, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Timour Paltashev, Boris Prokopenko
  • Publication number: 20070030278
    Abstract: A dynamically scheduled parallel graphics processor comprises a spreader that creates graphic objects for processing and assigns and distributes the created objects for processing to one or more execution blocks. Each execution block is coupled to the spreader and receives an assignment for processing a graphics. object. The execution block pushes the object through each processing stage by scheduling the processing of the graphics object and executing instruction operations on the graphics object. The dynamically scheduled parallel graphics processor includes one or more fixed function units coupled to the spreader that are configured to execute one or more predetermined operations on a graphics object. An input/output unit is coupled to the spreader, the one or more fixed function units, and the plurality of execution blocks and is configured to provide access to memory external to the dynamically scheduled parallel graphics processor.
    Type: Application
    Filed: August 8, 2005
    Publication date: February 8, 2007
    Inventors: Boris Prokopenko, Timour Paltashev