sequences of a vector math calculation; such implementations include
Multimedia Extensions (MMX), AMD’s 3DNow! Professional, or the
Gekko chip, where only half vectors are dealt with at any one time. These advances, however, have been a boon for engineers on a budget as their vector-based math used in scientific applications can run faster on these newer computers when properly coded due to their vector math ability. The “catch” here is that vector processors have special memory requirements and must use math libraries designed to use that special vector functionality of the processor, not that of the slower standard floating-point unit (FPU), which is still present on the chip. Third-party libraries tend to be biased toward a favorite processor or are just written with generic code and thus will not run efficiently on some processors and/or take advantage of some instruction-based shortcuts. A full vector processor can be given sequences and arrays of calculations to perform. They typically have their own instruction set devoted to the movement of mathematical values to and from memory, as well as the arithmetic instructions to perform the needed transformations on those values. This allows them to be assigned a mathematical task and thus free the computer system’s processor(s) to handle the other running tasks of the application. The cost of a personal supercomputer was out of range for most consumers until the end of 2000 with the release of the PlayStation 2 console (PS2) by Sony. Rumor has it that if you interconnect multiple PS2 consoles as a cluster, you will have a poor man’s supercomputer. In fact, Sony announced that they would be planning to manufacture the “GSCube,” a product based upon interconnecting 16 emotion engines and graphic synthesizers. Actually, if you think about it, it is a pretty cool idea. A low-budget version would mean that each console on a rack boots their cluster CD/DVD with their TCP/IP network connection and optional hard disk, and their network link becomes a cheap mathematical numbercrunching supercomputer cluster slave. The vector processor is the next logical step for the microcomputer used in the home and office, so in this book, we will discuss the instruction sets that they have as well as how to use them. This book is targeted at programmers who are less likely to have access to the expensive supercomputers, but instead have access to licensed console development boxes, console Linux Dev Kits, cheap unauthorized (and possibly illegal) hacker setups, or the new inexpensive embedded DSP vector coprocessors coming out in the market as you read this