COMPUTER
ORGANIZATION &
ARCHITECHTURE
CB320
Abstraction
Definition
Computer Organization and Architecture is the
study of internal working, structuring and
implementation of a computer system.
Computer Architecture is concerned with
structure and behaviour of various functional
modules of computer and how they interact to
provide processing needs of the user.
Computer Organization is concerned with the
way the hardware components are connected
together to form a computer system
Contd..
Computer Architecture helps us to understand
the functionalities of a system.
Architecture involves Logic (Instruction sets,
Addressing modes, Data types, Cache
optimization)
Computer Organization tells us how exactly all
the units in the system are arranged and
interconnected.
Organization involves Physical Components
(Circuit design, Adders, Signals, Peripherals)
Course Objectives
To learn
How computers work, basic principles
How computers are designed and built
Understanding the issues affecting modern
processors
(caches, pipelines, etc…)
Why do we study computer
organization and architecture?
The subject explores how machines are
designed, built, and operate.
Understanding to what low level instructions
your high level language program is translated
helps a lot to design efficient and elegant
programs.
knowing how the hardware operates makes
you a better coder.
Course Outcomes:
Improving software performance
Purchase a computer
Knowing how classical computer works help
in designing and building new computer.
Provide a solution with for an embedded
system
Contd…
When computing unit is embedded, memory
and other resources are limited.
Ex: Pacemaker, IoT , smart phones, robotics.
( because memory is not unbounded)
Building architecture : Structural design
( Civil Engg)
• Computer architecture : Circuit design
( Electronics/ CS Engg)
Chapter 1: Basics in Boolean logic and
Combinational / Sequential Circuits
Digital computer is a digital system that
performs various computational tasks
Involves learning digital logic gates and flip-
flops needed for the design of digital
systems.
“Digital” implies information is represented by
variables that take a limited number of
discrete values.
Contd..
Digital computers use binary number system,
which has two digits : 0 and 1.
Digital systems are said to be constructed by
using logic gates.
A Digital Logic Gate is an electronic circuit
implementing a Boolean function, a logical
operation performed on one or
more binary inputs that produces a single
binary output.
Each gate has a distinct graphic symbol
and its operation can be described by algeb-
raic expression.
• The input-output relationship of the binary
variables for each gate can be represented in
tabular form by a truth table.
Boolean Algebra
Boolean algebra was introduced by George
Boole
-Deals with binary variables (A, B, x, y,1/0) and
logic operations (AND, OR, NOT…).
Boolean Function variable + operation
Ex: F(x, y, z) = x + y`z
Purpose of Boolean Algebra
To facilitate the analysis and design of digital
circuit
Using Boolean algebra rules simpler circuits
Can be designed for the same function
Boolean Algebra Rule :
Operation with 0 and 1:
x+0=x,x+1=1,x•1=x,x•0=0
Idempotent Law: x + x =x , x • x = x
Complementary Law: x + x' = 1 , x • x' = 0
Commutative Law: x + y = y + x , x • y = y • x
Associative Law: x + (y + z) = (x + y) + z ,
x • ( y • z) = (x • y) • z
Distributive Law: x • ( y+ z) = (x • y) + (x • z) ,
x + (y • z) = (x + y) • (x + z)
DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’
Q) F= AB’ + C’D + AB’ + C’D
= x + x (let x= AB’ + C’D)
=x
= AB’ + C’D
Q)F= ABC + ABC’ + A’C
= AB(C + C’) + A’C
= AB + A’C
Q2) Draw a logic circuit for (A + B)(C + D)C
Combination Circuit
connected arrangement of logic gates with set of inputs and outputs.
Combinational circuit produces an output based on input variable only.
They are time independent circuits which do not depends upon previous
inputs to generate any output are termed.
Half Adder
A combinational circuit performs addition of
two bits is called a half adder.
Three bits( two significant bits and a previous
carry ) is called a full adder.
Input to half adder augend and addend
Output is sum and carry
Contd…
S= A`B+BA’
C=AB
S=A ⊕B
C=AB
Full Adder
3 inputs ( two significant bits and a carry bit)
and 2 outputs
S= A ⊕B ⊕C
C=AB + (A ⊕B)C
Flip Flop
Flip-flop is a circuit that maintains a state until
directed by input to change the state.
Bi-stable device capable of storing one bit of
data , 2 outputs one for normal and another
for complement.
They fundamental building blocks of digital
electronics systems used in computers,
communications, and many other types of
systems
Build using NAND or NOR gates.
Common types: SR ("set reset"), D ("data" or
"delay"), T ("toggle"), and JK (Jack/King)
Flip-flops can be either simple (transparent or
asynchronous) or clocked (synchronous).
clocked ones are described as flip-flops while
simple ones are latches
Clocked devices are specially designed for
synchronous systems; such devices ignore their
inputs except at the transition of a dedicated
clock signal (known as clocking, pulsing, or
strobing).
Sequential Circuit
Sequential circuit produces an output based on current input and
previous input variables.
That means sequential circuits include memory elements which are
capable of storing binary information
Combination Sequential
In this output depends only upon In this output depends upon present
present input. as well as past input.
It is designed easy. It is designed tough as compared to
combinational circuits.
There is no feedback between input
and output. There exists a feedback path
between input and output.
This is time independent.
This is time dependent.
Elementary building blocks: Logic
gates Elementary building blocks: Flip-
flops
Used for arithmetic as well as
boolean operations. Mainly used for storing data.
.
Examples – Encoder, Decoder,
Multiplexer, Demultiplexer Examples – Flip-flops, Counters