La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

MPSOC 3 Novembre 2003 1 Università degli studi di Bologna Facoltà di ingegneria Exploring the MPSoC Design Space: the MPARM environment Francesco Poletti.

Presentazioni simili


Presentazione sul tema: "MPSOC 3 Novembre 2003 1 Università degli studi di Bologna Facoltà di ingegneria Exploring the MPSoC Design Space: the MPARM environment Francesco Poletti."— Transcript della presentazione:

1 MPSOC 3 Novembre 2003 1 Università degli studi di Bologna Facoltà di ingegneria Exploring the MPSoC Design Space: the MPARM environment Francesco Poletti DEIS Università di Bologna fpoletti@deis.unibo.it

2 MPSOC 3 Novembre 2003 2 Outline Sistema operativo Embedded RTEMS; Archittetture parallele su singolo chip; Utilizzo della piattaforma MPARM e alcuni benchmark. Sviluppo di un Hardware decidato: DMA sulla piattaforma MPARM;

3 MPSOC 3 Novembre 2003 3 Problem: The Productivity Gap

4 MPSOC 3 Novembre 2003 4 MPSOC IDEA…  Lo sviluppo tecnologico permette sempre maggiori capacità d’integrazione.  Difficoltà progettuale. Nuova metodologia di progettazione: System On Chip (SoC). Replicazione di blocchi di Unità funzionali Il progettista si concentra sulle funzionalità e prestazioni dell’intero sistema.

5 MPSOC 3 Novembre 2003 5 CORE adapter COMMUNICATION HW adapter DSP MPEG adapter ROMRAM extmem CORE MPSOC ARCHITECTURE

6 MPSOC 3 Novembre 2003 6

7 MPSOC 3 Novembre 2003 7 COMUNICATION TOPOLOGIES Bus Condiviso : sviluppo odierno Network => futuro  NETWORK Elevate prestazioni; Alta occupazione d’area; Scalabilità. Network on Chip  BUS CONDIVISO Prestazioni medie; Bassa occupazione d’area; Semplicità dell’interfaccia IP. SHARED BUS MASTER SLAVE MASTER

8 MPSOC 3 Novembre 2003 8 Outlines of the AMBA bus AMBA (Advanced Microcontroller Bus Architecture) è uno standard di comunicazione on-chip, per un elaboratore embedded. : high performance, high clock frequency system modules - APB: low power peripherals

9 MPSOC 3 Novembre 2003 9 Master per accedere al bus deve richiederne l’utilizzo all’arbitro. Multiplexer per i dati e per gli indirizzi “pilotati” dall’arbitro. Outlines of the AMBA bus

10 MPSOC 3 Novembre 2003 10 System architecture – AMBA AHB BUS modules mast[ ] hmaster address[ ] haddr ctrl_sign Address and control mux N N mast[ ] hmaster hwdata[ ] hwdataout Write data mux N N selector hready hsel[ ] readdata[ ] hrdata N N Read data mux hsel[ ] haddr decoder N hreq[ ] ctrl_sign hready selector hmaster hgrant[ ] N N arbiter ctrl_sign haddr hwdataout readdata hmaster ready hsel mast address hwdata hrdata hgrant hready hreq AHB I/F master module AHB I/F slave module

11 MPSOC 3 Novembre 2003 11 ARBITRATION ALGORITHMS TRE DIFFERENTI POLITICHE DI ARBITRAGGIO : TDMA Round robin SLOT reservation Master #1Master #2Master #N SLOT DURATION Master #1 SLOT RESERVATION Master #2->N Round robin Master #1 Master #2 Master #4 Master #3 Master #1Master #4

12 MPSOC 3 Novembre 2003 12 STbus – Shared Bus

13 MPSOC 3 Novembre 2003 13 STbus – Full Crossbar

14 MPSOC 3 Novembre 2003 14 STbus – Partial Crossbar

15 MPSOC 3 Novembre 2003 15 Read on AMBA bus

16 MPSOC 3 Novembre 2003 16 Read on STbus

17 MPSOC 3 Novembre 2003 17 Protocol differences

