Details of a New Cortex Processor Revealed. Cortex-A9. ARM Developers Conference October 2007



Similar documents
The ARM Cortex-A9 Processors

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

Hardware accelerated Virtualization in the ARM Cortex Processors

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

Exploring the Design of the Cortex-A15 Processor ARM s next generation mobile applications processor. Travis Lanier Senior Product Manager

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

BEAGLEBONE BLACK ARCHITECTURE MADELEINE DAIGNEAU MICHELLE ADVENA

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

Cortex -A7 MPCore. Technical Reference Manual. Revision: r0p5. Copyright ARM. All rights reserved. ARM DDI 0464F (ID080315)

Cortex-A9 MPCore Software Development

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

ARM Microprocessor and ARM-Based Microcontrollers

Embedded Parallel Computing

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

Application Performance Analysis of the Cortex-A9 MPCore

Next Generation GPU Architecture Code-named Fermi

ARM Webinar series. ARM Based SoC. Abey Thomas

Five Families of ARM Processor IP

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

Architecture and Implementation of the ARM Cortex -A8 Microprocessor

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

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

Introduction to AMBA 4 ACE and big.little Processing Technology

Cortex -A9 MPCore. Technical Reference Manual. Revision: r4p1. Copyright ARM. All rights reserved. ARM DDI 0407I (ID091612)

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

Chapter 1 Computer System Overview


NVIDIA Tegra 4 Family CPU Architecture

evm Virtualization Platform for Windows

Architectures, Processors, and Devices

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

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

big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices

ARM Cortex-R Architecture

OC By Arsene Fansi T. POLIMI

Introduction to Cloud Computing

VtRES Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group

Cortex -A7 Floating-Point Unit

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

Going beyond a faster horse to transform mobile devices

Application Note 195. ARM11 performance monitor unit. Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007

Feb.2012 Benefits of the big.little Architecture

STM32 F-2 series High-performance Cortex-M3 MCUs

Full and Para Virtualization

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

SPARC64 VIIIfx: CPU for the K computer

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

Embedded Development Tools

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

Accelerating High-Speed Networking with Intel I/O Acceleration Technology

ARM Processor Evolution

Sierraware Overview. Simply Secure

Attention. restricted to Avnet s X-Fest program and Avnet employees. Any use

The new 32-bit MSP432 MCU platform from Texas

A Scalable VISC Processor Platform for Modern Client and Cloud Workloads

Bare-Metal, RTOS, or Linux? Optimize Real-Time Performance with Altera SoCs

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

SOC architecture and design

FLOATING-POINT ARITHMETIC IN AMD PROCESSORS MICHAEL SCHULTE AMD RESEARCH JUNE 2015

Switch Fabric Implementation Using Shared Memory

Intel DPDK Boosts Server Appliance Performance White Paper

High Performance or Cycle Accuracy?

The Future of the ARM Processor in Military Operations

Architectures and Platforms

Operating Systems 4 th Class

Informatica Ultra Messaging SMX Shared-Memory Transport

LSN 2 Computer Processors

Real-Time Operating Systems for MPSoCs

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK.

ZigBee Technology Overview

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May ILP Execution

INSTRUCTION LEVEL PARALLELISM PART VII: REORDER BUFFER

Going Linux on Massive Multicore

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Design and Implementation of the Heterogeneous Multikernel Operating System

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

MPSoC Designs: Driving Memory and Storage Management IP to Critical Importance

Cortex -A9. Technical Reference Manual. Revision: r4p1. Copyright ARM. All rights reserved. ARM DDI 0388I (ID091612)

1. Computer System Structure and Components

SierraVMI Sizing Guide

Industry First X86-based Single Board Computer JaguarBoard Released

Chapter 11 I/O Management and Disk Scheduling

"JAGUAR AMD s Next Generation Low Power x86 Core. Jeff Rupley, AMD Fellow Chief Architect / Jaguar Core August 28, 2012

Multi-Threading Performance on Commodity Multi-Core Processors

OpenSPARC T1 Processor

Overview of the Cortex-M3

IBM CELL CELL INTRODUCTION. Project made by: Origgi Alessandro matr Teruzzi Roberto matr IBM CELL. Politecnico di Milano Como Campus

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Am186ER/Am188ER AMD Continues 16-bit Innovation

