<<

UNIT 8B Organization: Levels of Abstraction

15110 Principles of , 1 Carnegie Mellon University - CORTINA

A Full

C ABCin Cout S in 0 0 0 A 0 0 1 0 1 0 B 0 1 1 1 0 0 1 0 1 C S out 1 1 0 1 1 1

15110 Principles of Computing, 2 Carnegie Mellon University - CORTINA

1 A Full Adder

C ABCin Cout S in 0 0 0 0 0 A 0 0 1 0 1 0 1 0 0 1 B 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 C S out 1 1 0 1 0 1 1 1 1 1 ⊕ ⊕ S = A B Cin ⊕ ∧ ∨ ∧ Cout = ((A B) C) (A B)

15110 Principles of Computing, 3 Carnegie Mellon University - CORTINA

Full Adder (FA)

AB

1-bit Cout Full Cin Adder

S

15110 Principles of Computing, 4 Carnegie Mellon University - CORTINA

2 Another Full Adder (FA)

http://students.cs.tamu.edu/wanglei/csce350/handout/lab6.html

AB

1-bit Cout Full Cin Adder

S

15110 Principles of Computing, 5 Carnegie Mellon University - CORTINA

8-bit Full Adder

A7 B7 A2 B2 A1 B1 A0 B0

1-bit 1-bit 1-bit 1-bit ... Cout Full Full Full Full Cin Adder Adder Adder Adder

S7 S2 S1 S0 AB 8 ⁄ ⁄ 8

C 8-bit C out FA in

⁄ 8 S 15110 Principles of Computing, 6 Carnegie Mellon University - CORTINA

3 (MUX)

• A multiplexer chooses between a set of inputs.

D1 D 2 MUX F D3 D ABF 4

0 0 D1 AB 0 1 D2

1 0 D3

1 1 D4

http://www.cise.ufl.edu/~mssz/CompOrg/CDAintro.html

15110 Principles of Computing, 7 Carnegie Mellon University - CORTINA

Arithmetic Logic Unit (ALU)

OP 1OP 0 In & OP

OP 0 OP 1 F 0 0 A ∧ B 0 1 A ∨ B 1 0 A 1 1 A + B http://cs-alb-pc3.massey.ac.nz/notes/59304/l4.html

15110 Principles of Computing, 8 Carnegie Mellon University - CORTINA

4 Flip Flop

• A flip flop is a sequential circuit that is able to maintain (save) a state. – Example: D (Data) Flip-Flop – sets output Q to input D when clock turns on. (Images from Wikipedia)

Clock Clock

S=Set Q to 1, R=Reset Q to 0

15110 Principles of Computing, 9 Carnegie Mellon University - CORTINA

Registers

• A register is just a set of edge- triggered flip-. Registers are triggered by a .

D 0 Q0 D1 Reg. Q1 D2 Q D 2 3 Q3 Clock

http://cpuville.com/register.htm Clock 15110 Principles of Computing, 10 Carnegie Mellon University - CORTINA

5 (CPU)

• A CPU contains: – to perform computation – Registers to hold information • (current instruction being executed) • Program (to hold location of instruction in memory) • Accumulator (to hold computation result from ALU) • Data register(s) (to hold other important data for future use) – to regulate flow of information and operations that are performed at each instruction step

15110 Principles of Computing, 11 Carnegie Mellon University - CORTINA

A sample CPU

http://cpuville.com/main.htm

15110 Principles of Computing, 12 Carnegie Mellon University - CORTINA

6 Computer

http://cse.iitkgp.ac.in/pds/notes/intro.html

15110 Principles of Computing, 13 Carnegie Mellon University - CORTINA

Abstraction

• We can use layers of abstraction to hide details of the computer design. • We can work in any layer, not needing to know how the lower layers work or how the current layer fits into the larger system. -> -> gates -> circuits (adders, multiplexors, flip-flops) -> central processing units (ALU, registers, control) -> computer

15110 Principles of Computing, 14 Carnegie Mellon University - CORTINA

7