• No results found

Chapter 1 Computer System Overview

N/A
N/A
Protected

Academic year: 2022

Share "Chapter 1 Computer System Overview"

Copied!
59
0
0

Loading.... (view fulltext now)

Full text

(1)

Chapter 1 Computer System Overview

Eighth Edition By William Stallings

Operating Systems:

Internals and Design

Principles

(2)

Operating System

Exploits the hardware resources of one or more processors

Provides a set of services to system users

Manages secondary memory and I/O devices

(3)

Basic Elements

Processor

Main Memory

I/O Modules

System

Bus

(4)

Processor

Controls the operation of the

computer

Performs the data processing

functions

Referred to as the Central Processing Unit

(CPU)

(5)

Main Memory

 Volatile

 Contents of the memory is lost when the computer is shut down

 Referred to as real memory or

primary memory

(6)

I/O Modules

Moves data between the computer and

external

environments such as:

storage (e.g. hard drive)

communications equipment

terminals

(7)

System Bus

 Provides for

communication among

processors, main memory,

and I/O modules

(8)

PC MAR

IR MBR

I/O AR I/O BR

CPU Main Memory

System Bus

I/O Module

Buffers

Instruction

0 1 2

n - 2 n - 1 Data

Data Data Data Instruction Instruction

Figure 1.1 Computer Components: Top-Level View

PC = Program counter IR = Instruction register MAR = Memory address register MBR = Memory buffer register I/O AR = Input/output address register I/O BR = Input/output buffer register Execution

unit

(9)

Microprocessor

 Invention that brought about desktop and handheld computing

 Processor on a single chip

 Fastest general purpose processor

 Multiprocessors

 Each chip (socket) contains multiple

processors (cores)

(10)

Graphical Processing Units (GPU’s)

 Provide efficient computation on arrays of data using Single-Instruction Multiple Data (SIMD) techniques

 Used for general numerical processing

 Physics simulations for games

 Computations on large spreadsheets

(11)

Digital Signal Processors (DSPs)

 Deal with streaming signals such as audio or video

 Used to be embedded in devices like modems

 Encoding/decoding speech and video (codecs)

 Support for encryption and security

(12)

System on a Chip (SoC)

 To satisfy the requirements of handheld devices, the microprocessor is giving way to the SoC

 Components such as DSPs, GPUs, codecs and main memory, in

addition to the CPUs and caches,

are on the same chip

(13)

Instruction Execution

A program consists of a set of instructions stored in memory

processor reads (fetches) instructions

from memory

processor executes each instruction

Two steps

(14)

START Fetch Next HALT Instruction

Fetch Stage Execute Stage

Execute Instruction

Figure 1.2 Basic Instruction Cycle

(15)

The processor fetches the instruction from memory

Program counter (PC) holds address of the instruction to be fetched next

 PC is incremented after each fetch

(16)

Instruction Register (IR)

Fetched instruction is loaded into Instruction Register (IR)

Processor interprets the instruction and performs required action:

Processor-memory

Processor-I/O

Data processing

Control

(17)
(18)

2 PC 300

CPU Registers Memory

Fetch Stage Execute Stage

3 0 0 1 9 4 0

301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2

AC IR 1 9 4 0

Step 1

PC 300

CPU Registers Memory

3 0 1 1 9 4 0

301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2

AC IR 1 9 4 0 0 0 0 3

Step 2

PC 300

CPU Registers Memory

3 0 1

0 0 0 5

0 0 0 5 0 0 0 3

0 0 0 5 1 9 4 0

301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2

AC IR 5 9 4 1

Step 3

PC 300

CPU Registers Memory

3 0 2 1 9 4 0

301 5 9 4 1 302 2 9 4 1 1

940 0 0 0 3 941 0 0 0 2

AC IR 5 9 4 1

Step 4

PC 300

CPU Registers Memory

3 0 1 9 4 0

301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2

AC IR 2 9 4 1

Step 5

PC 300

CPU Registers Memory

3 0 3 1 9 4 0

301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 5

AC IR 2 9 4 1

Step 6

3 + 2 = 5

Figure 1.4 Example of Program Execution (contents of memory and registers in hexadecimal)

(19)

Interrupts

