Being Fluent with Information Technology



Box 2.2 - On University - In Principle and in Practice


The universality property of computers is a theoretical result. Is it true in practice? The answer is yes, definitely, but there are complicating practical issues that can obscure the truth of this fact.

How can a computer without connection to a printer perform the computation, "print the report"? Of course, it cannot. But, the computer can without change perform the task, given a printer and the necessary software to format the report and drive the printer. Similarly, a computer embedded in an automobile's carburetor cannot print a report either, because, first, it does not have the proper input/output devices and, second, its software is permanently set to the task of mixing fuel. But the computer, i.e., the central processing unit, is not a limitation in these or other cases. Indeed, it is the universality of computers that explains why they are so ubiquitous in modern America: a computer chip with a program stored in read-only memory (ROM) is more convenient to design, cheaper to build, more reliable, and easier to maintain than specialized circuitry for controlling appliances, automobile subsystems, and other mechanical devices, as well as electronics like cell phones and Global Positioning System (GPS) devices.

Further, the observation that applications like word processing require different software to run on a Macintosh versus a PC seems to contradict the above claims and imply that the instruction set does matter. In a narrow sense it does, since the Mac cannot directly execute the binary encoding of a program specialized to the PC and vice versa. This is because the Mac and the PC use different microprocessor chips and the binary files for software applications are customized for each type of microprocessor. But those two different binary encodings can be created from a single source program by a translator (compiler) that specializes the computation to each instruction set. The two machines are literally running the same source program, i.e., performing the same word processing computation. And there is an indirect sense in which any PC software can run on a Mac and vice versa. A program can be written for one machine to emulate the instruction set of the other machine, allowing it to execute the actual binary encoding used by the other machine. Being indirect, this would be slower than a customized version, but it truly illustrates universality.



Copyright 1999 by the National Academy of Sciences