System information
9.1 VGA Function Performance
Location High Register (CRTC register 0xE). The write to port 0x3D5 sets the value of the
Cursor Location High Register. The next two I/O writes are similar to the last I/O writes.
First, the host selects the Cursor Location Low Register (CRTC register 0xF). Subsequently,
the content for this register is written to port 0x3D5.
Operation Address Data Size Value Idle Time
Memory Write 0xB8000 2 byte 0x0720 (1-2) µs
I/O Write 0x3D4 1 byte 0x0E (1-2) µs
I/O Write 0x3D5 1 byte 0x01 (1-2) µs
I/O Write 0x3D4 1 byte 0x0F (1-2) µs
I/O Write 0x3D5 1 byte 0x19 (1-2) µs
Table 9.2: VGA access sequence of a booting Linux kernel running a VGA text mode. The
idle time is the period between two VGA accesses.
VGA Performance Estimation
The inspection of the VGA accesses of the BIOS Setup Utility and the Linux kernel should
gives an overview of the type and frequency of PCI requests to a VGA card. Other operating
systems like Microsoft Windows use similar access patterns to set up the screen content. It
is important to know the time between two VGA accesses. Table 9.1 and table 9.2 show in
the corresponding last columns the idle time between the VGA requests. This time gives
an estimation of the required performance of the CHARM card. The CHARM card should
be ready to accept data after this period. If the CHARM cannot accept further data after
this time, the video screen refresh will be delayed. The time between the VGA requests of
the host depends on the video mode, the operating system and the screen content. Table
9.3 shows the measured periods of VGA accesses to the VGA card. Section 9.1.2 examines
the throughput of the PCI target interface of the CHARM card.
Operation Mean Access Period Throughput
BIOS Setup Menu (graphic mode) 550 ns 6,9 MB/s
Booting Linux Kernel (text mode) 1020 ns 3,7 MB/s
Table 9.3: VGA performance overview for the VGA requests shown in table 9.1 and table
9.2. The access period is calculated on the time between two VGA requests.
But the mean access time only defines the VGA request frequency during a screen update.
Normally, if the screen content is not changed, it will not be written to the VGA card again.
The estimated throughput defines the throughput for the worst case situation. However,
some BIOS setup utilities, for example, update the screen content periodically even if the
screen content was not changed.
115