ARM 2007 Chapter 15 The Future of the Architecture by John Rayfield Optimization Technique in Embedded System (ARM)

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Threads, SMP, and Microkernels
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Computer Abstractions and Technology
Cortex-M3 Memory Systems
Chapter 6: Process Synchronization
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
The Performance of Spin Lock Alternatives for Shared-Memory Microprocessors Thomas E. Anderson Presented by David Woodard.
Embedded Systems Programming
PZ13A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13A - Processor design Programming Language Design.
Chapter Nine NetWare-Based Networking. Objectives Identify the advantages of using the NetWare network operating system Describe NetWare’s server hardware.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
Introduction To The ARM Microprocessor
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
Figure 1.1 Interaction between applications and the operating system.
12/1/2005Comp 120 Fall December Three Classes to Go! Questions? Multiprocessors and Parallel Computers –Slides stolen from Leonard McMillan.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
CSCE 313: Embedded Systems Multiprocessor Systems
MemTracker Efficient and Programmable Support for Memory Access Monitoring and Debugging Guru Venkataramani, Brandyn Roemer, Yan Solihin, Milos Prvulovic.
Embedded Systems Programming
Prardiva Mangilipally
ARM Processor Architecture
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Cortex-M3 Debugging System
Computer performance.
Advances in Language Design
Computing Hardware Starter.
ECE 353 Introduction to Microprocessor Systems
Simultaneous Multithreading: Maximizing On-Chip Parallelism Presented By: Daron Shrode Shey Liggett.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
CLEMSON U N I V E R S I T Y AVR32 Micro Controller Unit Atmel has created the first processor architected specifically for 21st century applications that.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Hyper Threading (HT) and  OPs (Micro-Operations) Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki.
ARM for Wireless Applications ARM11 Microarchitecture On the ARMv6 Connie Wang.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Processor Architecture
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
Reduction of Register File Power Consumption Approach: Value Lifetime Characteristics - Pradnyesh Gudadhe.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Parallel Processing Chapter 9. Problem: –Branches, cache misses, dependencies limit the (Instruction Level Parallelism) ILP available Solution:
بسم الله الرحمن الرحيم MEMORY AND I/O.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
CHAPTER 2 Instruction Set Architecture 3/21/
SEMINAR ON ARM PROCESSOR
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
Computer Architecture Furkan Rabee
1 Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
CT101: Computing Systems Introduction to Operating Systems.
Introduction to Operating Systems Concepts
ARM.
ECE354 Embedded Systems Introduction C Andras Moritz.
Parallel Shared Memory
Threads, SMP, and Microkernels
Chapter 1 Introduction.
ARM.
Kernel Synchronization II
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
Chapter 12 Pipelining and RISC
Lecture 8: Efficient Address Translation
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
ARM920T Processor This training module provides an introduction to the ARM920T processor embedded in the AT91RM9200 microcontroller.We’ll identify the.
Presentation transcript:

ARM 2007 Chapter 15 The Future of the Architecture by John Rayfield Optimization Technique in Embedded System (ARM) 2008 April

ARM 2007 Overview 1999, ARM plan the future architecture –What’s the future direction of the architecture ? –This consideration results ARMv6. »First implemented as ARM1136J-S Challenges in future –DSP, Video processing for CE device; –Mixture of Little- and Big-endian for TCP/IP; –Sync. methods for multiple processor system; –Power consumption (Computing/mW). Future after ARMv6 –ARM TrustZone

ARM Advanced DSP & SIMD support in ARMv6 SIMD –Advantage: Code density, low power: less instruction, less time. –Price for this efficient: reduced flexibility. Light-weight SIMD –Slicing up existing 32-bit datapath into four 8bit or two 16bit slices. »So, speedup is 2 (16-bit) or 4 (8-bit). ARMv6 includes this “lightweight” SIMD. –SADD8, UADD8, etc. –SADD16, UADD16, etc.

ARM 2007 ARMv6 Instruction SIMD arithmetic instruction Pack instruction –PKHTB Rd, Rn, Rm // pack halves of Rn, Rm into Rd –PKHBT Complex arithmetic instruction –SMUSD Rt, Ra, Rb // Ra(R)*Rb(R) – Ra(i)*Rb(i) Cryptographic multiplication –UMAAL Rl, Rh, Rm, Rs // Rh/Rl = Rm*Rs+Rh+Rl

ARM System support additions to ARMv6 Set current endian –SETEND »// spec = BE or LE And –REV Rd, Rm

ARM Exception Procession ARMv6 adds the instruction to improve the efficiency for OS to save the return state of an interruption or exception on a stack.

ARM Multiprocessing Synchronization Primitives As System-on-Chip (SoC) architecture have become more sophisticated. –ARM cores are now often found in devices with many processing units that compete for shared resources.

ARM 2007 Atomic Sync Before, SWP instruction is used to keep semaphores coherent. –But, SWP carries the bottleneck. Because SWP is a blocking instruction (lock the BUS until resource released, as spin-lock). LDREX/STREX in ARMv6 –Given system monitor in Memory System. –LDREX load a value from M[x] into Rn, and assuming it will not be changed during it being used. –STREX store a value into M[x], and its return indicates if Mx had been modified between previous LDREX and STREX.(means STREX maybe fail) –Multi-Reads, Exclusive Write.

ARM 2007 Organization of ARMv6 Most sophisticated ARM pipeline –8-stage, and separate pipelines for load/store and multiply/accumulate. Hit-under-N-miss –Parallel Load Store Unit (LSU) –Decoupling the pipeline execution from the completion of loads and stores. Physical Cache (instead Virtual Cache) –It will reduce cache flushing when context switching. –Further more, save the power-consumption brought with memory access ( up to ~20% improvement).

ARM 2007

15.4 Future Technologies beyond ARMv6 In 2003, ARM made further technology announcements including TrustZone and Thumb-2.

ARM TrustZone TrustZone is an architecture extension –first introduced in ARM1176JZ-S. Reason –OS are now so complex that it is very hard to verify security and correctness in the software. –The ARM solution is to add new operating “states” when only a small verifiable software kernel will run, and this will provide services to the larger OS. –The microprocessor core then take a role in controlling system peripherals that may be only available to the secure “state” through some new exported signals on the bus interface. TrustZone is most useful in devices that will carrying out content downloads, such as cell phones or other portable devices with network connections.

ARM 2007

Thumb-2 Thumb-2 is an architecture extension –designed to increase performance at high code density. –It allows for a blend of 32-bit ARM-like instruction with 16-bit thumb instructions. Thumb-2 is announced in Oct –will be implemented in ARM1156T2-S. –details are not public by the time of writing.

ARM 2007 Summary The ARM architecture is not a static constant. –But is being developed and improved to suite the application required by today’s consumer devices. –Although the ARMv5TE was very successful at adding some DSP support to ARM. ARMv6 extends the DSP support as well as adding support for large multiprocessor system. ARM still concentrates on one of its key benefits—Code Density—and has recently announced the Thumb-2. The new focus on security with TrustZone gives ARM a leading in this area.