Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware.
|
|
- Alyson Collins
- 5 years ago
- Views:
Transcription
1 Department of Computer Science, Institute for System Architecture, Operating Systems Group Real-Time Systems '08 / '09 Hardware Marcus Völp
2 Outlook Hardware is Source of Unpredictability Caches Pipeline Interrupt Latency Special Purpose Hardware for Embedded Real-Time Systems Low Latency Interrupt Mode Peripheral Event Controller Capture Compare Units Scratchpad Memories Real-Time Clocks Use unpredictable Hardware more predictable Cache Partitioning Real-Time Communication / Buses in separate Lecture December 4, 2008 Marcus Völp 2
3 Sources of Unpredictability Memory Subsystem TLB Caches Store Buffers store R1, 0x x ^R1 va: Cache: TLB: hit PT Walker miss pa: Level 2 - Cache Memory Controller Main Memory December 4, 2008 Marcus Völp 3
4 Sources of Unpredictability Processor Pipeline IF IF DE ISS ALU MAC MAC MAC ADD DC DC WB WB WB (ARM 11 Microarchitecture) December 4, 2008 Marcus Völp 4
5 Sources of Unpredictability Interrupt Latency Device incoming signal Interrupt Controller CPU interrupts enabled? await instruction boundary kernel entry select handler code (index into interrupt vector table) handle_irq:... return from interrupt December 4, 2008 Marcus Völp 5
6 Interrupt Response Time RTLinux Frequency log.fl.josephina.rtlinux: a Interrupt response time: Time from occurrence of interrupt to first instruction of RT Task Frequency IRQ occurence rate (µs) log.t3.josephina.rtlinux: lat_proc_sh_dynamic No parallel load (idle): 13 µs High parallel load: 68 µs (Benchmark, Cache-Flodder) Measured on Intel P4 1.6 GHz IRQ occurence rate (µs) December 4, 2008 Marcus Völp 6
7 Interrupt Response Time L4RTL (+ AS switch) Frequency log.fl.josephina.fiasco: a Interrupt response time: Time from occurrence of interrupt to first instruction of RT Task No parallel load (idle): 43 µs IRQ occurence rate (µs) log.t3.josephina.fiasco: lat_proc_sh_dynamic High parallel load: 85 µs (Benchmark, Cache-Flodder) Frequency Measured on Intel P4 1.6 GHz IRQ occurence rate (µs) December 4, 2008 Marcus Völp 7
8 Outlook Hardware is Source of Unpredictability Caches Pipeline Interrupt Latency Special Purpose Hardware for Embedded Real-Time Systems Low Latency Interrupt Mode Peripheral Event Controller Capture Compare Units Scratchpad Memories Real-Time Clocks Use unpredictable Hardware more predictable Cache Partitioning Real-Time Communication / Buses in separate Lecture December 4, 2008 Marcus Völp 8
9 Low Latency Interrupts Sampling of Data in a High Rate (Sensors, Video,...) Fast Response Times (Break Control,...) ARM IRQ + FIQ FIQ interrupts IRQ handler 5 immediately available registers for FIQ handler no need to save register content ARM Low Interrupt Latency Configuration Minimize worst case interrupt latency disable Hit-under-Miss in Cache abandon pending restartable memory OPs restart memory OP on return from interrupt software must not use multi-word load / store instructions software should avoid accesses to slow memory (device memory, strong ordering of memory accesses) Worst Case FIQ Latency (PL190 VIC) : Interrupt synchronization 3 cycles Worst case execution time of current instruction 7 cycles Entry to first instruction 2 cycles / 12 cycles December 4, 2008 Marcus Völp 9
10 Low Latency Interrupts Obtaining precise timestamps with interrupt-based sampling is difficult system load increases jitter in interrupt response time atomic sections in OS delay interrupts jitter in signal delivery (from signal source to CPU interrupt pin) buses, interrupt controller Peripheral Event Controller (PEC) executes one memory-to-memory move triggered by arriving signal Programmers Interface: counter decrement on signal, trigger CPU interrupt on 0 byte / word select select width of transfer (byte or word) source / dest increase update source / destination address source / dest address signal () { if (counter--) trigger_interrupt(); else *dest++ = *src; } => minimal response time (~3 cycles) => PEC can execute at much lower clock rates December 4, 2008 Marcus Völp 10
11 Capture + Compare Unit Problem precise timestamp of event (engine sensor triggered at cylinder position = t) generate precise events (fire the engine at t + x) interrupt handlers have too high a jitter to meet the points in time Capture Compare event interrupt handler Compare Register Capture Register = event Clock Clock December 4, 2008 Marcus Völp 11
12 System on a Chip / Chip Multiprocessor Processor Chip contains entire system CPU Cores / Peripheral Components / Memory available as masks for weaver Configure system as required Examples: Mobile Phones today: General Purpose Core (e.g., ARM) + Baseband DSP Processor Game Console (Cell): General Purpose (PPC) + special purpose Graphics Sensor + 8-bit Controller + CAN bus December 4, 2008 Marcus Völp 12
13 Scratch-pad Memory vs. Caches Synonyms: Scratchpad / on Chip / Tightly Coupled Memory Cache: transparent addressing scheme cache controller fills / replaces cachelines in parallel to CPU activity difficult to predict worst-case execution time Main Memory L2 L1 December 4, 2008 Marcus Völp 13
14 Scratch-pad Memory vs. Caches Synonyms: Scratchpad / on Chip / Tightly Coupled Memory Cache: transparent addressing scheme cache controller fills / replaces cachelines in parallel to CPU activity difficult to predict worst-case execution time Main Memory L2 L1 December 4, 2008 Marcus Völp 14
15 Scratch-pad Memory vs. Caches Synonyms: Scratchpad / on Chip / Tightly Coupled Memory Cache: transparent addressing scheme cache controller fills / replaces cachelines in parallel to CPU activity difficult to predict worst-case execution time Main Memory L2 L1 December 4, 2008 Marcus Völp 15
16 Scratch-pad Memory vs. Caches Synonyms: Scratchpad / on Chip / Tightly Coupled Memory Cache: transparent addressing scheme cache controller fills / replaces cachelines in parallel to CPU activity difficult to predict worst-case time Main Memory L2 L1 CPU 1 cycle ~10 cycles ~50 cycles December 4, 2008 Marcus Völp 16
17 Scratch-pad Memory vs. Caches Way 1 Way 2 Set = = Cache lockdown: Tag RAM Data Lock cacheway Allocate only to unlocked ways December 4, 2008 Marcus Völp 17
18 Scratch-pad Memory vs. Caches Scratchpad Memory: memory can be addressed directly (device mapped to physical memory space) 2 cycles latency / currently ~ 64 KB (more ~4 MB to come) must relocate data explicitly Compiler-based approaches: static: determine code + data hot spots + allocate scratchpad memory for hot spots dynamic: copy data to / from scratchpad memory int a[20]; int a[20]; int b[5] = {a[5], a[6], a[7], a[8], a[9]}; => for (int j = 0; j < 40; j++) for (int j = 0; j < 40; j++) for (int i = 5; i < 10; i++) for (int i = 0; i < 10; i++) a[i] *= 42; b[i] *= 42; December 4, 2008 Marcus Völp 18
19 Scratch-pad Memory vs. Caches ARM Tightly Coupled Memory: RAM TCM RAM TCM overlay normal RAM with TCM simplified cache logic for TCM memory keeps track whether RAM or TCM holds current value on miss: copies data from underlying RAM to TCM December 4, 2008 Marcus Völp 19
20 Real Time Clocks Multiple Clocks in SoC Core Cycle Count 200 MHz fine grained + fast to access accuracy ; clock skew ; subject to power management Audio Codec PCI 33 MHz/ 66 MHz Timer RTC khz ; high precision ; small clock skew need to synchronize clocks within core / system wide ~> separate lecture December 4, 2008 Marcus Völp 20
21 Outlook Hardware is Source of Unpredictability Caches Pipeline Interrupt Latency Special Purpose Hardware for Embedded Real-Time Systems Low Latency Interrupt Mode Peripheral Event Controller Capture Compare Units Scratchpad Memories Real-Time Clocks Use Unpredictable Hardware more predictable Cache Partitioning Real-Time Communication / Buses in separate Lecture December 4, 2008 Marcus Völp 21
22 OS Controlled Cache Predictability goals partition cache to minimize interference between RT Applications OS controlled transparent to application no need to rely on cooperating applications survives malicious, erroneous applications Cache Partition Address regions that map to a given set of cachelines (a partition) tool support: Compiler / Linker December 4, 2008 Marcus Völp 22
23 OS Controlled Cache Predictability Cache Coloring 16 bit address (binary representation): tag idx offset into 32 byte cacheline 0x93 Cache Size December 4, 2008 Marcus Völp 23
24 OS Controlled Cache Predictability Cache Coloring Address translation and caches virtual page number virtual address: 0x MMU physical frame number physical address: 0x30a 864 offset tag idx ofs L2 Cache: 4MB, 4 Way, 32byte CL December 4, 2008 Marcus Völp 24
25 OS Controlled Cache Predictability Cache Coloring Address translation and caches virtual page number virtual address: 0x MMU physical frame number physical address: 0x30a 864 offset tag idx ofs L2 Cache: 4MB, 4 Way, 32byte CL 2 bits: subject to address translation evaluated to determine cache set => assign different colors to different RT + non RT Apps. => allocate in the OS memory frames of respective color December 4, 2008 Marcus Völp 25
26 OS Controlled Cache Predictability Scenario high priority real-time task (color = 00) runs in frequent short intervals other tasks in the backgound (e.g., cache flodder) Example: Filter Worst case: wo. cache partitioning: background tasks may evict all cachelines background tasks may load conflicting cachelines, which need writeback Flush Flush Flush December 4, 2008 Marcus Völp 26
27 OS Controlled Cache Predictability 400% 350% Filter PentiumPro, 133 MHz 300% 250% 200% 150% unpartitioned sngl wr part partintioned 100% (sngl wr = single writer only RT app may write to pages of color x ; others may read) December 4, 2008 Marcus Völp 27
28 OS Controlled Cache Predictability Example 2: low priority task; frequently interrupted e.g., matrix multiplication Flush Flush Flush Flush timeslice 64 x 64 Matrix Multiplication 64 3 x 5.51 cycles: 10.9 ms December 4, 2008 Marcus Völp 28
29 OS Controlled Cache Predictability 1700% 1600% 1500% 1400% 1300% 1200% 1100% 1000% 900% 260% 240% 220% 200% 180% 160% 140% 120% 64 x 64 Matrix Multiplication Pentium, 133 MHz 800% 700% 600% 500% 400% 300% 100% [µs] unpartitioned sngl wr part partitioned 200% 100% December 4, 2008 timeslice [µs] Marcus Völp 29
30 OS Controlled Cache Predictability 500% 450% 400% 135% 130% 125% 120% 115% 64 x 64 Matrix Multiplication Pentium, 133 MHz write through 350% 110% 300% 105% 250% 100% [µs] 200% unpartitioned partitioned 150% 100% timeslice [µs] [µs] December 4, 2008 Marcus Völp 30
31 OS Controlled Cache Predictability Experiment 3: Combination: Matrix Multiplication + Filter 64 x 64 Matrix Multi- plication [ms] unpartitioned partiotioned MM + Filter 280% 260% 240% 220% 200% 180% 160% 140% % 100% 20 khz 10 khz 5 khz 3.3 khz 2 khz khz 10 khz 5 khz 3.3 khz 2 khz December 4, 2008 Marcus Völp 31
32 OS Controlled Cache Predictability Caveat: application transparency some applications require knowledge about physical addresses e.g., drivers need physical addresses for direct memory address transfers (DMA) modify driver use recent hardware (e.g., Intel VT-d) with address translation for DMA December 4, 2008 Marcus Völp 32
33 Conclusions High performance CPUs are rarely used in embedded systems HW means to increase predictability SW tweaks to use unpredictable HW in a more predictable way References: Liedtke, Härtig, Hohmuth (RTAS '97): Operating system control cache predictability for real-time applications ARM Real View Emulation Board User Guide ARM 1176jzfs Manual December 4, 2008 Marcus Völp 33
HARDWARE IN REAL-TIME SYSTEMS HERMANN HÄRTIG, WITH MARCUS VÖLP
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group HARDWARE IN REAL-TIME SYSTEMS HERMANN HÄRTIG, WITH MARCUS VÖLP A SIMPLE PROBLEM event PC how to create a precise timestamp
More informationHARDWARE IN REAL-TIME SYSTEMS HERMANN HÄRTIG, MARCUS VÖLP
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group HARDWARE IN REAL-TIME SYSTEMS HERMANN HÄRTIG, MARCUS VÖLP A SIMPLE PROBLEM event PC How to create a precise timestamp
More informationMicrokernels and Portability. What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures.
Microkernels and Portability What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures. Contents Overview History Towards Portability L4 Microkernels
More informationCache Performance (H&P 5.3; 5.5; 5.6)
Cache Performance (H&P 5.3; 5.5; 5.6) Memory system and processor performance: CPU time = IC x CPI x Clock time CPU performance eqn. CPI = CPI ld/st x IC ld/st IC + CPI others x IC others IC CPI ld/st
More informationVirtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1
Virtual Memory Patterson & Hennessey Chapter 5 ELEC 5200/6200 1 Virtual Memory Use main memory as a cache for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs
More informationECE 3055: Final Exam
ECE 3055: Final Exam Instructions: You have 2 hours and 50 minutes to complete this quiz. The quiz is closed book and closed notes, except for one 8.5 x 11 sheet. No calculators are allowed. Multiple Choice
More informationVirtual Memory. Virtual Memory
Virtual Memory Virtual Memory Main memory is cache for secondary storage Secondary storage (disk) holds the complete virtual address space Only a portion of the virtual address space lives in the physical
More informationCS450/550 Operating Systems
CS450/550 Operating Systems Lecture 4 memory Palden Lama Department of Computer Science CS450/550 Memory.1 Review: Summary of Chapter 3 Deadlocks and its modeling Deadlock detection Deadlock recovery Deadlock
More informationAnnouncements. ! Previous lecture. Caches. Inf3 Computer Architecture
Announcements! Previous lecture Caches Inf3 Computer Architecture - 2016-2017 1 Recap: Memory Hierarchy Issues! Block size: smallest unit that is managed at each level E.g., 64B for cache lines, 4KB for
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 informationEE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University
EE108B Lecture 17 I/O Buses and Interfacing to CPU Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Remaining deliverables PA2.2. today HW4 on 3/13 Lab4 on 3/19
More informationThe Nios II Family of Configurable Soft-core Processors
The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture
More information5 Solutions. Solution a. no solution provided. b. no solution provided
5 Solutions Solution 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 S2 Chapter 5 Solutions Solution 5.2 5.2.1 4 5.2.2 a. I, J b. B[I][0] 5.2.3 a. A[I][J] b. A[J][I] 5.2.4 a. 3596 = 8 800/4 2 8 8/4 + 8000/4 b.
More informationI/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13
I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of
More informationLecture 2: September 9
CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user
More informationTopic 18 (updated): Virtual Memory
Topic 18 (updated): Virtual Memory COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Virtual Memory Any time you see virtual, think using a level
More informationELE 758 * DIGITAL SYSTEMS ENGINEERING * MIDTERM TEST * Circle the memory type based on electrically re-chargeable elements
ELE 758 * DIGITAL SYSTEMS ENGINEERING * MIDTERM TEST * Student name: Date: Example 1 Section: Memory hierarchy (SRAM, DRAM) Question # 1.1 Circle the memory type based on electrically re-chargeable elements
More informationI, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3.
5 Solutions Chapter 5 Solutions S-3 5.1 5.1.1 4 5.1.2 I, J 5.1.3 A[I][J] 5.1.4 3596 8 800/4 2 8 8/4 8000/4 5.1.5 I, J 5.1.6 A(J, I) 5.2 5.2.1 Word Address Binary Address Tag Index Hit/Miss 5.2.2 3 0000
More informationLast 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture
Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the
More informationTopic 18: Virtual Memory
Topic 18: Virtual Memory COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Virtual Memory Any time you see virtual, think using a level of indirection
More informationVirtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili
Virtual Memory Lecture notes from MKP and S. Yalamanchili Sections 5.4, 5.5, 5.6, 5.8, 5.10 Reading (2) 1 The Memory Hierarchy ALU registers Cache Memory Memory Memory Managed by the compiler Memory Managed
More informationExample Networks on chip Freescale: MPC Telematics chip
Lecture 22: Interconnects & I/O Administration Take QUIZ 16 over P&H 6.6-10, 6.12-14 before 11:59pm Project: Cache Simulator, Due April 29, 2010 NEW OFFICE HOUR TIME: Tuesday 1-2, McKinley Exams in ACES
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 informationComputer Systems Architecture I. CSE 560M Lecture 18 Guest Lecturer: Shakir James
Computer Systems Architecture I CSE 560M Lecture 18 Guest Lecturer: Shakir James Plan for Today Announcements No class meeting on Monday, meet in project groups Project demos < 2 weeks, Nov 23 rd Questions
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed
More informationCHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the
More informationEITF20: Computer Architecture Part 5.1.1: Virtual Memory
EITF20: Computer Architecture Part 5.1.1: Virtual Memory Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Cache optimization Virtual memory Case study AMD Opteron Summary 2 Memory hierarchy 3 Cache
More information4. Hardware Platform: Real-Time Requirements
4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture
More informationCache Performance and Memory Management: From Absolute Addresses to Demand Paging. Cache Performance
6.823, L11--1 Cache Performance and Memory Management: From Absolute Addresses to Demand Paging Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Cache Performance 6.823,
More information18-447: Computer Architecture Lecture 25: Main Memory. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 4/3/2013
18-447: Computer Architecture Lecture 25: Main Memory Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 4/3/2013 Reminder: Homework 5 (Today) Due April 3 (Wednesday!) Topics: Vector processing,
More informationCS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck
Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find
More informationMultithreaded Processors. Department of Electrical Engineering Stanford University
Lecture 12: Multithreaded Processors Department of Electrical Engineering Stanford University http://eeclass.stanford.edu/ee382a Lecture 12-1 The Big Picture Previous lectures: Core design for single-thread
More informationChapter 8: Memory-Management Strategies
Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationEITF20: Computer Architecture Part 5.2.1: IO and MultiProcessor
EITF20: Computer Architecture Part 5.2.1: IO and MultiProcessor Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration I/O MultiProcessor Summary 2 Virtual memory benifits Using physical memory efficiently
More informationLecture 20: Memory Hierarchy Main Memory and Enhancing its Performance. Grinch-Like Stuff
Lecture 20: ory Hierarchy Main ory and Enhancing its Performance Professor Alvin R. Lebeck Computer Science 220 Fall 1999 HW #4 Due November 12 Projects Finish reading Chapter 5 Grinch-Like Stuff CPS 220
More informationCHAPTER 8 - MEMORY MANAGEMENT STRATEGIES
CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide
More informationArchitectural Support for Operating Systems
OS and Architectures Architectural Support for Operating Systems Emin Gun Sirer What an OS can do is dictated, at least in part, by the architecture. Architecture support can greatly simplify (or complicate)
More informationHandout 4 Memory Hierarchy
Handout 4 Memory Hierarchy Outline Memory hierarchy Locality Cache design Virtual address spaces Page table layout TLB design options (MMU Sub-system) Conclusion 2012/11/7 2 Since 1980, CPU has outpaced
More informationChapter 8: Main Memory
Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:
More informationAge nda. Intel PXA27x Processor Family: An Applications Processor for Phone and PDA applications
Intel PXA27x Processor Family: An Applications Processor for Phone and PDA applications N.C. Paver PhD Architect Intel Corporation Hot Chips 16 August 2004 Age nda Overview of the Intel PXA27X processor
More informationLecture 18: Memory Hierarchy Main Memory and Enhancing its Performance Professor Randy H. Katz Computer Science 252 Spring 1996
Lecture 18: Memory Hierarchy Main Memory and Enhancing its Performance Professor Randy H. Katz Computer Science 252 Spring 1996 RHK.S96 1 Review: Reducing Miss Penalty Summary Five techniques Read priority
More informationArchitecture and OS. To do. q Architecture impact on OS q OS impact on architecture q Next time: OS components and structure
Architecture and OS To do q Architecture impact on OS q OS impact on architecture q Next time: OS components and structure Computer architecture and OS OS is intimately tied to the hardware it runs on
More informationChapter 8: Main Memory. Operating System Concepts 9 th Edition
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationChapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs
Chapter 5 (Part II) Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple
More informationMemory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts
Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of
More informationAdvanced Caching Techniques (2) Department of Electrical Engineering Stanford University
Lecture 4: Advanced Caching Techniques (2) Department of Electrical Engineering Stanford University http://eeclass.stanford.edu/ee282 Lecture 4-1 Announcements HW1 is out (handout and online) Due on 10/15
More informationChapter 8: Main Memory
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationCache Performance! ! Memory system and processor performance:! ! Improving memory hierarchy performance:! CPU time = IC x CPI x Clock time
Cache Performance!! Memory system and processor performance:! CPU time = IC x CPI x Clock time CPU performance eqn. CPI = CPI ld/st x IC ld/st IC + CPI others x IC others IC CPI ld/st = Pipeline time +
More informationMemory Hierarchies 2009 DAT105
Memory Hierarchies Cache performance issues (5.1) Virtual memory (C.4) Cache performance improvement techniques (5.2) Hit-time improvement techniques Miss-rate improvement techniques Miss-penalty improvement
More informationOperating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write
More informationInput/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security
Input/Output Today Principles of I/O hardware & software I/O software layers Disks Next Protection & Security Operating Systems and I/O Two key operating system goals Control I/O devices Provide a simple,
More informationEmbedded Systems. 7. System Components
Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationIntroduction to Operating Systems. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More informationATLAS: A Chip-Multiprocessor. with Transactional Memory Support
ATLAS: A Chip-Multiprocessor with Transactional Memory Support Njuguna Njoroge, Jared Casper, Sewook Wee, Yuriy Teslyar, Daxia Ge, Christos Kozyrakis, and Kunle Olukotun Transactional Coherence and Consistency
More informationARM Cortex core microcontrollers 3. Cortex-M0, M4, M7
ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 Trends of 32-bit microcontrollers
More informationLec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements
Lec 13: Linking and Memory Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University PA 2 is out Due on Oct 22 nd Announcements Prelim Oct 23 rd, 7:30-9:30/10:00 All content up to Lecture on Oct
More informationECE 571 Advanced Microprocessor-Based Design Lecture 3
ECE 571 Advanced Microprocessor-Based Design Lecture 3 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 30 January 2018 Homework #1 was posted Announcements 1 Microprocessors Also
More informationIntroduction to Operating. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More informationCourse Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes
Course Introduction Purpose: This course provides an overview of the Direct Memory Access Controller and the Interrupt Controller on the SH-2 and SH-2A families of 32-bit RISC microcontrollers, which are
More informationWhy memory hierarchy? Memory hierarchy. Memory hierarchy goals. CS2410: Computer Architecture. L1 cache design. Sangyeun Cho
Why memory hierarchy? L1 cache design Sangyeun Cho Computer Science Department Memory hierarchy Memory hierarchy goals Smaller Faster More expensive per byte CPU Regs L1 cache L2 cache SRAM SRAM To provide
More informationMain Memory (Fig. 7.13) Main Memory
Main Memory (Fig. 7.13) CPU CPU CPU Cache Multiplexor Cache Cache Bus Bus Bus Memory Memory bank 0 Memory bank 1 Memory bank 2 Memory bank 3 Memory b. Wide memory organization c. Interleaved memory organization
More informationModern Computer Architecture
Modern Computer Architecture Lecture3 Review of Memory Hierarchy Hongbin Sun 国家集成电路人才培养基地 Xi an Jiaotong University Performance 1000 Recap: Who Cares About the Memory Hierarchy? Processor-DRAM Memory Gap
More informationDeveloping deterministic networking technology for railway applications using TTEthernet software-based end systems
Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements
More informationUNIT II SYSTEM BUS STRUCTURE 1. Differentiate between minimum and maximum mode 2. Give any four pin definitions for the minimum mode. 3. What are the pins that are used to indicate the type of transfer
More informationComputer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.
BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program
More informationFPGA Adaptive Software Debug and Performance Analysis
white paper Intel Adaptive Software Debug and Performance Analysis Authors Javier Orensanz Director of Product Management, System Design Division ARM Stefano Zammattio Product Manager Intel Corporation
More informationsmxnand RTOS Innovators Flash Driver General Features
smxnand Flash Driver RTOS Innovators The smxnand flash driver makes NAND flash memory appear to a file system like a disk drive. It supports single-level cell (SLC) and multi-level cell (MLC) NAND flash.
More informationChapter 8. Virtual Memory
Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:
More informationIntroduction to Operating Systems. Chapter Chapter
Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of
More informationMemory and multiprogramming
Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson
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 informationMEMORY HIERARCHY BASICS. B649 Parallel Architectures and Programming
MEMORY HIERARCHY BASICS B649 Parallel Architectures and Programming BASICS Why Do We Need Caches? 3 Overview 4 Terminology cache virtual memory memory stall cycles direct mapped valid bit block address
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 informationIntelop. *As new IP blocks become available, please contact the factory for the latest updated info.
A FPGA based development platform as part of an EDK is available to target intelop provided IPs or other standard IPs. The platform with Virtex-4 FX12 Evaluation Kit provides a complete hardware environment
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 16: Virtual Machine Monitors Geoffrey M. Voelker Virtual Machine Monitors 2 Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot
More informationELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II
ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Organization Part II Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn,
More informationOperating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group
Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and
More informationLecture 10: Cache Coherence: Part I. Parallel Computer Architecture and Programming CMU , Spring 2013
Lecture 10: Cache Coherence: Part I Parallel Computer Architecture and Programming Cache design review Let s say your code executes int x = 1; (Assume for simplicity x corresponds to the address 0x12345604
More informationLECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY
LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY Abridged version of Patterson & Hennessy (2013):Ch.5 Principle of Locality Programs access a small proportion of their address space at any time Temporal
More informationCS5460: Operating Systems Lecture 14: Memory Management (Chapter 8)
CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) Important from last time We re trying to build efficient virtual address spaces Why?? Virtual / physical translation is done by HW and
More informationProduct Technical Brief S3C2440X Series Rev 2.0, Oct. 2003
Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 S3C2440X is a derivative product of Samsung s S3C24XXX family of microprocessors for mobile communication market. The S3C2440X s main enhancement
More informationEven coarse architectural trends impact tremendously the design of systems
CSE 451: Operating Systems Spring 2006 Module 2 Architectural Support for Operating Systems John Zahorjan zahorjan@cs.washington.edu 534 Allen Center Even coarse architectural trends impact tremendously
More informationChapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationImproving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches
Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging 6.823, L8--1 Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Highly-Associative
More informationRISC-V Core IP Products
RISC-V Core IP Products An Introduction to SiFive RISC-V Core IP Drew Barbier September 2017 drew@sifive.com SiFive RISC-V Core IP Products This presentation is targeted at embedded designers who want
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 informationMICROPROCESSOR TECHNOLOGY
MICROPROCESSOR TECHNOLOGY Assis. Prof. Hossam El-Din Moustafa Lecture 14 Ch.6 The 80186, 80188, and 80286 Microprocessors 21-Apr-15 1 Timers The 80186/80188 contain three fully programmable 16-bit timers
More informationARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.
ARM CORTEX-R52 Course Family: ARMv8-R Cortex-R CPU Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture. Duration: 4 days Prerequisites and related
More information20-EECE-4029 Operating Systems Fall, 2015 John Franco
20-EECE-4029 Operating Systems Fall, 2015 John Franco Final Exam name: Question 1: Processes and Threads (12.5) long count = 0, result = 0; pthread_mutex_t mutex; pthread_cond_t cond; void *P1(void *t)
More informationProtoFlex Tutorial: Full-System MP Simulations Using FPGAs
rotoflex Tutorial: Full-System M Simulations Using FGAs Eric S. Chung, Michael apamichael, Eriko Nurvitadhi, James C. Hoe, Babak Falsafi, Ken Mai ROTOFLEX Computer Architecture Lab at Our work in this
More informationComputer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM
i SYLLABUS UNIT - 1 CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS Computer Types, Functional Units, Basic Operational Concepts, Bus Structures, Software, Performance, Multiprocessors and Multicomputers, Historical
More informationUC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara
Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Input and Output Input/Output Devices The OS is responsible for managing I/O devices Issue requests Manage
More information1. Memory technology & Hierarchy
1 Memory technology & Hierarchy Caching and Virtual Memory Parallel System Architectures Andy D Pimentel Caches and their design cf Henessy & Patterson, Chap 5 Caching - summary Caches are small fast memories
More informationI/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)
I/O Fall 2011 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks
More informationI/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)
I/O Fall 2010 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks
More informationIntroduction to Embedded System Processor Architectures
Introduction to Embedded System Processor Architectures Contents crafted by Professor Jari Nurmi Tampere University of Technology Department of Computer Systems Motivation Why Processor Design? Embedded
More informationCOS 318: Operating Systems. Virtual Memory and Address Translation
COS 318: Operating Systems Virtual Memory and Address Translation Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Today s Topics
More informationArchitecture of Computers and Parallel Systems Part 2: Communication with Devices
Architecture of Computers and Parallel Systems Part 2: Communication with Devices Ing. Petr Olivka petr.olivka@vsb.cz Department of Computer Science FEI VSB-TUO Architecture of Computers and Parallel Systems
More informationCOSC 6385 Computer Architecture - Memory Hierarchy Design (III)
COSC 6385 Computer Architecture - Memory Hierarchy Design (III) Fall 2006 Reducing cache miss penalty Five techniques Multilevel caches Critical word first and early restart Giving priority to read misses
More information