63
External Use TM Procesory ARM: moderní trendy vývoje systémů a aplikací aneb jak být neviditelný, ale všudypřítomný 26.11.2015 Ing. Jiří Kotzian Ph.D | Systémový a aplikační inženýr

Procesory ARM: moderní trendy - poli.cs.vsb.czpoli.cs.vsb.cz/edu/ARM_in_Freescale_fei.pdf · QT, eGUI, Industrial busses ... Leading groups and research & development teams ... Infotainment

Embed Size (px)

Citation preview

External Use

TM

Procesory ARM: moderní trendy

vývoje systémů a aplikací

aneb jak být neviditelný, ale všudypřítomný

2 6 . 1 1 . 2 0 1 5

Ing. Jiří Kotzian Ph.D | Systémový a aplikační inženýr

TM

External Use | 1

Agenda

• Představení

• Procesory ARM

• Procesor / Kontrolér / SoC

• Využití procesorů ARM ve Freescale

• Co je důležité

• Q & A & demo

TM

External Use | 2

Představení

TM

External Use | 3

Ing. Jiří Kotzian Ph.D

• Ve Freescale 5 let

• S Freescale produkty pracuji 15+ let

− HC12, HCS08, HCS12, i.MX3, PX, VF, i.MX6,7, (8)

• Kupson: vývojové oddělení

• VŠB-TUO: CPTI, K450

• Ve Freescale Systémový a aplikační inženýr

− MCU aplikační tým 2 roky

Power Architecture (PX family)

Tower system

− MPU aplikační tým 3-tí rok

Vybrid (core team member)

i.MX series (6DQ, DL/S, SL, SX, UL, 7D)

EMEA DRAM expert

• Education:

M.S.E.E. Measurement and control (Medical electronic),

Ph.D. Technical cybernetic

• Languages:

− Czech, English, German, Russian, Polish

• Publication:

57 professional publications and books (outside Freescale)

• Computer skills:

Asm/C/C++, UML and Rapid prototyping,

RTOS, Linux, QNX, MQX,

QT, eGUI,

Industrial busses, PCB design

• Organization skills:

Leading groups and research & development teams

More than 30 diploma works leader

• Other:

Multicultural and Multilanguage team cooperation

41 years, Married, 4 children.

Hobby: table tennis, skiing, bicycle, Cars, Gardening

TM

External Use | 4

Úvodní otázkaZnáte Freescale z běžného života?

Ne ?

Skvělé !

Znamená to, že děláme svou práci velmi dobře.

TM

External Use | 5

Freescale worldwide

Hoffman Estates, Illinois

Ed Bluestein, Austin, Texas

Chandler, Arizona

San Jose, California

Ridgeland, Mississippi

Novi, Michigan

HEADQUARTERS: Oak Hill, Austin, Texas

Parmer, Austin, Texas

Tempe, Arizona

East Kilbride, Glasgow,

Scotland, UKBucharest, Romania

Taipei, Taiwan

Techpoint, Singapore

Jalisco, Mexico

Petaling Jaya, Malaysia

Tokyo, Japan

Herzelia, Israel

Hyderabad, India

Noida, India

Bangalore, India

Hong Kong, New Territories

Toulouse, France

Gif-Sur-Yvette, France

Beijing, China

Pudong New Area, China

Chengdu, China

Suzhou, China

Shenzhen, China

Tianjin, China

Roznov pod Radhostem, Czech Republic

Brno, Czech Republic

Campinas, Brazil

Muenchen, Germany Moscow, Russia

Ottawa, Ontario

• 1952 -2003 Motorola (polovodičové oddělení)

• 2004 Freescale (Motorola MCU/MPU)

• Centrála v Austin, Texas, USA

• 18500+ pracovníků ve 20 zemích světa

• 16 pozice v Top 20 polovodičových firem

• Číslo 1 v Embedded MCU/MPU

• 6400 patentových sad

• www.freescale.com

TM

