0% found this document useful (0 votes)
39 views

Digitalelectronics

Digital systems consider discrete amounts of data like letters and numbers. Computers operate using binary values of 0 and 1 which can be easily represented electrically. A digital computer has a basic organization including combinational and sequential logic systems.

Uploaded by

madhuri
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Digitalelectronics

Digital systems consider discrete amounts of data like letters and numbers. Computers operate using binary values of 0 and 1 which can be easily represented electrically. A digital computer has a basic organization including combinational and sequential logic systems.

Uploaded by

madhuri
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 63

DIGITAL ELECTRONICS

Dr.M.MANIKANDAN
Associate Professor
Department of Electronics and
Engg.
MIT- Campus
Anna University
PART-1

NUMBER SYSTEMS
Digital Computer Systems
• Digital systems consider discrete amounts of data.
• Examples
26 letters in the alphabet
10 decimal digits
• Larger quantities can be built from discrete values:
Words made of letters
Numbers made of decimal digits (e.g. 239875.32)
• Computers operate on binary values (0 and 1)
• Easy to represent binary values electrically
Voltages and currents.
Can be implemented using circuits
Create the building blocks of modern computers
A basic organization of a digital
computer
Types of Systems
• With no state present
– Combinational logic system
– Output = Function (Input)
• With state present
– State updated at discrete times

(e.g. once per clock tick)


Synchronous sequential system
– State updated at any time
Asynchronous sequential system
Example : Digital Counter
(e.g., Odometer)
UP 0 0 1 3 5 6 4
RESET

• Inputs : Count Up, Reset


