Guerrilla 7: Virtual Memory, ECC, IO

Similar documents
Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1

John Wawrzynek & Nick Weaver

CSE 351. Virtual Memory

Agenda. CS 61C: Great Ideas in Computer Architecture. Virtual Memory II. Goals of Virtual Memory. Memory Hierarchy Requirements

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Virtual Memory: From Address Translation to Demand Paging

A Few Problems with Physical Addressing. Virtual Memory Process Abstraction, Part 2: Private Address Space

CS 153 Design of Operating Systems Winter 2016

Virtual Memory Virtual memory first used to relive programmers from the burden of managing overlays.

Processes and Virtual Memory Concepts

Virtual Memory Oct. 29, 2002

DAT (cont d) Assume a page size of 256 bytes. physical addresses. Note: Virtual address (page #) is not stored, but is used as an index into the table

I/O CANNOT BE IGNORED

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

Computer Systems. Virtual Memory. Han, Hwansoo

CS 61C: Great Ideas in Computer Architecture. Virtual Memory

Virtual Memory. Motivations for VM Address translation Accelerating translation with TLBs

Translation Buffers (TLB s)

Main Memory (Fig. 7.13) Main Memory

CS 61C: Great Ideas in Computer Architecture Virtual Memory. Instructors: John Wawrzynek & Vladimir Stojanovic

Carnegie Mellon. Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition

Virtual Memory, Address Translation

Memory Hierarchy Requirements. Three Advantages of Virtual Memory

Virtual Memory, Address Translation

Chapter 8. Virtual Memory

198:231 Intro to Computer Organization. 198:231 Introduction to Computer Organization Lecture 14

Virtual Memory. Virtual Memory

Virtual Memory. Samira Khan Apr 27, 2017

VIRTUAL MEMORY II. Jo, Heeseung

Computer Structure. X86 Virtual Memory and TLB

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory. Bernhard Boser & Randy Katz

Virtual Memory Overview

Virtual Memory Nov 9, 2009"

CS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory

Address Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Virtual Memory. Computer Systems Principles

CS 61C: Great Ideas in Computer Architecture. Virtual Memory III. Instructor: Dan Garcia

Virtual Memory: From Address Translation to Demand Paging

Virtual Memory: Concepts

CISC 360. Virtual Memory Dec. 4, 2008

Virtual Memory Review. Page faults. Paging system summary (so far)

CPS104 Computer Organization and Programming Lecture 16: Virtual Memory. Robert Wagner

6.004 Tutorial Problems L20 Virtual Memory

ECE232: Hardware Organization and Design

CPS 104 Computer Organization and Programming Lecture 20: Virtual Memory

Pipelining Exercises, Continued

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Learning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.

The memory of a program. Paging and Virtual Memory. Swapping. Paging. Physical to logical address mapping. Memory management: Review

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

I/O CANNOT BE IGNORED

Learning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.

CSE 451: Operating Systems Winter Page Table Management, TLBs and Other Pragmatics. Gary Kimura

virtual memory. March 23, Levels in Memory Hierarchy. DRAM vs. SRAM as a Cache. Page 1. Motivation #1: DRAM a Cache for Disk

Lecture 19: Virtual Memory: Concepts

COSC3330 Computer Architecture Lecture 20. Virtual Memory

Virtual Memory. CS61, Lecture 15. Prof. Stephen Chong October 20, 2011

Pipelined processors and Hazards

CS162 - Operating Systems and Systems Programming. Address Translation => Paging"

14 May 2012 Virtual Memory. Definition: A process is an instance of a running program

Paging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Paging. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 24

CS 153 Design of Operating Systems Winter 2016

How to create a process? What does process look like?

Carnegie Mellon. 16 th Lecture, Mar. 20, Instructors: Todd C. Mowry & Anthony Rowe

Virtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1

virtual memory Page 1 CSE 361S Disk Disk

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 23

ECE331: Hardware Organization and Design

2-Level Page Tables. Virtual Address Space: 2 32 bytes. Offset or Displacement field in VA: 12 bits

VIRTUAL MEMORY. Operating Systems 2015 Spring by Euiseong Seo

UCB CS61C : Machine Structures

Motivations for Virtual Memory Virtual Memory Oct. 29, Why VM Works? Motivation #1: DRAM a Cache for Disk

Virtual Memory. Motivation:

Computer Architecture. Memory Hierarchy. Lynn Choi Korea University

Components of the Virtual Memory System

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 23

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources

CSE 153 Design of Operating Systems

Simple idea 1: load-time linking. Our main questions. Some terminology. Simple idea 2: base + bound register. Protection mechanics.

CS 341l Fall 2008 Test #4 NAME: Key

Dependability and ECC

ecture 33 Virtual Memory Friedland and Weaver Computer Science 61C Spring 2017 April 12th, 2017

Problem 9. VM address translation. (9 points): The following problem concerns the way virtual addresses are translated into physical addresses.

CS 152 Computer Architecture and Engineering. Lecture 9 - Address Translation

Reliable Computing I

UC Berkeley CS61C : Machine Structures

CS 4284 Systems Capstone. Virtual Memory Page Tables Godmar Back

Another View of the Memory Hierarchy. Lecture #25 Virtual Memory I Memory Hierarchy Requirements. Memory Hierarchy Requirements

Virtual Memory Worksheet

CSC Operating Systems Spring Lecture - XIX Storage and I/O - II. Tevfik Koşar. Louisiana State University.

RAID Structure. RAID Levels. RAID (cont) RAID (0 + 1) and (1 + 0) Tevfik Koşar. Hierarchical Storage Management (HSM)

Storage. Hwansoo Han

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568/668

18-447: Computer Architecture Lecture 18: Virtual Memory III. Yoongu Kim Carnegie Mellon University Spring 2013, 3/1

CSE 120. Operating Systems. March 27, 2014 Lecture 17. Mass Storage. Instructor: Neil Rhodes. Wednesday, March 26, 14

Chapter 8 Memory Management

Multi-level Page Tables & Paging+ segmentation combined

Transcription:

Guerrilla 7:, August 4, 2016 Guerrilla 7:,

Guerrilla 7:,

Why do we need? Guerrilla 7:,

Why do we need? Give each program the illusion that it has its own private address space. Provide protection between processes. Add disk to memory hierarchy. Guerrilla 7:,

Solution: Paged Memory System Program s view of memory can be broken up into pages Guerrilla 7:,

Solution: Paged Memory System Program s view of memory can be broken up into pages Guerrilla 7:,

Solution: Paged Memory System Program s view of memory can be broken up into pages Offset bits = log 2 (Page Size) VPN = VA bits - Offset bits PPN = PA bits - Offset bits could possibly be greater than Physical Memory Guerrilla 7:,

From VPN To PPN: Page Table Allow storage of program pages non-contiguously! PT resides in main memory: too large to keep in register. Guerrilla 7:,

From VPN To PPN: Page Table Allow storage of program pages non-contiguously! PT resides in main memory: too large to keep in register. Guerrilla 7:,

From VPN To PPN: Page Table Contains mapping from VA to PA. Guerrilla 7:,

From VPN To PPN: Page Table Contains mapping from VA to PA. Guerrilla 7:,

From VPN To PPN: Page Table Contains mapping from VA to PA. What is the page is invalid? What if the user does not have right to access a certain page? Guerrilla 7:,

PTE: Page Table Entry Guerrilla 7:,

Speedup: TLB A cache for Page Table Usually small, 32-128 entries Guerrilla 7:,

Speedup: TLB A cache for Page Table Usually small, 32-128 entries Usually fully associative cache. Why? Guerrilla 7:,

Speedup: TLB A cache for Page Table Usually small, 32-128 entries Usually fully associative cache. Why? TLB Reach: Amount of virtual address space that can be simultaneouly mapped by TLB TLB Reach = number of TLB entries * page size Guerrilla 7:,

Address Translation using TLB Guerrilla 7:,

Address Translation walkthrough Guerrilla 7:,

Oh I have a Page Fault Guerrilla 7:,

Guerrilla 7:,

Error Detection/Correction Code Memory system generates errors - accidentally flipped-bits) Guerrilla 7:,