External Use | 6

Zákazníci

• Dodavatelé technologií

• Distributoři

• Koncoví zákazníci

TM

External Use | 7

ZamyšleníS osobními počítači přicházíme do styku denně, vědomě, při práci i

při zábavě. Je však mnoho dalších řídicích systémů, které nejsou

vidět – jsou vestavěné (embedded).

Jaký je podíl procesorů v oblasti osobních počítačů oproti celkovému počtu vyrobených procesorů/kontrolérůnápověda: To co je skryto je často mnohem důležitější.

Jsou požadavky na spolehlivost osobních počítačů stejné jako požadavky na spolehlivost ve vestavěných systémech?nápověda: co se stane když selže řídicí jednotka v autě?

Jaké jsou požadavky na rychlost a přesnost časování v osobních počítačích oproti vestavěným systémům?nápověda: co se stane když ABS zareaguje až za 1s popř. v jiných okamžicích?

TM

External Use | 8

OdpovědiKolem nás je mnoho zařízení které obsahují vestavěný řídicí systém s

mikroprocesorem či mikrokontrolérem.

> 90% všech vyrobených procesorů je nasazeno ve vestavěných řídicích systémech v různých formách.

Požadavky jsou definovány velmi přísnými normami SIL, ASIL,... Např.Pravděpodobnost selhání během hodiny 0.000000001

Odezva (latence) musí být dopředu známa a nesmí se měnit, časování musí mít definovánu nejistotu (jitter)

TM

External Use | 9

Freescale: Internet věcí (Internet Of Things)

• Návrh a výroba polovodičů

• Základní zaměření:

− Automotive

− Průmysl

− Komunikace

− Spotřební

• Produktové skupiny

− Mikrokontroléry

− Komunikační a multimediální procesory

− RF, analog a snímače

Advanced

Safety

Radar +

Vision

Infotainment

Traffic Monitoring

Security

Energy

MetersHome Hubs

Telehealth

Home Health

Monitors + Fitness

Connected

Appliances

Smart Energy

Grid

Digital Power

Conversion

Energy Management,

Wind + Solar

Human – Machine

InterfaceMachine – Machine

Industrial

Networking

Cloud

Computing

Metro Cells

Small Cells

Enterprise Gateways,

Switchers, Routers

Base Stations

Security

Networked

Printers

Data

Center

Connected

Farms

Mission: Making the world smarter place

TM

External Use | 10

Freescale je leader

TM

External Use | 11

Freescale: Nasazení produktů

• Kobo eReader (i.MX50) Kindle E-reader (i.MX6SL)

TM

External Use | 12

Freescale: Nasazení produktů

• I.m Watch (i.MX233) – smartphone terminal

• GoPro HERO3+ Cameras, K20

TM

External Use | 13

Freescale: Nasazení produktů

• Garmin Forerunner 10, Kinetis K10

vzdálenost, rychlost, tep, kalorie

• Garmin Forerunner® 220|620, Kinetis K20

+ osobní asistent, vibrace při nedodržení plánu

TM

External Use | 14

Freescale: Nasazení produktů

• Nest Protect

• Kouř, oxid

uhelnatý

• Hlasové varování

• Kinetis K60, KL16

TM

External Use | 15

Freescale: Nasazení produktů

• Bílá technika

TM

External Use | 16

Freescale: Nasazení produktů

• Body, powertrain, entertainment....

TM

External Use | 17

Freescale Rožnov pod Radhoštěm

• Celkem zaměstnanců 175

• Inženýrů 125

• Ph.D. poměr 26%

• Výborné renomé ve FSL

Auto

Actuator

Auto

Connect

RT SW Auto Quality Tests

Industrial

MC

Industrial

ConnectRT SW Ind

From Demo Code to Professional S/W

SPICE and ISO Focus

Automated Conformance and Functional Tests

Center of Excellence for Motor Control, Power Conversion, Metering

Application IP Generation and Maintenance

