6. Building a Computer
This chapter under major construction.
Architecture refers both to the art of designing computers and to
the process of building them. Our coverage of this topic is centered
around an imaginary machine that is similar to real computers. In
Chapter 5, we specified the
machine in full detail.
We continue with a treatment of circuits and logical design, culminating in a
description of
how such a machine might be built from the ground up. Our intent is to
demystify this apparently formidable challenge while also providing a
context for understanding how Java programming and other familiar
high-level tasks relate to actual machines.
- Boolean and logical gates
- Combinational circuits
- Sequential circuits
- Components
- TOY machine architecture
Moore's law.
In 1965, Gordon Moore predicted that the number of transistors would double every 2 years. Prediction based on only 4 data points, but not far from the truth. For past 4 decades, the number of transistors has doubled approximately every 18 months. This phenomenon is known as Moore's law. Not a law of nature, but rather an empirical trend in the semiconductor industry. 16 transistors per chip in 1960s, 300 million today. Similar or better growth in magnetic disk storage capacity, rate at which transistors switch, fiber optic network bandwidth. Popular version of Moore's law: performance doubles every two years. Alternative viewpoint: cost of computer with same performance halves every 2 years. Proliferation of inexpensive computers fueled the rapid growth of the Internet. Moore's law not sustainable forever. Already slowing down, perhaps because cost of fabrication plants has also increased exponentially.Parallelism. Bit-level parallelism: do operations 16 bits at a time. Instruction-level parallelism: execute instructions A, B, and C simultaneously, while preserving the appearance that A precedes B which precedes C. Thread-level parallelism: run sequences of instructions on different processors. Scientific computing. <-- Combinatorial circuits = math formulas (20th century science) State = algorithms (21st century science) Though, there are combinatorial circuits for sorting, FFT... But it would be hard to have a data structure without storing a variable. -->
Intel Pentium bug. Designing circuits for more complicated arithmetic functions like multiplication and division is a challenging engineering task. Sometimes the engineers get it wrong. In 1994, Intel recalled a huge number of chips after a flaw surfaced in the division operation. This infamous and widely-publicized flaw was exposed by Thomas Nicely who was investigating a series involve twin primes (two consecutive odd numbers which are prime, e.g., 17 and 19 or 824,633,702,441 and 824,633,702,443). He discovered that the Pentium chip reported 1 / 824,633,702,441.0 to only 8 decimal places, whereas it was guaranteed to many more.
Master-slave. Banned in Los Angelos County.
Linear feedback shift register. Build a LFSR in hardware. Need clock and flip-flops. See this site.
Exercises.
- Question.
Creative Exercises.
- Read only wire. Wrapper type for read only wire.
