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
and
in2
out
when both inputs are 1,
the circuit is closed
out
= in1 in2
in1 in2 out
0 0
0
0 1
0
1
0
0
1
1
1
CS 302 - Computer Fluency
}
truth table
for AND
7
Basic electric circuits:
Computing OR
in1
in2
out
when either input is 1,
the circuit is closed
in1
in2
or
in1 in2 out
0 0
0
0 1
1
out
1
0
1
1
1
= in1 + in2 1
}
truth table
for OR
8
Basic electric circuits:
Computing NOT
in1
A new type of
switch
which is closed
at rest
in1
not
out
= in1’
in1 out
0 1
1 0
out
}
truth table
for NOT
9
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))
a
b
Value
0
0
1
0
1
0
1
0
0
1
1
1
14
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
a
b
Output
0
0
1
0
1
0
1
0
0
1
1
1
17
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
Examples Of Circuit Design
And Construction
Compare-for-equality circuit
Addition circuit
Both circuits can be built using the sum-of-
products algorithm
20
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
21
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
22
Figure 4.24
The 1-ADD Circuit and Truth Table
23
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
24
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.
25
Control Circuits
Do not perform computations
Choose order of operations or select among data
values described by the instruction
The pattern of ones and zeros in each instruction
will determine the which result is used from the ALU
26
Control Circuits (cont.)
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
CS 1308 – Computer Literacy and the Internet
27
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
28