NPI Definition

70 engineers

45 engineers

10 engineers

• 1950 – Tesla factory založena v

Rožnově, narostla až na >10.000

zaměstnanců

• 1995 – Založena Motorola Laboratoř

• (10 inženýrů)

• 2000 – Technická podpora

• 2004 – Motorola SPS se stala

Freescalem

• 2005 – Zákaznická podpora

• 2009 – přidal se tým v Brně

• 2013 – téměř 200 zaměstnanců

(Rožnov + Brno)

TM

External Use | 18

Freescale podstata práce v Aplikační Laboratoři

• Freescale

− netvoří koncové zařízení

− dodává MCU/MPU/DSC

senzory,... (HW)

− dodává vývojové sady

(HW+SW)

− dodává potřebné SW

nástroje (TCP/IP, USB

stack,...)L2CAP

HCI Layer

RFCOMM BNEPSDP

OBEX

IrMC

TCS

Bluetooth

API

Profil

es

Applications

Data

IP

TCP

Data

Data

Contr

ol

Data

Data

Contr

ol

Data

Control OS

Transport Layer

Data

OS Specific

Interfaces

BMM

Audio

ArchitectureMPU/MCU/DSC

Hardware

Zákazník

Software

System ExpertiseSystem Engineering

Feedback & ExperienceCustomer Support & Customer Intimacy

TM

External Use | 19

Od procesoru k SoC

TM

External Use | 20

Názvosloví

• Procesor (Processor)

• Jádro (Core)

• Kontrolér (Controller)

• Mikrokontrolér (Microcontroller)

• SoC

TM

External Use | 21

Jádra ARM

TM

External Use | 22

ARM

• ARM founded in November 1990. ARM Advanced

RISC Machines.− http://reds.heig-vd.ch/share/cours/reco/documents/thehistoryofthearmarchitecture.pdf

• ARM1 (1985) … ARMv8 in 2015 (první představení

architektury 2011)

• Neprodává silicon

• pouze licence (1100 licencí pro 300 společností)

• Nabízí nástroje (Tools)

− DSTREAM

− DS-5

TM

External Use | 23

Procesory ARM - profily

• ARMvx je architektura (instrukce)

− Load store

• ARM Cortex-Ax je produkt (procesor)

− Rozdílné pipeline – jak se instrukce zpracovávají

• Od ARMv7

− Cortex-A Application

MMU, NEON, Trustzone, virtualizace

− Cortex-R Real Time

MPU, nízká latence TCM, nemá virtuální paměť

− Cortex-M Microcontroller

Nízký počet gate, low power

Deterministické

TM

External Use | 24

Pipeline Cortex-M0+ to Cortex A72

• CM0+ 2 stage pipeline

• CA5 8-10 stages pipeline

TM

External Use | 25

Současné portfolio Cortex-A

TM

External Use | 26

Současné portfolio Cortex-R & Cortex-M

TM

External Use | 27

Procesory ARM výkony

• https://en.wikipedia.org/wiki/List_of_ARM_microarchitectures

• Cortex-M0+ (ARMv6) 0.93 DMIPS/MHz 72MHz

• Cortex-M4 (ARMv7) 1.25 DMIPS/MHz 200MHz

• Cortex-A5 (ARMv7) 1.57 DMIPS/MHz 500MHz

• Cortex-A7 (ARMv7) 1.9 DMIPS/MHz 1GHz

• Cortex-A9 (ARMv7) 2.9 DMIPS/MHz 1.2GHz

• Cortex-A53 (ARMv8) 2.3 DMIPS/MHz 2.5GHz

• Cortex-A72 (ARMv8) >6.3 DMIPS/MHz 2.5GHz

• http://zenit.senecac.on.ca/wiki/index.php/Dhrystone_howto

• Dhrystone (Dhrystone VAX MIPS, 1757/s)

− Example

Microseconds for one run through Dhrystone: 0.8

Dhrystones per Second: 1333333.4

