Sistemi embedded
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Sistemi Embedded PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

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

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


Sistemi embedded

  • 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


Per chiarirci

Per chiarirci…


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


  • Login