Arhitektura ARM mikrokontrolera Mikroprocesorski softver 201819 Milan Mijalkovi

  • Slides: 28
Download presentation
Arhitektura ARM mikrokontrolera Mikroprocesorski softver 2018/19. Milan Mijalković milan. mijalkovic@viser. edu. rs

Arhitektura ARM mikrokontrolera Mikroprocesorski softver 2018/19. Milan Mijalković milan. mijalkovic@viser. edu. rs

Istorija ARM-a 1983 razvijen u “Acorn computers”, Kembridž Naziv ARM (Acorn RISC Machine) n

Istorija ARM-a 1983 razvijen u “Acorn computers”, Kembridž Naziv ARM (Acorn RISC Machine) n n n Zamena za 6502 u BBC računarima Ekipa od samo četiri inženjera! Jednostavnost arhitekture posledica uigranog tima Kompletan sistem u čipu, prihvatljiva potrošnja i malo zauzaće prostora na osnovi. Prvi komercijalno raspoloživ RISC mikrokontroler 1990 ARM (Advanced RISC Machine), Acorn, Apple i VLSI u saradnji

Zašto baš ARM? Najprodavanija licenca za ovaj tip proizvoda na svetu n n n

Zašto baš ARM? Najprodavanija licenca za ovaj tip proizvoda na svetu n n n Koristi se za mobilne telefone, PDA, multimedijalne plejere, konzole za igre, digitalnu TV, foto-aparate i kamere ARM 7: Game Boy Advance, i. Pod ARM 9: Nintendo DS, Play. Station, Sony Ericsson, Ben. Q ARM 11: Apple i. Phone, Nokia N 93, N 800 86% tržišta 32 -bitnih računara za ugradnju* * INSTAT, 2. kvartal 2015. Zbog male potrošnje i dobrih karakteristika puno se koristi u prenosivim uređajima.

Ko sve proizvodi ARM procesore?

Ko sve proizvodi ARM procesore?

Neki od proizvoda:

Neki od proizvoda:

ARM mikrokontroleri Jednostavna arhitektura Velika procesorska snaga Ogromna familija proizvoda baziranih na istoj koncepciji

ARM mikrokontroleri Jednostavna arhitektura Velika procesorska snaga Ogromna familija proizvoda baziranih na istoj koncepciji i zajedničkom softverskom jezgru. Veliki broj proizvođača

Standardni nazivi ARM familije ARMxyz. TDMIEJFS n n n x: Serija – 7, 9,

Standardni nazivi ARM familije ARMxyz. TDMIEJFS n n n x: Serija – 7, 9, 11 y: MMU z: Keš T: ima “Thumb” instrukcijski set D: Debager M: Unapređeni množač I: Ugrađen ICE (emulator u čipu) E: Unapređen instukcijski set J: Jazelle (JVM) F: ALU sa pokretnim zarezom S: sa izvornim kodom za EDA (Electronic Design Automation) alate

Novije familije n n Strong. ARM CORTEX A, R i M sa drukčijim sistemom

Novije familije n n Strong. ARM CORTEX A, R i M sa drukčijim sistemom oznaka SOFTVERSKA JEZGRA: v 1, v 2, v 3. . . v 8 ARM 7 TDMI ima jezgro v 4 ARM 11 - v 6 Cortex – v 7

Najzastupljenije ARM arhitekture ARM 7 TDMI n n n 3 nivoa pročne arh. (fetch/decode/execute)

Najzastupljenije ARM arhitekture ARM 7 TDMI n n n 3 nivoa pročne arh. (fetch/decode/execute) Velika gustina koda uz malu potrošnju Jeftin, najzastupljeniji u računarima za ugradnju ARM 9 TDMI n n n Kompatibilan sa ARM 7 5 nivoa protočne arhotekture Odvojen keš za podatke i instrukcije, Harvard arh. ARM 11 ARM Cortex M 3 (i M 4)

Poređenje ARM familija god. 1995 1997 1999 2003

Poređenje ARM familija god. 1995 1997 1999 2003

ARM procesori danas Trenutno najprodavanija familija mikrokontrolera n n Više od 20 familija, sa

ARM procesori danas Trenutno najprodavanija familija mikrokontrolera n n Više od 20 familija, sa oko 30 milijardi prodatih čipova *. Svaki dan se isporuči oko 16 miliona komada*. * http: //www. arm. com/products/processors/index. php

ARM procesori danas Familije procesora namenjenih računarima za ugradnju n n n n Industrijska

ARM procesori danas Familije procesora namenjenih računarima za ugradnju n n n n Industrijska automatika Auto industrija Upravlljanje motorima Bela tehnika Bežična komunikacija Mreže senzora Disk-kontroleri w HDD i SSD n n n Printeri Mrežni uređaji Inteligentni merni sis. SCADA sistemi HVDC prenos el. en.

ARM procesori danas Procesori namenjeni kompletnim aplikacijama n n n n Smartbooks* / Netbooks

