Architetture Network on Chip. Paolo Meloni Universita degli studi di Cagliari

Documenti analoghi
Reti di Calcolatori:

Architetture di rete. 4. Le applicazioni di rete

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte

Il Sottosistema di Memoria

Un semplice commutatore a pacchetto

Topologie delle reti di telecomunicazione

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Protocolli e Architetture. Dr. Greco Polito Silvana


Internet (- working). Le basi.

Caratteristiche di un PC

Internet protocol stack

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Elementi di Reti per Telecomunicazioni

Il Sottosistema di Memoria

La gestione dell I/O (Cap. 5, Tanenbaum)

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Sistemi VLSI Alberto Scandurra

Interfacciamento di periferiche I/O al μp 8088

network subnet host Classe A poche reti di dimensioni molto grandi 127

Sono dispositivi che consentono di interconnettere tra loro due o piu reti, permettendo:

Fondamenti di Internet e Reti

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Architetture di router IP

Le sue caratteristiche:

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet

di Napoli Prof. Antonio Fratini

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di calcolatori. Lezione del 10 giugno 2004

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Dr. Greco Polito Silvana. LAN: Local Area Network

Architetture di router IP

Università degli Studi di Bergamo

Transparent Networking e tecnologie di virtualizzazione della rete. M. Caberletti (INFN-CNAF) A. Brunengo (INFN Genova)

Il sistema di ALLERTA di alimenti e mangimi IL NODO REGIONALE

Modulo 8 Ethernet Switching

Laboratorio di Informatica

Elementi di base del calcolatore

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

Indirizzi IP. E-3: Indirizzi IP e subnetting INSTRADAMENTO INSTRADAMENTO. A. Memo. da H1 ad H2 (2) da H1 ad H2 (1)

bridge / switch il cuore delle lan g. di battista, m. patrignani copyright 2011 g. di battista, m. patrignani nota di copyright

5. Fondamenti di Internet e Reti Esercizi. 5. Esercizi sul Livello di Linea e Reti Locali Esercizio TDM

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

IP Internet Protocol

Reti di Calcolatori. Il software

Laboratorio software. A.A C. Brandolese

Le tecnologie ed i componenti di Ethernet

Tecnologie dei Sistemi di Automazione e Controllo

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Corso di Calcolatori Elettronici I

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Ripetitori, bridge, switch, router

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Le aree dell informatica

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Dr. Greco Polito Silvana. LAN: interconnessione

Bandwidth on Demand. Realizzazione di un testbed per l allocazione dinamica di canali e2e con prenotazione della banda

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Processi, Threads e Agenti

Reti di Telecomunicazione Lezione 8

2. Principi di funzionamento della rete Ethernet/802.3

Università degli Studi di Bologna SVILUPPO DI UN AMBIENTE DI SIMULAZIONE PER ARCHITETTURE MULTIPROCESSORI SU SINGOLO CHIP

TCP/IP. Principali caratteristiche

Protocolli di Comunicazione

Elementi base per la realizzazione dell unità di calcolo

NAT: Network Address Translation

NETWORK ITALIANO CIVINET

Radio Frequency Identification (RFID)

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Laboratorio di Architettura degli Elaboratori

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Alcune idee sui sistemi software e la loro architettura

Reti di Calcolatori. Lezione 2

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Il progetto SIMULATOR

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 4

INFOCOM Dept. Antonio Cianfrani

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

Reti di Calcolatori IL LIVELLO RETE

Corso di Sistemi di Elaborazione delle informazioni

4 - Il livello di trasporto

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Reti di calcolatori: Introduzione

Reti di computer. Agostino Lorenzi - Reti di computer

Comunicazione On-Chip: dal bus al NoC

Numero Unico Regionale ARPAT per la sua attivazione in emergenza ambientale

Capitolo Acquisizione dati con PC

Lezione 3 Progettazione di siti

TOPOLOGIA DELLE RETI 1. Tipi di canale 1. topologia a maglia completa 2. Topologia ad albero 3. Topologia a stella 3

2016 PostFinance. Possibili errori

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S / / 2011

Manutenzione programmata a gestione locale o remota: sicurezza ed efficienza dei siti di produzione Mauro Cerea Siemens

Transcript:

Architetture Network on Chip Universita degli studi di Cagliari

Info Paolo MELONI Dipartimento di Ingegneria Elettrica ed Elettronica Padiglione B, secondo piano Tel. 070675 5774 Email: paolo.meloni@diee.unica.it

Sistemi di interconnessione on-chip Sono le strutture che, all interno di un sistema on-chip, permettono la comunicazione tra le unità funzionali Ogni IP CORE connesso al sistema comunica con l esterno inviando un certo numero di informazioni per ogni operazione. Dal punto di vista del sistema di comunicazione ogni scambio di informazioni tra core è vista come una transazione Per DSP PU1 Mem 1 PU2 Mem 2 trasferimento di un indirizzo un dato un certo numero di informazioni di controllo

