Title: Les systmes monopuce
1Les systèmes mono-puce
- Steven Derrien
- IRISA, équipe R2D2
2Plan de la présentation
- Introduction au SoC
- Technologies
- Méthodologies de conception
- La consommation électrique
- Les systèmes dinterconnexion
- Thèmes de recherches émergents
- Conclusion
3Système mono-puce kesako ?
- Système mono-puce System on a Chip (SoC)
- Système éléctronique complet intégré dans une
puce
- Circuit STM8000 (STMicro)
- Décodeur multi-standards pour lecteurs DVD
(audiovidéo) - Intègre processeurs, RAM, coprocesseurs dédiés,
etc. - Circuit mixte numérique analogique
4Système mono-puce pourquoi ?
5(No Transcript)
6Lexique parlez-vous le SoC ?
- SoC System on a Chip
- DSP Digital Signal Processor
- NoC Network on a chip
- IP Cur de propriété intellectuelle
- ASIC Application Specific Integrated Circuit
- RTL Register To Logic
- MCU micro-contrôleur
- DRAM RAM dynamique (dense, accès lents)
- SRAM RAM statique (rapide, chère)
- CNA/CAN convertisseur analogique/numérique
7DSP Digital Signal Processors
- Processeurs orientés vers le traitement de signal
- Conçu pour des traitements flot de données
- Essentiellement en arithmétique entière
- Unités de calcul fonctionnant en parallèle
- Traitements à base de MAC Multiply ACcumulate
- Adressage circulaire, boucles sans pénalités
- Algorithmes type filtres numérique RIF/RII,
FFT, DCT, etc. - Dans les SoC on intègre des curs de DSP
- Il faut les intégrer au reste su système
- Fabricants Texas Instrument, STMicro, Motorola
8Curs IP (Intellectual Property)
- IP bloc matériel préconçu qui peut être
intégré dans un circuit
9Lexique suite
- MCU Micro contrôleurs
- Processeurs orientés vers le contrôle
- À lorigine des processeurs très simples (PIC,
8051) - Aujourdhui essentiellement des RISC 16/32 bits
- NoC Network on a Chip
- Micro réseau intégré
- On va en parler plus en détail
- RTL Register to Logic
- Niveau de description dun circuit
- blocs combinatoires connectés par des registres
10Les systèmes mono-puce
11Les ASICs
- Approche full custom
- Conception au niveau transistor
- Permet des circuits mixtes analogique/numérique
- Effort de conception très important
- Surface réduite, performance très importantes
- Approche standard cell
- Utilise des librairies de cellules primitives
- Portes AND, OR, registres, SRAM, etc.
- Effort de conception réduit, performances souvent
proches du full-custom
12Flot de conception ASIC
13Coût de conception dun ASIC
- De plus en plus élevés, à la fois en production
et en conception - En 2001, moins de 10 des design d ASIC avaient
des volumes justifiant lutilisation dune techno
0.13 micron
Source DAC01 panel on embedded programmable
logic
14La logique programmable les FPGA
- Matrice de blocs logiques reliés par un réseau
dinterconnexion programmable
Fonctions logiques
Blocs logiques élémentaires
Circuit placé-routé
Fichier de configuration (bitstream)
0100101001 011001010
15La technologie FPGA en 2006
- Jusquà 200 000 cellules logiques élémentaires
- Cellule Look-up-Table registre
- Blocs mémoire configurables
- Blocs de 18kbits, au total jusquà 1Mo
- Structures dédiées pour les traitements
arithmétique - 512 multiplieurs 18x18 bits embarqués
- Processeurs embarqués
- Jusquà 4 PowerPC en dur
- Soft-Core processeurs utilisant les cellules
logique - Liaisons séries haut débit
- Jusquà 10 Gbits
- MAC Ethernet intégrée
- Reconfigurable dynamiquement
- Technologie encore immature
16Exemple FPGA Xilinx Virtex4
ROM programmable permettant démuler des fonction
combinatoires de 1 à 4 entrées
registres
17Flot de conception FPGA
Placement routage
bitstream
18FPGA versus ASIC
- Surface silicium dun FPGA
- Entre 3 et 5 du budget silicium utile
- Consommation électrique
- 3 et 10 fois supérieure en mode fonctionnement
- 100 fois supérieure en mode veille
- Performances (fclk)
- 3 et 10 fois plus lents
- Intérêt des FPGA ?
- Time to market
- Petit/Moyen volume (lt100.000 unités)
19Les systèmes mono-puces
- Les méthodologies de conception
20Productivity GAP
- évolution comparée du temps de conception dun
circuit et du nombre de portes disponible
Design productivity gap
10,000
100,000
1,000
10,000
100
1000
Capacité des circuits intégrés
Gap
Transistors par puce (en millions)
10
100
Productivité (K)Transistors par Homme-Mois.
1
10
0.1
1
productivité
0.01
0.1
0.001
0.01
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
21Ou va leffort de conception ?
Source IBS 2002
22Exemple dapplication MPEG
zigzag scan
Q
DCT
-
Flux dimages
IQ
VLC
Informations de profilage
IDCT
Flux compréssé
- DCT transformée en cosinus
- IDCT DCT inverse
- Q Quantification
- IQ Quantification inverse
- VLC Variable length coding
Motion Estimation
23Définition dune architecture
Timer
IDE
UART
DRAM
DSP
DSP
Bus
ADC
Video input
Bridge
Bus
MCU
Cache
application specific hardware
SRAM
CPU2
24Mise en uvre
Partitionnement logiciel/matériel
DSP
DSP
IDCT
Q
Bus
DCT
IQ
Bus
Motion Estimation
Contrôle
VLC
-
zigzag scan
25Mise en uvre
Gestion des communications et du stockage des
données
DSP
DSP
IDCT
Q
Bus
DCT
IQ
Bus
Motion Estimation
Contrôle
VLC
-
zigzag scan
26Remarques
- Architecture parallèle et hétérogène
- Un air de déjà vu .
- Il y a deux sous problèmes
- Définition de larchitecture
- Mise en uvre sur larchitecture
- Ils ne sont pas indépendants
- Le choix de larchitecture impose des contraintes
sur la mise en uvre et ses caractéristiques. - On va devoir explorer lespace des solutions
- Quelle est létape qui doit bénéficier du plus
gros effort de conception?
27Conception basée plate-forme
- Notion de généricité et de réutilisation
- Plate-forme orientée vers un domaine
dapplication - Traitement de paquets, multimédia,vidéo
- Base dutilisation la large possible
- Permet la différenciation des produits
- Concrètement ?
- Assemblage de plusieurs CPU
- ISA/microarchitecture génériques
- Bus dinterconnexion standardisé
- OS temps réels et pilotes génériques
28Conception basée plate-forme
Architecture finale
Approche plate-forme
Approche descendante
29Exemple doutil SOPCBuilder
- Permet de concevoir rapidement un modèle de
plate-forme pour FPGA (Altera) - Famille de processeurs NIOS,
- RISC 32 bits qui peut être dérivé en plusieurs
configurations - Ensemble de périphériques standards
- Timer, UART, DMA, etc. avec pilotes logiciels
- Wizard pour lintégration daccélérateurs
matériels - Génère un squelette dinterface matérielle et de
pilote - Systèmes dexploitation temps-réel disponibles
- uCLinux, uC-OSII, etc.
- Support pour multiprocesseurs
30Exemple doutil SOPCBuilder
31Les systèmes mono-puces
- Les langages de conception matériels
32VHDL
- Langages de description de matériel
- On décrit un circuit, on ne programme pas
- Initialement prévu pour modéliser et simuler des
circuits - Moteur de simulation (événements discrets)
- Extension pour la gestion de modules analogique
(VHDL-AMS) - Utilisé pour la synthèse logique de circuits
- Produire une représentation au niveau porte
logique - Sémantique trop générale pour cette
utilisation - Sous-ensemble synthétisable (également appelé
RTL). - En pratique essentiellement des circuits
synchrones - Problème dapprentissage, beaucoup de savoir-
faire - Il faut 3-4 ans pour devenir un bon
concepteur de circuit
33VHDL exemple (niveau RTL)
- Filtrage numérique non récursif
Entity FIR is port ( clk in
std_logic rst in std_logic
Xin in std_logic_vector(15 downto 0)
Yout out std_logic_vector(15 downto
0)) End FIR Architecture RTL of FIR is type
TCoef is array (0 to 7) of integer constant C
TCoef (-75,133,-387,626,-865,1345,-2234,4234,
16) signal x is array (0 to 15) of
std_logic_vector(15 downto 0) Begin P_FIR
process (clk) variable tmp
std_logic_vector(47 downto 0) begin if
rising_edge(clk) then sum 0 for
i in 0 to 7 loop sum sum
int2slv(c(i),16)(x(i)x(15-i)) end loop
-- i yout lt tmp(31 downto 16) x lt
x(14 downto 0) Xin end if End
process End RTL
34VHDL limites
- Niveau de modélisation trop fin
- Difficile dexplorer lespace de conception en
RTL - Vitesse de simulation très lente
- Rédhibitoire pour de la co-simulation (softhard)
- Simuler le démarrage dun OS 10 heures
- Autres critères ?
- VHDL offre peu dinteropérabilité
- Les spécifications système sont souvent en C
- Banc de tests difficiles à intégrer
- Langage difficile à maîtriser
35System-C
- Langage de description système
- Standard ouvert , pas besoin de simulateur
- Basé sur des classes C
- Processus, type de données spécifiques
- Interaction avec le système plus facile
- Orienté simulation de systèmes
- Plus rapide que VHDL ?
- Langage pas/peu orienté synthèse logique
- Encore peu utilisé par les concepteurs de
circuits
36SystemC modèle TLM
- TLM Transaction Level Modeling
- Modèle ensemble de tâches communicantes
- Permet dexplorer différents schéma dallocation
- Abstraction fonctionnelle des communications
- Essentiellement utile pour modéliser des bus
- Pas dinformation temporelle associée au modèle
- Pas de prise en compte de la congestion
- Exemple
-
- int paquet1,2,3,4
- bus-gtburst_write(0x1200,paquet,4)
37SystemC niveau CABA
- CABA Cycle Accurate Bit Accurate
- Modèle dexécution précis
- Simulateur de jeux dinstruction pour les
processeurs (précis au niveau cycle). - Modèle comportementaux des mémoire (latence,
etc.), du système dinterconnexion. - Modèle comportementaux/RTL des co-processeurs
matériels spécialisés. - Estimation relativement précise
- Exploration de lespace de conception se fait
entre les niveau TLM et CABA
38Les systèmes mono-puce
- La consommation électrique
39Pourquoi sy intéresser ?
- Pour les dispositifs mobiles
- Maximiser lautonomie
- Diminuer la taille de la batterie
- Fiabiliser les circuits
- Éviter les hotspot dans un circuit intégré
- Réduire le coût des produits
- Systèmes dalimentation
- Part important du coût dun système électronique
- Coût de conditionnement
- Boîtiers, radiateurs, ventilateurs
40Tendance technologiques
41Consommation en logique CMOS
- Circuits intégrés conçus en technologie CMOS
- Ces transistors dissipent de lénergie
- Tout le temps (puissance statique)
- Quand ils changent détat (puissance dynamique)
Inverseur en logique CMOS
42La puissance dynamique
- Causée par les commutations successives
- On charge/décharge la capacité Cload
- La valeur de la puissance dissipée dépend
- De la fréquence de changement détat (a)
- De la capacité équivalente du transistor (Cload)
- De la tension dalimentation (Vdd)
43La Puissance statique
- Causée par les courants de fuites
- La valeur de la puissance dissipée dépend
- Des tensions de seuil et dalimentation (Vth,Vdd)
- De la technologie CMOS utilisée (k)
- De la température absolue (T)
44Comment réduire Pdyn
- Domaine de recherche actif depuis 10 ans
- Réduire le taux de commutation des transistors
- Encodage/arithmétique spécifique (gray, etc.)
- Input gating et clock gating gèl des entrées
dun bloc quand cest possible - Limiter les glitch (régimes transitoires)
- Réduire la fréquence (fclk)
- Ne doit pas se faire au détriment de la surface
- Réduire la tension Vdd
45Choix des tensions Vth et Vdd
- Réduction de Vdd
- Diminue la consommation dynamique (facteur Vdd2)
- Augmente le délai de commutation des transistors.
Un circuit alimenté en 1,4V fonctionne 2x plus
lentement quun circuit en 2,5V, mais consomme 3x
moins
Comment tirer profit de ce compromis ?
46Choix des tensions Vth et Vdd
- Réduction de Vth (tension de seuil)
- Réduit le délai de commutation (seuil faible)
- Augmente la puissance statique (exponentielle)
- Doit être fait conjointement avec Vdd
47Compromis Pstat/Pdyn
- Globalement on a un compromis entre
- La rapidité de commutation du transistor
- La consommation du circuit
- Peut-on saccommoder de transistors lents ?
- Oui, si on utilise de pipeline dans les
processeurs - On conserve la même fréquence de fonctionnement
avec un Vdd réduit. - Oui, en exploitant du parallélisme
- Deux processeurs cadencés à f/2 consomment 1,5
fois moins de puissance statique.
48Compromis Pstat/Pdyn
Puissance statique dominante
Puissance dynamique dominante
Source C. Piguet
49Lien entre logiciel et consommation ?
- Efficacité du code
- code rapide f processeur ? Vdd ?
- Taille du code et des données
- code gros mémoire de code ? Cequ ?
- Idem données
- Nombre daccès à la mémoire
- Les accès bus sont coûteux en énergie
- Importance de la hiérarchie mémoire
50Tendances technologiques
Puissance statique
source ITRS
Puissance dynamique
À lavenir, faible consommation peu de
transistors, mais très bien utilisés
51Les systèmes mono-puce
52Interconnexion de type bus
- Système dinterconnexion à temps partagé
- Relier le processeur à la mémoire périphériques
- Exemple le bus ISA (circa 1980)
- On retrouve la même chose dans un SoC
Adresses
UC
Vidéo
Audio
Mémoire
Disquette
Données
53Les bus on-chip
- Conçus pour les SoC
- Toutes les transactions se font en interne
- Moins de contraintes extérieures
(connecteurs,etc.) - Plusieurs standards existent
- Les principaux standards
- La norme AMBA (essentiellement autour des
processeurs ARM) - La norme CoreConnect définie par IBM pour ses
PowerPC - La norme STBus, définie par STMicro (usage /-
interne) - La norme Avalon utilisée par Altera (SOPCBuilder)
- Caractéristiques
- Protocoles complexes, avec plusieurs maîtres
- Bus orienté haute performances (transferts en
rafale ) - Protocole simplifié si la performance nest pas
une contrainte
54Connexions point à point
- Utilisé pour relier des blocs qui effectuent des
traitements de type flot de données. - Utilisation de mémoires tampons (FIFO)
matérielles - Synchronisation par les données beaucoup simple
- Exemple MPEG
55Interconnexions Crossbar
- Très utilisé dans les routeurs haute performance
- Très coûteux en ressources
s
I
Arbitre
s
56Les interconnexions besoins
- Passage à léchelle
- Pour la bande passante/latence ? la taille du
système - Flexible
- Plusieurs configurations, bandes passantes
réglables - Offre un connectivité entre chaque paire dIPs
- Compositionnel
- Permet lassemblage de sous-systèmes
- Efficace
- Coût (en silicium)
- Dissipation dénergie
- Pérenne pour les futures technologies (llt45nm)
- Bruit, interférences, baisses de courant, soft
errors - Gestion de plusieurs domaines dhorloge (e.g.
GALS)
57Aujourdhui
s
Emetteur
interface
Arbiter
interface
Arbiter
Récepteur
I
s
Bus partagé
Point à point dédié
Réseau cross-bar
- De plus, ces solutions ne sont pas adaptées aux
futures technologie sub-microniques (45nm et
moins)
Source Phillips
58Demain
- Des centaines de blocs IP interconnectés en 2012
? - Taille des blocs constante, mais leur nombre va
augmenter - Des schémas dinterconnexion dynamiques.
- Algorithmes dont les comportement dépendent des
données - Plus de 100 cycles horloge pour traverser le
circuit - Aller-retour 200 cycles, sans arbitrage
- gagner de la BP ? augmenter le grain de
communication - Les connexions directes ont des taux derreur
élevés. - Gestion des erreurs par le système
dinterconnexion.
59Solution Networks on Chip (NoC)
- NoC réseau sur puce, micro réseau, etc.
- Communications entre IP sont gérées par un réseau
- Réseau multi saut routeurs connectés en Point à
Point - Routeurs retransmettent les paquets de données
- Un routeur est un bloc IP du système comme les
autre
cross-bar switch
Stockage des paquets
Réseau sur puce
arbitre
router node
Blocs IP fonctionnels
Source Phillips
60Coût des interconnexions
- Les solutions extrêmes ne sont pas intéressantes
pour des communications globales - Bon compromis PàP Multiplexage temporel
- high utilization, few wires
- high frequency, pipelining repeater insertion
possible
Source Phillips
61Bilan
Intéressant, mais Encore trop coûteux
Trop coûteux en surface
Point à point dédié
Performance trop faibles
Bus partagé
Source Phillips
62Les systèmes mono-puce
63La variabilité
- Cas dun transistor en techno 130nm
1.4
Fréquence 30 Courant De fuite 5-10X
1.3
30
1.2
1000 échantillons
Fréquence maximum
1.1
5X
1.0
0.9
1
2
3
4
5
Courants de fuite
64Conclusions ?