EC H2020 dredbox: Seminar School at INSA Rennes
|
|
- Lester Lester
- 5 years ago
- Views:
Transcription
1 EC H2020 dredbox: Seminar School at INSA Rennes Pierre LUCAS
2 Open Part 1: Open Company Overview 2 OpenOpen Confidential & Proprietary Proprietary
3 Internships offers Embedded software Engineer (x2) C skills ARM architecture Linux: bash FPGA Developer (x2) VHDL, C Linux: bash Automotive ization C skills ARM architecture Linux: bash Experience with AGL 3 Open Confidential & Proprietary
4 Open Part 2: Data-Centers Disaggregation in dredbox 4 OpenOpen Confidential & Proprietary Proprietary
5 H2020 dredbox project description dredbox (disaggregated recursive data-center in a box) Project duration: January December 2018 Total Cost: EUR Objective: To innovate the datacentres architecture, shifting from monolithic clusters of machines to disaggregated pool of components The dredbox proposition has the ambition to lead to significantly improved levels of utilization, scalability, reliability and power efficiency, both in conventional cloud and edge datacentres. 5 Open Confidential & Proprietary
6 Towards Data-Centers disaggregation (1/2) Current data-centers design Physical servers compound of CPUs, memory, accelerators, storage Impose fixed resources assignment ratio Low resources utilisation Energy waste (unused HW still powered on) Higher price 6 Open Confidential & Proprietary
7 Towards data-centers disaggregation (2/2) Disaggregated data-centers design Memory and accelerators separate from CPU brick Flexible resources assignment High resources utilisation Energy optimization (Power off unused resources) Lower TCO (Total Cost of Ownership) 7 Open Confidential & Proprietary
8 ization: Memory disaggregation Host with minimal local RAM (hypervisor, services) Memory for a guest obtained from a disaggregated pool Guest VM uses disaggregated resources exclusively QEMU is a virtualizer for the guest and each QEMU/VM is just a process for hypervisor. QEMU uses HVA and exposes it as GPA (Hotplug in guest) Physical RAM Local only for the hypervisor QEMU process (VMs) uses remote memory only How to balance it to limit physical reconfiguration? Memory Ballooning 8 Open Confidential & Proprietary More remote memory attached on demand by orchestrator
9 ization: Memory Ballooning Guest is launched with specific RAM size Ballon driver operates within the guest RAM capability Inflate reserving VM s pages (make them unusable) Deflate releasing pages Reserved pages are reported to the hypervisor may be reused When ballon is empty, it is possible to hotplug new memory to the guest and pass it to the ballon. 9 Open Confidential & Proprietary
10 Secure Computing Bricks: Multi-OSs consolidation on ARMv8 Secure world Normal world Provide spatial and temporal isolation through TrustZone Non-secure Machines Support legacy RTOS for monitoring applications ization features (KVM) remain intact for the GPOS Secure Machine 1 Secure Machine 2 Secure RTOS (monitoring, secure gateway, etc) TEE (Secure services) Flexibility for static allocation or overcommitment of hardware resources Linux KVM VOSYSmonitor 10 CPU1 CPU2 CPU3 ARMv8-A hardware Open Confidential & Proprietary CPU4
11 Secure Computing bricks: VM deployment Disagregated Memory Computing Node 1 CPU 1 Linux Linux Secure RTOS VOSYSmonitor VOSYSmonitor CPU 3 CPU 4 Linux Shared memory area CPU 2 VOSYSmonitor Linux VOSYSmonitor Computing Node 2 CPU 1 Secure RTOS Linux VOSYSmonitor VOSYSmonitor CPU 3 CPU 4 VOSYSmonitor 11 CPU 2 Linux Linux IP Stack communication Linux TEE VOSYSmonitor Open Confidential & Proprietary CPU disaggregation Secure computing brick: Possibility to deploy secure execution environments to remote cores through a proper communication link between computation bricks.
12 Open Part 3: ARMv8 Architecture Introduction 12 OpenOpen Confidential & Proprietary Proprietary
13 ARM Architecture evolution Cortex-A15, Cortex-A9... Cortex-A72, Cortex-A57, Cortex-A53 13 Open Confidential & Proprietary
14 ARMv8-A overall description Architecture profiles: A application / R real-time / M - microcontroller ARMv8-A - AARCH64 Execution state: 31 General Purpose (GP) registers 64-bit GP registers X0-X30 (32 bit access W0-W30) No banking of GP register Stack pointer (SP) is a specific register (one per Exception Level) Program counter is not a GP registers Support for Floating Point and Advanced SMID (32 registers 128-bits) PSTATE register (e.g., ALU flags, exception masks ) System register access MRS x2, sp_el3 14 OpenOpen Confidential & Proprietary Proprietary
15 ARMv8-A instruction set mov x16, #0x10 => Write a value in a register ldr x4, [x21] => Read the memory space pointed by x21 and put the value in x4. str x5, [x11] => Write in the memory space pointed by x11 the value contained in X5. cmp x0, #0x20 => Compare the value contained in X0 with 0x20 beq _label => If it is equal, branch to _label bl function => Branch to a function by linking lsl x18, x4, #2 => Shift the value contained in x4 by 2 and put the result in x18 and x6, x2, x4 => Do a logical and operation between x2 and x4 and put the result in x6 orr 15 x0, x1, x2 => Do a logical orr operation between x1 and x2 and put the result in x0 Open Confidential & Proprietary
16 ARMv8-A exception level ARM ization extensions address the needs of Normal world to run concurrently another OS (e.g Linux) without devices for the partitioning and impacting the secure OS. management of complex software environments into Secure world is virtual machines. completely isolated (memory, devices, etc) from the Normal world by ARM TrustZone security extensions. Since TrustZone is implemented in hardware, it reduces the security vulnerabilities. The secure world could be used to run a secure OS to provide secure services to the OS running in the Monitor layer is the highest priority level which Normal world. provides a bridge between each world to allow some interactions. Exception level changing through specific instructions SMC, SVC, HVC, ERET 16 OpenOpen Confidential & Proprietary Proprietary
17 ARMv8-A features: ARM TrustZone TrustZone splits core into two compartments (e.g., Normal world / Secure world) Secure monitor firmware (EL3) is needed to support context switching between worlds Secure world Normal world Rich OS applications Secure applications Shared memory Rich OS Safety/Secure OS Secure monitor firmware Normal HW resources and peripherals Secure HW resources and peripherals Hardware 17 Each compartment has access to its own MMU allowing the isolation of Secure and Normal translation tables. Cache has tag bits to discern content cached by either secure or normal world. Security information is propagated on AXI/AHB bus Memory/Peripheral can also be made secured Provide security interrupts OpenOpen Confidential & Proprietary Proprietary
18 ARMv8-A features: virtualization extension ARMv8-A architecture includes hardware virtualization extension and Large Physical Address Extension (LPAE) to support the efficient implementation of vitual machine hypervisors: Machines Dedicated exception level (EL2) for hypervisor. Full virtualization capacity to run an OS in a virtual machine without any modification. Hypervisor (EL2) Combination of hardware features to minimize the need of hypervisor intervention. Some hypervisors compliant with the ARM architecture Linux-KVM XEN 18 OpenOpen Confidential & Proprietary Proprietary
19 ARMv8-A features: Memory Management ARM core MMU Page TLBs tables Caches MMU handles translation of virtual addresses to physical addresses. The address translation is performed through the TLB or a table walk. Memory *Translation Look-aside Buffers address AARCH64 supports up to 48-bits of Address All ELs have independent MMU configuration The page table supports different translation granules Each page table requires different attributes TTBR1 Kernel space Not Mapped (MMU fault) Access permissions (Read/Write - User/Privileged modes) Memory types (Caching/Buffering rules, Shareable, etc) 19 OpenOpen Confidential & Proprietary Proprietary TTBR0 User space
20 ARMv8-A features: Cache memory Cache Memory way 0 Index 0 Main Memory 0x00 Index 1 0xDEADBEFF 0x04 0xDEB0CAD0 Index 2 0x08 0xBABA0000 Index 3 0x0C 0xFEFEFEFE 0x10 0x x14 0x x18 0xDADAD1D1 Cache Memory way 1 Index 0 Index 1 Index 2 Index 3 Cortex - A53 20 L1 cache Instruction and data separated. Instruction 2 ways / Data 4 ways Size 8KB to 64KB - Cache line length 64 bytes L1 cache access => ~1 cycle OpenOpen Confidential & Proprietary Proprietary L2 cache 16-way set associative Size 128KB to 2MB Cache line length 64 bytes L2 cache access => ~10 cycles
21 ARMv8-A features: Interrupt management External sources ARM processors include two types of interrupts: Fast Interrupt (FIQ) is the highest priority. Some banked registers are allocated to the FIQ handler. FIQ could be used for secure applications. Interrupt Controller Interrupt Distributor CPU Interface General Interrupt Request (IRQ) IRQ FIQ CPU 0 CPU Interface IRQ FIQ CPU 1 ARM provides a Generic Interrupt Controller (GIC) which supports routing of software generated, private and shared peripheral interrupts between cores. It is composed by: Distributor: All interrupt sources are connected. It controls the type of the interrupt, priority, state, core targeted through the CPU interface. CPU interface: Through this a core receives an interrupt. The CPU interface provides abilities to mask, identify and control the state of interrupts. 21 OpenOpen Confidential & Proprietary Proprietary
22 ARMv8-A Vector Table (cntd) ARMv8 vector table 0x780 0x700 0x680 0x600 0x580 0x500 0x480 0x400 0x380 0x300 0x280 0x200 0x180 0x100 0x080 0x Serror / vserror FIQ / vfiq Lower EL using Exception generated during an AARCH32 IRQ / virq AARCH32 is routed to a higher Synchronous Serror / vserror Lower EL using Exception generated during an FIQ / vfiq AARCH64 AARCH64 is routed to a higher IRQ / virq Synchronous EL EL EL EL Serror / vserror FIQ / vfiq Current EL with Exception directly caught in the SPx current EL with SP_ELx IRQ / virq Synchronous Serror / vserror Current EL with Exception directly caught in the FIQ / vfiq SP0 current EL with SP_EL0 IRQ / virq Synchronous OpenOpen Confidential & Proprietary Proprietary
23 ARMv8-A Vector Table 0x780 Serror / vserror 0x700 FIQ / vfiq 0x680 IRQ / virq 0x600 0x580 Synchronous Serror / vserror 0x500 FIQ / vfiq 0x480 0x400 IRQ / virq Synchronous 0x380 0x300 Serror / vserror FIQ / vfiq 0x280 IRQ / virq 0x200 0x180 Synchronous 0x100 0x080 0x Serror / vserror FIQ / vfiq IRQ / virq Synchronous Lower EL using AARCH32 Separate vector tables for each exception level. Define the location in VBAR_ELn register. Synchronous exception Aborts from MMU Lower EL using AARCH64 SP & PC alignment fault Undefined instruction Service calls: SVC, SMC, HVC Current EL with SPx Serror => Asynchronous data abort (ex: abort triggered by writeback of dirty cache line) Information registers for exceptions: ESR_ELx => Include info about the reasons Current EL with SP0 FAR_Elx => Hold the faulting address ELR_Elx => Hold the instruction address which caused the data abort. OpenOpen Confidential & Proprietary Proprietary
24 Practical application: ARMv8 Initiation 24 Open Confidential & Proprietary
25 Open Part 4: Introduction to ization Concepts 25 OpenOpen Confidential & Proprietary Proprietary
26
AArch64 Virtualization
Connect AArch64 User Virtualization Guide Version Version 0.11.0 Page 1 of 13 Revision Information The following revisions have been made to this User Guide. Date Issue Confidentiality Change 03 March
More informationARMv8-A Software Development
ARMv8-A Software Development Course Description ARMv8-A software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop software for
More informationBack To The Future: A Radical Insecure Design of KVM on ARM
Back To The Future: A Radical Insecure Design of KVM on ARM Abstract In ARM, there are certain instructions that generate exceptions. Such instructions are typically executed to request a service from
More informationARMv8: The Next Generation. Minlin Fan & Zenon Xiu December 8, 2015
ARMv8: The Next Generation Minlin Fan & Zenon Xiu December 8, 2015 1 Introducing Ourselves Minlin Fan Application Engineering Manager Zenon Xiu Application Engineering Software Team Lead 2 ARM Partner
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 informationHercules ARM Cortex -R4 System Architecture. Processor Overview
Hercules ARM Cortex -R4 System Architecture Processor Overview What is Hercules? TI s 32-bit ARM Cortex -R4/R5 MCU family for Industrial, Automotive, and Transportation Safety Hardware Safety Features
More informationCortex-A15 MPCore Software Development
Cortex-A15 MPCore Software Development Course Description Cortex-A15 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to
More informationRA3 - Cortex-A15 implementation
Formation Cortex-A15 implementation: This course covers Cortex-A15 high-end ARM CPU - Processeurs ARM: ARM Cores RA3 - Cortex-A15 implementation This course covers Cortex-A15 high-end ARM CPU OBJECTIVES
More informationCortex-A9 MPCore Software Development
Cortex-A9 MPCore Software Development Course Description Cortex-A9 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop
More informationHypervisors on ARM Overview and Design choices
Hypervisors on ARM Overview and Design choices Julien Grall Root Linux Conference 2017 ARM 2017 About me Working on ARM virtualization for the past 4 years With ARM since 2016 Co-maintaining
More informationFundamentals of ARMv8-A
Fundamentals Connect User of Guide ARMv8-A Version Version 1.0 0.1 Page 1 of 34 ARM DD1 0388E ID113009 Revision Information The following revisions have been made to this User Guide. Date Issue Confidentiality
More informationKVM/ARM. Marc Zyngier LPC 12
KVM/ARM Marc Zyngier LPC 12 For example: if a processor is in Supervisor mode and Secure state, it is in Secure Supervisor mode ARM Architecture if a processor is Virtualization
More informationARM Accredited Engineer Certification
ARM Accredited Engineer Certification Mock Test with Answers Question 1 Which of the following processors would be best suited to a system requiring hard real-time responses, such as a hard drive controller?
More informationThe Next Steps in the Evolution of ARM Cortex-M
The Next Steps in the Evolution of ARM Cortex-M Joseph Yiu Senior Embedded Technology Manager CPU Group ARM Tech Symposia China 2015 November 2015 Trust & Device Integrity from Sensor to Server 2 ARM 2015
More informationSystems Architecture The ARM Processor
Systems Architecture The ARM Processor The ARM Processor p. 1/14 The ARM Processor ARM: Advanced RISC Machine First developed in 1983 by Acorn Computers ARM Ltd was formed in 1988 to continue development
More informationThe Next Steps in the Evolution of Embedded Processors
The Next Steps in the Evolution of Embedded Processors Terry Kim Staff FAE, ARM Korea ARM Tech Forum Singapore July 12 th 2017 Cortex-M Processors Serving Connected Applications Energy grid Automotive
More informationARM TrustZone for ARMv8-M for software engineers
ARM TrustZone for ARMv8-M for software engineers Ashok Bhat Product Manager, HPC and Server tools ARM Tech Symposia India December 7th 2016 The need for security Communication protection Cryptography,
More informationDesigning Security & Trust into Connected Devices
Designing Security & Trust into Connected Devices Eric Wang Sr. Technical Marketing Manager Tech Symposia China 2015 November 2015 Agenda Introduction Security Foundations on ARM Cortex -M Security Foundations
More informationCortex-A5 MPCore Software Development
Cortex-A5 MPCore Software Development תיאורהקורס קורסDevelopment Cortex-A5 MPCore Software הינו הקורס הרשמי שלחברת ARM בן 4 ימים, מעמיקמאודומכסהאתכלהנושאיםהקשוריםבפיתוחתוכנה לפלטפורמותמבוססותליבת.Cortex-A5
More informationCS 333 Introduction to Operating Systems. Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 11 Virtual Memory (1) Jonathan Walpole Computer Science Portland State University Virtual addresses Virtual memory addresses (what the process uses) Page
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More informationBUD17-301: KVM/ARM Nested Virtualization. Christoffer Dall
BUD17-301: KVM/ARM Nested Virtualization Christoffer Dall Nested Virtualization VM VM VM App App App App App VM App Hypervisor Hypervisor Hardware Terminology Nested VM VM Nested VM L2 App App App App
More informationHW isolation for automotive environment BoF
HW isolation for automotive environment BoF Michele Paolino m.paolino@virtualopensystems.com AGL All Member Meeting 2016, 2016-09-07, Munich, Germany http://www.tapps-project.eu/ Authorship and sponsorship
More informationLecture 21: Virtual Memory. Spring 2018 Jason Tang
Lecture 21: Virtual Memory Spring 2018 Jason Tang 1 Topics Virtual addressing Page tables Translation lookaside buffer 2 Computer Organization Computer Processor Memory Devices Control Datapath Input Output
More informationXen on ARM ARMv7 with virtualization extensions
Xen on ARM ARMv7 with virtualization extensions Stefano Stabellini Why? Why? smartphones: getting smarter Quad-core 1.4 GHz Cortex-A9 ARM Servers coming to market 4GB RAM, 4 cores per node 3 x 6 x 4 x
More informationARM Processors ARM ISA. ARM 1 in 1985 By 2001, more than 1 billion ARM processors shipped Widely used in many successful 32-bit embedded systems
ARM Processors ARM Microprocessor 1 ARM 1 in 1985 By 2001, more than 1 billion ARM processors shipped Widely used in many successful 32-bit embedded systems stems 1 2 ARM Design Philosophy hl h Low power
More informationImplementing Secure Software Systems on ARMv8-M Microcontrollers
Implementing Secure Software Systems on ARMv8-M Microcontrollers Chris Shore, ARM TrustZone: A comprehensive security foundation Non-trusted Trusted Security separation with TrustZone Isolate trusted resources
More informationVersion:2.1. Overview of speculation-based cache timing side-channels
Date: May 2018 Version 2.1 Introduction This whitepaper looks at the susceptibility of Arm implementations following recent research findings from security researchers at Google on new potential cache
More informationARM-KVM: Weather Report Korea Linux Forum
ARM-KVM: Weather Report Korea Linux Forum Mario Smarduch Senior Virtualization Architect m.smarduch@samsung.com 1 ARM-KVM This Year Key contributors Linaro, ARM Access to documentation & specialized HW
More informationCortex-A15 MPCore Software Development
Cortex-A15 MPCore Software Development תיאור הקורס קורסDevelopment Cortex-A15 MPCore Software הינו הקורסהרשמי שלחברת ARM בן 4 ימים, מעמיקמאודומכסהאתכלהנושאיםהקשוריםבפיתוחתוכנה לפלטפורמותמבוססותליבתMPCore.Cortex-A15
More informationDesigning Security & Trust into Connected Devices
Designing Security & Trust into Connected Devices Eric Wang Senior Technical Marketing Manager Shenzhen / ARM Tech Forum / The Ritz-Carlton June 14, 2016 Agenda Introduction Security Foundations on Cortex-A
More informationBuilding High Performance, Power Efficient Cortex and Mali systems with ARM CoreLink. Robert Kaye
Building High Performance, Power Efficient Cortex and Mali systems with ARM CoreLink Robert Kaye 1 Agenda Once upon a time ARM designed systems Compute trends Bringing it all together with CoreLink 400
More informationMemory Management. Goals of Memory Management. Mechanism. Policies
Memory Management Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Memory Management Goals of Memory Management Convenient abstraction for programming
More informationECE 598 Advanced Operating Systems Lecture 14
ECE 598 Advanced Operating Systems Lecture 14 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 22 March 2016 Announcements 1 Got a Pi3 over break Pi3 Notes Very impressive performance,
More informationLecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems
Lecture 7 Xen and the Art of Virtualization Paul Braham, Boris Dragovic, Keir Fraser et al. Advanced Operating Systems 16 November, 2011 SOA/OS Lecture 7, Xen 1/38 Contents Virtualization Xen Memory CPU
More informationCross-architecture Virtualisation
Cross-architecture Virtualisation Tom Spink Harry Wagstaff, Björn Franke School of Informatics University of Edinburgh Virtualisation Many of you will be familiar with same-architecture virtualisation
More informationCortex-R5 Software Development
Cortex-R5 Software Development Course Description Cortex-R5 software development is a three days ARM official course. The course goes into great depth, and provides all necessary know-how to develop software
More informationDesign and Implementation Interrupt Mechanism
Design and Implementation Interrupt Mechanism 1 Module Overview Study processor interruption; Design and implement of an interrupt mechanism which responds to interrupts from timer and UART; Program interrupt
More informationSecurity and Performance Benefits of Virtualization
Security and Performance Benefits of Virtualization Felix Baum mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered
More informationReturning from an Exception. ARM Exception(Interrupt) Processing. Exception Vector Table (Assembly code) Exception Handlers (and Vectors) in C code
ARM Exception(Interrupt) Processing Returning from an Exception main: instruction instruction instruction instruction Exception The ARM processor automatically: 1. Saves CPSR into banked SPSR 2. Saves
More informationCISC RISC. Compiler. Compiler. Processor. Processor
Q1. Explain briefly the RISC design philosophy. Answer: RISC is a design philosophy aimed at delivering simple but powerful instructions that execute within a single cycle at a high clock speed. The RISC
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 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 informationOverview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1
This Lecture Overview Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4 COSC440 Lecture 3: Interrupts 1 Three reasons for interrupts System calls Program/hardware faults External device interrupts
More informationIntroduction to ARMv8-A
תיאור הקורס Introduction to ARMv8-A קורסARMv8-A Introduction to הינו הקורס הרשמי שלחברת,ARM ומכסהאתכל הנושאיםהקשורים בארכיטקטורת 32/64 ביטהחדשה. הקורס מכסהאת ארכיטקטורת ARM החדשה, כליהפיתוח, טיפולבפסיקות,
More informationLecture 5. KVM for ARM. Christoffer Dall and Jason Nieh. 5 November, Operating Systems Practical. OSP Lecture 5, KVM for ARM 1/42
Lecture 5 KVM for ARM Christoffer Dall and Jason Nieh Operating Systems Practical 5 November, 2014 OSP Lecture 5, KVM for ARM 1/42 Contents Virtualization KVM Virtualization on ARM KVM/ARM: System architecture
More informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 CPU management Roadmap Process, thread, synchronization, scheduling Memory management Virtual memory Disk
More informationVirtual Open Systems (VOSyS)
Virtual Open Systems (VOSyS) 2018-06-14 Company Profile contact@virtualopensystems.com 2018-05-05www.virtualopensystems.com Virtual Open Systems: Profile Virtual Open Systems (VOSyS) is a French fully
More informationPorting Hyperkernel to the ARM Architecture
Technical Report UW-CSE-17-08-02 Porting Hyperkernel to the ARM Architecture Dylan Johnson University of Washington dgj16@cs.washington.edu Keywords ARM, AArch64, Exokernel, Operating Systems, Virtualization
More informationHow to protect Automotive systems with ARM Security Architecture
How to protect Automotive systems with ARM Security Architecture Thanks to this app You can manoeuvre The new Forpel Using your smartphone! Too bad it s Not my car Successful products will be attacked
More informationAnne Bracy CS 3410 Computer Science Cornell University
Anne Bracy CS 3410 Computer Science Cornell University The slides were originally created by Deniz ALTINBUKEN. P&H Chapter 4.9, pages 445 452, appendix A.7 Manages all of the software and hardware on the
More informationECE 571 Advanced Microprocessor-Based Design Lecture 13
ECE 571 Advanced Microprocessor-Based Design Lecture 13 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 21 March 2017 Announcements More on HW#6 When ask for reasons why cache
More informationTrusted Firmware Deep Dive. Dan Handley Charles Garcia-Tobin
Trusted Firmware Deep Dive Dan Handley Charles Garcia-Tobin 1 Agenda Architecture overview Memory usage Code organisation Cold boot deep dive PSCI deep dive 2 Example System Architecture Normal World Secure
More informationVirtual Machine Virtual Machine Types System Virtual Machine: virtualize a machine Container: virtualize an OS Program Virtual Machine: virtualize a process Language Virtual Machine: virtualize a language
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 informationFTF-CON-F0403. An Introduction to Heterogeneous Multiprocessing (ARM Cortex -A + Cortex- M) on Next-Generation i.mx Applications Processors
An Introduction to Heterogeneous Multiprocessing (ARM Cortex -A + Cortex- M) on Next-Generation i.mx Applications Processors FTF-CON-F0403 Glen Wienecke i.mx Systems Architect A P R. 2 0 1 4 TM External
More informationVersion:1.1. Overview of speculation-based cache timing side-channels
Author: Richard Grisenthwaite Date: January 2018 Version 1.1 Introduction This whitepaper looks at the susceptibility of Arm implementations following recent research findings from security researchers
More informationOperating System Support
William Stallings Computer Organization and Architecture 10 th Edition Edited by Dr. George Lazik + Chapter 8 Operating System Support Application programming interface Application binary interface Instruction
More informationCS399 New Beginnings. Jonathan Walpole
CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,
More information64-bit ARM Unikernels on ukvm
64-bit ARM Unikernels on ukvm Wei Chen Senior Software Engineer Tokyo / Open Source Summit Japan 2017 2017-05-31 Thanks to Dan Williams, Martin Lucina, Anil Madhavapeddy and other Solo5
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 informationOverview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin
CS 6V81-05: System Security and Malicious Code Analysis Overview of System Virtualization: The most powerful platform for program analysis and system security Zhiqiang Lin Department of Computer Science
More informationDesigning Security & Trust into Connected Devices
Designing Security & Trust into Connected Devices Rob Coombs Security Marketing Director TechCon 11/10/15 Agenda Introduction Security Foundations on Cortex-M Security Foundations on Cortex-A Use cases
More informationARMv8-A Memory Systems. Systems. Version 0.1. Version 1.0. Copyright 2016 ARM Limited or its affiliates. All rights reserved.
Connect ARMv8-A User Memory Guide Systems Version 0.1 Version 1.0 Page 1 of 17 Revision Information The following revisions have been made to this User Guide. Date Issue Confidentiality Change 28 February
More informationLearning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.
Virtual Memory 1 Learning Outcomes An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory. 2 Memory Management Unit (or TLB) The position and function
More informationCS 152 Computer Architecture and Engineering
CS 152 Computer Architecture and Engineering Lecture 12 -- Virtual Memory 2014-2-27 John Lazzaro (not a prof - John is always OK) TA: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: CS 152 L12: Virtual
More informationCavium ThunderX2 CN99XX PMU Events (Abridged) July 31, 2018
Cavium ThunderX2 CN99XX PMU s (Abridged) July 31, 2018 1 Introduction The ARM architecture defines several events as part of the Performance Monitor Unit (PMU) Extension. The Cavium ThunderX2 CN99XX processor
More informationECE 598 Advanced Operating Systems Lecture 8
ECE 598 Advanced Operating Systems Lecture 8 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 11 February 2016 Homework #3 Due. Announcements Homework #4 Posted Soon 1 HW#3 Comments
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 informationLearning Outcomes. An understanding of page-based virtual memory in depth. Including the R3000 s support for virtual memory.
Virtual Memory Learning Outcomes An understanding of page-based virtual memory in depth. Including the R000 s support for virtual memory. Memory Management Unit (or TLB) The position and function of the
More informationreferences Virtualization services Topics Virtualization
references Virtualization services Virtual machines Intel Virtualization technology IEEE xplorer, May 2005 Comparison of software and hardware techniques for x86 virtualization ASPLOS 2006 Memory resource
More informationCSE 153 Design of Operating Systems
CSE 153 Design of Operating Systems Winter 19 Lecture 3: OS model and Architectural Support Last time/today Historic evolution of Operating Systems (and computing!) Today: We start our journey in exploring
More informationECE 571 Advanced Microprocessor-Based Design Lecture 12
ECE 571 Advanced Microprocessor-Based Design Lecture 12 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 1 March 2018 HW#6 will be posted Project will be coming up Announcements
More informationProf. Daniel Rossier, PhD
Dealing with Hardware Heterogeneity Using a Virtualization Framework Tailored to ARM Based Embedded Systems Prof. Daniel Rossier, PhD HEIG-VD Institut REDS, Reconfigurable & Embedded Digital Systems rte
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 informationChapter 5 C. Virtual machines
Chapter 5 C Virtual machines Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple guests Avoids security and reliability problems Aids sharing
More informationHARDWARE 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 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 informationInput/Output Programming
Input/Output Programming Chapter 3: Section 3.1, 3.2 Input and output (I/O) programming Communicating with I/O devices Busy-wait I/O Interrupt-driven I/O I/O devices Devices may include digital and non-digital
More informationCS 310 Embedded Computer Systems CPUS. Seungryoul Maeng
1 EMBEDDED SYSTEM HW CPUS Seungryoul Maeng 2 CPUs Types of Processors CPU Performance Instruction Sets Processors used in ES 3 Processors used in ES 4 Processors used in Embedded Systems RISC type ARM
More informationVE7104/INTRODUCTION TO EMBEDDED CONTROLLERS UNIT III ARM BASED MICROCONTROLLERS
VE7104/INTRODUCTION TO EMBEDDED CONTROLLERS UNIT III ARM BASED MICROCONTROLLERS Introduction to 32 bit Processors, ARM Architecture, ARM cortex M3, 32 bit ARM Instruction set, Thumb Instruction set, Exception
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationCS 550 Operating Systems Spring Introduction to Virtual Machines
CS 550 Operating Systems Spring 2018 Introduction to Virtual Machines 1 How to share a physical computer Operating systems allows multiple processes/applications to run simultaneously Via process/memory
More informationMemory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization
Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical
More informationDeflating the hype: Embedded Virtualization in 3 steps
Deflating the hype: Embedded Virtualization in 3 steps Klaas van Gend MontaVista Software LLC For Embedded Linux Conference Europe 2010, Cambridge Agenda Why multicore made the topic more relevant Partitioning
More informationKVM/ARM. Linux Symposium Christoffer Dall and Jason Nieh
KVM/ARM Linux Symposium 2010 Christoffer Dall and Jason Nieh {cdall,nieh}@cs.columbia.edu Slides: http://www.cs.columbia.edu/~cdall/ols2010-presentation.pdf We like KVM It s Fast, Free, Open, and Simple!
More informationKeyStone II. CorePac Overview
KeyStone II ARM Cortex A15 CorePac Overview ARM A15 CorePac in KeyStone II Standard ARM Cortex A15 MPCore processor Cortex A15 MPCore version r2p2 Quad core, dual core, and single core variants 4096kB
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 27, FALL 2012
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 27, FALL 2012 ANNOUNCEMENTS Need student input on Lecturer Search Max Morawski Lecture 2:30pm 3:15pm, Fri 12/7, ITE 217 Meet with
More informationLecture 10 Exceptions and Interrupts. How are exceptions generated?
Lecture 10 Exceptions and Interrupts The ARM processor can work in one of many operating modes. So far we have only considered user mode, which is the "normal" mode of operation. The processor can also
More informationOctober, Saeid Nooshabadi. Overview COMP 3221
Overview COMP 3221 Microprocessors and Embedded Systems Lectures 28: Exceptions & Interrupts - II http://www.cse.unsw.edu.au/~cs3221 Instruction Set Support for Exceptions Role of O/S in Handling Exceptions
More informationHardware-Assisted On-Demand Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices
Hardware-Assisted On-Demand Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices Yeongpil Cho 1 Junbum Shin 2, Donghyun Kwon 1, MyungJoo Ham2 2, Yuna Kim 2, Yunheung Paek
More informationWhat is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks
LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate
More informationSilver Bullet of Virtualization. Challenges and Concerns. May 27, 2013 v1.0
Silver Bullet of Virtualization. Challenges and Concerns May 27, 2013 v1.0 Agenda Introduction / Motivation Background Use Cases / Scenarios Open Questions / Problems Q & A COGENT EMBEDDED 2 Introduction
More informationOS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.
Virtualization Basics Motivation OS Virtualization CSC 456 Final Presentation Brandon D. Shroyer Types of Virtualization Process virtualization (Java) System virtualization (classic, hosted) Emulation
More informationDepartment of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware.
Department of Computer Science, Institute for System Architecture, Operating Systems Group Real-Time Systems '08 / '09 Hardware Marcus Völp Outlook Hardware is Source of Unpredictability Caches Pipeline
More informationOperating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst
Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Last Class: Intro to OS An operating system is the interface between the user and the architecture. User-level Applications
More informationNested Virtualization and Server Consolidation
Nested Virtualization and Server Consolidation Vara Varavithya Department of Electrical Engineering, KMUTNB varavithya@gmail.com 1 Outline Virtualization & Background Nested Virtualization Hybrid-Nested
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 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 informationSystem Virtual Machines
System Virtual Machines Outline Need and genesis of system Virtual Machines Basic concepts User Interface and Appearance State Management Resource Control Bare Metal and Hosted Virtual Machines Co-designed
More information