The early version of the video display adapter relied on the CPU to process image information, and the CPU continuously calculated the changes of each pixel. Information is required, and the data is sent to the frame buffer of the video card through the I/O bus. The so-called frame buffer is a memory that saves screen images all the time.
The graphical user interface of Windows dramatically increases the workload of the CPU and I/O bus. In order to reduce the burden on the CPU and get a lot of graphics acceleration, the solution can only be in the video acceleration card A processing chip is added, but the CPU executes the graphics device interface function call, and the accelerator cannot perform the call. The graphics accelerator reduces the I/O bus of the CPU—it is to use hard-wired some key GID functions of Windows Method. (GDI is an integral part of Windows to realize the necessary graphics functions).
Let’s look at a complete work process. The Windows application program sends a graphics device interface (GDI), a graphics function call request, and GDI requires the video driver to perform this function. The driver sends the request to the accelerator for processing, and the processor chip handles it through the frame buffer controller. After the screen data is written to the frame buffer, the frame buffer controller sends the data to the memory digital-to-analog converter, where the data is converted into an analog signal for controlling the CRT (cathode ray tube), if the video driver cannot recognize it Upon request, the graphics device interface uses the CPU and system RAM to perform this function. This is why the accelerator card comes with various drivers to support the most popular Windows graphics applications.
In order to obtain the best display configuration, the driver should be updated constantly. When adding new graphics software or multimedia software to the system, check if there is the latest version of the driver for the accelerator card. It may be included in the software. If not, they can be downloaded from the manufacturer’s bulletin board under normal circumstances, or can be downloaded from a public forum of an online service. If you plan to use the accelerator card from the current display configuration For replacement and upgrade, you must ensure that you purchase a card that meets the system bus standard.
The main components on the graphics accelerator are the Graphics accelerate chip and random memory. Access memory (RAM), random access memory digital-to-analog converter (RAMDAC), clock synthesizer (Clock Synchesizer) and basic input output system (BIOS).
The random access memory RAM of the graphics accelerator can be composed of dynamic random access memory chip DRAM, or it can be composed of image random access memory chip with bidirectional access function, the former is cheap , The latter is expensive, but the image access is fast. This is because this memory has dual ports, as introduced in the image memory VRAM, it has two ports, and image data flows in from one port. VRAM can flow out immediately from the other end. During image acceleration, the color data of the image pixels that flow out is immediately converted into red, green, and blue voltages through the digital-to-analog converter (RAMDAC) of the random access memory. The value is sent to the monitor to show the color.
RAMDAC is similar to the digital-to-analog converter in the attribute controller of the VGA adapter. It also contains a color look-up table. Through the image color data of the VRAM, the corresponding red, green, and blue data is searched for. Output the color voltage of the three-color intensity to the digital-to-analog converter.
The clock synthesizer is used to generate the synchronization signal of the display and the clock signal related to the control.
The basic input and output system (BI0S) is the basic input and output system of the image, it solidifies the DOS call of many image functions, just like the BIOS in VGA.
With the improvement of pixel resolution and color resolution, it is relatively easy to construct a video system, and the cost is not high. You only need to increase the refresh rate. The storage capacity of the buffer is sufficient. However, with the increase in resolution, it means that the computational workload will increase exponentially or even dozens of times, and the workload of graphics control is also increasing rapidly. In the PC video subsystem, both calculation and control are completed by the CPU. As the amount of calculation and control increases, it means that the amount of information displayed on the screen increases, which can be inferred that the amount of input and output information of the entire system increases , Which often leads to the phenomenon that the range allowed by the system resources is often exceeded.
The way to solve this problem is to construct a self-excited mechanism in the form of a graphics accelerator in the video system. Here, the main purpose of the standard video system is to refresh the basic management mechanism of the buffer Provided to the hardware, the basic management of the refresh buffer is mainly to manage each pixel, some special pixels or pixel groups used to control the graphics unit graphics components such as graphics accelerators that display graphics blocks, and to draw line segments, arcs and Management of functions such as high-level graphics primitives such as display modules.
Through the dedicated graphics co-processor, the extended functions can be directly realized on the hardware, and the extended functions can also be realized through the graphic programming interface supported by the hardware. Generally speaking, the so-called hardware support refers to the standard microprocessor support, and it provides support together with the graphics control program residing in the ROM. For such a system, the high-level programming interface is a very important interface, very useful in the construction of graphics accelerators.
The graphics accelerator mainly receives the CPU’s description of primitives (usually commands, functions and parameters describing attributes), and performs coordinate system transformation (transforms the world coordinate system into the device coordinate system, mainly floating Point calculation), cropping, transformation ratio, color shading, window opening, and hidden surface removal operations, the output of which is pixel operation, photoelement operation, and high-end graphics accelerators directly output red, green and blue color signals.
As a graphics system on a workstation, in addition to the graphics accelerator, there must also be a graphics library supported by the graphics accelerator, such as: SUN's GX, TurboGXplus, and SPARCstationZX graphics accelerators support the company's XGL graphics library , SGI's Indy graphics board, Reality EnginZ, etc. all support the company's IRIS graphics library and OPENGL.
The principle of acceleration
The key device of the graphics accelerator is the graphics acceleration chip, which solidifies some commonly used software for basic drawing functions and image processing functions. In this chip, when these drawing functions are to be used, the CPU does not need to calculate and call some drawing functions, but is directly executed by the acceleration chip, which can greatly increase the drawing speed. For VGA or SVGA, the above process It is also necessary to transfer image data back and forth between the CPU and the adapter through the bus, which delays the time even more. For the graphics accelerator, the above-mentioned processes are all performed in the accelerator, and no bus operation is performed. Thus speeding up graphics generation.
The graphics and image functions solidified in the graphics acceleration chip vary from manufacturer to manufacturer. For example, the graphics accelerator designed for Windows is suitable for processing graphics composed of regular graphics such as mold lines and rectangles. Because in the Windows window, the graphics you see are mostly composed of these regular graphics, when used to accelerate irregular graphics, such as three-dimensional painting is not applicable.
Graphics accelerators are fully compatible with VGA and SVGA, and they generally use VESA bus or PCI bus.
Since the VRAM in the graphics accelerator stores the image data to be displayed, it represents the length of a pixel data and the number of colors that can be displayed. Therefore, depending on the VRAM capacity and the display resolution, it can be The number of colors displayed is also different. Table 3.6 shows the image resolution supported by the graphics accelerator, the number of colors displayed, and the required VRAM capacity.
The graphics accelerator can quickly calculate graphics calculations, such as drawing triangles, and also have calculations for common graphics and image formats, such as jpg decompression, video stream decompression, etc., with Advanced calculations of textures, materials, and lighting greatly reduce the computational burden of the main CPU, thereby "speeding up" graphics and images.
The advantages of graphics accelerators are very obvious: in addition to the obvious improvement in the performance of the entire graphics system, it also significantly reduces the pressure on the CPU due to the management of many graphics, and some hardware has reached independent operation Situation. With the advanced graphics interface, it is possible to prevent programmers from directly operating on the video hardware. This effectively avoids compatibility issues. In a sense, the graphics accelerator only effectively meets the needs of the graphics programming interface, and the graphics programming interface should be installed in the bios from the beginning.