How graphics card work, Summaries of Computer science

The components of a graphics card and how they work together to create the images displayed on a monitor. It covers the Graphics Processing Unit (GPU), Video Memory and Bios, Random Access Memory Digital to Analog Converter (RAMDAC), Outputs, and cooling devices. It also discusses the requirements for graphics hardware in a multi-tasking operating system, including atomic-operations, interruptible operations, readable registers, window clipping planes, per-window double buffering, per-window multiple colormaps, and FIFOs.

Typology: Summaries

2013/2014

Available from 02/03/2022

ra-i
ra-i šŸ‡µšŸ‡­

8 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
How graphics card work
A graphics card, also known as a video card or graphics accelerator card, is a piece of computer
hardware that is responsible for creating the images you see on the monitor. It is usually used to
refer to the type of card that is an expansion to the computer's motherboard, and not the one
integrated into the computer already. They have been used in many other types of electronic
devices, particularly game consoles.
A basic modern video card consists of several circuitry items. A Graphics Processing Unit (GPU),
Video Memory and Bios, A Random Access Memory Digital to Analog Converter (RAMDAC),
Outputs, and a cooling device. I'll discuss these in order.
Graphics Processing Unit
The GPU is responsible for what you see on the screen. It is a separate microprocessor that frees
up the CPU. Unlike the CPU, the GPU makes use of much more complicated mathematical and
geometrical equations to complete the graphics rendering. Most models make use of Filtering and
Anti aliasing to make images crisper, and smooth out the edges of objects. Current models are often
optimized for 3D functions, due to the common usage for games. The GPU makes use of
"pipelines," which translate a 3D image to a 2D image for the computer to read.
Video Memory and Bios
Video RAM or VRAM is the number of Megabytes you will see on the box of a graphics card.
Graphics cards have their own memory space to help the computer process images. This part of the
card makes use of the z-buffer. This is particularly helpful in 3D graphics, as it coordinates depth in
an image. It is this memory that makes a 3D environment possible. The Bios is just the basic
programming for interaction between the card and the computer. It contains the memory for all of the
cycles the card must go through. It is an extremely important area on the card, and if damaged, will
cause the card to stop working.
Random Access Memory Digital to Analog Converter
The RAMDAC is slowly disappearing as the CRT monitor disappears and more people use digital
equipment. It's function, however, is to convert any digital data (eg. from a CD) and convert it to
something the computer will display (eg. a movie). Because of the conversion, there is a certain
amount of quality that is lost.
Outputs
These are the links from the video card to other instruments and peripherals. Common outputs are
SVGA outputs to the CRT monitors, DVI outputs to digital outputs such as LCD monitors and
projectors, and S-video outputs to TVs, Game consoles, and video recorders.
Cooling devices
As Graphics cards become more and more powerful, they generate more and more heat. Cooling
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download How graphics card work and more Summaries Computer science in PDF only on Docsity!

How graphics card work

A graphics card, also known as a video card or graphics accelerator card, is a piece of computer hardware that is responsible for creating the images you see on the monitor. It is usually used to refer to the type of card that is an expansion to the computer's motherboard, and not the one integrated into the computer already. They have been used in many other types of electronic devices, particularly game consoles. A basic modern video card consists of several circuitry items. A Graphics Processing Unit (GPU), Video Memory and Bios, A Random Access Memory Digital to Analog Converter (RAMDAC), Outputs, and a cooling device. I'll discuss these in order. Graphics Processing Unit The GPU is responsible for what you see on the screen. It is a separate microprocessor that frees up the CPU. Unlike the CPU, the GPU makes use of much more complicated mathematical and geometrical equations to complete the graphics rendering. Most models make use of Filtering and Anti aliasing to make images crisper, and smooth out the edges of objects. Current models are often optimized for 3D functions, due to the common usage for games. The GPU makes use of "pipelines," which translate a 3D image to a 2D image for the computer to read. Video Memory and Bios Video RAM or VRAM is the number of Megabytes you will see on the box of a graphics card. Graphics cards have their own memory space to help the computer process images. This part of the card makes use of the z-buffer. This is particularly helpful in 3D graphics, as it coordinates depth in an image. It is this memory that makes a 3D environment possible. The Bios is just the basic programming for interaction between the card and the computer. It contains the memory for all of the cycles the card must go through. It is an extremely important area on the card, and if damaged, will cause the card to stop working. Random Access Memory Digital to Analog Converter The RAMDAC is slowly disappearing as the CRT monitor disappears and more people use digital equipment. It's function, however, is to convert any digital data (eg. from a CD) and convert it to something the computer will display (eg. a movie). Because of the conversion, there is a certain amount of quality that is lost. Outputs These are the links from the video card to other instruments and peripherals. Common outputs are SVGA outputs to the CRT monitors, DVI outputs to digital outputs such as LCD monitors and projectors, and S-video outputs to TVs, Game consoles, and video recorders. Cooling devices As Graphics cards become more and more powerful, they generate more and more heat. Cooling

