Arithmetic Logic Unit
ALU
By: Ahmad Yazdankhah
CS 147
Fall 2008
Prof: Dr. Sin-Min Lee
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
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, …)
Review: Bus Concept
Review: CPU Building Blocks
 Registers
(IR, PC, ACC)
 Control Unit
(CU)
 Arithmetic
Logic Unit
(ALU)
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)
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.
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 . . .
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.
Adding a full adder to our ALU
Building a 1-Bit ALU (cont’d)
A 32-Bit ALU
By paralleling the one-bit ALUs and some other modification on the
logical circuits, we can create bigger ALUs.
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
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

ALU arithmetic logic unit

  • 1.
    Arithmetic Logic Unit ALU By:Ahmad Yazdankhah CS 147 Fall 2008 Prof: Dr. Sin-Min Lee
  • 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 familiarwith: 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, …)
  • 4.
  • 5.
    Review: CPU BuildingBlocks  Registers (IR, PC, ACC)  Control Unit (CU)  Arithmetic Logic Unit (ALU)
  • 6.
    The Simplest ComputerBuilding 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. ALUstands 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 Symbolof 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 a1-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 fulladder to our ALU Building a 1-Bit ALU (cont’d)
  • 11.
    A 32-Bit ALU Byparalleling the one-bit ALUs and some other modification on the logical circuits, we can create bigger ALUs.
  • 12.
    Useful Links • VirginiaTech 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