Interrupt the normal sequencing of the processor

Provided to improve processor utilization

most I/O devices are slower than the processor

processor must pause to wait for device

wasteful use of the processor

(20)

Table 1.1 Classes of Interrupts

Program Generated by some condition that occurs as a result of an instruction execution, such as arithmetic overflow, division by zero, attempt to execute an illegal machine instruction, and reference outside a user's allowed memory space.

Timer Generated by a timer within the processor. This allows the operating system to perform certain functions on a regular basis.

I/O Generated by an I/O controller, to signal normal

completion of an operation or to signal a variety of error conditions.

Hardware Generated by a failure, such as power failure or memory failure parity error.

(21)

Figure 1.5a

Flow of Control Without

Interrupts

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

END 1

2

3

2

3 4

5

(a) No interrupts

= interrupt occurs during course of execution of user program User

Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END 1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

(22)

Figure 1.5b Short I/O Wait

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

END 1

2

3

2

3 4

5

(a) No interrupts

= interrupt occurs during course of execution of user program User

Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END 1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

(23)

Figure 1.5c Long I/O Wait

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

END 1

2

3

2

3 4

5

(a) No interrupts

= interrupt occurs during course of execution of user program User

Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END 1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

User Program

WRITE

WRITE

WRITE

I/O Program

I/O Command

Interrupt Handler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

(24)

1 2

i i + 1

M Interrupt

occurs here

User Program Interrupt Handler

Figure 1.6 Transfer of Control via Interrupts

(25)

START

HALT

Fetch next instruction

Fetch Stage Execute Stage Interrupt Stage

Interrupts Disabled

Interrupts Enabled

Execute instruction

Check for interrupt;

initiate interrupt handler

Figure 1.7 Instruction Cycle with Interrupts

(26)

4 1

5 5

2

5

3 4

Time

I/O operation;

processor waits

I/O operation concurrent with processor executing

I/O operation concurrent with processor executing I/O operation;

processor waits

4 2a

1

2b 4 3a

5 3b

(a) Without interrupts

(b) With interrupts

Figure 1.8 Program Timing: Short I/O Wait

(27)

4 1

5

2

5

3 4

Time

4

2 1

5 4

(a) Without interrupts

(b) With interrupts

Figure 1.9 Program Timing: Long I/O Wait 3

5

I/O operation;

processor waits

I/O operation;

processor waits

I/O operation concurrent with processor executing;

then processor waits

I/O operation concurrent with processor executing;

then processor waits

(28)

Device controller or other system hardware issues an interrupt

Processor finishes execution of current instruction

Processor signals acknowledgment of interrupt

Processor pushes PSW and PC onto control stack

Processor loads new PC value based on interrupt

Save remainder of process state information

Process interrupt

Restore process state information

Restore old PSW and PC

Hardware Software

Figure 1.10 Simple Interrupt Processing

(29)

Start

N + 1 Y + L

N Y

Y T

Return

User's Program

Main Memory

Processor General Registers Program

Counter

Stack Pointer

N + 1 T – M

T – M T Control

Stack

Interrupt Service Routine

User's Program Interrupt Service Routine

(a) Interrupt occurs after instruction

at location N (b) Return from interrupt

Figure 1.11 Changes in Memory and Registers for an Interrupt

Start

N + 1 Y + L

N Y T

Return

Main Memory

Processor General Registers

Program Counter

Stack Pointer

Y + L + 1

T – M

T – M

T Control

Stack

N + 1

(30)

Multiple Interrupts

An interrupt occurs while another interrupt

is being processed

• e.g. receiving data from a communications line and printing results at the same time

Two approaches:

• disable interrupts while an interrupt is being

processed

• use a priority scheme

(31)

User Program

Interrupt Handler X

Interrupt Handler Y

(a) Sequential interrupt processing

(b) Nested interrupt processing

Figure 1.12 Transfer of Control with Multiple Interrupts

User Program

Interrupt Handler X

Interrupt Handler Y

(32)

User Program Printer

interrupt service routine

Communication interrupt service routine

Disk

interrupt service routine

Figure 1.13 Example Time Sequence of Multiple Interrupts

t = 10

t = 40

t = 15

t = 25

t = 25 t = 35 t = 0

