ARM Microprocessor and ARM-Based Microcontrollers



Similar documents
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

ARM Architecture. ARM history. Why ARM? ARM Ltd developed by Acorn computers. Computer Organization and Assembly Languages Yung-Yu Chuang

The ARM Architecture. With a focus on v7a and Cortex-A8

An Introduction to the ARM 7 Architecture

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Introduction to RISC Processor. ni logic Pvt. Ltd., Pune

7a. System-on-chip design and prototyping platforms

Cortex-A9 MPCore Software Development

Architectures and Platforms

BEAGLEBONE BLACK ARCHITECTURE MADELEINE DAIGNEAU MICHELLE ADVENA

LSN 2 Computer Processors

ARM Accredited Engineer AAE Syllabus. Document number: ARM AEG 0052C Copyright ARM Limited 2012

An Overview of Stack Architecture and the PSC 1000 Microprocessor

The ARM Processor Architecture

Overview of the Cortex-M3

The ARM Cortex-A9 Processors

Mobile Processors: Future Trends

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

Exception and Interrupt Handling in ARM

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Architecture and Implementation of the ARM Cortex -A8 Microprocessor

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Five Families of ARM Processor IP

Architectures, Processors, and Devices

İSTANBUL AYDIN UNIVERSITY

ARM Virtualization: CPU & MMU Issues

ARMSim: An Instruction-Set Simulator for the ARM processor Alpa Shah - Columbia University

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

CISC, RISC, and DSP Microprocessors

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

CPU Organization and Assembly Language

Instruction Set Design

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Intel StrongARM SA-110 Microprocessor

ARM VIRTUALIZATION FOR THE MASSES. Christoffer Dall

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Design Cycle for Microprocessors

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

Software based Finite State Machine (FSM) with general purpose processors

The Future of the ARM Processor in Military Operations

Am186ER/Am188ER AMD Continues 16-bit Innovation

ARM Cortex-R Architecture

Processor Architectures

StrongARM** SA-110 Microprocessor Instruction Timing

Which ARM Cortex Core Is Right for Your Application: A, R or M?

What is a System on a Chip?

FLIX: Fast Relief for Performance-Hungry Embedded Applications

Microprocessor and Microcontroller Architecture

Hardware/Software Co-Design of a Java Virtual Machine

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Introducción. Diseño de sistemas digitales.1

Chapter 2 Logic Gates and Introduction to Computer Architecture

Cortex -A Series. Programmer s Guide. Version: 2.0. Copyright 2011 ARM. All rights reserved. ARM DEN0013B (ID082411)

AVR32. Architecture Document. Feature Summary

Hardware accelerated Virtualization in the ARM Cortex Processors

A Choices Hypervisor on the ARM architecture

Introduction to the Latest Tensilica Baseband Solutions

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

picojava TM : A Hardware Implementation of the Java Virtual Machine

Digital Signal Controller Based Automatic Transfer Switch

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Instruction Set Architecture (ISA) Design. Classification Categories

Embedded System Hardware - Processing (Part II)

Week 1 out-of-class notes, discussions and sample problems

Intel 8086 architecture

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

RISC AND CISC. Computer Architecture. Farhat Masood BE Electrical (NUST) COLLEGE OF ELECTRICAL AND MECHANICAL ENGINEERING

Let s put together a Manual Processor

ELEC 5260/6260/6266 Embedded Computing Systems

Software engineering for real-time systems

Computer Systems Structure Main Memory Organization

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Introduction to System-on-Chip

Introduction to Digital System Design

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

ARM Webinar series. ARM Based SoC. Abey Thomas

VLIW Processors. VLIW Processors

A case study of mobile SoC architecture design based on transaction-level modeling

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

Chapter 5, The Instruction Set Architecture Level

Lessons from the ARM Architecture. Richard Grisenthwaite Lead Architect and Fellow ARM

Migrating Application Code from ARM Cortex-M4 to Cortex-M7 Processors

PowerPC 405 GP Overview

Instruction Set Architecture (ISA)

Developer Suite ARM. Assembler Guide. Version 1.2. Copyright 2000, 2001 ARM Limited. All rights reserved. ARM DUI 0068B

8051 MICROCONTROLLER COURSE

Cortex -A15. Technical Reference Manual. Revision: r2p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0438C (ID102211)

OC By Arsene Fansi T. POLIMI

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway

ARM Processors and the Internet of Things. Joseph Yiu Senior Embedded Technology Specialist, ARM

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Compilation Tools. RealView. Developer Guide. Version 4.0. Copyright ARM. All rights reserved. ARM DUI 0203J (ID101213)

Interrupt handling. Andrew N. Sloss

Transcription:

ARM Microprocessor and ARM-Based Microcontrollers Nguatem William 24th May 2006

A Microcontroller-Based Embedded System

Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement Summary 3 ARM Processor Cores 4 ARM based System Microcontroller ARM Products

Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement Summary 3 ARM Processor Cores 4 ARM based System Microcontroller ARM Products

ARM ARM ARM History ARM - Acorn RISC Machine from Acorn Computers Ltd. of Cambridge,UK. In 1990, ARM Ltd. was established and ARM was renamed as Advanced RISC Machines. ARM Ltd. A semiconductor IP - Intellectual Property company. Licenses IP cores to partner companies e.g Nokia, Philips Semiconductors. Also develop technologies to assist with the designing of the ARM architecture ARM is not a chip producer.

