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

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates

The chapter discusses binary numbers, Boolean logic, and logic gates which are the basic building blocks of computers. It covers how computers represent information using binary digits, the logic operations of AND, OR, and NOT, and how logic gates physically implement these operations. The chapter also explains how more complex circuits can be designed by combining logic gates according to a sum-of-products algorithm to perform desired functions.

Uploaded by

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

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates

The chapter discusses binary numbers, Boolean logic, and logic gates which are the basic building blocks of computers. It covers how computers represent information using binary digits, the logic operations of AND, OR, and NOT, and how logic gates physically implement these operations. The chapter also explains how more complex circuits can be designed by combining logic gates according to a sum-of-products algorithm to perform desired functions.

Uploaded by

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

Chapter 4: The Building

Blocks: Binary Numbers,


Boolean Logic, and Gates
Invitation to Computer Science,
C++ Version, Third Edition
Objectives

In this chapter, you will learn about:

 The binary numbering system

 Boolean logic and gates

 Building computer circuits

 Control circuits

Invitation to Computer Science, C++ Version, Third Edition 2


Introduction

 Chapter 4 focuses on hardware design (also


called logic design)
 How to represent and store information inside a
computer
 How to use the principles of symbolic logic to
design gates
 How to use gates to construct circuits that perform
operations such as adding and comparing
numbers, and fetching instructions

Invitation to Computer Science, C++ Version, Third Edition 3


The Binary Numbering System

 A computer’s internal storage techniques are


different from the way people represent
information in daily lives

 Information inside a digital computer is stored as


a collection of binary data

Invitation to Computer Science, C++ Version, Third Edition 4


Binary Representation of Numeric and
Textual Information
 Binary numbering system
 Base-2
 Built from ones and zeros
 Each position is a power of 2
1101 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20
 Decimal numbering system
 Base-10
 Each position is a power of 10
3052 = 3 x 103 + 0 x 102 + 5 x 101 + 2 x 100

Invitation to Computer Science, C++ Version, Third Edition 5


Figure 4.2
Binary-to-Decimal
Conversion Table

Invitation to Computer Science, C++ Version, Third Edition 6


Binary Representation of Numeric and
Textual Information (continued)
 Representing integers
 Decimal integers are converted to binary integers

 Given k bits, the largest unsigned integer is


2k - 1
 Given 4 bits, the largest is 24-1 = 15

 Signed integers must also represent the sign


(positive or negative)

Invitation to Computer Science, C++ Version, Third Edition 7


Binary Representation of Numeric and
Textual Information (continued)
 Representing real numbers
 Real numbers may be put into binary scientific
notation: a x 2b
 Example: 101.11 x 20
 Number then normalized so that first significant
digit is immediately to the right of the binary point
 Example: .10111 x 23
 Mantissa and exponent then stored

Invitation to Computer Science, C++ Version, Third Edition 8


Binary Representation of Numeric and
Textual Information (continued)
 Characters are mapped onto binary numbers
 ASCII code set
 8 bits per character; 256 character codes
 UNICODE code set
 16 bits per character; 65,536 character codes

 Text strings are sequences of characters in


some encoding

Invitation to Computer Science, C++ Version, Third Edition 9


Binary Representation of Sound and
Images
 Multimedia data is sampled to store a digital
form, with or without detectable differences

 Representing sound data

 Sound data must be digitized for storage in a


computer

 Digitizing means periodic sampling of amplitude


values

Invitation to Computer Science, C++ Version, Third Edition 10


Binary Representation of Sound and
Images (continued)
 From samples, original sound may be
approximated

 To improve the approximation:

 Sample more frequently

 Use more bits for each sample value

Invitation to Computer Science, C++ Version, Third Edition 11


Figure 4.5
Digitization of an Analog
Signal

(a) Sampling the Original


Signal

(b) Recreating the


Signal from the Sampled
Values

Invitation to Computer Science, C++ Version, Third Edition 12


Binary Representation of Sound and
Images (continued)

 Representing image data

 Images are sampled by reading color and


intensity values at even intervals across the image

 Each sampled point is a pixel

 Image quality depends on number of bits at each


