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
Scarica

SharedBus - Istituto di Scienze e Tecnologie dell`Informazione