Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens.  It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior.

This magic computer does not actually exist.  In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations.  In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power.

Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers.  The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers.

This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer’s behavior in completely in mechanistic terms.  It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens.  All other parts of a computer can be seen as just providing information for the CPU to operate on.

 This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop.  All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.

 

Problems

I am currently working on some problems to go along with the book.  Contact me at This email address is being protected from spambots. You need JavaScript enabled to view it. and I will email you what I currently have.

 

Resources

OneAddressCPU text download.

The zip file OneAddressCPU.zip contains the following additional resources:

  1. All the figures used in the book
  2. The OneAddress.circ file, which implements the CPU in this text.
  3. Logisim 2.7.1 as an executable jar file.  Logisim 2.7.1 is the version which was used to build this CPU.
  4. Sample assembly programs for the CPU described in this text.