+ All Categories
Home > Documents > 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst...

1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst...

Date post: 01-Jan-2016
Category:
Upload: eric-may
View: 213 times
Download: 0 times
Share this document with a friend
37
1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012
Transcript
Page 1: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

1

i206: Lecture 2:Computer Architecture, Binary Encodings, and Data Representation

Marti HearstSpring 2012

Page 2: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

2

ComputerOrganization

Bits & BytesBinary Numbers

Number Systems

Gates

Boolean Logic

Circuits

CPU Machine Instructions

Assembly Instructions

Program Algorithms

Application

Memory

Data compression

Compiler/Interpreter

OperatingSystem

Data Structures

Analysis

I/O

Memory hierarchy

Design

Methodologies/Tools

Process

DataRepresentation

Data

Data storage

Principles

Network

Distributed Systems Security

Cryptography

Standards & Protocols

Inter-processCommunication

Big-O

Formal models

Page 3: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

3John Chuang 3

Computers of Different Shapes and Sizes

Page 4: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

4

Computer System Components

1. Hardware – provides basic computing resources (CPU, memory, I/O devices, network)

2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users

3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs)

4. Users (people, machines, other computers)

Source: Silberschatz, Galvin, Gagne

Page 5: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

5

DataRepresentation

Bits & BytesBinary Numbers

Number Systems

Gates

Boolean Logic

Circuits

CPU Machine Instructions

Assembly Instructions

Program Algorithms

Application

Memory

Data compression

Compiler/Interpreter

OperatingSystem

Data Structures

Analysis

I/O

Memory hierarchy

Design

Methodologies/Tools

Process

Numbers, text,audio, video, image, …

Decimal, Hexadecimal, Binary

Lossless v. lossyParity bits & Huffman code

DataRepresentation

Data

Data storage

Principles

Network

Distributed Systems Security

Cryptography

Standards & Protocols

Inter-processCommunication

Big-O

Formal models

Page 6: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

6

How Do Computers Work?We are going bottom-up, with digressions

Bits & Bytes Binary Numbers

Number Systems

Orders of MagnitudeGates

Boolean Logic

Circuits

CPU Machine Instructions

Assembly Language

Programming Languages

Address Space

Code vs. Data

Page 7: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

7

Data Representation• All data stored in and manipulated by a digital

computer are represented by patterns of bits:– Numbers– Text characters– Sound– Images and videos– Anything else…

• Bit – Binary Digit = a symbol whose meaning depends on

the application at hand• Binary: takes on values of ‘0’ or ‘1’

– Or equivalently, “FALSE” or “TRUE”, “OFF” or “ON”

Page 8: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

8

Bytes

• A sequence of bits • 8 bits = 1 byte• 2 bytes = 1 word (sometimes 4 or 8 bytes)• How do binary numbers work?

Page 9: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

9

Number Systems

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

Page 10: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

10

Binary Number System

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

110

= 6 decimal

Page 11: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

11

Powers of Two

Decimal Binary Power of 2

1 1

2 10

4 100

8 1000

16 10000

32 100000

64 1000000

128 10000000

021222

42

32

526272

Page 12: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

12

Famous Powers of Two

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

As Brookshear points out, these are non-standard uses of K,M,G,B

but we’re stuck with them.

As Brookshear points out, these are non-standard uses of K,M,G,B

but we’re stuck with them.

Page 13: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

13

Orders of Magnitude

• Each increase in the power of 10 is an increase in the order of magnitude• http://micro.magnet.fsu.edu/primer/java/scienceopticsu/powersof10/index.html

Page 14: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

14

Other Number Systems

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

Page 15: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

15

Where do we see Hex on the Web?

Page 16: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

16

Binary Addition

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

Also: 1 + 1 + 1 = 1 with a carry of 1

Page 17: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

17

Convert Decimal to Binary

Images from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

13 = 8 + 4 + 1 = 1101

128 64 32 16 8 4 2 1

128 64 32 16 8 4 2 1

Page 18: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

18

Decimal-Binary ConversionDecimal to binary:

Binary to decimal:

Page 19: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

19

Binary Representation of Fractions and Floating-Point Numbers

Page 20: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

20

Representing text

• Each printable character (letter, punctuation, etc.) is assigned a unique bit pattern.– ASCII = 7-bit values for most symbols used in written

English text (see Appendix A in Brookshear)– Unicode = 16-bit values for most symbols used in most

