Teoría sobre BW y "bitaje" de memorias en las VGA
-
Leyendo un thread que pregunta "como saber si tiene 64 o 128 bits mi VGA" me vino a la mente este artículo, cuyo contenido toca uno de los temas más controversiales e importantes en el mundo de las placas de video.
http://www.playtool.com/pages/vramwidth/width.html
Video RAM Memory Bandwidth
One of the main things you need to consider when selecting a video card is the memory bandwidth of the video RAM. Memory bandwidth is the rate at which the GPU can access the video memory. It's measured in gigabytes per second (GB/s). The more memory bandwidth you have, the better. A video card with higher memory bandwidth can draw faster and draw higher quality images. But there's more to video cards than just memory bandwidth. You also have to consider the drawing speed of the GPU. There's little point in getting a video card with a very fast GPU and limited memory bandwidth because the memory will be the bottleneck. By the same token, you don't want to get a video card with a slow GPU and very high memory bandwidth. This page addresses only the subject of memory bandwidth.
The memory bandwidth is determined by the memory clock, the memory type, and the memory width. The memory clock is the clock rate of the memory chips. Current (2006) memory chips have clock rates which range from about 167MHz to 850MHz. The most common memory type is double data rate (DDR) which means that it transfers two memory values for each memory clock cycle. There are also other kinds of DDR like DDR2 and GDDR3 and they also transfer at twice the memory clock rate. Some very old video cards still use single data rate (SDR) which transfers one value per clock cycle. The memory width of the common cards range from 32 bits to 256 bits. The maximum theoretical memory bandwidth is the product of the memory clock, the transfers per clock based on the memory type, and the memory width. For example, a video card with 200MHz DDR RAM which is 128 bits wide has a bandwidth of 200MHz * 2 * 128 bits which is 6.4GB/s.
The table below contains information on the video memory systems for most common video cards. The values in the table are the standard values used for each kind of video card but sometimes manufacturers make cards which use nonstandard values. When shopping for video cards, be careful to check the GPU and RAM clock rates, because sometimes manufacturers create models which have lower clock rates than the standard models so they can use cheaper components. Other times they overclock the cards a little to entice gamers to buy an "OC" model.
If you check the table above, you will note that there are some low-end video cards which can come with either 64 bit or 128 bit memory widths. Since these cards are not that fast in the first place, you definitely want to avoid buying a 64 bit card. And the 128 bit models are rarely much more expensive than the 64 bit models. Unfortunately, many of the websites selling these video cards don't tell you the memory width or give you an incorrect value. I'm not just talking about fly-by-night websites. Large websites have many examples of cards which are listed as 128 bits which are actually 64 bits.
So the question is, how do you determine if you're buying a 64 bit or 128 bit card? Some of the manufacturers are nice enough to provide accurate specifications which provide the clock rates and memory widths. So the safest way to be sure is to search for the exact model you are interested in on the manufacturer's website and read the technical specifications. Speaking from experience, with the low-end cards you have about a 50/50 chance of getting the information you need from the manufacturer's website. Be careful when reading the specs on the video card. None of the following descriptions have anything to do with the memory width.- 128-bit floating-point color precision allows for a greater range of colors and brightness
- Highly Optimized 128-bit 2D engine with support for new WindowsXP GDI extensions
- 128-bit, studio-quality floating point precision through the entire graphics pipeline
- Native support for 128-bit floating point, 64-bit floating point and 32-bit integer rendering modes
- True 128bit studio precision color
- 256-bit graphics architecture
- 64-bit floating point texture filtering and blending
- 250 MHz Engine Clock
- 3.8 Billion texels/ sec fill rate
DescriptionMemory TypeMemory ClockMemory WidthBandwidth64/128-bit advanced memory interface??64 bits or 128 bits?128-bit advanced memory interface??128 bits?16/32MB SDRAMSDR???128/256MB DDR SDRAMDDR???400 MHz Memory Clock?400 MHz??8.0 GB/sec memory bandwidth (128bit, 500MHz)DDR250 MHz128 bits8.0GB/s30.4 GB/sec memory bandwidth???30.4GB/s
You can, in many cases, figure out the memory width by carefully examining the pictures of the video card which are available on many of the websites which sell them. Newegg, for example, usually shows pictures of both sides of the video card. You can also often use google to find Internet reviews of a video card which includes closeup pictures. But in order to find the memory width from the images, you need to learn some arcane information about GPUs, circuit boards, and RAM packaging. If you don't want to learn this (fascinating only to computer geeks) information, then you should just try to find a model which has memory width information on the manufacturer's website. But if you have a limited selection of cards, then you may get stuck learning how to find the memory width by looking carefully at the card. It tends to be the low-end video cards which do not publish their true memory bandwidth. If you're buying a low-end card, then you definitely have to be careful to avoid the 64 bit models. Those cards are not that fast in the first place and the last thing you need is to make things worse by getting a card with low memory bandwidth.
The rest of this page is a bit technical so you should probably only continue with this if you cannot find the information you need on the manufacturer's website. The first thing you need to know is what video RAM looks like. A video card has lots of silicon chips but only some of them are RAM chips. In the pictures below, the RAM chips have a green "X" on them.
There are usually four or eight RAM chips on a video card. Sometimes the RAM chips are all on the front of the card and other times half of the RAM chips are on the front and half are on the back. All of the RAM chips are identical. They're easy to identify because they are placed very close to the GPU. The GPU is a large chip which has a large heatsink and often has a fan. Some high-end video cards also have heatsinks covering the RAM chips. In cases like that, you just have to go on the manufacturer's specifications since you can't see the chips in the images.
Now you need to check the RAM chip packages. The "package" refers to the black plastic package which encloses the chip. The pictures below show the most common RAM chip packages.
You need to check which kind of package the RAM chips use. TSOPs (thin small outline package) have pins (the little metal wires sticking out the sides of the black plastic part) on opposite sides on the package. The TSOP 66 has 66 pins and is a very common package. The TSOP 86 has 86 pins and is much less common. You may have to look carefully at pictures of the video card and count the pins to figure out which one you're looking at. The TQFP 100 (thin quad flat pack) package has a total of 100 pins sticking out all four sides of its package. The BGA 144 (ball grid array) doesn't actually have pins which you can see. There are 144 solder balls underneath the package but it's not hard to identify BGA packages because they are just small packages with no visible pins.
The reason you need to recognize the chip package is because it helps you guess how "wide" the RAM chip is. RAM chips are a certain number of bits wide. The most common RAM chips used right now (early 2005) are 16 bits or 32 bits wide. These are usually refered to as "x16" and "x32" which are pronounced "by 16" and "by 32". The only way to be absolutely sure about the width of a RAM chip is to read the manufacturer's number off the top of the chip and then look it up (usually pretty easy with google). But the kinds of pictures you find on websites are rarely sharp enough to allow you to read the numbers so you're stuck guessing at the RAM width by looking at the packages. The TSOP 66 package can be a maximum of 16 bits wide. TSOP 66s can occasionally be 8 bits wide but that is very rare in any kind of video card you're likely to run into. If you are looking at a TSOP 66 on a video card built since about 2000, it is almost certainly a x16 RAM chip. The TSOP 66 is the "standard" x16 RAM chip so it is very common. The TSOP 86 is much less common and is normally a x32 chip. A TQFP 100 is almost always a x32 chip. BGA packages can vary a bit, but BGA RAMs on video cards are almost always x32. So if you're looking at a TSOP 66, it's probably a x16 chip. If you have any of the other three packages shown above, it's probably a x32 chip. If you have anything else, then you just have to get by with what you can find on the manufacturer's website.
To figure out the total memory width of virtually all modern video cards, all you have to do is multiply the width of each RAM by the total number of RAM chips on the card. Unfortunately, there are some exceptions to the "multiply" rule but they are fairly uncommon. Some very old video cards do not follow the rule but you shouldn't be buying those anyway. Another exception is a card where the multiply rule gives you a result which is twice the maximum number of bits supported by the GPU. In that case, of course, the real memory width is the maximum bits supported by the GPU. That case comes up occasionally when a manufacturer uses the same circuit board for two models: one with a certain amount of RAM (like 128MB), and another with twice that amount of RAM (like 256MB), but both models support the maximum memory width.
If you're considering low-end cards, there is one very common case to watch out for. The image above shows a 128MB GeForce 5700LE. This particular card has two models: a 128MB model, and a 256MB model. It has room for eight RAM chips on the circuit board but the 128MB model only uses four RAM chips. The 256MB model has all eight RAM chips. If you check the "memory width" column in the table up above, you'll see that the width for a 5700LE can be 64 bits or 128 bits. Some manufacturers just produce a single circuit board to make both the 128MB and 256MB models. Then they only include four RAM chips to make the 128MB cards. Unfortunately, this cuts the memory width in half in every example I've been able to verify. The card shown above is a 64 bit wide card. It is extremely common to find websites selling the 128MB version which claim that it's a 128 bit wide card even when it's actually 64 bits wide. You also find this case often with GeForce FX5200s, Radeon 9200s, Radeon 9250s, Radeon 9550s, and others.
Once you have the memory width, you can use it and the memory type and memory clock to calculate the peak memory bandwidth. If you're looking at a video card which has two different memory widths, then it is definitely worth the trouble to make sure you know what you're getting. The marketing specifications on the models with the smaller memory width seldom go out of their way to point out the shortcomings of that model. If the marketing information doesn't clearly state the memory bandwidth, then you can usually assume the worst. And if you're looking at low-end video cards, be absolutely sure to avoid the models with half the maximum memory width. The cards with half the memory bandwidth are usually only a little cheaper but their performance is much lower.
