ch01-computer system overview

36
Chapter 1 Computer System Overview BIT1213 OPERATING SYSTEMS

Upload: viveekdeep-singh

Post on 03-Feb-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Operating System

TRANSCRIPT

Page 1: CH01-Computer System Overview

Chapter 1

Computer System

Overview

BIT1213 OPERATING SYSTEMS

Page 2: CH01-Computer System Overview

Objectives

Basic elements of computer

Instruction Execution

Interrupts

The Memory Hierarchy

Cache Memory

Multiprocessor and multicore organization

Page 3: CH01-Computer System Overview

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

Viveek
Typewriter
Operating System is a program or software that help to :-
Viveek
Typewriter
Viveek
Rectangle
Viveek
Rectangle
Viveek
Rectangle
Viveek
Typewriter
Application
Viveek
Typewriter
Viveek
Typewriter
CPU
Viveek
Typewriter
Viveek
Typewriter
Operating System
Viveek
Arrow
Viveek
Arrow
Viveek
Typewriter
Operating System like a middleman
Page 4: CH01-Computer System Overview

Basic Elements of Computer

Processor

Main Memory

I/O Modules

System Bus

Viveek
Typewriter
Data Bus COntroller Bus Address Bus
Page 5: CH01-Computer System Overview

Processor

Controls the operation of the

computer

Performs the data processing functions

Referred to as the Central Processing

Unit (CPU)

Viveek
Typewriter
AMD Intel =Pins cant be touched with hand
Viveek
Typewriter
What are the main part of processor :- ALU ( arithmetic logic unit), Control unit, Register
Page 6: CH01-Computer System Overview

Main Memory

Volatile

Contents of the memory is lost when the computer

is shut down

Also referred to as real memory or primary

memory

Viveek
Typewriter
Main Memory = RAM (random access memory)
Viveek
Typewriter
Viveek
Typewriter
Access time is faster compared to hard disc
Viveek
Typewriter
Cache is the fastest access
Page 7: CH01-Computer System Overview

I/O Modules

Moves data between the computer and

external environments such as:

storage (e.g. hard drive)

communications equipment

terminals

Viveek
Typewriter
modules are attached to motherboard
Page 8: CH01-Computer System Overview

System Bus

Provides for

communication

among

processors,

main memory,

and I/O

modules

Viveek
Typewriter
When execute then only each instruction is stored in main memory. Then each cycle CPU will fetch instruction and execute the statement All go through system bus (wire).
Page 9: CH01-Computer System Overview

Instruction Execution

A program consists of a set of instructions

stored in memory

START HALTFetch Next

Instruction

Fetch Stage Execute Stage

Execute

Instruction

Figure 1.2 Basic Instruction Cycle

Page 10: CH01-Computer System Overview

Instruction Fetch and Execute

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

Fetched instruction is loaded into Instruction Register (IR)

Processor interprets the instruction and performs required action:

• Processor-memory

• Processor-I/O

• Data processing

• Control

Page 11: CH01-Computer System Overview

2

PC300

CPU RegistersMemory

Fetch Stage Execute Stage

3 0 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

Step 1

PC300

CPU RegistersMemory

3 0 11 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

0 0 0 3

Step 2

PC300

CPU RegistersMemory

3 0 10 0 0 5

0 0 0 5

0 0 0 3

0 0 0 5

1 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 3

PC300

CPU RegistersMemory

3 0 21 9 4 0301 5 9 4 1302 2 9 4 1

1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 4

PC300

CPU RegistersMemory

3 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR2 9 4 1

Step 5

PC300

CPU RegistersMemory

3 0 31 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 5

ACIR2 9 4 1

Step 6

3 + 2 = 5

Figure 1.4 Example of Program Execution

(contents of memory and registers in hexadecimal)

1. The PC contains 300, the address of the first

instruction. This instruction (the value 1940 in

hexadecimal) is loaded into the IR and the PC

is incremented. Note that this process involves

the use of a memory address register (MAR)

and a memory buffer register (MBR). For

simplicity, these intermediate registers are not

shown.

2. The first 4 bits (first hexadecimal digit) in the IR

indicate that the AC is to be loaded from

memory. The remaining 12 bits (three

hexadecimal digits) specify the address, which

