nxp powerpoint template confidential 4:3 ratiopoli.cs.vsb.cz/edu/arm-iot-machlearn-2016.pdf · −...
TRANSCRIPT
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
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)
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
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
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
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
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
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í)
44 CONFIDENTIAL AND PROPRIETARY
Bluetooth low energy - vývoj
• Výrobci
− NXP, legacy Freescale, Nordic, Silicon Lab, Texas Instruments..
• Co zohlednit?
− SDK a vývojová studia
− Dokumentace a návody
− Vývojové kity
− Kvalita stacku
− Kvalita periferie
− Podpora a komunita
• https://developer.mbed.org/blog/entry/Bluetooth-LE-example-on-mbed/
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
53 CONFIDENTIAL AND PROPRIETARY
Pracovní příležitosti v NXP
• Práce, stáže, diplomové/bakalářské práce..
• Kontakt:
• NXP CUP − Více než 50 univerezit
−https://community.freescale.com/groups/tfc-emea