Sistemi di interconnessione shared bus I sistemi di interconnessione più semplici sono quelli di tipo shared bus Tutti i core sono connessi a una struttura di comunicazione condivisa (tipicamente un fascio di wire), che può essere pilotata alternativamente dai vari core ad essa connessi. Tipicamente le informazioni sul bus sono trasmesse in broadcast. Allo stato dell arte vengono utilizzate strutture più complesse in cui elementi shared sono interconnessi tra loro per ottenere un miglioramento in performance.

Architetture Network on Chip Nascono come una soluzione alternativa ai sistemi di tipo shared bus. Tali sistemi mostrano infatti problemi di scalabilità a livello Funzionale tecnologico Vengono mutuate a livello on-chip le tecniche di comunicazione packet-switched già studiate nel campo delle interconnessioni tra computer

Scalabilità funzionale I sistemi di tipo shared bus sono strutture di tipo condiviso. Le unità connesse non possono accedere contemporaneamente alla risorsa di comunicazione. La banda di comunicazione disponibile per ogni core diminuisce con l aumento dei core connessi alla rete Esempio: Bus condiviso - 32 Bit Frequenza di funzionamento=100 MHz Traffico sostenibile dal bus= 32 Bit *100*10 6 *sec -1 = 3,2 Gbit/sec Numero di IP core connessi = 4 Traffico iniettabile da ogni core (av.)= 0,8 Gbit/sec Numero di IP core connessi = 8 Traffico iniettabile da ogni core (av.)= 0,4 Gbit/sec

Scalabilità aspetto tecnologico Con lo scaling dei processi tecnologici Il ritardo relativo alle porte logiche diminuisce Il ritardo relativo ai wire di interconnessione rimane costante o aumenta In fase di implementazione su silicio, la gestione dei lunghi wire tipici dei sistemi bus-based risulta critica e limitante per le performance in termini di Delay : il ritardo legato alle interconnessioni influisce in maniera significativa sulla massima frequenza di funzionamento dell intero sistema. Power: i wire sono caratterizzati da un valore di capacità non più trascurabile, quindi le celle che si occupano di pilotare il valore di tali wire saranno caratterizzate da un elevato consumo di potenza.

Shared bus system layout AHB subsystem 1 AHB subsystem 2 TG PM PM MAS MAS Shared devices AHB subsystem 3 AHB subsystem 4 AHB subsystem 5

Architetture Network on Chip CPU Memory switch link network interface CPU DSP Memory Una architettura NoC è formata da diverse istanze di tre blocchi fondamentali: Network interface: si occupa di operare la conversione per adattare il protocollo di comunicazione tipico dei core al protocollo a pacchetti tipico della rete NoC Switch: si occupa delle operazioni di routing. Link: è la struttura fisica (tipicamente un fascio di wire ma può contenere anche dei repeater) che collega gli switch tra loro e con le NI

Soluzione dei problemi riguardanti la scalabilità I NoC forniscono alcune feature che permettono di sopperire alle carenze di scalabilità dei sistemi bus-based Tra queste: Supporto contemporaneo di transazioni multiple Segmenti al posto di linee globali: Comunicazione a pacchetti Disponibilità di diversi gradi di libertà per il progettista: topologia routing ampiezze dei bus numero di porte controllo di flusso

Network on chip layout P0 P3 P6 M0 M3 M6 T0 T2 P7 S0 S2 M7 P1 P4 T4 M1 M4 S4 P2 T3 P8 M2 S3 M8 T1 P5 P9 S1 M5 M9

Concetti base Topologia Unità di informazione Algoritmi di routing Implementazione

Unità di informazione Messaggio: unita logica di informazione di dimensione maggiore (solitamente coincide con tutto l insieme di informazione inclusa nella transazione). Pacchetto: unità logica minima trasferibile attraverso il protocollo di rete. Flit: (flow control unit) unità logica trasmissibile dal punto di vista della policy relativa al controllo del flusso. Phit: (physical unit) unità logica fisicamente trasmissibile attraverso il link. Spesso coincide col flit.

Topologia La topologia identifica la maniera in cui i nodi della rete (gli switch )sono interconnessi tra loro Inputs 00 01 10 11 20 21 Outputs 00 01 10 11 20 21 30 31 Butterfly 02 12 22 02 12 22 32 Torus 03 13 23 33 Spidergon 03 13 23 Mesh 1 2 00 10 20 30 Hypercube 0 3 01 11 21 31 Balanced or unbalanced tree Un ruolo molto importante è rivestito dalle topologie irregolari: possono essere configurate in maniera ottimale in base alla applicazione in uso 7 6 5 4 02 03 12 13 22 23 32 33

