Despite the proof of these benchmark results, some graphics board
manufacturers have been making performance comparisons against Matrox's MGA
Series of 64-bit accelerators with a 128-bit graphic accelerator. The
comparisons focus on the 128-bit technology and argue the "wider"
128-bit datapath will automatically be faster. However, the fallacy of this
argument can be explained and supported by the following technical explanations.
There
are numerous variables that affect a graphics board's performance which
will all be discussed in this document. These include driver optimization, a
well-designed register set, effective use of the PCI bus, a well-balanced
graphics engine, and maximum use of the memory's bandwidth and special
features. However, since a number of vendors are concentrating their efforts on
the "number of bits" marketing campaign, Matrox will address this
issue with specific examples of how the 64-bit designs of the Matrox Millennium
and Matrox Mystique provide much larger bandwidth than all existing 128-bit
designs.
Bandwidth - what the numbers mean
Vendors like STB promote their graphics boards as "128-bit,
" relying on the users' belief that a bigger number automatically
means the board is faster. While some portions of the underlying technology of
their product are 128-bit, other portions, such as the datapath to access
memory, are only 32-bit. Labeling this architecture as 128-bit is therefore
misleading, because only part of the architecture's bandwidth is 128-bit.
By using the same reasoning, it can be argued that the Matrox Millennium and
Matrox Mystique accelerators are "512-bit" accelerators. This is
based on the fact that for many graphics acceleration operations as basic as
text drawing, pattern fills*, clears, aligned bitblits*, and block writes, the
data is handled in 512 bits by the Matrox processors. The Matrox Millennium and
Matrox Mystique's dedicated memory controllers, respectively the MGA-2064W
and the MGA-1064SG processors, access two memory chips at once, each with an
internal 256-bit bus, providing the equivalent performance of a "512-bit"
engine. Therefore, while Matrox characterizes its graphics controllers as "64-bit"
controllers because the datapath to memory is 64 bits wide many
fundamental graphics operations are actually handled in 512-bit, by taking
advantage of the frame buffers' specialized memory, WRAM or SGRAM. This
results in raw performance up to four times faster than 128-bit controllers for
operations like block writes and aligned blits, two fundamental graphics
operation in Windows and multimedia applications.
A concrete example of 512-bit speed
There are many instances when the graphics board is operating at 512-bit
when using WRAM and SGRAM. One specific example is the acceleration of basic
text drawing operations using the dual-color block write capabilities
exclusively found in WRAM and the single color block-write capabilities of
SGRAM. In this example, the Matrox Millennium can take advantage of two
features in WRAM to accelerate the text drawing operation. The first feature is
the dual color block write mode, which allows it to define each pixel as a 1-bit
value instead of 8-bit. The second is the 256-bit internal bus of the WRAM,
which allows it to then convert this 1-bit information back in 8-bit, in order
to display it, 512 bits at a time (since both memory chips are operating at the
same time.)
WRAM's dual-color block write
Text in common GUI applications like Microsoft Word and Excel typically
consist of black characters on a white background. This means each character
block can be divided into pixels of one of either two colors called the
foreground color - in this case black - and the background color - in this case
white.
|
When the Matrox Millennium receives the command to draw the letter "A",
a simple conversion can be made by recognizing, regardless the color depth of
the computer desktop, that each pixel making up the letter "A" can be
specified with only 1 bit of information. If the pixel to be written uses the
foreground color it is given the value of '1', and if it uses the
background color it is given the value of '0'. This capability to
handle the information as two set values is unique to WRAM, which is used only
by the Matrox Millennium. In the case where the desktop color depth is set
at 8-bit, signifying that each pixel of information has an 8 bit per pixel (bpp)
value, then a typical 64-bit engine could only calculate 8 pixels at one time (8
pixels x 8 bpp = 64 bits). Similarly, a 128-bit engine could calculate 16
pixels at one time (16 pixels x 8 bpp = 128 bits). Since Matrox's
technology allows each pixel to be defined as a 1bpp value, and the chip's
datapath is 64-bit, it can calculate up to 64 pixels at one time (64 pixels x 1
bpp = 64-bit).
|