Las time: Large Pages Last time: VAX translation. Today: I/O Devices
|
|
- Joel Parsons
- 5 years ago
- Views:
Transcription
1 Last time: P6 (ia32) Address Translation CPU 32 result L2 and DRAM Lecture 20: Devices and I/O Computer Architecture and Systems Programming ( ) Timothy Roscoe Herbstsemester virtual address (VA) VPN VPO 10 VPN1 16 TLBT TLB miss 10 VPN2 4 TLBI PDE... TLB (16 sets, 4 entries/set) PTE TLB hit L1 hit PPN PPO physical address (PA) L1 (128 sets, 4 lines/set)... L1 miss CT CI CO Systems Group Department of Computer Science ETH Zürich PDBR Page tables Last time: VAX translation 0x 21 9 Addr VPN Addr VPO 10 PxTB Addr VPN PTE VPN PTE VPO (in seg. Px: user space) (in seg. S0: system space) Las time: Large Pages VPN VPO VPN VPO versus PPN PPO PPN PPO 10 SPTB PTE VPN 00 Load 10 PTE PFN PTE VPO Load 10 Addr PFN Addr dr PFO Load Data mapping the PTE we want we want - -bit Reduces compulsory TLB misses How to use (Linux) hugetlbfs support (since at least ) Use libhugetlbs {m,c,re}alloc replacements -matrix multiply: c a Solution: O(B 2 3 ) operations * each row used O(B) times but every time O(B 2 ) ops between b + c Today: I/O Devices
2 What is a device? Occupies some location on a bus registers interrupts Today: I/O Devices Registers Read input data CPU can store to device registers: Write output data Reset states Example: National Semiconductor ns16550 UART Universal Asynchronous Receiver/Transmitter RS-232 serial line Chip now integrated into Southbridge on all PCs Rarely seen on laptops any more First device driver OS Registers given in chip datasheets or data trusted by OS programmers From the data ns16550 UART Addressing registers 1. Registers appear as memory locations Access using loads/stores (movb/movw/movl/movq) 2. I/O instructions : Special instructions: inb, outb, etc. 3. Indirection: with the actual register value Used to save scarce address space (usually I/O space)
3 ns16550 LSR: Line Status Register Addr. Name Description Notes 0 RBR (read only) 0 THR Transmit Holding Register (write only) 1 IER Interrupt Enable Register 2 IIR 2 FCR FIFO Control Register (write only) 3 LCR Line Control Register 4 Control Register 5 LSR Line Status Register 6 7 SCR Scratch Register 0 DLL Divisor Latch (LSB) 1 DLAB = bit 7 of the LCR register 0 7 DR OE PE FE BI THRE TEMT ERRF Error in Receiver FIFO Transmitter Empty Transmit Holding Register Empty Framing Error Parity Error Overrun Error Data Ready Very simple UART driver Very simple UART driver #define UART_BASE 0x3f8 #define UART_THR (UART_BASE + 0) #define UART_RBR (UART_BASE + 0) #define UART_LSR (UART_BASE + 5) void serial_putc(char c) { // Wait until FIFO can hold more chars while( (inb(uart_lsr) & 0x20)== 0); // Write character to FIFO outb(uart_thr, c); } char serial_getc() { // Wait until there is a char to read while( (inb(uart_lsr) & 0x01) == 0); // Read from the receive FIFO return inb(uart_rbr); } Register addresses Send a character (wait Read a character (spin waiting until one is there to read) Uses Programmed I/O (PIO) All data must pass through CPU registers Uses polling Can t do anything else in the meantime Although could be extended with threads and care Without CPU polling, no I/O can occur Registers are not memory Device registers don t behave like RAM! Status words Incoming data Writes to registers are used to trigger actions Sending data Resetting state machines Dealing with caches Register value changes cache becomes inconsistent Write- Reads and writes cannot be combined into cache lines Line- Even spurious reads trigger device state changes Device register access must bypass the cache PTEs I/O space access isn t cached anyway
4 Other challenges 1. How to avoid polling all the time? 2. How to avoid the CPU copying all the data? caches? Can the CPU get on with something else? 3. How are the physical addresses allocated? Today: I/O Devices Avoiding polling Solution: device can interrupt the processor address vector Interrupts CPU Interrupt-request line triggered by I/O device - or level-triggered Interrupt handler receives interrupts Maskable to ignore or delay some interrupts Interrupt vector to dispatch interrupt to correct handler Based on priority Some nonmaskable 0 Divide error 1 Debug exception 2 Non-maskable interrupt (NMI) Bound 6 Invalid opcode 7 Coprocessor not available 9 Coprocessor A B Segment not present C D E Page Fault F Reserved F Reserved to Intel 20-FF Available for external interrupts Programmable Interrupt Controllers NMI INTR INTA D0 D7 PIC IRQ0 IRQ1 IRQ<n-1> Device 1 Device 2 Device n
5 Today: I/O Devices Avoid programmed I/O DMA controller Generally built-in these days device and memory Can save memory bandwidth Old- 5. interrupts CPU to complete 4. byte to address A, increments A, decrements S. controller PCI bus CPU Cache Frontside (memory) bus controller 1. controller Decoupling Doesn t pollute CPU cache Can be processed when the CPU (or OS) decides Higher- Possible disadvantages: Generally not a problem (even the UARTs inconsistent with CPU caches Options: 1. -cacheable large hit probably wants to process data anyway physical Appear on external bus User and OS code deal with virtual addresses (mostly) OS (and device drivers) must manually translate virtual not be contiguous in physical address space Scatter-gather
6 Today: I/O Devices Where are all the registers? Where are the device registers in the physical address space? And which interrupt vectors correspond to them? Solution: built into the I/O bus design Example: PCI PCI is Peripheral Component Interconnect -X, PCI-Express, etc. devices - PCIe has succeeded PCI, but extends the same software-visible interface PCI tries to solve many problems: Device discovery Finding out which devices are in the system Address allocation Which addresses should each device s registers appear at? Interrupt routing which exception vectors? Physical connections: PCI is a tree NIC Sound USB CPU PCI-PCI bridge PCI root bridge Wireless SCSI Graphics Also: PCI-ISA PCI-USB PCI-SCSI Etc. PCI address space is flat Physical address space (32-bit or 64-bit) I/O address space (usually 16-bit) Bridges up the tree remap addresses to the device Result: In memory space
7 -describing Accessed through parent bridge, initially Plus: Bits Description 16 ID ( Intel, 3Com, NVidia, etc Interrupts Etc. Finding all the devices Find the PCI root complex bridge Large PCs can have more than one recurse Result is: Allocating addresses bridge s range Each bridge has a range which includes all it s children. Each range is aligned to some power- -2 boundary Then program: Each device with base-address/range (BAR) registers Four interrupt lines PCI Interrupts INTA, INTB, INTC, INTD Translated by root bridge into system interrupt PCI Express introduces -signalled interrupts Translated by root bridge into system interrupt Interrupts can be individually steered to particular cores/apics PCI allows Bus Mastering Device can issue read/write transactions to anywhere in memory Even (in some cases) other PCI devices Principle applies: device Today: I/O Devices
8 Intelligent devices Example: Intel e1000 PCI- Express Ethernet card Devices can now autonomously access any: Other devices CPU Device interaction Extensive in- in hardware etc. Summary Devices and the CPU communicate via: Interrupts and interrupt vectors I/O Interconnects (such as PCI): Allow devices to share/allocate physical addresses Allocate interrupts Permit bus mastering direct memory access
Systems Programming and Computer Architecture ( ) Timothy Roscoe
Systems Group Department of Computer Science ETH Zürich Systems Programming and Computer Architecture (252-6-) Timothy Roscoe Herbstsemester 26 AS 26 Virtual Memory 8: Virtual Memory Computer Architecture
More informationSystems Programming and Computer Architecture ( ) Timothy Roscoe
Systems Group Department of Computer Science ETH Zürich Systems Programming and Computer Architecture (252-0061-00) Timothy Roscoe Herbstsemester 2016 AS 2016 Exceptions 1 17: Exceptions Computer Architecture
More informationP6/Linux Memory System Nov 11, 2009"
P6/Linux Memory System Nov 11, 2009" REMEMBER" 2! 3! Intel P6" P6 Memory System" DRAM" external system bus (e.g. PCI)" L2" cache" cache bus! bus interface unit" inst" TLB" instruction" fetch unit" L1"
More informationVirtual Memory. Samira Khan Apr 27, 2017
Virtual Memory Samira Khan Apr 27, 27 Virtual Memory Idea: Give the programmer the illusion of a large address space while having a small physical memory So that the programmer does not worry about managing
More informationPentium/Linux Memory System March 17, 2005
15-213 The course that gives CMU its Zip! Topics Pentium/Linux Memory System March 17, 2005 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping 17-linuxmem.ppt
More informationMemory System Case Studies Oct. 13, 2008
Topics 15-213 Memory System Case Studies Oct. 13, 2008 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping Class15+.ppt Intel P6 (Bob Colwell s Chip,
More information14 May 2012 Virtual Memory. Definition: A process is an instance of a running program
Virtual Memory (VM) Overview and motivation VM as tool for caching VM as tool for memory management VM as tool for memory protection Address translation 4 May 22 Virtual Memory Processes Definition: A
More informationVirtual Memory Oct. 29, 2002
5-23 The course that gives CMU its Zip! Virtual Memory Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs class9.ppt Motivations for Virtual Memory Use Physical
More informationVirtual Memory Nov 9, 2009"
Virtual Memory Nov 9, 2009" Administrivia" 2! 3! Motivations for Virtual Memory" Motivation #1: DRAM a Cache for Disk" SRAM" DRAM" Disk" 4! Levels in Memory Hierarchy" cache! virtual memory! CPU" regs"
More informationCSE 351. Virtual Memory
CSE 351 Virtual Memory Virtual Memory Very powerful layer of indirection on top of physical memory addressing We never actually use physical addresses when writing programs Every address, pointer, etc
More informationCSE 153 Design of Operating Systems
CSE 53 Design of Operating Systems Winter 28 Lecture 6: Paging/Virtual Memory () Some slides modified from originals by Dave O hallaron Today Address spaces VM as a tool for caching VM as a tool for memory
More informationVirtual Memory. Motivations for VM Address translation Accelerating translation with TLBs
Virtual Memory Today Motivations for VM Address translation Accelerating translation with TLBs Fabián Chris E. Bustamante, Riesbeck, Fall Spring 2007 2007 A system with physical memory only Addresses generated
More informationvirtual memory. March 23, Levels in Memory Hierarchy. DRAM vs. SRAM as a Cache. Page 1. Motivation #1: DRAM a Cache for Disk
5-23 March 23, 2 Topics Motivations for VM Address translation Accelerating address translation with TLBs Pentium II/III system Motivation #: DRAM a Cache for The full address space is quite large: 32-bit
More informationVirtual Memory II. CSE 351 Autumn Instructor: Justin Hsia
Virtual Memory II CSE 35 Autumn 26 Instructor: Justin Hsia Teaching Assistants: Chris Ma Hunter Zahn John Kaltenbach Kevin Bi Sachin Mehta Suraj Bhat Thomas Neuman Waylon Huang Xi Liu Yufang Sun https://xkcd.com/495/
More informationVirtual Memory II. CSE 351 Autumn Instructor: Justin Hsia
Virtual Memory II CSE 35 Autumn 27 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan https://xkcd.com/495/
More informationCarnegie Mellon. 16 th Lecture, Mar. 20, Instructors: Todd C. Mowry & Anthony Rowe
Virtual Memory: Concepts 5 23 / 8 23: Introduction to Computer Systems 6 th Lecture, Mar. 2, 22 Instructors: Todd C. Mowry & Anthony Rowe Today Address spaces VM as a tool lfor caching VM as a tool for
More informationVirtual Memory II CSE 351 Spring
Virtual Memory II CSE 351 Spring 2018 https://xkcd.com/1495/ Virtual Memory (VM) Overview and motivation VM as a tool for caching Address translation VM as a tool for memory management VM as a tool for
More informationVirtual Memory: Systems
Virtual Memory: Systems 5-23: Introduction to Computer Systems 8 th Lecture, March 28, 27 Instructor: Franz Franchetti & Seth Copen Goldstein Recap: Hmmm, How Does This Work?! Process Process 2 Process
More informationMotivations for Virtual Memory Virtual Memory Oct. 29, Why VM Works? Motivation #1: DRAM a Cache for Disk
class8.ppt 5-23 The course that gives CMU its Zip! Virtual Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs Motivations for Virtual Use Physical DRAM as a Cache
More informationComputer Systems. Virtual Memory. Han, Hwansoo
Computer Systems Virtual Memory Han, Hwansoo A System Using Physical Addressing CPU Physical address (PA) 4 Main memory : : 2: 3: 4: 5: 6: 7: 8:... M-: Data word Used in simple systems like embedded microcontrollers
More informationRESET CLK RDn WRn CS0 CS1 CS2n DIN[7:0] CTSn DSRn DCDn RXDATA Rin A[2:0] DO[7:0] TxDATA DDIS RTSn DTRn OUT1n OUT2n BAUDOUTn TXRDYn RXRDYn INTRPT
MOXSYN C16550S Universal Asynchronous Receiver/Transmitter with FIFOs Function Description The C16550S programmable asynchronous communications interface (UART) core provides data formatting and control
More informationCarnegie Mellon. Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition
Carnegie Mellon Virtual Memory: Concepts 5-23: Introduction to Computer Systems 7 th Lecture, October 24, 27 Instructor: Randy Bryant 2 Hmmm, How Does This Work?! Process Process 2 Process n Solution:
More informationCISC 360. Virtual Memory Dec. 4, 2008
CISC 36 Virtual Dec. 4, 28 Topics Motivations for VM Address translation Accelerating translation with TLBs Motivations for Virtual Use Physical DRAM as a Cache for the Disk Address space of a process
More informationUART Register Set. UART Master Controller. Tx FSM. Rx FSM XMIT FIFO RCVR. i_rx_clk o_intr. o_out1 o_txrdy_n. o_out2 o_rxdy_n i_cs0 i_cs1 i_ads_n
October 2012 Reference Design RD1138 Introduction The Universal Asynchronous Receiver/Transmitter (UART) performs serial-to-parallel conversion on data characters received from a peripheral device or a
More informationChapter 5: Memory Management
ADRIAN PERRIG & TORSTEN HOEFLER ( 252-0062-00 ) Networks and Operating Systems Chapter 5: Memory Management http://support.apple.com/kb/ht562 Description: The ios kernel has checks to validate that the
More informationCS 153 Design of Operating Systems
CS 153 Design of Operating Systems Spring 18 Lectre 17: Advanced Paging Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Some slides modified from originals
More informationVirtual Memory. Alan L. Cox Some slides adapted from CMU slides
Alan L. Cox alc@rice.edu Some slides adapted from CMU 5.23 slides Objectives Be able to explain the rationale for VM Be able to explain how VM is implemented Be able to translate virtual addresses to physical
More informationInput/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture
168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU
More informationOS Extensibility: Spin, Exo-kernel and L4
OS Extensibility: Spin, Exo-kernel and L4 Extensibility Problem: How? Add code to OS how to preserve isolation? without killing performance? What abstractions? General principle: mechanisms in OS, policies
More informationVirtual Memory: Concepts
Virtual Memory: Concepts 5-23: Introduction to Computer Systems 7 th Lecture, March 2, 27 Instructors: Franz Franchetti & Seth Copen Goldstein Hmmm, How Does This Work?! Process Process 2 Process n Solution:
More informationVirtual Memory. CS61, Lecture 15. Prof. Stephen Chong October 20, 2011
Virtual Memory CS6, Lecture 5 Prof. Stephen Chong October 2, 2 Announcements Midterm review session: Monday Oct 24 5:3pm to 7pm, 6 Oxford St. room 33 Large and small group interaction 2 Wall of Flame Rob
More information=0 Read/Write IER Interrupt Enable Register =1 Read/Write - Divisor Latch High Byte + 2
EEE 410 Microprocessors I Spring 04/05 Lecture Notes # 20 Outline of the Lecture Interfacing the Serial Port Serial Port registers Transmitting Serial Data Receiving Serial Data INTERFACING THE SERIAL
More informationLecture 19: Virtual Memory: Concepts
CSCI-UA.2-3 Computer Systems Organization Lecture 9: Virtual Memory: Concepts Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified) from: Clark Barrett
More informationProcesses and Virtual Memory Concepts
Processes and Virtual Memory Concepts Brad Karp UCL Computer Science CS 37 8 th February 28 (lecture notes derived from material from Phil Gibbons, Dave O Hallaron, and Randy Bryant) Today Processes Virtual
More informationCS 153 Design of Operating Systems
CS 53 Design of Operating Systems Spring 8 Lectre 6: Paging Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Some slides modified from originals by Dave
More informationGeneric Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals
William Stallings Computer Organization and Architecture 7 th Edition Chapter 7 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In
More information198:231 Intro to Computer Organization. 198:231 Introduction to Computer Organization Lecture 14
98:23 Intro to Computer Organization Lecture 4 Virtual Memory 98:23 Introduction to Computer Organization Lecture 4 Instructor: Nicole Hynes nicole.hynes@rutgers.edu Credits: Several slides courtesy of
More informationFoundations of Computer Systems
8-6 Foundations of Computer Systems Lecture 5: Virtual Memory Concepts and Systems October 8, 27 8-6 SE PL OS CA Required Reading Assignment: Chapter 9 of CS:APP (3 rd edition) by Randy Bryant & Dave O
More informationVirtual Memory: Concepts
Virtual Memory: Concepts 5-23 / 8-23: Introduc=on to Computer Systems 6 th Lecture, Mar. 8, 24 Instructors: Anthony Rowe, Seth Goldstein, and Gregory Kesden Today VM Movaon and Address spaces ) VM as a
More informationSpring 2017 :: CSE 506. Device Programming. Nima Honarmand
Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt
More informationInterconnecting Components
Interconnecting Components Need interconnections between CPU, memory, controllers Bus: shared communication channel Parallel set of wires for data and synchronization of data transfer Can become a bottleneck
More informationVirtual Memory. Computer Systems Principles
Virtual Memory Computer Systems Principles Objectives Virtual Memory What is it? How does it work? Virtual Memory Address Translation /7/25 CMPSCI 23 - Computer Systems Principles 2 Problem Lots of executing
More informationI/O Management Intro. Chapter 5
I/O Management Intro Chapter 5 1 Learning Outcomes A high-level understanding of the properties of a variety of I/O devices. An understanding of methods of interacting with I/O devices. An appreciation
More informationRandom-Access Memory (RAM) Systemprogrammering 2007 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics
Systemprogrammering 27 Föreläsning 4 Topics The memory hierarchy Motivations for VM Address translation Accelerating translation with TLBs Random-Access (RAM) Key features RAM is packaged as a chip. Basic
More informationRoadmap. Java: Assembly language: OS: Machine code: Computer system:
Roadmap C: car *c = malloc(sizeof(car)); c->miles = ; c->gals = 7; float mpg = get_mpg(c); free(c); Assembly language: Machine code: get_mpg: pushq movq... popq ret %rbp %rsp, %rbp %rbp Java: Car c = new
More informationProblem 9. VM address translation. (9 points): The following problem concerns the way virtual addresses are translated into physical addresses.
Problem 9. VM address translation. (9 points): The following problem concerns the way virtual addresses are translated into physical addresses. The memory is byte addressable. Memory accesses are to 1-byte
More informationConfigurable UART with FIFO ver 2.20
D16550 Configurable UART with FIFO ver 2.20 OVERVIEW The D16550 is a soft Core of a Universal Asynchronous Receiver/Transmitter (UART) functionally identical to the TL16C550A. The D16550 allows serial
More informationI/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes
More informationRandom-Access Memory (RAM) Systemprogrammering 2009 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics! The memory hierarchy
Systemprogrammering 29 Föreläsning 4 Topics! The memory hierarchy! Motivations for VM! Address translation! Accelerating translation with TLBs Random-Access (RAM) Key features! RAM is packaged as a chip.!
More informationLast class: Today: Course administration OS definition, some history. Background on Computer Architecture
1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O
More informationThis lecture. Virtual Memory. Virtual memory (VM) CS Instructor: Sanjeev Se(a
Virtual Memory Instructor: Sanjeev Se(a This lecture (VM) Overview and mo(va(on VM as tool for caching VM as tool for memory management VM as tool for memory protec(on Address transla(on 2 Virtual Memory
More informationI/O Devices. I/O Management Intro. Sample Data Rates. I/O Device Handling. Categories of I/O Devices (by usage)
I/O Devices I/O Management Intro Chapter 5 There exists a large variety of I/O devices: Many of them with different properties They seem to require different interfaces to manipulate and manage them We
More informationComputer Organization ECE514. Chapter 5 Input/Output (9hrs)
Computer Organization ECE514 Chapter 5 Input/Output (9hrs) Learning Outcomes Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Fall 2017
CIS 5512 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Fall 2017 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationTotal Impact briq. Hardware Reference. 31st July Revision Overview 2
Total Impact briq. Hardware Reference 31st July 2001 Revision 0.4 Contents 1 Overview 2 2 On-board Peripherals 2 2.1 CPU/L2 Cache............................. 2 2.2 PPC/PCI Bridge.............................
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 24
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2018 Lecture 24 LAST TIME Extended virtual memory concept to be a cache of memory stored on disk DRAM becomes L4 cache of data stored on L5 disk Extend page
More informationThe control of I/O devices is a major concern for OS designers
Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices
More informationCS 153 Design of Operating Systems Winter 2016
CS 153 Design of Operating Systems Winter 2016 Lecture 16: Memory Management and Paging Announcement Homework 2 is out To be posted on ilearn today Due in a week (the end of Feb 19 th ). 2 Recap: Fixed
More informationA Few Problems with Physical Addressing. Virtual Memory Process Abstraction, Part 2: Private Address Space
Process Abstraction, Part : Private Motivation: why not direct physical memory access? Address translation with pages Optimizing translation: translation lookaside buffer Extra benefits: sharing and protection
More informationDigital System Design
Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc350 Simon Fraser University i Slide Set: 15 Date: March 30, 2009 Slide
More informationa16450 Features General Description Universal Asynchronous Receiver/Transmitter
a16450 Universal Asynchronous Receiver/Transmitter September 1996, ver. 1 Data Sheet Features a16450 MegaCore function implementing a universal asynchronous receiver/transmitter (UART) Optimized for FLEX
More informationOrganisasi Sistem Komputer
LOGO Organisasi Sistem Komputer OSK 5 Input Output 1 1 PT. Elektronika FT UNY Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 23
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 205 Lecture 23 LAST TIME: VIRTUAL MEMORY! Began to focus on how to virtualize memory! Instead of directly addressing physical memory, introduce a level of
More informationPage Which had internal designation P5
Intel P6 Internal Designation for Successor to Pentium Which had internal designation P5 Fundamentally Different from Pentium 1 Out-of-order, superscalar operation Designed to handle server applications
More informationConfigurable UART ver 2.10
D16450 Configurable UART ver 2.10 OVERVIEW The D16450 is a soft Core of a Universal Asynchronous Receiver/Transmitter (UART) functionally identical to the TL16C450. D16450 performs serial-to-parallel conversion
More informationQuestion F5: Caching [10 pts]
Question F5: Caching [ pts] SID: We have 6 KiB of RAM and two options for our cache. Both are two-way set associative with 256 B blocks, LRU replacement, and write-back policies. Cache A is size KiB and
More informationComputer Structure. X86 Virtual Memory and TLB
Computer Structure X86 Virtual Memory and TLB Franck Sala Slides from Lihu and Adi s Lecture 1 Virtual Memory Provides the illusion of a large memory Different machines have different amount of physical
More informationVirtual Memory III /18-243: Introduc3on to Computer Systems 17 th Lecture, 23 March Instructors: Bill Nace and Gregory Kesden
Virtual Memory III 15-213/18-243: Introduc3on to Computer Systems 17 th Lecture, 23 March 2010 Instructors: Bill Nace and Gregory Kesden (c) 1998-2010. All Rights Reserved. All work contained herein is
More informationComputer Architecture. Lecture 8: Virtual Memory
Computer Architecture Lecture 8: Virtual Memory Dr. Ahmed Sallam Suez Canal University Spring 2015 Based on original slides by Prof. Onur Mutlu Memory (Programmer s View) 2 Ideal Memory Zero access time
More informationAddress Translation. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Address Translation Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics How to reduce the size of page tables? How to reduce the time for
More informationADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems ( ) Chapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (5-006-00) Chapter 6: Demand Paging http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor (0) # Inverted page table One
More informationSerial Interfacing. Pulse width of 1 bit
١ ٢ Asynchronous Frame 10 bits 7E1 (7 data bits, even parity, 1 stop bit) Serial Data Transfer used by keyboards, plotters, modems and other peripherals with low data transfer rates (low bandwidth) * *
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Spring 2018 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationAdvanced Operating Systems (CS 202) Scheduling (1) Jan, 23, 2017
Advanced Operating Systems (CS 202) Scheduling (1) Jan, 23, 2017 Administrivia Lab has been released You may work in pairs Some more details about how to test your implementation may be added But feel
More informationPC Interrupt Structure and 8259 DMA Controllers
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt
More informationReview: Hardware user/kernel boundary
Review: Hardware user/kernel boundary applic. applic. applic. user lib lib lib kernel syscall pg fault syscall FS VM sockets disk disk NIC context switch TCP retransmits,... device interrupts Processor
More informationVirtual Memory: Systems
Virtual Memory: Systems 5-23 / 8-23: Introduc2on to Computer Systems 7 th Lecture, Mar. 22, 22 Instructors: Todd C. Mowry & Anthony Rowe Today Virtual memory ques7ons and answers Simple memory system example
More informationThis training session will cover the Translation Look aside Buffer or TLB
This training session will cover the Translation Look aside Buffer or TLB I will cover: What It is How to initialize it And How TLB exceptions are handled 1 First let me explain what we are dealing with:
More informationVirtual Memory: Concepts
Virtual Memory: Concepts Instructor: Dr. Hyunyoung Lee Based on slides provided by Randy Bryant and Dave O Hallaron Today Address spaces VM as a tool for caching VM as a tool for memory management VM as
More informationCSE 120 Principles of Operating Systems Spring 2017
CSE 120 Principles of Operating Systems Spring 2017 Lecture 12: Paging Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient translations (TLBs)
More informationComputer Architecture Lecture 13: Virtual Memory II
18-447 Computer Architecture Lecture 13: Virtual Memory II Lecturer: Rachata Ausavarungnirun Carnegie Mellon University Spring 2014, 2/17/2014 (with material from Onur Mutlu, Justin Meza and Yoongu Kim)
More informationDevice I/O Programming
Overview Device I/O Programming Don Porter CSE 506 Many artifacts of hardware evolution Configurability isn t free Bake-in some reasonable assumptions Initially reasonable assumptions get stale Find ways
More informationLecture 13 Input/Output (I/O) Systems (chapter 13)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 13 Input/Output (I/O) Systems (chapter 13) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The
More informationIntroduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec
Introduction I/O 1 I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec I/O bus connections I/O Device Summary I/O 2 I/O System
More informationAm186ER/Am188ER AMD continues 16-bit innovation
Am186ER/Am188ER AMD continues 16-bit innovation 386-Class Performance, Enhanced System Integration, and Built-in SRAM Am186ER and Am188ER Am186 System Evolution 80C186 Based 3.37 MIP System Am186EM Based
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2018 Lecture 10: Virtual Memory II Ryan Huang Slides adapted from Geoff Voelker s lectures Administrivia Next Tuesday project hacking day No class My office
More informationA VHDL UART core
An www.opencores.org Project hlefevre@opencores.org Revision History Revision Date Author Description 0.1 18 Feb 2006 H LeFevre Release of TX and RX modules 0.2 25 Feb 2006 H LeFevre Fist Alpha release
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 10: Paging Geoffrey M. Voelker Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient
More informationVirtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1
Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationUniversity of Washington Virtual memory (VM)
Virtual memory (VM) Overview and mo-va-on VM as tool for caching VM as tool for memory management VM as tool for memory protec-on Address transla-on Processes Defini=on: A process is an instance of a running
More informationChapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER ( 5-006-00 ) Networks and Operating Systems Chapter 6: Demand Paging Source: http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor If you miss a key
More informationLab 2: 80x86 Interrupts
ELEC-4601: Microprocessor Systems The Point Lab 2: 80x86 Interrupts Writing software to properly respond to a hardware interrupt is fussy. There is a hardware path from the incoming interrupt signal all
More informationCS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14
CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds
More informationVIRTUAL MEMORY II. Jo, Heeseung
VIRTUAL MEMORY II Jo, Heeseung TODAY'S TOPICS How to reduce the size of page tables? How to reduce the time for address translation? 2 PAGE TABLES Space overhead of page tables The size of the page table
More informationVirtual 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. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:
More informationI/O. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 6.5-6
I/O Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 6.5-6 Computer System = Input + Output + Memory + Datapath + Control Video Network Keyboard USB Computer System
More informationAddress spaces and memory management
Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address
More information2.5 Address Space. The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24).
Address Space 2.5 Address Space The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24). Memory Address Space. Access can be made to memory addresses
More informationGuerrilla 7: Virtual Memory, ECC, IO
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
More informationSignal types (some of them) Networks and Operating Systems ( ) Chapter 5: Memory Management. Where do signals come from?
ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (5-006-00) Chapter 5: Memory Management http://support.apple.com/kb/ht56 (Jul. 05) Description: The ios kernel has checks to validate that
More information