pixel

Invitation to Computer Science, C++ Version, Third Edition 13


The Reliability of Binary
Representation
 Electronic devices are most reliable in a bistable
environment
 Bistable environment
 Distinguishing only two electronic states
 Current flowing or not
 Direction of flow
 Computers are bistable: hence binary
representations
Invitation to Computer Science, C++ Version, Third Edition 14
Binary Storage Devices
 Magnetic core

 Historic device for computer memory

 Tiny magnetized rings: flow of current sets the


direction of magnetic field

 Binary values 0 and 1 are represented using the


direction of the magnetic field

Invitation to Computer Science, C++ Version, Third Edition 15


Figure 4.9
Using Magnetic Cores to Represent Binary Values

Invitation to Computer Science, C++ Version, Third Edition 16


Binary Storage Devices (continued)
 Transistors

 Solid-state switches: either permits or blocks


current flow

 A control input causes state change

 Constructed from semiconductors

Invitation to Computer Science, C++ Version, Third Edition 17


Figure 4.11
Simplified Model of a Transistor

Invitation to Computer Science, C++ Version, Third Edition 18


Boolean Logic and Gates: Boolean
Logic
 Boolean logic describes operations on true/false
values

 True/false maps easily onto bistable


environment

 Boolean logic operations on electronic signals


may be built out of transistors and other
electronic devices

Invitation to Computer Science, C++ Version, Third Edition 19


Boolean Logic (continued)

 Boolean operations
 a AND b
 True only when a is true and b is true
 a OR b
 True when either a is true or b is true, or both are
true
 NOT a
 True when a is false, and vice versa

Invitation to Computer Science, C++ Version, Third Edition 20


Boolean Logic (continued)
 Boolean expressions
 Constructed by combining together Boolean
operations
 Example: (a AND b) OR ((NOT b) AND (NOT a))

 Truth tables capture the output/value of a


Boolean expression
 A column for each input plus the output
 A row for each combination of input values

Invitation to Computer Science, C++ Version, Third Edition 21


Boolean Logic (continued)
 Example:
(a AND b) OR ((NOT b) and (NOT a))

a b Value
0 0 1
0 1 0
1 0 0
1 1 1

Invitation to Computer Science, C++ Version, Third Edition 22


Gates

 Gates

 Hardware devices built from transistors to mimic


Boolean logic

 AND gate

 Two input lines, one output line

 Outputs a 1 when both inputs are 1

Invitation to Computer Science, C++ Version, Third Edition 23


Gates (continued)

 OR gate

 Two input lines, one output line

 Outputs a 1 when either input is 1

 NOT gate

 One input line, one output line

 Outputs a 1 when input is 0 and vice versa

Invitation to Computer Science, C++ Version, Third Edition 24


Figure 4.15
The Three Basic Gates and Their Symbols

Invitation to Computer Science, C++ Version, Third Edition 25


Gates (continued)
 Abstraction in hardware design

 Map hardware devices to Boolean logic

 Design more complex devices in terms of logic,


not electronics

 Conversion from logic to hardware design may be


automated

Invitation to Computer Science, C++ Version, Third Edition 26


Building Computer Circuits:
Introduction
 A circuit is a collection of logic gates:

 Transforms a set of binary inputs into a set of


binary outputs

 Values of the outputs depend only on the current


values of the inputs

 Combinational circuits have no cycles in them


(no outputs feed back into their own inputs)
Invitation to Computer Science, C++ Version, Third Edition 27
Figure 4.19
Diagram of a Typical Computer Circuit

Invitation to Computer Science, C++ Version, Third Edition 28


A Circuit Construction Algorithm

 Sum-of-products algorithm is one way to design


circuits:

 Truth table to Boolean expression to gate layout

Invitation to Computer Science, C++ Version, Third Edition 29


Figure 4.21
The Sum-of-Products Circuit Construction Algorithm

Invitation to Computer Science, C++ Version, Third Edition 30


A Circuit Construction Algorithm
(continued)
 Sum-of-products algorithm
 Truth table captures every input/output possible
for circuit
 Repeat process for each output line
 Build a Boolean expression using AND and NOT for
