Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di...

24
Sistemi Embedded A.A. 2008/2009

Transcript of Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di...

Page 1: Sistemi Embedded A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo, Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico:

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:

• 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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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