P. Foglia 1
MicrocontrolloriMicrocontrollori
P. FogliaP. Foglia
P. Foglia 2
overviewoverview
• 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”
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 general
purpose
• 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 suVantaggi 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
CaratteristicheCaratteristiche architetturaliarchitetturali richieste ad unrichieste 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
scheda
codice
P. Foglia 9
CaratterizzazioneCaratterizzazione
deidei
microcontrollorimicrocontrollori
P. FogliaP. Foglia
P. Foglia 10
Caratteristiche delCaratteristiche del processoprocesso
costruttivocostruttivo
• Sono generalmente realizzati con un processo
HCMOS statico, che consente al clock di essere
variato da DC fino alla massima velocità senza
controindicazioni
– Ciò non è vero per i microprocessori general purpose,
per cui un clock minimo è richiesto
• Ciò consente di modulare il consumo di potenza
alle 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 alcuniEsempi 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: CISCCaratteristiche: 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
EsempioEsempio PowerPower--PCPC vsvs
MotorolaMotorola 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’’architetturaarchitettura 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
CaratteristicheCaratteristiche MotorolaMotorola
6806068060
Implementazione superscalare del 68000 che è CISCImplementazione superscalare del 68000 che è CISC
Doppia cacheDoppia cache
MMU su alcuneMMU su alcune
Architettura 32 bitArchitettura 32 bit
FpuFpu solo in alcunesolo in alcune
versioniversioni
P. Foglia 20
Architettura 68060Architettura 68060
3 unità di esecuzione: 2 intere3 unità di esecuzione: 2 intere –– 11 fpfp
P. Foglia 21
notenote
• Il 68000 era a 16 bit
P. Foglia 22
LL’’implementazione Power PCimplementazione 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 tempoEsempio: il calcolo del tempo
di esecuzione nel RCPUdi esecuzione nel RCPU
• Un ciclo
P. Foglia 25
Esempio: lEsempio: l’’effetto dellaeffetto della branchbranch predictionprediction
Stallo per aspettare ilStallo per aspettare il branchbranch
Esecuzione delEsecuzione del branchbranch
FecthFecth nuova istruzionenuova istruzione
La previsione è correttaLa previsione è corretta
L’istruzioneL’istruzione
Va inVa in
esecuzioneesecuzione
P. Foglia 26
E se laE se la predictionprediction nonnon èè
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
PerPer 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 powerPrezzi power PCPC--basedbased
P. Foglia 31
Cosa contengonoCosa contengono
P. Foglia 32
MPC564 : 32 bitMPC564 : 32 bit PowerPCPowerPC
MicrocontrollerMicrocontroller
• 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 soloCosa contengono: sono solo
CPUCPU
P. Foglia 35
LL’’architettura CPU32architettura CPU32
• Derivata dalla famiglia 68000
• Estesa a 32 bit
• Implementazione CISC
P. Foglia 36
MC68F375MC68F375 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

Lezione1 introduzione micro

  • 1.
    P. Foglia 1 MicrocontrolloriMicrocontrollori P.FogliaP. Foglia P. Foglia 2 overviewoverview • 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”
  • 2.
    P. Foglia 3 CosasonoCosa 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 general purpose • 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
  • 3.
    P. Foglia 5 Vantaggidelle periferiche suVantaggi 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
  • 4.
    P. Foglia 7 CaratteristicheCaratteristichearchitetturaliarchitetturali richieste ad unrichieste 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 scheda codice
  • 5.
    P. Foglia 9 CaratterizzazioneCaratterizzazione deidei microcontrollorimicrocontrollori P.FogliaP. Foglia P. Foglia 10 Caratteristiche delCaratteristiche del processoprocesso costruttivocostruttivo • Sono generalmente realizzati con un processo HCMOS statico, che consente al clock di essere variato da DC fino alla massima velocità senza controindicazioni – Ciò non è vero per i microprocessori general purpose, per cui un clock minimo è richiesto • Ciò consente di modulare il consumo di potenza alle esigenze di prestazioni dell’applicazione – La potenza dinamica è legata al clock del sistema – Da Mel Tsai
  • 6.
    P. Foglia 11 CaratteristichegeneraliCaratteristiche 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”
  • 7.
    P. Foglia 13 Esempiper alcuniEsempi 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
  • 8.
    P. Foglia 15 Caratteristiche:CISCCaratteristiche: 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
  • 9.
    P. Foglia 17 EsempioEsempioPowerPower--PCPC vsvs MotorolaMotorola 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’’architetturaarchitettura PowerPCPowerPC • È una architettura di riferimento – Set di istruzioni RISC – 32-64 bit – Cache L1-unificata o splitted – L’implementazione è lasciata ai costruttori
  • 10.
    P. Foglia 19 CaratteristicheCaratteristicheMotorolaMotorola 6806068060 Implementazione superscalare del 68000 che è CISCImplementazione superscalare del 68000 che è CISC Doppia cacheDoppia cache MMU su alcuneMMU su alcune Architettura 32 bitArchitettura 32 bit FpuFpu solo in alcunesolo in alcune versioniversioni P. Foglia 20 Architettura 68060Architettura 68060 3 unità di esecuzione: 2 intere3 unità di esecuzione: 2 intere –– 11 fpfp
  • 11.
    P. Foglia 21 notenote •Il 68000 era a 16 bit P. Foglia 22 LL’’implementazione Power PCimplementazione 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
  • 12.
    P. Foglia 23 LL’’effettodella 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 tempoEsempio: il calcolo del tempo di esecuzione nel RCPUdi esecuzione nel RCPU • Un ciclo
  • 13.
    P. Foglia 25 Esempio:lEsempio: l’’effetto dellaeffetto della branchbranch predictionprediction Stallo per aspettare ilStallo per aspettare il branchbranch Esecuzione delEsecuzione del branchbranch FecthFecth nuova istruzionenuova istruzione La previsione è correttaLa previsione è corretta L’istruzioneL’istruzione Va inVa in esecuzioneesecuzione P. Foglia 26 E se laE se la predictionprediction nonnon èè correttacorretta • Occorre svuotare la pipeline e rieffettuare il fecth • Tale tempo non è predicibile, ma deve essere stimato (un ciclo di clock in più)
  • 14.
    P. Foglia 27 Nel60060Nel 60060 • Assunzioni nel timing per le cache • Tempo per eseguire un branch Costo senza predizioneCosto senza predizione Costo con predizione errataCosto con predizione errata PerPer 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”
  • 15.
    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 powerPrezzi power PCPC--basedbased
  • 16.
    P. Foglia 31 CosacontengonoCosa contengono P. Foglia 32 MPC564 : 32 bitMPC564 : 32 bit PowerPCPowerPC MicrocontrollerMicrocontroller • 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
  • 17.
    P. Foglia 33 PrezziMC68060Prezzi MC68060 P. Foglia 34 Cosa contengono: sono soloCosa contengono: sono solo CPUCPU
  • 18.
    P. Foglia 35 LL’’architetturaCPU32architettura CPU32 • Derivata dalla famiglia 68000 • Estesa a 32 bit • Implementazione CISC P. Foglia 36 MC68F375MC68F375 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
  • 19.
  • 20.
    P. Foglia 39 LaMMULa 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