Using the formula: 1333333.4 / 1757 = 758.87 DMIPS

It runs on 400MHz -> 1.897 DMIPS/MHz

TM

External Use | 28

Architektury ARM srovnání

• http://www.arm.com/White_Background_PNG_Cortex-A7.png

• http://www.arm.com/Performance_Graph_A53_to_A7.jpg

• Výkon

• Spotřeba

• Cena

• Nástroje

TM

External Use | 29

Instrukční sady

• ARM 32- bit

• Thumb 16-bit (35% code density save, decrease some real performance)

• Thumb 2 16/32 – ARM výkon / Thumbhustota

− ARM pro přímý zápis

− Thumb 2 pro kompilátory

• VFP (Vectop floating point)

− Vyžaduje koprocesor

• NEON

− SIMD

− Media aplikace (kodeky)

• Jazelle

TM

External Use | 30

ARMv8

• http://www.arm.com/products/processors/instruction-set-architectures/index.php

• https://www.youtube.com/watch?v=7LqPJGnBPMM

• http://www.arm.com/university

TM

External Use | 31

ARMv8

• Přidává krypto

• Scalar FP

TM

External Use | 32

ARMv8-A

• Dva stavy vykonávaní (execution states)

− AArch32

A32/T32

Nové instrukce

Tradiční model výjimek (exception model)

Virtuální adresy 32-bit registry

− AArch64

64 bitové registry X0-X30

Nové instrukce A64, fixní délka 32-bitů

• Včetně SIMD, floating point a crypto

Nový model výjimek

• EL0 least privileged, EL3 most privileged

• Secure state / non-secure state (Thrust zone)

Virtuální adresy 64-bit registry

• BTW: Cortex-M

− Thread mode (unprivileged) – app code

− Handler mode (privileged) – exception handler

TM

External Use | 33

Využití jader ARM v SoC Freescale

TM

External Use | 34

Freescale & ARM

od

• Kinetis

− CM0+ QFN16 (0.39$)

k

• CoreIQ

− ažo 8xCA57 + CM4 (200$)

TM

External Use | 35

Kinetis

• Od KL03 CM0+ 48MHz

• KM 2x24b Sigma-delta

• Po KV5 CM7 220MHz

− 1MB Flash, 256kB RAM

TM

External Use | 36

Kinetis KL03

• CM0+ 48MHz

• 32kB Flash

• 8k RAM

• 12 bit ADC/DAC

• PWM

• I2C, SPI, UART

• GPIO

TM

External Use | 37

i.MX

od

• i.MX6UL

− A7 & 528MHz

po

• i.MX6Q

− 4x A9 & 1.2GHz

TM

External Use | 38

i.MX6Q

• 4xARM® Cortex®-A9 -1.2GHz

• 1 MB L2 cache / 32 KB I &D

• NEON SIMD media accelerator

• GPU 2D /3D

• 1080p 60fps encode/decode

• 1x64b DDR3 or 2x32 LPDDR2

• 2 x 4XGA (2048x1536)

• or 2 x [1080p + WXGA (1280x720)]

• USB, PCIe, 1Gb Eth

• …

• …

TM

External Use | 39

i.MX6SX

• 1x ARM® Cortex™-A9 up to 1 GHz

− 512 KB L2 cache / 32 KB instruction and data caches

− NEON SIMD media accelerator

• 1x ARM® Cortex™-M4 up to 200 MHz

− 16 KB instruction and data caches 64 KB TCM

− MPU and FPU

• GPU 2D/3D

• Camera Interface

− 20-bit parallel CMOS sensor interface

− NTSC/PAL analog video input interface

• PiXel Processing Pipeline (PXP)

− Image re-sizing, rotation, overlay and CSC

• DDR 16/32-bit DDR3(L) 16/32-bit LPDDR2 800

• 2x Gb Ethernet , PCIe 2.0 (1 lane), 3x USB 2.0, SD-MMC