is 940.

3. The next instruction (5941) is fetched from

location 301 and the PC is incremented.

4. The old contents of the AC and the contents of

location 941 are added and the result is stored

in the AC.

5. The next instruction (2941) is fetched from

location 302 and the PC is incremented.

6. The contents of the AC are stored in location

941.

Page 12: CH01-Computer System Overview

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

Page 13: CH01-Computer System Overview

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.

Page 14: CH01-Computer System Overview

Figure 1.5a

Flow of Control

Without

Interrupts

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

END

1

2

3

2

3

4

5

(a) No interrupts

= interrupt occurs during course of execution of user program

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

Page 15: CH01-Computer System Overview

Figure 1.5b

Short I/O Wait

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

END

1

2

3

2

3

4

5

(a) No interrupts

= interrupt occurs during course of execution of user program

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

Page 16: CH01-Computer System Overview

Figure 1.5c

Long I/O Wait

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

END

1

2

3

2

3

4

5

(a) No interrupts

= interrupt occurs during course of execution of user program

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1

2a

2b

3a

3b

4

5

(b) Interrupts; short I/O wait

UserProgram

WRITE

WRITE

WRITE

I/OProgram

I/OCommand

InterruptHandler

END

1 4

5

(c) Interrupts; long I/O wait

Figure 1.5 Program Flow of Control Without and With Interrupts

Page 17: CH01-Computer System Overview

1

2

i

i + 1

M

Interrupt

occurs here

User Program Interrupt Handler

Figure 1.6 Transfer of Control via Interrupts

Page 18: CH01-Computer System Overview

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

Viveek
Typewriter
At every instruction cycle must check for interrupt
Page 19: CH01-Computer System Overview

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

Page 20: CH01-Computer System Overview

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

Page 21: CH01-Computer System Overview

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

Page 22: CH01-Computer System Overview

Memory Relationships

Faster access time =

greater cost per bit

Greater capacity = smaller cost per bit

Greater capacity = slower access

speed

Viveek
Typewriter
go through many slot
Page 23: CH01-Computer System Overview

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

InboardM

emory

OutboardStorage

Off-lineStorage

Main

Memory

Magnetic

Disk

CD-ROM

CD-RW

DVD-RW

DVD-RAM

Blu-Ray

Magnetic

Tape

Cache

Reg-

isters

Viveek
Typewriter
lower level
Viveek
Typewriter
higher level
Viveek
Typewriter
Page 24: CH01-Computer System Overview

Principle of Locality

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

Viveek
Typewriter
stored in low level - easier to access
Page 25: CH01-Computer System Overview

Secondary Memory

Also referred to as auxiliary memory

• external

• nonvolatile

• used to store program and data files

Viveek
Typewriter
hard disc - permanent memory
Page 26: CH01-Computer System Overview

Cache Memory

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

Page 27: CH01-Computer System Overview

CPU

Word Transfer

Fast

Fastest FastLessfast

Slow

Slow

Block Transfer

Cache Main Memory

Figure 1.16 Cache and Main Memory

(a) Single cache

(b) Three-level cache organization

CPULevel 1

(L1) cache

Level 2

(L2) cache

Level 3

(L3) cache

Main

Memory

Page 28: CH01-Computer System Overview

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

Page 29: CH01-Computer System Overview

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

Page 30: CH01-Computer System Overview

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

Page 31: CH01-Computer System Overview

SMP Advantages

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

Page 32: CH01-Computer System Overview

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

Page 33: CH01-Computer System Overview

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

Page 34: CH01-Computer System Overview

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

Page 35: CH01-Computer System Overview

Review Questions

1. List and briefly define the four main elements

of a computer.

2. What is cache memory?

3. What is the difference multi-core and

multiprocessing?

Page 36: CH01-Computer System Overview

Review Questions

4. Suppose the hypothetical processor of Figure 1.3 also has two I/O instructions:

0011 Load AC from I/O

0111 Store AC to I/O

In these cases, the 12-bit address identifies a particular external device. Show the program execution (using format of Figure 1.4) for the following program:

1. Load AC from device 5.

2. Add contents of memory location 940.

3. Store AC to device 6.

Assume that the next value retrieved from device 5 is 3 and that location 940 contains a value of 2.