73
Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Embed Size (px)

Citation preview

Page 1: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science 6th Edition

Chapter 5

Computer Systems Organization

Page 2: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 2

Objectives

In this chapter, you will learn about:

• The components of a computer system

• The Von Neumann architecture

• Non-Von Neumann architectures

Page 3: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Introduction

• Computer organization– Branch of computer science that studies computers

in terms of their major functional units and how they work

– Computer organization examines the computer as a collection of interacting “functional units”

– Functional units may be built out of the circuits already studied

Invitation to Computer Science, 6th Edition 33

Page 4: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Introduction

• Concept of abstraction – Used throughout computer science– Without it, it would be virtually impossible to study

computer design or any other large, complex system– Higher level of abstraction assists in understanding

by reducing complexity

Invitation to Computer Science, 6th Edition 44

Page 5: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 5

Figure 5.1 The Concept of Abstraction

Page 6: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 66

The Components of a Computer System

• Von Neumann architecture is based on the following three characteristics– four functional units

• Memory

• Input/Output

• Arithmetic/Logic unit (ALU)

• Control unit

– The stored program concept– The sequential execution of instructions

Page 7: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 7

Figure 5.2 Components of the Von Neumann Architecture

Page 8: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 8

Memory and Cache

• Memory – Functional unit of a computer that stores and

retrieves the instructions and the data being executed

– Random access memory maps addresses to memory locations

– Cache memory keeps values currently in use in faster memory to speed access times

Page 9: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 9

Memory and Cache

• Random access (RAM)– Access technique used by computer memory– Memory made of addressable cells– Current standard cell size is 8 bits– All memory cells accessed in equal time– Memory address

• Unsigned binary number N long

• Address space is then 2N cells

• Read-only memory (ROM)– Information is prerecorded during manufacture

Page 10: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 10

Memory and Cache (continued)

• With a cell size of 8 bits:– The largest unsigned integer value that can be

stored in a single cell is 11111111 (255)

• [0 . . (2N – 1)]– Range of addresses available on a computer – decoder circuit

• When dealing with memory:– Distinguish between an address and the contents

of that address

Page 11: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 11

Figure 5.5 Organization of Memory and the Decoding Logic

Page 12: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 12

Figure 5.4 Maximum Memory Sizes

Page 13: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 13

Memory and Cache (continued)

• Basic memory operations – Fetching and storing– Fetch: Retrieve a value from memory– Store: Store a value into memory

• Memory registers– Used to implement the fetch and store operations

• Memory Data Register (MDR)– Contains data value being fetched or stored

• Memory Address Register (MAR) – Holds the address of the cell to be fetched or stored

Page 14: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 14

Figure 5.3 Structure of Random Access Memory

Page 15: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 15

Memory and Cache (continued)

• Fetch operation– The address of the desired memory cell is moved

into the MAR– Fetch/store controller signals a fetch, accessing the

memory cell– The value at the MAR’s location flows into the MDR

Page 16: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 16

Memory and Cache (continued)

• Store operation– The address of the cell where the value should go is

placed in the MAR– The new value is placed in the MDR– Fetch/store controller signals a store, copying the

MDR’s value into the desired cell

Page 17: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 17

Memory and Cache (continued)

• Two-dimensional structure– Memory organization

• Memory locations – Stored in row major order

• Selection lines– Row selection line– Column selection line

Page 18: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 18

Figure 5.6 Two-Dimensional Memory Address Organization

Page 19: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 19

Figure 5.7 Overall RAM Organization

Page 20: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 20

Memory and Cache (continued)

• Fetch/store controller– Determines whether we put contents of a memory

cell into the MDR or put the contents of the MDR into a memory cell

• Memory access time– Typically about 5 to 10 nsec

Page 21: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 21

Memory and Cache (continued)

• Cache memory– Principle of Locality: when the computer uses

something, it will probably use it again very soon, and it will probably use the “neighbors” of this item very soon

– Memory access is much slower than processing time– Faster memory is too expensive to use for all

