copyright © 2015 pearson education, inc. chapter 1: data storage

82
Copyright © 2015 Pearson Education, Inc. Chapter 1: Chapter 1: Data Storage Data Storage

Upload: marsha-skinner

Post on 25-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Chapter 1:Chapter 1:Data StorageData Storage

Page 2: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• 1.1 Bits and Their Storage

• 1.2 Main Memory

• 1.3 Mass Storage

• 1.4 Representing Information as Bit Patterns

• 1.5 The Binary System

Chapter 1: Data Storage

1-2

Page 3: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• 1.6 Storing Integers

• 1.7 Storing Fractions

• 1.8 Data and Programming

• 1.9 Data Compression

• 1.10 Communications Errors

Chapter 1: Data Storage (continued)

1-3

Page 4: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Ask TA

• Mine: Monday 11-2 in room 135 or 129 maybe, not sure.

• (ask Rasha, the admin)

• Syllabus

Office Hours

1-4

Page 5: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-5

Page 6: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-6

Page 7: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-7

Page 8: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Bit: Binary Digit (0 or 1)• Bit Patterns are used to represent information

– Numbers– Text characters– Images– Sound– And others

Bits and Bit Patterns

1-8

Page 9: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Boolean Operation: An operation that manipulates one or more true/false values

• Specific operations– AND– OR– XOR (exclusive or)– NOT

Boolean Operations

1-9

Page 10: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.1 The possible input and output values of Boolean operations AND, OR, and XOR (exclusive or)

1-10

The NOT operation

NOT 1 NOT 0 0 1

Page 11: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.1 The possible input and output values of Boolean operations AND, OR, and XOR (exclusive or)

1-11

AND

OR XOR

1 1 ▬► 11 1 ▬► 11 0 ▬► 10 1 ▬► 1

1 0 ▬► 10 1 ▬► 1

Page 12: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Gate: A device that computes a Boolean operation– Often implemented as (small) electronic

circuits– Provide the building blocks from which

computers are constructed– VLSI (Very Large Scale Integration)

Gates

1-12

Page 13: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.2 A pictorial representation of AND, OR, XOR, and NOT gates as well as their input and output values

1-13

Page 14: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Flip-flop: A circuit built from gates that can store one bit.– One input line is used to set its stored value to 1– One input line is used to set its stored value to 0– While both input lines are 0, the most recently

stored value is preserved

Flip-flops

1-14

Page 15: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.3 A simple flip-flop circuit

1-15

Page 16: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.4 Setting the output of a flip-flop to 1

1-16

Page 17: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.4 Setting the output of a flip-flop to 1 (continued)

1-17

Page 18: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.4 Setting the output of a flip-flop to 1 (continued)

1-18

Page 19: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.5 Another way of constructing a flip-flop

1-19

Page 20: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Hexadecimal notation: A shorthand notation for long bit patterns– Divides a pattern into groups of four bits each– Represents each group by a single symbol

• Example: 10100011 becomes A3

Hexadecimal Notation

1-20

Page 21: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.6 The hexadecimal coding system

1-21

Page 22: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Cell: A unit of main memory (typically 8 bits which is one byte)– Most significant bit: the bit at the left (high-

order) end of the conceptual row of bits in a memory cell

– Least significant bit: the bit at the right (low-order) end of the conceptual row of bits in a memory cell

1.2 Main Memory Cells

1-22

Page 23: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.7 The organization of a byte-size memory cell

1-23

Page 24: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Address: A “name” that uniquely identifies one cell in the computer’s main memory– The names are actually numbers.– These numbers are assigned consecutively

starting at zero.– Numbering the cells in this manner associates

an order with the memory cells.

Main Memory Addresses

1-24

Page 25: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.8 Memory cells arranged by address

1-25

Page 26: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Random Access Memory (RAM): Memory in which individual cells can be easily accessed in any order

• Dynamic Memory (DRAM): RAM composed of volatile memory

Memory Terminology

1-26

http://computer.howstuffworks.com/ram1.htm

Page 27: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Kilobyte: 210 bytes = 1024 bytes– Example: 3 KB = 3 times1024 bytes

• Megabyte: 220 bytes = 1,048,576 bytes– Example: 3 MB = 3 times 1,048,576 bytes

• Gigabyte: 230 bytes = 1,073,741,824 bytes– Example: 3 GB = 3 times 1,073,741,824 bytes

Measuring Memory Capacity

1-27

Page 28: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Measuring Memory Capacity

1-28

A petabyte is (1,000,000,000,000,000) bytes

A terabyte is a trillion bytes (1,000,000,000,000)

A exabyte is (1,000,000,000,000,000,000) bytes