(33)

Memory Hierarchy

Major constraints in memory

amount

speed

expense

Memory must be able to keep up with the processor

Cost of memory must be reasonable in relationship

to the other components

(34)

Memory Relationships

Faster access time

= greater cost per bit

Greater capacity

= smaller cost per

bit Greater

capacity = slower access

speed

(35)

The Memory Hierarchy

 Going down the hierarchy:

decreasing cost per bit

increasing capacity

increasing access time

decreasing frequency of access to the memory by the processor

Figure 1.14 The Memory Hierarchy

Inboard Memory

Outboard Storage

Off-line Storage

Main Memory

Magnetic Disk CD-ROM

CD-RW DVD-RW

DVD-RAM Blu-Ray

Magnetic Tape Cache

Reg- isters

(36)

0 T1 T1 + T2 T2

1 Fraction of accesses involving only Level 1 (Hit ratio)

Average access time

Figure 1.15 Performance of a Simple Two-Level Memory

(37)

Memory references by the processor tend to cluster

Data is organized so that the percentage of accesses to each successively lower level is substantially less than that of the level above

Can be applied across more than two levels of

memory

(38)

Secondary Memory

Also referred to as auxiliary

memory

• external

• nonvolatile

• used to store

program and data files

(39)

Invisible to the OS

Interacts with other memory management hardware

Processor must access memory at least once per instruction cycle

Processor execution is limited by memory cycle time

Exploit the principle of locality with a small, fast memory

(40)

CPU

Word Transfer

Fast

Fastest Fast

Lessfast Slow

Slow

Block Transfer

Cache Main Memory

Figure 1.16 Cache and Main Memory

(a) Single cache

(b) Three-level cache organization

CPU Level 1

(L1) cache

Level 2 (L2) cache

Level 3 (L3) cache

Main Memory

(41)

Memory address

0 1 2 0

1 2

C - 1

3

2n - 1

Word Length Block Length

(K Words)

Block 0 (K words)

Block M – 1 Line

Number Tag Block

(b) Main memory (a) Cache

Figure 1.17 Cache/Main-Memory Structure

(42)

Receive address RA from CPU

Is block containing RA in cache?

Fetch RA word and deliver to CPU

DONE

Access main memory for block containing RA

Allocate cache slot for main memory block

Deliver RA word to CPU

Load main memory block into cache slot

Figure 1.18 Cache Read Operation

START

No

RA - read address

Yes

(43)

Main categories

are:

cache size

block size

mapping function

replacement algorithm

write policy number of

cache levels

(44)

Cache and Block Size Cache Size

small caches have significant impact

on performance

Block Size

the unit of data exchanged

between cache and

main memory

(45)

Mapping Function

Two constraints affect design:

when one block is read in, another may have to be

replaced

the more flexible the mapping function, the

more complex is the circuitry required to

search the cache

∗ Determines which cache

location the block will occupy

(46)

Replacement Algorithm

chooses which block to replace when a new block is to be loaded into the cache

 Least Recently Used (LRU) Algorithm

effective strategy is to replace a block that has been in the cache the longest with no references to it

hardware mechanisms are needed to identify the least recently used block

(47)

Write Policy

• can occur every time the block is updated

• can occur when the block is replaced

• minimizes write operations

• leaves main memory in an obsolete state

Dictates when the memory write operation takes place

(48)

I/O Techniques

Three techniques are possible for I/O operations:

Programmed

I/O Interrupt-

Driven I/O Direct Memory Access (DMA)

When the processor encounters an instruction relating to I/O, it executes that instruction by issuing a command to the appropriate I/O module

(49)

Programmed I/O

The I/O module performs the requested action then sets the appropriate bits in the I/O status register

The processor periodically checks the status of the I/O module until it determines the instruction is complete

With programmed I/O the performance level of

the entire system is severely degraded

(50)

Interrupt-Driven I/O

Processor issues an I/O command to a

module and then goes on

to do some other useful

work

The I/O module will then interrupt the processor to request

service when it is ready to exchange

data with the processor

The processor executes the data transfer

and then resumes its

former processing

More efficient than Programmed I/O but

still requires active intervention of the processor to transfer data between memory

and an I/O module