memory cells– Small size, fast memory just for values currently in

use speeds computing time– Hit rate, average access time

Page 22: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 22

Page 23: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 23

Page 24: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 24

Input/Output and Mass Storage

• Input/output (I/O) units – Devices that allow a computer system to

communicate and interact with the outside world as well as store information

• Human interfaces: Monitor, keyboard, mouse

• External devices vary tremendously from each other

• Archival storage: Not dependent on constant power

Page 25: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 25

Input/Output and Mass Storage (continued)

• Input/output devices come in two basic types– Those that represent information in human-readable form for human consumption

– Those that store information in machine-readable form for access by a computer system, mass storage

Page 26: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 26

Input/Output and Mass Storage

• Volatile memory– Information disappears when power is turned off– Example: RAM

• Nonvolatile storage– Information does not disappear when the power is

turned off– Role of mass storage devices such as disks and

tapes

Page 27: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 27

Input/Output and Mass Storage (continued)

• Mass storage devices– Direct access storage device

• Hard drive, CD-ROM, DVD

• Uses its own addressing scheme to access data

– Sequential access storage device• Tape drive

• Stores data sequentially

• Used for backup storage these days

Page 28: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 28

Input/Output and Mass Storage (continued)

• Direct access storage devices– Data stored on a spinning disk– Disk divided into concentric rings (sectors, stores

information)– Read/write head moves from one ring to another

while disk spins– Access time depends on

• Time to move head to correct sector

• Time for sector to spin to data location

– Fixed number of sectors are placed in a concentric circle on the surface of the disk, called a track

Page 29: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 29

Figure 5.8 Overall Organization of a Typical Disk

One surface

Page 30: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 30

Input/Output and Mass Storage (continued)

• Seek time– Time needed to position the read/write head over the

correct track

• Latency – Time for the beginning of the desired sector to rotate

under the read/write head

• Transfer time – Time for the entire sector to pass under the

read/write head and have its contents read into or written from memory

Page 31: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 31

Input/Output and Mass Storage (continued)

• Given:– Rotation speed = 7,200 rev/min=120 rev/sec = 8.33 msec/rev

– Arm movement time = 0.02 msec to move to an adjacent track

– On average, the read/write head must move about 300 tracks

– Number of tracks/surface = 1,000

– Number of sectors/track = 64

– Number of bytes/sector = 1,024

• Seek time– Best case = 0 msec;– Worst case = 999*0.02=19.98 msec– Average case = 300*0.02 = 6 msec

Page 32: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 32

Input/Output and Mass Storage (continued)

• Given:– Rotation speed = 7,200 rev/min=120 rev/sec = 8.33 msec/rev

– Arm movement time = 0.02 msec to move to an adjacent track

– On average, the read/write head must move about 300 tracks

– Number of tracks/surface = 1,000

– Number of sectors/track = 64

– Number of bytes/sector = 1,024

• Latency– Best case = 0 msec;– Worst case = 8.33 msec– Average case = 4.17 msec

Page 33: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 33

Input/Output and Mass Storage (continued)

• Given:– Rotation speed = 7,200 rev/min=120 rev/sec = 8.33 msec/rev

– Arm movement time = 0.02 msec to move to an adjacent track

– On average, the read/write head must move about 300 tracks

– Number of tracks/surface = 1,000

– Number of sectors/track = 64

– Number of bytes/sector = 1,024

• Transfer time – 1/64 * 8.33 msec = 4.17 msec

Page 34: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 34

Input/Output and Mass Storage (continued)

Best Worst Average

Seek Time 0 19.88 6

Latency 0 8.33 4.17

Transfer 0.13 0.13 0.13

Total 0.13 28.44 10.3

Page 35: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 35

Page 36: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 36

Page 37: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 37

Input/Output and Mass Storage (continued)

• Sequential access storage device (SASD) – Does not require that all units of data be identifiable

via unique addresses

• Direct access storage devices– Much faster at accessing individual pieces of

information

Page 38: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 38

Input/Output and Mass Storage (continued)

