04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo...

57
Embedded Systems Embedded Systems Embedded Systems Embedded Systems Introduzione ai Sistemi di Elaborazione Introduzione ai Sistemi di Elaborazione Cenni all’Hardware/Software Codesign Cenni all’Hardware/Software Codesign Lecturer: Lecturer: Prof. William Fornaciari Prof. William Fornaciari P lit i di Mil DEI P lit i di Mil DEI P olitecnico di Milano, DEI P olitecnico di Milano, DEI [email protected] [email protected] www.elet.polimi.it/people/fornacia www.elet.polimi.it/people/fornacia 2004 2004

Transcript of 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo...

Page 1: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Embedded SystemsEmbedded SystemsEmbedded SystemsEmbedded Systems

Introduzione ai Sistemi di ElaborazioneIntroduzione ai Sistemi di ElaborazioneCenni all’Hardware/Software CodesignCenni all’Hardware/Software Codesign

Lecturer:Lecturer:Prof. William FornaciariProf. William Fornaciari

P lit i di Mil DEIP lit i di Mil DEIPolitecnico di Milano, DEIPolitecnico di Milano, [email protected]@elet.polimi.it

www.elet.polimi.it/people/fornaciawww.elet.polimi.it/people/fornacia

20042004

Page 2: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

OutlineOutlineOutlineOutline

Introduzione ai sistemi di elaborazioneIntroduzione ai sistemi di elaborazioneHardware/Software Codesign (introduzione)

– Generalità– Generalità– Architetture di riferimento

Embedded SystemsEmbedded Systems 20042004-- 22 --

Page 3: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Sistema digitaleSistema digitale– Sistema eterogeneo complesso costituito da una piattaforma

hardware (microprocessori, componenti hardware programmabili (es. FPGA) o dedicati (es. ASIC)), livelli applicativi software, interfacce, trasduttori e attuatori.

Classificazione dei sistemi digitaliClassificazione dei sistemi digitaliDominio di Applicazione

ComputerT l

Dominio di ApplicazioneComputerT l

Tipo di sistemaSistemi General-Purpose

Tipo di sistemaSistemi General-PurposeTelecom

AutomotiveTelecom

Automotive

Sistemi General PurposeSistemi Embedded

Sistemi General PurposeSistemi Embedded

ProgrammabilitàProgrammabilità ImplementazioneImplementazioneProgrammabilitàSezione software

A livello di applicazione e a livello di istruzioneSezione hardware

ProgrammabilitàSezione software

A livello di applicazione e a livello di istruzioneSezione hardware

pTecnologia

Stile di progettoLivello di integrazione

pTecnologia

Stile di progettoLivello di integrazione

Embedded SystemsEmbedded Systems 20042004-- 33 --

gg

Page 4: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Tipo di sistema e dominio di applicazioneTipo di sistema e dominio di applicazione– Il tipo di sistema, il dominio di applicazione e la dimensione del

sistema sono strettamente correlati.– In generale, i sistemi possono essere:

• General-purpose.– Personal computer Workstation e MainframePersonal computer, Workstation e Mainframe

• Embedded (dedicati) e sistemi di controllo.– Applicazioni per l’Automotive e l’aviazione

C t ll di li i i d ti h– Controllo di applicazioni domestiche– Controllo di impianti industriali– Robot

Embedded SystemsEmbedded Systems 20042004-- 44 --

Page 5: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

ProgrammabilitàProgrammabilità– Sistemi General-purpose:

• L’utente finale e l’operatore hanno accesso a tutte le componenti software del sistemasoftware del sistema.

– Sistemi Embedded e di controllo:• Il produttore programma il sistema; l’utente finale può intervenire

su una sezione molto limitata della componente softwaresu una sezione molto limitata della componente software.– Sezione software

• A livello di applicazione• A livello di istruzione (sia inter-istruzione sia intra-istruzione)

– Programmi – Architettura dell’insieme delle Istruzioni (ISA)

– Sezione hardware• Riconfigurabilità (tecnologia field-programmable)

Embedded SystemsEmbedded Systems 20042004-- 55 --

Page 6: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

ImplementazioneImplementazione– Tecnologia

• CMOS, BiCMOS, GaAs, …

– Stile di progetto• Full-custom

Semi custom• Semi-custom• PLD e FPGA

– Modalità operative• Circuiti digitali sincroni• Circuiti digitali asincroni

Circuiti analogico/digitali• Circuiti analogico/digitali

Embedded SystemsEmbedded Systems 20042004-- 66 --

Page 7: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Problemi di progetto dei sistemi digitali (esempi)Problemi di progetto dei sistemi digitali (esempi)– Problemi di progetto di Sistemi General-Purpose

• Progetto della architettura del processore e del corrispondente compilatorecompilatore

– Insieme delle istruzioni (ISA)– pipeline

» Unità hardware di controllo della pipeline» Unità hardware di controllo della pipeline• Dimensionamento e controllo della cache

– Scelta dei parametri e messa a punto• Supporto per il progetto di sistemi multiprocessore• Supporto per il progetto di sistemi multiprocessore• Inoltre

– I compilatori devono essere progettati contemporaneamente allo sviluppo dell’architettura hardware.pp

