2. M1Info-ASE 2
Plan
1. Présentation générale
2. Notions de bases de micro-électronique
Introduction à la technologie CMOS
La « loi de Moore » et ses conséquences
La consommation dans les circuits VLSI
3. Différents types de technologies
Les ASICs (Application Specific Integrated Circuits)
Les circuits FPGA et la logique programmable
4. Les systèmes mono-puce (System on a Chip)
Définition et exemples
Flot de conception d’un systèmes mono-puce
5. Interconnexions pour System on a Chip
Les standard de bus orientés System on a Chip
Les réseau sur puce (Network on a Chip)
3. M1Info-ASE 3
Systèmes embarqués critiques
Quelques exemples :
Le système doit être correct par conception
Les erreurs/bugs ont un coût extrêmement élevé (ex : Ariane 5)
Automatisation/Formalisation de la conception pour garantir un
minimum d’erreur.
Le coût et le temps de conception sont des critères secondaires.
4. M1Info-ASE 4
Système embarqués Multimédia
Quelques exemples
Systèmes difficiles à concevoir rapidement !
Marché de +1010 $, produits avec une durée de vie très courte.
Faible coût de production, faible consommation, besoin élevées
en performances.
La notion de « Time to market » est fondamentale !
5. M1Info-ASE 5
Le Time to market
La durée de conception est un facteur crucial
Revenu
temps
À temps
En retard
Croissance
du marché
Baisse du
marché
Revenu
maximum
Revenu maximum si
arrivée tardive
À temps En retard
6. M1Info-ASE 6
Quelles compétences pour les S.E ?
Architectures des
machine et systèmes
d’exploitation
Applications &
Algorithmes pour
(ex : multimédia)
Méthodologies
et outils d’aide
à la conception
8. M1Info-ASE 8
Qu’est ce que la logique CMOS ?
La majorité des circuits utilisent la technologie CMOS
Transistor MOS = interrupteur contrôlé électriquement
On utilise deux types de transistors MOS : nMOS et pMOS
C
C=0
C=1
B
A
B
A
B
A
C
C=0
C=1
B
A
B
A
B
A
9. M1Info-ASE 9
0: Introduction Slide 9
Inverseur CMOS
A Y
0 1
1 0
VDD
A=1 Y=0
GND
ON
OFF
A Y
VDD
A=0 Y=1
GND
OFF
ON
n+
p substrate
p+
n well
A
Y
GND VDD
n+ p+
SiO2
n+ diffusion
p+ diffusion
polysilicon
metal1
nMOS transistor pMOS transistor
10. M1Info-ASE 10
Porte NAND en CMOS
A B Y
0 0 1
0 1 1
1 0 1
1 1 0
A=1
B=1
Y=0
ON
OFF OFF
ON
A=1
B=0
Y=1
ON
ON OFF
OFF
A=1
B=0
Y=1
ON
OFF ON
OFF
A=0
B=0
Y=1
OFF
ON ON
OFF
GND =0
VDD =1
GND =0
VDD =1
GND =0
VDD =1
GND =0
VDD =1
12. M1Info-ASE 12
Types de mémoire
RAM statique (SRAM)
Stockage à l’aide de bascules
Valeur stockée tant que la
mémoire est sous tension
RAM Dynamique (DRAM)
Stockage à l’aide d’un
capacitance
Il faut rafraichir la mémoire
régulièrement car sinon la valeur
stockée est perdue (décharge du
condensateur)
bit bit
word / row select
1
0
0 1
word / row select
bit
C
13. M1Info-ASE 13
SRAM versus DRAM
SRAM = mémoire rapide de capacité faible à moyenne
Temps d’accès entre 0.5-25ns access time (éventuellement plus
faible quand la mémoire est intégrée dans le composant)
Coût en silicium plus important (6 transistor/bit),
Consommation électrique élevée
DRAM = mémoire lente de grande capacité
Temps d’accès entre 80-250ns
Faible coût en surface (1 transistor/bit),
Consommation électrique relativement faible
14. M1Info-ASE 14
Organisation d’une DRAM
Row
Decoder
Column Selector / Latch / IO
Row
Address
Column
Address
/RAS
/CAS
DATA
Row Select Line
Bit (data) Line
16. M1Info-ASE 16
0: Introduction Slide 16
Dessin de masque
Les transistors et leurs connexion sont définies au
travers d’un dessin de masque.
C’est une « vue de dessus » des couches formant le
circuit sur le silicium.
GND VDD
Y
A
substrate tap well tap
nMOS transistor pMOS transistor
n+
p substrate
p+
n well
A
Y
GND VDD
n+ p+
SiO2
n+ diffusion
p+ diffusion
polysilicon
metal1
nMOS transistor pMOS transistor
Coupe
verticale
Dessin de
masque
17. M1Info-ASE 17
0: Introduction Slide 17
Dessin de masque
Six niveaux dans ce dessin de masque
En pratique le nombre de couches métal peut-être beaucoup
plus élevé
Metal
Polysilicon
Contact
n+ Diffusion
p+ Diffusion
n well
19. M1Info-ASE 19
Slide 19
Evolution de la taille des transistors
Caractéristiques d’un transistor = fonction de sa taille
Le pas minimum du masque détermine la taille du transistor (et
donc sa vitesse, sa consommation, et sa consommation en
énergie électrique.
On utilise souvent le paramètre f = distance entre la source et le
drain pour un transistor.
Défini par la largeur minimale d’une trace de polysilicon
Evolutions technologiques
Les amélioration de procédés photo lithographique permettent
de diminuer la valeur de f de 30% tous les 2-3 ans !
On dispose donc, de + en + de transistors pour une surface de
silicium donnée (et des transistors de + en + rapides)
20. M1Info-ASE 20
La “Loi de Moore”
Projection de Gordon Moore (PDG Intel)
Le nombre de transistors dans un circuit double tous les 18 mois
21. M1Info-ASE 21
Une illustration de la loi de Moore
Le processeur Intel 4004 a été conçu en 9 month par 2 ingénieurs
Dessin de masque réalisé sur une grande feuille de papier
Le P4 a nécessité 500 ingénieurs pendant 4 ans
La feuille de papier aurait eu la taille d’un terrain de football …
4004, 1971
2300 trans.
80486, 1990
1.200.000
trans.
Pentium4, 2001, 42.000.000 trans
[Intel02]
22. M1Info-ASE 22
Le « design productivity gap »
La productivité des concepteurs n’évolue pas assez vite
On ne sait plus quoi faire des transistors disponibles
10,000
1,000
100
10
1
0.1
0.01
0.001
Transistors
per
Chip
(in
millions)
100,000
10,000
1000
100
10
1
0.1
0.01
Productivité
(K)Transistors
par
Homme-Mois.
Capacité des
circuits integrés
productivité
Gap
23. M1Info-ASE 23
La consommation électrique des circuits
Pourquoi s’y intéresser ?
Importante pour les dispositifs mobiles
Minimiser la consommation = maximiser l’autonomie
Permet de diminuer la taille de la batterie
Pour fiabiliser les circuits
Éviter les hotspot (points chauds) dans un circuit intégré
Pour réduire le coût des produits
Systèmes d’alimentation
Part important du coût d’un système électronique
Coût de conditionnement
Boîtiers, radiateurs, ventilateurs…
25. M1Info-ASE 25
Consommation 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
26. M1Info-ASE 26
Puissances dynamique et statique
Pstat provient des courants de fuites
Toujours un courant qui traverse les transistors (bloqués ou non)
Pdyn provoquée par les commutations des transistors
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)
Des tensions d’alimentation (Vdd) et de seuil (Vth)
De la technologie utilisée (k) et de la température (T)
2
2
1
dd
load
dyn V
C
P a
T
V
k
dd
stat
th
e
V
P
27. M1Info-ASE 27
Comment réduire la consommation Pdyn
Réduite la taille des transistors
La capacitance (~Cload) des transistors diminue avec leur taille
Par contre la contribution de Pstat augmente quand f diminue
Réduire le taux de commutation (a) des transistors
Encodage/arithmétique spécifique (gray, etc.)
Input gating : gèl des entrées d’un bloc quand il est inutilisé
clock gating : gèl de l’horloge quand un bloc est inactif
Limiter les glitch (régimes transitoires)
Réduire la fréquence (fclk)
À condition de respecte des contraintes de performance !
Réduire la tension Vdd ou augmenter Vth
On a alors un compromis performance/consommation
28. M1Info-ASE 28
Choix des tensions Vth et Vdd
Réduction de Vdd
Diminue la consommation dynamique (facteur Vdd
2)
Augmente le délai de commutation des transistors.
Un circuit alimenté en 1,4V
fonctionne 2x plus lentement
qu’un circuit en 2,5V, mais
consomme 3x moins
Comment tirer profit de ce
compromis ?
29. M1Info-ASE 29
Choix des tensions Vth et Vdd
Exemple :
Pour réaliser des traitement vidéo en temps réel (25 images/s)
on utilise processeur P qui doit être cadencé à 600MHz.
Le processeur est alimenté en 2.5V et consomme 10W
En utilisant une mise en œuvre parallèle sur deux processeurs
P1 et P2, il est possible de réduire la cadence à 300Mhz, et
d’utiliser une alimentation en 1.4V.
On consomme alors 2x(10/3)=6.6 W, soit un gain de 33% grâce
à la réduction de Vdd !
Remarque
L’approche atteint vite ses limites, car on ne peut descendre Vdd
au dessous d’un certain seuil
Remarque : dans le même temps on a augmenté le # transistors
du circuit, et donc sa puissance statique !
30. M1Info-ASE 30
Choix 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
33. M1Info-ASE 33
Type de circuits
VLSI = Very Large Scale Integrated Circuit
ASIC = Application Specific Integrated Circuit
Circuits VLSI
CMOS
ASIC
Full-Custom
ASIC
Standard-Cell
Gate Arrays Logique
programmable
(FPGA)
Semi-Custom
34. M1Info-ASE 34
Circuits Full Custom
Mask layout of the Intel
486 microprocessor chip
Le terme « full-custom » signifie que la conception du
masque s’est faite (partiellement) manuellement
Très coûteux en temps de conception
Permet d’optimiser au maximum la
surface et les performances du circuits.
Approche valable seulement pour des
gros volumes de productions.
Micro processeurs Intel, GPU, etc.
Assez peu utilisé dans l’embarqué
35. M1Info-ASE 35
Circuits Standard Cells
On utilise des cellules (cell) issues d’une librairie
Cellule = fonction logique +/- simple au masque prédéfini
Toutes les cellules ont une hauteur fixe
Elles sont organisées en ligne par un outil de placement
Elles sont interconnectées par un outil de routage
Représentation du circuit au niveau portes logiques
standard cell NAND2
36. M1Info-ASE 36
Circuits Standard Cells
Rows
Channels
Le routage se fait par des couches de métal
On peut ainsi passer “par dessus” les cellules
Il faut laisser un espace pour entre les lignes de cellules pour
permettre de relier les cellules au couches métal
37. M1Info-ASE 37
Aspects économiques
Coûts NRE (Non-recurring Engineering)
Conception du masque, mise en place de la chaîne de
production du circuit, validation des 1er prototypes, etc.
Coût constant ne dépendant pas du volume de production
Coût unitaire (Unit Cost)
Coût de production d’une unité une fois la production démarrée
Total Cost
Volume
Custom
Std. Cell
Gate Array
FPGA
38. M1Info-ASE 38
Aspects économiques
Coût de plus en plus élevés en conception et production
En 2001, moins de 10% des design ASIC avaient des
volumes justifiant l’utilisation d’un technologie 0.13u
Technologie 0.8 0.35 0.18 0.13
NRE: $40k $100k $350k $1,000k
Delay 42 days 49 days 56 days 76 days
Marché $3.5B $6B $12B $18B
Source: DAC’01 panel on embedded programmable logic
39. M1Info-ASE 39
Logique programmable : les FPGA
Que contient un FPGA ?
Des blocs logiques qui
implémentent des fonctions
combinatoires et/ou séquentielles.
Un réseau d’interconnexion
programmable pour relier les blocs
logiques entre eux.
Des blocs d’entrées/sorties
programmables pour relier le circuit
à l’extérieur.
E/S
E/S
Bloc
logique
matrices
d’interconnexion
E/S
E/S
Adapté de Yong Wang
40. M1Info-ASE 40
Bloc logique d’un FPGA
Contient une LUT pour réaliser des fonctions logiques
Look Up Table = mémoire tabulée stockant la fonction à réaliser
Contient un Registre pour réaliser la logique séquentielle
Souvent un peu de logique supplémentaire
Ex : mécanismes pour le calcul de retenue (additionneurs)
La tendance est d’avoir des blocs logiques de + en + gros
LUT
Out
Select
D Q
A
B
C
D
Clock
41. M1Info-ASE 41
Look-Up Tables (LUT)
Une Look-up table à N-entrée peut réaliser n’importe
quelle fonction booléenne à N entrées.
On la remplit à partir de la table de vérité de la fonction
A B C D Z
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
LUT
A
B
C
D
Z
A
B
C
D
Z
Table de vérité
Réalisation à base de portes
Réalisation à base de LUT
Yong Wang
42. M1Info-ASE 42
Réalisation matérielle d’une LUT
Exemple: LUT à 3 entrées
Utilise des multiplexeurs
pour sélectionner le résultat
Le contenu de la LUT est
stocké dans la mémoire de
configuration du FPGA
NB : les tailles des LUT des
FPGA récents varient entre
4 et 6 entrées
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
X1
X2
X3
F
Mémoire de
configuration
Yong Wang
43. M1Info-ASE 43
Configuration d’un FPGA
Yong Wang
Quand configure-t-on le FGPA ?
À chaque mise sous tension du circuit (config. stockée en RAM)
Cela peut prendre jusqu’à plusieurs secondes !
Il faut donc la stocker dans des mémoire non volatiles
ROM, FLASH, etc.
À quoi sert la configuration d’un FPGA :
Définit le contenu des LUT et le mode de fonctionnement des
blocs logiques (par ex, utilisation ou non du registre).
Définit la fonction de routage des matrices d’interconnexions
Définit le mode de fonctionnement des blocs d’E/S (In/out, etc.)
Remarques
Tailles des configurations varient de quelque ko à plusieurs Mo
44. M1Info-ASE 44
Un FPGA en 2008
Jusqu’à 300 000 bloc logiques dans un FPGA
Bloc logique = Look-up-Table + flip-flop
Blocs Mémoires configurables
18kbits Memory (4096x4,2048x8, etc.), jusqu’à 1,5Mo
Opérateurs multiplieurs embarqués
Jusqu’à 512 multiplieur 18x18 intégrés dans un puce
Processeur embarqués
Jusqu’à 4 PowerPC “en dur” sur le circuit
Soft-Cores : CPU construits à partir de blocs logiques
Liaison série haut débit (jqu’à 10 GBits)
Circuit MAC Ethernet intégré à la puce
Reconfiguration dynamique partielle
Possibilité de reconfigurer une partie du circuit “à chaud”
45. M1Info-ASE 45
Tendances – FPGA vs Standard Cell
Surcoût matériel de la (re)configurabilité
Seulement entre 3% et 5% de transistors ‘utiles’
Consommation électrique des FPGA
~3 et 10 fois plus importante en fonctionnement
~100 fois plus importante en mode veille
Performances (fclk) des FPGA
~3 et 10 fois plus faibles que pour un ASIC
Mais quel est donc l’intérêt des FPGA ?
1. Le Time to market est bcp plus court que pour les
ASICs
2. Le prix en petit à moyen volume (jusqu’à 104
unités)
46. M1Info-ASE 46
Tendances – FPGA vs Standard Cell
Le coût NRE des circuits standard cell croît rapidement
Les circuits FPGA s’améliorent très rapidement
densité, rapidité, coût, consommation électrique
Coût total
Volume
Std. Cell
(présent)
FPGA
(présent)
Point de rupture
FPGA
(future)
Std. Cell
(future)
48. M1Info-ASE 48
Notion de “System on a Chip” (SoC)
System On A chip = système sur puce
Contient : mémoire, CPU, matériel dédié, etc.
Circuit STM8000 (STMicro)
Décodeur/encodeur
multistandards pour
lecteur/enregistreur DVD
Processeurs, contrôleur Vidéo,
mémoires, CAN, CNA, etc.
Design mixte = partie numérique +
partie analogique
Réseau d’interconnexion
complexe
49. M1Info-ASE 49
Flot de conception
spécification système
(fonctionnelles)
Génération
du hardware
Placement &
routage
10 klignes
de C/C++
50Klignes
C/C++
500Kligne
pour la
descriptio
n du
circuit
spécifications
logicielles
Compilation
sur les CPUs
du SoC
Chargement,
exécution &
deboguage
Co-
simulation
Simulation
bas niveau
Vérification
&Validation
Partitionnement
logiciel/matériel
Spécification
du hardware
Production
50. M1Info-ASE 50
Spécification fonctionnelles
DCT : transformée en cosinus
IDCT : DCT inverse
Q : Quantification
IQ : Quantification inverse
VLC : Variable Length Coding
zigzag
scan
Q
IDCT
DCT
Motion
Estimation
+
IQ VLC
-
Flux
d’images
Flux
compressé
7%
44%
7%
2%
2%
3%
8%
Informations
de profilage
Encodage MPEG2 en HD à 50 images/secondes
51. M1Info-ASE 51
Spécification du hardware
coprocesseur
dédié
Vidéo
input
Timer
UART
SRAM2
DRAM
IDE
Système
d’interconnexion
SRAM1
CPU2
Cache
CPU1
Cache
CPU3
(VLIW)
Cache
CPU4
Cache
Exemple :
52. M1Info-ASE 52
CGRU
DSP
DSP
CPU
Hardware IP
Spécifications logicielles
Used to connect blocs that perform data-flow processing
Use hardware FIFO for buffered communications
Synchronization by data (very simple)
Example : MPEG
zigzag
scan
DCT
IQ
VLC
Compressed
stream
Q
…
void task_idct()
{
}
Tâche IDCT
FIFO
FIFO
Motion
Estimation
Error est.
Tampon[]
FIFO
53. M1Info-ASE 53
Spécification logicielles
DCT : transformée en cosinus
IDCT : DCT inverse
Q : Quantification
IQ : Quantification inverse
VLC : Variable Length Coding
zigzag
scan
Q
IDCT
DCT
Motion
Estimation
+
IQ VLC
(huffman)
-
Flux
d’images
Flux
compressé
44%
7%
2%
3%
8%
Informations
de profilage
Encodage MPEG2 en HD à 50 images/secondes
RGB
toYUV
55. M1Info-ASE 55
Exemple d’outil : SOPCBuilder
Permet de concevoir rapidement un SoC pour FPGA
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 l’intégration d’accélérateurs matériels
Génère un squelette d’interface matérielle et de pilote
Systèmes d’exploitation temps-réel disponibles
uCLinux, uC-OSII, etc.
Support pour multiprocesseurs, etc.
58. M1Info-ASE 58
Rappel : vue Structurelle d’un SoC
Co-processeur
dédié
Pont
CPU1
Cache
Video
input
Timer
UART
CPU2
Cache
SRAM
DRAM CPU3 CPU4
IDE
Système
d’interconnexion
Bus
2
3
59. M1Info-ASE 59
Rappel : Interconnexion de type bus
Système d’interconnexion à temps partagé
Relier le processeur à la mémoire + périphériques
Exemple : le bus ISA (circa 1980)
Utilisé sur le 8086 (cf ARC2)
On retrouve la même chose dans un SoC
UC
Mémoire
Vidéo
Disquette
Audio
Adresses
Données
60. M1Info-ASE 60
Notion de composants maîtres/esclaves
Un maître (busmaster) peut initier des transactions
Ex : Lancer une écriture/lecture vers la mémoire ou un périph.
Exemple : processeur, périph. DMA (Direct Memory Access)
Un esclave (slave) peut recevoir des transactions
Répondre à une requête envoyée par un composant busmaster
Exemple : composant mémoire, périphérique sans DMA.
Il faut donc des mécanismes d’arbitrages matériels
Car on peut avoir plusieurs busmaster capables d’accéder à
certains composant esclaves (ex mémoire partagée)
Mécanisme couteux en surface, diminue les performances
61. M1Info-ASE 61
Les bus pour systèmes sur puce
Caractéristiques spécifiques aux SoC
Presque toutes les transactions sont interne au circuit
Peu de contraintes extérieures (pb de connecteurs, etc.)
Contiennent un nombre parfois élevé de busmaster
Besoins en bande passante et en latence
Les principaux standards industriels
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)
Remarques
Normes très complexes (400 pages de doc pour CoreConnect)
Compromis complexité/performances possibles
62. M1Info-ASE 62
Avantage/Inconvénients des bus
À chaque élément supplémentaire, on ajoute des
parasites au niveau électriques
La maitrise les délais de propagation de + en + difficile
Le délai d’arbitrage augmente avec le # de busmaster
Bande passante partagée entre les unités connectées
La latence d’accès est quasi nulle après arbitrage.
Le coût “silicium” d’un bus est très faible.
Les protocoles sont relativement proches les uns des
autres.
Les concept sont simples et compris par les concepteurs
63. M1Info-ASE 63
Autres approches : interconnexion crossbar
Utilisé dans les routeurs réseau haute performances, et
dans les super-ordinateurs
Connexion directe programmable par transistor
Ne passe pas à l’échelle, O(N) en délais, O(N2) pour le silicium
Arbitre
Master I I Slave
I
I
S
S
Source : Phillips
64. M1Info-ASE 64
Les 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 d’IPs
Compositionnel
Permet l’assemblage de sous-systèmes
Efficace
Coût (en silicium)
Dissipation d’énergie
Pérenne pour les futures technologies (l<45nm)
Bruit, interférences, baisses de courant, « soft errors »
Gestion de plusieurs domaines d’horloge (e.g. GALS)
65. M1Info-ASE 65
Aujourd’hui
De plus, ces solutions ne sont pas adaptées aux futures
technologie sub-microniques (45nm et moins)
Point à point dédié Bus partagé Réseau cross-bar
Passage à l’échelle
Flexible
Compositionnel
Efficace
Passage à l’échelle
Compositionnel
Passage à l’échelle
Flexible
Efficace
Arbiter
Master I
interface
Emetteur
interface
Récepteur Arbiter
Master I
Master I
I Slave
M I I S
I
I
s
s
Source : Phillips
66. M1Info-ASE 66
Demain …
Des centaines de blocs IP interconnectés en 2012 ?
Taille des blocs ~ constante, mais leur nombre va augmenter
Des schémas d’interconnexion 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 d’erreur élevés.
Gestion des erreurs par le système d’interconnexion.
67. M1Info-ASE 67
Source : Phillips
Solution : Networks on Chip (NoC)
Qu’est ce qu’un Network on Chip
Parfois également appelés Micro-networks (micro-réseaux)
Gère les communications entre les blocs du SoC
Le réseau est en fait constitué d’un ensemble de blocs de
“routage” connectés selon un topologie point à point.
Les blocs s’échangent des paquets de données.
Ces éléments de routage peuvent forwarder (ou réémettre) des
paquets de données, et se chargent de les acheminer vers leur
destination.
Une infrastructure de communication, similaire sur
le principe à un réseau informatique, mais intégré
au sein d’un circuit.
68. M1Info-ASE 68
Processor
Master
Un exemple de réseau sur puce
Nœud de routage
Packet
storage
cross-bar
switch
arbitre
Processor
Master
Global
Memory
Slave
Global I/O
Slave
Global I/O
Slave
Processor
Master
Processor
Master
Processor
Master
Processor
Master
Processor
Master
Processor
Master
Processor
Master
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Routing
Node
Source : Phillips
69. M1Info-ASE 69
Coût des interconnexions
Les solutions extrêmes ne sont pas intéressantes pour
des communications globales
Bon compromis = PàP + Multiplexage temporel
Bon taux d’utilisation, pas trop de connexions (fils)
Fréquence élevée & insertion de répétiteurs possible
Congestion
BP partagée
Coût
Souplesse
Interférences
Délais de propagation
Surutilisation de la surface
Point à
point dédié
Temps
partagé
Source : Phillips
70. M1Info-ASE 70
Bilan …
Trop coûteux
en surface
Performance
trop faibles
Point à point dédié
Bus partagé
Réseau routé
Intéressant, mais
Encore trop coûteux
Probablement la
solution à retenir
Approche hybride
routeurs + bus
Source : Phillips
71. M1Info-ASE 71
Plan du module ASE
Eléments de base
Circuits synchrones et notion de pipeline
Principes de l’Arithmétique en Virgule Fixe
Le format JPEG
Fonctionnement d’un encodeur JPEG
L’Algorithme de Chen pour le calcul de DCT rapide
Architectures des processeurs
Processeurs RISC pipelinés
Processeurs VLIW
72. M1Info-ASE 72
Vue Structurelle d’un SoC
Co-processeur
dédié
Pont
CPU1
Cache
Video
input
Timer
UART
CPU2
Cache
SRAM
DRAM CPU3 CPU4
IDE
Système
d’interconnexion
Bus
74. M1Info-ASE 74
Vue Structurelle d’un SoC
coprocesseur
dédié
Vidéo
input
Timer
UART
SRAM2
DRAM
IDE
Système
d’interconnexion
SRAM1
CPU2
Cache
CPU1
Cache
CPU3
(VLIW)
Cache
CPU4
Cache
zigzag
scan
Q
IDCT
DCT
Motion
Estimation
+
IQ VLC
-
Flux
d’images
Flux
compressé
Partitionnement logiciel/matériel = répartir
les tâches de l’application sur les ressources
de calcul du système et allouer les données
aux différents composants mémoire
76. M1Info-ASE 76
Mise en œuvre
application
specific
hardware
Bridge
MCU
ADC
CPU1
Cache
Video
input
Timer
UART
CPU2
Cache
SRAM
DRAM DSP SRAM
IDE
Bus
Bus
zigzag
scan
Motion
Estimation
VLC
DSP DSP
IDCT
DCT
IQ
Q
+
-
Partitionnement logiciel/matériel = répartir les
tâches de l’appli sur les ressources du système
Contrôle
77. M1Info-ASE 77
Mise en œuvre
application
specific
hardware
Bridge
MCU
ADC
CPU1
Cache
Video
input
Timer
UART
CPU2
Cache
SRAM
DRAM DSP SRAM
IDE
Bus
Bus
zigzag
scan
Motion
Estimation
VLC
DSP DSP
IDCT
DCT
IQ
Q
+
-
Placement des données et Gestion des
communications.
Contrôle