Chapter 5. Introduction ARM Cortex series

Similar documents
ELC4438: Embedded System Design ARM Embedded Processor

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

Chapter 15 ARM Architecture, Programming and Development Tools

ARM architecture road map. NuMicro Overview of Cortex M. Cortex M Processor Family (2/3) All binary upwards compatible

Embedded System Design

Copyright 2016 Xilinx

Hercules ARM Cortex -R4 System Architecture. Processor Overview

Growth outside Cell Phone Applications

ARM Processors for Embedded Applications

The ARM Cortex-A9 Processors

Amber Baruffa Vincent Varouh

Introduction CHAPTER IN THIS CHAPTER

The ARM Cortex-M0 Processor Architecture Part-1

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

ARM Cortex -M for Beginners

EEM870 Embedded System and Experiment Lecture 3: ARM Processor Architecture

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

A superscalar machine is one in which multiple instruction streams allow completion of more than one instruction per cycle.

The Nios II Family of Configurable Soft-core Processors

Each Milliwatt Matters

ECE 471 Embedded Systems Lecture 2

Contents of this presentation: Some words about the ARM company

Universität Dortmund. ARM Architecture

New ARMv8-R technology for real-time control in safetyrelated

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Introduction to the ARM Architecture. or: a loose set of random facts blatantly copied from tech sheets and the Architecture Ref.

RM3 - Cortex-M4 / Cortex-M4F implementation

RM4 - Cortex-M7 implementation

CISC RISC. Compiler. Compiler. Processor. Processor

15CS44: MICROPROCESSORS AND MICROCONTROLLERS. QUESTION BANK with SOLUTIONS MODULE-4

ECE 471 Embedded Systems Lecture 2

Chapter 4. Enhancing ARM7 architecture by embedding RTOS

4. Hardware Platform: Real-Time Requirements

SoC Platforms and CPU Cores

New STM32 F7 Series. World s 1 st to market, ARM Cortex -M7 based 32-bit MCU

ARM Cortex core microcontrollers

Jazelle. The ARM Architecture. NeON. Thumb

Cortex-R5 Software Development

ELC4438: Embedded System Design Embedded Processor

The Next Steps in the Evolution of Embedded Processors

Cortex-A9 MPCore Software Development

ARM Ltd. ! Founded in November 1990! Spun out of Acorn Computers

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

OUTLINE. STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and Pipelining Cortex-M0 Programming Model Toolchain and Project Structure

1. Microprocessor Architectures. 1.1 Intel 1.2 Motorola

Cortex-M Software Development

LEON4: Fourth Generation of the LEON Processor

ELC4438: Embedded System Design ARM Cortex-M Architecture II

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 14 Instruction Level Parallelism and Superscalar Processors

ARM Cortex-A9 ARM v7-a. A programmer s perspective Part1

systems such as Linux (real time application interface Linux included). The unified 32-

NXP Unveils Its First ARM Cortex -M4 Based Controller Family

Implementing Secure Software Systems on ARMv8-M Microcontrollers

AN4777 Application note

ARM ARCHITECTURE. Contents at a glance:

Jack Kang ( 剛至堅 ) VP Product June 2018

The Next Steps in the Evolution of ARM Cortex-M

STM32 F0 Value Line. Entry-level MCUs

Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan

Superscalar Processors

Multicore and MIPS: Creating the next generation of SoCs. Jim Whittaker EVP MIPS Business Unit

6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU

ELCT 912: Advanced Embedded Systems

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Zynq-7000 All Programmable SoC Product Overview

ECE 471 Embedded Systems Lecture 3

Systemy RT i embedded Wykład 5 Mikrokontrolery 32-bitowe AVR32, ARM. Wrocław 2013

KeyStone II. CorePac Overview

Next Generation Technology from Intel Intel Pentium 4 Processor

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

ARM Processor Architecture

AND SOLUTION FIRST INTERNAL TEST

The ARM10 Family of Advanced Microprocessor Cores

EE 4980 Modern Electronic Systems. Processor Advanced

Big.LITTLE Processing with ARM Cortex -A15 & Cortex-A7

Embedded Systems: Architecture

ARM processor organization

Cortex-M3/M4 Software Development

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

Embedded Computing Platform. Architecture and Instruction Set

ARM Cortex -M7: Bringing High Performance to the Cortex-M Processor Series. Ian Johnson Senior Product Manager, ARM

Superscalar Machines. Characteristics of superscalar processors

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture

ECE 471 Embedded Systems Lecture 2

Course Introduction. Purpose: Objectives: Content: Learning Time:

Computer and Hardware Architecture II. Benny Thörnberg Associate Professor in Electronics