– Sono richieste applicazioni software per verificare le prestazioni dell’hardware (Co-simulazione hardware e software).

Embedded SystemsEmbedded Systems 20042004-- 77 --

Page 8: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

– Problemi di progetto di Sistemi EmbeddedProblemi di progetto di Sistemi Embedded• Sistemi dedicati per la computazione ed il controllo

– ReattiviIl sistema risponde agli stimoli prodotti dall’ambiente» Il sistema risponde agli stimoli prodotti dall’ambiente

– Real-time» Vincoli temporali (hard e soft) sulla evoluzione dei task

P di i i h d f d di h i i • Progetto di sezioni hardware e software dedicate che interagiscono fra loro

– Hardware» PLD-FPGA-ASIC, ASIP, DSP...

– Software» Applicativi» Sistemi operativi Special-purpose» Driver per dispositivi periferici.

Embedded SystemsEmbedded Systems 20042004-- 88 --

Page 9: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

In generale gli obiettivi nella realizzazione dei sistemi di In generale, gli obiettivi nella realizzazione dei sistemi di elaborazione nel rispetto dei vincoli sono:

– Massimizzare le prestazioni del sistemap• Velocità, consumo di potenza (energia), affidabilità…

– Ridurre i costiRid l ti d li l l di i• Ridurre le parti da realizzare e la loro dimensione

• Estendere il tempo di vita dei componenti hardware utilizzando elementi riprogrammabili

• Facilitare il debugging e il testing a livello di sistema

Embedded SystemsEmbedded Systems 20042004-- 99 --

Page 10: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Tendenze nella realizzazione dei sistemiTendenze nella realizzazione dei sistemi– Aumentare la complessità delle applicazioni anche per prodotti standard

con ampio volume di produzioneEreditare delle funzionalità facilitando la crescita del prodotto• Ereditare delle funzionalità facilitando la crescita del prodotto

– Estendere in modo semplice le capacità del sistema

• Sottostare a requisiti di flessibilitàMiscelare differenti tecnologie e tipi di processori• Miscelare differenti tecnologie e tipi di processori

– Realizzare sistemi sempre più complessi• Utilizzare differenti tecnologie, tipi di processori e stili di progetto

P d i t i di i l hi (S t hi ) bi d • Produrre sistemi su di un singolo chip (System-on-a-chip) combinando componenti provenienti da differenti sorgenti (IP market)

– Sottostare ad un ampio insieme di vincoli e direttived l d – Ridurre e sovrapporre cicli di progetto• Ridurre il Time-to-market abbreviando le fasi di progetto e simulazione

Embedded SystemsEmbedded Systems 20042004-- 1010 --

Page 11: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

System-on-a-chipSystem-on-a-chip– Possibile implementazione

DSPCodice

AssemblyRTOS

Processi di controllo

Processi di interfaccia utente

Microcontrollore(GPP ASIP)DSP

interfaccia utente

(GPP, ASIP)

Sistema di interconnessione

Attuatori

Sensori

ADCDAC

FPGAASIC, IPsSensori

Embedded SystemsEmbedded Systems 20042004-- 1111 --

Page 12: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Flusso di progetto Id tifi i hit ttFlusso di progetto Identificazione architettura

Descrizione VHDL RTLSimulazione Pre Sintesi

Front EndSintesiLibrerie

Front End

Back End

VincoliAnalisi Temporale Statica

V tt i Back End

Tape Out

Analisi Temporale DinamicaVettori di test

DFT ATPGDFT e ATPG

Simulazione Post Sintesi

Embedded SystemsEmbedded Systems 20042004-- 1212 --

Page 13: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Id tifi i hit ttIdentificazione architettura

L’identificazione della architettura è una attività creativa basata sulla esperienza e sensibilità del creativa basata sulla esperienza e sensibilità del progettista.

– Il progettista deve decidere l’architettura obiettivo che soddisfa le specifiche desiderate.

Nel caso di progetti complessi le architetture possono id tifi t l d i l i i t i essere identificate svolgendo simulazioni estensive

considerando differenti modelli di architettura.

Embedded SystemsEmbedded Systems 20042004-- 1313 --

Page 14: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

Nella realizzazione dei sistemi digitali complessi:Nella realizzazione dei sistemi digitali complessi:– gli obiettivi possono essere perseguiti identificando delle

soluzioni che siano un buon bilanciamento tra le componenti hardware e software;

– gli obiettivi possono essere raggiunti disponendo di:Opportuni formalismi di descrizione del sistema che supportino • Opportuni formalismi di descrizione del sistema che supportino differenti aspetti e siano indipendenti dal dominio implementativo (hardware e software)Nuovi strumenti di progetto automatico (semi automatico) che • Nuovi strumenti di progetto automatico (semi-automatico) che consentano di identificare e sfruttare la sinergia tra componenti hardware e software attraverso una loro realizzazione concorrente.

Embedded SystemsEmbedded Systems 20042004-- 1414 --

Page 15: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--designdesignHardware/Software CoHardware/Software Co--designdesign

GeneralitàGeneralità

20042004

Page 16: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

