Lezione1 introduzione micro
-
Upload
maurizio-di-paolo-emilio -
Category
Automotive
-
view
71 -
download
1
Transcript of Lezione1 introduzione micro
![Page 1: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/1.jpg)
P. Foglia 1
MicrocontrolloriMicrocontrolloriP. FogliaP. Foglia
P. Foglia 2
overviewoverview
• Da Microcontrollers.com:– “I processori per PC costituiscono meno
dell’1% del mercato mondiale deimicroprocessori”.
– “I processori per applicazioni embedded (microcontrollori) costituiscono circa il99% del mercato”
![Page 2: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/2.jpg)
P. Foglia 3
Cosa sonoCosa sono• Il microcontrollore è un dispositivo che raggruppa su un
unico chip un processore ed un insieme di dispositivi– CPU – Memoria RAM – Memoria Eprom o EEPROM od OTP – Porte I/O – Timers e contatori – Uart o porte di comunicazione seriale speciali ("Bus SPI","Bus
I2C") – Convertitori A/D
• ha prestazioni più basse rispetto ai microprocessori generalpurpose
• In generale non necessita di RAM ulteriore oltre quella integrata, per cui sono disponibili numerosi PIN di I/O
P. Foglia 4
a cosa servonoa cosa servono• Poichè presentano
– Converitori A/D e D/A– PWM– Timer/contatori– RTC– PIN di ingresso/uscita– Dispositivi di I/O (inter. seriali, etc)
• Sono adatti alla realizzazione di applicazioni di controllo, acquisizione/elaborazione dei segnali, ossia alle applicazioni del corso
• Tali applicazioni richiedevano design ad-hoc di componenti ed hardware dedicato
• Oggi è possibile realizzare tale applicazioni ricorrendo ad un unico tipo di microcontrollore, cambiando solo gli aspetti software– In una BMW sono presenti più di 70 microcontrollori 68HC11
![Page 3: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/3.jpg)
P. Foglia 5
Vantaggi delle periferiche su Vantaggi delle periferiche su singolo chipsingolo chip
• Sono richiesti meno dispositivi “discreti” per la realizzazione di un sistema
• Il sistema riesce ad avere dimensioni ridotte
• Si abbassano i costi– I dispositivi ed il core costano qualche EURO
• Si abbassa il consumo di potenza– Device on chip hanno consumo minore di device esterne
• Si abbassa la sensibilità ad interferenze EM
• Sono disponibili più pin per l’I/O utente (per acquisizione ad esempio)
• Il sistema nel complesso è più affidabile– Sono interconnessi meno componenti
P. Foglia 6
•sistema intelligente in grado di eseguire elaborazione complesse e di comunicare con altri disposivi.
•riconvertibilità del progetto (riprogrammando il dispositivo);
•protezione contro le copiature (la maggiore parte del single-chip offre la possibiltà di proteggere da lettura il programma contenuto nella ROM) ;
•Risparmio energetico (le versioni CMOS supportano il modo di funzionamento stand-by : è possibile bloccare, via software, l'attività della CPU e quindi ottenere correnti di alimentazione molto basse);
Altri vantaggiAltri vantaggi
![Page 4: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/4.jpg)
P. Foglia 7
Caratteristiche Caratteristiche architetturaliarchitetturali richieste ad un richieste ad un microcontrolloremicrocontrollore
•• Osservazioni: queste caratteristiche si traducono in:Osservazioni: queste caratteristiche si traducono in:•• Ridotta dimensione del codiceRidotta dimensione del codice•• Ridotta dimensione della schedaRidotta dimensione della scheda
P. Foglia 8
Esempi di applicazioniEsempi di applicazioni• Prodotti per l’informazione personale:
– Telefoni cellulari, pager, orologi, registratori, calcolatrici
• Componenti Laptop :– mouse, tastiere, modem, fax, schede sonore, caricatori di batterie
• Applicazioni Home – serrature per porte, sistemi di allarme, termostati, condizionatori,
telecomandi, VCR, frigoriferi, exercise equipment, lavatrici, forni a micro-onde
• giochi; automotive
• Settore industriale:– Controllo di assi (posizione, velocità)– Regolatori ON-OFF– Regolatori PID
![Page 5: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/5.jpg)
P. Foglia 9
Caratterizzazione Caratterizzazione dei dei
microcontrollorimicrocontrolloriP. FogliaP. Foglia
P. Foglia 10
Caratteristiche del Caratteristiche del processoprocessocostruttivocostruttivo
• Sono generalmente realizzati con un processoHCMOS statico, che consente al clock di esserevariato da DC fino alla massima velocità senzacontroindicazioni– Ciò non è vero per i microprocessori general purpose,
per cui un clock minimo è richiesto
• Ciò consente di modulare il consumo di potenzaalle esigenze di prestazioni dell’applicazione– La potenza dinamica è legata al clock del sistema
– Da Mel Tsai
![Page 6: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/6.jpg)
P. Foglia 11
Caratteristiche generaliCaratteristiche generali• Si distinguono per
– Set di istruzioni/architettura• CISC/RISC• Van Neumann vs hardware
– Numero e tipo di dispositivi di I/O• Solitamente vengono forniti core da produttori di CPU, e
produttori di dispositivi arricchiscono il core con dispositivi proprietari di elaborazione dei segnali
– Frequenza di clock– Numero di bit
• 4/8/16/32– Potenza di elaborazione/power comsuption
• Condizionata dalle grandezze precedenti
P. Foglia 12
Caratteristiche:Caratteristiche:VanVan NeumannNeumann vsvs HarvardHarvard
• Van Neumann– Veniva adottata in microcontrollori di fascia bassa– I suoi svantaggi sono evidenti
• Harvard– Separazione dei bus per i dati e gli indirizzi– Vantaggiosa perché si può accedere contemporaneamente a
codice e dati o a più dati, diminuendo i tempi di esecuzione
– Viene implementata in due modi• Spazi di indirizzamento e bus effettivamente separati• In architetture superscalari la separazione è solo a livello L1
– Cache L1 dati e codice separati– Due bus distinti per il fecth dei dati e del codice (avvengono in due
passi distinti della pipeline ed è bene che non siano sincronizzati)– A livello L2, e poi verso la memoria, gli spazi si uniscono
» La cache “filtra bene”
![Page 7: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/7.jpg)
P. Foglia 13
Esempi per alcuni Esempi per alcuni microcontrollorimicrocontrollori
• ARM7: Van neumann con spazio di indirizzi unico
• ARM9: Harvard con spazio di indirizzi unico– Si unifica a livello L2
• 8051 e derivati: Harvard con spazio di indirizzi separato
• ST10: Van Newmann
• ST40: Harvard con spazio di indirizzi unico
P. Foglia 14
conseguenzeconseguenze• Per il linker o per il programmatore
assembler– La presenza di spazi separati deve essere nota
– L’allocazione in genera rispetta aree lente/veloci
– Attenzione alla “sovrapposizione” di aree
![Page 8: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/8.jpg)
P. Foglia 15
Caratteristiche: CISC Caratteristiche: CISC vsvs RISCRISC• CISC
– Vantaggi• Codice compatto
– Istruzioni a lunghezza variabile• Tempo di esecuzione deterministico
– Svantaggi• Clock non elevati• Istruzioni “lente” (tempo di esecuzione > 1 ciclo)
– Es: 8051: 12Mhz di clock, 1 MIPS di prestazioni
• RISC– E’ l’architettura dei l’architettura nei microcontrollori a “medie-alte
prestazioni”– Vantaggi
• Clock elevati• Tempo di esecuzione di una istruzione basso (1 ciclo, a regime di più)
– Svantaggi• Codice di elevate dimensioni
– L’architettura TUMB per gli ARM della VLSI• Tempi di esecuzione difficilmente predicibili
– Branch prediction, esecuzione speculativa ed out of order– Memorie cache– Rendono difficilmente precidibile i tempi di esecuzione
P. Foglia 16
osservazioniosservazioni• L’impredicibilità del tempo di esecuzione è spesso legata a:
– Architettura pipelined– Branch prediction ed esecuzione speculativa– Presenza di cache– Architettura superscalare
• Tali caratteristiche si trovano essenzialmente nei processori ad architettura RISC
• …ma vengono adottate anche da alcune architetture CISC
• Quando un core viene adottato per MCU, viene semplificato eliminando parzialmente o totalmente tali caratteristiche
![Page 9: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/9.jpg)
P. Foglia 17
Esempio Esempio PowerPower--PCPC vsvsMotorolaMotorola 6800068000
• L’architettura Power PC è alla base di famiglie di microcontrollori Freescale– Ad esempio i microcontrollori MPC561
• Per applicazioni industriali viene venduto anche il Motorola 68000 nelle varie versioni– La versione 68060 è la più evoluta
• Processore CISC• Proprietà superscalari
P. Foglia 18
LL’’architettura architettura PowerPCPowerPC• È una architettura di riferimento
–Set di istruzioni RISC–32-64 bit–Cache L1-unificata o splitted
–L’implementazione è lasciata ai costruttori
![Page 10: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/10.jpg)
P. Foglia 19
Caratteristiche Caratteristiche MotorolaMotorola6806068060
Implementazione superscalare del 68000 che è CISCImplementazione superscalare del 68000 che è CISC
Doppia cacheDoppia cacheMMU su alcuneMMU su alcune
Architettura 32 bitArchitettura 32 bit
FpuFpu solo in alcune solo in alcune versioniversioni
P. Foglia 20
Architettura 68060Architettura 68060
3 unità di esecuzione: 2 intere 3 unità di esecuzione: 2 intere –– 1 1 fpfp
![Page 11: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/11.jpg)
P. Foglia 21
notenote• Il 68000 era a 16 bit
P. Foglia 22
LL’’implementazione Power PC implementazione Power PC per i MCU: lper i MCU: l’’architettura RCPUarchitettura RCPU
• È l’architettura della CPU per i microcontrollori MPC561
• Caratteristiche– Implementazione single-issue dell’architettura power-
PC (RISC)– Include una I-Cache da 4 Kbyte
• Si rinuncia alla doppia cache e ad una architettura multiple-issue, che è permessa dal power-PC
– Viene semplificato• Il progetto• Il calcolo dei timing
– Ma possiede la branch prediction• Complica i calcoli del tempo di esecuzione di una istruzione
![Page 12: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/12.jpg)
P. Foglia 23
LL’’effetto della pipelineeffetto della pipeline• In ogni caso, l’adozione della pipeline
complica il calcolo del tempo di esecuzione
• Soprattutto se sono presenti altre features–Vediamolo nel caso dell’RCPU
P. Foglia 24
Esempio: il calcolo del tempo Esempio: il calcolo del tempo di esecuzione nel RCPUdi esecuzione nel RCPU
• Un ciclo
![Page 13: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/13.jpg)
P. Foglia 25
Esempio: lEsempio: l’’effetto della effetto della branchbranch predictionprediction
Stallo per aspettare il Stallo per aspettare il branchbranch
Esecuzione del Esecuzione del branchbranch
FecthFecth nuova istruzionenuova istruzione
La previsione è correttaLa previsione è corretta
L’istruzioneL’istruzioneVa inVa in
esecuzioneesecuzione
P. Foglia 26
E se la E se la predictionprediction non non èècorrettacorretta
• Occorre svuotare la pipeline e rieffettuare il fecth
• Tale tempo non è predicibile, ma deve essere stimato (un ciclo di clock in più)
![Page 14: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/14.jpg)
P. Foglia 27
Nel 60060Nel 60060• Assunzioni nel timing per le cache
• Tempo per eseguire un branch
Costo senza predizioneCosto senza predizione Costo con predizione errataCosto con predizione errata
Per Per realreal--timetime, devo sempre considerare tale costo, devo sempre considerare tale costo
P. Foglia 28
conseguenzeconseguenze• Nell’adottare una filosofia pipelined, nei
microcontrollori si rinuncia spesso a quelle caratteristiche che rendono troppo variabile il comportamento del sistema– Oltretutto si abbassano i prezzi del dispositivo
• In alternativa, processori “spinti” sono “processori”
![Page 15: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/15.jpg)
P. Foglia 29
Difatti:Difatti:• Con l’architettura RCPU si costruiscono
microcontrollori– Es: famiglie MPC561 e MPC564
• Con l’architettura 60060 no– Va bene per applicazioni di automazione, ma
non è un microcontrollore nel senso stretto
• L’architettura CPU32 è una semplificazione dell’architettura 60060– Con essa si costruiscono i microcontrollori della
famiglia MC68F375
P. Foglia 30
Prezzi power Prezzi power PCPC--basedbased
![Page 16: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/16.jpg)
P. Foglia 31
Cosa contengonoCosa contengono
P. Foglia 32
MPC564 : 32 bit MPC564 : 32 bit PowerPCPowerPCMicrocontrollerMicrocontroller
• Precise exception model • Floating point• Extensive system development support• On-chip watchpoints and breakpoints• Background debug mode (BDM) • IEEE-ISTO 5001-1999 NEXUS Class 3 Debug Interface • True 5-V I/O • Two time processing units (TPU3) with eight Kbytes DPTRAM • 22-channel MIOS timer (MIOS14) • Two queued analog-to-digital converter modules (QADC64_A,
QADC64_B) providing a total of 32 analog channels• Three TouCAN modules (TOUCAN_A, TOUCAN_B, TOUCAN_C) • One queued serial module with
![Page 17: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/17.jpg)
P. Foglia 33
Prezzi MC68060Prezzi MC68060
P. Foglia 34
Cosa contengono: sono solo Cosa contengono: sono solo CPUCPU
![Page 18: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/18.jpg)
P. Foglia 35
LL’’architettura CPU32architettura CPU32• Derivata dalla famiglia 68000• Estesa a 32 bit• Implementazione CISC
P. Foglia 36
MC68F375 MC68F375 FeatureFeature• Esempio di microcontrollore basato sul core CPU32
• 32-bit 68000 family CPU with upward object code compatibility(CPU32)
• Virtual memory implementation• Improved exception handling for controller applications• External bus support• Parallel ports option on address and data bus in single chip modes
and par-tially expanded modes• Nine programmable chip select outputs
• System protection logic• System clock based on slow (~32 KHz) or Fast (~4 MHz) crystal
reference or external clock operation (2X) • Periodic interrupt timer, watchdog timer, clock monitor and bus
monitor
![Page 19: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/19.jpg)
P. Foglia 37
dispositividispositivi
P. Foglia 38
prezziprezzi
![Page 20: Lezione1 introduzione micro](https://reader038.fdocuments.in/reader038/viewer/2022102518/55a97ca41a28ab99668b45da/html5/thumbnails/20.jpg)
P. Foglia 39
La MMULa MMU• Anche la MMU viene eliminata, specie
nei controllori low-end
• Esempio:–Arm 7 per versione embedded - no MMU–Arm 7 per versione application - con
MMU–E cosi per ARM 9
P. Foglia 40
conseguenzeconseguenze• Set di istruzioni/architettura
– Poche dal punto di vista dell’utilizzatore• Interessano le prestazioni complessive• Possono avere conseguenze sulla densità del codice prodotto
– Importante per la quantità di memoria necessaria a contenere il programma
• Numero e tipi di dispositivi di I/O• Condizionano l’ambiente in cui il microcontrollore può inserirsi• Ma è possibile aggiungere componenti estenti
• Clock• A parità di architettura, condiziona
– Prestazioni– Consumo
• Numero di bit• Condiziona tipicamente:
– La dimensione della memoria indirizzabile– Le prestazioni– Il consumo di potenza– La densità del codice prodotto