This is Beagle-Ears -> Lars -> Professional -> How Computers Work

How Computers Work


When I first learned about computers as a 13-year old in the early 1960'es, there were many good introductory texts that explained what a computer was, and how it fundamentally works. Recently, when I wanted to introduce my 12-year old daughter to the special magic of computer programming, I was shocked to find no text that I would consider as a reasonable introduction to the subject.

I found a lot of books about how to use computers. Of course, I also found lots of detailed descriptions about how specific programs work; or about how certain features of a computer might work. But I did not find a single, easy-to-read layman's text about what makes a computer a computer.

This is my attempt to remedy that lack. While I work on developing this material, I would appreciate feedback: Hints, criticism, suggestions.


While there has been a tremendoues development in computer technology since the first computers were built in 1948, most of it has been to make the computers bigger (in all measures of capacity), better, faster, smaller (in physical package size) and less expensive, today's computers are fundamentally no different from the conceptual design of John von Neumann. My goal is to explain in this sense what makes a computer a computer.

A computer is a machine which can

Over the years, we have greatly improved the ease with which we can get data into the machine, and the sophistication with which we present the results of the calculations. We have also vastly increased the amount of data we can store in the machine at any one time. But the above principles have remained the same, and this is what makes a computer a computer.

The british mathematician Alan Turing proved that while there are an infinity of ways to build a computer, the exact details of the design do not matter (except as a practical matter). Any problem that can be solved by one computer can be solved by any other computer, subject only to practical constraints (the machine must be large enough to hold the description of the problem, and possibly also the description of the other machine which is known to be capable of solving the problem).

As we delve into how these machines work, we will start with some very simple machines, and then discuss how one might change them into something that is closer to how real machines are built today.

Depending on how much of a nerd you are, you will soon start to get bored with this detailed description. Don't worry: That's normal and healthy. When you get bored, come back and follow the link to the BASIC programming language.

Next: Treasure Hunt in the Pigeon House.

Later: BASIC

Copyright © 1999 Lars Poulsen, All Rights Reserved
These pages may be freely copied in their entirity only.
For other uses, please contact the author.