L’Hardware/software Codesign è una metodologia di L Hardware/software Codesign è una metodologia di progetto per sistemi costituiti da componenti sia hardware sia software: 1. Analisi della specifica di sistema per l’identificazione delle

componenti hardware e software;V l t i d ll lt ti di tt2. Valutazione delle alternative di progetto.

Hw/Sw Codesign Flusso di progetto Classico

HW SW HW SW

Embedded SystemsEmbedded Systems 20042004-- 1616 --

Page 17: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Obiettivi dell’Hardware/software CodesignObiettivi dell Hardware/software Codesign– Ottimizzare il processo di progetto

• Aumentare la produttività riducendo il tempo di progetto del sistema

– Facilitare il riuso di componenti hardware e software

• Fornire un ambiente integrato per la sintesi e la validazione delle g psezioni hardware e software

– Consentire la realizzazione di progetti qualitativamente miglioriEsplorare differenti alternative di progetto nello spazio definito • Esplorare differenti alternative di progetto nello spazio definito dalla architettura

Embedded SystemsEmbedded Systems 20042004-- 1717 --

Page 18: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Passi del flusso di CodesignPassi del flusso di Codesign– co-specifica (co-modellazione)– co-verifica (co-simulazione)( )– Esplorazione dello spazio di progetto e co-sintesi– Sintesi delle interfacce

Co- specifica

E l i d ll

Co-Simulazione

Esplorazione delloSpazio di Progetto

Co-Sintesi

SW HWInterfacce

Embedded SystemsEmbedded Systems 20042004-- 1818 --

Page 19: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Osservazioni:Osservazioni:– Progettazione concorrente di sezioni hardware e software di

sistemi parzialmente specificati o con specifiche variabili.– Strette finestre di time-to-market richiedono un processo di

progetto first-time-rightL’identificazione tempestiva di errori sistematici di progetto• L identificazione tempestiva di errori sistematici di progetto

• Prerequisiti: stimatori affidabili e progettisti esperti

– Aumento della produttività attraverso il riuso di componenti e funzioni

• Richiesta una libreria di funzioni e componenti• Problema: migrazione di funzioni tra differenti tecnologie e tra Problema: migrazione di funzioni tra differenti tecnologie e tra

hardware e software.

Embedded SystemsEmbedded Systems 20042004-- 1919 --

Page 20: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Flusso di progettoFlusso di progettoSistema Livelli di astrazione

ArchitetturaleModulo

LogicoBlocco

Punto di vistaComportamentale

SoftwareSoftware HardwareHardware

Punto di vistaStrutturale

Embedded SystemsEmbedded Systems 20042004-- 2020 --

Page 21: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

• Cambiamenti sui parametri della specifica• Cambiamenti sui parametri della specifica• Trasformazioni sulla specifica

Insieme dei vincoliDescrizione del sistema

Compilazione &

Insieme dei vincolie delle direttiveStime

Generazione HDL

Analisi del sistema

Hw/Sw partitioning&Generazione codice intermedio Generazione HDL&

SchedulingGenerazione codice intermedio

Sintesi HLGenerazione del codice

Codice Oggetto Modello HwCo-simulazioneanalisi

Costi, prestazioni, potenza …

Embedded SystemsEmbedded Systems 20042004-- 2121 --

, p , p

Page 22: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Co-specificaCo specifica– Descrizione del sistema con un

linguaggio di specifica che non è specializzato ne verso la

Descrizione del sistema Insieme dei vincolie delle direttive

è specializzato ne verso la sezione software ne verso la sezione hardware. La co specifica eseguibile è

Compilazione &Analisi del sistema

– La co-specifica eseguibile è utilizzata come base per la validazione a livello di sistemaProblemi:

Generazione HDLHw/Sw partitioning

&Scheduling

Generazione codice intermedio

– Problemi:• Integrazione nel modello

astratto di funzioni riusabili e componenti

Sintesi HLGenerazione del codice

componenti• Inclusione nella specifica di

vincoli non-funzionali

Codice Oggetto Modello HwCo-simulazioneanalisi

Embedded SystemsEmbedded Systems 20042004-- 2222 --

Page 23: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Co-simulazioneCo simulazione– Simulazione contemporanea

delle sezioni hardware e software

Descrizione del sistema Insieme dei vincolie delle direttive

– La co-simulazione è utilizzata come supporto al processo di integrazione

Compilazione &Analisi del sistema

• Consente il controllo permanente della consistenza tra hardware e software

– Problemi:Generazione HDL

Hw/Sw partitioning&

SchedulingGenerazione codice intermedio

– Problemi:• La validazione della

integrazione è tanto più costosa quanto più aumenta il li ll di d tt li

Sintesi HLGenerazione del codice

livello di dettaglio– Riduzione della accuratezza

solo per migliorare le prestazioni nella simulazione

Codice Oggetto Modello HwCo-simulazioneanalisi

Embedded SystemsEmbedded Systems 20042004-- 2323 --

Page 24: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Co-sintesi e ottimizzazioneCo sintesi e ottimizzazione– È una fase di sintesi molto

complessa costituita da• Hardware/software partitioning

Descrizione del sistema Insieme dei vincolie delle direttive

f p ge selezione dei componenti

• Hardware/software scheduling• Sintesi della componente

