140 likes | 326 Views
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
E N D
Arithmetic Logic UnitALU 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: • Number representations (1s complement, 2s comp.) • Arithmetic operations (Add, Sub, . . .) • Floating Point concept • Registers in CPU (Accumulator, Program Counter, Instruction Register, …)
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 Status Register (FLAG) Accumulator (ACC) CPU RAM
What’s ALU? • ALU stands for: Arithmetic Logic Unit • ALU is a digital circuit that performs Arithmetic (Add, Sub, . . .) and Logical (AND, OR, NOT) operations. • 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.
Building a 1-Bit ALU (cont’d) Adding a full adder to our ALU
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 Simulatorhttp://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/simcir_frame.html • Virginia Tech Microprocessor Simulation:http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/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