18 MPSOC 3 Novembre 2003 18 Comparison

19 MPSOC 3 Novembre 2003 19 Mapping applications to MPSoCs Applications Abstract Parallel architecture T1 T2 T3 B E PE PE NoC PE M M IO  Utilizzo dell’hardware come supporto alla comunicazione?  QoS o Best Effort?  Primitive per la comunicazione tra i task e i processori.  Programmazione parallela.

20 MPSOC 3 Novembre 2003 20 Programming abstractions Modello di programmazione: Seriale:il programmatore non vede alcun tipo di parallelismo. Parallel: multiple threads/tasks Shared memory: comunicazione attraverso una memoria condivisa Message passing: comunicazione in messaggi

21 MPSOC 3 Novembre 2003 21 Shared Memory COMUNICAZIONE ATTRAVERSO SPAZIO DI MEMORIA CONDIVISA

22 MPSOC 3 Novembre 2003 22 Distributed Memory COMUNICAZIONE ATTRAVERSO SCAMBIO DI MESSAGGI

23 MPSOC 3 Novembre 2003 23 REAL TIME EMBEDDED OS  Sistema operativo RTEMS: Compatibile con lo standard POSIX. (primitive di sincronizzazione e comunicazione tra task). Multitasking. Supporto multiprocessore (MIMD). Le comunicazioni originano traffico Transazioni sul bus Impatto sulle prestazioni del sistema  Applicazioni per un numero scalabile di processori.  Comunicazione tra i processori: memoria condivisa come canale di comunicazione, message passing a livello applicativo.

24 MPSOC 3 Novembre 2003 24 IMPORTANT POINTs: - RTEMS implementa un modello multiprocessore MIMD - Ogni processore è visto dal S.O come un nodo unico - Possibilità di definire oggetti con visibilità locale e globale - Ogni processore ha due tabelle degli Oggetti: Una per gli oggetti (sia locali che globali) istanziati sul processore Una per gli oggetti globali (uguale per tutti i processori)

25 MPSOC 3 Novembre 2003 25 Users Tasks nodo A RTEMS MPCI Layer MPCI Layer Canale di comunicazione RTEMS Users Tasks nodo B COMUNICATION SCHEME

26 MPSOC 3 Novembre 2003 26 User task RTEMSMPCI Layer Canale di comunicazione Rtems_ event _send 1 Si accorge che è un task globale 2 GET_PACKET 3 Rilascia un pacchetto Costruisce il messaggio per l’altro processore 4 SEND_PACKET 6 Invia il pacchetto Attraverso il canale

27 MPSOC 3 Novembre 2003 27 MPCI Layer User task RTEMS Canale di comunicazione Sull’altro nodo … 7 Sente l’arrivo del pacchetto e chiama la rtems_multiprocessing_announcing 8 RECEIVE_PACKET Legge dal canale E inoltra il messaggio Al S.O 9 10 Manda il messaggio Al Task

28 MPSOC 3 Novembre 2003 28 HARDWARE SIDE RTEMS User task Rtems_message_send MPCI Layer SHARED BUS PROC #Y PROC #X INTERRUPT SLAVE #Y GET_PACKET build the message write to interrupt slave SHARED MEMORY

29 MPSOC 3 Novembre 2003 29 WITHOUT OS SUPPORT Application level SHARED BUS PROC #Y PROC #X INTERRUPT SLAVE #Y SHARED MEMORYSEMAPHORE Semaphore Acquisition Semaphore RealiseInterrupt Send Shared Memory Write

30 MPSOC 3 Novembre 2003 30 MPARM INTERCONNECTION ARM INTERRUPT CONTROLLER PRI MEM 4 SHARED MEM SEMAPHORES ARM PRI MEM 3PRI MEM 2 PRI MEM 1 STbus or AMBA

31 MPSOC 3 Novembre 2003 31 The processing element SystemC wrapper SWARM bus master BUS external int  SWARM accurato al ciclo di clock;  Il wrapper e’ un Modulo SystemC;  Le Memorie e tutti gli altri slave sono Moduli SystemC The simulations are cycle accurate (~ 24 Kcycles/sec)

