20
P. Foglia 1 Microcontrollori Microcontrollori P. Foglia P. Foglia P. Foglia 2 overview overview • Da Microcontrollers.com: “I processori per PC costituiscono meno dell’1% del mercato mondiale dei microprocessori”. – “I processori per applicazioni embedded (microcontrollori) costituiscono circa il 99% del mercato”

Lezione1 introduzione micro

Embed Size (px)

Citation preview

Page 1: 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”

Maurizio
Rectangle
Maurizio
Rectangle
Maurizio
Rectangle
Page 2: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 3: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 4: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Text Box
scheda
Maurizio
Text Box
codice
Maurizio
Rectangle
Page 5: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Maurizio
Rectangle
Maurizio
Rectangle
Page 6: Lezione1 introduzione micro

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”

Maurizio
Rectangle
Maurizio
Rectangle
Page 7: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 8: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 9: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 10: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 11: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 12: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 13: Lezione1 introduzione micro

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ù)

Maurizio
Rectangle
Maurizio
Rectangle
Page 14: Lezione1 introduzione micro

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”

Maurizio
Rectangle
Maurizio
Rectangle
Page 15: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 16: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle
Page 17: Lezione1 introduzione micro

P. Foglia 33

Prezzi MC68060Prezzi MC68060

P. Foglia 34

Cosa contengono: sono solo Cosa contengono: sono solo CPUCPU

Maurizio
Rectangle
Page 18: Lezione1 introduzione micro

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

Maurizio
Rectangle
Page 19: Lezione1 introduzione micro

P. Foglia 37

dispositividispositivi

P. Foglia 38

prezziprezzi

Maurizio
Rectangle
Maurizio
Rectangle
Page 20: Lezione1 introduzione micro

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

Maurizio
Rectangle
Maurizio
Rectangle