Procesorski sistemi v telekomunikacijah

Procesorski sistemi v telekomunikacijah
Mikrokrmilniki in procesorji v vgrajenih sistemih
(c) Árpád Bűrmen, 2010-2016
Kaj je mikrokrmilnik?
Strogo gledano je mikroprocesor sestavljen iz
krmilne enote, aritmetično logične enota in registrov.
Mikrokrmilniki (microcontroller, uC) dodajo k temu še pomnilnik
(RAM/FLASH) in periferne naprave, kot naprimer:
A/D in D/A pretvornike, splošnonamenska (GPIO) vrata, PWM
modulatorje, USB in Ethernet vmesnike, ...
Cel mikroprocesorski sistem je tako združen v enem vezju (čipu).
Nižja cena končnega sistema (manj komponent).
Ponavadi vodilo ni pripeljano na izhodne sponke vezja.
Pojavili so se 70. letih 20. stoletja.
Ponavadi se programirajo v zbirnem jeziku.
Danes za čedalje več uC dobimo tudi prevajalnik za jezik C
Ponavadi imajo vgrajen emulator in
vmesnik za razhroščevanje (npr. JTAG).








2
Kje se uporabljajo?
Povsod.
Pogosto v vgradnih sistemi (embedded systems) –
sistemi, ki opravljajo relativno majhno število specializiranih funkcij
55% vseh prodanih mikroprocesorjev je
8-bitnih mikrokrmilnikov.
En avtomobil ima v povprečju 30 mikrokrmilniov.




3
ZILOG
Z80 (1976) – 8-biten
kompatibilen z Intel 8080,
ni pravi mikrormilnik
(je “samo” mikroprocesor),
Za uporabo v vgradnih sistemih,
Povzročil revolucijo s
hišnimi računalniki



4
Freescale (prej Motorola Semiconductor)

68HC11 ... 8-biten,
naslednik Motorole 6800 (1974)

68HCS08 ... 8-biten,
naslednik 6800 in
družine 68HC05

ColdFire ... 32-biten,
naslednik Motorole 68000 (1979)
do 300MHz (68000 “le” do 75MHz),
novejše verzije 100% združljive z 68000
5
Intel 8051 (MCS-51)
8-biten, pojavil se je 1980
Danes veliko kompatibilnih procesorjev proizvajalcev
Atmel, Infineon, Maxim, ...
Harvardska arhitektura



Intel P8051
6
Infineon SAB-C515-LN
ATMEL
AVR (1996)
Harvardska arhitektura
8-bitni RISC
Norveška,
razvila 2 študenta NTH
AVR32 (2006)
32-biten
nizka poraba, hiter,
kompaktna koda
AT91SAM
32-biten, na osnovi
jeder ARM7, ARM9
in CORTEX



7
Renesas (NEC + Hitachi + Mitsubishi)

H8 (iz zgodnjih 90. let, Hitachi)
8 in 16-bitni,
po vzoru DEC PDP-11,
med drugim v LEGO Mindstorms

SuperH (iz 90. let, Hitachi)
32-biten, RISC,
v nekaterih SEGA konzolah
8
Microchip
PIC – Programmable Intelligent Computer, od 1985
PIC12, PIC16
osnovne inačice, 8-bitni,
programiranje v zbirniku
(omejen nabor ukazov)



PIC18
obsežnejši nabor ukazov,
C postane glavni prog. jezik

dsPIC / PIC24 (2001)
16-bitni, obdelava signalov

PIC32 (2007)
32-bitni, jedro MIPS32 M4K
9
Jedro ARM ...



ARM razvija procesorska jedra in prodaja licence drugim
proizvajalcem (NXP, Freescale, Atmel, ...)
Stara jedra: ARM7, ARM9, ARM11, ...
Danes: CORTEX M, CORTEX R, CORTEX A
10
... Jedro ARM – CORTEX M ...

Za mikrokrmilnike
M0 M0+ M1 M3 M4 M7
Cevovod
3
2
3
3
3
6
Napoved vejitve
-
-
-
+
+
+
Thumb
+- +-
+- +
+
+
Thumb-2
+- +-
+- +
+
+
Množenje 32->32
+
+
+
+
+
+
Množenje 32->64
-
-
-
+
+
+
Množenje predzn./nepredzn.
-
-
-
-
+
+
Množ. in sešt./odšt. (MAC)
-
-
-
-
+
+
Deljenje (32-bitno)
-
-
-
+
+
+
Aritmetika z nasičenjem
-
-
-
+
+
+
DSP (1 cikel za MAC 16/32)
-
-
-
-
+
+
MMU (opcija)
-
-
-
+
+
+
Matematični koprocesor (opcija) -
-
-
-
+
+
Dvojna natančnost koprocesorja
-
-
-
-
+
11
-
... Jedro ARM – CORTEX R ...

Za sisteme s sprotnim odzivom (npr. modemi)
R4 R5 R7
Cevovod
8
8
11
Napoved vejitve
+
+
+
Superskalarnost
-
-
+
ARM nabor ukazov (32-biten)
+
+
+
Thumb nabor ukazov
+
+
+
Thumb-2 nabor ukazov
+
+
+
Množenje
+
+
+
Deljenje
+
+
+
DSP
+
+
+
MMU
+
+
-
Matematični koprocesor (opcija)
+
+
+
Dvojna natančnost koprocesorja
+
+
+
2 jedri (opcija)
-
+
+
12
napovedano 2016: R8 R52
... Jedro ARM – CORTEX A

Za sisteme, ki zahtevajo zmogljive procesorje
A5 A7 A8 A9 A12 A15 A17 A32 A35 A53 A57 A72 A73
64-bit
+
+
+
+
+
+
HW virtualizacija
+
+
+
+
+
+
+
+
+
+
+
Zelo visoka učinovitost
+
Nizka poraba
+
Visoka učinkovitost
Najzmogljivejši
13
+
+
+
+
+
+
+
PowerPC






Apple-IBM-Motorola
Procesorsko jedro (podobno kot ARM), od leta 1992
32- in 64-bitni RISC
Od 2006 preimenovan v Power ISA
Mikroprocesor v Apple Macintosh-u
Danes pogost v vgrajenih (embedded) sistemih, npr. v letalu F-35
IBM PowerPC 604e 200MHz
14
PowerPC procesor v
Nintendo Wii konzoli
F-35