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

Lect04-1 6-1 7-1 8

The document discusses number representation systems for digital logic, including 2's complement, binary coded decimal, Gray code, and ASCII. It also covers data storage in binary registers and the transfer of data between registers using digital logic circuits. Looking ahead, it previews building logic circuits in the next lecture.
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)
18 views16 pages

Lect04-1 6-1 7-1 8

The document discusses number representation systems for digital logic, including 2's complement, binary coded decimal, Gray code, and ASCII. It also covers data storage in binary registers and the transfer of data between registers using digital logic circuits. Looking ahead, it previews building logic circuits in the next lecture.
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
You are on page 1/ 16

Digital Logic Design

Course Code: 23162201-4

Lecture 4

Number Codes and Registers

ENGIN112 L4: Number Codes and Registers


Overview

° 2’s complement numbers


• Addition and subtraction

° Binary coded decimal


° Gray codes for binary numbers
° ASCII characters
° Moving towards hardware
• Storing data
• Processing data

ENGIN112 L4: Number Codes and Registers


2’s Complement Subtraction

° 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…


0 1 1 0 1
carry + 1 1 0 1 1
--------------
1 0 1 0 0 0
° Discarding the carry bit, the sign bit is seen to be
zero, indicating a correct result.
° Numbers in hexadecimal

ENGIN112 L4: Number Codes and Registers


2’s Complement Subtraction

° 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.
° Numbers in hexadecimal

ENGIN112 L4: Number Codes and Registers


Binary Coded Decimal
Digit BCD Digit BCD
Code Code
0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001

° Binary coded decimal (BCD) represents each decimal


digit with four bits
• Ex. 0011 0010 1001 = 32910
3 2 9

° This is NOT the same as 0011001010012


° Why do this? Because people think in decimal.

ENGIN112 L4: Number Codes and Registers


Putting It All Together

° BCD not very efficient


° Used in early
computers (40s, 50s)
° Used to encode
numbers for seven-
segment displays.
° Easier to read?

ENGIN112 L4: Number Codes and Registers


Gray Code
Digit Binary Gray
Code ° Gray code is not a number
0 0000 0000 system.
1 0001 0001 • It is an alternate way to represent
2 0010 0011 four bit data
3 0011 0010
4 0100 0110 ° Only one bit changes from
5 0101 0111
one decimal digit to the next
6 0110 0101 ° Useful for reducing errors in
7 0111 0100 communication.
8 1000 1100
9 1001 1101 ° Can be scaled to larger
numbers.
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
ENGIN112 L4: Number Codes and Registers
ASCII Code

° American Standard Code for Information


Interchange
° ASCII is a 7-bit code, frequently used with an 8th 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

ENGIN112 L4: Number Codes and Registers
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?
ENGIN112 L4: Number Codes and Registers
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
1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1
 
Added even parity bit Added odd parity bit

ENGIN112 L4: Number Codes and Registers


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

ENGIN112 L4: Number Codes and Registers


Binary Data Storage

• Binary cells store individual bits of data


• Multiple cells form a register.
• Data in registers can indicate different values
• Hex (decimal)
• BCD
• ASCII

0 0 1 0 1 0 1 1

Binary Cell

ENGIN112 L4: Number Codes and Registers


Register Transfer

° Data can move from register to register.


° Digital logic used to process data
° We will learn to design this logic

Register A Register B

Digital Logic
Circuits

Register C

ENGIN112 L4: Number Codes and Registers


Transfer of Information

° Data input at keyboard


° Shifted into place
° Stored in memory

NOTE: Data input in ASCII

ENGIN112 L4: Number Codes and Registers


Building a Computer
° We need processing
° We need storage
° We need communication

° You will learn to use and


design these components.

ENGIN112 L4: Number Codes and Registers


Summary

° Although 2’s complement most important, other


number codes exist
° ASCII code used to represent characters (including
those on the keyboard)
° Registers store binary data
° Next time: Building logic circuits!

ENGIN112 L4: Number Codes and Registers

You might also like