Skip to main content
By: Ahmad Yazdankhah
CS 147
Fall 2008
Prof: Dr. Sin-Min Lee
 Assumptions
 Review: Bus Concept
 Review: CPU Building Block
 The Simplest Computer Building Blocks
 What’s ALU?
 Typical Schematic Symbol of an ALU
 Let’s Build a 1-Bit ALU
 Useful Links
 References
You are familiar with:
1. Number representations (1s complement, 2s
comp.)
2. Arithmetic operations (Add, Sub, . . .)
3. Floating Point concept
4. Registers in CPU (Accumulator, Program
Counter, Instruction Register, …)
 Registers
(IR, PC, ACC)
 Control Unit
(CU)
 Arithmetic
Logic Unit
(ALU)
Instruction Register (IR) Program Counter (PC)
Control Unit
(CU)
ALU
Accumulator (ACC)
0
1
2
3
4
5
.
CPU RAM
Status Register (FLAG)
1. ALU stands for: Arithmetic Logic Unit
2. ALU is a digital circuit that performs
Arithmetic (Add, Sub, . . .) and Logical
(AND, OR, NOT) operations.
3. John Von Neumann proposed the ALU in
1945 when he was working on EDVAC.
Typical Schematic Symbol of an ALU
A and B: the inputs to the ALU
(aka operands)
R: Output or Result
F: Code or Instruction from the
Control Unit (aka as op-code)
D: Output status; it indicates cases
such as:
•carry-in
•carry-out,
•overflow,
•division-by-zero
•And . . .
This is an one-bit ALU which can do Logical AND and Logical OR
operation.
Result = a AND b when operation = 0
Result = a OR b when operation = 1
The operation line is the input of a MUX.
Adding a full adder to our ALU
By paralleling the one-bit ALUs and some other modification on the
logical circuits, we can create bigger ALUs.
 Virginia Tech online courses:
http://courses.cs.vt.edu/~csonline/index.html
 Virginia Tech online Circuit Simulator
http://courses.cs.vt.edu/~csonline/MachineArchitecture/L
 Virginia Tech Microprocessor Simulation:
http://courses.cs.vt.edu/~csonline/MachineArchitect
ure/Lessons/CPU/sumprogram.html
 Text book: Computer System Architecture
(By: Rob Williams, 2nd
Edition, Prentice Hall, 2006)
 Site Wikipedia:
http://en.wikipedia.org/wiki/Arithmetic_logic_unit
 Previous Student Lectures:
(By: Anna Kurek, Spring 2008)
 Professor’s Lecture Notes.
 Virginia Tech online courses:
http://courses.cs.vt.edu/~csonline/index.html