Visual/Math ISAs
Someone once noted that many applications manage to turn 32-bit microprocessors
into 8-bit processors. Unfortunately, that's true for many standard programming
tasks. Examples include: looking for the EOF character in a text block;
or searching for a specific character in a string. These operations involve
a 32-bit processor searching for an 8-bit or character value, one byte
at a time. Yes, you can speed it up by doing AND compares and
testing on matches, but it still takes processing time.
Another processing sink for inefficient cycles is 8-bit or 16-bit pixel
processing on a 32-bit or 64-bit data path. Rarely can such processing
use the full datapath bandwidth of the CPU. Instead it throttles down,
processing to the graphic field size, and wastes datapath resources.
The idea behind the visual/graphics ISA extensions is to perform multiple
field operations across the datapath width. Thus, for a 64-bit system,
one instruction can do eight 8-bit adds, compares, or logical ANDs,
for example. That is an 8X speed up.
Sun Microsystems was the first of the major RISC design houses or chip
vendors to implement a "Visual Instruction Set" (VIS) with v9
of its SPARC architecture specification. V9, and VIS, first appeared in
UltraSPARC, Sun's 4th generation superscalar, high performance RISC. Rumor
has it that Sun developed VIS as a counter to Silicon Graphics and that,
internally, the project went under a code name of "SGI" which
stands for "Sun Graphics Instructions" in reality. Cygnus Solutions
was the first to produce a commercial compiler for V9 processors. Others
have followed. MIPS, for example, has the MDMX extensions, and Intel (along
with competitors) has introduced its MMX extensions.
|