• Outputs : Visual Display
• State : “Value of stored digits
• Is this system synchronous or
asynchronous?
Understanding Decimal Numbers
• Decimal numbers are made of decimal
digits: (0,1,2,3,4,5,6,7,8,9)
• But how many items does a decimal
number represent?
8653 = 8x103 + 6x102 + 5x101 + 3x100
• What about fractions?
97654.35 = 9x104 + 7x103 + 6x102 + 5x101
+
4x100 + 3x10-1 + 5x10-2
In formal notation -> (97654.35)10
• Why do we use 10 digits, anyway?
Understanding Octal Numbers
• Octal numbers are made of octal digits:
(0,1,2,3,4,5,6,7)
• How many items does an octal number
represent?
(4536)8 = 4x83 + 5x82 + 3x81 + 6x80 = (1362)10
• What about fractions?
(465.27)8 = 4x82 + 6x81 + 5x80 + 2x8-1 + 7x8-2
• Octal numbers don’t use digits 8 or 9
• Who would use octal number, anyway?
Understanding Binary Numbers
• Binary numbers are made of binary digits
(bits):
0 and 1
• How many items does an binary number
represent?
(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10
• What about fractions?
(110.10)2 = 1x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2
• Groups of eight bits are called a byte
(11001001) 2
• Groups of four bits are called a nibble.
(1101) 2
Why Use Binary Numbers?
• Easy to represent 0 and 1
using electrical values.
• Possible to tolerate noise.
• Easy to transmit data
• Easy to build binary
circuits.

AND Gate

1 0
0
Conversion Between Number Bases

Octal(base 8)

Decimal(base 10) Binary(base 2)

Hexadecimal
(base16)
• Learn to convert between
bases.
• Already demonstrated how to
convert from binary to decimal.
• Hexadecimal described in next
lecture.
Converting Binary to Decimal

• To Convert to decimal, use decimal


arithmetic to sum the weighted powers of
two:
• Converting 110102 to N10:
N10 = 1 x 24 x 1x 23 + 0 x 22 + 21 + 0 + 20
= 26
Gray Code Digit Binary Gray Code
0 0000 0000
1 0001 0001
• Gray code is not a
2 0010 0011
number system. 3 0011 0010
• It is an alternate 4 0100 0110
5 0101 0111
way to represent four
6 0110 0101
bit data 7 0111 0100
• Only one bit changes 8 1000 1100
9 1001 1101
from one decimal digit to
10 1010 1111
the next 11 1011 1110
• Useful for reducing errors 12 1100 1010

in communication. 13 1101 1011


14 1110 1001
• Can be scaled to larger 15 1111 1000
numbers.
Binary Arithmetic

•Single Bit Addition with Carry


•Multiple Bit Addition
•Single Bit Subtraction with Borrow
•Multiple Bit Subtraction
•Multiplication
•BCD Addition
Binary Addition
• Binary addition is very simple.
• This is best shown in an example of
adding two binary numbers…
1 1 1 1 1 1 carries
1 1 1 1 0 1
+ 1 0 1 1 1
------------------
1 0 1 0 1 0 0
Binary Subtraction
• We can also perform subtraction (with
borrows in place of carries).

• Let’s subtract (10111)2 from (1001101)2…

1 10 borrows
0 10 10 0 0 10

1 0 0 1 1 0 1
- 1 0 1 1 1
------------------------
1 1 0 1 1 0
Binary Multiplication
• Binary multiplication is much the
same as decimal multiplication,
except that the multiplication
operations are much simpler…
1 0 1 1 1
X 1 0 1 0
-----------------------
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1
-----------------------
1 1 1 0 0 1 1 0
Parity Codes
• Parity codes are formed by concatenating
a parity bit, P to each code word of C.
• In an odd-parity code, the parity bit is
specified so that the total number of ones
is odd.
• In an even-parity code, the parity bit is
specified so that the total number of ones
is even.
P Information Bits
11000011 01000011
 
Added even parity bit Added odd parity bit
Parity Code Example
• Concatenate a parity bit to the ASCII code for
the characters 0, X, and = to produce both
odd-parity and even-parity codes.

Character ASCII Odd-Parity Even-Parity


ASCII ASCII
0 0110000 10110000 00110000

X 1011000 01011000 11011000

= 0111100 10111100 00111100


ASCII Code
• American Standard Code for Information
Interchange
• ASCII is a 7-bit code, frequently used with an 8 th
bit for error detection (more about that in a bit).

Character ASCII (bin) ASCII (hex) Decimal Octal


A 1000001 41 65 101
B 1000010 42 66 102
C 1000011 43 67 103

Z
a

1

ASCII Codes and Data Transmission

• ASCII Codes
• A – Z (26 codes), a – z (26 codes)
• 0-9 (10 codes), others (@#$%^&*….)
• Complete listing in Mano text
• Transmission susceptible to noise
• Typical transmission rates (1500 Kbps, 56.6 Kbps)
• How to keep data transmission accurate?
Overview
• Hexadecimal numbers
• Related to binary and octal numbers
• Conversion between hexadecimal, octal
and binary
• Value ranges of numbers
• Representing positive and negative
numbers
• Creating the complement of a number
• Make a positive number negative (and
vice versa)
• Why binary?
Understanding Binary Numbers
• Binary numbers are made of binary digits
(bits):
0 and 1
• How many items does an binary number
represent?
(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10
• What about fractions?
(110.10)2 = 1x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2
• Groups of eight bits are called a byte
(11001001) 2
• Groups of four bits are called a nibble.
(1101)
Understanding Hexadecimal Numbers
• Hexadecimal numbers are made of 16 digits:
(0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F)
• How many items does an hex number represent?
(3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = 1499910
• What about fractions?
(2D3.5)16 = 2x162 + 13x161 + 3x160 + 5x16-1 =
723.312510
• Note that each hexadecimal digit can be represented
with four bits.
(1110) 2 = (E)16
• Groups of four bits are called a nibble.
(1110) 2
Putting It All Together
• Binary, octal, and
hexadecimal similar
• Easy to build circuits
to operate on these
representations
• Possible to convert
between the three
formats
Converting Between Base 16 and Base 2

3A9F16 = 0011 1010 1001 11112


3 A 9 F

• Conversion is easy!
• Determine 4-bit value for each hex digit
• Note that there are 24 = 16 different values of
four bits
• Easier to read and write in hexadecimal.
• Representations are equivalent!
Converting Between Base 16 and Base 8

3A9F16 = 0011 1010 1001 11112


3 A 9 F

352378 = 011 101 010 011 1112


3 5 2 3 7

1. Convert from Base 16 to Base 2


2. Regroup bits into groups of three starting from
right
3. Ignore leading zeros
4. Each group of three bits forms an octal digit.
How To Represent Signed Numbers
• Plus and minus sign used for decimal numbers: 25
(or +25), -16, etc.
• For computers, desirable to represent everything as
bits.
• Three types of signed binary number
representations : signed magnitude, 1’s complement,
2’s complement.
• In each case: left-most bit indicates sign: positive (0)
or negative (1).
000011002 = 1210 100011002 = -1210

Sign bit Magnitude Sign bit Magnitude


One’s Complement Representation
• The one’s complement of a binary number involves
inverting all bits.
• 1’s comp of 00110011 is 11001100
• 1’s comp of 10101010 is 01010101
• For an n bit number N the 1’s complement is (2n-1) – N.
• Called diminished radix complement by Mano since 1’s
complement for base (radix 2).
• To find negative of 1’s complement number take the
1’s complement.

000011002 = 1210 111100112 = -1210

Sign bit Magnitude Sign bit Magnitude


Two’s Complement Representation
• The two’s complement of a binary number involves
inverting all bits and adding 1.
• 2’s comp of 00110011 is 11001101
• 2’s comp of 10101010 is 01010110
• For an n bit number N the 2’s complement is (2n-1)
– N + 1.
• Called radix complement by Mano since 2’s
complement for base (radix 2).
• To find negative of 2’s complement number take
the 2’s complement.

000011002 = 1210 111101002 = -1210

Sign bit Magnitude Sign bit Magnitude


Two’s Complement Shortcuts
• Algorithm 1 – Simply complement each bit and then
add 1 to the result.
Finding the 2’s complement of (01100101)2 and of its
2’s complement…
N = 01100101 [N] = 10011011
10011010 01100100
+ 1 + 1
--------------- ---------------
10011011 01100101
• Algorithm 2 – Starting with the least significant bit,
copy all of the bits up to and including the first 1 bit
and then complementing the remaining bits.
N =01100101
[N] =10011011
Finite Number Representation
• Machines that use 2’s complement arithmetic
can represent integers in the range
-2n-1 <= N <= 2n-1-1
where n is the number of bits available for
representing N. Note that 2n-1-1 = (011..11)2
and –2n-1 = (100..00)2

• For 2’s complement more negative numbers


than positive.
• For 1’s complement two representations for
zero.
• For an n bit number in base (radix) z there are zn
different unsigned values.
(0, 1, …zn-1)
1’s Complement Addition
• Using 1’s complement numbers, adding
numbers is easy.
• For example, suppose we wish to add
+(1100)2 and +(0001)2.
• Let’s compute (12)10 + (1)10.
(12)10 = +(1100)2 = 011002 in 1’s comp.
(1)10 = +(0001)2 = 000012 in 1’s comp.
0 1 1 0 0
+ 0 0 0 01
--------------
Step 1: Add binary numbers
Step 2: Add carry to low-order bit 0 0 1 1 0 1
Add carry 0
--------------
Final
Result
0 1 1 0 1
1’s Complement Subtraction
• Using 1’s complement numbers, subtracting numbers is
also easy.
• For example, suppose we wish to subtract +(0001)2 from
+(1100)2.
• Let’s compute (12)10 - (1)10.
(12)10 = +(1100)2 = 011002 in 1’s comp.
(-1)10 = -(0001)2 = 111102 in 1’s comp. 0 1 1 0 0
- 0 0 0 0 1
--------------
1’s comp
Step 1: Take 1’s complement of 2nd Add
operand 0 1 1 0 0
Step 2: Add binary numbers + 1 1 1 1 0
Step 3: Add carry to low order bit Add carry --------------
1 0 1 0 1 0
1
Final --------------
Result 0 1 0 1 1
2’s Complement Addition
• Using 2’s complement numbers, adding numbers is
easy.
• For example, suppose we wish to add +(1100)2 and
+(0001)2.
• Let’s compute (12)10 + (1)10.
(12)10 = +(1100)2 = 011002 in 2’s comp.
(1)10 = +(0001)2 = 000012 in 2’s comp.
0 1 1 0 0
Add
+ 0 0 0 0 1
----------------
Step 1: Add binary numbers
Final 0 01101
Result
Step 2: Ignore carry bit
Ignore
2’s Complement Subtraction
• Using 2’s complement numbers, follow steps for
subtraction
• For example, suppose we wish to subtract +(0001) 2
from +(1100)2.
• Let’s compute (12)10 - (1)10.
(12)10 = +(1100)2 = 011002 in 2’s comp.
(-1)10 = -(0001)2 = 111112 in 2’s comp. 0 1 1 0 0
- 0 0 0 0 1
-----------------------
2’s comp
0 1 1 0 0
Step 1: Take 2’s complement of 2 nd
operand
Step 2: Add binary numbers
Add + 1 1 1 1 1
Step 3: Ignore carry bit -------------------------
Final
Result 1 01011
Ignore
Carry
2’s Complement Subtraction:
Example # 2
• Let’s compute (13)10 – (5)10.
(13)10 = +(1101)2 = (01101)2
(-5)10 = -(0101)2 = (11011)2
• Adding these two 5-bit codes…
01101
carry + 11011
--------------
1 01000

• Discarding the carry bit, the sign bit is seen to be


zero, indicating a correct result. Indeed,
(01000)2 = +(1000)2 = +(8)10.
2’s Complement Subtraction:
Example #3
• Let’s compute (5)10 – (12)10.
(-12)10 = -(1100)2 = (10100)2
(5)10 = +(0101)2 = (00101)2
• Adding these two 5-bit codes…
0 0 1 0 1
+ 1 0 1 0 0
----------------
1 1 0 0 1

• Here, there is no carry bit and the sign bit is


1. This indicates a negative result, which is
what we expect. (11001)2 = -(7)10.

You might also like