• Multicore unit includes for multi-core isolation and sharing

• Resource Domain Controller (RDC)

• Secure Messaging Unit (MU)

• Hardware Semaphores

• High Assurance Boot, cryptographic cipher engines, random number generator, and tamper detection

TM

External Use | 41

S32V200 Advanced driver systems

• ASIL B

• Quad A53/1GHz

• Dual APEX-2

obrazový procesor

• 3D GPU Vivante

• 4MB on chip RAM

• -40C to 125C Tj

TM

External Use | 42

Využití jader ARM v SoC Freescale – co je důležité

TM

External Use | 43

Srovnání PA a ARM pro motor control library

TM

External Use | 44

Využití 64-bit matematického koprocesoru CM0+ + MMAU x CM4+FPU

CM0+ w/oMMAU

CM0+ w/MMAU

CM4

1/(Rel Gates) 1.00 0.74 0.56

Rel Performance 1.00 2.69 1.76

1/(Rel Code Density) 1.00 1.40 0.98

1/(Rel Energy) 1.00 1.99 0.98

0.00

0.50

1.00

1.50

2.00

2.50

3.00

Rela

tiv

e F

acto

r, B

igg

er

is B

ett

er

Q0.48 Q15.48

X

Q0.24

LPF2

24-bit SD

ADC

kWh

Q0.24

Q0.48

Q0.24

Q0.24

24-bit SD

ADC

current

measurement

voltage

measurement

calculated active

energy

HPF

HPF

Q0.48

X2

Q0.24

RMS

Q0.48

Q0.24

24-bit SD ADC

current measurement

HPF

LPF1Q0.24

LPF1Q0.24

calculated RMS current

TM

External Use | 45

Použití více jádrových řešení

• 2 procesory na jedné

frekvenci jsou lepší než 1 na

dvojnásobné frekvenci

• Asymetrické architektury

• Rozložení čipu VFxxx

• Jádra ARM jsou jen malá

část čipu

• Důležité je jejich zapojení do

systému

A5

2.2DCU

3.95

GPU

1.45ANATOP

ANALOG

CCM

USB+ENET

2.2

VIU+ALABAOCRE

ANACATUM

0.94

DDR

0.96SRAM

SRAM

S

R

A

M

M

4

PD0

R

A

M

AFE

SNVS

DRY

ICE

EFU

SE

ANADIGADC

ADC

DAC DAC

POST

PMC

AFE DIGITAL

Place USB pins

On this side in this

notch areaIRC

EXTAL/

XTAL

TM

External Use | 46

Struktura čipu

• VF: CA5+CM4

• NIC

TM

External Use | 47

Limity vnitřních pamětí a použití cache

• VFxxx Cortex-M4

• Vnitřní paměti

− TCM

− RAM

• Více v AN4947

TM

External Use | 48

Limity externích pamětí a použití cache

• RAM

• DRAM

• QuadSPI

• Více v AN4947

TM

External Use | 49

Zlepšení grafického výkonu i.MX6Q+

• Updated 3D, 2D

and OpenVG

GPU’s

• New pre-fetch and

resolve modules to

improve efficiency

• Fabric

modifications to

improve memory

bandwidth

• Pin compatible with

i.MX6Dual/6Quad

0

5

10

15

20

25

30

35

40

Aquarium Egypt

MX6DQ

0

10

20

30

40

50

60

70

Model Actual Silicon

MX6DQ

MX6DQPlus

Test case description IPU fetches 2x 1080p 32bit @60Hz

images for display. IPU PRE pre-fetch is enabled in i.MX

6DP/6QP GPU3D off screen loop “3D

read_write_render” GPU2D off screen loop 1080p 2D bitblit CPU doing memory copy

Higher DRAM Bus Utilization

indicates better performance

TM

External Use | 50

TrustZone

TM

External Use | 51

i.MX6 přehled zabezpečení

i.MX

ARM

CPU

ARM

CPUROM

