System information
9.1 VGA Function Performance
Figure 9.3 shows the PCI throughput of the CHARM card in relation to the running video
mode. The throughput decreases from 3.2 MB/s (see table 9.3) without data processing
to narrowly 400 KB/s with data processing. The colors of the bars specify the number of
provided video planes of a video mode and the type of the video mode is printed on the
bars. The throughput is measured with and without screen generation. In the first case,
the data is only stored in the video planes according to the VGA protocol. But the VGA
content inside the video planes is not converted into an image. In the second case, a VNC
server reads out the plane content and generates the screen content. Thereby, the VNC
server converts the VGA content into a VNC framebuffer format.
First, the throughput of the PCI interface is examined without running a VNC server.
As a general rule, the data processing of the incoming VGA content is independent from the
screen resolution. But there are three different rates for the throughput shown in figure 9.3.
This depends on the mode type (alphanumeric or graphical) and the number of video planes
used by the mode. The number of planes is in relation to the color depth of the video mode.
Especially, the video modes with a color depth of 4 bits (using all four video planes) provide
the opportunity to access all planes simultaneously. In this case, the test bench program
activates all video planes for writing and a single write access to the CHARM generates
four write requests of the VGA driver to the internal video memory: one for every video
plane. Hence, the four-plane video modes have the worst throughput except for the video
mode 0x13. This video mode stores the video data into all four video planes but does not
support the Map Mask Register which allows the write to all video planes simultaneously.
Instead, the last two address bits of the VGA access choose one of the video planes to
store the data (section 4.1.4 explains this process). The one-plane and the two-plane video
modes use also the address bits to select the video plane. To improve the data throughput,
the incoming video data of these video modes is stored only in the first video plane. In
this case, the last address bits are part of the address offset inside the first video plane,
which violates the VGA specification. However, the VGA specification was developed to be
compatible with the previous video standards and contains obsolete policies. Furthermore,
the video standard was defined for a hardware implementation and was not improved to
run on software. But the internal organization of the video planes is hidden for the host
computer. In this case, there is neither an impact nor a restriction of the usage of the VGA
function of the CHARM for the host computer.
The video modes which use only one or two video plane provides the best write perfor-
mance to the CHARM. However, the alphanumeric (text) modes use two video planes, but
do not have the same performance than the two-plane graphic modes (as video mode 0x4 or
0xf). In contrast, the alphanumeric modes are not improved to store the video data linearly
at the first video plane. The reason for this is that the content of the planes has different
meanings which should be separated and stored in different locations. For example, the first
plane contains ASCII characters, which can be used and processed like a text file (section
6.3 explains the usage of this process) and the third video plane stores the font tables used
by the video card (in this case the CHARM) to print the characters on the screen, rather
used to build the VNC framebuffer.
119