260 likes | 450 Views
Sistemi Embedded. A.A. 2008/2009. Sistemi Embedded Ing. Francesca Palumbo , Ing. Paolo Meloni Corso di laurea in Ingegneria Elettronica Anno Accademico: 2008-09 Ore di lezione: 40 ore (ca) Ore di esercitazione: 20 ore (ca) Esame: scritto
E N D
Sistemi Embedded A.A. 2008/2009
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.
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 MemoryMapping • 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
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… • “Ifyou round off the fractions, embeddedsystemsconsume 100% of the worldwide production ofmicroprocessors” — Jim Turley (Computer Industry Analyst)
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
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.
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)
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)
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
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
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
Dimensioni • Mobilità • Costi
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 oftrade-offs” (Yale Patt, INTEL Pentium branchpredictor designer) • TIME TO MARKET – CAD Tools
Microarchitecture design Problem __________________________________________________________________________________________________________________________________ Algorithm __________________________________________________________________________________________________________________________________ Program __________________________________________________________________________________________________________________________________ Instruction Set Architecture __________________________________________________________________________________________________________________________________ Microarchitecture __________________________________________________________________________________________________________________________________ Circuits __________________________________________________________________________________________________________________________________ Electrons
Architetture di processori IL PROCESSORE È UNA MACCHINA SEQUENZIALE CHE ESEGUE DELLE 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
Come valutare una architettura • L’architettura X è n volte più veloce dell’architettura Y
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
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
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
Ancora executiontime • Se i programmi A e B non sono eseguiti lo stesso numero di volte è necessario fare una media pesata.
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
CPU Performance Equation • Definiamo inoltre instructioncount (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
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 ISA and compiler Hardware technology and Optimization Microarchitecture organization and ISA