+ All Categories
Home > Documents > Computer System Overview

Computer System Overview

Date post: 25-Feb-2016
Category:
Upload: tamera
View: 59 times
Download: 0 times
Share this document with a friend
Description:
Computer System Overview. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some fashion to achieve the main function of the computer, which is to execute programs. Computer System…. - PowerPoint PPT Presentation
Popular Tags:
40
Computer System Overview At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some fashion to achieve the main function of the computer, which is to execute programs. 1
Transcript
Page 1: Computer System Overview

1

Computer System Overview

At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some fashion to achieve the main function of the computer, which is to execute programs.

Page 2: Computer System Overview

2

Computer System…

Thus, there are four main structural elements:Processor: Controls the operation of the computer and performs its data processing functions.Main memory: Stores data and programs. This memory is typically volatile; that is, when the computer is shut down, the contents of the memory are lost.

Page 3: Computer System Overview

3

Computer System…

I/O modules: Move data between the computer and its external environment. The external environment consists of a variety of devices, including secondary memory devices (e. g., disks), communications equipment, and terminals.System bus: Provides for communication among processors, main memory, and I/O modules.

Page 4: Computer System Overview

4

Page 5: Computer System Overview

5

Computer System…

One of the processor’s functions is to exchange data with memory. For this purpose, it typically makes use of two internal (to the processor) registers: memory address register (MAR), which specifies the address in memory for the next read or write; and a memory buffer register (MBR), which contains the data to be written into memory or which receives the data read from memory

Page 6: Computer System Overview

6

Computer System…

Similarly, an I/O address register (I/OAR) specifies a particular I/O device.An I/O buffer register (I/OBR) is used for the exchange of data between an I/O module and the processor.

Page 7: Computer System Overview

7

Computer System…

A processor includes a set of registers that provide memory that is faster and smaller than main memory. Processor registers serve two functions:User-visible registers: Enable the machine or assembly language programmer to minimize main memory references by optimizing register use. E.g.: Data registers, Address registers(Index

register, Segment pointer, Stack pointer)

Page 8: Computer System Overview

8

Computer System…

Control and Status RegistersProgram counter (PC): Contains the address of the next instruction to be fetchedInstruction register (IR): Contains the instruction most recently fetched

Page 9: Computer System Overview

9

INSTRUCTION EXECUTION A program to be executed by a processor consists of a set of instructions stored in memory. Instruction processing consists of two steps (Instruction cycle):The processor reads (fetches) instructions from memory one at a time and executes each instruction.

Page 10: Computer System Overview

10

INTERRUPTS

Virtually all computers provide a mechanism by which other modules (I/O, memory) may interrupt the normal sequencing of the processor. Interrupts are provided primarily as a way to improve processor utilization.

For example, most I/O devices are much slower than the processor.

Page 11: Computer System Overview

11

Handling Interrupts

Page 12: Computer System Overview

12

common InterruptsProgram 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 failure Generated by a failure, such as power failure or memory parity error.

Page 13: Computer System Overview

13

Interrupt and Instruction cycle

Page 14: Computer System Overview

14

THE MEMORY HIERARCHY

As might be expected, there is a tradeoff among the three key characteristics of memory: namely, capacity, access time, and cost. A variety of technologies are used to implement memory systems, and across this spectrum of technologies, the following relationships hold: • Faster access time, greater cost per bit • Greater capacity, smaller cost per bit • Greater capacity, slower access speed

Page 15: Computer System Overview

15

THE MEMORY HIERARCHYThe dilemma facing the designer is clear. The designer would like to use memory technologies that provide for large capacity memory, because the capacity is needed and because the cost per bit is low. However, to meet performance requirements, the designer needs to use expensive, relatively lower capacity memories with fast access times.The way out of this dilemma is to not rely on a single memory component or technology, but to employ a memory hierarchy.

Page 16: Computer System Overview

16

THE MEMORY HIERARCHY

Page 17: Computer System Overview

17

THE MEMORY HIERARCHY

As one goes down the hierarchy, the following occur:

a. Decreasing cost per bitb. Increasing capacityc. Increasing access timed. Decreasing frequency of access to the

memory by the processor

Page 18: Computer System Overview

18

CACHE MEMORY Cache memory is intended to provide memory access time approaching that of the fastest memories available and at the same time support a large memory size that has the price of less expensive types of semiconductor memories. There is a relatively large and slow main memory together with a smaller, faster cache memory. The cache contains a copy of a portion of main memory. When the processor attempts to read a byte or word of memory, a check is made to determine if the byte or word is in the cache. If so, the byte or word is delivered to the processor.

Page 19: Computer System Overview

19

CACHE MEMORY

Page 20: Computer System Overview

20

OPERATING SYSTEM

Page 21: Computer System Overview

21

What is an Operating System?

A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals:

Execute user programs and make solving user problems easier.Make the computer system convenient to use.

Use the computer hardware in an efficient manner.

Page 22: Computer System Overview

22

Computer System Components1. Hardware – provides basic computing resources (CPU,

memory, I/O devices).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).

Page 23: Computer System Overview

23

Abstract view of system components

