Chapter 1 Computer System Overview



Similar documents
Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

1. Computer System Structure and Components

Computer Systems Structure Input/Output

MICROPROCESSOR AND MICROCOMPUTER BASICS

Central Processing Unit

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

LSN 2 Computer Processors

Chapter 11 I/O Management and Disk Scheduling

CSC 2405: Computer Systems II

Operating Systems Overview

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Robert Wagner

Microprocessor & Assembly Language

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Computer Organization & Architecture Lecture #19

361 Computer Architecture Lecture 14: Cache Memory

A3 Computer Architecture

Record Storage and Primary File Organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Computer Organization

Central Processing Unit (CPU)

CHAPTER 7: The CPU and Memory

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Chapter 1: Introduction. What is an Operating System?

Chapter 11 I/O Management and Disk Scheduling

Traditional IBM Mainframe Operating Principles

Have both hardware and software. Want to hide the details from the programmer (user).

Chapter 2: OS Overview

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Physical Data Organization

Introduction to Cloud Computing

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Operating Systems 4 th Class

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

Introduction. What is an Operating System?

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

The Central Processing Unit:

Types Of Operating Systems

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

Outline: Operating Systems

CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

COS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

Operating Systems. Virtual Memory

Computer-System Architecture

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Overview of Operating Systems Instructor: Dr. Tongping Liu

Computer Organization and Architecture. Characteristics of Memory Systems. Chapter 4 Cache Memory. Location CPU Registers and control unit memory

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

MACHINE ARCHITECTURE & LANGUAGE

The Orca Chip... Heart of IBM s RISC System/6000 Value Servers

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Computer Systems Structure Main Memory Organization

1 PERSONAL COMPUTERS

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Tech Application Chapter 3 STUDY GUIDE

Operating system Dr. Shroouq J.

An Introduction to the ARM 7 Architecture

Distribution One Server Requirements


Exception and Interrupt Handling in ARM

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

INTRODUCTION The collection of data that makes up a computerized database must be stored physically on some computer storage medium.

Lecture 2: Computer Hardware and Ports.

Spacecraft Computer Systems. Colonel John E. Keesee

CSE2102 Digital Design II - Topics CSE Digital Design II

We r e going to play Final (exam) Jeopardy! "Answers:" "Questions:" - 1 -

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Chapter 13 Embedded Operating Systems

Big Picture. IC220 Set #11: Storage and I/O I/O. Outline. Important but neglected

PROBLEMS. which was discussed in Section

Lecture 1 Operating System Overview

Putting it all together: Intel Nehalem.

The Quest for Speed - Memory. Cache Memory. A Solution: Memory Hierarchy. Memory Hierarchy

PART B QUESTIONS AND ANSWERS UNIT I

Linux Process Scheduling Policy

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

İSTANBUL AYDIN UNIVERSITY

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging

The PC Boot Process - Windows XP.

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

INPUT/OUTPUT ORGANIZATION

Input / Output and I/O Strategies

Discovering Computers Living in a Digital World

Principles of Operating Systems CS 446/646

OPERATING SYSTEM - VIRTUAL MEMORY

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Programming Logic controllers

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Data Storage - I: Memory Hierarchies & Disks

Transcription:

Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings

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

Basic Elements Processor I/O Modules Main Memory System Bus

Processor Controls the operation of the computer Performs the data processing functions Referred to as the Central Processing Unit (CPU)

Main Memory Volatile Contents of the memory is lost when the computer is shut down Referred to as real memory or primary memory

I/O Modules Moves data between the computer and external environments such as: storage (e.g. hard drive) communications equipment terminals

System Bus Provides for communication among processors, main memory, and I/O modules

PC IR CPU MAR MBR System Bus Main Memory Instruction Instruction Instruction 0 1 2 Execution unit I/O AR I/O BR Data Data Data Data I/O Module n - 2 n - 1 Buffers 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 Figure 1.1 Computer Components: Top-Level View

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)

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

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

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

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

Fetch Stage Execute Stage START Fetch Next Instruction Execute Instruction HALT Figure 1.2 Basic Instruction Cycle

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

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

