Cours 4 : Circuits combinatoires Cours 4 : Circuits combinatoires

publicité
1
Cours
Cours 44 :: Circuits
Circuits combinatoires
combinatoires
q
Additionneurs
– Demi additionneur : 2 entrées sur 1 bits à Une sortie sur 2 bits
– Additionneur complet : 3 entrées sur 1 bits à Une sortie sur 2 bits
– Additionneur sur n bits
q
Décodeurs / Codeurs
–
–
–
–
q
Décodeurs : adresse sur 2 bits à 4 sorties dont une seule est active
Circuit constructeur avec port d’entrée de validation et sortie active L
Cascade de plusieurs circuits ==> décodeur d ’@ sur 4 bits à 16 sorties (1 seule active)
Codeur : Opération inverse d’un décodeur
Mux ou multiplexeur / Demultiplexeur
– Mux : Mettre en relation une entrée parmi n avec la sortie
– Demux : Mettre en relation une entrée avec une sortie prise parmi N
q
Comparateur
– Sortie VRAI ou FAUX indiquant la comparaison des entrées
q
Afficheur 7 segments
q
Circuits programmables
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
2
Additionneurs
AdditionneursElémentaires
Elémentaires
DEMI-ADDITIONNEUR
A
0
0
1
1
B Sum Carry
0
0
0
1
1
0
0
1
0
1
0
1
A
B
Sum
Sum = A ⊕ B
Carry
Carry = A . B
ADDITIONNEUR Complet
A
0
0
0
0
1
1
1
1
B Cin Cout S
0
0
0 0
0
1
0 1
0
1
1 0
1
0
1 1
0
1
0 0
1
0
0 1
1
0
1 0
1
1
1 1
Cout = B.Cin + A.Cin + A.B
A
AB
Cin 00 01 11 10
B
Cout
0
0
1
0
1
0
1
1
1
S = Cin ⊕ A ⊕ B
S
Cin
PDF Creator - PDF4Free v2.0
0
http://www.pdf4free.com
AB
Cin 00 01 11 10
0
0
1
0
1
1
1
0
1
0
3
Additionneur
Additionneur sur
sur nn bits
bits
A
B
A
B
Cin
Cout
Mécanisme d ’addition en partant
des poids faibles et en propageant
la retenue vers les poids forts
Exemple additionneur sur 5 bits
Cout
S
S
Cin
A4
B4
A3
B3
A2
B2
A1
B1
Ao
Bo
Co
A
B
Cin
PDF Creator - PDF4Free v2.0
Cout
S
A
B
Cin
Cout
S
A
B
Cin
Cout
S
A
B
Cin
Cout
S
S2
S1
So
http://www.pdf4free.com
A
B
Cin
Cout
C5
S
S4
S3
4
nn
Décodeur
n
à
2
Décodeur n à 2
• Décodeur n à 2n
Un décodeur est un circuit à n
entrées et 2n sorties dont une
seule est active à la fois.
• Décodeur 2 à 4 sorties
actives à l’état haut
A
0
0
1
1
B
0
1
0
1
Yo
1
0
0
0
• Equations
Y1
0
1
0
0
Y2
0
0
1
0
Y1
0
0
0
1
Circuit constructeur
• Enable G
• Sorties active L
•
A
B
Yo
H
X
X
L
L
L
PDF Creator - PDF4Free v2.0
Y2
H
Y1
H
H
Y3
H
L
L
H
H
H
L
H
H
L
H
H
L
H
L
H
H
L
H
L
H
H
H
H
H
L
Yo= !B.!A
Y1 = !A.B
Y2= A.!B
Y3= A.B
http://www.pdf4free.com
Y3
A
Y2
B
Y1
Yo
Table de vérité
G
G
5
Cascade
Cascade de
de plusieurs
plusieurs circuits
circuits
Décodeur 4 à 16 sorties
décodeur d ’@ sur 4 bits à 16 sorties
(1 seule active)
G
@3
@2
Circuit constructeur
• Enable G
• Sorties active L
La cascade de plusieurs circuits
est possible grâce à l ’entrée de
validation G
PDF Creator - PDF4Free v2.0
G
A
B
@1
@0
http://www.pdf4free.com
Y3
Y2
Y1
Y0
G
A
B
Y3
Y2
Y1
Y0
Y15
Y14
Y13
Y12
G
A
B
Y3
Y2
Y1
Y0
Y11
Y10
Y9
Y8
G
A
B
Y3
Y2
Y1
Y0
Y7
Y6
Y5
Y4
G
A
B
Y3
Y2
Y1
Y0
Y3
Y2
Y1
Y0
6
Le
Le signal
signal àà 33 états
états
La notion de bus sous-entend un partage de ressources des chemins logiques
Logique ACTIVE : S= X avec En=1
Déconnexion de la sortie : En =0 et S=Z
« haute impédance »
.OE
NOTATION =>
La mise en œuvre d’une fonction logique nécessite en réalité 2 équations :
La fonction logique de la sortie et sa condition d’activation (En =1 en logique simple)
Si A==0 alors S=Z
Sinon S est actif
S= A .B
S.OE = A
Z est souvent assimilé à un niveau logique Haut Récessif
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
7
Multiplexeur
Multiplexeur // Démultiplexeur
Démultiplexeur
Met en relation une entrée parmi n avec
la sortie
MUX 2 vers 1
Met en relation une entrée avec une
sortie
Output Enable
0/1
n
In1
Demux ou Switch 1vers 2
Out
In0
In3
In2
In1
MUX 4 vers 1
n
0/1
Demux 1 vers 4
n
Out
n
In0
PDF Creator - PDF4Free v2.0
G
@1
@0
G
A
B
G
@1
@0
Y3
Y2
Y1
Y0
http://www.pdf4free.com
G
A
B
Y3
Y2
Y1
Y0
8
Opérations
Opérationsde
decomparaison
comparaison
>
>
≥
≥
Afficheur
Afficheur77segments
segments
Afficheurs à Cathodes communes : Entrées actives haut
Afficheurs à anodes communes : Entrées actives bas
<
<
≤
≤
==
==
≠
≠
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
9
Circuit
Circuit logique
logique programmable
programmable
Un circuit logique programmable, ou réseau logique
programmable, est un circuit intégré logique qui peut être
reprogrammé après sa fabrication. Il est composé de nombreuses
cellules logiques élémentaires.
Ce type de composant est désigné par les sigles anglais:
• FPGA (field-programmable gate array, réseau de portes
programmables in-situ),
• PLD (programmable logic device, circuit logique
programmable),
• EPLD (erasable programmable logic device, circuit logique
programmable et effaçable),
• CPLD (complex programmable logic device, circuit logique
programmable complexe),
• PAL (programmable array logic, réseau logique programmable),
• PLA (programmable logic array, réseau logique programmable),
Bien que fondamentalement synonymes, ces termes ne sont
généralement pas interchangeables dans le vocabulaire commercial
des fabricants : FPGA désigne plutôt des composants à technologie
SRAM, EPLD des composants à technologie FLASH, PAL des
composants à technologie fusible (voir § procédés
technologiques).
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
Structure de base
AABB
A
Programmable par
fusible
B
Exemple le ou
exclusif
A⊕ B
•Programmable une fois par fusible
•Programmable plusieurs fois
10
PAL,
PAL, GAL,
GAL, CPLD
CPLD et
et EPLD,
EPLD,
Les PAL, GAL, CPLD et EPLD, de conception plus
ancienne, utilisent des "macrocellules" logiques, composées
d'un réseau combinatoire de portes ET et OU afin
d'implémenter des équations logiques. Des bascules sont
disponibles seulement dans les blocs d'entrée-sortie. Un
composant contient de quelques dizaines à quelques
centaines de macrocellules.
Comme le routage est fixe, les temps de propagations sont
bornés et permettent une fréquence de fonctionnement
élevée et indépendante du design. Par contre, l'utilisation des
ressources n'est pas optimale (tout terme non utilisé dans
une équation logique équivaut à des portes perdues), avec
des taux d'utilisation d'environ 25%.
Les Complex PLD contiennent l'équivalent de plusieurs
composants PLD, reliés par une matrice d'interconnexion.
Configuration d'un bloc
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
11
FPGA:
FPGA: field-programmable
field-programmablegate
gatearray
array
Les FPGA modernes sont basés sur des cellules SRAM pour le routage du circuit et pour les blocs logiques. Comme ces points
mémoire sont volatiles, il est nécessaire de stocker dans une mémoire externe la configuration du circuit.
Un bloc logique est constitué d'une table de correspondance (LUT ou Look-Up-Table) qui sert à implémenter des équations
logiques ayant généralement 4 à 6 entrées et une sortie (petite mémoire, multiplexeur ou registre à décalage) et d'une bascule
qui permet de mémoriser un état (machine séquentielle) ou de synchroniser un signal (pipeline).
Les blocs logiques (quelques millions en 2007) sont connectés entre eux par une matrice de routage configurable qui occupe
une place importante sur le silicium et justifie le coût élevé des composants FPGA. La topologie est dite "Manhattan", en
référence aux rues à angle droit de ce quartier de New York.
Un outil de placement-routage automatique fait correspondre le schéma logique et les ressources matérielles de la puce. Comme
les temps de propagation dépendent de la longueur des liaisons entre cellules logiques, et que les algorithmes d'optimisation des
placeurs-routeurs ne sont pas déterministes, les performances (fréquence max) obtenues dans un FPGA sont variables d'un
design à l'autre. L'utilisation des ressources est par contre très bonne, et des taux d'occupation des blocs logiques supérieures à
90% sont possibles.
Fonctionnalités disponibles sur certains composants :
* blocs de mémoire supplémentaires (hors des LUT), souvent double-port, parfois avec mécanisme de FIFO,
* multiplieurs câblés (coûteux à implémenter en LUT), voire blocs multiplieur-accumulateur pour traitements DSP,
* cœur de microprocesseur enfoui (dit hard core),
* blocs PLL pour synthétiser ou resynchroniser les horloges,
* reconfiguration partielle, même en cours de fonctionnement,
Wikipedia
* cryptage des données de configuration,
* sérialiseurs/désérialiseurs dans les entrées-sorties, permettant des liaisons série haut-débit,
* impédance contrôlée numériquement dans les entrées-sorties, évitant de nombreux composants passifs sur la carte.
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
12
Procédés
Procédés technologiques
technologiques
• SRAM - (Static Random Access Memory). Programmables à volonté et in-situ. technologie CMOS.
• EPROM (UVPROM) - (Erasable Programmable Read-Only Memory). Effaçables par exposition aux rayons
ultra-violets. Technologie CMOS, disparition au profit de l'EEPROM.
• EEPROM - (Electrically Erasable Programmable Read-Only Memory). effacés et reprogrammés à volonté.
peuvent être programmés in-situ (souvent par une connexion JTAG). Technologie CMOS.
• Flash - (Flash-erase EPROM). Mêmes propriétés que EEPROM mais avec une densité supérieure (coût
inférieur pour une complexité donnée). Technologie CMOS.
• Fusible - Programmables une seule fois. Technologie bipolaire.
• Anti-fusible - Ne sont programmables qu'une seule fois. Technologie CMOS.
Dans le cas des technologies à mémoires (SRAM, EEPROM, flash), la mémoire est située à côté du circuit
logique proprement dit et chacun de ses bits pilote un interrupteur (en fait, un transistor) de configuration du
réseau logique. Dans le cas des technologies à (anti-)fusibles, ceux-ci sont directement dans le réseau logique et
ont à la fois la fonction de mémoire non-volatile et d'interrupteur.
Les FPGA haut de gamme sont à la pointe de la technologie : les premier composants gravés avec une finesse
de 90nm ont été les FPGA Spartan3 de Xilinx, en 2003.
Fabricants
Wikipedia
Xilinx, Altera, Lattice Semiconductor, Actel, Cypress, Atmel et QuickLogic.
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
13
Chipset
Chipset
Un chipset est un jeu de circuits gérant les flux de données numériques entre le ou les processeur(s), la
mémoire et les périphériques dans des micro-ordinateurs, console de jeux vidéo, téléphone mobile,
appareil photo numérique, GPS etc.
Un chipset pour micro-ordinateur se trouve sur la carte mère. Il est conçu pour un type de
microprocesseur. Les performances globales de l'ordinateur dépendent donc des 2 puces du
chipset et du microprocesseur.
La puce northbridge gère des communications entre le microprocesseur, le bus de la carte
mère, la RAM, l’accès direct à la mémoire (DMA), les ports AGP ou PCI Express, et le
southbridge. Certains contiennent également un processeur graphique apportant une
solution graphique à faible coût sur les PC d’entrée de gamme.
La puce southbridge commande le fonctionnement de : bus PCI, interface PS/2, port série
et parallèle, contrôleur de disquette ; interface parallèle ATA, Serial ATA (disques durs,
CD-ROMs, etc.), interface Ethernet, USB, IEEE 1394 (firewire); et dispositifs additionnels
(contrôleur RAID, carte son intégrée).
Ce terme dans les années 1980-90 désignait les puces audio et graphique dans les ordinateurs ou les
consoles de jeux. Certains chipsets graphiques actuels comme les nForce de NVIDIA intègrent des
fonctionnalités remplaçant une carte graphique (chipset vidéo) sauf la mémoire graphique prise sur la
mémoire vive de l'ordinateur.
Wikipedia
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
14
Microprocesseurs
Microprocesseurs
Les microprocesseurs sont construits avec un petit nombre de fonctions intégrées sur une puce, avec des temps
de commutation très courts. Leur fréquence de base est de 1 à 3 gigahertz. La complexité double tous les 2 ans.
Les processeurs (multicores) comportent plusieurs cœurs dans un seul circuit, leur efficacité dépend
grandement de la topologie d'interconnexion entre les cœurs. Des approches comme la superposition de
la mémoire et du cœur de processeur (memory stacking) devraient conduire à un accroissement des
performances qui devraient atteindre le Pétaflop, vers 2010 pour les serveurs, et vers 2030 dans les PC.
Le processeur interprète les instructions et traite les données d'un programme. La vitesse
de traitement est exprimée en MIPS (million d'instructions par seconde) ou en Mégaflops
(millions de floating-point operations per second) pour la partie virgule flottante.
Aujourd'hui, des programmes d'évaluation des performances (benchmarks) fournissent
des comparatifs des temps d'exécution de programmes réels.
Le processeur apporte aux ordinateurs leur capacité à être programmés, il est associé aux
mémoires primaires et aux dispositifs d'entrée/sortie. Il comprend les fonctions
élémentaires de traitement des données (ALU, FPU, séquenceur, etc.).
La puce d'un microprocesseur
Intel 80486DX2 dans son boîtier
(taille réelle : 12 × 6,75 mm)
Intel Pentium Dual-Core E2180 : prix 61,45 €. Gravé en 65nm et proposé au format Socket LGA775.
Architecture Core 2 Duo. Mémoire cache de second niveau de 1 Mo partagé contre 6 Mo. Compatible
SSE3 et intégrant les instructions 64 bits, bus système de 800 MHz (contre 1 066 ou 1 333 MHz pour les
meilleurs Core 2). Fréquence de 2 GHz. Très bonnes caractéristiques thermiques et potentiel d'overclocking.
Le Pentium Dual Core E2160, cadencé à 1,8 GHz, est proposé à un tarif très inférieur.
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
Wikipedia
15
Intel
Intelfinalise
finaliselalagravure
gravureen
en45
45nm
nmpour
pourles
lesCore
Core22Duo
Duo3030janvier
janvier2007
2007
Intel a déjà présenté les premiers exemplaires de Core 2 Duo « Penryn » gravés en 45 nm. Ils sont produits sur des wafers de
300 mm. Le nombre de transistor passe de 291 millions de transistors pour un Conroe à 410 millions de transistors pour le
Penryn à cause des 2 Mo de cache L2 supplémentaires. Malgré ce cache L2 de 6 Mo, la surface occupée est de 110 mm² contre
144 mm² pour le Conroe. Intel profitera de ce « shrink » pour introduire les instructions SS. Autre bénéfice du 45 nm, la
consommation devrait rester comparable aux actuels 65 Watts du Core 2 Duo. Le passage en 45 nm n'est pas une simple
réduction de taille. Intel a revu la conception des transistors pour éviter certains problèmes notamment les courants de fuite
(leakage). L'électrode de la porte troque son polysilicium pour un composant métallique et l'isolant n'est plus en SiO2 mais dans
un matériau High-K (Hafnium). Ces changements seraient la plus grosse évolution apportée aux transistors depuis 1960…
Le passage à 6 Mo de cache et plus de 400 millions de transistors devraient donc permettre à Intel de respecter la sacro sainte
loi de Moore...
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
16
Principales
Principales caractéristiques
caractéristiques de
de Nehalem
Nehalem
Intel détaille les principales caractéristiques de Nehalem, l'architecture de sa prochaine génération de puces multicoeurs.
Vitesse de traitement des instructions auglentée. Efficacité énergétique en réduisant la taille totale de la mémoire cache. Un
quad core Nehalem contiendra 9 Mo de mémoire cache contre 12 Mo pour un quad core actuel et comptera 731
millions de transistors contre 820 millions pour les quad core! « L'intégration d'un contrôleur mémoire DDR3 plus
rapide rend la présence d'un gros cache de second niveau beaucoup moins pertinente », Les premières puces Nehalem
arriveront au quatrième trimestre. « Les premières machines grand public équipées de puces Nehalem seront
vraisemblablement des PC quad core haut de gamme pour gamers ». disponibles à Noël. Les chipsets les plus récents
(comme le X38 par exemple) ne seront pas compatibles, car le contrôleur mémoire sera directement intégré dans le
processeur !
Jusqu'à 16 coeurs logiques : deux, quatre ou huit coeurs capables de gérer simultanément deux flux d'instructions
(multithreading), ce qui doublera le nombre de coeurs logiques gérés par le système d'exploitation.
Des liens internes ultrarapides : similaire au bus HyperTransport d'AMD, le bus QuickPath Interconnect reliera plusieurs
coeurs entre eux à très haut débit (jusqu'à 26 Go/s).
Un contrôleur mémoire DDR3 intégré : chaque puce Nehalem contiendra un contrôleur mémoire qui donnera trois accès
simultanés à de la mémoire vive DDR3 (Double Data Rate 3) ultrarapide (à 800, 1066 et 1333 MHz).
Une mémoire cache mieux partagée : plus petite, la mémoire cache sera répartie sur trois niveaux contre deux actuellement.
Chaque coeur disposera de ses propres caches de niveau 1 (2 x 32 Ko) et 2 (256 Ko). Tous les coeurs se partageront par
ailleurs un cache de niveau 3 de 8 Mo.
Des micro-instructions mieux parallélisées : la traduction des instructions x86 en micro-instructions a été optimisée. Selon
Intel, en moyenne, 33 % de traitements s'effectueront en plus pour chaque cycle d'horloge.
Une finesse de gravure de 45, puis 32 nm : toutes les puces Nehalem seront gravées en 45 nm. L'architecture fera l'objet
d'une mise à jour en 2009 (nom de code Westmere) lors du passage au 32 nm.
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
Téléchargement