sistemi embedded
Download
Skip this Video
Download Presentation
Sistemi Embedded

Loading in 2 Seconds...

play fullscreen
1 / 24

Sistemi Embedded - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Sistemi Embedded' - kimama


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sistemi embedded

Sistemi Embedded

A.A. 2008/2009

slide2

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
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
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
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
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
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 se1
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
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
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
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
Dimensioni
  • Mobilità
  • Costi
l arte dell embedded design
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
Microarchitecture design

Problem

__________________________________________________________________________________________________________________________________

Algorithm

__________________________________________________________________________________________________________________________________

Program

__________________________________________________________________________________________________________________________________

Instruction Set Architecture

__________________________________________________________________________________________________________________________________

Microarchitecture

__________________________________________________________________________________________________________________________________

Circuits

__________________________________________________________________________________________________________________________________

Electrons

architetture di processori
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
Come valutare una architettura
  • L’architettura X è n volte più veloce dell’architettura Y
come valutare una architettura1
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
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
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 execution time
Ancora executiontime
  • Se i programmi A e B non sono eseguiti lo stesso numero di volte è necessario fare una media pesata.
cpu performance equation
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 equation1
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 equation2
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

ad