Video Tutorials
Video Tutorial 1: Overview
of the Fetch operation of a fully functional simple digital computer, the "SIMCO".
Video Tutorial 2 (first half): Tracing the operation
of the "simco" digital computer, logic gate by logic gate, as it follows a computer program to sound an alarm when a window is open.
Video Tutorial 2 (second half): Tracing the operation
of the "simco" digital computer, logic gate by logic gate, as it follows a computer program to sound an alarm when a window is open.
Video Tutorial 2 (End of Part 2): Tracing the operation
of the "simco" digital computer, logic gate by logic gate, as it follows a computer program to sound an alarm when a window is open.
Articles
Programming the SIMCO in Assembly Language
What Is A Computer? Computer Programming, The Purpose of All Computers
Building Simple Machines That Make Decisions
Getting Started Using Programmable Logic Devices
|
What is a computer
What is a computer? A computer is a machine that follows a step by step list of instructions. Another name for a step by step list of instructions is an algorithm. Examples of algorithms people encounter on a day to day basis are a list of items to buy at a grocery store, the instructions to assemble a bicycle, and the rules that everyone is supposed to follow when they come to a traffic light. The purpose of all computers, the reason for their existence, is to follow algorithms. Another name for the algorithm a computer follows is a computer program.
In a sense, a computer follows the instructions in an algorithm in exactly the same way that a person follows the rules of a board game such as Monopoly. The rules of a board game can be thought of as the computer itself. A board game has a series of squares on it. These squares are just like a computer’s memory. Each square in a board game typically holds an instruction, such as “Go to jail”, “Collect $200.00”, etc.
These instructions are analogous to the individual instructions making up a computer program / algorithm.
(A computer follows the instructions in an algorithm in exactly the same way that a person follows the rules of a board game such as Monopoly.)
In a board game, players move from one square to the next. When a player moves to a new square, they perform the instruction found on this square. Likewise, a computer moves from one of its “memory squares” to the next. When a computer moves to a new memory square, it performs the instruction on the square it moved to.
In a board game, when a player moves to a new square, they typically have to make some sort of decision based upon the condition of the square they land on. For example, in Monopoly, IF you land on a square containing a property, and IF the property is not yet owned, THEN you may buy the property. This changes the state of the square from representing an un-owned property to representing an owned property. IF the square you move to contains a property that is owned, THEN you must pay a fee. Other squares may instruct you to JUMP to a new square, skipping over all the squares in between, such as the “Go to jail” square.
These features embody the essence of all computers. In a nutshell, the simplest possible computer is one that can move from one square to the next, read the state of the square it moves to, and make a decision based upon the state of the square. The computer can decide to take one of three possible courses of action. It can decide to do nothing, change the state of the square it is on or any other square on the board, or jump to any other square.
This is not just a good analogy of how a computer works. Historically, this is how the computer was first conceived. In the 1936 paper titled “ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM” Alan Turing, the inventor of the computer, described the computer in terms of a step by step list of rules to follow, similar to the rules of a board game. His theoretical computer would later be named a “Turing Machine” in his honor. The Turing machine could move along a series of squares, just like the squares described above. Based upon the condition of the square the computer moved to, it could do one of 3 possible things. It could do nothing, change the condition of the square, or move to a new square.
Incidentally, Turing never showed how an actual, tangible working version of a computer could be built. He simply described how one worked in terms of a step by step list of rules, similar to the rules of a board game. Likewise, in this chapter, I will describe the computer you will build in part I of this book in terms of the rules of a game. I call this game the game of ASC, short for “A Simple Computer”. I will show how this computer runs two different algorithms, an algorithm to automatically open and close a garage door (a garage door opener) and an algorithm to play TIC TAC TOE. The remainder of part I of this book will show the design and construction of this computer, and working versions of both of the computer programs presented in this chapter.
The Rules of ASC.
There are only 4 rules in the game of “A Simple Computer”. They are the following.
- Start at memory square 1
- Read / Examine the state of the square it is on
- Make a decision based upon the condition of the square. This decision made will be one of 3 possibilities:
- Do nothing, and move to the next memory square
- Change the state of any memory square, and move to the next memory square.
- Jump to any other square in memory
- Repeat these rules, beginning with Rule 2.
|
The ASC computer starts at square 1. Square 1 instructs the ASC to examine a sensor which tells if the garage is opened. If the garage is fully open, then the ASC makes sure the electric motor which opens the Garage is turned off. The ASC then moves to square 2.
Square 2 instructs the ASC to examine the button which closes the garage door. The door must be fully open before pressing this close button will turn on the electric motor that closes the garage door.
The ASC then moves to square 3.
Square 3 instructs the ASC to examine a sensor which tells tells if the garage is closed or not. If the garage door is closed then the ASC is instructed to turn off the electric motor that closes the door. The ASC then moves to square 4.
Square 4 instructs the ASC to examine the button which opens the garage door. The door must be fully closed before pressing this open button will turn on the electric motor that opens the garage door.
The ASC then moves to square 5.
Square 5 instructs the ASC to jump back to square 1. This jump instruction causes the ASC to repeat the instructions in squares 1 through 4 endlessly.
|
|
Jen has a Bot.
Bit the Bot.
If Bit is On, He Can Do (and say) A Lot!
Coming Soon...
Meet Bit the Bot, a talking robot that convinces us of our own, true, spiritual nature...
and who opens minds to be receptive to the Gospel message of salvation through Christ Jesus.
Talk to Bit the Bot soon about his adventures with Jen and Ben at www.JenAndBit.com
|