Download - 1 Chapitre 3 Les Circuits Spécialisées ASIC et La consommation de puissance Smail NIAR MASTER1 INEM
1
Chapitre 3Les Circuits Spécialisées
ASICet
La consommation de puissance
Smail NIARMASTER1
INEM
2
Plan
Technologies de réalisation de circuits intégrés Technologie CMOS Full custum Vs. Semi-custum Architectures des PLD « Programmable Logic
Devices »PLAFPGA
La consommation de puissance Dans l’Intel Pentium Extreme EditionDans le Crusoé Transmeta
3
La technologie de fabrication des IC Les CI (ou chips) représentent la réalisation
courante de tout système informatique Un CI : un ensemble de transistors + connections
Source
nmosGrilleGate
Drain
pmos
Sur N mos : Si Grille ==1, alors Drain et Source connectéesSur Pmos : Si Grillle == 0 alors ………………………………………
Grille=1
Drain
Source
Nmos
Grille=0
Nmos
4
Un inverseur dans la technologie CMOS
p
n
GNDMasse ‘0’
VDD ‘1’
AY = A'
A=1p
n
GNDMasse ‘0’
VDD ‘1’
0A=0
p
n
GNDMasse ‘0’
VDD ‘1’
1
5
Réalisation d’un CI
source drain
oxide
gate
IC package IC
channel
Silicon substrate
6
Les types de CI
ASIC : CI intégré ou le nombre de transistors et les connections ont été optimisés pour une appli. coût et délai élevé. Le but est d’optimiser le nombre de transistor, leurs types (coûts et consommation), leurs placement dans le CI, ..etc. Exemple d’ASIC Full custom : les microP, les DSP,
circuits spécialisés CoDec MP4, Jpeg2000, etc. Grand volumes, applications critiques, hautes
performances
7
ASIC Gate Arrays ICs
(a) Pure CMOS basic cell (b) BiCMOS basic cell
(a) Single-column arrays
I/O cells/pads
Channels
Basic cells
Un autre type que les FullCustum.Il s’agit de tableau de transistors
8
PLD : Programmable Logic Devices
PLDs
SPLDs CPLDs
PLAsPROMs PALs GALs etc.
9
PLD suite
PLD programmable Logic Device: la disposition des transistors et des connections est fixée, mais on peut détruire ou remettre une connexion.
Le concept de base des PLD est celui des PLAa b c
l l l
Address 0 &
Address 1 &
Address 2 &
Address 3 &
Address 4 &
Address 5 &
Address 6 &
Address 7 &
a !a b !b c !c
!a !c!b& &
!a c!b& &
!a !cb& &
!a cb& &
a !c!b& &
a c!b& &
a !cb& &
a cb& &
Predefined AND array
Prog
ram
mab
le OR
arra
y
w x y
Predefined linkProgrammable link
10
Un exemple de PLA
a b c w x y
0 0 0 0 1 00 0 1 0 1 10 1 0 0 1 00 1 1 0 1 11 0 0 0 1 01 0 1 0 1 11 1 0 1 0 11 1 1 1 0 0
l
&a
b
c
w
x
y
a b c
l l l
Address 0 &
Address 1 &
Address 2 &
Address 3 &
Address 4 &
Address 5 &
Address 6 &
Address 7 &
a !a b !b c !c
!a !c!b& &
!a c!b& &
!a !cb& &
!a cb& &
a !c!b& &
a c!b& &
a !cb& &
a cb& &
Predefined AND array
Pro
gra
mm
ab
le O
R a
rra
y
w x y
Predefined linkProgrammable link
w = (a & b)
x = !(a & b)
y = (a & b) ^ c
11
Principe de fonctionnement d’un SPLD
a
Fat
Logic 1
y = a & !b&
b
Fbf
Pull-up resistors
NOT
NOT
AND
12
Deux types de PLD
Simple (SPLD) ou PLA (programmable logic array): programmable array, deux matrices ET et OU.
Complexe (CPLD) ou FPGA (field-programmable gate array) : forme plus complexe que les PLA, plus de degrés de liberté dans les connections, ex peuvent contenir des bascules.
Par rapport au curcuits complétement dédiés (Full Custum), les FPGA sont plus complexes et consomment plus, mais coûtent moins cher.
13
CPLD
Augmenter la puissance des PLD sans augmenter la complexité de programmation ni la puissance consommé (réseau d’interco) et garder une vitesse de fonctionnement (réduire les distances dans le réseau d’interco)
Les FPGA Field Programmable Gate Array; répondent à ce besoin
Un FPGA = plusieurs blocs logiques programmable + plusieurs réseaux d’interconnection programmable
14
Programmableinterconnect
Programmablelogic blocks
Figure 3-20
Structure Générale d’un FPGA
15
3-inputLUT
abc
flip-flop
clock
muxy
qd
Figure 3-19
Un exemple de bloc de logique programme simple
LUT : LookUp Table (voir après)Flip Flop : bascule D
16
|
&ab
cy
y = (a & b) | !c
Required function Truth table
1011101
0000010100111001011101111
y
a b c y
00001111
00110011
01010101
10111011
SRAM cells
Programmed LUT
8:1
Mul
tiple
xer
a b c
Figure 3-18
Programmation de la LUT
a | b = a ou b, a&b = a et b !c = Inverse de c, ou c bar
17
Structure d’un FPGA chez Xilinx
CLB CLB
CLB CLB
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Configurable logic block (CLB)16-bit SR
16x1 RAM
4-inputLUT
LUT MUX REG
Logic Cell (LC)
16-bit SR
16x1 RAM
4-inputLUT
LUT MUX REG
Logic Cell (LC)
Slice
16-bit SR
flip-flop
clock
muxy
qe
abcd
16x1 RAM
4-inputLUT
clock enable
set/reset
18
FPGA + microprocesseur
uP
RAM
I/O
etc.
Main FPGA fabric
Microprocessorcore, special RAM,
peripherals andI/O, etc.
The “Stripe”
Four embedded cores
uP uP
uP uP
19
Procédé de conception d’un CI
Plusieurs phases de conceptions top-down:système, comportementale, niveau transfert de registre RT, logique.
Compilation/synthèse : passage d’un niveau d’abstraction au niveau suivantexemple : convertir une expression booléenne en description d’un réseau logique ET/OU (netlist ou liste de connection).x = a et b; convertit en entrée1 = a, entrée2=b;connecté entrée1 et entrée2 au ET;connecté sortie du ET à sortie1, x= sortie1;
20
Utilisation des librairies IP
Permet la réutilisation de blocs fonctionnelles existants (reusing). Ces IP sont données sous formes électronique (masque) intégrable directement dans le produit.
Niveau logique (portes); Niveau RT (registres, multiplexeurs), Niveau comportementales (contrôleur d’affichage,
compresseurs JPEG, convertisseur N/A, interface bus, …),
Niveau système (blocs pour remplir une fonction complète, exemple un processeur complet (core) avec le noyau OS.
21
Deux types d’IP
Hardware IP Client achète un bloc (core de processeur) comme boite
noire Ajoute d’autre IP ou d’autres blocs spécifique décrits par
SystemC Hardware IP pour les processeurs (exemple ARM et
MIPS) Software IP
Le client achète la description sous forme de programme de haut niveau ou HDL du composant
Il réalise l’intégration avec d’autres composants Exemple : ARC core
22
23
Test et Vérification But : s’assurer que le produit réalise la fonction désiré
dans conditions de fonctionnement prévues et qu’il ne provoque pas de conséquences graves dans les autres conditions.
La prise en compte a chaque niveau, réduit le temps de conception et évite les boucles dans la conception (time to market réduit). Hardware/software co-simulation
Reuse
Specification
Implementation
Automation
Verification
Blocs IP
24
Résumé
Compilation/synthèse
Libraire/IP Test et vérification
Spécifications Système
Synthèse système
Blocs HW/SW/OS cores
Simulateurs et vérificateurs de models
Spécificationcomportemental
Synthèse comportementale
Composants complexes/cores
Co-simulation HW SW (systemC, specC)
Spécifications transfert de reg.
Synthèse RTL Composants niveau registre
Simulateurs HDL: VHDL, verilog
Spécification logique
Synthèse logique
Portes, PLA, FPGA
Simulateur niveau porte
25
La consommation de puissance D’où cela vient ?
Lorsque la sortie d’un circuit logique commute entre 0 <-> 1.
‘0’ : 0 volt, ‘1’ = 5 V La capacitance de la sortie peut correspondre à d’autres
portes logiques ou aux fils (bus) de connexion.
IN OUT
00 110011
Porte NON
26
La consommation de puissance dans les processeurs embarqués
La consommation de puissance facteur aussi important que le MIPS (million d’instructions exécutées par sec). Critère de 1ière Importance (GSM)
Certains fabricants proposent la mesure Mips/W Différence entre Puissance (Watt) et Énergie (en
Joule) J = P * temps i.e 1 W = 1 J/1 sec La puissance c’est la vitesse avec laquelle est
consommée l’énergie. Pour les systèmes haute performance, P est
important mais pas J. Pour les SE, J est important. On peut accepter un temps plus long s’il y a un
gain important dans J
27
Puissance….suite
Puissance consommée = Dynamique + Statique Réduire consommation = réduire les deux Partie Dynamique = surface * Fréquence * Tension2
P = C*A*F*V2
Surface = complexité du circuit, nombre de transistors Réduction : Archi simple, RISC, VLIW, cache et DRAM interne.
Fréquence en Mhz Réduction : Lorsque c’est possible, réduire la fréquence. Donner juste
ce qu’il faut. Adapter selon besoin. Tension d’alimentation en V
Réduire l’alimentation = circuit sensible (sol VLSI) Fréquence et Tension sont liées : Grande vitesse = Haute tension
28
Puissance……
Partie Statique dépend de la complexité Réduction :
Déconnecté (ne pas alimenter) les unités fonctionnelles non nécessaires. Pourcentage du temps où les unités ne sont pas utilisésne sont pas utilisés
PowerPc603unité Specint92 Specfp92D cache 29% 28%I cache 29% 17%load/store 35% 17%fixed-point 38% 76%floating-point 99% 30%system register 89% 97%
29
Gestion Dynamique de la consommation de puissance dans le StronArm SA-1100
run
idle sleep
Prun = 400 mW
Pidle = 50 mW Psleep = 0.16 mW
10 s
10 s90 s
160 ms90 s
Run : mode normale toutes les unités activesIdle : horloge arrêtée (f=0), le contexte (valeur des registres) sauvegardé et interruptions actives. L’entrée par séquence instructionsSleep : Repos, garder en activité uniquement la logique de réveil
30
Gestion de la consommation dans les processeurs mobiles INTEL
Enhanced Intel SpeedStep (EIST) Adjust processor voltage and core frequency:
decreased power consumption & heat production Allows the processor performance and power consumption levels to be
modified while a system is functioning. Accomplished via application software, changes : bus-to-core frequency
ratio and the processor core voltage (Vcc). Inputs to determine the proper operating state system power source,
processor thermal state, or operating system policy are used. The software has ultimate control over the frequency and voltage
transitions. Centralization of the control Reduced hardware overhead processor core unavailability time 10 µs
31
Enhanced Intel SpeedStep
32
33
Le processeur Crusoe de Transmeta www.transmeta.com
un processeur à mot très long VLIW (128 bits) compatible X86
seulement 2 watts à 700 MHz contre 14 watt pour Pentium III mobile à 650 MHz.
34
La traduction du code X86/Crusoe par logiciel ( Morphing) meilleure efficacité, code plus compacte, Solution flexible
35
Gestion de la consommation dynamiquement (LongRun)
Puissance de calcul = f (fréquence Horloge) Puissance de Calcul = f (tension d ’alim 2)
LongRun réduit les deux facteurs Analyse dynamiquement la charge de travail et
ajuste dynamiquement la vitesse du processeur en Mhz sans intervention de l ’OS, user, …
La vitesse est adapter juste aux besoins de l utilisateur, pas de perte
2** VfCPAVG
36
Implémentation de LonRun
Exemple le TMS5400: l ’horloge est réduite par des incréments de 33Mhz Gain: 666Mhz 1.65 volts , 633Mhz 1.6 V
Le changement peut s ’opérer entre application (passage d ’une appli à une autre) ou dans l ’application.
Exemple : DVD : Exige 400 Mhz pour démarrer et
seulement 200Mhz après
37
Que faut il retenir?
Deux types de transistors dans les CI : nMos et pMos
Les systèmes reconfigurables sont à base de PLD : Simple (PLA) et complexes (FPGA)
Un Fpga est composé de réseau d’interc et de cellules programmables (SRAM)
38
Au menu de la semaine prochaine
Architecture ARM pour les systèmes embarqués Structure d’une carte à puce Sécurité dans les cartes à puce Réutilisation de blocs fonctionnelles existants
(reusing) par l ’approche IP (soft et hard) Puissance consommée = Dynamique + Statique Réduire consommation = réduire les deux P = C*A*F*V2
39
Bon Appétit