devices remove heat in some way or another. Fans are common and simply circulate the warm air away. Because the fan consists of moving parts, it can break. Liquid heat sinks use a cool liquid to circulate the heat away. It's much less common, but is favorable because of its efficiency. It is much more expensive.

around them. There are two basic principles: (1) a recognition that there is a difference between a protected mode, to which only the operating system has access, and user-level drawing commands, which any program can bang on. (2) The concept of context switching, whereby one graphics application can be stopped, and another re-started, all without hanging the graphics adapter, or loosing/scrambling the state of the hardware. All of the other principles follow from the above. Without further ado, the list: Protected Mode Certain graphics h/w registers/functions, such as cursor control and colormap load, must be segregated into a distinct address space from other functions, such as area clear and line drawing. This allows the operating system to protect privileged functions, such as cursor movement or colormap loading, from user space programs, which want to have direct access to hardware registers for line drawing and area clear for (obvious) performance reasons. Such functions must be separated by at least 4K bytes, since most CPU's do not allow fine-grained memory protection (e.g. Intel x86, PowerPC, MIPS, Sparc only allow protection for 1K-4K byte pages.) Hardware Cursor It is impossible to build a high-performance graphics subsystem if the cursor needs to be drawn using software. This is not much of an issue, since many DAC's today support hardware cursors, and many/most graphics cards provide this function. Atomic Operations All drawing (i.e non-protected) operations must be atomic. This allows the operating system to suspend one program that is drawing, and start up another program that is drawing, without hanging the graphics hardware. For example, if it requires three registers to be written to draw a line or clear an are (start-xy, end-xy, and "command"), it must be possible for the software to write the start/end points, and never get around to writing the command, without hanging the hardware. (If the command is never written, then the line is never drawn). In particular, this requires that command words be written last, and not first. For commands that require multiple registers to be written, it must be possible to break off the command at any point without hanging the hardware (i.e. it must be possible to write some of the registers, without writing all of them,

without indefinitely hanging the hardware). If only a partial command is written, then no operation is performed. Interruptible Operations All drawing (i.e. user-level) operations must be interruptible. That is, if a command requires that multiple registers must be written, it must be possible to start writing data for this command, and then break this off and perform another command instead. Thus, for example, it must be possible to specify the line endpoints, then specify clear-area extents, then clear the area, then move the cursor, and then ask for the line to be drawn (software may have reloaded the line endpoints first). Such interrupted operations must NOT leave the hardware in an unknown or hung state. This, together with the atomic-operations requirement above, and the readable registers requirement below, allows a multi-tasking operating system to stop a drawing process at any time (on an instruction-by-instruction basis), put it to sleep, and then allow another drawing process to run and do its drawing. Non- atomic, non-interruptible drawing operations require that the drawing program to obtain a lock, do its stuff, then release the lock when it's done. In general, locks are undesirable: they are slow. Even if a lock was fast, just having to do one takes CPU cycles away from what we really want to do: draw stuff. Note that after the operating system has suspended one client, it may do house- hold functions, such as updating the cursor or the colormap, before allowing other processes to run. Thus, it must be possible to execute privileged commands that interrupt user commands. Readable Registers All registers must be readable. This is vital for a multi-tasking operating system. This allows the operating system to stop a graphics process, and save its graphics hardware context. It then allows the OS to restore a possibly different context from a different graphics process, allowing it to run, then stopping it, saving, etc. The concept introduced here is of "context switching" or "multi-tasking". Basically, a graphics program can be suspended at any time, and another graphics program can be started exactly where it last left off. In order to be able to restart another process precisely where it left off, it must be possible to set the graphics hardware into the exact same state where the last program left off. To be able to get back to the exact same state, it must be possible to somehow read and save this state.

