What is the main difference between a vector computer and the scalar architectures that we studied in

Question:

What is the main difference between a vector computer and the scalar architectures that we studied in Chapters 3 and 4? Do vector machines tend to have a high or low degree of generality as defined in Section 1.4? What types of applications take best advantage of the properties of vector machines?

Section 1.4

Every type of computer system one might design, buy, or use is designed with some application or applications in mind. Some computers—for example, most desktop or notebook personal computers—are designed with the idea of doing a variety of computing tasks at different times. You may use the system at one moment to browse the Web, then to balance your checkbook, then to draft a letter or memo, and then to run a simulation for a physics class or do a statistical analysis for a psychology experiment, or some other application. We say that the PC you use to do all these things is a general-purpose computer system or that it has high generality.

Unfortunately, a computer that can do a variety of things reasonably well probably is not exceptionally good at any of these tasks. As the old saying goes, “jack of all trades, master of none.”

Special-purpose machines, however, are designed to do one type of task very well. Often such machines are no better than average, and perhaps even very poor or inefcient, at doing other tasks. Microcontrollers, such as Freescale’s ColdFire series, are very good for embedded control processors in microwave ovens, automobile transmissions, and the like but would be abysmal at oating-point number crunching or even word processing. IBM’s mainframe computers are good for processing queries of large databases but not so good for real-time control. Cray supercomputers are excellent at large-scale scientic computations but probably wouldn’t run an average-sized spreadsheet any better than an Apple MacBook Air (maybe not as well). If you need to do one task very well, however, and are willing to pay for performance, a special-purpose machine that is highly applicable—that is, tailored to your specic application—is often the best way to go.

By now the reader has probably concluded that generality is a somewhat problematic aspect of quality in that it is not always good, nor is it always bad. The breadth of applications to be run on a particular system determines how general its architecture and implementation should be. A more general machine is more exible, providing reasonable performance in many scenarios. Generality affects cost: A machine that appeals to a wider audience of users is more marketable. Its design cost can be spread over more customers, and economies of scale make implementing it less expensive; thus, each machine can cost less. However, a more general architecture leads to a more complex implementation—one in which the designers try to do a little of everything. This may have a detrimental effect on quality as the more complex a system is, the more things can go wrong. The main trade-off is performance in a specic area versus performance on a general mix of applications. One should always keep this in mind when specifying or purchasing a system.

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Question Posted: