ECE 331 Hardware Organization and Design. UMass ECE Discussion 11 4/12/2018

Similar documents
ECE331: Hardware Organization and Design

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

Virtualization. Pradipta De

Virtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

CSCI 402: Computer Architectures. Performance of Multilevel Cache

Chapter 5 C. Virtual machines

W4118: virtual machines

Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 2)

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition. Chapter 5. Large and Fast: Exploiting Memory Hierarchy

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN ARM

ECE331: Hardware Organization and Design

Introduction to Virtual Machines

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY

Module 1: Virtualization. Types of Interfaces

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

HY225 Lecture 12: DRAM and Virtual Memory

Advanced Computer Architecture

CSE 237B Fall 2009 Virtualization, Security and RTOS. Rajesh Gupta Computer Science and Engineering University of California, San Diego.

Virtualization. Dr. Yingwu Zhu

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

System Virtual Machines

Virtual Machines. Part 1: 54 years ago. Operating Systems In Depth VIII 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Virtual Memory - Objectives

Virtual Virtual Memory

Fast access ===> use map to find object. HW == SW ===> map is in HW or SW or combo. Extend range ===> longer, hierarchical names

An overview of virtual machine architecture

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1

Introduction to Virtual Machines. Michael Jantz

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Virtualization. Virtualization

System Virtual Machines

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Fast access ===> use map to find object. HW == SW ===> map is in HW or SW or combo. Extend range ===> longer, hierarchical names

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

I, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3.

Virtualization Introduction

A Survey on Virtualization Technologies

COS 318: Operating Systems. Virtual Machine Monitors

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

CSE 120 Principles of Operating Systems

Computer Architecture Computer Science & Engineering. Chapter 5. Memory Hierachy BK TP.HCM

Virtualization and memory hierarchy

Error Detection. Hamming Codes 1

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

CSCE 410/611: Virtualization!

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

CS 550 Operating Systems Spring Introduction to Virtual Machines

CS 152 Computer Architecture and Engineering. Lecture 22: Virtual Machines

Introduction to Virtual Machines. Carl Waldspurger (SB SM 89 PhD 95) VMware R&D

Portland State University ECE 587/687. Virtual Memory and Virtualization

Guerrilla 7: Virtual Memory, ECC, IO

COSC 3406: COMPUTER ORGANIZATION

CSCE 410/611: Virtualization

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

Virtualization (II) SPD Course 17/03/2010 Massimo Coppola

Virtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

CLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University

1. Draw general diagram of computer showing different logical components (3)

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

The Future of Virtualization

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

ECE 331 Hardware Organization and Design. UMass ECE Discussion 10 4/5/2018

Cloud Computing Virtualization

CS 5523 Operating Systems: Memory Management (SGG-8)

1 Virtualization Recap

EE 6900: FAULT-TOLERANT COMPUTING SYSTEMS

CSC 5930/9010 Cloud S & P: Virtualization

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines

Nested Virtualization and Server Consolidation

Chapter 33: Virtual Machines

Virtual Machine Monitors!

CS370 Operating Systems

Distributed Systems COMP 212. Lecture 18 Othon Michail

Vmware VCP-101V. Infrastructure with ESX Server and VirtualCenter. Download Full Version :

Virtual Machine Security

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Computer Systems Engineering: Spring Quiz I Solutions

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

references Virtualization services Topics Virtualization

Basic Computer Hardware

C 1. Last time. CSE 490/590 Computer Architecture. Virtual Machines I. Types of Virtual Machine (VM) Outline. User Virtual Machine = ISA + Environment

Virtual machines are an interesting extension of the virtual-memory concept: not only do we give processes the illusion that they have all of memory

ECE232: Hardware Organization and Design

Single Byte Error Correcting Double Byte Error Detecting Codes For Memory Systems

Computer Architecture. Lecture 8: Virtual Memory

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Introduction to Virtualization

Server Virtualization Approaches

Πποχωπημένη Κατανεμημένη Υπολογιστική

Transcription:

ECE 331 Hardware Organization and Design UMass ECE Discussion 11 4/12/2018

Today s Discussion Topics Hamming Codes For error detection and correction Virtual Machines Virtual Memory

The Hamming SEC Code Hamming distance Number of bits that are different between two bit patterns 0011 0010 binary string #1 0000 0010 binary string #2 This leads to a Hamming distance of 2 Minimum distance = 2 provides single bit error detection e.g. parity code Minimum distance = 3 provides single error correction, 2 bit error detection ECE232: Introduction to Virtual Memory 16

