This web page is associated with a book called called The Animated Computer.
The book can be bought at: https://play.google.com/store/books/details/Dr_Jerome_Heath_The_Animated_Computer?id=WxOTBQAAQBAJ&hl=en_US&gl=US
The book gives excellent explanations for the animated images on this web site. This web page shows the animation of the computer designs in action. The book gives explanations of what the animations are about. Combining the books explanations with the animation provides a well rounded understanding of the animated computer.
There is more detailed discriptions in the Shorter version of the main text:
https://sites.google.com/site/illustratedcomputer/home
The Animated Computer
Do you want to know how a computer works? This is a well illustrated textbook on computer architecture, computer organization, and computer design.
This is the basic connectivity of the computer. The Top drawing is the original simple single BUS configuration. With the addition of bridges, the computer can have the more complex BUS configuration in the lower part of the figure. This allows "sections" of the BUS to be bypassed when they are not needed in the circuit; or when two processes would interfere with each other when they don't have to.
Silicon and Aluminum
Introduction to 01 Silicon and Aluminum - Dr. Jerome Heath
Silicon and Aluminum is the starting point for the design of the computer. The circuits of a computer are made of silicon and aluminum and maybe some copper. The name of this context comes from lectures I experienced, that were on software design, which emphasized that the bottom level of the computer was “silicon and aluminum”. But in that class we never got to the “silicon and aluminum” since we were involved in software not hardware.
Circuit Creation uses Photo Resist coating to change the resist ablity of portions, of the coating - so a design can be deployed to where the surface is treated and where it is not. Then the Photo Risist is etched with a Chemical to etch it in a pattern. Then other treatment that will be forced to follow the pattern are used at different times in the procedure. Treatments include: further Etching, adding Polysilicon with Oxidation, Doping [+or-], and Nitride Metal Plating [which then can be etched in a pattern.
NOT
This video shows on example of the basic computer circuit.
It also shows the Truth Table associated with this circuit and
demonstrates how the Truth Table works in the circuit action.
Etching Circuits
Silicon and Aluminum is the starting point for the design of the computer. The circuits of a computer are made of silicon and aluminum and maybe some copper. The name of this context comes from lectures I experienced, that were on software design, which emphasized that the bottom level of the computer was “silicon and aluminum”. But in that class we never got to the “silicon and aluminum” since we were involved in software not hardware.
Circuit Creation uses Photo Resist coating to change the resist ability of portions, of the coating - so a design can be deployed to where the surface is treated and where it is not. Then the Photo Risist is etched with a Chemical to etch it in a pattern. Then other treatment that will be forced to follow the pattern are used at different times in the procedure. Treatments include: further Etching, adding Polysilicon with Oxidation, Doping [+or-], and Nitride Metal Plating [which then can be etched in a pattern. This is my only reference, along with some knowledge of etching circuits, and was all I needed to produce the series: https://commons.wikimedia.org/w/index.php?curid=16935119. Click on the top link - they are concerned about leaving the local processing. It shpud al=nlu[y be temporary.
This is how the circuits are made.
Of course the processes on on a very small scale to get the size needed.
See Also: Wikimedia Commons
(By Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=16935119)
More in Chapter 1 (Silicon and Aluminum)
Dr. Jerome Heath
Logical Gates
See also: Logical Gates
https://sites.google.com/site/illustratedcomputer/02_logicalgates?authuser=0
This is similar to the previous but slightly more complicated. Various circuits are combined in special ways so they each do some important specific signaling processes. The basic circuits are designed in order to provide logical gates. A logical gate can be used to determine whether two inputs are the same or different and make a decision (provide an output) based on that relationship. A logical gate measures the result that two inputs (A and B) that cause an output (X) when they are “logically” compared.
AND
This is a color coded demonstration of the AND circuit Truth Table.
Note - only when both A and B are ON can X be ON.
The Truth Table is the definition of AND.
More in Chapter 2 (Logical Gates) of: The Animated Computer
Dr. Jerome Heath
Arithmetic
Arithmetic is arithmetic; but the computer does it differently than we do it because of the binary nature of computer memory and the truth tables used to process the data. Addition and subtraction is done by combining logical gates in ways that produce a truth table that is 'equivalent' to addition or subtraction. In the arithmetic context we often use the truth tables of NAND and XOR. NAND is the inversion of AND and XOR is the exclusive OR.
Come Count with Me!
Counting is done by adding place values for each digit.
Each place value is either true or false.
Truth is worth the place value and false is always zero (0).
One Bit Adder
This video show the workings of a one bit adder.
This assumes there are two separate bits in memory
that you would want to add together and get an answer.
There are three inputs - the bits A and B
and a carry in if needed from a previous addition.
There are two outputs - the answer and a possible carry out.
Data of the Computer
How Computer Data is Recorded
Storing data is always done in binary. The context here is the binary representation of the data. Storing numbers as numbers is one variation of this context. The previous chapter discusses that mode. Storing of various data is always by binary numbers in a computer. The value interpreted is related to what the data storage area is defined to hold. The operating system or the application recognizes (by internal definition) what the actual value is (or use of) a particular bit area in memory. One variation is data that represents characters (Bytes).
There are 128 possible items that can each be given a code value.
It is more than a guess and golly choosing the values.
For programmers use, the numbers must be in order.
For easy transposing from capital to small letters the same letters must be a simple gap. That gap is a 20 in HEX. Other ASCII codes (using the remainder of the number codes available) are for easy programming for some actions. Many of these other values are just plug values like a Captain Midnight Code.
Interpreting Character Codes in ASCII
Data Storage Techniques
The next context of signaling takes special circuits and logical gates, and combines them to provide new processing power for our computer. The computer needs to keep data and lots of it. So we need to design a way of saving and retrieving data. This must work so the data is kept unchanged, unless we specify that the data is to be changed (written to) by signaling with a special signal.
This context is circuits to hold data (relatively indefinitely) and allow access to the data in the computer. This signaling is developed from logical gates. It is also used on a larger scale than the circuits for logical comparisons or the mathematical processes. Most logical comparisons and all mathematical processes are done in the Arithmetic Logic Unit (ALU) while the data we are saving is spread quite widely on chip-sets and in various parts and peripherals that contain memory of their own. Variations of this context include memory, caches, and registers that each hold data with different kinds of accessibility to the processes of the computer.
Four Address Locations
Memory is managed by control lines that determine the process done in a given memory action [set of addresses].
See Also: 05 Data Storage.
More in Chapter 5 (Data Storage Techniques) of: The Animated Computer
Dr. Jerome Heath
The BUS
Early Diagram of the Computer BUS Design
The point of the bus is the use of many lines to transfer data at a high rate to everything in the computer. This is an important context of the computer. Since computers use digital data, the bus needs to handle many digits to carry the information. Originally a computer had one bus; but it was found that a single bus led to too slow processing for modern computer use. This is especially the case since more peripherals were needed to accomplish the goals of the computer. The bus context is lines of connectivity between various areas of the computer. The variations are the variety of buses and bus protocols used to convey data between different parts of the computer.
The BUS is either On or Off.
Actually there are times when the bus is on the way on or on the way off.
Operation of the Computer Bus
Note the BUS Clock Feed Controls the Action
When the BUS is on it carries data from one given set off bits, at a single address, to change the bits in a second address set of bits.
One set of bits at a time!
More in Chapter 6 (The Bus) of: The Animated Computer
Dr. Jerome Heath
Connectivity, the New Signaling
Network protocol has become an important context of computers. Handling data through some kind of packets, as done in networking, is also used in some buses on the computer. This methodology has standards that apply to all cases (the overall context); but also individual standards that fit particular needs (variations); context and variations. The context is the basic design of the layers and protocols of processing at both ends of a network. The variations are the many possible, particular, sets of layers and protocols that are used or can be used. The protocols use layers to isolate the processing of various parts necessary for messaging.
Internet Protocol
Sending a Message over the Internet
Note: TCP breaks the message down into workable units.
IP wraps the TCP Packet into the IP Packet.
The IP Packet hold the address of the receiver.
IP unwraps the TCP Packet at the other end.
TCP re-unites the message parts to produce the message
See also: Internet and Networking.
More in Chapter 7 (Connectivity, the New Signaling) of: The Animated Computer
Dr. Jerome Heath
The Heart of the Computer
Heart of the Computer [The whole series]
The CPU is a part of specialization that is typical for advanced contexts of the computer. There are many unique processes that are only found in this one area of the computer. All the special processing in the CPU makes it a very special context. The variations of this context are the many ways this capability is set up in different CPUs. The particular variations are different but have a family resemblance character to each other.
The CPU Clock
The CPU in Action - FETCH, DECODE, EXECUTE.
This is a series of pictures showing how the Central Processing Unit uses a series of steps to run the program you write without external involvement.
Some CPU Connections
The CPU is the heart of the computer. The processing power of the computer is the combination of many simple processing steps that allows the computer to be so effective at what it does well. A simple controller carries the CPU through the fetch-decode-execute cycle. The simplicity of this cycle is misleading because of the capability it gives the computer. Here we are discussing the original computer design before microarchitecture and pipelining began.
The Standard Registers
The ALU in Action!
These are the CPU processes that are done by the ALU.
The ALU does the Mathematical and Comparison (Arithmetic and Logic) Processes.
The Shifter is for shifting or rotating bits in a unit of of data as it passes thought the ALU.
Left Shift and Left Rotate
Various Functions in the ALU and Shifter.
This shows how the functions of the ALU are drawn up as a series of processing steps in parallel physically but timewise sequential.
The first process is to evaluate the command being processed through a Decode of a signal from the controller.
More in Chapter 8 (The Heart of the Computer) of: The Animated Computer
Dr. Jerome Heath
Instruction Set Architecture Context
141
The Instruction Set is the definition of the individual processes the computer can do. The context itself is the concept of a set of commands a computer can do. The variations are the particular commands and their application within a computer design. These are very simple processes that can be combined to produce very useful processing.
Each command is referred to by a set of bits in an op code. So using 4 bits for the op code we can have 16 different possible ops. Using 5 bits allows 32, 6 bits to 64, and 7 bits to 128 ops. It appears from Intel literature that the 80386 computer uses 8 bits for its op code. Each instruction is a hard-wired little program, inside the CPU, that causes the instruction to be done on the computer.
More in Chapter 9 (Instruction Set Architecture Context) of: The Animated Computer
Dr. Jerome Heath
Microarchitecture Processing
152
The Microarchitecture context processing is related to the use of a more complex set of hard wired (firmware) computer processing unit controls. This changes the way the computer handles the processing of instructions by using more complex methods of controlling the programming cycles. Instead of fetch-decode-execute, the instructions are brought into the CPU in a group (as a list) so that they can be run in parallel. Running the commands in parallel (with parallel CPU processes available) increases the number of commands run in a given time and thus speeds up the computer’s processing. This context is a new processing capability in the CPU that allows parallel processing of commands; the variations are the particular use of this in specific chips. This is a new (recent) context of computing.
Similar to: MAD Pipeline Design Detail - From Wikimedia Commons, the free media repository
Picturing the Processing
Use colors to follow the action of a given instruction through the process.
Assembly Language
162
The idea of Assembly Language as a distinct context is the fact that a computer can be programmed by a language that is not the language of the computer (the machine language). This context is the beginning of all of the languages that are used to program a computer. The variations are then the multitude of different programming languages that can be translated into machine language.
The assembling (translating to machine language) of the assembly source code (the code written by the programmer) requires several steps. The code first needs to be tokenized. In the second step the meaning of each token, related to its associated tokens in the present statement, is evaluated. This is like interpreting English phrases by using parts of speech. The interpretation provides a basis for creating an object file. This object file needs to be linked, meaning the named references in the programmers code need to be replaced with actual address references in the final file. The CPU cannot run the code unless the references are by address. This linking must be done after the size of the machine code is known. Linking produces the executable file.
Assembling using Grammars
More in Chapter 11 (Assembly Language) of: The Animated Computer
Dr. Jerome Heath
Operating System
Operating System - The deal wit understanding is the operating system is based on addresses and referring to those [specific] addresses.
1
Context: This context refers to the availability of software that can control the computer itself and control the various other software used by the computer. The variations are the many different such operating systems that are available and the many processes that this software accomplishes.
A computers operating system is based on addresses. That is, addresses in main memory. An address or, better, an address pointer, points to a particular procedure in the operating system and thus can be used to call that procedure. As we see from the design of the CPU, merely putting the function’s first command address in the Instruction Pointer runs the function.
The Stack Frame is the process used to handle issues related to calling a new process from the present process. This set of pushes to the Stack are standardized in the Prolog so a reference to a new procedure is always the same. On the return this set of Stack values are cleared in the Epilog.
More in Chapter 12 (Operating System) of: The Animated Computer
Dr. Jerome Heath
Peripherals
199
Understanding the computer’s peripherals is a special context of the modern computer. For many processes, knowing only what the computer itself does is like hearing one side of a telephone conversation. This context is the various processes that are part of the computer processing but are not actually part of the computer itself. The variations are the many peripherals and types of peripherals that are available.
We discuss the internal workings of disk drives. This provides an understanding of the capabilities and weaknesses of the old standard disk drives. The disk drive is sold with the computer but separate from the basic computer processing.
We also describe the workings of the CD DVD drives. This is not a technology that can be used for normal secondary memory process, but fits more into archiving or providing backups for the normal secondary memory.
Then we spend some of time on the monitor or screen portion of the computer. I cover the CRT technology since it remains as a legacy. Then I cover the flat screen technology with a great deal of detail. From these descriptions you might not be able to build your own but you could come close to that.
CRT Screen [olden days - picture mixed with snow]
CRT Screen Scan
LCD Flat Screen (Original)
Flat panels are made up of a series of layers - each layer accomplishing a different part of the necessary activities needed to produce a "good" picture.
Network Interface Card
Then we discuss printers and their technology, network cards, and WiFi.
More in Chapter 13 (Peripherals) of:
The book is organized around computer signaling contexts. These different contexts help to organize the the discussion of computer capability. Each context has variations. The discussion of the computer system organizes the computer into contexts and variations of such contexts. The contexts are define by the particular signaling processes that are involved. Similar signaling capability belongs together and they are considered separately from processes with different signaling capability. Such discussion provides the background for illustrations and discussions of computer processes.
I will show some highlights of these contexts.
The clock does not send the names: 'Fetch', 'Execute', 'Decode'.
These are assumed by the process reading the clock.
The CPU Control Unit in Action!
This represents the coding for the letters of the alphabet.
It shows the letters are kept in order - programmers like that.
I am also showing the relationship between capital and small letters.
The ASCII code also provides many other codes often used by programmer to augment there work.
There are other variations of storage rules that define data as pictures, as videos or music, and as data for particular applications. The system (or application) needs to know what the data represents to be able to use that data.
See also: 04 Computer Data.
More in Chapter 4 (Data of the Computer) of: The Animated Computer
Dr. Jerome Heath