each 1 of the output line
 Combine together all the expressions with ORs
 Build circuit from whole Boolean expression

Invitation to Computer Science, C++ Version, Third Edition 31


Examples Of Circuit Design And
Construction

 Compare-for-equality circuit

 Addition circuit

 Both circuits can be built using the sum-of-


products algorithm

Invitation to Computer Science, C++ Version, Third Edition 32


A Compare-for-equality Circuit
 Compare-for-equality circuit

 CE compares two unsigned binary integers for


equality

 Built by combining together 1-bit comparison


circuits (1-CE)

 Integers are equal if corresponding bits are equal


(AND together 1-CD circuits for each pair of bits)

Invitation to Computer Science, C++ Version, Third Edition 33


A Compare-for-equality Circuit
(continued)

 1-CE circuit truth table

a b Output
0 0 1
0 1 0
1 0 0
1 1 1

Invitation to Computer Science, C++ Version, Third Edition 34


Figure 4.22
One-Bit Compare for Equality Circuit

Invitation to Computer Science, C++ Version, Third Edition 35


A Compare-for-equality Circuit
(continued)
 1-CE Boolean expression

 First case: (NOT a) AND (NOT b)

 Second case: a AND b

 Combined:

((NOT a) AND (NOT b)) OR (a AND b)

Invitation to Computer Science, C++ Version, Third Edition 36


An Addition Circuit

 Addition circuit

 Adds two unsigned binary integers, setting output


bits and an overflow

 Built from 1-bit adders (1-ADD)

 Starting with rightmost bits, each pair produces

 A value for that order

 A carry bit for next place to the left

Invitation to Computer Science, C++ Version, Third Edition 37


An Addition Circuit (continued)
 1-ADD truth table
 Input
 One bit from each input integer

 One carry bit (always zero for rightmost bit)

 Output
 One bit for output place value

 One “carry” bit

Invitation to Computer Science, C++ Version, Third Edition 38


Figure 4.24
The 1-ADD Circuit and Truth Table

Invitation to Computer Science, C++ Version, Third Edition 39


An Addition Circuit (continued)
 Building the full adder

 Put rightmost bits into 1-ADD, with zero for the


input carry

 Send 1-ADD’s output value to output, and put its


carry value as input to 1-ADD for next bits to left

 Repeat process for all bits

Invitation to Computer Science, C++ Version, Third Edition 40


Control Circuits
 Do not perform computations
 Choose order of operations or select among
data values
 Major types of controls circuits
 Multiplexors
 Select one of inputs to send to output
 Decoders
 Sends a 1 on one output line, based on what input
line indicates

Invitation to Computer Science, C++ Version, Third Edition 41


Control Circuits (continued)
 Multiplexor form
 2N regular input lines
 N selector input lines
 1 output line
 Multiplexor purpose
 Given a code number for some input, selects that
input to pass along to its output
 Used to choose the right input value to send to a
computational circuit

Invitation to Computer Science, C++ Version, Third Edition 42


Figure 4.28
A Two-Input Multiplexor Circuit

Invitation to Computer Science, C++ Version, Third Edition 43


Control Circuits (continued)
 Decoder

 Form

 N input lines

 2N output lines

 N input lines indicate a binary number, which is


used to select one of the output lines

 Selected output sends a 1, all others send 0

Invitation to Computer Science, C++ Version, Third Edition 44


Control Circuits (continued)

 Decoder purpose

 Given a number code for some operation, trigger


just that operation to take place

 Numbers might be codes for arithmetic: add,


subtract, etc.

 Decoder signals which operation takes place next

Invitation to Computer Science, C++ Version, Third Edition 45


Figure 4.29
A 2-to-4 Decoder Circuit

Invitation to Computer Science, C++ Version, Third Edition 46


Summary
 Digital computers use binary representations of
data: numbers, text, multimedia
 Binary values create a bistable environment,
making computers reliable
 Boolean logic maps easily onto electronic
hardware
 Circuits are constructed using Boolean
expressions as an abstraction
 Computational and control circuits may be built
from Boolean gates

Invitation to Computer Science, C++ Version, Third Edition 47

You might also like