Processing commands and data in a common pipeline path in a high-speed computer graphics system
First Claim
1. A pipelined processing system for sequentially processing a plurality of data blocks including only system data or pipeline setup and control commands and associated setup and control data, comprising:
- a data processing pipeline having at least two pipelined processing circuits which perform predetermined functions on data blocks input thereto, each pipelined processing circuit including means for reading predetermined bits of received data blocks and for processing system data and pipeline setup and control commands and associated setup and control data within read data block which said pipelined processing circuit is authorized to process; and
means for providing data blocks having a predetermined number of bits to said data processing pipeline, each data block including means read by said reading means of each pipelined processing circuit for indicating whether that data block contains a pipeline setup and control command, each data block containing a pipeline setup and control command further comprising identifying means read by said reading means of each pipelined processing circuit for identifying whether said pipelined processing circuit is authorized to process that pipeline setup and control command, said providing means providing said pipeline setup and control commands in said data blocks in the desired order for processing by said pipelined processing circuits such that a pipeline data flush is not necessary between reconfigurations of said pipelined processing circuits.
2 Assignments
0 Petitions
Accused Products
Abstract
A pipelined processing system in which context switching for each of the pipelined processing circuits within the pipeline may be accomplished without flushing the data from the pipeline. This is accomplished by sending the pipeline commands and data together through the pipeline and differentiating the commands from the data using a flag added to the commands and data which specifies whether the associated data word is a command or data. During operation of the pipeline, when the input data is received by one of the pipelined processing circuits in the pipeline, the flag is checked to see if the associated data word includes a command. If the associated data word includes data to be processed, it is processed in accordance with the current configuration of the pipeline. However, if the associated data word includes a command for setup and control and the like, each pipelined processing circuit within the pipeline compares its identification value with a tag field in the command to determine whether it is to be reconfigured by that command. If it is to be reconfigured by that command, the appropriate context switching and the like takes place. However, if the current pipelined processing circuit is not to be reconfigured by that command, that command is passed through the current pipelined processing circuit unprocessed so that a similar determination may be made by the next pipelined processing circuit in the pipeline. As a result, setup and control commands for the pipelined processing circuits may be passed through the data processing pipeline along with the data in the desired processing order such that a pipeline data flush is not necessary between reconfigurations of the pipelined processing circuits. Since the pipeline need not be flushed when processes are changed, processing efficiency and throughput are substantially improved.
208 Citations
11 Claims
-
1. A pipelined processing system for sequentially processing a plurality of data blocks including only system data or pipeline setup and control commands and associated setup and control data, comprising:
-
a data processing pipeline having at least two pipelined processing circuits which perform predetermined functions on data blocks input thereto, each pipelined processing circuit including means for reading predetermined bits of received data blocks and for processing system data and pipeline setup and control commands and associated setup and control data within read data block which said pipelined processing circuit is authorized to process; and means for providing data blocks having a predetermined number of bits to said data processing pipeline, each data block including means read by said reading means of each pipelined processing circuit for indicating whether that data block contains a pipeline setup and control command, each data block containing a pipeline setup and control command further comprising identifying means read by said reading means of each pipelined processing circuit for identifying whether said pipelined processing circuit is authorized to process that pipeline setup and control command, said providing means providing said pipeline setup and control commands in said data blocks in the desired order for processing by said pipelined processing circuits such that a pipeline data flush is not necessary between reconfigurations of said pipelined processing circuits. - View Dependent Claims (2, 3, 4)
-
-
5. A pipelined graphics processing system for sequentially processing a plurality of data blocks including only graphics data or pipeline setup and control commands and associated setup and control data, comprising:
-
a graphics pipeline having at least two pipelined processing circuits which perform predetermined functions on data blocks input thereto, each pipelined processing circuit including means for reading predetermined bits of received data blocks and for processing graphics data and pipeline setup and control commands and associated setup and control data within read data blocks which said pipelined processing circuit is authorized to process; and means for providing data blocks having a predetermined number of bits to said graphics pipeline, each data block including means read by said reading means of each pipelined processing circuit for indicating whether that data block contains a pipeline setup and control command, each data block containing a pipeline setup and control command further comprising identifying means read by said reading means of each pipelined processing circuit for identifying whether said pipelined processing circuit is authorized to process that pipeline setup and control command, said providing means providing said pipeline setup and control commands in said data blocks in the desired order for processing by said pipelined processing circuits such that a pipeline data flush is not necessary between reconfigurations of said pipelined processing circuits. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of sequentially processing a plurality of data blocks including only system data or pipeline setup and control commands and associated setup and control data in a data processing pipeline having at least two pipelined processing circuits which perform predetermined functions on data blocks input thereto, each pipelined processing circuit including means for reading predetermined bits of received data blocks and for processing system data and pipeline setup and control commands and associated setup and control data within read data blocks which said pipelined processing circuit is authorized to process, comprising the steps of:
-
inputting data blocks having a predetermined number of bits to a first of said pipelined processing circuits, said pipeline setup and control commands being provided in said data blocks in the desired order for processing by said pipelined processing circuits such that a pipeline data flush is not necessary between reconfigurations of said pipelined processing circuits; and for each pipelined processing circuit of said data processing pipeline, performing the steps of; said reading means determining whether an input data block contains a pipeline setup and control command, and, if the input data block contains a pipeline setup and control command, further determining whether the current pipelined processing circuit is authorized to process that pipeline setup and control command, and if the current pipelined processing circuit is authorized to process the pipeline setup and control command in the input data block, said processing means of the current pipelined processing circuit processing that pipeline setup and control command and passing results of the processing of that pipeline setup and control command to the next pipelined processing circuit in the data processing pipeline, but if the current pipelined processing circuit is not authorized to process the pipeline setup and control command in the input data block, said processing means passing the input data block containing the pipeline setup and control command through the current pipelined processing circuit unprocessed to the next pipelined processing circuit in the data processing pipeline. - View Dependent Claims (11)
-
Specification