software e generazione del

Compilazione &Analisi del sistema

software e generazione del codice

• Sintesi della componente hardware

Generazione HDLHw/Sw partitioning

&Scheduling

Generazione codice intermedio

• Sintesi delle interfacce e degli elementi di comunicazione

– ApplicazioniE l i d ll i di

Sintesi HLGenerazione del codice

• Esplorazione dello spazio di progetto

• Ottimizzazione a livello di sistema

Codice Oggetto Modello HwCo-simulazioneanalisi

Embedded SystemsEmbedded Systems 20042004-- 2424 --

Page 25: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Hw/Sw PartitioningHw/Sw Partitioning– Partizionare la funzionalità del

sistema in componenti software e in componenti hardware

Descrizione del sistema Insieme dei vincolie delle direttive

e in componenti hardware

Scheduling– Definire i periodi in cui le

Compilazione &Analisi del sistema

funzioni devono essere svolte tenendo conto delle precedenze, dei vincoli di t d ll t l i ità

Generazione HDLHw/Sw partitioning

&Scheduling

Generazione codice intermedio

tempo, della mutua esclusività tra i processi, della sincronizzazione e comunicazione e della

Sintesi HLGenerazione del codice

comunicazione e della allocazione alle risorse (load balancing nel caso software)

Codice Oggetto Modello HwCo-simulazioneanalisi

Embedded SystemsEmbedded Systems 20042004-- 2525 --

Page 26: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Hw/Sw PartitioningHw/Sw Partitioning– Similarità con il problema della allocazione (distribuzione dei

carichi) nella sintesi di alto livello (sistemi operativi real-time)Al it i di ti i t– Algoritmi di partizionamento

• Ottimizzazione stocastica (Simulating Annealing, Algoritmi Genetici) e ricerca localeLi t h d li ILP tti i i t ti tti i i • List scheduling, ILP, ottimizzazione stocastica con ottimizzazione pareto, logica fuzzy, tabu search, …

– Gli approcci differiscono non solo per la modalità di ricerca ma h l g l ità d l ti i t l anche per la granularità del partizionamento e per la

architettura obiettivo (variabili controllabili).• La granularità degli elementi su cui si focalizza l’attenzione può

essere anche variabileessere anche variabile.– Spesso, il partizionamento è combinato con lo scheduling

Embedded SystemsEmbedded Systems 20042004-- 2626 --

Page 27: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Hardware/software schedulingHardware/software scheduling– Lo scheduling è una operazione che identifica una relazione tra

tempo e processo in esecuzione– Scheduling senza prelazione

• Al termine del servizio di ogni interruzione il controllo viene nuovamente ceduto al processo interrotto.nuovamente ceduto al processo interrotto.

– Ridotto sovraccarico dovuto al cambio di contesto– Adatto per real-time lasco poiché le prestazioni di tempo reale sono

lasciate al progettista.lasciate al progettista.

• Preferito per granularità fine e per applicazioni data dominated

Embedded SystemsEmbedded Systems 20042004-- 2727 --

Page 28: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Hardware/software schedulingHardware/software scheduling– Scheduling con prelazione e scheduling dinamico

• Al termine del servizio di ogni interruzione il controllo può non essere restituito al processo interrotto.

• Adatto per sistemi real time.• Scheduling dinamicoScheduling dinamico

– La relazione d’ordine d’esecuzione dei processi (priorità dei processi) cambia run time.

• Preferito in sistemi con componenti reattivi• Preferito in sistemi con componenti reattivi– Componenti che devono rispondere agli stimoli prodotti dall’ambiente

– Approcci mistiG i di i ll’i d i li l h d li è i• Gruppi di processi all’interno dei quali lo scheduling è statico.

Embedded SystemsEmbedded Systems 20042004-- 2828 --

Page 29: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software CoHardware/Software Co--design: design: generalitàgeneralità

Sintesi delle interfacceSintesi delle interfacce– Generazione di interfacce tra componenti eterogenei– Elementi da considerare

• Protocolli di comunicazione– (non)buffer e (non)bloccante

Modalità di comunicazione• Modalità di comunicazione– Interrupt, DMA, porte dedicate, memoria condivisa, …

• VincoliP FPGA C li di i i b d t– Processore, FPGA, Canali di comunicazione, banda passante…

• Dispositivi dinamicamente riconfigurabili

Embedded SystemsEmbedded Systems 20042004-- 2929 --

Page 30: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Hardware/Software Codesign Hardware/Software Codesign Hardware/Software Codesign Hardware/Software Codesign

Architetture di riferimentoArchitetture di riferimento

20042004

Page 31: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

IntroduzioneIntroduzioneIntroduzioneIntroduzione

L’architettura è determinata da:L architettura è determinata da:– Aspetti tecnologici

• ProcessoreCircuiti Integrati• Circuiti Integrati

– Vincoli di progetto• Ambito applicativo

’ b l è l l d l l– L’obiettivo principale è lo sviluppo di sistemi soggetti a molti vincoli non funzionali che hanno una forte influenza sia sugli obiettivi di progetto sia sulle architetture

» Stretti margini di costo, vincoli temporali stringenti (Real Time), vincoli energetici e di potenza, sicurezza (EMI – Avionics e Automotive), peso e dimensione …

