211 Unit 1
211 Unit 1
1
Unit 1 : Basics of Digital Electronics
Introduction
Logic Gates
Flip Flops
Decoder
Encoder
Multiplexers
Demultiplexer
2
Basic Terms
• Digital
• Digital Computers
• Storage?
• Base- Decimal, Binary
• Instruction
• Program
9/7/2023
4
What are the components of
Computers?
9/7/2023
Basic Organization of a Computer
9/7/2023
7
8
Computer Organization and Architecture lets
you know how exactly each instruction is
executed at the micro level. The data flow,
timing analysis, memory hierarchy, trade offs
between execution cycles, hardware
requirements/costs, software-hardware trade-
offs can be known.
9/7/2023
• Computer Organization : It is concerned with the
way hardware components operate and the way they
are connected together to form a computer system.
• Computer Architecture : It is concerned with the
structure and behavior of the computer as seen by
the user. It includes the information, formats, the
instruction set, and techniques for addressing
memory.
• Computer Design : It is concerned with the hardware
design of the computer. Computer design is
concerned with the determination of what hardware
should be used and how the parts should be
connected.
9/7/2023
Computer Organization
9/7/2023
Instruction set architecture
• the instruction set architecture refers to what the
programmer sees as the machine's instruction set.
The instruction set is the boundary between the
hardware and the software, and most of the
decisions concerning the instruction set affect the
hardware, and the converse is also true, many
hardware decisions may beneficially/adversely affect
the instruction set.
9/7/2023
Structure & Function
• Structure is the way in which components
relate to each other
• Function is the operation of individual
components as part of the structure
9/7/2023
15
16
17
Question
• The output X of X-OR gate is high when
1. A=1 , B=1
2. A=0 , B=1
3. A=0 , B=0
4. A=1 , B=0
5. 2nd and 4th both
6. None of these
18
Integrated Circuits
19
Combinational Circuits
• No feedback paths
• No memory
• Combinational circuit is a connected arrangement of logic gates with set of
inputs and outputs.
• Binary values of outputs are a function of binary combination of inputs.
• Output is independent of time and depends only on the present input.
• Examples are half Adder, Full adder, Encoder, Decoder, Multiplexer, De-
multiplexer.
20
Sequential Circuits
• Feedback paths exist( the key to processing past and present
information of an input sequence.)
• Memory present
• 2 Types- Synchronous and Asynchronous
• Synchronous sequential circuits employ signals that effect
storage elements only at discrete instants of time.
• Synchronization is achieved with help of device called clock.
• Output depends not only on present input but also on the
past output.
• Examples are Flip-flop, register, counter.
21
Sequential Circuits
22
Question
• Sequential circuits have which of the following
signal?
– Inputs
– Outputs
– Feedback
– All of above
23
Question
• Combinational circuits don’t have which of the
following signal?
– Inputs
– Outputs
– Feedback
– All of above
24
25
26
27
28
CSE211
1
Unit 1 : Basics of Digital Electronics
Introduction
Logic Gates
Flip Flops
Decoder
Encoder
Multiplexers
Demultiplexer
Registers
2
Half Adder
• A combinational circuit that performs the arithmetic addition of two bits is
called a half-adder.
• Two input variables used.
• The output variables are Sum and Carry.
• The variable S represents the least significant bit of the sum.
• The C output is 0 unless both the inputs are 1.
3
Half Adder
4
Full Adder
• A combinational circuit that performs the arithmetic addition of three bits
is called a full-adder.
• Two half-adders are needed to implement a full-adder.
• Three input variables used.
• The output variables are Sum and Carry.
• The variable S represents the least significant bit of the sum.
• The binary variable C gives the output carry.
5
Full Adder
6
7
8
9
10
11
Applications of multiplexer
• Data Routing
• Parallel to Serial Conversion
• Logic Function Generation
12
A Demultiplexer, sometimes abbreviated DMUX is a circuit that has
one input and more than one output. It is used when a circuit wishes
to send a signal to one of many devices
13
14
When the load input is 1 , the
data in the four inputs are
transferred into the register with
the next positive transition of a
clock pulse
15
16
17
18
19
Register Transfer and Micro-operations
Overview
➢ Register Transfer
➢ Logic Micro-operations
➢ Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 2
CSE 211
Register Transfer and Micro-operations 3
CSE 211
Register Transfer and Micro-operations 4
➢ For any function of the computer, the register transfer language can be
used to describe the (sequence of) micro-operations
CSE 211
Register Transfer and Micro-operations 5
MAR
CSE 211
Register Transfer and Micro-operations 6
• Designation of a register
- a register
- portion of a register
- a bit of a register
15 0 15 8 7 0
R2 PC(H) PC(L)
Numbering of bits Subfields
CSE 211
Register Transfer and Micro-operations 7
R2 R1
CSE 211
Register Transfer and Micro-operations 8
R3 R5
– the data lines from the source register (R5) to the destination
register (R3)
– Parallel load in the destination register (R3)
– Control lines to perform the action
CSE 211
Register Transfer and Micro-operations 9
Control Functions
P: R2 R1
CSE 211
Register Transfer and Micro-operations 10
Load
Transfer occurs here
➢ The same clock controls the circuits that generate the control function and the
destination register
➢ Registers are assumed to use positive-edge-triggered flip-flops
CSE 211
Register Transfer and Micro-operations 11
CSE 211
Register Transfer and Micro-operations 1
Overview
➢ Register Transfer
➢ Logic Micro-operations
➢ Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 2
➢ BUS STRUCTURE CONSISTS OF SET OF COMMON LINES, ONE FOR EACH BIT
OF A REGISTER THROUGH WHICH BINARY INFORMATION IS TRANSFERRED
ONE AT A TIME
➢ Have control circuits to select which register is the source, and which is the
destination
CSE 211
Register Transfer and Micro-operations 3
CSE 211
Register Transfer and Micro-operations 4
CSE 211
Register Transfer and Micro-operations 5
MUX
CSE 211
Register Transfer and Micro-operations 6
CSE 211
Register Transfer and Micro-operations 7
CSE 211
Register Transfer and Micro-operations 8
CSE 211
Register Transfer and Micro-operations 9
Memory - RAM
➢ Memory (RAM) can be thought as a sequential circuits containing
some number of registers
➢ Memory stores binary information in groups of bits called words
➢ These registers hold the words of memory
➢ Each of the r registers is indicated by an address
➢ These addresses range from 0 to r-1
➢ Each register (word) can hold n bits of data
➢ Assume the RAM contains r = 2k words. It needs the following
data input lines
1. n data input lines
2. n data output lines n
Memory Transfer
Memory is usually accessed in computer systems by putting the desired
address in a special register, the Memory Address Register (MAR, or AR)
M
Memory Read
AR
unit Write
CSE 211
Register Transfer and Micro-operations 11
Memory Read
R1 M[MAR]
CSE 211
Register Transfer and Micro-operations 12
Memory Write
M[MAR] R1
CSE 211
Register Transfer and Micro-operations 13
MICROOPERATIONS
CSE 211
Register Transfer and Micro-operations 14
CSE 211
Register Transfer and Micro-operations 15
Arithmetic MICROOPERATIONS
• The basic arithmetic microoperations are
– Addition
– Subtraction
– Increment
– Decrement
CSE 211
Register Transfer and Micro-operations 1
Overview
➢ Register Transfer
➢ Arithmetic Micro-operations
➢ Logic Micro-operations
➢ Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 2
MICROOPERATIONS
CSE 211
Register Transfer and Micro-operations 3
Arithmetic MICROOPERATIONS
• The basic arithmetic microoperations are
– Addition
– Subtraction
– Increment
– Decrement
CSE 211
Register Transfer and Micro-operations 4
Binary Adder
CSE 211
Register Transfer and Micro-operations 5
Binary Adder-Subtractor
Binary Adder-Subtractor
B3 A3 B2 A2 B1 A1 B0 A0
FA C3 FA C2 FA C1 FA C0
C4 S3 S2 S1 S0
CSE 211
Register Transfer and Micro-operations 6
Binary Incrementer
Binary Incrementer
A3 A2 A1 A0 1
x y x y x y x y
HA HA HA HA
C S C S C S C S
C4 S3 S2 S1 S0
CSE 211
Register Transfer and Micro-operations 7
Arithmetic Circuits
Cin
S1
S0
A0 X0 C0
S1 D0
S0
Y0
FAC1
B0 0
1 4x1
2
3
MUX
A1 X1 C1
S1 D1
S0 FA
B1 0 Y1 C2
1 4x1
2
3
MUX
A2 X2 C2
S1 D2
S0 FA
B2 0 Y2 C3
1 4x1
2
3
MUX
A3 X3 C3
S1 D3
S0 FA
B3 0 Y3 C4
1 4x1
2
3
MUX Cout
0 1
CSE 211
Register Transfer and Micro-operations 1
Overview
➢ Register Transfer
➢ Arithmetic Micro-operations
➢ Logic Micro-operations
➢ Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 2
CSE 211
Register Transfer and Micro-operations 3
Logic Microoperations
CSE 211
Register Transfer and Micro-operations 4
Hardware Implementation
Ai
0
Bi
1
4X1 Fi
MUX
2
3 Select
S1
S0
Function table
S1 S0 Output -operation
0 0 F=AB AND
0 1 F=AB OR
1 0 F=AB XOR
1 1 F = A’ Complement
CSE 211
Register Transfer and Micro-operations 5
➢ Selective-set AA+B
➢ Selective-complement AAB
➢ Selective-clear A A • B’
➢ Mask (Delete) AA•B
➢ Clear AAB
➢ Insert A (A • B) + C
➢ Compare AAB
CSE 211
Register Transfer and Micro-operations 6
1 1 0 0 At
1010 B
1 1 1 0 At+1 (A A + B)
0 1 1 0 At+1 (A A B)
If a bit in B is set to 1, that same position in A gets complemented from its
original value, otherwise it is unchanged
CSE 211
Register Transfer and Micro-operations 7
0 1 0 0 At+1 (A A B’)
If a bit in B is set to 1, that same position in A gets set to 0, otherwise it is
unchanged
4. In a mask operation, the bit pattern in B is used to clear certain bits in A
1 1 0 0 At
1010 B
1 0 0 0 At+1 (A A B)
CSE 211
Register Transfer and Micro-operations 8
0 1 1 0 At+1 (A A B)
CSE 211
Register Transfer and Micro-operations 9
CSE 211
Question
• Register A:1100 Register B:1010 After applying
Selective-Complement on the given data,
value of register A is:
– 1001
– 0111
– 1000
– 0110
Register Transfer and Micro-operations 11
Shift Microoperations
• There are three types of shifts
– Logical shift
– Circular shift
– Arithmetic shift
• What differentiates them is the information that goes into the serial input
Serial
input
CSE 211
Register Transfer and Micro-operations 12
Logical Shift
• In a logical shift the serial input to the shift is a 0.
Circular Shift
• In a circular shift the serial input is the bit that is shifted out of the other
end of the register.
CSE 211
Register Transfer and Micro-operations 15
Arithmetic Shift
• An arithmetic shift is meant for signed binary numbers (integer)
• An arithmetic left shift multiplies a signed number by two
• An arithmetic right shift divides a signed number by two
• Sign bit : 0 for positive and 1 for negative
• The main distinction of an arithmetic shift is that it must keep the sign of
the number the same as it performs the multiplication or division
sign
bit
CSE 211
Register Transfer and Micro-operations 16
Arithmetic Shift
• An left arithmetic shift operation must be checked for the overflow
0
sign
bit
CSE 211
Question
• What is the effect on the output if ashr
operation is performed?
– Subtraction by 2
– Multiplication by 2
– Division by 2
– Addition by 2
Register Transfer and Micro-operations 18
CSE 211
Register Transfer and Micro-operations 19
E
Logic i
Bi
Circuit
A
i
shr
A
i-1
shl
A
i+1
CSE 211
Digital Logic Circuits 1 Introduction
Logic Gates
Boolean Algebra
Map Specification
Combinational Circuits
Flip-Flops
Sequential Circuits
Memory Components
Integrated Circuits
LOGIC GATES
Digital Computers
- Imply that the computer deals with digital information, i.e., it deals
with the information that is represented by binary digits
- Why BINARY ? instead of Decimal or other number system ?
1 7
6
5 signal
4
3 range
2
0 1
0
binary octal
0 1 2 3 4 5 6 7 8 9
* Consider the calculation cost - Add 0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
0 1 2 2 3 4 5 6 7 8 9 1011
3 3 4 5 6 7 8 9 101112
0 0 1 4 4 5 6 7 8 9 10111213
1 1 10 5
6
5 6 7 8 9 1011121314
6 7 8 9 101112131415
7 7 8 9 10111213141516
8 8 9 1011121314151617
9 9 101112131415161718
Binary Binary
Digital Digital
. Gate Output
Input .
Signal . Signal
- Truth Table
- Boolean Function
- Karnaugh Map
Computer Organization Computer Architectures Lab
Digital Logic Circuits 4 Logic Gates
COMBINATIONAL GATES
Name Symbol Function Truth Table
A B X
A X=A•B 0 0 0
AND B
X or
X = AB
0
1
1
0
0
0
1 1 1
A B X
A 0 0 0
OR X X=A+B 0 1 1
B 1 0 1
1 1 1
A X
I A X X = A’ 0
1
1
0
A X
Buffer A X X=A 0 0
1 1
A B X
A 0 0 1
NAND X X = (AB)’ 0
1
1
0
1
1
B 1 1 0
A B X
A 0 0 1
NOR X X = (A + B)’ 0
1
1
0
0
0
B 1 1 0
A B X
A X=AB
XOR X or 0 0 0
Exclusive OR 0 1 1
B X = A’B + AB’ 1 0 1
1 1 0
A B X
A X = (A B)’
XNOR X or
0
0
0
1
1
0
Exclusive NOR
or Equivalence B X = A’B’+ AB 1 0 0
1 1 1
BOOLEAN ALGEBRA
Boolean Algebra
Truth Table
- Table that describes the Output Values for all the combinations
of the Input Values, called MINTERMS
- n input variables → 2n minterms
Boolean F = x + y’z
Function
x
F
Logic y
Diagram
z
EQUIVALENT CIRCUITS
(2) A
B
C F
(3) A
B
F
C
COMPLEMENT OF FUNCTIONS
A Boolean function of a digital logic circuit is represented by only using
logical variables and AND, OR, and Invert operators.
A,B,...,Z,a,b,...,z A’,B’,...,Z’,a’,b’,...,z’
(p + q) (p + q)’
AND OR
OR AND
SIMPLIFICATION
Truth Boolean
Table Function
Unique Many different expressions exist
Simplification from Boolean function
Truth
Table
Simplified
Karnaugh Boolean
Map Function
Boolean
function
KARNAUGH MAP
Karnaugh Map for an n-input digital logic circuit (n-variable sum-of-products
form of Boolean Function, or Truth Table) is
- Rectangle divided into 2n cells
- Each cell is associated with a Minterm
- An output(function) value for each input value associated with a
mintern is written in the cell representing the minterm
→ 1-cell, 0-cell
1 0 1 1 1 1
F(x) = (1)
1-cell
x
x y F
y 0 1 x
0 0 0 0 0 1 y 0 1
0 1 1 0 0 1
1 0 1 1 2 3
1 1 1 1 1 0
F(x,y) = (1,2)
Computer Organization Computer Architectures Lab
Digital Logic Circuits 12 Map Simplification
KARNAUGH MAP
x y z F
0 0 0 0
yz y yz
0 0 1 1
0 1 0 1 x 00 01 11 10 x 00 01 11 10
0 1 1 0 0 0 1 3 2 0 0 1 0 1
1 0 0 1 x 1 4 5 7 6
1 0 1 0 1 1 0 0 0
1 1 0 0 z
1 1 1 0 F(x,y,z) = (1,2,4)
wx w
uv 00 01 11 10
u v w x F
0 0 0 0 0
0 0 0 1 1 00 0 1 3 2 v
0 0 1 0 0
0 0 1 1 1 01 4 5 7 6
0 1 0 0 0
u 11
12 13 15 14
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0 10 8 9 11 10
1
1
0
0
0
0
0
1
1
1
x
1 0 1 0 0 wx
1 0 1 1 1 uv 00 01 11 10
1 1 0 0 0 00 0 1 1 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0 01 0 0 0 1
11 0 0 0 1
10 1 1 1 0
F(u,v,w,x) = (1,3,6,8,9,11,14)
Computer Organization Computer Architectures Lab
Digital Logic Circuits 13 Map Simplification
F(x,y) = (2,3)
= xy’+ xy
=x
u’v’w’x’+u’v’w’x+u’vw’x’+u’vw’x+uvw’x’+uvw’x+uv’w’x’+uv’w’x
= u’v’w’(x’+x) + u’vw’(x’+x) + uvw’(x’+x) + uv’w’(x’+x)
= u’(v’+v)w’ + u(v’+v)w’
= (u’+u)w’ = w’
wx
uv w uv w V’
1 1 1 1 1 1
w’
1 1
v v
1 1 1 1 1 1
u u u
1 1 1 1 1 1
x x
MAP SIMPLIFICATION
wx
uv 00 01 11 10 w
00 1 1 0 1 1 1 0 1
01 0 0 0 0 0 0 0 0
v
11 0 1 1 0 0 1 1 0
10 0 1 0 0 u
0 1 0 0
x
F(u,v,w,x) = (0,1,2,9,13,15)
(0,1), (0,2), (0,4), (0,8) Merge (0,1) and (0,2)
Adjacent Cells of 1 --> u’v’w’ + u’v’x’
Adjacent Cells of 0 Merge (1,9)
(1,0), (1,3), (1,5), (1,9) --> v’w’x
... Merge (9,13)
... --> uw’x
Adjacent Cells of 15 Merge (13,15)
(15,7), (15,11), (15,13), (15,14) --> uvx
x’
y’ x
z’
x’ z
y F F
z’ y
x
y z
z’
I AND OR
F(x,y,z) = (0,2,6) y
F’ = xy’ + z
1 0 0 1 z
x 0 0 0 1 F = (xy’)z’
= (x’ + y)z’
x z
y’
x
y
F
z
I OR AND
x
F
y
z
Computer Organization Computer Architectures Lab
Digital Logic Circuits 19 Combinational Logic Circuits
MULTIPLEXER
4-to-1 Multiplexer
Select Output
S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3
I0
I1
Y
I2
I3
S0
S1
ENCODER/DECODER
Octal-to-Binary Encoder
D1 A0
D2
D3 A1
D4
D5 A2
D6
D7
2-to-4 Decoder
D0
E A1 A0 D0 D1 D2 D3 A0 D1
0 0 0 0 1 1 1
0 0 1 1 0 1 1 D2
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 d d 1 1 1 1 A1 D3
E
FLIP FLOPS
Characteristics
- 2 stable states
- Memory capability
- Operation is specified by a Characteristic Table
1 0 0 1
0 1 1 0
0-state 1-state
In order to be used in the computer circuits, state of the flip flop should
have input terminals and output terminals so that it can be set to a certain
state, and its state can be read externally.
R S R Q(t+1)
Q 0 0 Q(t)
0 1 0
1 0 1
S Q’ 1 1 indeterminate
(forbidden)
c
(clock)
S Q’
S Q S Q
c c
R Q’ R Q’
operates when operates when
clock is high clock is low
clr(clear)
S P Q S P Q
c c
R clr Q’ R clr Q’
S P Q S P Q
c c
R clr Q’ R clr Q’
D-LATCH
D-Latch
Forbidden input values are forced not to occur
by using an inverter between the inputs
D Q
Q
E E Q’
(enable)
Q’ D Q
D(data)
D Q(t+1) E Q’
0 0
1 1
Characteristics
- State transition occurs at the rising edge or
falling edge of the clock pulse
Latches
POSITIVE EDGE-TRIGGERED
D-Flip Flop
D S1 Q1 S2 Q2 Q D Q
SR1 SR2
C1 C2 D-FF
R1 Q1' R2 Q2' Q' C Q'
C
SR1 inactive
SR2 active
SR2 inactive SR2 inactive
SR1 active SR1 active
JK-Flip Flop
J S1 Q1 S2 Q2 Q J Q
SR1 SR2
C1 C2 C
K R1 Q1' R2 Q2' Q' K Q'
C
T-Flip Flop: JK-Flip Flop whose J and K inputs are tied together to make
T input. Toggles whenever there is a pulse on T input.
Computer Organization Computer Architectures Lab
Digital Logic Circuits 29 Flip Flops
CLOCK PERIOD
Clock period determines how fast the digital circuit operates.
How can we determine the clock period ?
Usually, digital circuits are sequential circuits which has some flip flops
FF FF ... FF
C
Combinational .
.
. Logic .
. Circuit .
Combinational
FF Logic FF
Circuit
FF Setup Time
FF Delay Combinational logic Delay FF Hold Time
td
ts,th
clock period T = td + ts + th
Computer Organization Computer Architectures Lab
Digital Logic Circuits 30 Sequential Circuits
DESIGN EXAMPLE
Design Procedure:
Specification State Diagram State Table
Excitation Table Karnaugh Map Circuit Diagram
Example: 2-bit Counter -> 2 FF's
x=0 current next
state input state FF inputs
00 A B x A B Ja Ka Jb Kb
x=1 x=1 0 0 0 0 0 0 d 0 d
0 0 1 0 1 0 d 1 d
x=0 01 11 x=0 0 1 0 0 1 0 d d 0
0 1 1 1 0 1 d d 1
x=1 1 0 0 1 0 d 0 0 d
x=1 1 0 1 1 1 d 0 1 d
10 1 1 0 1 1 d 0 d 0
x=0 1 1 1 0 0 d 1 d 1
B B B B
d d d d
1 d d x 1 d x d 1 x
x x
d d 1
A A A 1 d A
d 1 J Q A J Q B
d d d d C C
Ja Ka Jb Kb K Q' K Q'
clock
Ja = Bx Ka = Bx Jb = x Kb = x
Clock
I0 I1 I2 I3
Shift Registers
Serial Serial
D Q D Q D Q D Q Output
Input C C C C
Clock
Q Q Q Q
D C D C D C D C
A0 A1 A2 A3
Q Q Q Q
J K J K J K J K
Clock
Counter
Enable
Output
Carry
MEMORY COMPONENTS
0
Logical Organization
words
(byte, or n bytes)
N-1
Random Access Memory
k address lines
2k Words
Read (n bits/word)
Write
m x n ROM
(m=2k)
TYPES OF ROM
ROM
- Store information (function) during production
- Mask is used in the production process
- Unalterable
- Low cost for large quantity production --> used in the final products
INTEGRATED CIRCUITS