Patents by Inventor Boris Prokopenko

Boris Prokopenko 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: 7659899
    Abstract: A system and method to manage data processing stages of a logical graphics pipeline comprises a number of execution blocks coupled together and to a global spreader that assigns graphics data entities for execution to the execution blocks. Each execution block has an entity descriptor table containing information about an assigned graphics data entity corresponding to allocation of the entity and a current processing stage associated with the entity. Each execution block includes a stage parser configured to establish pointers for the assigned graphics data entity to be processed on a next processing stage. A numerical processing unit is included and configured to execute floating point and integer instructions in association with the assigned graphics data entity. The execution blocks include a data move unit for data loads and moves within the execution block, with the global spreader, and with other execution blocks of the plurality of execution blocks.
    Type: Grant
    Filed: August 8, 2005
    Date of Patent: February 9, 2010
    Assignee: Via Technologies, Inc.
    Inventors: Timour Paltashev, Boris Prokopenko
  • 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
  • Publication number: 20080192057
    Abstract: An input stream of graphics primitives may be converted into to a predetermined output stream of graphics primitives by a processor in a graphics pipeline. The processor recognizes a predetermined sequence pattern in the input stream of graphics primitives to the processor. The processor determines whether the recognized sequence pattern can be converted into the one of the plurality of predetermined output streams of graphics primitives. If so, the processor identifies a number of vertices in the recognized sequence pattern and reorders the vertices into a predetermined output pattern. Thereafter, the processor outputs the predetermined output pattern corresponding to one or more graphics processing components.
    Type: Application
    Filed: February 8, 2007
    Publication date: August 14, 2008
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Boris Prokopenko, Hsilin (Stephen) Huang, Ping Chen
  • 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
  • Patent number: 7277098
    Abstract: The computer graphics system is configured to improve the performance of a stencil shadow volume method for rendering shadows. The apparatus and methods utilize a combination of compressed and uncompressed stencil buffers in coordination with compressed and uncompressed depth data buffers. An uncompressed stencil buffer is capable of storing stencil shadow volume data for each pixel and a compressed stencil buffer is capable of storing stencil shadow volume data for a group of pixels. The compressed stencil buffer is utilized with a compressed stencil buffer cache to perform a stencil shadow volume operation more efficiently than present methods.
    Type: Grant
    Filed: August 23, 2004
    Date of Patent: October 2, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Jiangming Xu, Wen-Chung Chen, Yuanfeng Wang, Liang Li, John Brothers, Boris Prokopenko
  • 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: 20070115292
    Abstract: A GPU pipeline is synchronized by sending a fence command from a first module to an addressed synchronization register pair. Fence command associated data may be stored in a fence register of the addressed register pair. A second module sends a wait command with associated data to the addressed register pair, which may be compared to the data in the fence register. If the fence register data is greater than or equal to the wait command associated data, the second module may be acknowledged for sending the wait command and released for processing other graphics operations. If the fence register data is less than the wait command associated data, the second module is stalled until subsequent receipt of a fence command having data that is greater than or equal to the wait command associated data, which may be written to a wait register associated to the addressed register pair.
    Type: Application
    Filed: October 25, 2006
    Publication date: May 24, 2007
    Applicant: VIA TECHNOLOGIES, INC
    Inventors: John Brothers, Hsilin Huang, Boris Prokopenko
  • Publication number: 20070091101
    Abstract: A command parser in a GPU is configured to schedule execution of received commands and includes a first input coupled to a scheduler. The first command parser input is configured to communicate bus interface commands to the command parser for execution. A second command parser input is coupled to a controller that receives ring buffer commands from the scheduler in association with a new or previously-partially executed ring buffer, or context, which are executed by the command parser. A third command parser input coupled to a command DMA component that receives DMA commands from the controller that arc also contained in the new or previously-partially executed ring buffer, which are forwarded to the command parser for execution. The command parser forwards data corresponding to commands received on one or more the first, second, and third inputs via one or more outputs.
    Type: Application
    Filed: September 8, 2006
    Publication date: April 26, 2007
    Applicant: VIA TECHNOLOGIES, INC
    Inventors: Hsilin Huang, Boris Prokopenko, John Brothers
  • 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
  • Publication number: 20070030280
    Abstract: A parallel graphics processor having a spreader coupled to a plurality of execution components is disclosed. The spreader maintains status information for each of the plurality of execution components and establishes a priority for each of the plurality of execution blocks to receive a graphics entity to be processed. The priorities are arranged in accordance with the maintained status information and a type of graphics entity to be processed. The spreader communicates a request to a selected execution component to allocate the graphics entity to be processed in its entity descriptor table and copies graphics entity data to the selected execution component. The spreader indexes assignment of the graphics entity in its logical table and subsequently receives indication from the selected instruction execution component that the graphics entity has been processed. Thereafter, graphics images may be presented on a display.
    Type: Application
    Filed: August 8, 2005
    Publication date: February 8, 2007
    Inventors: Timour Paltashev, Boris Prokopenko, Derek Gladding
  • Publication number: 20070030277
    Abstract: A method for processing graphics data packets comprises allocating an entity for the graphics data packet of vertices, triangles, and/or pixels in one or more execution blocks that receives an assignment from a global spreader to process the graphics data packets. A pointer, which points to the allocated entity, communicates a pointer to a data mover, and the data mover loads some graphics data packets into a memory. A number of processing stages may follow such that one or more floating point or integer instructions is executed on the graphics data packets, as controlled by a thread controller. Upon completion of calculations on the graphics data packets, the allocated entity may be deleted and the graphics data packets may be communicated to another execution block or as directed by the global spreader.
    Type: Application
    Filed: August 8, 2005
    Publication date: February 8, 2007
    Inventors: Boris Prokopenko, Timour Paltashev, Derek Gladding, Jeremiah Childs
  • Publication number: 20070030279
    Abstract: A system and method to manage data processing stages of a logical graphics pipeline comprises a number of execution blocks coupled together and to a global spreader that assigns graphics data entities for execution to the execution blocks. Each execution block has an entity descriptor table containing information about an assigned graphics data entity corresponding to allocation of the entity and a current processing stage associated with the entity. Each execution block includes a stage parser configured to establish pointers for the assigned graphics data entity to be processed on a next processing stage. A numerical processing unit is included and configured to execute floating point and integer instructions in association with the assigned graphics data entity. The execution blocks include a data move unit for data loads and moves within the execution block, with the global spreader, and with other execution blocks of the plurality of execution blocks.
    Type: Application
    Filed: August 8, 2005
    Publication date: February 8, 2007
    Inventors: Timour Paltashev, Boris Prokopenko
  • Patent number: 7159003
    Abstract: A system and method for converting two binary digits into redundant sign-digit format. The system comprises a first adder for adding the binary digits together to generate a first result. A second adder adds an input carry from a previous digit to the first result and subtracts a value equal to the radix of the of the binary digits form the first result if the first result is greater than an initial threshold in order to generate an intermediate result. The system further includes a third adder for adding a second input carry from the previous digit to the intermediate result and subtracting the value of the radix from the intermediate result if the intermediate result is greater than a prescribed value such that the addition of the two binary digits are in redundant sign-digit format.
    Type: Grant
    Filed: February 21, 2003
    Date of Patent: January 2, 2007
    Assignee: S3 Graphics Co., Ltd.
    Inventors: Boris Prokopenko, Timour Paltashev, Derek Gladding
  • Patent number: 7158143
    Abstract: A faster algorithm for computing the texture of a pixel is disclosed. A major and minor direction in texel space are determined. Steps in the major direction are set to unity and steps in the minor direction are set to the slope of the anistropy line of the footprint. The end points of the anistropy line in the major direction are then positioned to be on grid in the texture space. The texture is computed for each sample along the anistropy line by computing an interpolation cooefficient for the sample, linearly interpolating two texels based on the cooefficient, weighting the interpolated sample, and accumulating the weighted samples. The result is the texture value to be used for the pixel.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: January 2, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Boris Prokopenko, Timour Paltashev