• FlessibilitàLa specializzazione non deve compromettere la possibilità di riadattare il – La specializzazione non deve compromettere la possibilità di riadattare il dispositivo a nuove specifiche (riuso, cambiamenti dell’ultimo momento…)

– Requisiti della applicazione

Embedded SystemsEmbedded Systems 20042004-- 3131 --

Page 32: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Tecnologia del ProcessoreTecnologia del ProcessoreTecnologia del ProcessoreTecnologia del Processore

Architettura del motore computazionale utilizzato per Architettura del motore computazionale utilizzato per implementare la desiderata funzionalità del sistemaIl processore non è necessariamente programmabile

– Processore non è sinonimo di General-Purpose Processor (GPP)

R gi t i

DatapathControllo

Logica di

DatapathControllo

Logica di index

DatapathControllo

Logica di Registri

ALUSpecializzata

gcontrollo

& Registri di Stato

IR PC

controllo

Registro di Stato

index

total

+

IR PC

Registerfile

ALUGenerale

Logica di controllo

& Registri di Stato

Memoria Programma

C

Memoria Programma

A bl d f

Memoria dati

Memoria dati Memoria dati

A li ti ifi

Assembly code for:total = 0for i =1 to …

Si l (h d )

Assembly code for:total = 0for i =1 to …

G l ( ft )

Embedded SystemsEmbedded Systems 20042004-- 3232 --

Application-specific Single-purpose (hardware)General-purpose (software)

Page 33: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Tecnologia del ProcessoreTecnologia del ProcessoreTecnologia del ProcessoreTecnologia del Processore

I processori cambiano nella loro specializzazione in I processori cambiano nella loro specializzazione in relazione al problema

…total = 0for i = 1 to N loop

total += M[i]end loop…

Funzionalità desiderata

General-purpose processor

GPP

Single-purpose processor

ASIC FPGA

Application-specific processor

ASIP

Embedded SystemsEmbedded Systems 20042004-- 3333 --

GPP ASIC, FPGA…ASIP

Page 34: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

GeneralGeneral--purpose processorpurpose processor -- GPPGPPGeneralGeneral--purpose processorpurpose processor -- GPPGPP

Dispositivi programmabili utilizzati in una Dispositivi programmabili utilizzati in una ampia gamma di applicazioni

– Noti con il termine di microprocessoriCaratteristiche

Registerfile

DatapathControllo

Logica di controlloCaratteristiche

– Memoria programma e dati• Congiunte (Von Neumann) o separate (Harvard

e Super Harvard) IR PC

file

ALUGenerale

& Registri di stato

e Super Harvard)– Datapath non specializzato, ampio insieme di

registri ad uso generale e ALU non specializzate

IR PC

Memoria programma

Memoria dati

Benefici e svantaggi– Time-to-market e costi NRE bassi– Flessibilità elevata

programma

Codice Assembly per:

t t l 0Flessibilità elevata– Tempo di esecuzione difficilmente predicibile– Potenza dissipata elevata

total = 0for i =1 to …

Embedded SystemsEmbedded Systems 20042004-- 3434 --

Page 35: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

GeneralGeneral--purpose processorpurpose processor -- GPPGPPGeneralGeneral--purpose processorpurpose processor -- GPPGPP

Microcontroller (MCU)– CISC, high code density, limited computing power– control-dominant applications– small context switch time– quasi parallel tasks– low power consumption– peripheral units– suited for real-time applications

Processori RISC– Wide Register-file and orthogonal instruction sets

DSP– Architecture tailored for processing of digital signals– optimized for data-flow applicationsp pp– suited for simple control flow– parallel hardware units (VLIW)– specialized instruction set– suited for real-time applicationspp

Multimedia processors– VLIW, alte prestazioni, bassa densità di codice e elevata

potenza dissipata.

Embedded SystemsEmbedded Systems 20042004-- 3535 --

Page 36: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

ApplicationApplication--specific processorsspecific processors -- ASIPASIPApplicationApplication--specific processorsspecific processors -- ASIPASIP

Processori programmabili ottimizzati per una Processori programmabili ottimizzati per una classe particolare di applicazioni che hanno caratteristiche comuni

R t t i i

Registeri

DatapathControllo

Logica di controllo

& R i t i di – Rappresentano un compromesso tra i processori GPP e i processori specializzati su di una singola applicazione

C i i hIR PC

ALUSpecializzata

& Registri di stato