ARM IP - Intellectual Property IP - Intellectual Property ARM provides hard and soft views to licensees (RTL and synthesis flows GDSII layout) IP Soft views include gate level netlists (RTL source code) synthesizable from licensees using a suitable gate library Hard IP are the final GDSII layout given to the customer OEMs must use hard views to protect ARM IP

ARM Basics ARM feature (I) Partly from Berkeley RISC concept A load-store architecture. Fixed-length 32-bit instructions 3-address instruction format Pipelined architecture Conditional execution of all instructions Extensible ISA through hardware Coprocessors The ability to perform a general shift operation and a general ALU operation in a single instruction that executes in a single clock cycle

ARM Basics ARM Features (II) rejected from Berkeley RISC concept Register Window. Delayed branches

ARM Basics Modes (I) 7 operating modes user : Unprivileged, normal execution mode FIQ : High priority (fast) interrupt raised IRQ : Low priority Interrupt svc: Software interrupt(swi) is executed Abort: Handling of memory access violations system : Run privileged task Undefined : Undefined instructions

ARM Basics Modes (II) Question Why FIQ and IRQ? Answer FIQ has a higher priority than IRQ Gives a better mapping of different interrupt sources FIQ has extra bank registers than IRQ faster than IRQ

ARM Basics Registers Registers ARM has 37 registers all of which are 32-bits long 1 dedicated program counter 1 dedicated current program status register 5 dedicated saved program status registers 30 general purpose registers

ARM Basics Accessible Registers These registers cannot all be seen at once. The processor state and operating mode dictate which registers are available to the programmer.

ARM Basics Processor Status Register - CPSR

ARM Basics Data Sizes and Instruction Sets Data sizes The ARM is a 32-bit architecture. When used in relation to the ARM: Byte means 8 bits Halfword means 16 bits (two bytes) Word means 32 bits (four bytes) ISA Most ARMs implement two instruction sets. 32-bit ARM Instruction Set 16-bit Thumb Instruction Set Jazelle cores can also execute Java bytecode

ARM Basics Memory Endianess Neutrality to Endianess. Can be configured at power-up as either little- or big-endian mode. Default alignment is little-endian due to many little-endian peripheral component available.

ARM Basics Coprocessors Coprocessor interface Provide support for hardware coprocessors. Advantages Extends the instruction set, e.g On-Chip control of MMU and Cache, floating point arithmetic

Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement Summary 3 ARM Processor Cores 4 ARM based System Microcontroller ARM Products

Thumb Thumb (I) Thumb is a 16-bit instruction set. Core has additional execution state - Thumb Switch between ARM and Thumb using BX instruction Not a complete ISA Difference to ARM Inst. Conditional execution is not used Source and destination registers identical Thumb bit in CPRS is set Inline barrel shifter not used

Thumb Thumb (II)

Thumb Thumb (III) Thumb-2 16-bit coding of more ARM instruction. Pros and Cons of Thumb + Excellent code density for minimal system size. - No direct access of Status registers while in Thumb state - No conditional execution, excepting branch instructions - With 32-bit memory, the ARM code is 40% faster than Thumb code + With 16-bit memory, the Thumb code is 45% faster than ARM code

Thumb Thumb (IV) Thumb Application A typical embedded system, e.g. a mobile phone, will include a small amount of fast 32-bit memory (to store speed-critical DSP code) and 16-bit off-chip memory to store the control code.

Jazelle Jazelle (I) Hardware accelerated java code mechanism.

Jazelle Jazelle (II) Features Processor fetches one word containing 4-javabytes. J-bit of status register set Jazelle types Jazelle DBX - Direct Byte execution: supports only javabyte codes Jazalle RCT - Run time CompilaTion: extension of Thumb-2,supports different VM.

Jazelle TrustZone TrustZone. Hardware based security mechanism Complete code separation

NEON & DSP Enhancement NEON & DSP Enhancement DSP Extension NEON. Added DSP instructions to ARM ISA Hardware acceleration for multimedia applications Combines 64-bit and 128-bit hybrid SIMD Separate execution i.e complete instruction architecture.

Summary Conclusion Note - Extra logic needed for the hardware extension: e.g Thumb decompression unit. - Increase die size and cost. + Simple implementation + Very efficient

Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement Summary 3 ARM Processor Cores 4 ARM based System Microcontroller ARM Products

ARM7 Core Features 32-bit RISC Architecture Von Neumann Architecture 3-Stage Pipeline - Fetch, Decode Execute Most instructions execute in a single cycle. ARMv4 ISA Supports up to 16 coprocessors.

ARM9 Core Features Performance of the ARM7 Von Neumann architecture limited by the available bandwidth - memory accessed on almost every cycle either to fetch an instruction or to transfer data. Harvard architecture improves CPI - Clock cycles Per Instruction Higher performance core than ARM7 Five-stage pipeline - Fetch, Decode, Execute, Memory, and Write

ARM9E Features ARM9 core + DSP extensions Enhanced multiplier for DSP performance On-Chip debug hardware Benefits Single engine for both DSP and control code Simple single memory system. Reduced chip complexity, die size and power consumption Single toolkit support with ARMs Development and Debug tools, giving faster time-to-market

Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement Summary 3 ARM Processor Cores 4 ARM based System Microcontroller ARM Products

Microcontroller ActelCoreMP7 and Subsystem ARM7TDMI-S 32/16-bit RISC architecture ARM and Thumb instruction sets Embedded real-time debug and JTAG

Microcontroller

ARM Products ARM Powered Products

ARM Products

Summary Summary ARM Cores are IPs Hybrid instruction encoding offers better efficiency in embedded applications Backward software compatibility for all new cores

Questions?