A zettabyte is (1,000,000,000,000,000,000,000) bytes

Page 29: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Are devices for storing data permanently.

• Advantages over main memory– Less volatility– Larger storage capacities– Low cost– In many cases can be removed

1.3 Mass Storage

1-29

Page 30: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Magnetic Devices– Magnetic disks– Magnetic tape

• Optical Devices– CDs– DVDs– Blu Ray

• Solid State Devices – Flash drives– Solid-state disks (SDD)

1.3 Mass Storage

1-30

Page 31: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.9 A magnetic disk storage system

1-31

Page 32: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 32

Magnetic Disks

• Bits of data (0’s and 1’s) are stored on circular magnetic platters called disks.

• A disk rotates rapidly (& never stops).

• A disk head reads and writes bits of data as they pass under the head.

• Often, several platters are organized into a disk pack (or disk drive).

Page 33: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 33

A Disk Drive

Disk drive with 4 platters and 8 surfaces and 8 RW heads

surfaces

Spindle BoomRead/Write heads

Page 34: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 34

Looking at a surface

Surface of disk showing tracks and sectors

sector

tracks

Page 35: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 35

Organization of Disks

• Disk contains concentric tracks.

• Tracks are divided into sectors

• A sector is the smallest addressable unit in a disk.

Page 36: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 36

Disk Controller

• Disk controllers: typically embedded in the disk drive, which acts as an interface between the CPU and the disk hardware.

• The controller has an internal cache (typically a number of MBs) that it uses to buffer data for read/write requests.

Page 37: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Structure of Hard Disk

Page 38: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.10 CD storage

1-38

http://www.explainthatstuff.com/how-cd-writers-work.html

Page 39: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 39

Physical Organization of CD-ROM

• Compact Disk – read only memory (write once)• Data is encoded and read optically with a laser• Can store around 600MB data• Digital data is represented as a series of Pits

and Lands:1. Pit = a little depression, forming a lower level in

the track

2. Land = the flat part between pits, or the upper levels in the track

Page 40: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 40

Organization of data

• Reading a CD is done by shining a laser at the disc and detecting changing reflections patterns.– 1 = change in height (land to pit or pit to land)– 0 = a “fixed” amount of time between 1’s

LAND PIT LAND PIT LAND ...------+ +-------------+ +---... |_____| |_______|..0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 ..

• Note : we cannot have two 1’s in a row!=> uses Eight to Fourteen Modulation (EFM) encoding table.

Page 41: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 41

Properties

• Note that: Since 0's are represented by the length of time between transitions, we must travel at constant linear velocity (CLV)on the tracks.

• Sectors are organized along a spiral• Sectors have same linear length• Advantage: takes advantage of all storage space

available.• Disadvantage: has to change rotational speed

when seeking (slower towards the outside)

Page 42: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Page 43: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Flash Memory – circuits that traps electrons in tiny silicon dioxide chambers

• Repeated erasing slowly damages the media

• Mass storage of choice for:– Digital cameras

• SD Cards provide GBs of storage

Flash Drives

1-43

– Smartphones

Page 44: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Each character (letter, punctuation, etc.) is assigned a unique bit pattern.– ASCII: Uses patterns of 7-bits to represent most

symbols used in written English text– ISO developed a number of 8 bit extensions to

ASCII, each designed to accommodate a major language group

– Unicode: Uses patterns up to 21-bits to represent the symbols used in languages world wide, 16-bits for world’s commonly used languages

1.4 Representing Text

1-44

Page 45: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.11 The message “Hello.” in ASCII or UTF-8 encoding

1-45

Page 46: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Binary notation: Uses bits to represent a number in base two

• Limitations of computer representations of numeric values– Overflow: occurs when a value is too big to be

represented– Truncation: occurs when a value cannot be

represented accurately

Representing Numeric Values

1-46

Page 47: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Bit map techniques– Pixel: short for “picture element”– RGB– Luminance and chrominance

• Vector techniques– Scalable– TrueType and PostScript

• https://www.youtube.com/watch?v=fy9Pby0Gzsc

Representing Images

1-47

Page 48: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Sampling techniques– Used for high quality recordings– Records actual audio

• MIDI– Used in music synthesizers– Records “musical score”

Representing Sound

1-48

Page 49: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.12 The sound wave represented by the sequence 0, 1.5, 2.0, 1.5, 2.0, 3.0, 4.0, 3.0, 0

1-49

Page 50: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

The traditional decimal system is based

on powers of ten.

The Binary system is based on powers

of two.

1.5 The Binary System

1-50

Page 51: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.13 The base ten and binary systems

1-51

Page 52: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-52

Page 53: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-53

