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 Università degli studi di Bologna Facoltà di ingegneria Exploring the MPSoC Design Space: the MPARM environment Francesco Poletti DEIS Università di Bologna

2 MPSOC 3 Novembre 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 Problem: The Productivity Gap

4 MPSOC 3 Novembre 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 CORE adapter COMMUNICATION HW adapter DSP MPEG adapter ROMRAM extmem CORE MPSOC ARCHITECTURE

6 MPSOC 3 Novembre

7 MPSOC 3 Novembre 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 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 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 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 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 STbus – Shared Bus

13 MPSOC 3 Novembre STbus – Full Crossbar

14 MPSOC 3 Novembre STbus – Partial Crossbar

15 MPSOC 3 Novembre Read on AMBA bus

16 MPSOC 3 Novembre Read on STbus

17 MPSOC 3 Novembre Protocol differences

18 MPSOC 3 Novembre Comparison

19 MPSOC 3 Novembre 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 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 Shared Memory COMUNICAZIONE ATTRAVERSO SPAZIO DI MEMORIA CONDIVISA

22 MPSOC 3 Novembre Distributed Memory COMUNICAZIONE ATTRAVERSO SCAMBIO DI MESSAGGI

23 MPSOC 3 Novembre 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 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 Users Tasks nodo A RTEMS MPCI Layer MPCI Layer Canale di comunicazione RTEMS Users Tasks nodo B COMUNICATION SCHEME

26 MPSOC 3 Novembre 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 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 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 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 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 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 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 DMA bus master BUS ARM Scratch-pad Memory DMA transfer DMA control Object table HARDWARE DETAIL

34 MPSOC 3 Novembre Portable systems become multi- tasked  Le nuove generazioni di terminali mobili (telefoni, PDA,...) offriranno un’ampia gamma di applicazioni:  GSM, Agenda, JPEG, MP3, SMS, , 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 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 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: DC misses Esecuzione in round robin: DC misses (timeslice 1mS) 5 task interleaved

37 MPSOC 3 Novembre 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 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 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 INDIPENDENT TASK

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

45 MPSOC 3 Novembre 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