[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SVGA cards on PCI
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: SVGA cards on PCI
- From: "John R Pierce" <pierce@hogranch.com>
- Date: Mon, 9 Dec 1996 23:12:38 -0800
- Resent-Date: Mon, 9 Dec 1996 23:12:38 -0800
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"e-FLn.0.Uo.etGho"@dart>
- Resent-Sender: pci-sig-request@znyx.com
> I am sorry if this is a very basic question for you video people ...
Hey, no question is too basic unless its asked too many times.... ;)
> A video card which sits on the PCI has to refresh the screen at some rate.
> The screen data is (I guess) in it's intrnal vram.
Yup, it is.
> My question is:
> when the processor needs to change the data, how does it pass it to the
> video card memory ? Does it use the card's DMA (which would cause long READ
> bursts on the PCI which is bad for performance) or does it use it's own DMA
> for the job ?
Um. Generally the host writes data into the video ram (which could be DRAM,
VRAM, or other organizations such as RDRAM), then the video card repeatedly
fetches this to refresh the CRT display. Most modern graphics cards also have
bitblt, line draw, and other functionality built into the graphics chip so that
the host can simply issue a few commands at the graphics card to update the
display. I think there are a few cards that use busmastering DMA to fetch data
from main memory on command, but its not clear to me that there is much of a
advantage to doing this. Many of the latest graphics chips have partial or
complete 3D rendering pipelines in them too.
> In any case, I assume that the video data is never cached by the processor
> and that there is no copy of the video ram in the system memory.
Well, often the host will keep various bitmaps in its main memory, such as the
'wallpaper' background for a windows display so that it can use this data to
redraw the screen when windows are moved... But, this is only used on a
as-needed basis, not for the typically 75Hz+ display refresh frequencies...
Typical bandwidths of modern video cards in a pentium type system could be...
host -> display memory 50-80Mbyte/sec
display memory -> ramdac 200-500Mbyte/sec**
graphics engine -> display memory 250MByte/sec
(** this is a peak value for high performance VRAM cards... the actual value
on any given graphics system can be estimated by [width * height *
vertical_refresh * bytes_per_pixel * 1.3]).
-jrp
€ X H