Caratteristiche– Memoria programma– Datapath ottimizzato e specializzato (ampiezza

Memoria Programma

Memoria dati

p p ( pe numero dei registri), ridotto insieme di registri e unità funzionali specializzate

Benefici

Codice Assembly per:

total = 0Benefici– Flessibilità buona– Prestazioni, dimensioni e potenza buone

total 0for i =1 to …

Embedded SystemsEmbedded Systems 20042004-- 3636 --

Page 37: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

SingleSingle--purpose processorspurpose processors -- SPPSPPSingleSingle--purpose processorspurpose processors -- SPPSPP

Circuiti digitali progettati per eseguire Circuiti digitali progettati per eseguire esattamente un programma

– Coprocessori, acceleratori, periferiche…

DatapathController

Logica di controllo

indexp , , p

Caratteristiche– Nessuna memoria programma

Registro di stato

total

+

– Contengono solo i componenti necessari per eseguire un singolo programma

Benefici

Memoria dati

Benefici– Flessibilità nulla o molto ridotta– Prestazioni dimensioni e potenza ottime– Prestazioni, dimensioni e potenza ottime

Embedded SystemsEmbedded Systems 20042004-- 3737 --

Page 38: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Tecnologia dei circuiti integratiTecnologia dei circuiti integratiTecnologia dei circuiti integratiTecnologia dei circuiti integrati

Modo con cui una implementazione digitale è tradotta in Modo con cui una implementazione digitale è tradotta in un circuito integrato (IC- Integrated circuit o chip)Tre tipi di tecnologie per circuiti integratiTre tipi di tecnologie per circuiti integrati

– Full-custom ASIC– Semi-custom ASIC

• Gate array, sea of gates e standard cell

– PLD (Programmable Logic Device)

LC

I/O

LC

LC

I/O

LC

LC

I/O

LC

LC

I/O

LC

LC

I/O

LC

I/O

I/O

I/O

I/O

I/O

I/O

LC

LC

I/O

LC

LC

I/O

LC

LC

I/O

LC

LC

I/O

LC

LC

I/O

I/O

I/O

I/O

I/O

I/O

I/O

Embedded SystemsEmbedded Systems 20042004-- 3838 --

I/O I/O I/O I/O I/O I/O

Page 39: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

FullFull--customcustom ASICASICFullFull--customcustom ASICASIC

Struttura ottimizzata per una particolare funzionalità Struttura ottimizzata per una particolare funzionalità digitale

– Dimensione e posizione dei transistorp– Connessioni dedicate ed ottimizzate

Benefici– Prestazioni ottime, dimensioni ridotte, bassa potenza

Svantaggi– Costi non ricorrenti molto alti (esempio 300k$) e time-to-market

molto elevato

Embedded SystemsEmbedded Systems 20042004-- 3939 --

Page 40: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

SemiSemi--custom ASICcustom ASICSemiSemi--custom ASICcustom ASIC

Struttura generale (struttura regolare di transitor pre-implementati) Struttura generale (struttura regolare di transitor pre implementati) che viene adattata per una particolare funzionalità digitale

– Dimensione e posizione dei transistor fissate– Connessioni dedicate ed ottimizzateConnessioni dedicate ed ottimizzate– Rispetto ai Gate Array, le strutture sea-of-gates non hanno dei canali di

routing predefiniti consentendo implementazioni più compatte.BeneficiBenefici

– Prestazioni buone, dimensioni medie, media potenza– Rispetto alle realizzazioni full-custom si hanno sia ridotti tempi di

fabbricazione e progetto sia minori costi NREfabbricazione e progetto, sia minori costi NRE• Rispetto alle realizzazioni full-custom, il chip è pre-fabbricato e il processo

si limita a definire le sole metallizzazioni (60% di maschere in meno) e, poiché la posizione dei transistor è predefinita, il tempo necessario per

tt il l t di ll è id tt d ti tprogettare il layout di una cella è ridotto drasticamente

Svantaggi– Costi non ricorrenti medi e time-to-market elevato

Embedded SystemsEmbedded Systems 20042004-- 4040 --

Page 41: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

PLDPLDPLDPLD

Dispositivi hardware che mettono a disposizione Dispositivi hardware che mettono a disposizione componenti logici più o meno complessi che possono essere connessi tra loro a seconda delle esigenze di gprogetto

– Dispongono di:• Componenti logici

– Porte logiche, Flip-flop, Buffer…

• Linee di connessione

Benefici– Bassi costi NRE, Basso time-to-market

Svantaggi– Prestazioni ridotte, dimensioni elevate e potenza elevata

Embedded SystemsEmbedded Systems 20042004-- 4141 --

Page 42: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Vincoli di Progetto e ArchitetturaVincoli di Progetto e ArchitetturaVincoli di Progetto e ArchitetturaVincoli di Progetto e Architettura

H d Processore S ft

Memoria

Hardware ProcessoreRiconfigurabile Software

Memoria

GPP/ASIP SPP

DSP/GPP

sibi

lità

sibi

lità

Logica

GPP/ASIP

SPP SPPFles

sFl

ess

Logica Dedicata

Efficienza (area, prestazioni, potenza), time to marketEfficienza (area, prestazioni, potenza), time to market

Embedded SystemsEmbedded Systems 20042004-- 4242 --

Page 43: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Vincoli di Progetto e ArchitetturaVincoli di Progetto e ArchitetturaVincoli di Progetto e ArchitetturaVincoli di Progetto e Architettura

La differenza principale tra una architettura basata su processori La differenza principale tra una architettura basata su processori General-Purpose e le altre possibili è il livello di specializzazione.Scelta della architettura richiede di:

individuare “quanto è speciale” una data applicazione– individuare quanto è speciale una data applicazione.– Non compromettere la flessibilità

• I sistemi con campo di applicazione specifico dovrebbero coprire una classe di applicazionidi applicazioni

• La flessibilità è indispensabile per tenere in conto di cambiamenti dell’ultimo momento e della possibilità di correggere errori

• Una eccessiva flessibilità potrebbe essere controproducente in termini di t t i tcosto, prestazione e potenza

L’analisi di sistema richiede– Identificare le proprietà della applicazione che possono essere usate per

i li il i tspecializzare il sistema– Quantificare gli effetti di ogni singola specializzazione

Embedded SystemsEmbedded Systems 20042004-- 4343 --

Page 44: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architettura e Processo di CoArchitettura e Processo di Co--designdesignArchitettura e Processo di CoArchitettura e Processo di Co--designdesign

L’architettura impatta sul processo di Co-designL architettura impatta sul processo di Co-design– Influenza sulla fase di analisi per l’identificazione delle

caratteristiche specifiche dalla architettura obiettivo e sulla fase di Co-simulazione

• Necessaria una modellazione accurata sia della comunicazione, sia della esecuzione sia delle temporizzazionip

• Necessario determinare l’accuratezza dei risultati ottenuti nella fase di co-verifica

– Stimatori efficienti ed accurati per: prestazione (concorrenza, latenza), Stimatori efficienti ed accurati per: prestazione (concorrenza, latenza), costi (bus, processori, memorie), potenza dissipata, grado di affidabilità del sistema (self-checking, fault-tolerance)

– Influenza sulla fase di Co-sintesi• Multi-processo e multi-thread, con e senza prelazione, molti modelli

di comunicazione, spazio di progetto vincolato…

Embedded SystemsEmbedded Systems 20042004-- 4444 --

Page 45: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Requisiti della applicazione Requisiti della applicazione Requisiti della applicazione Requisiti della applicazione

Le architetture sono strettamente correlate al tipo di Le architetture sono strettamente correlate al tipo di sistema che domina l’applicazione.

– Sistemi dominati dal controllo– Sistemi dominati dai dati– Sistemi misti

• Telefono cellulare, Controllore di motore,

Le entità di processo hanno una specifica affinità con una classe di applicazione

à– I/O, profondità elevata del flusso di istruzioni, flusso di dati di dimensioni uniformi da 8,16,32,64 bit: GPP, ASIP

– Utilizzo di array circolari, operazioni di somma di prodotti: DSP– Profondità ridotta del flusso di istruzioni, flusso di dati di

dimensioni disuniformi e/o di pochi bit (anche 1): ASIC, FPGA

Embedded SystemsEmbedded Systems 20042004-- 4545 --

Page 46: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal Controllo

Sistemi reattivi con un comportamento guidato dagli Sistemi reattivi con un comportamento guidato dagli eventiIl modello di computazione, utilizzato per descrivere il sistema, è realizzato mediante macchine a stati finiti (FSM) e/o reti di petri (PN).Grande unità di controllo con un data path piccoloGrande unità di controllo con un data path piccolo

Segnali di I/O Segnali di O

Segnali di O

Embedded SystemsEmbedded Systems 20042004-- 4646 --

Page 47: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal Controllo

Problemi di Co-designProblemi di Co-design– Esecuzione concorrente di FSM che reagiscono a eventi asincroni– Flusso di controllo dipendente dai dati di ingressop g– Correttezza, sincronizzazione tra FSM, scheduling degli eventi

Problemi che derivano dalla architettura obiettivo– Scheduling dei processi e sincronizzazione tra processi– Prelazione e cambio di contesto

T i di l t b i– Tempi di latenza brevi– Dimensione del codice, soprattutto nel caso di prodotto di FSM.

Embedded SystemsEmbedded Systems 20042004-- 4747 --

Page 48: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal ControlloSistemi Dominati dal Controllo

Opportunità per la specializzazioneOpportunità per la specializzazione– Per lo più operazioni booleane o manipolazione di bit – Transizioni di stato con poche operazioni e stati contenuti in un

i i di d ti id ttinsieme di dati ridotto– Data-path e unità funzionali specializzate, architetture di

memoria semplici, controllo centralizzato

Architettura: sistemi basati su microcontrollori– Adatto per applicazioni dominate dal controllo e real-time

Ridotto tempo di commutazione del contesto• Ridotto tempo di commutazione del contesto– Basso consumo di potenza– Timer, interrupt controller e memoria su chip– Unità periferiche

• UART, convertitore A/D, PWM

Embedded SystemsEmbedded Systems 20042004-- 4848 --

Page 49: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai Dati

Sistemi caratterizzati da un flusso di dati a frequenza Sistemi caratterizzati da un flusso di dati a frequenza costante (streaming oriented) con un comportamento generalmente periodico (cyclo static systems)Il modello di computazione, utilizzato per descrivere il sistema, è realizzato mediante diagrammi di flusso (esempio: DFL) (esempio: DFL). Piccola unità di controllo ed un ampio data path

F1 Buffer F2 Buffer-Buffer F4 Buffer

F3Buffer

Embedded SystemsEmbedded Systems 20042004-- 4949 --

Page 50: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai Dati

Problemi di Co-designProblemi di Co-design– Prestazioni elevate (throughput) a basso costo– Insieme ampio di dati (la memoria è un elemento rilevante)p ( )– Scheduling delle operazioni e dimensionamento dei buffer

Problemi che derivano dalla architettura obiettivo– Il trasferimento dei dati e la memoria determinano i parametri di

costo e prestazioni:Dimensione: sono tipicamente richieste memorie di ampie • Dimensione: sono tipicamente richieste memorie di ampie dimensioni

• Prestazione: l’accesso alla memoria è il collo di bottigliaE i i b f tt i di ti• Energia: memoria e bus sono fattori di consumo energetico

Embedded SystemsEmbedded Systems 20042004-- 5050 --

Page 51: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai DatiSistemi Dominati dai Dati

Opportunità per la specializzazioneOpportunità per la specializzazione– Il flusso di controllo è parzialmente indipendente dai dati– Ingressi periodici e a periodo fissatog p p– Il flusso dati generalmente sincrono– Architettura di memoria e unità di indirizzamento specializzati,

t i l supporto ai loop.

Architettura: sistemi basati su DSPOttimizzato per applicazioni dominate dai dati– Ottimizzato per applicazioni dominate dai dati

– Adatto anche per flussi di controllo semplici– Unità hardware parallelep– Insieme di istruzioni specializzato (MAC)

Embedded SystemsEmbedded Systems 20042004-- 5151 --

Page 52: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Sistemi MistiSistemi MistiSistemi MistiSistemi Misti

La maggior parte dei sistemi non ha una specifica La maggior parte dei sistemi non ha una specifica caratteristica

– Esempi: controllori per motori, applicazioni per la telefonia, p p , pp p ,cellulari…

Architettura: Sistema eterogeneo costituito da parti i li h i (DSP Mi ll specializzate che comunicano (DSP, Microcontrollore,

periferiche, dispositivi ad-hoc, …)

Embedded SystemsEmbedded Systems 20042004-- 5252 --

Page 53: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)

Mito: Attualemente il mercato dei sistemi embedded è Mito: Attualemente il mercato dei sistemi embedded è dominato dai processori a 32 bit

– I processori da 8, 16 bit sono pressoché estintip , p– Le architetture X86 sono tra le più utilizzate– La maggior parte dei processori a 32 bit è utilizzata nei PC e

ll k t tinelle work-station.

Realtà: più del 80% dei processori utilizzati è a 4-16 bitLa maggior parte dei processori utilizzati è a 4 16 bit– La maggior parte dei processori utilizzati è a 4-16 bit

– Solo il 30% dei sistemi embedded utilizza architetture x86– I processori a 32 bit utilizzati per PC e workstation coprono solo p p p

il 40% del mercato dei processori a 32 bit.

Embedded SystemsEmbedded Systems 20042004-- 5353 --

Page 54: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)