• I/O controller– Has small amount of memory (I/O buffer)– I/O control and logic: ability to handle mechanical

functions of the I/O device– Intermediary between central processor and I/O

devices– Processor sends request and data, then goes on

with its work– I/O controller interrupts processor when request is

complete

Page 39: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 39

Figure 5.9 Organization of an I/O Controller

Page 40: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 40

The Arithmetic/Logic Unit

• Subsystem that performs addition, subtraction, and comparison for equality

• Components– Registers, interconnections between components,

and the ALU circuitry

• Register – Storage cell that holds the operands of an arithmetic

operation and holds its result

• Bus– Path for electrical signals

Page 41: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 41

The Arithmetic/Logic Unit

• Registers are similar to RAM with following minor differences– They do not have a numeric memory address but

are accessed by a special register designator such as A, X or R0

– They can be accessed much more quickly than regular memory cells

– They are not used for general purpose storage but for specific purposes such as holding the operands for an upcoming arithmetic computations.

• A typical ALU has 16, 32 or 64 registers.

Page 42: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 42

Figure 5.10 Three-Register ALU Organization

Page 43: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 43

Figure 5.11 Multiregister ALU Organization

Page 44: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

The Design Philosophy behind ALU

• The design philosophy behind an ALU is not to have it perform only the correct operation.

• Instead, it is to have every ALU circuit “do its thing” but then keep only the one desired answer.

Invitation to Computer Science, 6th Edition 44

Page 45: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 45

Figure 5.12 Using a Multiplexor Circuit to Select the Proper ALU Result

Page 46: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 46

Figure 5.13 Overall ALU Organization

Page 47: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 47

The Control Unit

• Stored program– The fundamental characteristics of the VON

Neumann architecture– Sequence of machine language instructions stored

as binary values in memory

• Control unit– Tasks: fetch, decode, and execute

Page 48: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

The Control Unit

• Fetch: get from memory the next instruction to be executed

• Decode: determine what is to be done

• Execute: issue the appropriate command to the ALU, memory or I/O controllers.

• These three steps are repeated over and over until we reach the last instruction in the program, typically something called HALT, STOP, or QUIT.

• To understand, control unit, first the characteristics of machine language instructions need to be learned

Invitation to Computer Science, 6th Edition 48

Page 49: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 49

Machine Language Instructions

• Instructions that can be decoded and executed by the control unit of a computer

• Operation code field – Unique unsigned integer code assigned to each

machine language operation recognized by the hardware

• Address field(s) – Memory addresses of values on which the operation

will work

Page 50: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 50

Figure 5.14 Typical Machine Language Instruction Format

Page 51: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 51

Machine Language Instructions (continued)

• Instruction set– Set of all operations that can be executed by a

processor

• Classes of machine language instructions– Data transfer– Arithmetic– Compare– Branch

Page 52: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 52

Machine Language Instructions (continued)

• Data transfer instructions– LOAD X – Load register R with the contents of

memory cell X.– STORE X – Store the content of register R into

memory cell X.– MOVE X, Y – Copy the contents of memory cell X

into memory cell Y

Page 53: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Machine Language Instructions (continued)

• Arithmetic/logic operations– Perform ALU operations that produce numeric

values

• Example:

• ADD X, Y, Z (Three – address instruction)

• CON(Z) = CON(X) + CON(Y)

• ADD X, Y (Two – address instruction)

• CON(Y) = CON(X) + CON(Y)

• ADD X (One – address instruction)

• R = CON(X) + RInvitation to Computer Science, 6th Edition 53

Page 54: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Machine Language Instructions (continued)

• Compare operations– Compare two values and set an indicator on the

basis of the results of the compare; set status register (or we call condition register, special register) bits

• Eg:

• COMPARE X, Y– CON(X) > CON(Y) set GT = 1, EQ = 0, LT = 0– CON(X) = CON(Y) set GT = 0, EQ = 1, LT = 0– CON(X) < CON(Y) set GT = 0, EQ = 0, LT = 1