32 MPSOC 3 Novembre 2003 32 Development of a DMA SystemC wrapper SWARM bus master BUS external int I/D cache Core Scratch bus master BUS DMA Object table

33 MPSOC 3 Novembre 2003 33 DMA bus master BUS ARM Scratch-pad Memory DMA transfer DMA control Object table HARDWARE DETAIL

34 MPSOC 3 Novembre 2003 34 Portable systems become multi- tasked  Le nuove generazioni di terminali mobili (telefoni, PDA,...) offriranno un’ampia gamma di applicazioni:  GSM, Agenda, JPEG, MP3, SMS, Email, Fax, Internet, Giochi  Molte di queste sono applicazioni dinamiche decise dall’utente e prevedono un ampio utilizzo di dati...  Le case produttrici credono nella possibilità di avere sistemi operativi in grado di supportare efficientemente tale dinamismo.  E.g. Symbiant, Embedded Linux, RTEMS

35 MPSOC 3 Novembre 2003 35 Round robin scheduling Scheduling di tipo preempitive permette di rispondere piu’ efficientemente alle caratteristiche Real Time. Quanto incide tutto cio’ sul consumo energetico? New task timeTask stopped

36 MPSOC 3 Novembre 2003 36 Let’s quantify the effect of multi- threading on the memory  Tenuto conto di un’architteture attuale (per sistemi embedded!) con 4kB data cache e 4kB Instruction cache. Esecuzione seriale: 69784 DC misses Esecuzione in round robin: 85931 DC misses (timeslice 1mS) 5 task interleaved

37 MPSOC 3 Novembre 2003 37 BENCHMARK La scratch-pad memory consuma meno energia perché é una semplice memoria Come caricare i dati nella scratch: Al boot => HW di controllo che riconosce se un dato è nella scratch; Inserendo chiamate all’interno del codice quando si accede ai dati più critici; X =

38 MPSOC 3 Novembre 2003 38 Tre differenti benchmark che rappresentano tre diversi tipi traffico sul bus: 1. Task mutuamente dipendenti; PUNTO DI SINCRONIZZAZIONE FLUSSO D’ESECUZIONE COMUNICAZIONE TRA PROCESSI SCAMBIO DI DATI 3. Task in pipeline; 2. Task indipendenti; SHARED BUS Proc.1Proc.2Proc.3 Private Mem.1Private Mem.2Private Mem.3 PERFORMANCE ANALYSIS

39 MPSOC 3 Novembre 2003 39 MUTUALLY DEPENDENT TASKS  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. RTEMS bootstrap con 5 processori

40 MPSOC 3 Novembre 2003 40 INDIPENDENT TASK

41 MPSOC 3 Novembre 2003 41 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

42 MPSOC 3 Novembre 2003 42 INDIPENDENT TASK Cosa succede nel TDMA con valori di slot piccoli?  La durata della slot uguale al tempo di un ciclo di burst da valori ottimali per il TDMA  Per slot più piccole overhead di terminazione di un burst (early bus termination).

43 MPSOC 3 Novembre 2003 43 TASK IN PIPELINE Implementazione del meccanismo di comunicazione ad alto livello: Questo meccanismo di hand-shake non è efficientemente supportato dal TDMA Producer Consumer Crea una coda nella sua mem. Bus access Scrive un messaggio nella coda Bus access Richiede un messaggio Bus access Interrompe il producer Bus access Legge la richiesta nella mem. condivisa Bus access Scrive il msg. nella shared Bus access Interrompe il consumer Bus access Legge il msg. dalla shared Bus access

44 MPSOC 3 Novembre 2003 44 Comparison - 1

45 MPSOC 3 Novembre 2003 45 Comparison - 2


Scaricare ppt "MPSOC 3 Novembre 2003 1 Università degli studi di Bologna Facoltà di ingegneria Exploring the MPSoC Design Space: the MPARM environment Francesco Poletti."

Presentazioni simili


Annunci Google