Error Detection/Correction Code Memory system generates errors - accidentally flipped-bits) Extra bits are added to each M-bit data chunk to produce an N-bit code word Those extra bits are a function of the real data. Guerrilla 7:,

Single-Error Correction: Hamming ECC Guerrilla 7:,

Single-Error Correction: Hamming ECC Guerrilla 7:,

Memory-mapped IO Program accesses device with control and data register. Guerrilla 7:,

Polling Guerrilla 7:,

Polling CPU waits until the device is ready Little overhead Good for regular, frequent accesses Guerrilla 7:,

Interrupt Guerrilla 7:,

Interrupt Device sends interrupt to processor, processor halts program and goes to interrupt handler Large overhead - need to save program state Handler is inaccessible to user program Good for infrequent accesses Guerrilla 7:,

RAID Dependency and RAID Guerrilla 7:,

Dependability Measures Guerrilla 7:,

RAID Summary RAID 0: No redundancy RAID 1: Disk Mirroring/Shadowing RAID 2-4: Data Striping + Parity. (bit-striping, byte-striping, block striping) RAID 5: Interleaved parity. Guerrilla 7:,

RAID1 Guerrilla 7:,

RAID3 Guerrilla 7:,

RAID4 Guerrilla 7:,

RAID5 Guerrilla 7:,

Disk Access Time Guerrilla 7:,

Disk Access Time Guerrilla 7:,

Disk Access Time Guerrilla 7:,

Disk Access Time Guerrilla 7:,

Ending Guerrilla 7:,