Page 24: Computer System Overview

24

OPERATING SYSTEM…

An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work. The function of the operating system is to present the user with the equivalent of an extended machine or virtual machine that is easier to program than the underlying hardware.

Page 25: Computer System Overview

25

Memory Layout for a Simple Batch System

Page 26: Computer System Overview

26

Multi-programmed Batch Systems Several jobs are kept in main memory at the same

time, and the CPU is multiplexed among them.

Page 27: Computer System Overview

27

OPERATING SYSTEM…

Modern computers consist of processors, memories, timers, disks, mouse, network interfaces, printers, and a wide variety of other devices. In other way, the job of the operating system is to provide for an orderly and controlled allocation of the processors, memories, and I/O devices among the various programs competing for them.

Page 28: Computer System Overview

28

OPERATING SYSTEM… Resource management includes multiplexing (sharing) resources in two ways: in time and in space. When a resource is time multiplexed, different programs or users take turns using it. The other kind of multiplexing is space multiplexing. Instead of the customers taking turns, each one gets part of the resource. For example, main memory is normally divided up among several running programs, so each one can be resident at the same time (for example, in order to take turns using the CPU).

Page 29: Computer System Overview

29

OPERATING SYSTEM… A process is basically a program in execution. The operating system decides to stop running one process and start running another. When a process is suspended temporarily like this, it must later be restarted in exactly the same state it had when it was stopped. All the information about each process, other than the contents of its own address space, is stored in an operating system table called the process table.

Page 30: Computer System Overview

30

Most computers have two modes of operation: kernel mode and user mode.

The operating system is the most fundamental piece of software and runs in kernel mode (also called supervisor mode).

In this mode it has complete access to all the hardware and can execute any instruction the machine is capable of executing.

The rest of the software runs in user mode, in which only a subset of the machine instructions is available.

OPERATING SYSTEM…

Page 31: Computer System Overview

31

OPERATING SYSTEM…

A System call provide the means for a user program to ask the operating system to perform tasks reserved for the operating system on the user program’s behalf.

Page 32: Computer System Overview

HistoryEarly Systems - bare machine (1945 - 1955) – First GenerationStructure

o Large machines run from consoleo Single user systemo Programmer/User as operatoro Job usually in paper tape or punched cards

ExecutionCPU is often idle – slow speed of mechanical I/O devices

Inefficient use of expensive resourceso Low CPU utilizationo Significant amount of setup time

Page 33: Computer System Overview

Simple Batch Systems - Second Generation (1955-1965)

Use an operator (somebody to work on the machine) Add a card reader (a device to read programs written on

punched cards) Reduce setup time by batching similar jobs Automatic job sequencing - automatically transfers

control from one job to another. First rudimentary operating system.

Page 34: Computer System Overview

Multiprogramming and Time Sharing : Third Generation (1965-1980)

Multiprogramming

Several jobs are kept in main memory at the same time, and the CPU is sharedbetween them. Each job is called a process

OS Features Needed for Multiprogramming

I/O routine supplied by the system Memory management - the system must allocate the memory

to several jobs CPU scheduling - the system must choose among several jobs

ready to run Allocation of devices

Page 35: Computer System Overview

Multiprogramming and Time Sharing : Third Generation

Multiprogramming and batch systems provided an environment where the system resources were utilized effectively, but it did not provide for user interaction with the computer system

Solution : Time-Sharing Systems- Interactive Computing

o Most efficient for many users to share a large computero The CPU is shared between several processeso Each process belongs to a user and I/O is to/from a separate

terminal for each usero On-line file system must be available for users to access data

and code

Page 36: Computer System Overview

Personal Computer Systems : Fourth Generation (1980- present)

Personal computers - computer system dedicated to a single user

User convenience and responsiveness. Can adopt technology developed for larger operating

systems; often individuals have sole use of computer and do not need advanced CPU utilization or protection features.

Page 37: Computer System Overview

Parallel SystemsParallel Systems - multiprocessor systems with more than one CPU in close communicationTightly coupled system - processors share memory and a clock;communicationusually takes place through the shared memory.Advantages of parallel systems:

o Increased throughputo Economicalo Increased reliability

Symmetric multiprocessingo Each processor runs an identical copy of the operating systemo Many processes can run at once without performance deterioration

Asymmetric multiprocessingo Each processor is assigned a specific task; master processor schedules

and allocates work to slave processorso More common in extremely large systems

Page 38: Computer System Overview

Distributed SystemsDistributed Systems - distribute the computation among several physical processors

Loosely coupled system - each processor has its own local memory; processors communicate with one another through various communication lines, such as high-speed networks

Advantages of distributed systems:o Resource sharingo Computation speed up - load sharingo Reliability

oCommunication

Page 39: Computer System Overview

Real Time Systems

Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems

Well-defined fixed-time constraints OS must be able to respond very quickly

Page 40: Computer System Overview

Operating-System Structures

Most operating systems support the following types of system components:

o Process Managemento Main-Memory Managemento Secondary-Storage Managemento I/O System Managemento File Managemento Protection Systemo Networkingo Command-Interpreter System


Recommended