nxp powerpoint template confidential 4:3 ratiopoli.cs.vsb.cz/edu/arm-iot-machlearn-2016.pdf · −...

56
CONFIDENTIAL AND PROPRIETARY JAN TOMEČEK FROM IOT TO MACHINE LEARNING PROCESORY ARM

Upload: hoangtuong

Post on 25-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

CONFIDENTIAL AND PROPRIETARY

JAN TOMEČEK

FROM IOT TO MACHINE

LEARNING

PROCESORY ARM

1 CONFIDENTIAL AND PROPRIETARY

• Představení

• Vestavěné systémy

• ARM jako firma

• ARM jako procesory

• Aplikace s procesory ARM (IoT, Graphics)

• Pracovní příležitosti v NXP

• Q&A

AGENDA

2 CONFIDENTIAL AND PROPRIETARY

PŘEDSTAVENÍ

3 CONFIDENTIAL AND PROPRIETARY

Ing. Jan Tomeček

• NXP

− Od 2014

− R&D Software engineer

− Computer vision

• Studium

− Mgr : Biomedicínské inženýrství na VSB (2013)

− PhD : Informatika na VSB (2013 - ?)

4 CONFIDENTIAL AND PROPRIETARY

NXP

• 45 000 zaměstnanců

• 88 poboček

• V České republice 2 pobočky (Rožnov p. Radhoštěm, Brno) a cca 230

zaměstnanců

− Skupiny: Connectivity and metering, Motor control, Computer vision, Tools, Automotive..

• NEW NXP = NXP (Philips) + Freescale (Motorola)

5 CONFIDENTIAL AND PROPRIETARY

VESTAVĚNÉ SYSTÉMY

6 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy

• Co jsou vestavěné systémy? − Vestavěný systém (zabudovaný systém, embedded system) je jednoúčelový systém, ve

kterém je řídicí počítač zcela zabudován do zařízení, které ovládá. Na rozdíl od

univerzálních počítačů, jako jsou osobní počítače, jsou zabudované počítače většinou

jednoúčelové, určené pro předem definované činnosti

• Proč se zabývat vestavěnými systémy?

7 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Měření a řízení − Deterministické chování

− Vysoká účinnost

− Senzory

− Řízení

− Zpracování dat

− Spolehlivá komunikace

8 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Konektivita − Low-power aplikace

− Senzory

− Zpracování dat

− Vizualizace dat

− Bezdrátové technologie

9 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Chytrá města a domácnosti − Bezdrátové technologie

− Sítě

− Cloudy

− Low-power

− Grafické aplikace

− Security

10 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Strojové vidění a grafika − Strojové vidění

− Paralelní programování/GPUs

− Parkovací systémy

− Sensor fusion

− Deterministické chování

− 3D grafika

11 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Strojové učení − Deep/Machine learning

− Paralelní programování/GPUs

− Sensor fusion

− Deterministické chování

− Zpracování a analýza obrazu

− Strojové vidění

12 CONFIDENTIAL AND PROPRIETARY

Vestavěné systémy - Aplikace

• Smarthphony, tablety a virtuální realita − 3D strojové vidění

− Operační systémy

− Paralelní programování/GPUs

− Sensor fusion

− 3D grafika

13 CONFIDENTIAL AND PROPRIETARY

ARM JAKO FIRMA

14 CONFIDENTIAL AND PROPRIETARY

Microprocessor vs Microcontroller

• Microcontroller = Microprocessor + Periferie

15 CONFIDENTIAL AND PROPRIETARY

ARM jako firma

• Založena v listopadu 1990

• Vývíjí RISC jádra ARM (Advanced RISC Machine)

• Nevyrábí čipy, prodává pouze licence (IP – intellectual property)

• Prodáno přes 1100 licencí (300+ firem)

• ARM obsažen v 95% smarthphonech, 80% digitálních fotoaprátů a 35% všech elektronických

zařízeních

16 CONFIDENTIAL AND PROPRIETARY

ARM jako firma

Core IP

Silicon

Product

17 CONFIDENTIAL AND PROPRIETARY

Co dodává ARM?

• Documentation

