0% found this document useful (0 votes)
16 views16 pages

Lect33-Arithmetic Logic Unit (ALU)

The document provides an overview of the Arithmetic Logic Unit (ALU), its functions, and its role in computer systems as the main computation unit. It discusses the integration of ALUs, their expansion, and the use of ROMs and RAMs in control and data paths. Additionally, it explains how to model control as a state machine and the implementation of these concepts in computing circuits.

Uploaded by

yokimol307
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views16 pages

Lect33-Arithmetic Logic Unit (ALU)

The document provides an overview of the Arithmetic Logic Unit (ALU), its functions, and its role in computer systems as the main computation unit. It discusses the integration of ALUs, their expansion, and the use of ROMs and RAMs in control and data paths. Additionally, it explains how to model control as a state machine and the implementation of these concepts in computing circuits.

Uploaded by

yokimol307
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

NEC 304

STLD
Lecture 33

Arithmetic Logic Unit (ALU)

Rajeev Pandey
Department Of ECE
[email protected]
Overview

° Main computation unit in most computer systems


° ALUs perform a vaiety of different functions
• Add, subtract, OR, AND…

° Example: ALU chip (74LS382)


• Has data and control inputs

° Individual chips can be chained together to make larger


ALUs
° ALUs are important parts of datapaths
• ROMs often are usd in the control path

° Build a data and control path


ROM-based Moore Machine Timing

° What is the maximum clock frequency of this


circuit?
° Does this circuit satisfy hold time constraints?

ROM ROM
Arithmetic Logic Unit

° Arithmetic logic unit DataA DataB


functions
• Two multi-bit data inputs
• Function indicates action Function
ALU Conditions
(e.g. add, subtract, OR…)

° DataOut is same bit DataOut


width as multi-bit inputs
(DataA and DataB)
Think of ALU as a number of other
° ALU is combinational arithmetic and logic blocks in a
single box! Function selects the block
° Conditions indicate
special conditions of
arithmetic activity (e.g. Adder Subtract
overflow).
… AND
ALU Integrated Circuit

° Integrated circuit – off-the-shelf components


° Examine the functionality of this ALU chip

Performs 8 functions
Example

° Determine the 74HC382 ALU outputs for the


following inputs: S2S1S0=010, A3A2A1A0=0100,
B3B2B1B0=0001, and CN=1.
• Function code indicates subtract
• 0100 – 0001 = 0011

° Change the select code to 101 and repeat.


• Function code indicates OR
• 0100 OR 0001 = 0101

Synchronize ALU
with a clock
DataA DataB

Function
ALU Conditions
DataOut
Expanding the ALU

° Multi-bit ALU created by connecting carry output of


low-order chip to carry in of high order

Eight-bit ALU formed from 2 four-bit ALUs


Datapath components

° Tri-state buffer

In Out If Enable asserted,


Out = In
Otherwise
Out open-circuit
Enable

° Loadable register

Clk Load

Data stored on rising edge if Load is asserted (e.g. Load = 1)


Computation in a Typical Computer

° Control logic often implemented as a finite state


machine (including ROMs)
° Datapath contains blocks such as ALUs, registers, tri-
state buffers, and RAMs
° In a processor chip often a 5 to 1 ratio of datapath to
control logic
Using a Datapath
° Consider the following computation steps
1. ADD A, B and put result in A
2. Subtract A, B and put result in B
3. OR A, B put result in A Determine values
for Function, LoadA, LoadB
• Repeat starting from step 1

LoadA A B LoadB

Function ALU
Modeling Control as a State Machine
° Consider the following computation steps
1. ADD A, B and put result in A
2. Subtract A, B and put result in B
3. OR A, B put result in A Determine values
for Function, LoadA, LoadB
• Repeat starting from step 1

Model control as a state machine.


Determine control outputs for each state

S0 S1 S2
Modeling Control as a State Machine
° Consider the following computation steps
1. ADD A, B and put result in A
States
2. Subtract A, B and put result in B
S0 = 00
3. OR A, B put result in A S1 = 01
• Repeat starting from step 1 S2 = 10

Present State Next State Function LoadA LoadB

00 01 011 1 0
01 10 010 0 1
10 00 101 1 0

We know how to implement this using an SOP.


Can we use a ROM?
ROM Implementation of State
Machine
Present State Next State Function LoadA LoadB

00 01 011 1 0
01 10 010 0 1
10 00 101 1 0
States
S0 = 00
ROM S1 = 01
0101110 00 S2 = 10
1001001 01
0010110 10
Note: No minimization!
PS One line in ROM for each state

NS

Function, LoadA, LoadB


Putting the Control and Datapath Together

ROM
0101110 00
1001001 01
0010110 10

PS

NS
LoadA
A B LoadB

3
Function
ALU
What if we replaced the ROM with RAM?

RAM
0101110 00 Looks like software!
1001001 01
0010110 10

PS

NS
LoadA
A B LoadB

3
Function
ALU

Possible to implement different functions!


Program the RAM to perform different sequences
Summary

° ALU circuit can perform many functions


• Combinational circuit

° ALU chips can be combined together to form larger


ALU chips
• Remember to connect carry out to carry in

° ALUs form the basis of datapaths


° ROMs can form the basis of control paths
° Combine the two together to build a computing circuit
° Next time: more data and control paths

You might also like