Debug and Trace for Multicore SoCs How to build an efficient and effective debug and trace system for complex, multicore SoCs

<Insert Picture Here> T4: A Highly Threaded Server-on-a-Chip with Native Support for Heterogeneous Computing

Using On-chip Networks to Minimize Software Development Costs

Virtual Machines. COMP 3361: Operating Systems I Winter

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Energy-Efficient, High-Performance Heterogeneous Core Design

big.little Technology: The Future of Mobile Making very high performance available in a mobile envelope without sacrificing energy efficiency

Transcription:

Details of a New Cortex Processor Revealed Cortex-A9 ARM Developers Conference October 2007 1

ARM Pioneering Advanced MP Processors August 2003 May 2004 August 2004 April 2005 June 2007 ARM shows first synthesisable MP processor ARM11 MPCore quad-core launched AMD launches x86 dual-core processor Intel launches x86 dual-core processor More than ten ARM11 MPCore licences Five in the top 11 semiconductor companies Four public NEC, NVIDIA, Renesas, Sarnoff Corp. October 2007 Announcing the next generation Cortex-A9 2

Multi-function and Convergence 3

CMC Requirements Example Multicore processing technology extends what is possible for next-generation Connected Mobile Computers (CMC) Better Processor and System Performance Rich Operating Systems Advanced browsers Advanced security General applications 3D graphics & gaming Java & Execution Environments High bandwidth networks Multi-format audio Video Recorder / Player Voice/Video over IP..and these pictures are from today s ARM technology 4

Market-Driven Requirements Next-Generation Devices Mobile Handsets Connected Mobile Computers Consumer and Auto-infotainment Networking/Home Gateways Embedded Performance Drivers Large-screen mobile compute devices can leverage large performance increases to meet computing needs Main-stream smart handsets require increased performance but within existing low-power budgets Low-cost devices require reduced cost and longer battery life at current performance levels Higher quality media is driving higher bandwidth connections and increased system complexity Device consolidation driving function integration requiring higher performance and compatibility Scaling enterprise performance to meet the needs of latest high-speed networks Consumer devices adding significant new features while routing higher bandwidth needing scalable performance Higher image quality, more mega-pixels, More advanced image processing driving performance Common Requirements Increased power efficiency with higher performance Increased top-end performance for demanding applications Ability to share software investments across multiple devices 5

The ARM Cortex-A9 Processors ARM has developed a completely new processor design and is releasing it as two product variants within the common ARM Cortex application and OS architecture ARM Cortex-A9 MPCore processor: A multicore processor delivering the next generation of the ARM MPCore technology for increased performance scalability and increased control over power consumption. Ideal for high-performance mobile handsets, networking and auto-infotainment devices ARM Cortex-A9 processor: A traditional single core processor for simplified design migration in high-performance, cost-sensitive markets such as mobile handsets and other embedded devices reducing timeto-market and fully maintaining existing software investments 6

Cortex-A9 Processor Highlights First synthesizable ARM processor able to deliver more than 8000 aggregate DMIPS for demanding embedded applications First ARM processor to combine Cortex-A architecture with MP capabilities for increased performance within the tight power limitations of high-performance mobile devices Improved second-generation superscalar pipeline design Superscalar, dynamic multi-issue technology, on an efficient 8-stage pipeline Early resolution of branches evaluated asynchronously to instruction fetch Continuous fetch & decoding of 2 instructions per clock cycle Common instructions take 9 cycles, while complex instructions take up to 11 cycles Out-of-order (OoO) instruction dispatch and completion Leverages OoO without traditional power/resource hungry reorder buffers Supports dispatch of 4 instructions and completion of 7 instruction per clock cycle Provides optimal performance from binaries compiled for previous ARM processors Multiple outstanding memory transactions with out of order completion Low load-use penalty of a single clock cycle optimizes benefit from OoO dispatch Optimized for high performance and low cost 7