− Online Infocenter (http://infocenter.arm.com)

• Software products

− IDE and tools

− Compiler

− Debug tracing

− Header files

• Hardware products

− Processors IP

− Buses IP

− Memories IP

− GPGPUs IP

− Video processors IP

− Debug probes

− Development boards

• Other

− IoT Solutions

− Security

− mbed

18 CONFIDENTIAL AND PROPRIETARY

Co dodává NXP?

• Hardware products

− Microcontrollers and SoCs

− Microprocessors

− Peripherals (General or dedicated blocks)

− Other components

− Development boards

− Reference designs

− Demos

• Other − Customer support

− Application laboratory

• Documentation

− Reference manuals

− Application notes

• Software products

− IDE and tools

− SDKs

− Libraries

− Reference software

− OSs

− BSP

− Stacks

19 CONFIDENTIAL AND PROPRIETARY

Co dodává koncový zákazník?

• Finální produkt

−HW + SW řešení

−Testing, processes

−Certifikace

−Customer support

20 CONFIDENTIAL AND PROPRIETARY

ARM JAKO PROCESOR

21 CONFIDENTIAL AND PROPRIETARY

ARM procesory

• 32-bit nebo 64-bit RISC procesory

• Nízká spotřeba (< 100uA/MHz)

• Výkon

• Efektivnost

• Code density

• Low interrupt latency

• Snadné použití (C friendly, linear memory model)

• Škálovatelnost

• Jednotnost

22 CONFIDENTIAL AND PROPRIETARY

Co brát v potaz při výběru jádra?

• Mikrokontrolér vs aplikační procesor (SoC)

• Pipeline

• Von Neumann vs Harvard

• Architecture version (ARMvXX) – instrukční sada

23 CONFIDENTIAL AND PROPRIETARY

Mikrokontrolér vs aplikační procesor (SoC)

• Microcontroller (MCU)

− Baremetal nebo RTOS

− Determinicnost

− Nizsi spotreba

− Nizsi vykon

• SoC (Aplikacni procesor, MPU)

− MMU

− podpora vyssich OS (Linux, Android, QNX..)

− Nemusi se chovat deterministicky

− Vyssi spotreba

− Vyssi vykon

24 CONFIDENTIAL AND PROPRIETARY

Pipeline

• Pipelining neboli zřetězené zpracování, či překrývání strojových instrukcí. Základní

myšlenkou je rozdělení zpracování jedné instrukce mezi různé části procesoru a tím i

dosažení možnosti zpracovávat více instrukcí najednou.

• Flushing pipeline – nastane pokud program při větvení skočí na nové místo v paměti.

25 CONFIDENTIAL AND PROPRIETARY

Pipeline

• ARM Cortex-M0+ (2 stage pipeline)

• ARM Cortex-A72 (15 stage pipeline)

26 CONFIDENTIAL AND PROPRIETARY

Von Neumann vs Harvard architecture

• Von Neumann

− Stejná sběrnice pro paměť programu a dat

• Harvard

− Rozdělená sbernice pro paměť programu a dat

27 CONFIDENTIAL AND PROPRIETARY

(ARMvXX) – Instruction Set Architecture (ISA)

• ARM

− 32bit instrukce

− Většina podmíněně vykonavatelná

• Thumb

− 16bit instrukce

− Redukce kodu o 30%

• Thumb2

− ARM + Thumb

− Bez nutnosti přepínání

• DSP

− MAC instruction

− Saturation instruction

− Better divide performance

• SIMD (NEON)

− Single instruction multiple data

− Up to 128bit (NEON)

• Jazelle

− HW+SW akcelerace JVM

• TrustZone

− Secure boot

− Peripheral/memory protection

28 CONFIDENTIAL AND PROPRIETARY

Chronologie jader ARM

• ARM7TDMI (ARMv4T)

− ARM + Thumb instrukce

− Von Neumann

− 3 stage pipeline

• ARM9E (ARMv5)

− ARM + Thumb instrukce + DSP

− Harvard

− 5 stage pipeline

• ARM11 (ARMv6)

− ARM + Thumb instrukce + SIMD, Jezelle

− Harvard

− 8 stage pipeline

− MMU

29 CONFIDENTIAL AND PROPRIETARY

Chronologie jader ARM

• ARM Cortex-M (ARMv7M, ARMv6M)

− Mikrokontrolery

− Mixed signal designs

− Low cost, low power, energy efficiency

− Deterministické chování

− Aplikace: Menší přenosná zařízení, řídící jednotky..

• ARM Cortex-R (ARMv7R)

− Real-time procesory

− High-performance real-time segment

− Aplikace: HDD kontrolér, automotiv ECUs.

• ARM Cortex-A (ARMv7A, ARMv8A)

− Aplikační procesory

− Podpora High-end operačních systémů (Linux, Android, Win..)

− MMUs

− Vysoký výkon

− Java support

− Aplikace: smartphony, tablety, TVs, servery..

30 CONFIDENTIAL AND PROPRIETARY

ARM Cortex-M

• ARM Cortex-M0 (ARMv6m)

− Reduced Thumb2

− Von Neumann

− 3 stage pipeline

• ARM Cortex-M0+ (ARMv6m)

− Reduced Thumb2

− Von Neumann

− 2 stage pipeline

• ARM Cortex-M3 (ARMv7m)

− Thumb2

− Harvard

− 3 stage pipeline

• ARM Cortex-M4 (ARMv7em)

− Thumb2 + DSP, SIMD (FPU)

− Harvard

− 3 stage pipeline

• ARM Cortex-M7 (ARMv7em)

− Thumb2 + DSP, SIMD (FPU)

− Harvard

− 6 stage pipeline

31 CONFIDENTIAL AND PROPRIETARY

ARM Cortex-M instruction set

32 CONFIDENTIAL AND PROPRIETARY

ARM Cortex-A (ARMv7A, ARMv8A)

• ARM + Thumb (Thumb2)

• Multi core

• Up to 16 stage pipeline

• L1,L2 cache

• NEON, Jezelle, Security, FPU

• MMUs, TrustZone

• Dnes 12 ruznych Cortex A jader

33 CONFIDENTIAL AND PROPRIETARY

ARM Cortex-A (ARMv7A, ARMv8A)

34 CONFIDENTIAL AND PROPRIETARY

NXP portfolio

35 CONFIDENTIAL AND PROPRIETARY

NXP portfolio

36 CONFIDENTIAL AND PROPRIETARY

NXP portfolio

37 CONFIDENTIAL AND PROPRIETARY

NXP portfolio

38 CONFIDENTIAL AND PROPRIETARY

Kinetis KL0x

• From 0.39USD

39 CONFIDENTIAL AND PROPRIETARY

Kinetis KM3x

40 CONFIDENTIAL AND PROPRIETARY

i.MX 8

• About 100USD

41 CONFIDENTIAL AND PROPRIETARY

APLIKACE S PROCESORY ARM

42 CONFIDENTIAL AND PROPRIETARY

IoT

• Bezdrátové technologie

− Wifi

− Bluetooth

− Zigbee

− NFC

− Wireless M-Bus

− Bluetooth Low Energy (BLE)

− Thread

− SigFox

43 CONFIDENTIAL AND PROPRIETARY

Bluetooth low energy

• Robustní komunikace

− Dynamické přepínámí kanálů (37)

− Sofistikovaný stack

− Security

• Low power

− Zasílání malých paketů na vyžádání klienta

− Přenos na malé vzdálenosti

− Rychlé navázání komunikace

• Low cost

• Snadný vývoj aplikací

− Předem připravené profily (Blood Pressure, Proximity..)

− Komunikace s mobilním telefonem

− Spolupráce mezi různými dodavateli

• Topologie star (Nyní i podpora Mesh sítí)

45 CONFIDENTIAL AND PROPRIETARY

Thread

• Robustní komunikace

− Self-healing mesh

− Postaveno na IPv6

− Sofistikovaný stack

− Security

• Low power

− Zasílání malých paketů

− Přenos na malé vzdálenosti

− Založeno na IEEE 802.15.4

• Low cost

− Lze použít ZigBee HW

• Snadný vývoj aplikací

− Známe síťové protokoly

• Topologie mesh

46 CONFIDENTIAL AND PROPRIETARY

Thread - vývoj

• Výrobci

−NXP, Silicon Lab

• Co zohlednit?

−SDK a vývojová studia

−Dokumentace a návody

−Vývojové kity

−Kvalita stacku

−Kvalita periferie

−Border router

−Podpora a komunita

47 CONFIDENTIAL AND PROPRIETARY

Graphics, Computer vision and Machine learning

• Paralelizace výpočtů (grafické akcelerátory)

• Khronos (https://www.khronos.org/ )

• Aplikace

− In-vehicle infoteiment

− ADAS

− HMI

− Self-driven car

− Augmented reality

− Gesture recognition

− ...

48 CONFIDENTIAL AND PROPRIETARY

Graphics

• Standardy

− OpenGL ES

Standard pro tvorbu grafických aplikací

− DirectX

Low-level standard pro ovládání HW

− Vulkan

Low-level standard pro tvorbu grafických aplikací

− OpenVG

Standard pro tvorbu vektorové grafiky

− Engins, Frameworks

Unreal 4, Crank..

49 CONFIDENTIAL AND PROPRIETARY

Computer Vision

• Standardy

− OpenCV

Spusta funkcí

Prototyping

Většinou CPU

− OpenCL EP/CUDA

Standard pro paralelní výpočty

Nejen GPU

− OpenVX

Paralelní zpracování obrazu

− NEON

SIMD instrukce

• Ne vždy lze využít GPU!

50 CONFIDENTIAL AND PROPRIETARY

Machine learning

• Deep learning frameworks and libraries

− OpenVX

− cuDNN

− Caffe

− TensorFlow

− Theano

− Torch

51 CONFIDENTIAL AND PROPRIETARY

Graphics, Computer vision and Machine learning -

vývoj

• Výrobci

− NXP, nVidia, Broadcom, Texas instruments, Qualcomm..

• Co zohlednit?

− Výkon

− Implementace standardů

− Ostatní HW akcelerátory

− Enablement

− OS (Yocto, Ubuntu, QNX..)

− Cena

− Safety

52 CONFIDENTIAL AND PROPRIETARY

PRACOVNÍ PŘÍLEŽITOSTI V NXP

53 CONFIDENTIAL AND PROPRIETARY

Pracovní příležitosti v NXP

• Práce, stáže, diplomové/bakalářské práce..

• Kontakt:

[email protected]

• NXP CUP − Více než 50 univerezit

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

54 CONFIDENTIAL AND PROPRIETARY

Q&A