Sei sulla pagina 1di 28

BUILDING THE CPU

CS 1308 Computer Literacy and the Internet

Its 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. Its just math and science.

Our Picture of a Computer


Data Bus

memory

control unit registers

input/ output

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

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

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

Basic electric circuits: Computing AND


in1 power source in2 out

when both inputs are 1, the circuit is closed in1 in2 out 0 0 0 0 1 0 1 0 0 1 1 1
CS 302 - Computer Fluency

in1 in2

and

out = in1 in2

truth table for AND

Basic electric circuits: Computing OR


in1
in2

when either input is 1, the circuit is closed


in1 in2 out 0 0 0 0 1 1 out 1 0 1 1 1 = in1 + in2 1

out

in1 in2

or

truth table for OR


8

Basic electric circuits: Computing NOT


in1 A new type of switch which is closed at rest

out

in1

not

out = in1

in1 out 0 1 1 0

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
0

b
0

Value
1

0
1 1

1
0 1

0
0 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 0 0 1 b 0 1 0 Output 1 0 0

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-ADDs 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

Potrebbero piacerti anche