SlideShare a Scribd company logo
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

More Related Content

What's hot

Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Majong DevJfu
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistema
Fulvio Corno
 
SysTick, Timer & Watchdog
SysTick, Timer & WatchdogSysTick, Timer & Watchdog
SysTick, Timer & Watchdog
Giovanni Panice
 
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Andrea Gulberti
 
Lezione InternetWorking: Switches e Funzionalità
Lezione InternetWorking: Switches e FunzionalitàLezione InternetWorking: Switches e Funzionalità
Lezione InternetWorking: Switches e Funzionalità
Luca Matteo Ruberto
 
Il plc
Il plcIl plc
Il plc
Gilda Tobia
 
ATEN - Gestire i server: sempre e ovunque
ATEN - Gestire i server: sempre e ovunqueATEN - Gestire i server: sempre e ovunque
ATEN - Gestire i server: sempre e ovunque
ATEN Infotech
 
Relazione Progetto cRIO
Relazione Progetto cRIORelazione Progetto cRIO
Relazione Progetto cRIO
Sebastiano Merlino (eTr)
 
Vicon net centralizzazione tvcc per i blocchi penitenziari
Vicon net   centralizzazione tvcc per i blocchi penitenziariVicon net   centralizzazione tvcc per i blocchi penitenziari
Vicon net centralizzazione tvcc per i blocchi penitenziari
Davide De Bella
 
Descrizione protocollo InterLINK e licenze firmware CAMILLO
Descrizione protocollo InterLINK e licenze firmware CAMILLODescrizione protocollo InterLINK e licenze firmware CAMILLO
Descrizione protocollo InterLINK e licenze firmware CAMILLO
iBLio
 

What's hot (12)

Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistema
 
Il pic 16 f84a
Il pic 16 f84aIl pic 16 f84a
Il pic 16 f84a
 
DHow2 - L4
DHow2 - L4DHow2 - L4
DHow2 - L4
 
SysTick, Timer & Watchdog
SysTick, Timer & WatchdogSysTick, Timer & Watchdog
SysTick, Timer & Watchdog
 
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
 
Lezione InternetWorking: Switches e Funzionalità
Lezione InternetWorking: Switches e FunzionalitàLezione InternetWorking: Switches e Funzionalità
Lezione InternetWorking: Switches e Funzionalità
 
Il plc
Il plcIl plc
Il plc
 
ATEN - Gestire i server: sempre e ovunque
ATEN - Gestire i server: sempre e ovunqueATEN - Gestire i server: sempre e ovunque
ATEN - Gestire i server: sempre e ovunque
 
Relazione Progetto cRIO
Relazione Progetto cRIORelazione Progetto cRIO
Relazione Progetto cRIO
 
Vicon net centralizzazione tvcc per i blocchi penitenziari
Vicon net   centralizzazione tvcc per i blocchi penitenziariVicon net   centralizzazione tvcc per i blocchi penitenziari
Vicon net centralizzazione tvcc per i blocchi penitenziari
 
Descrizione protocollo InterLINK e licenze firmware CAMILLO
Descrizione protocollo InterLINK e licenze firmware CAMILLODescrizione protocollo InterLINK e licenze firmware CAMILLO
Descrizione protocollo InterLINK e licenze firmware CAMILLO
 

Viewers also liked

Direct selling news
Direct selling newsDirect selling news
Direct selling news
Daniel Sebastian
 
Jeunesse the science of youthful aging
Jeunesse the science of youthful agingJeunesse the science of youthful aging
Jeunesse the science of youthful aging
Daniel Sebastian
 
Graduates2013
Graduates2013Graduates2013
Graduates2013
MosaicPrincipal
 
The most influential women in direct selling
The most influential women in direct sellingThe most influential women in direct selling
The most influential women in direct selling
Daniel Sebastian
 
Localization Realization
Localization RealizationLocalization Realization
Localization Realization
Aaron Douglas
 

Viewers also liked (7)

Edit link website support
Edit link website supportEdit link website support
Edit link website support
 
Penjelasan singkat
Penjelasan singkatPenjelasan singkat
Penjelasan singkat
 
Direct selling news
Direct selling newsDirect selling news
Direct selling news
 
Jeunesse the science of youthful aging
Jeunesse the science of youthful agingJeunesse the science of youthful aging
Jeunesse the science of youthful aging
 
Graduates2013
Graduates2013Graduates2013
Graduates2013
 
The most influential women in direct selling
The most influential women in direct sellingThe most influential women in direct selling
The most influential women in direct selling
 
Localization Realization
Localization RealizationLocalization Realization
Localization Realization
 

Similar to Lezione1 introduzione micro

Architettura dei calcolatori
Architettura dei calcolatoriArchitettura dei calcolatori
Architettura dei calcolatori
kaliaragorn
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
orestJump
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embeddedDaniele Costarella
 
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
ssuser62bca5
 
Architettura degli Elaboratori
Architettura degli ElaboratoriArchitettura degli Elaboratori
Architettura degli Elaboratorisviciu
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
HardwarePcJenny
 
Architettura degli elaboratori
Architettura degli elaboratoriArchitettura degli elaboratori
Architettura degli elaboratoriservetti
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
samu97
 
Lezioni 2009
Lezioni 2009Lezioni 2009
Lezioni 2009
Giuseppe Levi
 
Thread
ThreadThread
Realizzazione di un modello di router ottico in ambiente open source
Realizzazione di un modello di router ottico in ambiente open sourceRealizzazione di un modello di router ottico in ambiente open source
Realizzazione di un modello di router ottico in ambiente open source
Raul Cafini
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
Par-Tec S.p.A.
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per Radioamatori
Francesco Cozzi
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
Gianni Ascione
 
Tesi
TesiTesi
A query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesA query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesEnrico Cambiaso
 
Thread
ThreadThread
Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
abacus2010
 

Similar to Lezione1 introduzione micro (20)

Architettura dei calcolatori
Architettura dei calcolatoriArchitettura dei calcolatori
Architettura dei calcolatori
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embedded
 
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
 
Architettura degli Elaboratori
Architettura degli ElaboratoriArchitettura degli Elaboratori
Architettura degli Elaboratori
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
 
Architettura degli elaboratori
Architettura degli elaboratoriArchitettura degli elaboratori
Architettura degli elaboratori
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
 
3D-DRESD RABAN
3D-DRESD RABAN3D-DRESD RABAN
3D-DRESD RABAN
 
Lezioni 2009
Lezioni 2009Lezioni 2009
Lezioni 2009
 
Thread
ThreadThread
Thread
 
Realizzazione di un modello di router ottico in ambiente open source
Realizzazione di un modello di router ottico in ambiente open sourceRealizzazione di un modello di router ottico in ambiente open source
Realizzazione di un modello di router ottico in ambiente open source
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per Radioamatori
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
Tesi
TesiTesi
Tesi
 
A query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesA query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architectures
 
Thread
ThreadThread
Thread
 
Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
 
Cpu abacus
Cpu abacusCpu abacus
Cpu abacus
 

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 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
  • 3. 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
  • 4. 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
  • 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 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”
  • 7. 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
  • 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 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
  • 10. 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
  • 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’’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
  • 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 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”
  • 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 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
  • 17. P. Foglia 33 Prezzi MC68060Prezzi MC68060 P. Foglia 34 Cosa contengono: sono soloCosa contengono: sono solo CPUCPU
  • 18. 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
  • 19. P. Foglia 37 dispositividispositivi P. Foglia 38 prezziprezzi
  • 20. 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