Cortex A9 Microarchitecture (single core variant) Coresight / JTAG Debug Cortex A9 Single core Processor CoreSight Debug Access Port Profiling Monitor Block Dual-instruction Decode stage Instruction queue Prediction queue Virtual to physical register pool Register Rename stage Branch Monitor Out of order multi-issue with speculation Instruction queue and Dispatch 3+1 Dispatch stage Auto-prefetcher ALU/MUL ALU-1 ALU ALU-1 FPU/NEON Address Memory System OoO Write back stage IRQ/FIQ PL390 Interrupt Controller Instruction cache Instruction prefetch stage Branch Prediction Fast-loop mode Global History Buffer BR-Target Addr Cache Return Stack Load-Store Unit Store Buffer Dual-instruction Decode stage quad-slot with forwarding Data Cache µtlb MMU Program Trace Unit PL310 L2 Cache Controller L2 Cache Control Bus Interface Unit (BIU) Master interface Secondary master (with filtering) ECC RAMs Coresight Trace AMBA 3 AXI 64bit 8

Offering Design Scalability Delivering over 8000 peak aggregate DMIPS through more than 2.0 DMIPS/MHz 8 7 Product Design Space 4 CPU Higher performance and lower power consumption for mobile devices Providing software portability across multiple devices 1000 s of DMIPS (aggregate) 6 5 4 3 2 1 Power Consumption / Silicon Cost 1 CPU 2 CPU 3 CPU Synthesis flexibility to target from 500MHz to 1GHz in TSMC 65nm processes A single processor that provides a single product that can be applied across multiple markets, sharing a common software platform 9

Cortex-A9 Companion Products Cortex-A9 Floating-Point Unit (FPU): Delivering high performance single and double precision floating-point unit for accelerated 2D/3D, imaging and scientific computation Cortex-A9 NEON Processing Engine (NPE): Enhancing the capabilities of the FPU to include the ARM NEON Advanced SIMD (Single Instruction, Multiple Data) support for accelerated media and signal processing computation Advanced L2 Cache Controller: The PL310 L2 controller was developed alongside the Cortex-A9 processor to ensure high data throughput and maximum performance Cortex-A9 Program Trace Macrocell (PTM): Providing ARM CoreSight compatible program trace capabilities An associated CoreSight Design Kit is also available to enable advanced multicore trace with source correlation and time stamping 10

Cortex-A9 Floating-Point Unit Cortex-A9 FPU implements the Cortex VFPv3-D16 Floating-Point architecture Targeting high performance from compiled code Existing hand-optimized vector code supported by software exception Software simplification from removal of trapped exceptions Register bank optimized to 16 double-precision registers for size and power considerations and compatibility with VFPv2 and ARM11 software Single precision and double precision format are supported. Emphasis was first put on fast single precision support. Higher performance single/double precision over to VFP11 and Cortex-A8 New instructions for FP16 data type conversion as used in 3D graphics Flexible modes of operations Flush-to-Zero, Default NaN and full compliance with IEEE-754 standard All rounding modes are supported. Full hardware support of denormal numbers (no need for support code). 11

Cortex-A9 NEON Media Processing Engine Extends Cortex-A9 single and multicore processors ARM NEON advanced SIMD instruction support 64-bit and 128-bit registers supporting SIMD operations on: 8, 16 and 32-bit integer data formats 32-bit floating-point data Enlarges register file available to FPU Increases design to support 32 double-precision registers Support fused data types to remove packing/unpacking overheads Structured load/store capabilities eliminate shuffling of data between algorithm-format to machine-formats Whilst retaining: Existing Cortex-A9 FPU 32/64-bit scalar floating-point performance Existing Cortex-A9 core integer performance 12

PL310 L2 Cache Controller Capable of supporting over double the sustained throughput of today's high performance ARM L220 AXI cache controller Supporting multiple outstanding AXI transactions on each interface Support for parity and ECC RAMS Support for per-master way lockdown when shared between multiple CPU or falcon coherent accelerators Advanced SoC bus interface Support for synchronous ½ clock ratios to reduce latencies on high speed processor designs Ability to address-filter second master AXI interface for split-domain designs and fast access to on-chip scratch memories Supporting Cortex-A9 specific optimizations Auto-preload on instruction miss Operate an exclusive allocation policy with processor L1 for increased cache utilization 13