world languages today– ISO proposed standard = 32-bit values

• Example: the message ‘Hello.’ in ASCII encoding

Page 21: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

21

Write “Go Bears!” in hex or binary (the code below is decimal)

! is 33, space is 32

128 64 32 16 8 4 2 1

128 64 32 16 8 4 2 1

Page 22: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

22

Write “Go Bears!” in binary / hex

010001110110111100100000010000100110010101100001011100100111001100100001

476F20426561727321

Page 23: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

23

Representation of Images and Video

• Image encoding:– Number of bits per pixel (e.g.,

24 bits for RGB color)– Number of pixels in image

(e.g., 480*640)

• Video encoding:– Number of bits per pixel– Number of pixels per frame– Number of frames per second

Page 24: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

24

Audio Encoding

• Telephone: – 8,000 samples per second– 8 bits per sample 64 kbps

• CD-quality audio: – 44,100 samples per second– 16 bits per sample– 2 channels for stereo 1.4 Mbps 60 minute music CD takes ~630MB

• There are many audio encoding standards (e.g., H.323 for Voice-over-IP, MP3 for music)

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

Page 25: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

25

Data Compression

• Encoding data using fewer bits

• There are many encoding standards– (e.g., JPEG, MPEG, MP3) include data compression

• Lossless – data received = data sent– used for executables, text files, numeric data

• Lossy– data received != data sent– used for images, video, audio

Page 26: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

26

Video Encoding Examples

• Uncompressed video:– 8 bits per pixel– 480*640 pixels per frame– 24 frames per second 56 Mbps

• Uncompressed HDTV:– 24 bits per pixel– 1920*1080 pixels per frame– 24-60 frames per second 1000-3000 Mbps

Page 27: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

27

Data Compression:Run-length encoding

If there is a long sequence of repeated numbers, just say how many of each.

– 0000000000000100000000000– 13 0’s– 1 1– 11 0’s– How many bits long is this in binary?

Page 28: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

28

Data Compression:Frequency-dependent encoding

• The length of the representation of the bit pattern is inversely related to its frequency of occurrence.

• Which letters of English are most frequent?

• Give these shorter representations.

Page 29: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

29

Wikipedia (via google cache)

Page 30: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

30

What else do we see this used?

Wikipedia (via google cache)

Page 31: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

31

Data CompressionFrequency Dependent Encoding

• ASCII coding uses 7 bits to represent characters• Can we devise a more intelligent encoding

scheme given knowledge that some characters (e.g., “a”, “e”) occur more frequently than others (e.g., “q”, “z”)?

• Huffman code: variable length frequency dependent encoding– Intuition: assign shorter codes for characters that occur

more frequently

Page 32: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

32

Huffman Coding• Choose codes such that less likely messages have

longer lengths.• Given: messages with known weights (probabilities

of occurrence)– Construct binary tree with each message as a leaf node– Iteratively merge two nodes with lowest weights– Assign bits (0/1) to each branch– Read binary tree from root to leaf to obtain code for

each message

Message

Code

a1 0

a2 10

a3 111

a4 110

http://en.wikipedia.org/wiki/Huffman_code

Page 33: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

33

Error-Correction Codes

• Parity Bits: add an additional bit to the code– If the sum of the bits is even, add a 1 to make it odd

• What if there are two errors?– Checkbyte for long codes – Example: 1 bit for every 8th bit in the code

• But this doesn’t correct the error!• How can we do this?

Page 34: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

34

Error-Correction Codes

• Hamming Distance:– Number of bits in which the codes differ

• Assign codes so they all have a Hamming Difference of at least 3

• If a code differs by 1, you can tell which bit flipped.

• If a code differs by 2, you can tell there is an error of some kind.

Page 35: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

35

Error-Correction Codes

Pattern: 010100

Page 36: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

36

Summary

• Different types of data (e.g., numbers, text characters, sounds, images, videos) can all be represented using binary bits

• Compression techniques allow compact encoding of information

• There are many standards for encoding different data types– Compression often part of encoding standard

• Up next: how these binary represented data can be stored, communicated, and operated upon

Page 37: 1 i206: Lecture 2: Computer Architecture, Binary Encodings, and Data Representation Marti Hearst Spring 2012.

37

Next

• Read: Brookshear 1.1, 2.1 – 2.4 • Read: Brookshear 6.1-6.5 (for a review of OO for lab)


Recommended