KNOWARE

Software for Education and Industry

# How Microprocessors Work

How Microprocessors Work is an interactive computer program that will give you an intuitive understanding of microprocessors through the use of text, graphics, and animation.  No prior knowledge of microprocessors is assumed or required.  It will give the user:
1)  a general understanding of what a microprocessor does and how it does it,
2)  a knowledge of the terminology that accompanies the field of microprocessors, and
3)  enough knowledge to pursue additional study if desired.

This program explains:
•    why transistors are important
•    what integrated circuits are
•    analog versus digital signals
•    what registers are
•    what binary and hexadecimal numbers are and how to manipulate them
•    what memory is
•    how memory stores text (ASCII)
•    what microprocessor instructions are
•    what address and data buses are
•    how to program a microprocessor.

How Microprocessors Work

Chapter

1.  Introduction

2.  What Is a Microprocessor?
The First Transistor
The First Integrated Circuit
The First Microprocessor
Evolution of the Microprocessor
Microprocessors Used in Early Computers
Summary

3.  What's In a Microprocessor?
The Basic Computer Model
The Concept of Registers
The Concept of Microprocessor Architecture
The Pin-Out
The X Bit Microprocessor
Summary

4.  What is Memory?
The Concept of Memory
Typical Memory Dump
Dissecting the Memory Dump
Summary

5.  How Can I Tell It What To Do?
The Instruction Set
Data transfer instructions
Arithmetic instructions
Logic instructions
Branching instructions
Stack, input, output, and control instructions
Summary

6.  Show Me How One Works
Example 1:  Data Move
Example 3: Memory Read and Write
Summary

Index

Here is an some excerpts from Chapter 4 explaining Binary, Hexadecimal, and ASCII...

...In the third grade we learned that our number system is based on the number 10.  We called it the base 10 system, or the decimal numbering system Decimal means 10. There are 10 digits, 0-9.  Each digit in the system has a "place value", which means where it is placed determines its value.  So if someone gives you 200 marbles, you know it is 2 x 100 and not just 2 marbles.  Here's how it works:
Decimal System:

Place Value:   103=1000    102=100    101=10    100=1

Digit:                    X                X             X             X.

Example:               3                 6             5               9  =  3x1000 + 6x100 + 5x10 +9x1 = 3,659

Because each bit or transistor of a computer can only be on or off, computers are based on the binary numbering system.  Binary means 2.  There are two digits, 0 and 1, corresponding to a bit or transistor being on or off.  But just like in the decimal numbering system, each digit has place value. Here's how it works:

Binary System:
Place Value:   24=16    23=8     22=4     21=2     20=1

Digit:                 X          X          X          X          X.

Example 1:        1           0           1            1          0  = 16+4+2=22 in base 10 (decimal)

Example 2:        1           1           1            1          0  = 16+8+4+2=30 in base 10 (decimal)

Example 3:        0           0           0            1          1  = 2+1=3 in base 10 (decimal)

So, since there are only 2 digits in a computer (1 and 0), the decimal number 22 would be represented by 101110 in a computer, the decimal number 30 would be represented by 11110 in a computer, and the decimal number 3,659 would be represented by 111001001011 in a computer.

...Obviously, all those 1s and 0s are hard to keep track of for us humans (computers have no problem).  Drop a 1 or 0 and the whole value is off. To make it easier for us humans to deal with binary umbers, and because most early computers had 16 bit wide registers, computer engineers started using the hexadecimal, or base 16, numbering system. The computer knows nothing about hexadecimal numbers and there are no hexadecimal numbers in the computer.  They are simply a tool for us to avoid writing binary numbers with all those 1s and 0s.  Hexadecimal (abbreviated hex) means 16.... There are 16 digits in a hexadecimal numbering system just like there are 10 digits in a decimal numbering system and 2 digits in a binary numbering system.  The 16 hexadecimal digits are 0 through 9, then A, B, C, D, E, and F.  Here's how it works:

Place Value:   163=4,096    162=256    161=16    160=1

Digit:                     X                X             X             X.

Example 1:            3                 6              5              9  =  3x4,096 + 6x256 + 5x16 + 9x1 = 13,913

Example 2:            0                 0              C             F  =  12x16 + 15x1 = 207

Example 3:            0                 1              0              0  =  1x256  = 256

So now, decimal number 22 equals hex number 16, decimal number 30 equals hex number 1E, and decimal number 3,659 equals hex number E4B.  Since decimal numbers 0 through 9 look the same as hex numbers 0 through 9, hex numbers are often written with a leading \$ sign, the letter H, or the word hex.  For example: \$16, H16, 16H, or hex 16 all mean the hex number 16, not the decimal number 16.

Following is a table of some decimal numbers and their binary and hexadecimal equivalents.

Figure 4.3  Equivalent Decimal, Binary, and Hexadecimal Numbers

 Decimal Number Binary Hexadecimal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 17 10001 11 18 10010 12 19 10011 13

...ASCII (American Standard Code for Information Interchange) is a way for digital computers to store text in memory.  Each letter, punctuation mark, and printer control character (like carriage return) has a numerical equivalent. For instance, the letter A equals 41H or 1000001 in binary, the letter a equals 61H or 1100001 in binary, and the ! sign equals 33H or 0100001 in binary.

Here is an example program from Chapter 6 that shows the movement of data in and out of the microprocessor as the program executes...

Figure 6.4  Example 3 How Microprocessors Work
is written in .html format so you can use your favorite internet browser to navigate through it using hyperlinks, bookmarks, and word searches.  How Microprocessors Work requires no software installation on your computer.  Just double-click on Table of Contents.html.

How Microprocessors Work is written by a Professional Engineer with 14 years industrial experience and 20 years experience teaching electrical engineering technology at the college level.

Hardware/Software Requirements:

• An internet browser such as Internet Explorer®, Netscape®, Firefox®, Chrome®, etc.