Cortex-A9 Market-Driven Solutions Next-Generation Devices Mobile Handsets Connected Mobile Computers Consumer and Auto-infotainment Networking / Home Gateways Embedded Cortex-A9 Solution Next-generation high-end devices (1500-3000DMIPS) 2-3 core processor with IEM technology and adaptive shutdown 32K Instruction and Data caches, 256-512K shared L2 cache using PL310, partitioned AXI NEON technology-based Media Processing Engine, coherent GPU Mid-range, cost reduction, (900-1500DMIPS) Single core processor with NEON or FPU 16K or 32K instruction and data caches 128-256K L2 cache using PL310, single AMBA AXI bus Feature-rich mass market (600-900DMIPS) Single core processor with FPU 16K instruction and data caches, single AXI Consumer: user interactions (800-3000DMIPS) 1-4 core processors giving design scalability across family of devices 32K instruction and data caches with 0-512K L2 cache NEON technology for advanced media and DSP processing Advanced bus interface unit for high-speed memory transfers between on-chip 3D engines and network interface MACs AMP configurations using separate CPU for real-time RTOS Enterprise market (4000-8000DMIPS) 3-4 core performance optimized implementation 32K+64K instruction and data cache 512K-2MB L2 cache, dual 64 bit AMBA AXI interfaces Consumer devices (800-1500DMIPS) 1x or 2x multicore utilizing coherent accelerators 32+32K instruction and data, with 256-512K shared L2 cache NEON or VFP when offering media gateway or services Embedded media and imaging (800-2000DMIPS) 2x multicore utilizing coherent accelerators 32+32K instruction and data with 256K shared L2 cache FPU for postscript and image manipulation and enhancement Code migration through selective AMP/SMP deployments 14

Enhanced ARM MPCore Technology ARM11 MPCore processor support maturing since 2005 Devices completing device integration before mass market availability Growing support of operating systems and software middleware Summary of ARM s proven MPCore technology Pre-integrated and validated scalable multicore processing Integrated interrupt distribution and inter-processor communications Advanced Snoop Control Unit supporting enhanced cache coherence Cortex-A9 MPCore further enhances MPCore technology Accelerator Coherence Port (ACP) Advanced Bus Interface Unit Multicore ARM TrustZone technology with interrupt virtualization Generalized Interrupt Controller (GIC) 15

Cache Coherence: Embedded Challenge Snooping Techniques Each cache checks the bus for accesses to memory locations that it already has cached Fails to scale due to every request going to every client, reducing processing efficiency Consumes unproductive system power since snoop may be unnecessary Directory Each cache operation needs to be exported to a central directory to hold a global state More scalable since only caches holding shared data are snooped, but slower due to higher latencies, also higher power solution Both techniques act a communication mechanism for a coherence protocol. E.g. M. Cache line has been modified E. Cache line is held exclusively S. Cache line is shared with another CPU I. Cache line is invalidated Client Client All cache updates are broadcast to all clients Client Directory Client All cache updates forwarded to the directory and only sent clients sharing data 16

Optimized MESI Snooping Increased power efficiency and increased scalability by avoiding system accesses: Duplicated Tag RAMs acting as a local Directory Stored in Snoop Control Unit of the multicore processor Checks if data is in cache without interrupting CPU Filters access to only CPU that are sharing data Keeps power lower since directory is local Allows independent tasks to run at full single thread performance resulting in linear scalability Direct Data Intervention (cache-2-cache transfer) Copy clean data from one CPUs cache to another Removing need for main memory accesses reducing associated power Migratory Lines Move dirty data between CPUs and skips shared state. Avoids power and latency associated with write back Read/Write cache allocation With adaptive back-off for temporally inappropriate write allocation such as during a memset() ARM MPCore Snoop Control Unit Clocked at CPU frequency for lower latency lookups and filtered access to CPU Keeps data within processor permitting lower power consumption than if time-sliced on a uniprocessor Power aware allowing per CPU logic and cache shutdown for advance power management. 17

Cortex-A9 MPCore Processor Structure Multicore trace and debug ARM Coresight Multcore Debug and Trace Architecture Multicore Scalability FPU/NEON PTM I/F FPU/NEON PTM I/F FPU/NEON PTM I/F FPU/NEON PTM I/F Cortex-A9 CPU Cortex-A9 CPU Cortex-A9 CPU Cortex-A9 CPU Instruction Cache Data Cache Instruction Cache Data Cache Instruction Cache Data Cache Instruction Cache Data Cache Generalized Interrupt Control and Distribution Cache-2-Cache Transfers Snoop Control Unit (SCU) Snoop Filtering Timers Accelerator Coherence Port Advanced Bus Interface Unit Primary AMBA 3 64bit Interface Optional 2 nd I/F with Address Filtering High memory bandwidth ARM MPCore Technology L2 Cache Controller (PL310) 18

