lotus

previous page: 28 Will my video speed up enormously with a VLB/PCI upgrade?
  
page up: PC Video FAQ
  
next page: 30 How does memory interleaving work to increase the speed of a video card?

29 How can an 8/16/32/64/128+ bit video card work on my 16/32/64 bit system?




Description

This article is from the comp.sys.ibm.pc.hardware.video Frequently Asked Questions, by Michael Scott with numerous contributions by others. (v1.0).

29 How can an 8/16/32/64/128+ bit video card work on my 16/32/64 bit system?

There are four different things at work here: the CPU, system or memory bus, the peripheral bus and the video coprocessor. In general, the number of bits that each can handle in one clock cycle is independent of the others, with some exceptions.

Dealing with these in order, CPU's are available in 16 (8088, 8086, 80186 & 80286) and 32 (386, 486, 586, Pentium & Pentium Pro, 6x86) bit versions. This is the number of bits that the CPU can process _internally_ per clock cycle.

The system bus for these processors covers a wide range; 8 bit (8088), 16 bit (8086, 80186, 80286, 386SX), 32 bit (80386DX, 80486, 586) and 64 bit (Pentium, Pentium Pro, 6x86)

Third is the width of the peripheral bus, which is the number of bits per cycle that can be moved between the CPU and an add-in card. The ISA bus is 8 or 16 bit, EISA is 32 bit, VLB is 32 bit and the current PCI bus is 32 bit, but in future will be expanded to 64 bits.

The last is dependent on the graphics coprocessor, which are available in 8-192 (wow!) bit models. To complicate things further, the maximum effective memory bandwidth of the video card is limited by its memory configuration. i.e. a 64 bit video processor needs 2 32 bit banks of video memory to operate as a true 64 bit system.

So how can a 32 bit processor use a 16 bit bus to talk to a 64 bit video coprocessor? Let's say we want to move a 24 bit (Truecolour) colour value from the CPU to the screen. Since the bus is limited to 16 bits, we have to pad the 24 bit number to make it 32 bits (an even multiple of 16) and then split it into the high and low 16 bit words. Each of these 16 bit words is then pushed onto the bus, and moved to the video card. The video card accepts one, then the other word, then recombines them into a 32 bit word, which contains the 24 bit data. In this case, the 16 bit bus is the bottleneck (discounting clock rates for simplicity).

The advantage to having a 64+ bit video processor attached to a 32 bit (or smaller) bus/CPU is that the video card can perform many operations without input from the CPU. These operations include screen refreshes, pixmap painting, moving of windows, etc. Since the video processor moves more bits per cycle (i.e. 64), it can complete video tasks very quickly (i.e. move 3 24 bit truecolour values at once).

 

Continue to:













TOP
previous page: 28 Will my video speed up enormously with a VLB/PCI upgrade?
  
page up: PC Video FAQ
  
next page: 30 How does memory interleaving work to increase the speed of a video card?