(High Assurance

Boot)

ROM

(High Assurance

Boot)

Accelerator

(Cipher, Hash,

RNG)

Accelerator

(Cipher, Hash,

RNG)

Electrical Fuses

(keys, security levels)

Electrical Fuses

(keys, security levels)

Secure

RAM

Secure

RAM

Tamper

Detect

Tamper

Detect

Secure

Clock

Secure

Clock

Secure

Debug

Secure

Debug

External MemoryExternal Memory

Erase

JTAG

SW alarm

Debug

alarm

GPIO

alarm

HW FirewallHW Firewall HW FirewallHW Firewall HW FirewallHW Firewall

DMA

Master

DMA

Master

Peripheral

Slave

Peripheral

Slave

HW FirewallHW Firewall

HW FirewallHW Firewall

TM

External Use | 52

CSU Firewall

Master’s Privilege

(User/Sprv; TZ/non-TZ)

“What slaves can be accessed”

Slave’s Access Permissions

(TZ/non-TZ; Read/Write etc.)

“What Masters can access”

CS

U

TM

External Use | 53

High Assurance Boot – Signed Boot Image

Code signing using private key Authentication using public key

Private

Key

SW Image

Sign

(RSA)

Hash

Verify

(RSA)

Compare

Hash

SW Image +

Signature

Public

Key

X

Run OS

Reload Image

Secured Environment

SW Image +

Signature

OTP

SRK

TM

External Use | 54

High Assurance Boot – Encrypted Boot Image

Secret

Key

SW Image

Encrypt

(AES)Decrypt

(AES)

Encrypted

SW Image

CAAM

(AES)

Key B

lob

OTP

Key

Key

Blo

b

Encrypted

SW Image

Decrypt

(AES)OTP

Key

Secret

Key

Manufacturing

Device BootBuild Environment

Decrypted

SW Image

Encryption using secret key Decryption using secret key

TM

External Use | 55

HAB

TM

External Use | 56

Freescale Cup

TM

External Use | 57

The Freescale Cup 2016

• Veškeré informace o Freescale cup jsou na komunitě

− https://community.freescale.com/groups/tfc-emea

• Registrace je do 30.11.2015

− The Freescale Cup EMEA Challenge Edition 2015/2016Registration page for both High School and University Challenges

• Pravidla

− https://community.freescale.com/docs/DOC-93225

• Poster

− https://community.freescale.com/docs/DOC-106162

• obrázky z celosvětového finále. Kvalifikace se ponese ve skromnějším duchu a dráha bude menší.

− https://www.youtube.com/watch?v=TkpPYjtbaeQ

− https://www.youtube.com/watch?v=HiC5wzOs2AM

TM

External Use | 58

Freescale Cup 2013 - Univerzitní finále

• hudební salónek, 11 studentů – vítězové postupovali do EMEA Paris

1. Adam Helekal (Blue Dragon),

2. 2.Tomáš Dočekal, Matěj Golembiovský a Jan Kotyza (BT)

TM

External Use | 59

Freescale Cup 2013 – EMEA finále Paris

• 27 univerzitních týmů z České republiky, Francie, Itálie, Německa, Polska, Rumunska, Ruska, Slovenska, Ukrajiny a Velké Británie

• Blue Dragon 8. místo,

TM

External Use | 60

Freescale Cup 2013 – EMEA finále Paris

• Doplňující závody

• Blue Dragon - elektronický kompas 2. místo !

• https://community.freescale.com/groups/tfc-emea

TM

External Use | 61

Q & A

TM

External Use | 62

Diskuse a demo

• Demo

− UDOO NEO,Humming board, 6UL SDK, 6Q SDB, …

• Děkuji za pozornost

• V případě zájmu o spolupráci: Bd. Mgr. Práce, brigáda nebo zaměstnání:

[email protected]

• Nashledanou v NXP – po sloučení 3(4) největší výrobce polovodičů na světě

[email protected]