Again, not strictly a requirement, but if you want things to look nice on the screen, you have got to allow applications to set their own private colormaps, without ruining everything for the other windows on the screen FIFO's Another non-requirement, but the fact is that most high-end graphics hardware employs FIFOs to buffer drawing commands between the central CPU and the graphics hardware. These FIFO's are typically anywhere from 64 Bytes to 64 KBytes long. This allows the CPU to write commands to the graphics adapter without having to wait for it to finish, and it allows the graphics hardware to process drawing commands without having to wait for the CPU to provide more commands. As long as the buffer never accumulates more than one-tenth of a second worth of drawing commands, any delays or lags become essentially un-noticeable to the user. Four common designs are seen: FIFO's in hardware (on the graphics adapter), FIFO's in user-memory, and "ping-pong" buffers. FIFO's on the graphics card can present a problem: when a context switch occurs, the FIFO contents must be saved and restored. They can be moved either to other memory on the graphics card, or they can be sent across the bus, back to the system. FIFO's in user memory present a problem: data and pointers can be corrupted by the user program (accidentally or maliciously). Of course, it must not be possible to hang the hardware due to corrupt data in the FIFO. Hardware Contexts Yet another non-requirement. However, almost all high-end hardware keeps considerable graphics context information on the hardware itself. Just as is the case with FIFO's, this context information must be saved and restored when a context switch occurs. Again, this context is moved either to another memory location on the adapter, or is sent back across the bus to the system for temporary storage in the kernel. Well, that all. There are in fact a large variety of more detailed design issues, but these are too numerous to be discussed in this overview. All of the principles discussed above are well-known and understood in the high-end (UNIX) graphics hardware community. All of these have been discussed and written about in public forums and journals. However, many of these are rare, have low circulation, or are out-of-print. This is the ultimate reason for the existence of this page. See Bibliography below. Kernel Considerations

The operating system kernel must address each of the hardware design considerations expressed above. In particular, the kernel on SGI Irix and IBM RS/6000 AIX systems supports the following functions: Grant and Retract A user application is granted direct access to the drawing subsystem for the very first time by registering itself with the kernel. The kernel returns addresses to the drawing subsystem hardware. Graphics Faults Access control to the graphics hardware is governed by a mechanism similar in many ways to the page-fault mechanism. Let us review page-faulting: when the CPU attempts to touch a page which is not in real memory (is in the swap space, for instance), the CPU receives an interrupt. The interrupt handler puts the process to sleep, and issues a read request to the disk. When the disk has found the requested page, that page is loaded into real memory, the virtual page tables are updated, and the process is marked "ready-to-run". When a time slice is available, the kernel will schedule the process and allow it to run again. A graphics fault proceeds in a similar manner: as long as there are no other graphics processes that want to access the hardware, the current process can bang away at it. Periodically, however (typically, every 4 milliseconds), the graphics time-slice expires. The kernel looks to see if here are any other graphics processes that want to run. If so, then it retracts write permission to the graphics hardware from the first process, performs the graphics context switch, and then grants address access to the second process. At this point, if the first process attempts to touch the graphics i/o space, an interrupt will be generated. The first process will be put to sleep. The kernel will then schedule another process to run (not necessarily another graphics process). Graphics time-slice scheduling and regular process scheduling typically run independently of each other. Cursor The kernel must provide interfaces to allow a special process (typically, the X Server) to update the position of the cursor. WID Management Most high-end graphics hardware has window-id (WID) planes. These planes control not only which hardware color palette is used for pixel color lookup, but also typically provide hardware clipping so that a process cannot draw outside of its window and corrupt the screen. The kernel must provide interfaces to manage these clipping planes, and/or take

The Basic Parts Of A Graphics

Card

This is where the graphics card's outputs are located. Note that one side of almost every expansion card is accessible from the back part of a PC, hence there you will find a metal cover that carries different connectors. As a graphics card is installed into a PC, you will only see the connectors at the back side of your PC. This is the part of the graphics card that the display cable plugs into. Many graphics cards have multiple (two) outputs, so more than one display device can be used at a time. There are many kinds of display interfaces, while the main PC display interfaces can be either digital or analog. PCs are digital machines that process binary zeros and ones. Therefore, digital is the native output from the graphics card. The modern display comes from a long linage of cathode ray tubes (CRTs). A CRT display uses an electron gun to blast three different materials on the inside of the tube that emit red, green and blue light when excited. These early devices were analog by nature and to convert from digital to analog a device called a digital to analog converter (DAC) made its way into graphics outputs. With the advent of digital displays such as Liquid Crystal Displays (LCDs), the need for a DAC is becoming obsolete, but the component is still incorporated for analog support. VGA Outputs (D-Sub) The analog display connector has 15 pins and can be identified by its blue color. If you refer to VGA as a resolution it stands for "video graphics array" (consisting of a certain amount of horizontal and vertical pixels). In the graphics hardware sector, however, it stands for "video graphics adapter." The corresponding connector is called D-Sub 15 and it conducts an analog display signal, which may vary in its signal quality depending on the particular product. Most expensive graphics cards should be capable of delivering clean signals that support crisp display at high resolutions. This interface was the standard output before the digital DVI (Digital Visual Interface) came along, and it is still very common. D-Sub VGA outputs will connect to most classic CRT (tube-style) monitors. They will also connect to most digital projectors and even some HDTVs (high-definition televisions), although we advise against using them with any type of digital display for the sake of image quality.

