Register setting-micro programming system
First Claim
1. A graphics processor comprising:
- a plurality of interrelated functional modules, wherein the plurality of interrelated functional modules are interconnected by a data pipeline for conveying data;
at least one register associated with each of the functional modules, each register being configured to control a function of its associated functional module;
a control bus interconnecting each of the registers for conveying instructions, wherein said control bus and the data pipeline are physically separate; and
an instruction controller for decoding instructions for use with the graphics processor, the instruction controller including a register setting unit adapted to set the registers via the control bus in accordance with a decoded instruction, thereby to configure the function of each of the functional modules in response to each instruction.
3 Assignments
0 Petitions
Accused Products
Abstract
A graphics processor includes a plurality of interrelated functional modules and at least one register associated with each of the functional modules. The plurality of interrelated functional modules are interconnected by a data pipeline for conveying data, and each register is configured to control a function of its associated functional module. The graphics processor also includes a control bus interconnecting each of the registers for conveying instructions, and an instruction controller for decoding instructions for use with the graphics processor. The control bus and the data pipeline are physically separate, and the instruction controller includes a register setting unit adapted to set the registers via the control bus in accordance with a decoded instruction. This enables the function of each of the functional modules to be configured in response to each instruction.
-
Citations
22 Claims
-
1. A graphics processor comprising:
-
a plurality of interrelated functional modules, wherein the plurality of interrelated functional modules are interconnected by a data pipeline for conveying data;
at least one register associated with each of the functional modules, each register being configured to control a function of its associated functional module;
a control bus interconnecting each of the registers for conveying instructions, wherein said control bus and the data pipeline are physically separate; and
an instruction controller for decoding instructions for use with the graphics processor, the instruction controller including a register setting unit adapted to set the registers via the control bus in accordance with a decoded instruction, thereby to configure the function of each of the functional modules in response to each instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
a control bus access unit associated with each of the functional modules, wherein the control bus access units enable the functional modules selectively to interact with the control bus.
-
-
10. A graphics processor according to claim 1, including a multi-used RAM for storing:
-
(a) interval and fractional tables of data points, during colour conversion operations;
(b) matrix coefficient data during image transformations and convolutions; and
(c) double buffered minimal code units during JPEG operations.
-
-
11. A graphics processor according to claim 10, wherein said interval and fractional tables are stored on demand in the multi-used RAM.
-
12. A graphics processor according to claim 1, further including:
-
a JPEG unit adapted to perform JPEG encoding and decoding; and
a cache normally utilised for storing recently-used data and being adapted to store JPEG tables when the graphics processor is performing JPEG operations.
-
-
13. A graphics processor according to claim 12, wherein the cache is also utilised for storing Huffman tables for access by the graphics processor when performing JPEG operations.
-
14. A graphics processor according to claim 12 or claim 13, wherein the JPEG unit may independently be utilised for general Huffman encoding and decoding, and the cache may be utilised for storing tables for Huffman encoding and decoding.
-
15. A graphics processor according to claim 14, wherein the JPEG unit is utilised for Photo-CD decoding of images.
-
16. A graphics processor according to claim 12, wherein the JPEG unit is able to decode a stream of Huffman symbols at a rate of one symbol per clock cycle.
-
17. A graphics processor according to claim 12, further including a coprocessor that includes a coefficients coder attached to a buffer, the coefficients coder being configured selectively to write data to the buffer in zigzag order and to read data from the buffer in sequential order, and vice versa.
-
18. A graphics processor according to claim 12, wherein the JPEG unit decodes a stream of JPEG data and includes a facility for discarding an initial portion of a decoded JPEG stream and limiting a volume of output from the JPEG stream.
-
19. A graphics processor according to claim 12, wherein the JPEG unit is configured to pad a stream of data to be JPEG encoded.
-
20. A graphics processor according to claim 19, wherein the JPEG unit pads the stream of data to be JPEG encoded by automatically padding irregularly sized MCUs to be at least 8×
- 8 in size.
-
21. A method of processing graphics in a graphics processor, comprising the steps of:
-
providing a plurality of interrelated functional modules, wherein the plurality of interrelated functional modules are interconnected by a data pipeline for conveying data;
providing at least one register associated with each of the functional modules, each register being configured to control a function of its associated functional module;
providing a control bus interconnecting each of the registers for conveying instructions, wherein the control bus and the data pipeline are physically separate;
decoding an instruction for use with the graphics processor; and
setting the registers via the control bus in accordance with the decoded instruction, thereby to configure the function of each of the functional modules in response to each instruction.
-
-
22. A system comprising:
-
an input device;
a graphics processor adapted to receive graphics input data from said input device, the graphics processor comprising;
a plurality of interrelated functional modules, wherein the plurality of interrelated functional modules are interconnected by a data pipeline for conveying data, at least one register associated with each of the functional modules, each register being configured to control a function of its associated functional module, a control bus interconnecting each of the registers for conveying instructions, wherein said control bus and the data pipeline are physically separate, and an instruction controller for decoding instructions for use with the graphics processor, the instruction controller including a register setting unit adapted to set the registers via the control bus in accordance with a decoded instruction, thereby to configure the function of each of the functional modules in response to each instruction; and
an output device adapted to receive graphics output data from the graphic processor.
-
Specification