Other memories
Last time we showed how to build arbitrarily-large static memories
from single-bit RAM cells.
Today well look at some other kinds of memories.
Dynamic RAM is used for the bulk of computer memory.
Read-only memories and PLAs are two progra

Instruction set architectures
Last week we built a simple, but complete, datapath.
The datapath is ultimately controlled by a programmer, so today well
look at several aspects of programming in more detail.
How programs are executed on processors
An int

Instruction encoding
Weve already seen some important aspects of processor design.
A datapath contains an ALU, registers and memory.
Programmers and compilers use instruction sets to issue commands.
Now lets complete our processor with a control unit th

Control units
In the last lecture, we introduced the basic structure of a control unit,
and translated our assembly instructions into a binary representation.
Today we fill in the last piece of the processor and build a control unit
to convert these binar

COLLEGE of COMPUTER STUDIES
CENTRAL PHILIPPINE UNIVERSITY
ILOILO CITY
PHILIPPINES
Tel Nos (033) 329 1971 (to79) local 2119
Fax No (033) 320 3004
COURSE SYLLABUS
GENERAL COURSE INFORMATION
Course No.
Course Title
Course Description
: CCS 2300
: Logic Desig

Laboratory Experiment 1
DIGITAL LOGIC FAMILIARIZATION
EVALUATION FORM
SUBMITTED BY:
EVALUATION:
Content (50%)
Accuracy (25%)
Presentation (15%)
Punctuality (10%)
DATE PERFORMED:
Total
DATE SUBMITTED:
Instructors Signature
I.
Objectives:
1.
To familiarized

Other ISAs
Next, well first we look at a longer example program, starting with
some C code and translating it into our assembly language.
Then we discuss some alternative instruction set designs.
Different ways of specifying memory addresses
Different n

Flip-Flops
Last time, we saw how latches can be used as memory in a circuit.
Latches introduce new problems:
We need to know when to enable a latch.
We also need to quickly disable a latch.
In other words, its difficult to control the timing of latches

Registers
Today well see another common sequential device: registers.
Theyre a good example of sequential analysis and design.
They are also frequently used in building larger sequential circuits.
Registers hold larger quantities of data than individual

Datapaths
For the rest of the semester, well focus on computer architecture: how
to assemble the combinational and sequential components weve studied
so far into a complete computer.
Today, well start with the datapath, the part of the central processing

Random access memory
Sequential circuits all depend upon the presence of memory.
A flip-flop can store one bit of information.
A register can store a single word, typically 32-64 bits.
Random access memory, or RAM, allows us to store even larger amounts

Counters
Next, well look at different kinds of counters and discuss how to build
them.
These are not only examples of sequential analysis and design, but also
real devices used in larger circuits, as well see in the coming weeks.
10/27/2003
Counters
1
Int

Sequential circuit design
Now lets reverse the process: In sequential circuit design, we turn
some description into a working circuit.
We first make a state table or diagram to express the computation.
Then we can turn that table or diagram into a seque

Sequential circuit analysis
Last week we started talking about latches and flip-flops, which are
basic one-bit memory units.
Today well talk about sequential circuit analysis and design.
First, well see how to analyze and describe sequential circuits.
St

Latches
The second part of CS231 focuses on sequential circuits, where we add
memory to the hardware that weve already seen.
Our schedule will be very similar to before:
We first show how primitive memory units are built.
Then we talk about analysis and

Arithmetic-logic units
An arithmetic-logic unit, or ALU, performs many different arithmetic
and logic operations. The ALU is the heart of a processoryou could
say that everything else in the CPU is there to support the ALU.
Heres the plan:
Well show an a

Addition and multiplication
Arithmetic is the most basic thing you can do with a computer, but its
not as easy as you might expect!
These next few lectures focus on addition, subtraction, multiplication
and arithmetic-logic units, or ALUs, which are the h

Negative Numbers and Subtraction
The adders we designed can add only non-negative numbers
If we can represent negative numbers, then subtraction is just
the ability to add two numbers (one of which may be negative).
Well look at three different ways of r

x
v
u
y
v
u
wy
wy
j
t
y
x
l
vu
x
x
m
x
x
u
m
y
y
x
o
i
w
t
j
t
q
v
x
v
x
m
t
y
t
j
y
y
w
j
t
iy
k
y
t
q
w
x
s
m
l
q
y
x
k
y
v
u
x
i
x
y o
w
y
y
t x
i
t
y
iy
r
x
n
x
x
y
x
p
t
w
w
y o
w
t
it
ij
t
w
r
e
y
j
wy
'x
t
l y
X'x
l
m
y
x
t x
y
'

The dual idea: products of sums
Just to keep you on your toes.
A product of sums (POS) expression contains:
Only AND (product) operations at the outermost level
Each term must be a sum of literals
f(x,y,z) = y (x + y + z) (x + z)
Product of sums express

From now on:
Combinatorial Circuits:
Study analyses and design of circuits made up of gates without
memory
Design components needed for a simple Computer
Sequential Circtuits:
Study basic memory elements
Study Ckts that can be designed using memory el

CS231: Computer Architecture I
Laxmikant Kale
Fall 2003
Course Objectives
To learn how to design digital (i.e. boolean) circuits
To Understand how a simple computer works
Its hardware components
What they are built from
How to design them
Also, how to

Multiplexers
For the rest of the day, well study multiplexers, which are just as
commonly used as the decoders we presented last time. Again,
These serve as examples for circuit analysis and modular design.
Multiplexers can implement arbitrary functions

K-map Summary
K-maps are an alternative to algebra for simplifying expressions.
The result is a minimal sum of products, which leads to a minimal
two-level circuit.
Its easy to handle dont-care conditions.
K-maps are really only good for manual simplif

Decoders
Next, well look at some commonly used circuits: decoders and
multiplexers.
These serve as examples of the circuit analysis and design
techniques from yesterday.
They can be used to implement arbitrary functions.
We are introduced to abstractio