Università degli studi di Bologna
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

Università degli studi di Bologna Facoltà di ingegneria PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on
  • Presentation posted in: General

Università degli studi di Bologna Facoltà di ingegneria. Exploring the MPSoC Design Space: the MPARM environment. Francesco Poletti DEIS Università di Bologna [email protected] Outline. Archittetture parallele su singolo chip;. Sistema operativo Embedded RTEMS;.

Download Presentation

Università degli studi di Bologna Facoltà di ingegneria

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Universit degli studi di bologna facolt di ingegneria

Università degli studi di Bologna

Facoltà diingegneria

Exploring the MPSoC Design Space: the MPARM environment

Francesco Poletti

DEIS Università di Bologna

[email protected]


Outline

Outline

  • Archittetture parallele su singolo chip;

  • Sistema operativo Embedded RTEMS;

  • Sviluppo di un Hardware decidato: DMA sulla piattaforma MPARM;

  • Utilizzo della piattaforma MPARM e alcuni benchmark.


Universit degli studi di bologna facolt di ingegneria

Problem: The Productivity Gap


Mpsoc idea

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.

MPSOC IDEA…

  • Lo sviluppo tecnologico permette sempre maggiori capacità d’integrazione.

  • Difficoltà progettuale.


Mpsoc architecture

MPSOC ARCHITECTURE

CORE

DSP

adapter

extmem

extmem

adapter

COMMUNICATION HW

MPEG

CORE

extmem

adapter

adapter

extmem

ROM

RAM


Comunication topologies

  • BUS CONDIVISO

    • Prestazioni medie;

    • Bassa occupazione d’area;

    • Semplicità dell’interfaccia IP.

SLAVE

SLAVE

SLAVE

SHARED BUS

MASTER

MASTER

MASTER

  • NETWORK

    • Elevate prestazioni;

    • Alta occupazione d’area;

    • Scalabilità.

Network on Chip

COMUNICATION TOPOLOGIES

Bus Condiviso : sviluppo odierno

Network => futuro


Outlines of the amba bus

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


Universit degli studi di bologna facolt di ingegneria

Outlines of the AMBA bus

Master per accedere al bus deve richiederne l’utilizzo all’arbitro.

Multiplexer per i dati e per gli indirizzi “pilotati” dall’arbitro.


Universit degli studi di bologna facolt di ingegneria

System architecture – AMBA AHB BUS modules

mast

ctrl_sign

hgrant[ ]

hmaster

selector

hreq[ ]

hready

address

hwdata

N

hreq

N

hrdata

hgrant

hready

Address and control mux

N

mast[ ]

haddr

hmaster

ctrl_sign

address[ ]

N

Write data mux

N

mast[ ]

hwdataout

hmaster

N

hwdata[ ]

selector

Read data mux

N

hsel[ ]

hrdata

N

hready

haddr

hsel[ ]

readdata[ ]

N

decoder

arbiter

haddr

hwdataout

hsel

hmaster

ctrl_sign

readdata

ready

AHB I/F slave module

AHB I/F master module


Arbitration algorithms

Master #1

Master #2

Master #N

SLOT DURATION

Master #4

Master #1

Master #4

Master #3

Master #1

Master #2

ARBITRATION ALGORITHMS

  • TRE DIFFERENTI POLITICHE

  • DI ARBITRAGGIO :

  • TDMA

  • Round robin

Master #2->N Round robin

  • SLOT reservation

Master #1

SLOT RESERVATION


Stbus shared bus

STbus – Shared Bus


Stbus full crossbar

STbus – Full Crossbar


Stbus partial crossbar

STbus – Partial Crossbar


Read on amba bus

Read on AMBA bus


Read on stbus

Read on STbus


Protocol differences

Protocol differences


Comparison

Comparison


Mapping applications to mpsocs

B

T1

T3

T2

E

Mapping applications to MPSoCs

  • Utilizzo dell’hardware come supporto alla comunicazione?

  • QoS o Best Effort?

  • Primitive per la comunicazione tra i task e i processori.

  • Programmazione parallela.

Applications

Abstract Parallel architecture

M

IO

PE

NoC

PE

M

PE


Programming abstractions

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


Shared memory

Shared Memory

  • COMUNICAZIONE ATTRAVERSO SPAZIO DI MEMORIA CONDIVISA


Distributed memory

Distributed Memory

  • COMUNICAZIONE ATTRAVERSO SCAMBIO DI MESSAGGI


Real time embedded os