Invitation to Computer Science, 6th Edition 54

Page 55: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Machine Language Instructions (continued)

• Branch operations– Jump to a new memory address to continue

processing

• Eg: – JUMP X (unconditionally)– JUMPGT X / JUMPEQ X / JUMPLT X– JUMPGE X / JUMPLE X – HALT

Invitation to Computer Science, 6th Edition 55

Page 56: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Machine Language Instructions (continued)

• Reduced instruction set computers or RISC machines– Include as little as 30–50 instructions

• Complex instruction set computers (CISC machines)– Include 300–500 very powerful instructions

Invitation to Computer Science, 6th Edition 56

Page 57: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 57

Control Unit Registers and Circuits

• Control unit depends on following two registers to fetch and execute instructions:

• Program counter (PC)– Holds the address of the next instruction to be

executed

• Instruction register (IR)– Holds a copy of the instruction fetched from memory

• Instruction decoder– Determines what instruction is in the IR

Page 58: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 58

Figure 5.16 Organization of the Control Unit Registers and Circuits

Page 59: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 59

Figure 5.17 The Instruction Decoder

Page 60: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 60

Figure 5.15 Examples of Simple Machine Language Instruction Sequences

Page 61: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 61

Page 62: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 62

Page 63: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 63

Putting All the Pieces Together–the Von Neumann Architecture

• Program execution phases– Fetch, decode, and execute

• Von Neumann cycle– The repetition of the fetch/decode/execute phase

Page 64: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 64

Figure 5.18 The Organization of a Von Neumann Computer

Page 65: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 65

Figure 5.19 Instruction Set for Our Von Neumann Machine

Page 66: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 66

Non-Von Neumann Architectures

• Problems that computers are being asked to solve – Have grown significantly in size and complexity

• Important limit on increased processor speed – Inability to place gates close together on a chip (50-

100 nanometers)

• Slowing down– Rate of increase in performance of newer machines

• Von Neumann bottleneck– Inability of the sequential one-instruction-at-a-time Von

Neumann model to handle today’s large-scale problems

Page 67: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 67

Figure 5.20 Graph of Processor Speeds, 1945 to the Present

Page 68: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Non-Von Neumann Architectures (continued)

• Parallel processing– Building computers not with one processor, but with

tens, hundreds, or even thousands

• SIMD parallel processing (vectors)– ALU is replicated many times– Each ALU has its own local memory where it may

keep private data

• MIMD parallel processing (subtasks)– All processors are replicated– Every processor is capable of executing its own

separate programInvitation to Computer Science, 6th Edition 68

Page 69: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 69

Figure 5.21 A SIMD Parallel Processing System

Page 70: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 70

Non-Von Neumann Architectures (continued)

• Scalability – It is possible to match the number of processors to

the size of the problem• Massively parallel MIMD machines

– Have achieved solutions to large problems thousands of times faster than is possible using a single processor

• Grid computing – Enables researchers to easily and transparently

access computer facilities without regard for their location

– SETI@home project, analyze radio telescope data

Page 71: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Invitation to Computer Science, 6th Edition 71

Summary of Level 2

• Chapter 4 – Looked at the basic building blocks of computers:

binary codes, transistors, gates, and circuits

• Chapter 5– Examined the standard model for computer design,

called the Von Neumann architecture

• System software– Intermediary between the user and the hardware

components of the Von Neumann machine

Page 72: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

Summary

• Computer organization – Examines different subsystems of a computer:

memory, input/output, arithmetic/logic unit, and control unit

• Machine language – Gives codes for each primitive instruction the

computer can perform and its arguments

• Von Neumann machine– Sequential execution of a stored program

• Parallel computers– Improve speed by doing multiple tasks at one time

Invitation to Computer Science, 6th Edition 72

Page 73: Invitation to Computer Science 6 th Edition Chapter 5 Computer Systems Organization

• Email the group member information to [email protected]

• Subject: Group

• Body: names of team members

• 2-4, individual

• Mar 27th

Invitation to Computer Science, 6th Edition 73