Embedded SystemsEmbedded Systems 20042004-- 5454 --

Page 55: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)

Mito: La tendenza attuale è verso una razionalizzazione Mito: La tendenza attuale è verso una razionalizzazione del numero delle architetture basate su processori

– Poche architetture dominano fette di mercato sempre più ampiep p p

Realtà: La disponibilità di API (Application Programming Interface) consente la proliferazione di architetture nuove ed innovative

– API: qualunque insieme di routine, generalmente disponibili per essere utilizzate dai programmatori che rendono il codice essere utilizzate dai programmatori, che rendono il codice portabile su altre piattaforme; realizzano una macchina astratta che consente di ignorare i dettagli implementativi del sistema

tt t tsottostante.

Embedded SystemsEmbedded Systems 20042004-- 5555 --

Page 56: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)Architetture: Miti e realtà (hardware)

Mito: Gli ASIP (Application-Specific Instruction-set Mito: Gli ASIP (Application-Specific Instruction-set Processor) rappresentano un male necessario ma di breve durata Realtà: Tutti i dispositivi di elevata diffusione utilizzano uno o più ASIP.

– La maggior parte degli apparati GSM.– La maggior parte del decoder MPEG.

M lti id– Molti video-games.– La maggior parte dei dispositivi per la manipolazione di immagini

3D (se non sono puramente hardware). ( p )

Embedded SystemsEmbedded Systems 20042004-- 5656 --

Page 57: 04Intro progetto e codesign - Intranet DEIB · Introduzione Sistema digitale – Sistema eterogeneo complesso costituito da una piattaforma hardware (microprocessori, componenti hardware

Architetture: Miti e realtà (software)Architetture: Miti e realtà (software)Architetture: Miti e realtà (software)Architetture: Miti e realtà (software)

Mito: Attualmente la maggior parte delle applicazioni Mito: Attualmente, la maggior parte delle applicazioni software per sistemi embedded è scritto in C.Realtà: Solo il 20% è scritto in C; il resto è scritto direttamente in assembler.Mito: I compilatori attuali producono un codice con un sovraccarico accettabilesovraccarico accettabileRealtà: Il codice prodotto dai compilatori è spesso inaccettabileaccettab le

– Codici DSP: dal 200% al 500%– Codici per applicazioni di controllo: dal 50% al 100%

C di i PC k t ti d l 50% (il bl è – Codici per PC e workstation: meno del 50% (il problema è comunque irrilevante)

Embedded SystemsEmbedded Systems 20042004-- 5757 --