2. Topic 2(COLON) Data Representation and Encoding

Lesson 2.4: Logic In Computing And Compression

Official syllabus section covering Lesson 2.4: Logic in Computing and Compression within Topic 2: Data Representation and Encoding: How logic gates combine to build adders and memory elements (the qualitative path from gates to a CPU).; Data compression: lossless versus lossy and why each is used..

Lesson 2.4: Logic in Computing and Compression

Introduction

In this lesson, we will explore the fundamental role of logic in computing, focusing on how logic gates come together to form complex systems like adders and memory units. Additionally, we will dive into the concept of data compression, distinguishing between lossless and lossy methods, and examining specific techniques such as run-length encoding and dictionary-based compression. By the end of this lesson, you will understand how these elements combine to enhance the efficiency and functionality of computers.

Learning Objectives:

  • Understand how logic gates combine to build adders and memory elements.
  • Differentiate between lossless and lossy data compression.
  • Gain introductory knowledge in run-length and dictionary-based compression.
  • Learn about error detection using parity bits and checksums.
  • Explore how simple logic circuits contribute to arithmetic and memory functions in a computer.

Logic Gates and Their Role in Computing

What Are Logic Gates?

Logic gates are the fundamental building blocks of digital circuits. They are electronic devices that operate on one or more binary inputs to produce a single binary output. The basic logic gates are:

  • AND Gate: Outputs true (1) only if all inputs are true (1).
  • OR Gate: Outputs true (1) if at least one input is true (1).
  • NOT Gate: Outputs the inverse of the input (0 becomes 1, and 1 becomes 0).
  • NAND Gate: Outputs false (0) only if all inputs are true (1).
  • NOR Gate: Outputs true (1) only if all inputs are false (0).
  • XOR Gate: Outputs true (1) if the number of true inputs is odd.
  • XNOR Gate: Outputs true (1) if the number of true inputs is even.

Building Adders

One of the primary applications of logic gates is in the construction of adders, which are circuits that perform addition on binary numbers.

Half Adder

A half adder is a basic circuit that adds two single binary digits (bits). It has two inputs, A and B, and produces a sum $ S $ and a carry $ C $.

  • The formula for the sum is given by:

$$ S = A \oplus B $$

  • The formula for the carry is given by:

$$ C = A \cdot B $$

Example: Let's add binary digits $ A = 1 $ and $ B = 0 $:

  • The sum $ S = 1 \oplus 0 = 1 $
  • The carry $ C = 1 \cdot 0 = 0 $

Thus, the output is $ S = 1 $ and $ C = 0 $.

Full Adder

A full adder extends the half adder functionality by including three inputs: $ A, B $, and the carry-in $ C_{in} $. It provides the same output $ S $ and a new carry output $ C_{out} $.

  • The formulas are:

$$ S = A \oplus B \oplus C_{in} $$

$$ C_{out} = (A \cdot B) + (C_{in} \cdot (A \oplus B)) $$

Example: For $ A = 1, B = 1, C_{in} = 0 $:

  • The sum $ S = 1 \oplus 1 \oplus 0 = 0 $
  • The carry $ C_{out} = (1 \cdot 1) + (0 \cdot 0) = 1 $

Thus, the output becomes $ S = 0 $ and $ C_{out} = 1 $.

Memory Elements

Logic gates also lay the foundation for memory elements, such as flip-flops. Flip-flops are bistable devices, meaning they can be in one of two states, representing binary 0 or 1.

SR Flip-Flop

An SR flip-flop has two inputs (Set and Reset) and two outputs (Q and $ \overline{Q} $). It is used to store a single bit value:

  • If Set (S) is activated, it outputs Q = 1.
  • If Reset (R) is activated, it outputs Q = 0.

Truth Table:

SRQ$ \overline{Q} $
00Q$ \overline{Q} $
0101
1010
11InvalidInvalid

From the truth table, you can observe how the flip-flop maintains its state unless changed by the S or R inputs, demonstrating the logic necessary for memory storage in CPUs.

Data Compression Techniques

Data compression reduces the size of data to save space or transmission time. There are two main types: lossless and lossy.

Lossless Compression

Lossless compression allows data to be compressed and then perfectly reconstructed. It is often used for text files, executable files, and images where quality is essential.

  • Example Techniques:
  • Run-Length Encoding (RLE): This technique represents consecutive repeated characters in data. For instance, the string "AAAABBBCCDAA" could be compressed to "4A3B2C1D2A".
  • Dictionary-Based Compression: This system uses a dictionary of frequently occurring sequences of characters. For instance, the sequence "the" may be replaced by a single reference in the dictionary to save space.

Lossy Compression

Lossy compression, on the other hand, sacrifices some data quality for a higher reduction in size. It is typically used for multimedia data like audio, video, and images where perfect fidelity is less crucial.

  • Example Techniques:
  • JPEG for images reduces the file size by decreasing color information, which is less noticeable to the human eye.
  • MP3 for audio files compresses sound by removing frequencies that are less audible to humans.

Error Detection

In design and transmission, errors can occur, making error detection crucial in ensuring data integrity.

Parity Bits

A parity bit is an additional bit added to a binary string to ensure that the total number of 1-bits is either odd or even:

  • Even Parity: An even number of 1s will result in a parity bit of 0, while an odd number results in 1.
  • Example: For the binary number "1011001" (which has four 1s), the parity bit would be 0 to maintain even parity, making it "10110010".

Checksums

A checksum is a value calculated from data that helps verify its integrity. The sender computes the checksum and sends it alongside the data. The receiver recalculates the checksum and compares it to the received value:

  • If they match, the data is likely unchanged; otherwise, it has errors.

Conclusion

This lesson illustrated how logic gates construct fundamental computing elements like adders and memory units. We also explored data compression, providing insight into both lossless and lossy techniques, alongside methods for detecting errors. Understanding these essential components is critical to grasping how computers process and store information.

Study Notes

  • Logic gates form the basis for all digital circuits.
  • Half adders and full adders are used for binary addition.
  • Memory elements like flip-flops store binary information.
  • Lossless compression retains original data integrity, while lossy sacrifices some fidelity for size reduction.
  • Parity bits and checksums are important for error detection in data integrity.

Practice Quiz

5 questions to test your understanding