matite e gomma

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0

Validazione XHTML 1.0 Validazione CSS 3
Logo del Dipartimento di Matematica e Informatica, Insegnamento di Sistemi dedicati, link al Forum

Progettazione di System-on-Chip (SoC)

Lezione 08 di Sistemi dedicati

Docente: Giuseppe Scollo

Università di Catania
Dipartimento di Matematica e Informatica
Corso di Laurea Magistrale in Informatica, AA 2019-20

Indice

  1. Progettazione di System-on-Chip (SoC)
  2. argomenti della lezione
  3. il concetto di sistema su chip
  4. interrelazioni dei principali componenti
  5. interfacce SoC per hardware custom
  6. principi di progettazione di architetture SoC
  7. elaborazione eterogenea e distribuita
  8. comunicazione eterogenea e distribuita
  9. memoria etereogenea e distribuita
  10. controllo gerarchico
  11. esempio: un SoC multimediale
  12. analisi del progetto di SoC in esempio
  13. riferimenti

argomenti della lezione

di che si tratta:

il concetto di sistema su chip

SoC: una piattaforma su singolo chip specializzata per un dominio applicativo

esempi di dominio:

esempi di applicazioni di elaborazione video:

vantaggi della specializzazione di dominio:

interrelazioni dei principali componenti

quattro dimensioni ortogonali di analisi di organizzazione e interrelazioni dei componenti in un SoC:

Schaumont, Figura 8.1 - schema generico di un sistema su chip

Schaumont, Figure 8.1 - Generic template for a system-on-chip

  • controllo
  • elaborazione
  • comunicazione
  • memoria

in questa architettura generica:

  • controllo di più alto livello da un microprocessore general-purpose (tipicamente RISC), funzioni di controllo specifiche da altri componenti
  • elaborazione, comunicazione e memoria sono sia eterogenee sia distribuite

interfacce SoC per hardware custom

i blocchi grigi in fig. 8.1 mostrano tre modi per inserire hardware custom in un SoC

nella progettazione di SoC, non vi è un solo modo migliore di integrare hardware e software

principi di progettazione di architetture SoC

alcuni fattori da bilanciare nel progetto di SoC:

quattro principi di progettazione per qualsiasi SoC:

elaborazione eterogenea e distribuita

eterogeneità hardware : FSMD, macchine microprogrammate, microprocessori RISC

l'elaborazione parallela al livello di task è possibile in un SoC grazie alla loro molteplicità

eterogeneità funzionale : unità computazionalmente diverse

grazie al parallelismo a tutti i livelli un SoC può sfruttare pienamente la tecnologia hardware, sotto due aspetti:

comunicazione eterogenea e distribuita

più segmenti di bus connessi da ponti possono evitare il collo di bottiglia del bus centrale

Schaumont, Figura 8.2- densità di instradamento in un chip CMOS 
          a sei strati di metallo da 90 mm

Schaumont, Figure 8.2 - Demonstration of the routing density in a six-layer metal 90 nm CMOS chip

un esempio dal fondatore di Tensilica, Chris Rowen sull'estremamente elevata larghezza di banda della comunicazione su chip:

ipotesi:

  • processore a sei strati di metallo da 90 nm, con due coppie di strati per l'instradamento
  • densità di linee: 4/μm, frequenza: 500 MHz

→ una larghezza di banda teorica di 40 Tbps!

la comunicazione off-chip è minore per ordini di grandezza

  • e.g. una connessione Hypertransport 3.1, uno standard per processori ad alta velocità, con 4 porte dà una larghezza di banda di ∼200 Gbps

memoria etereogenea e distribuita

l'eterogeneità delle memorie su silicio in un SoC è riassunta in tabella 8.1


 
 
Type
Register
Register
file
 
 
DRAM
 
 
SRAM
NVROM
(ROM, PROM,
EPROM)
NVRAM
(Flash,
EEPROM)

Cell size (bit) 10 transistors 1 transistor 4 transistors 1 transistor 1 transistor
Retention 0 Tens of ms 0 10 years
Addressing Implicit Multiplexed Non-muxed Non-muxed Non-muxed
Access time < 1 ns < 20 ns < 10 ns 20 ns 20 ns (read)
100 μs (write)
Power consumption High Low High Very low Very low
Write durability One million times

Schaumont, Table 8.1 - Types of memories

la memoria distribuita complica significativamente il concetto di uno spazio centralizzato di indirizzamento della memoria, quando i dati devono essere condivisi fra componenti

controllo gerarchico

una gerarchia del controllo fra i componenti assicura che l'intero SoC operi come singola entità logica

del controllo locale può essere esercitato da componenti dedicati, quali coprocessori o altro hardware custom, ma le loro operazioni e quelle del controllore centrale non sono del tutto indipendenti

il progetto di una buona gerarchia del controllo è una sfida problematica

a seconda della distribuzione del carico di lavoro, qualsiasi componente può essere un collo di bottiglia: la sfida per il progettista di SoC (o per il programmatore di una piattaforma) è di individuare tali colli di bottiglia del sistema e di controllarli

esempio: un SoC multimediale

caso di studio reale: un processore multimedia digitale da Texas Instruments

Schaumont, Figura 8.3 - diagramma a blocchi di un sistema 
          multimediale portatile

Schaumont, Figure 8.3- Block diagram of portable multi-media system

diversi modi operativi, fra cui:

  • live preview di immagini (default)
  • compressione video live (MPEG, MJPEG) e streaming su memoria esterna
  • cattura e conversione JPEG di immagini ferme ad alta risoluzione
  • cattura audio live e compressione MP3, WMA o AAC
  • decodifica video e playback su schermo video di stream registrata
  • decodifica e playback su schermo video di immagine ferma memorizzata
  • decodifica audio e playback
  • stampa di immagine memorizzata in formato adatto a stampa fotografica

analisi del progetto di SoC in esempio

quattro sottosistemi specializzati sono indicati in figura 8.3, centrati attorno al controllore SDRAM che organizza il traffico sulla grande memoria fuori dal chip, che contiene dati di immagine

le quattro proprietà discusse prima sono riconoscibili in questo chip:

riferimenti

letture raccomandate:

per ulteriore consultazione: