Prozessor- und Rechnerarchitekturen
10.05.2017
Prozessor- und Rechnerarchitekturen (Master) Themen am 10.05.17: ARM GPUs – Graphic Processing Units und Ihr Einsatz in gängigen mobilen Geräten (iPad3, Samsung Galaxy SIII, Galaxy Tab 7.7) ProRecArc17_V5 © Ulrich Schaarschmidt FH Düsseldorf, SS 2017
Literatur- und Herkunftsnachweise (ungeordnet) Furber, Steve:
ARM – Rechnerarchitekturen für System-on-Chip-Design Mitp-Verlag Bonn (Pearson Education Ltd.) 2002 www.arm.com http://www.cs.man.ac.uk/ http://www.eetimes.com/General/PrintView/4375114 http://www.eetimes.com/General/PrintView/4373329 http://www.eetimes.com/General/PrintView/4304118 Wikipedia: Mali (GPU), Tegra (NVIDIA), graphics processing unit, Samsung Galaxy S II, Samsung Galaxy S III, Apple Ax, Samsung Galaxy Tab 7.7 www.apdl.co.uk/riscworld/volume8/issue5/grapharm/chap11.htm 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
2
1
Prozessor- und Rechnerarchitekturen
10.05.2017
Literatur – und Quellnachweise O.v. Fragstein; S. Kundt:
ARM Cortex Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2011
R. Fischer:
ARM Cortex – M- Serie (M0/M0+, M3, M4) Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2012
NXP-semiconductor R. Aydin:
Cortex M0 und Cortex M0+ Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2013
Nn. Infineon:
http://www.infineon.com/KIT_XMC_2GO_XMC1100_V1
10.05.2017
U.G. Schaarschmidt - HS-D
3
Firma ARM (Geschäftsmodell) Verkauft keine Hardware sondern lizensiert IP (Intelectual Property), -> Beschreibung der Hardware z.B. in VHDL, Tools zur Programmierung, Tools zum weiteren Hardwaredesign, Vergibt die Erlaubnis Chips zu verkaufen (um daran zu verdienen) 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
4
2
Prozessor- und Rechnerarchitekturen
10.05.2017
Aufteilung der ARM und Cortex Leistungsklassen
10.05.2017
U.G. Schaarschmidt - HS-D
5
Übersicht Leistungsklassen Cortex M
Mikrocontroller, geringstmöglicher Energieverbrauch, trotz 32 bit-Verarbeitung
Cortex R
Real Time Anwendungen,
Cortex A Application Anwendungen (z.B. Smartphones , Tablets, etc.) 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
6
3
Prozessor- und Rechnerarchitekturen
10.05.2017
Architektur – und sonstige Merkmale
10.05.2017
U.G. Schaarschmidt - HS-D
7
Verschiedene bekannte Technologien
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
8
4
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM Architektur und Erweiterungen Thumb und Thumb2 ARM Befehlssatz
32 Bit,
Thumb Befehlssatz
16 Bit, es muss von 32 auf 16 Bit Verarb. Umgesch. Limitierte Operanden / Register / Sprünge, Geringere Funktionalität, Höhere Codedichte möglich, Höhere Performanz bei kleinen Systemen möglich,
Thumb 2 Befehlssatz 10.05.2017
Mischt Thumb und ausgewählte ARM-Befehle um beide Vorteile zu nutzen U.G. Schaarschmidt - HS-D
9
Cortex Mx - Familien
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
10
5
Prozessor- und Rechnerarchitekturen
10.05.2017
Infineon XMC 2Go (Cortex M0)
10.05.2017
U.G. Schaarschmidt - HS-D
11
Infineon XMC 2Go (Cortex M0) XMC1100 (ARM® Cortex™-M0 based), Flash 64kB, RAM 16kB, 32 MHz CPU Clock, 64 MHz Timer Clock, On-board J-Link Lite Debugger (Realized with XMC4200 Microcontroller)
Serial Wire Debug (SWD), Single Pin Debug (SPD), UART-to-USB Bridge (virtual COM)
Power over USB (Micro USB), 2 Kanal USIC (UART, SPI, I2C, I2S, LIN), External Interrupts (via ERU), 6 Kanal AD-C (12-Bit Auflösung), 4 * 16 Bit Timer, Real Time Clock, Random Number Generator, ESD and reverse current protection 2 x user LED @ P1.0 und P1.1, Pin Header 2x8 Pins suitable for Breadbord [http://www.infineon.com/] 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
12
6
Prozessor- und Rechnerarchitekturen
10.05.2017
Blockdiagramm des XMC 2Go Kits
10.05.2017
U.G. Schaarschmidt - HS-D
13
Klein aber oho
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
14
7
Prozessor- und Rechnerarchitekturen
10.05.2017
Aktuelle ARM Prozessoren
10.05.2017
U.G. Schaarschmidt - HS-D
15
U.G. Schaarschmidt - HS-D
16
Cortex M0
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
8
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex M0 Beispielimplementierung
HS Düsseldorf
10.05.2017
U.G. Schaarschmidt - HS-D
17
10.05.2017
U.G. Schaarschmidt - HS-D
18
(c) U.Schaarschmidt
9
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM Prozessorarchitektur
10.05.2017
U.G. Schaarschmidt - HS-D
19
U.G. Schaarschmidt - HS-D
20
Pipeline
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
10
Prozessor- und Rechnerarchitekturen
10.05.2017
Speicherschutz
10.05.2017
U.G. Schaarschmidt - HS-D
21
Befehlssätze der M-Familie
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
22
11
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex M0 - Blockdiagramm
10.05.2017
U.G. Schaarschmidt - HS-D
23
Cortex M - Familie
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
24
12
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex M - Vergleich
² mit Branch Speculation; * Minimalkonfiguration (40nm)
HS Düsseldorf
10.05.2017
U.G. Schaarschmidt - HS-D
25
10.05.2017
U.G. Schaarschmidt - HS-D
26
(c) U.Schaarschmidt
13
Prozessor- und Rechnerarchitekturen
Leistungsmerkmal
10.05.2017
Cortex M0+
10.05.2017
Cortex M0
Cortex M3
ARM7TDMI-S
U.G. Schaarschmidt - HS-D
27
Vergleich mit anderen (schwächer motorisierten )
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
28
14
Prozessor- und Rechnerarchitekturen
10.05.2017
10.05.2017
U.G. Schaarschmidt - HS-D
29
ARM Architektur und Erweiterungen VFP – Vector Floating Point Architecture
Coprozessor für Gleitkommaberechnung 16, 32, 64 Bit Gleitkommazahlen Entlastung des Hautprozessors Schnelle Abarbeitung
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
30
15
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM Architektur und Erweiterungen SIMD Extension for Multimedia Coprozessor für Multimedia Anwendungen SIMD => Single Instruction Multiple Data Ein Befehl wird parallel auf verschiedenen Daten ausgeführt Funktionen • Bruchrechnung • Gleichzeitige Berechnung von 4 8-Bit Zahlen oder 2 16Bit Variablen • Multiplikation von 16 und 32 Bit in Hardware
10.05.2017
U.G. Schaarschmidt - HS-D
31
ARM Architektur und Erweiterungen Neon Erweiterung der SIMD-Extension Es werden 8, 16, 32 signed und unsigned Datentypen und 32-Bit Float-Variablen unterstützt Maximal 16 Operationen parallel Bibliotheken für Multimediaformate wie jpg, mp3, MPEG-4, usw. Bibliotheken für Filter wie FIR, IIR, usw. Vektoroperationen wie Skalieren, Drehen, usw. 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
32
16
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM Architektur und Erweiterungen TrustZone Kapselung von sicherheitskritischen Prozessen (Onlinebanking, Verschlüsselung, …) Zwei virtuelle Prozessoren auf einem realen Prozessor Unsichere Welt hat beschränkten Zugriff auf sichere Welt Zugriffverwaltung durch Monitor-Mode
10.05.2017
U.G. Schaarschmidt - HS-D
33
ARM Architektur und Erweiterungen Jazelle Jazelle DBX (Direct Bytecode eXecution) In Hardware realisierte virtuelle Maschine für Java Bytecode Hohe Geschwindigkeit Niedriger Stromverbrauch Jazelle RCT (Runtime Compilation Target) Just in Time Compiler für Java und .net Wandelt Quellcode zur Laufzeit in ARM-Befehle 10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
34
17
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-M Serie Cortex M0 Kleinster ARM Prozessor Einsteigermodell Voll kompatibel zu allen anderen Langsam getaktet Sehr stromsparend Konkurrenz zum 8-Bit Markt
HS Düsseldorf
10.05.2017
U.G. Schaarschmidt - HS-D
35
10.05.2017
U.G. Schaarschmidt - HS-D
36
(c) U.Schaarschmidt
18
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-M Serie Cortex M1 ARM Prozessor für den Einsatz im FPGA Bereich Kompatibel zu allen gängigen FPGA Herstellern Taktfrequenz 60KHz
10.05.2017
U.G. Schaarschmidt - HS-D
37
Cortex-M Serie Cortex M3
Nachfolger der ARM7TDMI Architektur Verbesserte Energieeffizienz Geeignet für deterministische Echtzeitanwendungen und low cost Plattformen Einsatzbereich in Automotive, Industriesteuerung, drahtlose Sensornetzwerke Im Release 2 noch einmal im Bereich des Debugging verbessert Taktfrequenz: 190 MHz (Release 1) und 250 MHz (Release 2
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
38
19
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex M3
HS Düsseldorf
10.05.2017
U.G. Schaarschmidt - HS-D
39
10.05.2017
U.G. Schaarschmidt - HS-D
40
(c) U.Schaarschmidt
20
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-M Serie Cortex M4 Wie Cortex-M3, jedoch mit 80 zusätzlichen 32-Bit Befehlen Befehle stellen DSP Funktionalität her Eine DSP-Operation pro Taktzyklus Ursprung der Befehle ARM9E und ARM11 Der M4 vereint DSP Funktionalität der ARM-Reihe mit den Energiesparfeatures der Cortex-Reihe Aber im Vergleich zu echten DSP fällt der Prozessor ab 10.05.2017
U.G. Schaarschmidt - HS-D
41
Cortex-M Serie Cortex M4
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
42
21
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-M Serie Architekturmerkmale 3 Stufige Pipeline Keine Sprungvorhersagen und superskalare Befehlsausführung Kein Cache, sondern direkter Zugriff auf Daten und Code im Hauptspeicher (Deterministisches Verhalten) Nested Vector Interrupt Controler (244 Interrupts in 256 Ebenen) Thumb und ARM Befehlssatz Unterstütung 10.05.2017
U.G. Schaarschmidt - HS-D
43
Cortex-A Serie Cortex A5
Kleinster Cortex-A Voll kompatibel zu allen anderen Langsam getaktet Sehr stromsparend
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
44
22
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie Cortex A8 Ältester Cortex-A Nur als Single Core verfügbar
10.05.2017
U.G. Schaarschmidt - HS-D
45
Cortex-A Serie Cortex A9 Leistungsstärkster verfügbarerer Cortex-A
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
46
23
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie Cortex A15 Nächste Generation der Cortex-Reihe Ab Ende 2012 verfügbar
Einsatz: leistungsstarkten Smartphones Netbooks, PDA Konkurrenz zu Intel Atom
10.05.2017
U.G. Schaarschmidt - HS-D
47
Cortex-A Serie Übersicht über die Prozessoren Eigenschaft
A5
A8
A9
A15
Befehlsbreite
16/32
16/32
16/32
16/32
Thumb-Anweisungen
Thumb, Thumb2
Thumb, Thumb2
Thumb, Thumb2
Thumb, Thumb2
Jazelle Erweiterung
DBX, RCT
RCT
RCT
RCT
TrustZone
ja
ja
ja
ja
Multiprocessing
1 – 4 Cores
nein
2 – 4 Cores
2 – 4 Cores
L1-Cache Code/Daten in
4 - 64
16/32
16 - 64
32
extern 16 - 8192
extern 128 - 1024
extern 128 - 1024
intern 512 - 4096
Integer Pipeline
8 Stufe
13 Stufen
8 Stufen
13 (geschätzt)
Taktfrequenz (MHz)
480 / 1000
800 /1100
> 1000
1500 / 2500
Leistungsaufnahme
0,12 mW/MHz / 0,08
0,59 mW/MHz/ 0,45
0,53 mW/MHz 0,48
?
mW/MHz
mW/Mhz
mW/MHz
kB L2-Cache Code/Daten in kB
10.05.2017 IC-Prozess
HS Düsseldorf
40 nm
(c) U.Schaarschmidt
U.G. Schaarschmidt - 45HS-D 65 nm nm
28 nm
48
24
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie Leistungsvergleich
10.05.2017
U.G. Schaarschmidt - HS-D
49
Cortex-A Serie Architektur Mehrere Prozessorcluster mit L1 und L2 Cache Grafik mit ARM Mali-Prozessor
Alle Komponenten über AMBA-3-AXIBus verbunden •
Vollduplex
•
max 2,6 Gbyte/s
Modifizierte Harvard-Architektur •
Gemeinsamer Bus
•
Getrennter L1 Cache für Daten und Befehle
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
50
25
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie CPU-Cluster Jede CPU L1 Cache für Daten und Befehle Gleitkommaeinheiten/NEON Koordination der CPUs durch Snoop Control Unit Gemeinsames L2 Cache Interruptvercontroller Accelerator Coherency Port
10.05.2017
U.G. Schaarschmidt - HS-D
51
Cortex-A Serie CPU-Cluster
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
52
26
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie Anwendungsbeispiele
10.05.2017
U.G. Schaarschmidt - HS-D
53
Cortex-A Serie Anwendungsbeispiele
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
54
27
Prozessor- und Rechnerarchitekturen
10.05.2017
Cortex-A Serie Betriebssysteme Android Chrome Klassische Linux Distributionen wie Ubuntu und Debian Symbian Windows CE Geplante Unterstützung durch Windows 8 • Konkurrenz für Netbooks & Co mit Intel Atom 10.05.2017
U.G. Schaarschmidt - HS-D
55
Lizenznehmer freescale Kinetis
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
56
28
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM-IP designed by Apple Inc. für iPod, iPhone, iPad, Apple TV
10.05.2017
U.G. Schaarschmidt - HS-D
57
Handfolien 1
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
58
29
Prozessor- und Rechnerarchitekturen
10.05.2017
Handfolien 2
10.05.2017
U.G. Schaarschmidt - HS-D
59
Handfolien 3
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
60
30
Prozessor- und Rechnerarchitekturen
10.05.2017
Handfolien OpenGL / DirectX
10.05.2017
U.G. Schaarschmidt - HS-D
61
Handfolien – wofür GPUs? ARM – GPU Mali xxx
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
62
31
Prozessor- und Rechnerarchitekturen
10.05.2017
10.05.2017
U.G. Schaarschmidt - HS-D
63
ARM Mali – 400MP GPU
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
64
32
Prozessor- und Rechnerarchitekturen
10.05.2017
ARM Mali – T604 3D-GPU
10.05.2017
U.G. Schaarschmidt - HS-D
65
Frisch / demnächst von ARM MALI-450MP -> scalable 8 core (3.Q12) ARM – new generation SKRYMIR (2014)
10.05.2017
HS Düsseldorf
(c) U.Schaarschmidt
U.G. Schaarschmidt - HS-D
66
33