Page 54: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.14 Decoding the binary representation 100101

1-54

Page 55: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.15 An algorithm for finding the binary representation of a positive integer

1-55

Page 56: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.16 Applying the algorithm in Figure 1.15 to obtain the binary representation of thirteen

1-56

Page 57: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.17 The binary addition facts

1-57

Page 58: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.18 Decoding the binary representation 101.101

1-58

Page 59: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Two’s complement notation: The most popular means of representing integer values

• Excess notation: Another means of representing integer values

• Both can suffer from overflow errors

1.6 Storing Integers

1-59

Page 60: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.19 Two’s complement notation systems

1-60

Page 61: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.20 Coding the value -6 in two’s complement notation using four bits

1-61

Page 62: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.21 Addition problems converted to two’s complement notation

1-62

Page 63: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.22 An excess eight conversion table

1-63

Page 64: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-64

Page 65: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.23 An excess notation system using bit patterns of length three

1-65

Page 66: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Floating-point Notation: Consists of a sign bit, a mantissa field, and an exponent field.

• Related topics include– Normalized form– Truncation errors

1.7 Storing Fractions

1-66

Page 67: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.24 Floating-point notation components

1-67

Page 68: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Figure 1.25 Encoding the value 2 5⁄8

1-68

Page 69: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

A programming language is a computer system created to allow humans to precisely express algorithms using a higher level of abstraction.

1.8 Data and Programming

1-69

Page 70: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Python: a popular programming language for applications, scientific computation, and as an introductory language for students

• Freely available from www.python.org

• Python is an interpreted language– Typing:

print('Hello, World!')

– Results in:

Hello, World!

Getting Started with Python

1-70

Page 71: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Variables: name values for later use

• Analogous to mathematic variables in algebra

s = 'Hello, World!'print(s)

my_integer = 5my_floating_point = 26.2my_Boolean = Truemy_string = 'characters'my_integer = 0xFF

Variables

1-71

Page 72: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

print(3 + 4) # Prints 7print(5 – 6) # Prints -1print(7 * 8) # Prints 56print(45 / 4) # Prints 11.25print(2 ** 10) # Prints 1024

s = 'hello' + 'world's = s * 4print(s)

Operators and Expressions

1-72

Page 73: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

# A converter for currency exchange.

USD_to_GBP = 0.66 # Today's exchange rateGBP_sign = '\u00A3' # Unicode value for £dollars = 1000 # Number dollars to convert

# Conversion calculationspounds = dollars * USD_to_GBP

# Printing the resultsprint('Today, $' + str(dollars)) print('converts to ' + GBP_sign + str(pounds))

Currency Conversion

1-73

Page 74: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Syntax errorsprint(5 +)SyntaxError: invalid syntax

pront(5)NameError: name 'pront' is not defined

• Semantic errors– Incorrect expressions like

total_pay = 40 + extra_hours * pay_rate

• Runtime errors– Unintentional divide by zero

Debugging

1-74

Page 75: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• Lossy versus lossless

• Run-length encoding

• Frequency-dependent encoding (Variable length encoding) (Huffman codes)

• Relative encoding

• Dictionary encoding (Includes adaptive dictionary encoding such as LZW encoding.)

1.9 Data Compression

1-75

Page 76: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

4, 11

4, 9, 2, 14, 9, 2, 14, 114, 94, 95, 70, 171, 15

Run Length Encoding Example

0-76

Page 77: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc. 0-77

4, 11 4, 9, 2, 1 4, 9, 2, 1 4, 11 4, 9 4, 9 5, 7 0, 17 1, 15

Run Length Encoding Example

Page 78: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

Huffman Codes

– Letters with high frequency are encoded using shorter symbols.

– Letters with low frequency are encoded using longer symbols.

– Huffman code (for a set of seven letters): • four bits per letter (minimum 3 bits).

– The string “abefd” is encoded as “1010000100100000”.

– Huffman codes are used in some UNIX systems for data compression.

Letter: a b c d e f gProbability: 0.4 0.1 0.1 0.1 0.1 0.1 0.1Code 1 010 011 0000 0001 0010 0011

Page 79: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

LZW Example

0-79

xxy yyx xxy xxy yyx

1123221343435

Page 80: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• GIF: Good for cartoons

• JPEG: Good for photographs

• TIFF: Good for image archiving

Compressing Images

1-80

Page 81: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

• MPEG– High definition television broadcast– Video conferencing

• MP3– Temporal masking– Frequency masking

Compressing Audio and Video

1-81

Page 82: Copyright © 2015 Pearson Education, Inc. Chapter 1: Data Storage

Copyright © 2015 Pearson Education, Inc.

End End of of

ChapterChapter