Processor Coherence Memory Management Unit Maintenance Operations When a process spans more than 1 processor virtual memory map must be maintained so as to provide a symmetric view of memory Traditional solution by broadcasting an interrupt to all CPU requesting update and blocking until all processors respond Cortex-A9 multicore processors contain hardware to ensure coherence of MMU within the appropriately defined memory regions Cache Maintenance Operations For non-coherent devices, it is necessary to flush the appropriate cache regions prior to the device access the associated memory Traditional solution also uses a broadcast interrupt based notification Cortex-A9 provides hardware to synchronize cache operation for defined regions of memory 19

Accelerator Coherence Port Sharing benefits of the ARM MPCore optimized coherency design Accelerators gain access to CPU cache hierarchy, increasing system performance and reducing overall power Uses AMBA 3 AXI technology for compatibility with standard uncached peripherals and accelerators Cortex-A9 MPCore (1-4 CPUs) CPU CPU CPU Event pulse enabling next cycle notifications D$ I$ D$ I$ D$ I$ MPCore Technology / SCU ACP Local Coherence Bus (no snooping on bus) AMBA 3 AXI L2 Cache shared, with per-master lockdown to limit high-throughput master flooding Main Memory / SoC DMA Example: Write Writes clean and invalidates L1 lines if necessary optionally allocating into the shared L2 cache Crypto Example: Read May hit and resolve in CPU s L1 cache else may hit in shared L2 cache else read from main memory 20

Advanced Bus Interface Unit Increased tolerance to memory latencies increasing processor Up to 16 outstanding bus transactions per processor Including 4 cache line-fill requests to unblock pipeline due to memory stalls Out of order execution enabling speculative execution of more than 30 instructions Multicore L1 cache-2-cache transfer capabilities reducing system power Exclusive storage between L1 and L2 cache to maximize cache effect Processor-speed partitioning of address map enabling highest performance access to key system components With support for low-latency synchronous half-clock bus ratios providing higher memory performance and further flexibility in low-power design Ability to fully utilize the bandwidth of dual 64-bit AMBA 3 AXI bus interfaces in data streaming scenarios Load balance memory requests with the primary interface to offer more than 8GBytes/s to the main memory system Optimizing throughput and power efficiency for key networking and connected computing in mobile phones, gateways and image processing devices 21

Generic Interrupt Controller and TrustZone Framework for enhanced software protection and security services Any processor can run normal or secure software at any moment Memory is coherent for both normal and secure memory Integrated and standardized interrupt controller with security Routes normal interrupts to IRQ and secure interrupts to FIQ Provides normal and secure inter-processor interrupts and virtualization Architecture scales to support both single processor and SMP operating systems in normal and secure domains 22

Improved Paravirtualization Today s Paravirtualization solutions Provide the ability to run multiple independent OS/RTOS on a single processor Requires a notable modification of a OS port to appropriately defer all privileged operations to a virtual machine manager (VMM) managing processor resource sharing Cortex-A9 MPCore multicore processor Enables concurrent execution of multiple paravirtualized operating systems Providing improved real-time response and dynamic load balancing ARM TrustZone Architecture Allows the open OS to maintain their User and Privilege states and run the VMM in the privilege contexts of the secured software domain Provides an AMBA architecture mechanism to signal TrustZone context accesses to peripherals and any system based memory protection units Cache state is maintained and secured between the open and TrustZone OS context during virtualization traps and request forwarding ARM GIC Architecture Allows the VMM to manage and arbitrate access to drivers for each open OS Together providing an accelerated and simplified paravirtualization solution 23

Cortex-A9: Summary The Cortex-A9 single core processor and Cortex-A9 MPCore multicore processor are poised to transform embedded computing Offering unprecedented performance within tight power and cost constraints Performance scalability through the enhanced MPCore technology Utilizing an unique superscalar, dynamic-length, multi-issue, out of order, speculative-execution microarchitecture Providing application specific acceleration though FPU and NEON units Supported by the ARM ecosystem and the existing SMP and OS solutions Performance and power scalability from 600 to 8000 DMIPS providing the solution for various market requirements ARM MPCore technology providing advanced controls to further lower power Enabling higher performance for today s battery-operated devices Fully maintaining software investments and Cortex architectural compatibility 24