Sviluppo dei processi tecnologici 1,40 Nell’ultimo decennio … 1,20 1,00 Today Transistor size (m) 0,80 0,60 0,40 0,20 0,00 1990 1992 1994 1996 Years 1998 2000 2002 Scaling delle geometrie System – on – Chip (SoC) Tra 10 anni avremo lunghezze di canale pari a 50nm !! Fino a 4 miliardi di transistori integrati, ad una frequenza di 10 GHz Nuovo paradigma di progettazione: sistemi multiprocessore su singolo chip (MP SoC) System-on-Chip System-on-Chip: CPU Memory1 MPEG decoder Co-Proc Bridge Video Enc. Interface Arbiter1 Architettura di comunicazione Arbiter2 Memory2 Application specific logic Elevate densità di integrazione rese disponibili dalla tecnologia Evoluzione delle architetture (da shared bus a network on chip) Interc. responsabili del 40-50% del consumo del chip Wires globali: grandi capacità di carico da commutare Contributo dei ripetitori con lo scalare della tecnologia Energy Efficiency MOPS/mW (or MIPS/mW) The Energy-Flexibility Tradeoff 1000 Dedicated HW 100 10 Reconfigurable Processor/Logic ASIPs DSPs Wireless embedded systems 10-80 MOPS/mW 2 V DSP: 3 MOPS/mW 1 Embedded Processors 0.4 MIPS/mW 0.1 Flexibility (Coverage) Wireless Handset Functionality MICROCONTROLLER CONTROLLER ASIC A/D PHYSICAL LAYER PROCESSING SPEECH ENCODE BASEBAND CONVERTER SPEECH DECODE RF MODEM DAC DSP Voice ANALOG IC Voice Wireless Handset C540 ARM7 TI’s TMS320vc5471 SCALING TREND Keeping the pace with Gene’s Law: DPS Chip’s energy efficiency (MIPS/Watt) doubles every 18 Month Low Cost High flexibility Reduce idle power in idle state Gene’s Law Tech&Circ: Voltage islands, Arch: MPSoC Low Cost Integrate, but only when cost effective Push towards A & D integration High flexibility Software radios, reconfigurable architectures Reduce static power in idle state Variable Vdd, VT MPSoC IO IO IO COPR COPR NOC SOCBUS NOC CPU MEM MEM MEM MEM Vdd1Vdd2Vdd3 From single-master CPU to MPSoC From bus-based interconnect to NoC Emphasize reuse, flexibility A distributed system on a single chip! Berkeley’s Maia (1999) Reconfigurable Baseband Processor for Wireless • 0.25um tech: 4.5mm x 6mm • 1.2 Million transistors • 40 MHz at 1V • 1 mW VCELP voice coder • Hardware • 1 ARM-8 • 8 SRAMs & 8 AGPs • 2 MACs • 2 ALUs • 2 In-Ports and 2 Out-Ports • 14x8 FPGA •Interconnect: Hierarchical mesh Sensor Networks Energy Efficiency MOPS/mW (or MIPS/mW) Sensor network design space 1000 Dedicated HW 100 10 Reconfigurable Processor/Logic ASIPs DSPs 10-80 MOPS/mW 2 V DSP: 3 MOPS/mW 1 Embedded Processors 0.4 MIPS/mW 0.1 Flexibility (Coverage) Sensor Networks Autonomous sensor node in 1mm3 Multiple sensors: temperature, light, vibration, .. Thousands of butterflies LOW COST! Wireless interconnection Full system integration (including power supply) Microwatt power consumption Mirror Solar Cell Controller Charge Pump ADC Accelerometer Solar Cell Photodiode Temperature Sensor Receiver 0.25µm CMOS – double poly, 5 metals [Warneke01] Architetture di comunicazione BUS CONDIVISO Prestazioni medie; Bassa occupazione d’area; Semplicità dell’interfaccia IP. NETWORK Elevate prestazioni; Alta occupazione d’area; Scalabilità. SLAVE SLAVE SLAVE SHARED BUS MASTER MASTER MASTER Network on Chip Shared bus: stato dell’arte Network => reti future Shared bus • Tradizionalmente basata su bus condiviso (shared bus) • arbitro: serializzazione degli accessi • Opzioni avanzate: • Split transactions • lock del bus • pipelining • preemption • bridging e bus segmentation • algoritmi di arbitraggio Shared bus Difficilmente scalabile: • aumenta latenza dovuta alla contention sul bus ruolo chiave della politica di arbitraggio • modalità di comunicazione multicast • incremento della capacità di carico • incremento delle frequenze di clock Consumo di potenza e collo di bottiglia per le prestazioni Necessità di un architettura di comunicazione più evoluta: Micro-reti di interconnessioni Network-on-chip Network-on-Chip di tipo Butterfly Supporto contemporaneo di transazioni multiple Riconfigurabilità Segmenti al posto di linee globali Scalabilità Comunicazione a pacchetti Disponibilità di diversi gradi di libertà per il progettista: - topologia - routing - ampiezze dei bus - numero di porte - controllo di flusso Concetti base SWITCH: elementi di commutazione ed instradamento del pacchetto connessi da link point-to-point (arbitraggio distribuito) PACCHETTO: TAIL PAYLOAD HEADER al fine di mantenere una bassa latenza nonostante l’elevato numero di hop: WORMHOLE ROUTING Packet SWITCH SWITCH SWITCH Packet A B C tail header • Ai fini della latenza, è importante che l’header arrivi il prima possibile • Se viene richiesto un link “busy”, tutta la macro-pipeline si blocca Confronto Laddove NoC conviene…….. - Ogni unità funzionale aggiuntiva aggiunge capacità parassit + Si utilizzano solo wires point-to-point one-way - Problemi di bus timing in bus sub-micrometrici + Possibilità di wires pipelined poiché il protocollo è GALS - Il delay dell’arbitro cresce col no. di master. Arbitro instance-specific + Decisioni di routing distribuite. Switches reinstanziabili - Banda è limitata e condivisa da tutte le unità + La banda scala con la dimensione della rete Confronto e laddove shared bus conviene…….. + La latenza di accesso al bus è nulla dopo la concessione del bus -problemi di congestione di rete possono causare un certo delay + Costo in termini di silicio di un bus è pressochè nullo -Notevole costo in area per una rete on-chip + Le interfacce bus – IP sono molto semplici -Le interfacce bus-IP possono essere molto complesse (wrappers) + Criteri di progetto semplici e ben compresi - Necessità di un nuovo paradigma progettuale ARCHITETTURA DEL SISTEMA POLITICHE DI ARBITRAGGIO •TDMA Master #1 Master #2 Master #N SLOT DURATION Master #4 •Round robin Master #3 Master #1 Master #1 Master #4 Master #2 •SLOT reservation Master #2->N Round robin Master #1 SLOT RESERVATION Altre politiche: - Priorità fissa statica - Priorità fissa dinamica -TDMA splittabile - latency-based COMUNICAZIONE TRA I PROCESSORI User task Rtems_message_send GET_PACKET RTEMS build the message write to interrupt slave MPCI Layer PROC #X SHARED BUS SHARED MEMORY INTERRUPT SLAVE #Y PROC #Y ANALISI DELLE PRESTAZIONI Tre differenti benchmark che rappresentano tre diversi tipi traffico sul bus: 1. Task mutuamente dipendenti; Proc.1 2. Task indipendenti; Proc.2 Proc.3 SHARED BUS Private Mem.1 3. Task in pipeline; PUNTO DI SINCRONIZZAZIONE FLUSSO D’ESECUZIONE Private Mem.2 COMUNICAZIONE TRA PROCESSI Private Mem.3 SCAMBIO DI DATI TASK MUTUAMENTE DIPENDENTI RTEMS bootstrap con 5 processori Prestazione misurata: Tempo d’esecuzione Slot reservation ha le prestazioni migliori per via del carico non bilanciato. TDMA alloca la banda in modo non efficiente. TASK INDIPENDENTI 300000 Exe cution Tim e (clock cycle s ) 250000 200000 150000 2 Processors 4 Processors 100000 50000 8 Processors 0 slot5 000I slot5 000avg slotI 8000 -I slot8 000avg slot1 2000 -I slot1 2000 -avg roun drob in tdma 50 00 tdma 80 00 tdma 12 00 0 6 Processors TASK IN PIPELINE Prestazione misurata: NUMERO DI MATRICI ELABORATE AL SECONDO Slot reservation converge asintoticamente al round robin Le prestazioni del TDMA sono quasi invarianti all’aumentare della slot Basse prestazioni del TDMA TASK IN PIPELINE Implementazione del meccanismo di comunicazione ad alto livello: Producer Crea una coda nella sua mem. Bus access Scrive un messaggio nella coda Bus access Legge la richiesta nella mem. condivisa Scrive il msg. nella shared Interrompe il consumer Consumer Bus access Richiede un messaggio Bus access Interrompe il producer Bus access Bus access Bus access Bus access Legge il msg. dalla shared Questo meccanismo di hand-shake non è efficientemente supportato dal TDMA AMBA bus Il bus viene segmentato per ridurre la capacità di carico attraverso un bridge Interfaccia sistemaperiferiche AHB System Bus: bus ad alta velocità ed alta banda che supporta una pluralità di masters per massimizzare la prestazione del sistema APB: Bus con protocollo semplificato per periferiche general-purpose AMBA bus Obiettivi: • Facilitare il “right-first-time-development” di sistemi embedded multimaster • Architettura technology-independent con elevati gradi di riusabilità • Minimizzare infrastruttura di comunicazione • Incoraggiare il progetto di sistemi modulari AMBA AHB AHB APB • High Performance • Slave-only bus • Multiple Bus Masters • Unpipelined bus • Pipelined Operation • Low power interface • Burst Transfers • Split Transactions • Used for: Processors, on-chip memory I.face to off-chip memory • Used for: Register-mapped slaves Narrow-bus peripherals Bus infrastructure AMBA basic transfer AMBA BASIC TRANSFER WITH WAIT STATES Multiple transfers TRANSFER TYPE BURST TYPES ADDRESS DECODING SLAVE RESPONSE SLAVE RETRY RESPONSE SPLIT E RETRY • Entrambi usati quando lo slave non riesce a terminare immediatamente il trasferimento in corso • Bus riarbitrabile RETRY: solo masters a priorità più alta possono accedere al bus SPLIT: qualunque master può accedere al bus arbitro deve sapere quando lo slave è pronto a terminare Dal punto di vista del MASTER, non cambia nulla: esso continua a richiedere il bus per ultimare il trasferimento SPLIT TRANSACTIONS Master comincia un trasferimento normale SI Slave può completare Subito? Può avvenire il bus master handover Quando lo slave è pronto, notifica il suo master tramite HSPLIT all’arbitro Memorizza hmaster NO Risposta split su 2 cicli slave Ripristino delle priorità precedenti Alla riconcessione, Il master riprova Il trasferimtno Granting bus access ARBITER Granting bus access Granting bus access BUS HANDOVER AFTER A SPLIT AHB-APB BRIDGE STATE DIAGRAM WRITE TRANSFER Setup cycle Enable cycle • Per il basso consumo, dopo la fine dell’Enable cycle indirizzi e segnali di controllo non cambiano READ TRANSFER Campionamento dati Interfacciamento AHB-APB Ciclo di lettura