Embedded Systems. 7. System Components

Hello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory.

Introducing the Superscalar Version 5 ColdFire Core

Cortex -R5. Technical Reference Manual. Revision: r1p2. Copyright ARM. All rights reserved. ARM DDI 0460D (ID092411)

Multimedia in Mobile Phones. Architectures and Trends Lund

ECE254 Lab3 Tutorial. Introduction to MCB1700 Hardware Programming. Irene Huang

Cortex-M Processors and the Internet of Things (IoT)

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

AMD Opteron 4200 Series Processor

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor.

ARMv8-A Software Development

Designing with NXP i.mx8m SoC

Transcription:

Chapter 5 Introduction ARM Cortex series 5.1 ARM Cortex series variants 5.2 ARM Cortex A series 5.3 ARM Cortex R series 5.4 ARM Cortex M series 5.5 Comparison of Cortex M series with 8/16 bit MCUs 51

5.1 ARM Cortex Series Variants: ARM architecture has evolved over the time and ARM core also available in latest cortex[2] Series, again to reuse the term A R M, Cortex Series comes in three different profiles as listed below. 1. ARM Cortex A series 2. ARM Cortex R series 3. ARM Cortex M series 5.2 ARM Cortex A Series: Cortex A series provides varieties of application processors and it offers solution for the devices having strong operating systems and user applications[2] consisting of low-cost-handset in case of smart phones, mobile computing platform, digital TV and set top box. Important feature[2] of Cortex A series High performance Cortex A devices offers power efficient performance for the targeted applications. It can be realized in mobile smart phone, tablet devices and wireless infrastructure applications Best suited for accessing internet through mobile supports Adobe flash, consists of high performance NEON Engine for broad support of media codec and low power consumption allows continuous browsing. Supports Multicore Technology single to quad core is being utilized for performance oriented applications. Provides coherency throughout the processor for memory and peripheral access with the help of Accelerator Coherency Port (ACP). 5.2.1 Cortex A Series Variants: Cortex A series available with different variants[2] for varieties of applications Cortex A5 Processor Cortex A7 Processor Cortex A8 Processor Cortex A9 Processor 52

Cortex A12 Processor Cortex A15 Processor Cortex A50 series Processor Basic application processor Cortex A5 architecture[2] is shown in Figure 5.1. The Architecture is based on version 7. Important features of the architecture are it is a multicore architecture, comprises of Instruction & data cache separately, NEON data engine for media codec and floating point unit. Figure 5.1 ARM Cortex A5 Architecture As far as the various other application processors concern they are having advance features based on the application need. Pipelining scheme of Cortex-A7[2] is shown in Figure 5.2 and Figure 5.3 shows the pipeline scheme[2] of cortex A15. This pipeline architecture comprises of integer, multiply, floating point, load/store dimensions with writeback option. Figure 5.2 ARM Cortex A7 Pipeline 53

5.3 ARM Cortex R Series: Figure 5.3 ARM Cortex A15 Pipeline Cortex R series consists of Real Time Processors which offers[2] highperformance computing solution, very good fault tolerance, detect errors thereby maintain reliable system operation and real time response for embedded systems. Important features[2] of Cortex A series: High-Performance for executing complex code at rapid rate with DSP functionality. High clock frequency, deeply pipelined microarchitecture. Dual core multi processing configuration. Hardware SIMD instructions for DSP and Media. Performance enhancing technologies instructions are pre-fetch, branch prediction and superscalar execution. Inclusion of Floating Point Unit (FPU). Truly real time - in terms of response of interrupt and accessing information to/from memories. Fast, bounded and deterministic interrupt response. Tightly Coupled Memories (TCM) for faster access. Low Latency Interrupt Mode (LLIM) to accelerate interrupts entry. Harvard architecture with instruction and data cache controller. Highly secure and safe - User and privilege software operating modes. Memory protection unit. 54

High performance AMBA-AXI bus interface. Cost effective 5.3.1 Cortex R Series Variants: Cortex R profile available in different variants[2] in real time processors Cortex R4 processor Cortex R5 processor Cortex R7 processor Figure 5.4 Cortex - R4 Processor Architecture Figure 5.4 shows Cortex R4 processor Architecture[2] which is said to be the basic architecture in real time processor series. It comprises of version 7 of ARM core CPU, along with that it is also having two Tightly Coupled Memory modules, separate data and instruction cache controller, memory protection unit and Floating point unit. All these modules are communicating with the help of high performance AMBA AXI bus interface. Cortex R5 architecture comes with enhancement like dual core and high priority low latency peripheral port (LLPP) along with that it also has Accelerator Coherency port (ACP). Cortex R7 architecture introduce new technology including out-of-order instruction execution and dynamic register re-naming. 55