DVI Outputs DVI stands for 'Digital Video/Visual Interface' DVI is the standard digital output for graphics cards and flat panel displays (with the exception of low-budget models). If you have a model that is not older than 2004, chances are it has a DVI output. Most graphics cards with DVI outputs will come with an adapter to convert the DVI to a VGA/D-Sub if you don't have a DVI display. All state-of-the-art graphics cards feature dual DVI ports to attach two displays and extend your Windows desktop to these. However, any two outputs, whether these are D-SuB and DVI, or two of each output type, can support dual display modes. New digital displays such as the Dell and Apple 30" displays require a dual-link graphics card output and cable to display the native resolution of 2560x1600. Composite Video This is the Composite Video jack, also known as RCA (Radio Corporation of America). This is a traditional video output commonly used in televisions or related devices, such as VCRs. The video signal travels through a single, coaxial style jack. This will provide a very low-resolution analog signal that's typically used for presentations or gaming. It is not really suitable for reading anything because of the poor signal and image quality. It is, however, suitable for displaying standard definition video. S-Video (a.k.a. S-VHS) S-Video stands for 'Super Video" or 'Super VHS'. S-Video is an analog video standard used by the television industry. It provides a low resolution signal to televisions like single-cable composite analog as all of the color information is in one signal, but breaks out luminance (brightness) and color. There are four pins and wires inside a standard S-Video cable with one for luminance, it ground, color and it corresponding ground. It allows for a higher-quality signal than single-cable composite-but still at a low dynamic resolution. However, while S-VHS is superior to single cable composite video, it is vastly inferior to high-quality component video (Y, Pb, Pr) outputs.

This is the location of the graphics card interface, which nowadays can be AGP or PCI Express. This is the part of the video card that plugs into your computer's motherboard. It is through this slot, or 'interface', that your graphics card and computer hand each other information. Since most motherboards only have a single type of graphics card slot, it is very important to buy a graphics card that matches the slot on your motherboard. For example, a PCI Express graphics card will not work in an AGP card slot. Not only will it not fit physically but the protocols for data transmission are different. The most important aspect of a graphics card interface is the bandwidth. The term "bandwidth" refers to the amount of information that can pass through the interface in a given time.. The more bandwidth the interface offers, the faster a graphics card can perform - in theory. In practice, however, the interface is far less important than what the industry claims. ISA ISA stands for Industry Standard Architecture Displayed here only for reference, this is the oldest PC card standard interface. Graphics cards with this interface became obsolete a long time ago. In fact, you won't even be able to buy a motherboard today with an ISA slot.

There are 8 bit and 16 bit ISA cards; only the latter uses both connector blocks (see image). EISA or Extended ISA cards were introduced for motherboards with higher bandwidths at 32 bits wide, and they offered bus mastering. However, they were expensive and were phased out when newer interfaces were commercialized. PCI The 32 bit classic PCI bus. Still today it is used for all sorts of expansion cards. PCI stands for Peripheral Components Interconnect. It is a 32 bit wide bus that runs at 33 MHz, delivering a bandwidth of 133 MB/s. The PCI interface replaced ISA and its extensions (VL - Vesa Local Bus) in the 1990s, with the benefit of much higher bandwidth. PCI is the current standard for most computer add-in cards, but contemporary graphics cards no longer use PCI, as they have long since moved on to the AGP (and PCI Express) interface. In many cases, however, computers from large manufacturers will come without an AGP or PCI Express port for future graphics expansion. In order to upgrade the graphics card on these machines, the only option is a video card with a PCI interface, but these are scarce, overpriced and have low performance. PCI-X PCI-X stands for 'Peripheral Component Interconnect - Extended', which can be taken literally: Its 64 bit wide interface delivers up to 4,266 MB/s, depending on the bus clock speed. PCI-X (not to be confused with PCI Express!) was first a speed upgrade to the PCI bus, but was upgraded with certain features that are required in the server space. It is not very common in ordinary PCs, and PCI-X graphics cards are very rare. You can use a PCI-X card in a regular PCI slot as long as it is a current revision (PCI 2.2 or higher), but you cannot add them to your motherboard with a PCI Express slot. AGP 7:23 AM - July 24, 2006 by Don Woligroski