REAL TIME EMBEDDED OS

  • Sistema operativo RTEMS:

    • Compatibile con lo standard POSIX.

    • (primitive di sincronizzazione e comunicazione tra task).

    • Multitasking.

    • Supporto multiprocessore (MIMD).

  • Applicazioni per un numero scalabile di processori.

  • Comunicazione tra i processori: memoria condivisa come canale

    di comunicazione, message passing a livello applicativo.

Le comunicazioni originano traffico

Transazioni sul bus

Impatto sulle prestazioni del sistema


Universit degli studi di bologna facolt di ingegneria

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)


Universit degli studi di bologna facolt di ingegneria

Canale di

comunicazione

nodo A

nodo B

Users

Tasks

Users

Tasks

RTEMS

RTEMS

MPCI

Layer

MPCI

Layer

COMUNICATION SCHEME


Universit degli studi di bologna facolt di ingegneria

User task

Canale di

comunicazione

RTEMS

MPCI Layer

1

2

4

6

GET_PACKET

SEND_PACKET

3

Rilascia un pacchetto

Invia il pacchetto

Attraverso il canale

Rtems_event_send

Si accorge

che è un task

globale

Costruisce il

messaggio per

l’altro processore


Universit degli studi di bologna facolt di ingegneria

Sull’altro nodo …

User task

RTEMS

Canale di

comunicazione

Sente l’arrivo del

pacchetto e chiama la

rtems_multiprocessing_announcing

7

9

10

RECEIVE_PACKET

Legge dal canale

E inoltra il messaggio

Al S.O

8

Manda il messaggio

Al Task

MPCI Layer


Hardware side

User task

Rtems_message_send

RTEMS

GET_PACKET

build the message

MPCI Layer

write to interrupt slave

HARDWARE SIDE

PROC #X

SHARED BUS

SHARED MEMORY

INTERRUPT SLAVE #Y

PROC #Y


Universit degli studi di bologna facolt di ingegneria

Application level

Semaphore Acquisition

Shared Memory Write

Interrupt Send

Semaphore Realise

PROC #X

SHARED BUS

INTERRUPT SLAVE #Y

PROC #Y

WITHOUT OS SUPPORT

SEMAPHORE

SHARED MEMORY


Mparm

MPARM

ARM

ARM

ARM

ARM

INTERRUPT

CONTROLLER

INTERCONNECTION

or AMBA

STbus

PRI MEM 1

PRI MEM 2

PRI MEM 3

PRI MEM 4

SHARED MEM

SEMAPHORES


The processing element

The simulations are cycle accurate

(~ 24 Kcycles/sec)

The processing element

bus master

SystemC wrapper

BUS

SWARM

external int

  • SWARM accurato al ciclo di clock;

  • Il wrapper e’ un Modulo SystemC;

  • Le Memorie e tutti gli altri slave sono Moduli SystemC


Development of a dma

Scratch

bus master

DMA

Object table

BUS

Development of a DMA

SystemC wrapper

bus master

SWARM

BUS

Core

external int

I/D cache


Universit degli studi di bologna facolt di ingegneria

ARM

DMA control

Object table

DMA transfer

bus master

BUS

HARDWARE DETAIL

Scratch-pad Memory

DMA


Portable systems become multi tasked

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


Round robin scheduling

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

Task stopped

time


Let s quantify the effect of multi threading on the memory

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


Universit degli studi di bologna facolt di ingegneria

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

=


Universit degli studi di bologna facolt di ingegneria

Proc.1

Proc.2

Proc.3

PUNTO DI

SINCRONIZZAZIONE

FLUSSO

D’ESECUZIONE

  • Task mutuamente dipendenti;

SHARED BUS

  • 2. Task indipendenti;

Private Mem.1

Private Mem.2

Private Mem.3

3. Task in pipeline;

SCAMBIO DI DATI

COMUNICAZIONE

TRA PROCESSI

PERFORMANCE ANALYSIS

Tre differenti benchmark che rappresentano tre diversi tipi traffico sul bus:


Mutually dependent tasks

MUTUALLY DEPENDENT TASKS

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.


Indipendent task

INDIPENDENT TASK


Task in pipeline

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


Indipendent task1

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).


Task in pipeline1

Producer

Consumer

Bus access

Bus access

Bus access

Bus access

Crea una coda nella sua mem.

Scrive un messaggio nella coda

Richiede un messaggio

Bus access

Bus access

Interrompe il producer

Legge la richiesta

nella mem. condivisa

Bus access

Scrive il msg. nella shared

Interrompe il consumer

Legge il msg. dalla shared

Bus access

Questo meccanismo di hand-shake non è

efficientemente supportato dal TDMA

TASK IN PIPELINE

Implementazione del meccanismo di comunicazione ad alto livello:


Comparison 1

Comparison - 1


Comparison 2

Comparison - 2


  • Login