1 / 24

Sistemi Embedded

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

kimama
Download Presentation

Sistemi Embedded

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemi Embedded A.A. 2008/2009

  2. 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.

  3. 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

  4. 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)

  5. 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

  6. 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.

  7. 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)

  8. 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)

  9. 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

  10. 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

  11. 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

  12. Dimensioni • Mobilità • Costi

  13. 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

  14. Microarchitecture design Problem __________________________________________________________________________________________________________________________________ Algorithm __________________________________________________________________________________________________________________________________ Program __________________________________________________________________________________________________________________________________ Instruction Set Architecture __________________________________________________________________________________________________________________________________ Microarchitecture __________________________________________________________________________________________________________________________________ Circuits __________________________________________________________________________________________________________________________________ Electrons

  15. 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

  16. Per chiarirci…

  17. Come valutare una architettura • L’architettura X è n volte più veloce dell’architettura Y

  18. 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

  19. 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

  20. 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

  21. Ancora executiontime • Se i programmi A e B non sono eseguiti lo stesso numero di volte è necessario fare una media pesata.

  22. 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

  23. 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

  24. 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

More Related