Building the CPU - Texas State Department of Computer Science
Download
Report
Transcript Building the CPU - Texas State Department of Computer Science
Building the CPU
CS 1308 – Computer Literacy and the Internet
It’s Not Magic
The goal of the next series of lectures is to show you exactly
how a computer works.
We will discuss the logic used to create computer
instructions and how the computer decides which
instructions to execute.
Although at times it may appear to be magical. It’s just math
and science.
2
Our Picture of a Computer
Data Bus
memory
control
unit
input/
output
registers
arithmeticlogic unit
Central Processing
Unit (CPU)
The Reliability of Binary Representation
Electronic devices are most reliable in a bistable environment
Bistable environment
Distinguishing only two electronic states
Current flowing or not
Direction of flow
Computers are bistable: hence binary representations
4
A Switch is a 2-state device that can be
toggled
A relay is a switch built with an electromagnet
controlled current
controlling current
when the controlling current is 1, the electromagnet pulls
the switch closed, and the controlled current flows through
the switch
5
Switches can do it all
With switches we can implement AND, OR, and NOT gates
With just those types of gates, we can design circuits to
perform any computation
Remember, computers do very simple tasks, very quickly
6
Basic electric circuits:
Computing AND
in1
power
source
in1
in2
7
and
in2
out
when both inputs are 1,
the circuit is closed
out
= in1 in2
CS 302 - Computer Fluency
in1 in2 out
0 0
0
0 1
0
1
0
0
1
1
1
}
truth table
for AND
Basic electric circuits:
Computing OR
in1
in2
out
when either input is 1,
the circuit is closed
in1
in2
8
or
in1 in2 out
0 0
0
0 1
1
out
1
0
1
1
1
= in1 + in2 1
}
truth table
for OR
Basic electric circuits:
Computing NOT
in1
A new type of
switch
which is closed
at rest
in1
9
not
out
= in1’
in1 out
0 1
1 0
out
}
truth table
for NOT
A better switch: Transistors
bi-stable, solid state device
switching is done electronically, not mechanically
no moving parts; therefore, fast, small, reliable
can switch states in about one 10 billionth of a second
about 5 million transistors can fit on a chip 1 centimeter square.
Density is increasing rapidly with new technology.
10
Figure 4.11
Simplified Model of a Transistor
CS 302 - Computer Fluency
11
Boolean Logic and Gates: Boolean
Logic
Boolean logic describes operations on true/false values
True/false maps easily onto bistable environment
Boolean logic operations on electronic signals may be
built out of transistors and other electronic devices
12
Boolean Logic (continued)
Boolean expressions
Constructed by combining together Boolean operations
Example: (a AND b) OR ((NOT b) AND (NOT a))
Truth tables capture the output/value of a Boolean expression
A column for each input plus the output
A row for each combination of input values
13
Boolean Logic (continued)
Example:
(a AND b) OR ((NOT b) and (NOT a))
14
a
b
Value
0
0
1
0
1
0
1
0
0
1
1
1
Building Computer Circuits:
Introduction
A circuit is a collection of logic gates:
Transforms a set of binary inputs into a set of binary outputs
Values of the outputs depend only on the current values of the
inputs
Combinational circuits have no cycles in them (no outputs feed
back into their own inputs)
15
A Compare-for-equality Circuit
Compare-for-equality circuit
CE compares two unsigned binary integers for equality
Built by combining together 1-bit comparison circuits (1-CE)
Integers are equal if corresponding bits are equal (AND
together 1-CD circuits for each pair of bits)
16
A Compare-for-equality Circuit
(continued)
1-CE circuit truth table
17
a
b
Output
0
0
1
0
1
0
1
0
0
1
1
1
Figure 4.22
One-Bit Compare for Equality Circuit
CS 302 - Computer Fluency
18
A Compare-for-equality Circuit
(continued)
1-CE Boolean expression
First case: (NOT a) AND (NOT b)
Second case: a AND b
Combined:
((NOT a) AND (NOT b)) OR (a AND b)
19
Figure 4.19
Diagram of a Typical Computer Circuit
CS 302 - Computer Fluency
20
A Circuit Construction Algorithm
Sum-of-products algorithm
Truth table captures every input/output possible for circuit
Repeat process for each output line
Build a Boolean expression using AND and NOT for each 1 of the
output line
Combine together all the expressions with ORs
Build circuit from whole Boolean expression
21
Examples Of Circuit Design And
Construction
Compare-for-equality circuit
Addition circuit
Both circuits can be built using the sum-of-products
algorithm
22
An Addition Circuit
Addition circuit
Adds two unsigned binary integers, setting output bits and an overflow
Built from 1-bit adders (1-ADD)
Starting with rightmost bits, each pair produces
A value for that order
A carry bit for next place to the left
23
An Addition Circuit (continued)
1-ADD truth table
Input
One bit from each input integer
One carry bit (always zero for rightmost bit)
Output
One bit for output place value
One “carry” bit
24
Figure 4.24
The 1-ADD Circuit and Truth Table
25
An Addition Circuit (continued)
Building the full adder
Put rightmost bits into 1-ADD, with zero for the input carry
Send 1-ADD’s output value to output, and put its carry value as
input to 1-ADD for next bits to left
Repeat process for all bits
26
Computer Instructions
The logic for every instruction is executed on
every cycle by the Arithmetic and Logic Unit
(ALU).
The answer used is the one for the instruction
that is currently decoded and executed by the
CPU.
This selection is done by the Control Circuits.
27
Control Circuits
Do not perform computations
Choose order of operations or select among data values
Major types of controls circuits
Multiplexors
Select one of inputs to send to output
Decoders
Sends a 1 on one output line, based on what input line indicates
28
Control Circuits (continued)
Multiplexor form
2N regular input lines
N selector input lines
1 output line
Multiplexor purpose
Given a code number for some input, selects that input to pass along to
its output
Used to choose the right input value to send to a computational circuit
29
Figure 4.28
A Two-Input Multiplexor Circuit
30
Control Circuits (continued)
Decoder
Form
N input lines (typically the size of the BUS)
2N output lines
N input lines indicate a binary number, which is used to select one of the
output lines
Selected output sends a 1, all others send 0
31
Control Circuits (continued)
Decoder purpose
Given a number code for some operation, trigger just that operation
to take place
Numbers might be codes for arithmetic: add, subtract, etc.
Decoder signals which operation takes place next
32
Figure 4.29
A 2-to-4 Decoder Circuit
33
Summary
Binary values create a bistable environment, making
computers reliable
Boolean logic maps easily onto electronic hardware
Circuits are constructed using Boolean expressions as an
abstraction
Computational and control circuits may be built from Boolean
gates
34