2. Table of Contents
• 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
3. Assumptions
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, …)
5. Review: CPU Building Blocks
Registers
(IR, PC, ACC)
Control Unit
(CU)
Arithmetic
Logic Unit
(ALU)
6. The Simplest Computer Building Blocks
Instruction Register (IR) Program Counter (PC)
Control Unit (CU)
ALU
Accumulator (ACC)
0
1
2
3
4
5
.
CPU RAM
Status Register (FLAG)
7. What’s ALU?
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.
8. 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 . . .
9. Let’s Build a 1-Bit ALU
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.
10. Adding a full adder to our ALU
Building a 1-Bit ALU (cont’d)
11. A 32-Bit ALU
By paralleling the one-bit ALUs and some other modification on the
logical circuits, we can create bigger ALUs.
12. Useful Links
• Virginia Tech online courses:
http://courses.cs.vt.edu/~csonline/index.html
• Virginia Tech online Circuit Simulator
http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/C
• Virginia Tech Microprocessor Simulation:
http://courses.cs.vt.edu/~csonline/MachineArchitecture/Less
ons/CPU/sumprogram.html
13. References:
• 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