Encoding SEC (Single Error Correcting) To calculate Hamming code: Number bits from 1 on the left All bit positions that are a power 2 are parity bits Each parity bit checks certain data bits: Note: In a break from convention, we start numbering bits from 1 on the left (MSB), as opposed to the rightmost (LSB) bit being zero ECE232: Introduction to Virtual Memory 17

Decoding SEC Value of parity bits indicates which bits are in error Use numbering from encoding procedure Example: We have an 8 bit value: 1001 1010 Add 4 bits for parity checking: 1_001 _1010 Bit 1 Bit 2 Bit 4 Bit 8 Bit 1 (0001) covers all bit locations that have a 1 in the LSB (e.g. 0001, 0011, etc., but not 0010, 0110, etc.) Bit 2 (0010) covers all bit locations that have a 1 in the 2 nd bit (e.g. 0010, 0011, etc., but not 0001, 0101, etc.) Bit 4 (0100) covers all bit locations that have a 1 in the 3 rd bit (e.g. 0100, 0101, etc., but not 0001, 1011, etc.) ECE232: Introduction to Virtual Memory 18

Example continued Fill out the remaining parity bits based on the rules of parity. In this case, for even parity 1_001 _1010 Bit 1 Bit 2 Bit 4 Bit 8 Bit 1: (add bits 1, 3, 5, 7, 9, and 11) à Bit 1 = 0 Bit 2: (add bits 2, 3, 6, 7, 10, and 11) à Bit 2 = 1 Bit 4: (add bits 4, 5, 6, 7, and 12) à Bit 4 = 1 Bit 8: (add bits 8, 9, 10, 11, and 12) à Bit 8 = 0 The resulting 12-bit value, that includes the Hamming correction code is 0111 0010 1010 ECE232: Introduction to Virtual Memory 19

Example continued If there is a single bit-error in the data stored in memory, we have 0111 0010 1110 We can check the parity bits Bit 1: add bits 1, 3, 5, 7, 9, and 11 = 4, even, okay! Bit 2: add bits 2, 3, 6, 7, 10, and 11 = 5, odd, error! Bit 4: add bits 4, 5, 6, 7, and 12 = 2, even, okay! Bit 8: add bits 8, 9, 10, 11, and 12 = 3, odd, error! Add the bit locations together to find out where the error is: 2 + 8 = 10. An error in Bit 10 Flip bit 10, 1 à 0 This fixes the problem! As long as there is only one error, this works for all bits, including the parity bits. ECE232: Introduction to Virtual Memory 20

An example Received data on even parity channel: 0xAC3 Is there an error? If so, where? What is the original data?

SEC/DEC SEC/DED Code Add an additional parity bit for the whole word (p n ) Make Hamming distance = 4 Decoding: Let H = SEC parity bits H even, p n even, no error H odd, p n odd, correctable single bit error H even, p n odd, error in p n bit H odd, p n even, double error occurred Note: ECC DRAM uses SEC/DEC with 8 bits protecting every 64 bits. With 72 bits, we can have Single Bit Error Corrections and Double Error Detections. Many DIMMS are 72 bits wide. SEC/DED Can be done across memory systems (e.g. hard drives for RAID) ECE232: Introduction to Virtual Memory 21

Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple guests Avoids security and reliability problems Aids sharing of resources Virtualization has some performance impact Feasible with modern high-performance comptuers Examples IBM VM/370 (1970s technology!) VMWare Microsoft Virtual PC ECE232: Introduction to Virtual Memory 3

Virtual Machine Monitor (VMM) Maps virtual resources to physical resources Memory, I/O devices, CPUs Guest code runs on native machine in user mode Traps to VMM on privileged instructions and access to protected resources Guest OS may be different from host OS VMM handles real I/O devices Emulates generic virtual I/O devices for guest Guest OS s: VM1 VM2 VM3 Host OS VMM I/O Processor, running ISA ECE232: Introduction to Virtual Memory 23

Virtual Memory - Objectives 1. Allow program to be written without memory constraints program can exceed the size of the main memory 2. Many Programs sharing DRAM Memory so that context switches can occur 3. Relocation: Parts of the program can be placed at different locations in the memory instead of a big chunk Virtual Memory: I. Main Memory holds many programs running at same time (processes) II. use Main Memory as a kind of cache for disk Datapath Processor Control Cache Regs Main Memory (DRAM) Disk ECE232: Introduction to Virtual Memory 7

Two Tasks sharing the Physical Memory ECE232: Introduction to Virtual Memory 11