Lezione1 introduzione micro
-
Upload
maurizio-di-paolo-emilio -
Category
Automotive
-
view
71 -
download
1
Transcript of Lezione1 introduzione micro
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”
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
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
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
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
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”
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
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
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
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
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
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
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ù)
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”
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
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
P. Foglia 33
Prezzi MC68060Prezzi MC68060
P. Foglia 34
Cosa contengono: sono solo Cosa contengono: sono solo CPUCPU
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
P. Foglia 37
dispositividispositivi
P. Foglia 38
prezziprezzi
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