5.4 ARM Cortex M Series: Cortex M series consists of Microcontroller based processors[2] having energy efficient upward compatible processor, code reuse facility and better connectivity. Important features[2] of Cortex M series: Energy Efficient Operates at lower MHz and/or with shorter activity period. Sleep mode is available in architecture which is better than that of 8/16 bit. Reduce energy cost and improves battery life. Small code size dense instruction set, requires small size of ROM, RAM and FLASH. Performance per byte is more than that of 8/16 bit devices. Reduces silicon cost. Easy to use standardize platform across all the vendors, provides good code compatibility. Unified tools and OS support. Software development is fast and reusable. High performance gives better throughput for given operating frequency compared to all 8/16 bit devices. 5.4.1 Cortex M Series Variants: Cortex M profile available in different variants[2] Microcontroller processors Cortex M0 Processor Cortex M0+ Processor Cortex M1 Processor Cortex M3 Processor Cortex M4 Processor Cortex M series processor comprises state of the art technology which delivers best performance, apart from above listed important feature Cortex M series controller has got Nested Interrupt Vector Controller (NVIC) as an integral part of the processor. Table 5.1 describes the support of NVIC[2]. Processor No. of IRQ NMI System exception Cortex M0,M0+, M1 32 1 Yes Cortex M3, M4 240 1 Yes Table 5.1 NVIC Support For Cortex M Series Processor 56

Basic architecture of Cortex M0 processor[2] is shown in Figure 5.5 which comprises the NVIC module as an integral part of it. Figure 5.6 shows the working of NVIC with Cortex M series processor[2], NVIC deals with IRQs, NMI and System exceptions. Figure 5.5 Architecture Of Cortex - M0 Processor Figure 5.6 NVIC Working in Cortex M series Processor 57

As far as M0 and M0+ is concern both are almost identical in architecture except few changes in M0+. In Cortex M0 we have 3 stage pipeline whereas in M0+ it has been reduced to 2 stage pipeline which lower the power consumption. On the other side M0+ has got better debug option with the help of Micro Trace Buffer (MTB) by which it is easier to trace any instruction. Following Figure 5.7 shows the progressive graph[2][22] of Cortex M series variant with respect to performance, cost and integration. Figure 5.7 Cortex - M Series Performance Chart Figure 5.8 Cortex - M3 Processor Architecture 58

Figure 5.8 shows the architecture of Cortex M3 processor[2] which is having enhanced features like 3 stage pipeline with branch speculation and memory protection unit. Large number of physical interrupts up to 240 maximum. Along with conventional interrupt it has also the support of Non- Maskable Interrupt (NMI). As far as instructions are concern it fully supports Thumb and Thumb2 modes. Instruction set[2] for Cortex M0 and M3 is shown in Figure 5.9. Figure 5.9 Instruction Set For Cortex - M0 and M3 5.5 Comparison Of Cortex M Series With 8/16 bit MCU: There are various aspects on which ARM Cortex M series is superior over the conventional 8/16 bit MCU like 51 family, PIC and MSP430. Code Size of Cortex M 32 bit versus 8/16 bit MCUs: Instruction size of 8 bit MCU[22][23] For 8051 it is from 8 bits to 24 bits For PIC16 it is 16 bits For PIC18 it is 18 bits 59

Instruction size of 16 bit MCU For PIC24 it is 24 bits For MSP430 can be upto 32 bits for extended version upto 64 bits Instruction size for Cortex M0 is mostly 16 bits As far as code density is concern Cortex M series occupies less amount of code memory let us understand the same by taking example of 16-bit multiplication in 8-bit processor, 16-bit processor and Cortex M series. MCU/ Processor No. of instructions No. of bytes Time required in required required for code clock cycles 8-bit 29 48 48 16-bit 4 8 8 Cortex M0 1 2 1 Table 5.2 Code Density Comparison For 16 Bit Multiplication Table 5.2 shows the code density comparison[22] for 16-bit multiplication example in different MCUs, detail coding shown in appendix. Clearly one can say that Cortex M series provides better code density. Data processing capabilities of Cortex M series better than that of 8/16 bit MCUs. When it comes to process a data of more than 8-bit, 8-bit MCUs consumes more time to process the same, because they have 8-bit registers, ALU and memories. Stack requirement is high. Same way for data more than 16-bit, 16-bit processor consumes more time to process it, because they have 16-bit registers, ALU and memories. More stack requirement Cortex M0 has 32-bit registers and memories therefore it process the data upto 32 bit mostly in one clock cycle. Addressing modes and memory structure of Cortex M series much powerful than that of 8/16 bit MCUs. 60