Computers are seemingly everywhere we look. They sit on top of desks in the form of iMacs, gaming PCs, and laptops. They reside in our pockets in the form of iPhones and Androids. Even many other modern devices fall under the umbrella of the term “computer” such as the smartwatches on our wrists, intelligent thermostats, and gaming consoles. With computers coming in so many shapes and sizes, what is it that makes a computer a computer?
At its core, a computer is actually not defined by it’s physical componentry, but rather by what it is capable of accomplishing and computing. Many years ago, a scientist named Alan Turing came up with the idea of what is now known as a “Turing Machine” - a mathematical model for how a computer can solve problems in an organized, step-by-step manner. Though the model that he came up with is quite rudimentary compared to the complexity of modern digital computers, it can simulate any computer algorithm or program that we use today. In fact, computer scientists use the term “Turing complete” to refer to any computer or programming language that has the same level of computational ability as this theoretical model.
The model that Turing came up with can be thought of as a hypothetical machine that has an infinitely long “tape” containing slots for 1 bit of information at any given location (either a 1 or a 0). In addition to the tape, the machine also has a needle (or head) that points at one bit of information at-a-time. At any step of operation, the machine can choose to do any one of the following:
This machine could then be fed a sequence of instructions with a set of states that determine how it will operate and what problem it will work on solving. The instructions and states are a “program” that controls what the head and tape will do, and how it will make decisions. There are many details that I’ve glossed over here, but that is the basic premise. The details of this are outside the scope and purpose of this book, but look into the history of computational theory if you want to study more. Its quite interesting!
Since Turing came up with this in the 1930s, time and technology have marched far along. At that time and in the years following, computers and the executing of computer programs required quite a bit of human intervention, and of course were nowhere near as small and powerful as they are today. The rise and advancement of electronic and digital technology have allowed for immense improvement in a short period of time. Though their exterior size, form factor, and purposes may vary, most modern computers have a similar internal structure to each-other. We’ll study what the design and purpose of these components are in the next chapter.