sistemi embedded a.a. 2008/2009. sistemi embedded ing. francesca palumbo, ing. paolo meloni corso di...
TRANSCRIPT
![Page 1: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/1.jpg)
Sistemi Embedded
A.A. 2008/2009
![Page 2: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/2.jpg)
• Sistemi EmbeddedIng. Francesca Palumbo, Ing. Paolo MeloniCorso di laurea in Ingegneria ElettronicaAnno Accademico: 2008-09Ore di lezione: 40 ore (ca)Ore di esercitazione: 20 ore (ca)Esame: scritto
• Non sono strettamente necessarie basi solide di conoscenze relative al verilog, ma è consigliabile aver seguito propedeuticamente SDP.
![Page 3: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/3.jpg)
Programma• Introduzione ai Sistemi Embedded • Metriche di valutazione di un processore • Richiami sul MIPS, esempi di codifica Assembly per il MIPS, cenni sul
Framework di simulazione che verrà usato per le esercitazioni • Gestione della Memoria, gestione delle chiamate a funzione, debug di un
sistema embedded • Gestione delle periferiche di sistema: Polling e Memory Mapping • Classificazione di Flynn, concetti di parallelismo applicato ai processori
(ILP, DLPe TLP), richiami sul Pipelining • Processori Superscalari, processori VLIW, cenni sulle architetture Tile-
Based, esempi di Chip Multi-Processor, architetture per il DSP • Gerarchia di Memoria, Cache • Multiprocessors System On Chip: introduzione, modelli di memoria, cache
coherency, sincronizzazione, modello di programmazione, esempi • Soluzioni classiche per l’interconnessione: AMBA • Soluzioni alternative per l’interconnessione: Network on Chip
![Page 4: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/4.jpg)
Le ultime parole famose…• "I think there is a world market for about five computers" —
Remark attributed to Thomas J. Watson (Chairman of IBM) 1943
• Oggi…
• “If you round off the fractions, embedded systems consume 100% of the worldwide production of microprocessors” — Jim Turley (Computer Industry Analyst)
![Page 5: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/5.jpg)
Definisci un sistema embedded…• Sistemi embedded (incapsulati, dedicati):
sistemi elettronici a microprocessore progettati appositamente per una determinata applicazione, con una piattaforma hardware ad hoc, integrati nel sistema che controllano e in grado di gestirne le funzionalità.
• In pratica, tutto ciò che non è general purpose GP. Viene affrontato un solo campo di applicazione e si cerca di ottimizzare l’architettura di calcolo per quel determinato campo
![Page 6: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/6.jpg)
Attenzione!!!• Il confine tra GP e embedded non è così marcato:
– I GPP costano sempre meno– Anche i campi di applicazione specifici richiedono capacità
computazionali rilevanti– Sempre maggiore richiesta di mobilità (Come
classifichiamo un palmare?)
• Lo studio di architetture per i sistemi embedded e lo studio delle architetture “tout-court” si compenetrano decisamente.
![Page 7: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/7.jpg)
Come classificare i SE?• Per tipo di processing engine
– Computational micros – Embedded general purpose micros (ARM cores)– Digital signal processors (TI, Motorola)– Microcontrollers
• Per area di applicazione– Image processing, consumer market (stampanti, audio,
video, macchine fotografiche, home entertainment)– Communication market (telefonia, data network)– Automotive (controlli di sicurezza, controllo motore,
navigazione, controllo impianto frenante)
![Page 8: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/8.jpg)
Come classificare i SE?• Per tipo di funzione e di carico di lavoro
– Funzione di controllo (funzionalità tipica dei SE)– Funzione di switching e routing (tipicamente nel campo
del networking, grandi moli di dati)– Media Processing (stressa le capacità computazionali del
sistema)
![Page 9: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/9.jpg)
Perché sistemi embedded• Il mercato moderno pone dei limiti in termini di
performance. Applicazioni sempre più complesse e sempre maggiore portabilità.
• L’approccio embedded permette di fornire le performance richieste gestendo in maniera ottimale– Costi– Consumo di potenza e efficienza energetica– Dimensioni
![Page 10: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/10.jpg)
Costi• Es.
– Prezzo al cliente $199– Costo di costruzione $100– Costo componenti elettronici $30-50 – poco budget per il
processore nonostante i miglioramenti della tecnologia
– SoC Design– Platform Based Design– Necessità di toolchain efficienti
![Page 11: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/11.jpg)
Power and Energy• Il consumo di potenza di un dispositivo influisce
– sulle modalità di alimentazione del dispositivo stesso– Sulle modalità di dissipazione termica
e dunque impatta fortemente sui costi del dispositivo
• L’efficienza energetica influisce sul battery life-time
![Page 12: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/12.jpg)
Dimensioni• Mobilità• Costi
![Page 13: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/13.jpg)
L’arte dell’embedded design• Esistono molti gradi di libertà esposti al progettista• Scegliere una soluzione che soddisfi i requisiti richiesti è
necessario per l’utilità del prodotto• Scegliere la soluzione ottimale dal punto di vista dei costi
hardware è necessario per imporsi sul mercato
• Fare embedded design è una disciplina complicata ed affascinante “Architecture Design is the Science of trade-offs” (Yale Patt, INTEL Pentium branch predictor designer)
• TIME TO MARKET – CAD Tools
![Page 14: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/14.jpg)
Microarchitecture design
Problem__________________________________________________________________________________________________________________________________
Algorithm__________________________________________________________________________________________________________________________________
Program__________________________________________________________________________________________________________________________________
Instruction Set Architecture__________________________________________________________________________________________________________________________________
Microarchitecture__________________________________________________________________________________________________________________________________
Circuits__________________________________________________________________________________________________________________________________
Electrons
![Page 15: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/15.jpg)
Architetture di processori
IL PROCESSORE È UNA MACCHINA SEQUENZIALE CHE ESEGUEDELLE ISTRUZIONI RESIDENTI IN MEMORIA ALLO SCOPO DI
MANIPOLARE DEI DATI A LORO VOLTA RESIDENTI IN MEMORIA.
L’INSTRUCTION SET ARCHITECTURE (ISA) SPECIFICA L’INSIEME DELLE CARATTERISTICHE DEL PROCESSORE VISIBILI AL
PROGRAMMATORE. ESSO DEFINISCE L’INTERFACCIA TRA HARDWARE E SOFTWARE.
L'ISA SPECIFICA LA FUNZIONALITA' DEL PROCESSORE IN TERMINI DI:• DATI GESTITI• REGISTRI INTERNI DESTINATI A CONTENERE I DATI DA MANIPOLARE• ISTRUZIONI CHE PRELEVANO DA MEMORIA E MANIPOLANO QUESTI
DATI• ISTRUZIONI DI "SALTO"• MODALITA' DI FUNZIONAMENTO SPECIALI• ISTRUZIONI SPECIALI
![Page 16: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/16.jpg)
Per chiarirci…
![Page 17: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/17.jpg)
Come valutare una architettura• L’architettura X è n volte più veloce dell’architettura
Y
![Page 18: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/18.jpg)
Come valutare una architettura• Execution time
– Wall-clock time (the latency to complete a task)– Cpu time (the time the CPU is computing)
• User CPU time • System CPU time
• Benchmarks– Applicazioni reali– Applicazioni reali modificate– Kernel– Toy Benchmarks– Synthetic Benchmarks
![Page 19: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/19.jpg)
Si può sbagliare??
• A è 10 volte più veloce di B per il programma P1• B è 10 volte più veloce di A per il programma P2• A è 20 volte più veloce di B per il programma P1• C è 50 volte più veloce di A per il programma P2• B è 2 volte più veloce di C per il programma P1• C è 5 volte più veloce di B per il programma P2
![Page 20: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/20.jpg)
Si può usare il tempo totale??
• B è 9,1 volte più veloce di A per i programmi P1 e P2• C è 25 volte più veloce di A per i programmi P1 e P2• C è 2,75 volte più veloce di A per i programmi P1 e P2
• Equivale ad utilizzare la media aritmetica dei tempi
![Page 21: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/21.jpg)
Ancora execution time• Se i programmi A e B non sono eseguiti lo stesso
numero di volte è necessario fare una media pesata.
![Page 22: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/22.jpg)
CPU Performance Equation• Permette di considerare le singole componenti che
partecipano a determinare l’execution time• Ogni computer ha un segnale di sincronizzazione (clock)• L’execution time può essere definito in base ad esso
o alternativamente
![Page 23: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/23.jpg)
CPU Performance Equation• Definiamo inoltre instruction count (IC) il numero di
istruzioni eseguite durante un programma• Possiamo, conoscendo IC e il numero di clock cycles,
calcolare la grandezza CPI (clocks per instruction) o la sua grandezza inversa IPC come
• E dunque Clock cycles= IC x CPI
![Page 24: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:](https://reader036.vdocuments.net/reader036/viewer/2022062319/5542eb4a497959361e8b6c8e/html5/thumbnails/24.jpg)
CPU Performance Equation• Sostituendo Clock cycles= IC x CPI nella espressione
del tempo di esecuzione troviamo che il tempo di esecuzione è dipendente allo stesso modo da tre caratteristiche
Hardware
technology and Optimization
ISA and compiler
Microarchitecture organization and
ISA