many motherboards available that are capable of running two PCI Express x16 slots at x8 bandwidth each in order to support twin-graphics cards. Although increased bandwidth is a welcome innovation, a more pressing need was facing the industry: power consumption. The AGP 3.0 standard (AGP 8x) could only deliver a maximum of 41.8 W (6 A from 3.3 V, 2 A from 5 V, 1 A from 12 V = 41.8 W and an additional 1.24 W could come from the 3.3 V auxiliary at 0.375 A). Video cards were introduced with dual 4 pin power sockets such as the ATI Radeon X850XT PE, which has one socket while the Nvidia GeForce 6800 Ultra has two. By adding the four-pin connections, manufacturers extended the life of AGP cards as each supplied 6.5A or 110.5 W from these right angle connections (12 V + 5 V or 17 V x 6.5 A = 110.5 W). Overall, PCI Express is a much simpler solution as it can deliver 75 W through the x16 connector and an additional 75 W per six-pin connection for a total of 150 W. PCI Express solved the concern for future bandwidth and the power consumption need. Cooling Devices 7:23 AM - July 24, 2006 by Don Woligroski 19 Share Graphics cards can use the same power as that of a 150 Watt lamp. With so much power running through today's integrated circuits, the internal thermal resistance from the flow of electricity creates enormous amounts of heat. This heat can kill these devices if they are not properly cooled. Cooling ensures that it runs stably and smoothly. Without coolers and heatsinks, the graphics processor or the graphics memory could overheat and likely cause your computer to crash, lock up or permanently damage the device. These cooling components can be passive-meaning they are built with thermo conductive materials and do their job statically and quietly - or they can be active - meaning noisy parts , like fans, are required. Heatsinks

The term heatsink usually refers to a passive type of cooler. A heatsink lowers the temperature of whatever it is attached to by conducting heat and increasing the total surface area, which in turn boosts the devices' ability to dissipate heat. Heatsinks typically do this with fins and can usually be found on the graphics processor and the memory. Small heatsinks are also sometimes employed on other parts of the graphics card that get hot. Heat Pipes Especially passively cooled graphics cards rely on heat pipe cooling solutions. This Radeon X1600 card by Asus has two heat pipes that conduct heat to a large heat sink at the back of the card. The larger the surface of a heat sink, the better heat dissipation can work (which is usually assisted by a fan). But sometimes it is impossible to deploy large-scale heat sinks onto the device that requires cooling due to space constraints. Some devices are so small that a bulky heatsink will not work properly as there is not much conductive material touching the electronic device. In such cases, a heat pipe helps to transfer heat from a hot spot to a more substantial heat sink. Typically, a highly heat conductive metal is being placed onto the graphics chip. The heat pipe is directly attached to this metal plate and transfers heat to a heat sink at the other end of the pipe, where it can be dissipated easily. George Grover at the Los Alamos National Laboratory developed a convection and evaporative cooling system. The development allows small devices to be attached to larger cooling elements in order to provide adequate cooling for ever shrinking components, such as graphics processing units (GPU) and central processing units (CPUs).

Single-Slot Coolers This is a comprehensive single-slot graphics cooling solution. It covers both the graphics processor and the graphics memory, but does not occupy more space than what a single expansion slot offers. If a VGA cooler is small enough that it doesn't encroach on the adjacent slot - and another card could be put in that slot without physically interfering with it - it is called a single-slot cooler. Dual-Slot Coolers If a VGA cooling device is too large to allow another card to be put into the adjacent slot, it is referred to as a dual-slot cooler. Typically, dual-slot coolers are designed to exhaust hot air out of the back of the case through the second slot, which is a good way to prevent the heated air from increasing the temperature inside of your computer case. In such a case, a radial fan is used, which uses its blades to push air away sideways rather than blowing air downwards. The Graphics Processor 7:23 AM - July 24, 2006 by Don Woligroski 19 Share

The graphics processor is very much the heart of the graphics card, just like the CPU is the brain of a computer. In most cases you will not be able to see the graphics processor itself because it is hidden behind a cooler. The graphics processor is typically the largest - and hottest - component on the graphics card. The graphics processor is the single most important part of the graphics card. Almost all hardware specifications, such as pixel shaders, vertex shaders, pipelines, and component clock speeds refer to the architecture and capabilities of the graphics processor. The only other specifications of note are associated with the graphics card memory, which works hand in hand with the graphics processor to help deliver performance in bandwidth-intensive application such as 3D games. Video Memory