ARM procesori danas Procesori namenjeni kompletnim aplikacijama n n n n Smartbooks* / Netbooks / e. Readers Advanced Personal Media Players Set-top Boxes & Satellite Receivers Personal Navigation Devices Pametni telefoni Feature Phones Digitalna televizija Inteligentni štampači

RISC koncept Jednostavne instrukcije koje se izvršavaju u jednom ciklusu (većina) i sve su

RISC koncept Jednostavne instrukcije koje se izvršavaju u jednom ciklusu (većina) i sve su iste dužine Dekodovanje svih instrukcija u jednom ciklusu, protočna obrada “pipeline” Load/store arhitektura: n n n Obrada podataka isključivo nad registrima Ulazni (i izlazni) podaci za ALU isključivo u registrima Samo Load i Store instrukcije komuniciraju sa memorijom, sve ostale ne koriste magistrale

Ideje ARM dizajna Što manje jezgro kako bi potrošnja bila manja (ciljna grupa: računari

Ideje ARM dizajna Što manje jezgro kako bi potrošnja bila manja (ciljna grupa: računari za ugradnju). Velika gustina kôda za rad sa ograničenom količinom memorije i ograničenim fizičkim prostorom na supstratu. Mogućnost korišćenja jeftine, standardne memorije. Zahvaljujući malom jezgru, smanjeni troškovi proizvodnje i ostavljen prostor na supstratu za veliki broj periferija.

ARM jezgro:

ARM jezgro:

ARM jezgro: Load/store arhitektura Veliki broj registara opšte namene Sve instrukcije 32 bitne Troadresne

ARM jezgro: Load/store arhitektura Veliki broj registara opšte namene Sve instrukcije 32 bitne Troadresne instrukcije

Registri Ukupno 37 registara (svi tridesetdvobitni). 16 registara dostupno u svakom od režima. n

Registri Ukupno 37 registara (svi tridesetdvobitni). 16 registara dostupno u svakom od režima. n Odgovarajući skup r 0 -r 12 n r 13 obično, pokazivač steka (sp, stack pointer) n r 14 registar veze (lr, link register) n r 15 programski brojač (pc, program counter) Plus, 1 do 2 status-registra n Trenutni status-registar (cpsr - current program status register) – dostupan u svim režimima n Zapamćeni status-registar (spsr - saved program status register) - nije dostupan jedino u User režimu

Regisri opšte namene (r 0 -r 12): 31 24 23 16 15 87 0

Regisri opšte namene (r 0 -r 12): 31 24 23 16 15 87 0 8 -bit: bajt 16 -bit: polureč 32 -bit: reč 6 tipova podataka (označen/neoznačen) Sve ARM instrukcije rade sa 32 -bitnim podacima. n Kraći podaci su podržani samo kod prenosa podataka i u komunikaciji sa nekim periferijama.

Programski brojač (pc ili r 15) Sadrži adresu sledeće instrukcije koja treba da se

Programski brojač (pc ili r 15) Sadrži adresu sledeće instrukcije koja treba da se izvrši Sve instrukcije su 32 -bitne i moraju se nalaziti na adresama deljivim sa 4. Dakle, poslednja dva bita PC nisu značajna.

Trenutni status-registar (CPSR) 24 J ZASTAVICE: prekoračenje prenos/pozajmica nula negativan rez. Oznaka režima Thumb

Trenutni status-registar (CPSR) 24 J ZASTAVICE: prekoračenje prenos/pozajmica nula negativan rez. Oznaka režima Thumb kôd FIQ maka IRQ maska Samo kod nekih serija: Q – Zasićenje J – Jazzel kôd

Režimi rada (processor modes): User IRQ FIQ SVC Undef Abort Sys normano izvršenje programa

Režimi rada (processor modes): User IRQ FIQ SVC Undef Abort Sys normano izvršenje programa standardni prekid sa brzim ulaskom zaštićeni režim, namenjen O. S. pokušaj izvršenja nepostojećeg operacionog kôda (a korisi se i za podršku numeričkom ko-procesoru). greška pri dobavljanju instrukcije ili podatka (i za podršku virtualnoj memoriji i zaštiti memorije). privilegovani režim (O. S. )

Organizacija registara

Organizacija registara

Kada se desi, na primer, FIQ:

Kada se desi, na primer, FIQ:

Pri povratku u glavni program: Sadržaj zapamćenog spsr se vraća u cpsr. Registar spsr

Pri povratku u glavni program: Sadržaj zapamćenog spsr se vraća u cpsr. Registar spsr postaje je nedostupan u korisničkom režimu. Registri r 8 do r 14 korišćeni u FIQ režimu (narandžasti) se gube i u korisničkom (User) režimu postaju ponovo vidljivi registri r 8 do r 14 (plavi) sa neizmenjenim sadržajem koji je bio prelaska u FIQ režim.

Izuzeci (prekidi) Tabela vektora Adresa isr 3 … Potprogrami za opsluživanje prekida (isr) Adresa

Izuzeci (prekidi) Tabela vektora Adresa isr 3 … Potprogrami za opsluživanje prekida (isr) Adresa isr 1 Kôd glavnog programa isr 3

Izuzeci (prekidi)

Izuzeci (prekidi)