Presentations
tisnik 0x40 centrum 0x2e cz
Rok Čipů
1997 9 000 000
1998 51 000 000
1999 175 000 000
2000 367 000 000
2001 420 000 000
2002 456 000 000
2003 782 000 000
2004 1 272 000 000
2005 1 662 000 000
2006 2 400 000 000
2007 2 900 000 000
2008 4 000 000 000
2009 3 900 000 000
2010 6 100 000 000
2011 7 900 000 000
2012 8 700 000 000
2013 10 000 000 000
2014 12 000 000 000
2015 ?
Rok 2010
6 100 000 000 čipů
95% smartphony
10% přenosné počítače
35% TV a set-top boxy
0% desktopy
0% servery :-)
Rok 2014
12 000 000 000 čipů
predikce pro 23% ARM na PC
Architektura Jádra
ARMv1 26/32 bitů ARM1
ARMv2 26/32 bitů ARM2, ARM3
ARMv3 26/32 bitů ARM6, ARM7
ARMv4 26/32 bitů ARM8
ARMv5 32 bitů ARM7EJ, ARM9E, ARM10E
ARMv6 32 bitů ARM11
ARMv6-M 32 bitů Cortex-M0, Cortex-M0+, Cortex-M1
ARMv7-M 32 bitů Cortex-M3
ARMv7E-M 32 bitů Cortex-M4, Cortex-M7
ARMv7-R 32 bitů Cortex-R4, Cortex-R5, Cortex-R7
ARMv7-A 32 bitů Cortex-A5, Cortex-A7, Cortex-A8,
Cortex-A9, Cortex-A12,
Cortex-A15, Cortex-A17
ARMv8-A 32/64 bitů Cortex-A53, A57 a A72
ARMv1 proof of concept, funkční hned první "várka"
ARMv2 Acorn Archimedes, 1982
ARMv3
ARMv4 StrongARM
ARMv5
ARMv6 Starší (univerzální) čipy, dnes RPI apod.
ARMv6-M Mikrořadič, malá spotřeba, malý výkon
ARMv7-M Mikrořadič, "zlatá střední cesta"
ARMv7E-M Mikrořadič, vysoký výkon, složitější čip
ARMv7-R Real-time aplikace
ARMv7-A netbooky, smartphony, tablety, čtečky, desktop
ARMv8-A servery
Jádro Architektura MPU
Cortex-M0 ARMv6-M Von Neumann ne
Cortex-M0+ ARMv6-M Von Neumann volitelná
Cortex-M1 ARMv6-M Von Neumann ne
Cortex-M3 ARMv7-M Harvardská volitelná
Cortex-M4 ARMv7E-M Harvardská volitelná
Cortex-M7 ARMv7E-M Harvardská volitelná
Jádro Dělička DSP Thumb Thumb-2
Cortex-M0 ne ne kromě 3 instrukcí částecně
Cortex-M0+ ne ne kromě 3 instrukcí částecně
Cortex-M1 ne ne kromě 3 instrukcí částecně
Cortex-M3 ano ne kompletně kompletně
Cortex-M4 ano ano kompletně kompletně
Cortex-M7 ano ano kompletně kompletně
Low end zařízení
Použito v různých zařízeních
- Integer Multi-cycle
Shift
MUL
DIV
CRC
- FP/ASIMD 0
všechny FP operace
crypto
- FP/ASIMD 1
ADD, MUL
ADD 1 2 I0/I1
Shift 1 1 M
BLR 2-3 1 I0/I1+B (branch and link)
CCMP 1 2 I0/I1 (conditional compare)
MUL 3 1 M
SDIV 4-20 1/20-1/4 M
LDR 4 1 L
STR 1 1 S (nečeká na zápis)
VADD 5 2 F0/F1
VMUL 5 2 F0/F1
VDIV 7-17 2/15-2/5 F0 (single/float)
VDIV 7-32 1/30-1/5 F0 (double)
VSQRT 7-17 2/15-2/5 F0 (single/float)
VSQRT 7-32 1/30-1/5 F0 (double)
°
DIV+SQRT - iterativní algoritmus
- lze přerušit
☕ ☕ ☕