Invitation to Computer Science 5th Edition Chapter 4 The Building Blocks: Binary Numbers, Boolean Logic, and Gates
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, 5th Edition
Introduction Computing agent Abstract concept representing any object capable of understanding and executing our instructions Fundamental building blocks of all computer systems Binary representation Boolean logic Gates Circuits Invitation to Computer Science, 5th Edition 3
The Binary Numbering System Binary representation of numeric and textual information Two types of information representation External representation Internal representation Binary is a base-2 positional numbering system Invitation to Computer Science, 5th Edition 4
Figure 4.1 Distinction Between External Memory and Internal Representation of Information Invitation to Computer Science, 5th Edition
Binary Representation of Numeric and Textual Information Binary-to-decimal algorithm Whenever there is a 1 in a column, add the positional value of that column to a running sum Whenever there is a 0 in a column, add nothing The final sum is the decimal value of this binary number Invitation to Computer Science, 5th Edition
Figure 4.2 Binary-to-Decimal Conversion Table Invitation to Computer Science, 5th Edition
Binary Representation of Numeric and Textual Information (continued) To convert a decimal value into its binary equivalent Use the decimal-to-binary algorithm Maximum number of binary digits that can be used to store an integer: 16, 32, or 64 bits Arithmetic overflow Operation that produces an unsigned value greater than 65,535 Invitation to Computer Science, 5th Edition
Signed Numbers Sign/magnitude notation Two’s complement representation One of a number of different techniques for representing positive and negative whole numbers Not used often in real computer systems Two’s complement representation Total number of values that can be represented with n bits is 2n Invitation to Computer Science, 5th Edition
Fractional Numbers Fractional numbers (12.34 and –0.001275) Can be represented in binary by using signed-integer techniques Scientific notation ±M x B±E M is the mantissa, B is the exponent base (usually 2), and E is the exponent Normalize the number First significant digit is immediately to the right of the binary point Invitation to Computer Science, 5th Edition
Textual Information Code mapping ASCII UNICODE Assigning each printable letter or symbol in our alphabet a unique number ASCII International standard for representing textual information in the majority of computers Uses 8 bits to represent each character UNICODE Uses a 16-bit representation for characters rather than the 8-bit format of ASCII Invitation to Computer Science, 5th Edition
Figure 4.3 ASCII Conversion Table Invitation to Computer Science, 5th Edition
Binary Representation of Sound and Images Digital representation Values for a given object are drawn from a finite set Analog representation Objects can take on any value Figure 4.4 Amplitude of the wave: measure of its loudness Period of the wave (T): time it takes for the wave to make one complete cycle Frequency f: total number of cycles per unit time Invitation to Computer Science, 5th Edition
Figure 4.4 Example of Sound Represented as a Waveform Invitation to Computer Science, 5th Edition
Binary Representation of Sound and Images (continued) Sampling rate Measures how many times per second we sample the amplitude of the sound wave Bit depth Number of bits used to encode each sample MP3 Most popular and widely used digital audio format Scanning Measuring the intensity values of distinct points located at regular intervals across the image’s surface Invitation to Computer Science, 5th Edition
Figure 4.5 Digitization of an Analog Signal (a) Sampling the Original Signal (b) Re-creating the Signal from the Sampled Values Invitation to Computer Science, 5th Edition
Binary Representation of Sound and Images (continued) Raster graphics Each pixel is encoded as an unsigned binary value representing its gray scale intensity RGB encoding scheme Most common format for storing color images True Color 24-bit color-encoding scheme Data compression algorithms Attempt to represent information in ways that preserve accuracy while using significantly less space Invitation to Computer Science, 5th Edition
Binary Representation of Sound and Images (continued) Run-length encoding Replaces a sequence of identical values v1, v2, . . ., vn by a pair of values (v, n) Compression ratio Measures how much compression schemes reduce storage requirements of data Variable length code sets Often used to compress text Can also be used with other forms of data Invitation to Computer Science, 5th Edition
Figure 4.8 Using Variable Length Code Sets (a) Fixed Length (b) Variable Length Invitation to Computer Science, 5th Edition
Binary Representation of Sound and Images (continued) Lossless compression schemes No information is lost in the compression It is possible to exactly reproduce the original data Lossy compression schemes Do not guarantee that all of the information in the original data can be fully and completely recreated Invitation to Computer Science, 5th Edition
The Reliability of Binary Representation Computers use binary representation for reasons of reliability Building a base-10 “decimal computer” Requires finding a device with 10 distinct and stable energy states that can be used to represent the 10 unique digits (0, 1, . . . , 9) of the decimal system Bistable environment Only two (rather than 10) stable states separated by a huge energy barrier Invitation to Computer Science, 5th Edition
Binary Storage Devices Magnetic cores Used to construct computer memories Core Small, magnetizable, iron oxide-coated “doughnut,” about 1/50 of an inch in inner diameter, with wires strung through its center hole Invitation to Computer Science, 5th Edition
Figure 4.9 Using Magnetic Cores to Represent Binary Values Invitation to Computer Science, 5th Edition
Binary Storage Devices (continued) Transistor Solid-state device that has no mechanical or moving parts Constructed from semiconductors Can be printed photographically on a wafer of silicon to produce a device known as an integrated circuit Circuit board Interconnects all the different chips needed to run a computer system Invitation to Computer Science, 5th Edition
Figure 4.10 Relationships Among Transistors, Chips, and Circuit Boards Invitation to Computer Science, 5th Edition
Binary Storage Devices (continued) Mask Can be used to produce a virtually unlimited number of copies of a chip Figure 4.11 Control (base): used to open or close the switch inside the transistor ON state: current coming from the In line (Collector) can flow directly to the Out line (Emitter), and the associated voltage can be detected by a measuring device Invitation to Computer Science, 5th Edition
Figure 4.11 Simplified Model of a Transistor Invitation to Computer Science, 5th Edition
Boolean Logic Boolean logic Construction of computer circuits is based on this Boolean expression Any expression that evaluates to either true or false Truth table Can express the idea that the AND operation produces the value true if and only if both of its components are true Invitation to Computer Science, 5th Edition
Figure 4.12 Truth Table for the AND Operation Invitation to Computer Science, 5th Edition
Boolean Logic (continued) Boolean operations AND, OR, NOT Binary operators Require two operands Unary operator Requires only one operand NOT operation Reverses, or complements, the value of a Boolean expression Invitation to Computer Science, 5th Edition
Figure 4.13 Truth Table for the OR Operation Invitation to Computer Science, 5th Edition
Figure 4.14 Truth Table for the NOT Operation Invitation to Computer Science, 5th Edition
Gates Gate NOT gate To construct an AND gate Electronic device that operates on a collection of binary inputs to produce a binary output Transforms a set of (0,1) input values into a single (0,1) output value NOT gate Can be constructed from a single transistor To construct an AND gate Connect two transistors in series with the collector line of transistor 1 connected to the power supply (logical-1) and the emitter line of transistor 2 connected to ground (logical-0) Invitation to Computer Science, 5th Edition
Figure 4.15 The Three Basic Gates and Their Symbols Invitation to Computer Science, 5th Edition
Figure 4.16 Construction of a NOT Gate Invitation to Computer Science, 5th Edition
Figure 4.17 Construction of NAND and AND Gates (a) A Two-transistor NAND Gate (b) A Three-transistor AND Gate Invitation to Computer Science, 5th Edition
Gates (continued) NAND (acronym for NOT AND) To construct an OR gate Produces the complement of the AND operation To construct an OR gate Start with two transistors Transistors are connected in parallel Invitation to Computer Science, 5th Edition
Figure 4.18 Construction of NOR and OR Gates (a) A Two-transistor NOR Gate (b) A Three-transistor OR Gate Invitation to Computer Science, 5th Edition
Building Computer Circuits Introduction Circuit: collection of logic gates that transforms a set of binary inputs into a set of binary outputs Every Boolean expression: Can be represented pictorially as a circuit diagram Every output value in a circuit diagram: Can be written as a Boolean expression Invitation to Computer Science, 5th Edition
Figure 4.19 Diagram of a Typical Computer Circuit Invitation to Computer Science, 5th Edition
A Circuit Construction Algorithm Step 1: Truth Table Construction Determine how the circuit should behave under all possible circumstances If a circuit has N input lines and if each input line can be either a 0 or a 1, then: There are 2N combinations of input values, and the truth table has 2N rows Invitation to Computer Science, 5th Edition
A Truth Table for a Circuit with 8 Input Combinations Invitation to Computer Science, 5th Edition
A Circuit Construction Algorithm (continued) Step 2: Subexpression Construction Using AND and NOT Gates Choose any one output column of the truth table built in step 1, and scan down that column Every place that you find a 1 in that output column, you build a Boolean subexpression that produces the value 1 for exactly that combination of input values and no other Invitation to Computer Science, 5th Edition
Output Column Labeled Output-1 from the Previous Truth Table Invitation to Computer Science, 5th Edition
Taking Snapshots Step 3: Subexpression Combination Using OR Gates Take each of the subexpressions produced in step 2 and combine them, two at a time, using OR gates Step 4: Circuit Diagram Production Construct the final circuit diagram Algorithms for circuit optimization Reduce the number of gates needed to implement a circuit Invitation to Computer Science, 5th Edition
Figure 4.20 Circuit Diagram for the Output Labeled Output-1 Invitation to Computer Science, 5th Edition
Figure 4.21 The Sum-of-Products Circuit Construction Algorithm Invitation to Computer Science, 5th Edition
Examples of Circuit Design and Construction A Compare-For-Equality Circuit Tests two unsigned binary numbers for exact equality Produces the value 1 (true) if the two numbers are equal and the value 0 ( false) if they are not Invitation to Computer Science, 5th Edition
Figure 4.22 One-Bit Compare for Equality Circuit Invitation to Computer Science, 5th Edition
Figure 4.23 N-Bit Compare for Equality Circuit Invitation to Computer Science, 5th Edition
An Addition Circuit Full adder Figure 4.27 Addition circuits Performs binary addition on two unsigned N-bit integers Figure 4.27 Shows the complete full adder circuit called ADD Addition circuits Found in every computer, workstation, and handheld calculator in the marketplace Invitation to Computer Science, 5th Edition
Figure 4.24 The 1-ADD Circuit and Truth Table Invitation to Computer Science, 5th Edition
Figure 4.25 Sum Output for the 1-ADD Circuit Invitation to Computer Science, 5th Edition
Figure 4.26 Complete 1-ADD Circuit for 1-Bit Binary Addition Invitation to Computer Science, 5th Edition
Figure 4.27 The Complete Full Adder ADD Circuit Invitation to Computer Science, 5th Edition
Control Circuits Used to: Multiplexor Determine the order in which operations are carried out Select the correct data values to be processed Multiplexor Circuit that has 2N input lines and 1 output line Function: to select exactly one of its 2N input lines and copy the binary value on that input line onto its single output line Invitation to Computer Science, 5th Edition
Figure 4.28 A Two-Input Multiplexor Circuit Invitation to Computer Science, 5th Edition
Control Circuits (continued) Decoder Has N input lines numbered 0, 1, 2, . . . , N – 1 and 2N output lines numbered 0, 1, 2, 3, . . . , 2N – 1 Determines the value represented on its N input lines and then sends a signal (1) on the single output line that has that identification number Invitation to Computer Science, 5th Edition
Figure 4.29 A 2-to-4 Decoder Circuit Invitation to Computer Science, 5th Edition
Figure 4.30 Example of the Use of a Decoder Circuit Invitation to Computer Science, 5th Edition
Figure 4.31 Example of the Use of a Multiplexor Circuit Invitation to Computer Science, 5th Edition
Summary Digital computers Binary values Boolean logic Use binary representations of data: numbers, text, multimedia Binary values Create a bistable environment, making computers reliable Boolean logic Maps easily onto electronic hardware Invitation to Computer Science, 5th Edition
Summary (continued) Circuits Computational and control circuits Constructed using Boolean expressions as an abstraction Computational and control circuits Can be built from Boolean gates Invitation to Computer Science, 5th Edition