(51)

Interrupt-Driven I/O Drawbacks

Transfer rate is limited by the speed with which the processor can test and service a device

The processor is tied up in managing an I/O transfer

 a number of instructions must be

executed for each I/O transfer

(52)

Direct Memory Access (DMA)

When the processor wishes to read or write data it issues a command to the DMA module containing:

• whether a read or write is requested

• the address of the I/O device involved

• the starting location in memory to read/write

• the number of words to be read/written

Performed by a separate module on the system bus or incorporated into an I/O module

(53)

Transfers the entire block of data directly to and from memory without going through the processor

processor is involved only at the beginning and end of the transfer

processor executes more slowly during a transfer when processor access to the bus is required

More efficient than interrupt-driven or

programmed I/O

(54)

Symmetric Multiprocessors (SMP)

 A stand-alone computer system with the following characteristics:

two or more similar processors of comparable capability

processors share the same main memory and are

interconnected by a bus or other internal connection scheme

processors share access to I/O devices

all processors can perform the same functions

the system is controlled by an integrated operating system that provides interaction between processors and their

programs at the job, task, file, and data element levels

(55)

Performance

• a system with multiple

processors will yield greater performance if work can be done in parallel

Availability

• the failure of a single

processor does not halt the machine

Incremental Growth

• an additional processor can be added to enhance

performance

Scaling

• vendors can offer a range of products with different price and performance

characteristics

(56)

L1 Cache

Processor

Main

Memory I/O

Subsystem

System Bus

I/O Adapter

Processor Processor

Figure 1.19 Symmetric Multiprocessor Organization

L1 Cache L1 Cache

L2 Cache L2 Cache L2 Cache

I/O Adapter

I/O Adapter

(57)

Multicore Computer

Also known as a chip multiprocessor

Combines two or more processors (cores) on a single piece of silicon (die)

each core consists of all of the components of an independent processor

In addition, multicore chips also include L2

cache and in some cases L3 cache

(58)

Figure 1.20 Intel Core i7-990X Block Diagram

Core 0

32 kB L1-I

32 kB L1-D

32 kB L1-I

32 kB L1-D

32 kB L1-I

32 kB L1-D

32 kB L1-I

32 kB L1-D

32 kB L1-I

32 kB L1-D

32 kB L1-I

32 kB L1-D 256 kB

L2 Cache

Core 1

256 kB L2 Cache

Core 2

3 8B @ 1.33 GT/s

256 kB L2 Cache

Core 3

256 kB L2 Cache

Core 4

256 kB L2 Cache

Core 5

256 kB L2 Cache 12 MB

L3 Cache DDR3 Memory

Controllers

QuickPath Interconnect

4 20b @ 6.4 GT/s

(59)

Summary

Cache memory

Motivation

Cache principles

Cache design

Direct memory access

Multiprocessor and

multicore organization

Symmetric

multiprocessors

Multicore computers

Basic Elements

Evolution of the microprocessor

Instruction execution

Interrupts

Interrupts and the instruction cycle

Interrupt processing

Multiple interrupts

The memory hierarchy

References

Related documents

In addition, consumption was affected by N fertilisation (Table 2; F 2,61 = 11.48, P < 0.001) such that total foliar consumption by caterpillars was greatest when N avail-

As for future work we intend to develop a generic framework comprising a methodology for selecting software pack- age, evaluation criteria, evaluation technique, and knowledge

Having analysed the common verb collocates of consequence, result, and outcome based on the corpus data from COCA, the researcher continued to search for

After all variables were simultan- eously entered into the model, four variables finally remained statistically significant (explaining 18.3% of the total variance, R 2 ) showing

• The “Double Double” rule says that a relationship is proportional if when the ‘x’ value doubles, the ‘y’ values also doubles.. – “Triple Triple” rule will work as

To address the need for teachers with the skills to effectively teach English Language Learner (ELL) students, Portland State University (PSU) collaborated with three Portland

In cases when driver wants to increase the following distance or planned to match the speed of the right lane if he intended to change lanes, the driver presses the brake pedal and

The presence of an intrinsic resistant cell population was supported by the isolation of D-resistant clonal cells in the parental cell line PC-3, before D exposure, with a