Fetch Stage Execute Stage Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 CPU Registers 3 0 0 PC AC 1 9 4 0 IR Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 CPU Registers 3 0 1 PC 0 0 0 3 AC 1 9 4 0 IR Step 1 Step 2 Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 CPU Registers 3 0 1 PC 0 0 0 3 AC 5 9 4 1 IR Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 CPU Registers 3 0 2 PC 0 0 0 5 AC 5 9 4 1 IR 3 + 2 = 5 Step 3 Step 4 Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 CPU Registers 3 0 2 PC 0 0 0 5 AC 2 9 4 1 IR Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 5 CPU Registers 3 0 3 PC 0 0 0 5 AC 2 9 4 1 IR Step 5 Step 6 Figure 1.4 Example of Program Execution (contents of memory and registers in hexadecimal)

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

Table 1.1 Classes of Interrupts Program Timer I/O Hardware failure 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. Generated by a timer within the processor. This allows the operating system to perform certain functions on a regular basis. Generated by an I/O controller, to signal normal completion of an operation or to signal a variety of error conditions. Generated by a failure, such as power failure or memory parity error.

User Program I/O Program User Program 1 4 1 Figure 1.5a WRITE I/O Command 5 WRITE 2 END 2a Flow of Control 2b Without Interrupts WRITE 3 WRITE 3a 3b WRITE WRITE (a) No interrupts (b) Inter

User Program I/O Program User Program I/O Program User Program 1 4 1 4 1 WRITE I/O Command WRITE I/O Command WRITE 5 Figure 2 1.5b END 2a 2b Interrupt Handler 2 WRITE WRITE 5 WRITE Short I/O Wait 3a END 3 3 3b WRITE WRITE WRITE (a) No interrupts (b) Interrupts; short I/O wait (c) In

I/O Program User Program I/O Program User Program I/O Program 4 1 4 1 4 I/O Command WRITE I/O Command WRITE I/O Command 5 Figure 2a 1.5c END 2 2b Interrupt Handler Interrupt Handler WRITE Long I/O Wait 3a 5 END WRITE 5 END 3 3b WRITE WRITE o interrupts (b) Interrupts; short I/O wait (c) Interrupts; long I/O wait

User Program Interrupt Handler 1 2 Interrupt occurs here i i + 1 M Figure 1.6 Transfer of Control via Interrupts

Fetch Stage Execute Stage Interrupt Stage START Fetch next instruction Execute instruction Interrupts Disabled Interrupts Enabled Check for interrupt; initiate interrupt handler HALT Figure 1.7 Instruction Cycle with Interrupts

Time 1 1 4 I/O operation; processor waits 5 5 4 2a I/O operation concurrent with processor executing 2 2b 4 4 I/O operation; processor waits 3a 5 I/O operation concurrent with processor executing 5 3b 3 (b) With interrupts (a) Without interrupts Figure 1.8 Program Timing: Short I/O Wait

Time 1 4 1 4 5 I/O operation; processor waits 2 I/O operation concurrent with processor executing; then processor waits 2 5 4 4 I/O operation; processor waits 3 I/O operation concurrent with processor executing; then processor waits 5 5 3 (b) With interrupts (a) Without interrupts Figure 1.9 Program Timing: Long I/O Wait

Hardware Software Device controller or other system hardware issues an interrupt Processor finishes execution of current instruction Save remainder of process state information Process interrupt Processor signals acknowledgment of interrupt Processor pushes PSW and PC onto control stack Processor loads new PC value based on interrupt Restore process state information Restore old PSW and PC Figure 1.10 Simple Interrupt Processing

T M Control Stack T N + 1 Program Counter Y T M Control Stack T N + 1 Y + L + 1 Program Counter Y Y + L Start Return Interrupt Service Routine General Registers T Stack Pointer Y Y + L Start Return Interrupt Service Routine General Registers T M Stack Pointer Processor Processor T M T N N + 1 User's Program N N + 1 User's Program Main Memory (a) Interrupt occurs after instruction at location N Main Memory (b) Return from interrupt Figure 1.11 Changes in Memory and Registers for an Interrupt

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

User Program Interrupt Handler X Interrupt Handler Y (a) Sequential interrupt processing User Program Interrupt Handler X Interrupt Handler Y (b) Nested interrupt processing Figure 1.12 Transfer of Control with Multiple Interrupts

