Map processor to circuit diagram

The problem is that in order to understand how the computer gets to 1 + 2 = 3 you have to understand about 2 levels deeper than you've gone.

Roughly a computer is organized (in terms of fields of study) like this from highest level of abstraction to the most physical reality:

  1. Application Software
  2. Virtual Machine
  3. Operating System
  4. BIOS
  5. Embedded Systems
  6. IP Blocks (Sub-units/Peripherals)
  7. Logical Blocks
  8. Gate-Level
  9. Transistor Level
  10. Semicoductors
  11. Device Physics

To properly understand why the computer can produce 2+1 = 3, you must first decide what you are willing to accept "on faith" and what you will not believe until you internalize it. That piece of information will be at the level two below the thing you understand. So if you want to understand an adder circuit at the logical level you will need to understand the basics of "digital" transistors (specifically CMOS).

Using your earlier site as an example, consider this resource. It discusses the "Full Adder" -- the minimum completely general purpose circuit capable of addition/subtraction including carry-in and carry-out.

You will also need to understand how numbers are represented in 2's complement (the number system used in modern computers for integer arithmetic).

If you really want a world-class introductory course, I cannot recommend Professor Scott Wills at Georgia Tech highly enough. He passed away last year of cancer, but his course lives on. The Georgia Tech ECE2030 (introduction to computer engineering) class has its text book and exercises all online.

Good luck!


I had to learn the same in university, and we used the book Computer Organization and Design which was very detailed (but maybe it is too detailed for your needs).

Patterson and Hennesy used some "simple" MIPS processor and showed the whole function of the CPU with some sample code in Assembler.

Generally, I think it would be a great idea to take some "simple" processor (Arduino or so) and try to understand there the function, because the differences from that to the more complex are more in how big the implemented instruction codes are.

P.S. Maybe the elementary-microprocessor from Google Code would be helpful. It is a microprocessor simulated in Java.


The free book How Computers Work - Processor and Main Memory by Roger Young will answer your question, it uses relays instead of transistors for better understanding.