Algoritmo di routing Esistono diverse classificazioni degli algoritmi di routing: a) In base alle informazioni di cui si tiene conto durante la generazione del percorso di routing Routing deterministico: la generazione del percorso di routing avviene solo in base alla conoscenza di informazioni riguardanti l'indirizzo del sorgente e l'indirizzo del destinatario, trascurando qualunque informazione relativa allo stato in cui versa la rete. Routing semi-deterministico: la coppia sorgente destinatario, a differenza di quanto accade nel routing deterministico, non identifica in maniera univoca un percorso, ma piu percorsi diversi, da scegliere casualmente o in maniera ciclica. Routing adattativo: vengono utilizzate le informazioni relative al traffico ed allo stato della rete per determinare il percorso di routing, allo scopo di non incappare in congestioni o guasti gia vericati.

Algoritmo di routing b) In base al punto della rete in cui vengono prese le decisioni riguardo al percorso di routing source routing: il percorso che dovrà seguire un pacchetto è determinato al nodo sorgente e il compito dei diversi switch è solo quello di leggere nell'header di ogni pacchetto in quale uscita devono essere smistati i diversi pacchetti. K uscite per ogni switch e N switch da attraversare numero di bit richiesti per la codifica del path = N log2 K. routing distribuito: la funzione di routing è calcolata in ogni switch per ogni pacchetto che lo attraversa. L'header contiene solo l'informazione dell'indirizzo della destinazione finale: spetta allo switch stesso scegliere verso quale uscita indirizzarlo. routing ibrido: a monte si calcolano solo alcune destinazioni parziali, più ovviamente quella finale. Gli switch provvedono nel dare la giusta direzione ai pacchetti che transitano in zone intermedie; routing centralizzato: in questo caso la caso la funzione di routing è stabilita da un controllore centralizzato.

Blocchi base: Network Interface La network interface si occupa della codifica delle informazioni che un core intende trasferire secondo il protocollo di rete. Il core comunica verso l esterno tramite un suo particolare tipo di interfaccia (tipicamente di tipo bus-based) La NI converte la transazione iniziata dal core in pacchetti Esistono in generale due tipi di Network Interface: NI master : interfaccia con un core di tipo slave NI slave : interfaccia con un core di tipo master header payload

Blocchi base: Switch Lo switch si occupa di istradare i flit attraverso la rete. Ha un certo numero di porte di ingresso e un certo numero di porte di uscita Generalmente contiene le risorse di buffering che servono per ridurre la congestione e per evitare perdite d informazione A seconda del tipo di politica di routing scelto deve decodificare o meno l indirizzo destinazione ed analizzare o meno ogni flit Input port 0 Input port 1 Input port 2 Input port 3 CrossBar 4-inputs Arbiter 4-inputs Arbiter 4-inputs Arbiter 4-inputs Arbiter 4x1 4x1 4x1 4x1 Output port 0 Output port 1 Output port 2 Output port 3

Politica di switching Circuit Switching : il primo flit del primo messaggio, contenente le informazioni di routing, viene inviato alla rete e ogni volta che il flit attraversa uno switch prenota il percorso. Un segnale di acknowledgment viene trasmesso alla sorgente e quando viene ricevuto, questa spedisce a piena banda tutti gli altri flit lungo il medesimo circuito, che viene liberato solo dopo la conclusione del messaggio. Packet Switching: Store-and-Forward : tutti i flit di un pacchetto vengono pacchetti, che vengono memorizzati completamente in ogni switch prima di essere ritrasmessi a quello seguente. Wormhole Switching : l informazione riguardo al routing di tutto il pacchetto contenuta nel primo flit. Lo switch analizza solo il primo flit e instrada tutti gli altri flit del pacchetto nella stessa direzione sino alla ricezione dell ultimo flit. La bufferizzazione può avvenire attraverso stadi di pipeline nel link di collegamento fra switch.

Blocchi base - Link Sono i collegamenti fisici tra switch e switch e tra switch e NI Hanno una larghezza (in bit) che determina la massima quantità di informazione trasferibile per ogni colpo di clock (il phit). Di solito questa larghezza coincide anche col flit Possono contenere dei repeater che permettono di rigenerare il segnale o degli stadi di buffering che permettono di mantenere la frequenza di funzionamento della rete indipendentemente dalla lunghezza dei link Switch A Switch B

Implementazione Xpipes NoC architecture Architettura sviluppata qui a Cagliari in collaborazione con Stanford University Ca, USA EPFL Lausanne, Svizzera Universtità di Bologna Features Topologia completamente configurabile Supporto per le topologie irregolari Blocchi completamente configurabili Source routing deterministico Wormhole swithching

Implementazione Xpipes NI 00000 MAddr MCmd MBurstSeq MBurstPrecise MBurstLength SOURCE PATH MData MByteEn MBurstLength Burst encoding regheader regpayload pload SCmdAccept Data Handshake signals hload from FSM hload sel_out FSM flit_type flit_type req_tx ID stand_by {, } FAST-CLK HANDLER fast clk flit full_id ID_REGISTER ni_slave_req_phase

Implementazione Xpipes switch