System information
9 Benchmarks and Verification
9.1.2 CHARM PCI Target Throughput
The PCI target interface is controlled by a Linux driver running on the ARM CPU (see
section 4.2.3). The throughput of the PCI interface depends on the processing time of the
VGA driver, the size of the Request Buffer and the flush period of the Request Buffer. Table
9.4 lists the throughputs of the PCI interface. The first entry depicts the write throughput
to the Request Buffer which buffers the PCI commands. However, this throughput can
only be achieved for data volume less than or equal to the Request Buffer size. Higher
data volumes have to processed in chunks. This decreases the throughput because no data
are accepted while processing the Request Buffer. Without data processing the CHARM
achieves a PCI throughput of nearly 3,2 MB/s.
Access Type Transfer Dead Total Related
Time Time Time Bandwidth
PCI write (to Request Buffer) 120 ns 1085 ns 1,2 µs 3,2 MB/s
PCI read 120 ns 22 µs ≈ 22 µs 177 KB/s
Table 9.4: Performance of the CHARM VGA function. The transfer time is the period of
the successful PCI cycle. The CHARM cannot immediately accept data after a
data transfer. The dead time defines the period while the CHARM rejects PCI
accesses.
After a successful data transfer, the CHARM card requires on an average of 1085 ns to
be ready for the next data reception. The reason for this long period is that every PCI
access causes three memory writes to the Request Buffer. The written data contains the
address, the data and the PCI control bits of the PCI cycle. The mean period of a VGA
request is within a time range of 550 ns to 1020 ns. The PCI bandwidth of the CHARM
card is lower than the required bandwidth for the estimated VGA requests. But the host
computer does not write permanently to a VGA card. The impact of the low bandwidth
will become noticeable at the video modes with high resolutions. A typical single-cycle PCI
access takes 8 clock cycles [59]. Single-cycle PCI data transfers to the CHARM card take
4 clock cycles (120 ns) and are comparable to the transfer time of common VGA cards.
However, modern graphic cards have their own graphic protocol and the video drivers use
PCI bursts to transfer the video data. The CHARM card does not support PCI bursts at the
moment. The performance of the PCI interface is influenced by the VGA data processing.
The following section examines the processing time of the VGA data and the influence of
the PCI target throughput.
9.1.3 CHARM VGA Processing Performance
The received VGA data is processed by the ARM CPU. The VGA driver starts the process-
ing after the Request Buffer is filled or at the latest after a fixed period. The PCI target
interface does not accept data until the VGA driver finished the data processing. The time
between the last accepted PCI access and the release of the Request Buffer is a good esti-
mation for the VGA processing time. But the time where the PCI target interface rejects
116