DHow2 - L4

Post on 18-Dec-2014

254 views 2 download

description

 

Transcript of DHow2 - L4

POLITECNICO DI MILANO

Introduzione ai Sistemi Embedded

DRESD How To (DHow2) - L4

DDynamic ynamic RReconfigurability econfigurability inin EEmbeddedmbedded SSystemsystems DDesignesign

DRESD Team

info@dresd.org

22

OutlineOutline

Sistemi embeddedIntroduzioneCaratteristiche

Soluzioni architetturaliSystem-on-Chip

MicroprocessoriMemorieInterfacciamentoTecnologie programmabiliMetodologia di progetto

33

Sistemi embedded: introduzioneSistemi embedded: introduzione

Sistemi dedicati a classi specifiche di applicazioni

OttimizzazioneDiversificazione a livello architetturale

Requisiti funzionaliVincoli: dimensioni, consumo di potenza, costo, ...

44

Sistemi embedded: caratteristicheSistemi embedded: caratteristiche

DimensioniConsumo energetico

Scelta della tecnologia

Interfacce di comunicazioneQuantità di dati da trasferireTipo di utilizzo

Interfacce utenteVolumiTime-to-marketTempo di vita

55

Soluzioni architetturaliSoluzioni architetturali

Printed Circuit Board (PCB)Assemblaggio di componenti discreti su una

basetta di materiale plastico che realizza le interconnessioni necessarieSystem-on-Chip

SoCMulti-Processor System-on-Chip (MPSoC)Multi-Chip Module (MCM)Network on Chip (NoC)

Sistemi distribuitiFunzionalità complessa su più sottosistemi

fortemente interagenti tra loro tramite reti di comunicazione

• Wireless Sensor Network (WSN)

66

Soluzioni architetturali: System-on-Chip Soluzioni architetturali: System-on-Chip (1/2)(1/2)

Architettura basata su un singolo chip in tecnologia intergrata che ospita l’intero sistemaVantaggi

PrestazioniAssorbimento energeticoNumero di pin di ingresso/uscita più bassoCosto

77

Soluzioni architetturali: System-on-Chip Soluzioni architetturali: System-on-Chip (2/2)(2/2)

Componenti funzionaliMicroprocessoriMemorieBlocchi digitali dedicatiCore digitali standard: encoder, decoder, filtri, ...Blocchi di temporizzazione: timer, watchdog, ...Blocchi di alimentazione: regolatori di tensione, ...Interfacce: analogiche, seriali, parallele, di rete, ...

88

Microprocessori (1/2)Microprocessori (1/2)

General Purpose Processor (GPP)Architettura di calcolo per applicazioni in campi

anche molto diversiArchitetture CISC (Complex Instruction Set Computer): ampio instruction set costituito da istruzioni complesseArchitetture RISC (Reduced Instruction Set Computer): instruction set limitato con istruzioni mediamente sempliciArchitetture CISC/RISC: scomposizione di istruzioni CISC in istruzioni simili alle istruzioni RISCArchitetture superscalari: architetture con più di un’unità di elaborazioneArchitetture EPIC/VLIW (Explicitly Parallel Instruction Computer / Very Long Instruction Word): istruzioni elementari in una sola parola di grandi dimensioni

99

Microprocessori (2/2)Microprocessori (2/2)

Processori dedicatiArchitetture di microprocessore ottimizzate per

applicazioni specificheDigital Signal Processor (DSP): elaborazione numericaNetwork Processor (NP): applicazioni di reti (e.g. elaborazione di pacchetti)Micro Controller Unit (MCU): microprocessori che dispongono di molte periferiche e interfacce integrate su singolo chip, adatti per carico computazionale modesto e vincoli sulle risorse hardware

1010

Memorie (1/2)Memorie (1/2)

Parametri caratteristiciTempo di accessoGranularitàTipo di accesso: casuale, FIFO, LIFO, ...Funzione: operazioni per cui è concepita la memoriaProgrammabilità: memorie volatili vs non volatili

ClassificazioneStatic Random Access Memory (SRAM)Dynamic Random Access Memory (DRAM)Read Only Memory (ROM)Electrically Programmable Read Only Memory (EPROM)Electrically Erasable Programmable Read Only Memory (E2PROM)Flash

1111

Memorie (2/2)Memorie (2/2)

Gerarchia di memoriaRegistriCacheMemoria centraleDischiNastri

1212

Interfacciamento (1/2)Interfacciamento (1/2)

Trasferimento di dati tra porzioni dello stesso sistema

IndirizzamentoMemory mapped I/O: spazio di indirizzamento del microprocessore suddiviso in sezioni assegnate ai dispositiviStandard I/O: bus di controllo con una linea aggiuntiva che indica se l’indirizzo si riferisce alla memoria o alle periferichePort mapped I/O: comunicazione tra microprocessore e periferiche tramite linee dedicateExtended I/O: uso di un dispositivo hardware, detto Parallel I/O (PIO), che si interfaccia con il microprocessore tramite bus o porta

1313

Interfacciamento (2/2)Interfacciamento (2/2)

PollingVerifica ciclica di tutte le unità di Input/Output

tramite test dei bit di stato associati ad ogni perifericaInterrupt

Messaggio, inviato dalla periferica al microprocessore, che indica la disponibilità di un nuovo dato da leggereDirect Memory Access (DMA)

DMA controller

1414

Tecnologie programmabili Tecnologie programmabili (1/2)(1/2)

Programmable Logic Array (PLA)Programmable Array Logic (PAL)Generic Array Logic (GAL)Complex Programmable Logic Device (CPLD)

1515

Tecnologie programmabili Tecnologie programmabili (2/2)(2/2)

Field Programmable Gate Array (FPGA)Configurable Logic Block (CLB)Input/Output Block (IOB)Interconnessioni

1616

Metodologia di progettoMetodologia di progetto

Procedura seguita per il progettoTop-downBottom-up

Modello del sistemaApplicazione di tecniche di scheduling, HW/SW codesign, ...SimulazioneSintesi (HW) / compilazione (SW)Implementazione fisica