User Program t = 0 Printer interrupt service routine Communication interrupt service routine t = 10 t = 15 t = 25 t = 40 t = 25 Disk interrupt service routine t = 35 Figure 1.13 Example Time Sequence of Multiple Interrupts

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

Memory Relationships Faster access time = greater cost per bit Greater capacity = smaller cost per bit Greater capacity = slower access speed

The Memory Hierarchy Going down the hierarchy: Inboard Memory Registers Cache Main Memory decreasing cost per bit increasing capacity increasing access time decreasing frequency of access to the memory by the processor Off-line Storage Outboard Storage Magnetic Disk CD-ROM CD-RW DVD-RW DVD-RAM Blu-Ray Magnetic Tape Figure 1.14 The Memory Hierarchy

Average access time T 1 + T 2 T 2 T 1 0 1 Fraction of accesses involving only Level 1 (Hit ratio) Figure 1.15 Performance of a Simple Two-Level Memory

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

Secondary Memory Also referred to as auxiliary memory external nonvolatile used to store program and data files

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

Word Transfer Block Transfer CPU Cache Main Memory Fast Slow (a) Single cache CPU Level 1 (L1) cache Level 2 (L2) cache Level 3 (L3) cache Main Memory Fastest Fast Less fast Slow (b) Three-level cache organization Figure 1.16 Cache and Main Memory

Line Number Tag Block 0 1 2 Memory address 0 1 2 3 Block 0 (K words) C - 1 Block Length (K Words) (a) Cache Block M 1 2 n - 1 Word Length (b) Main memory Figure 1.17 Cache/Main-Memory Structure

START Receive address RA from CPU RA - read address Is block containing RA in cache? Yes Fetch RA word and deliver to CPU No Access main memory for block containing RA Allocate cache slot for main memory block Load main memory block into cache slot Deliver RA word to CPU DONE Figure 1.18 Cache Read Operation

cache size number of cache levels block size Main categories are: write policy mapping function replacement algorithm

Cache and Block Size Cache Size Block Size small caches have significant impact on performance the unit of data exchanged between cache and main memory

Mapping Function Determines which cache location the block will occupy 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

Replacement Algorithm 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 chooses which block to replace when a new block is to be loaded into the cache

Write Policy Dictates when the memory write operation takes place 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

I/O Techniques When the processor encounters an instruction relating to I/O, it executes that instruction by issuing a command to the appropriate I/O module Three techniques are possible for I/O operations: Programmed I/O Interrupt- Driven I/O Direct Memory Access (DMA)

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

Interrupt-Driven I/O Processor issues an I/O command to a module and then goes on to do some other useful work The processor executes the data transfer and then resumes its former processing The I/O module will then interrupt the processor to request service when it is ready to exchange data with the processor More efficient than Programmed I/O but still requires active intervention of the processor to transfer data between memory and an I/O module

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

Direct Memory Access (DMA) Performed by a separate module on the system bus or incorporated into an I/O module 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

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

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

Performance a system with multiple processors will yield greater performance if work can be done in parallel Scaling vendors can offer a range of products with different price and performance characteristics Availability the failure of a single processor does not halt the machine Incremental Growth an additional processor can be added to enhance performance

Processor L1 Cache Processor L1 Cache Processor L1 Cache L2 Cache L2 Cache L2 Cache System Bus Main Memory I/O Subsystem I/O Adapter I/O Adapter I/O Adapter Figure 1.19 Symmetric Multiprocessor Organization

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

Core 0 Core 1 Core 2 Core 3 Core 4 Core 5 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 256 kb L2 Cache 256 kb L2 Cache 256 kb L2 Cache 256 kb L2 Cache 256 kb L2 Cache 12 MB L3 Cache DDR3 Memory Controllers QuickPath Interconnect 3 8B @ 1.33 GT/s 4 20b @ 6.4 GT/s Figure 1.20 Intel Core i7-990x Block Diagram

Summary Basic Elements Evolution of the microprocessor Instruction execution Interrupts Interrupts and the instruction cycle Interrupt processing Multiple interrupts The memory hierarchy Cache memory Motivation Cache principles Cache design Direct memory access Multiprocessor and multicore organization Symmetric multiprocessors Multicore computers