CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf ·...

16
1 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 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 q 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 Cours 4 : Circuits combinatoires PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Transcript of CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf ·...

Page 1: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

1

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– 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

q 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

Cours 4 : Circuits combinatoiresCours 4 : Circuits combinatoires

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 2: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

2

Sum = A ⊕ BA0011

B0101

Sum0110

Carry0001

Carry = A . B

Additionneurs ElémentairesAdditionneurs Elémentaires

A00001111

B00110011

Cin01010101

S01101001

Cout00010111

A BCin

0

1

00 01 11 100

0

0

1

0

1

1

1

Cout = B.Cin + A.Cin + A.B

A BCin

0

1

00 01 11 100

1

1

0

1

0

0

1

DEMI-ADDITIONNEUR

ADDITIONNEUR Complet

Carry

A

B

Sum

S

A

B

Cin

Cout

S = Cin ⊕ A ⊕ B

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 3: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

3

Additionneur sur n bitsAdditionneur sur n bits

Mécanisme d ’addition en partantdes poids faibles et en propageantla retenue vers les poids forts

Exemple additionneur sur 5 bitsS

A

B

Cin

CoutCout

SBA

Cin

Cout

SBA

Cin

Cout

SBA

Cin

Cout

SBA

Cin

Cout

SBA

Cin

Cout

SBA

Cin

S1

S2

S3

S4

SoCoBoAo

B1

A1B2

A2B3

A3B4

A4 C5

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 4: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

4

Décodeur n à 2nDécodeur n à 2n

• Décodeur n à 2n

Un décodeur est un circuit à nentrées et 2n sorties dont uneseule est active à la fois.

• Décodeur 2 à 4 sortiesactives à l’état haut

• EquationsYo= !B.!AY1 = !A.BY2= A.!BY3= A.B

Circuit constructeur• Enable G• Sorties active L

• Table de vérité

A0011

B0101

Yo1000

Y10100

Y20010

Y10001

A B Y1 Y2 Y3GX X H H H HH

L L L H H HL

L H H L H HL

H L H H L HL

H H H H H LL

Yo

Yo

Y1

Y2

Y3

A

B

G

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 5: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

5

Cascade de plusieurs circuitsCascade de plusieurs circuits

Décodeur 4 à 16 sortiesdécodeur d ’@ sur 4 bits à 16 sorties

(1 seule active)

Circuit constructeur• Enable G• Sorties active L

La cascade de plusieurs circuitsest possible grâce à l ’entrée devalidation G

Y1

Y2

Y3

AB

G

Y0

Y1

Y2

Y3

AB

G

Y0

Y1

Y2

Y3

AB

G

Y0

Y1

Y2

Y3

AB

G

Y0

Y1

Y2

Y3

AB

G

Y0

G@3@2

@1@0

Y1

Y2

Y3

Y0

Y5

Y6

Y7

Y4

Y9

Y10

Y11

Y8

Y13

Y14

Y15

Y12

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 6: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

6

Le signal à 3 étatsLe signal à 3 états

La notion de bus sous-entend un partage de ressources des chemins logiques

Logique ACTIVE : S= X avec En=1Déconnexion de la sortie : En =0 et S=Z « haute impédance »

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)

S= A .BS.OE = A

Si A==0 alors S=ZSinon S est actif

Z est souvent assimilé à un niveau logique Haut Récessif

.OE

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 7: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

7

Multiplexeur / DémultiplexeurMultiplexeur / Démultiplexeur

Met en relation une entrée parmi n avecla sortie

MUX 2 vers 1

MUX 4 vers 1

Met en relation une entrée avec unesortie

Demux ou Switch 1vers 2

0/1Demux 1 vers 4

In1

In0Out

0/1n

In3

In2

n

In1

In0

nOut

n

Output Enable

Y1

Y2

Y3

AB

G

Y0

G@1@0

Y1

Y2

Y3

AB

G

Y0

G@1@0

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 8: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

8

Opérations de comparaisonOpérations de comparaison

>

<

==

>

<

==

Afficheur 7 segmentsAfficheur 7 segments

Afficheurs à Cathodes communes : Entrées actives hautAfficheurs à anodes communes : Entrées actives bas

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 9: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

9

Circuit logique programmableCircuit logique programmableUn circuit logique programmable, ou réseau logiqueprogrammable, est un circuit intégré logique qui peut êtrereprogrammé après sa fabrication. Il est composé de nombreusescellules logiques élémentaires.

Ce type de composant est désigné par les sigles anglais:• FPGA (field-programmable gate array, réseau de portesprogrammables in-situ),• PLD (programmable logic device, circuit logiqueprogrammable),• EPLD (erasable programmable logic device, circuit logiqueprogrammable et effaçable),• CPLD (complex programmable logic device, circuit logiqueprogrammable complexe),• PAL (programmable array logic, réseau logique programmable),• PLA (programmable logic array, réseau logique programmable),

Bien que fondamentalement synonymes, ces termes ne sontgénéralement pas interchangeables dans le vocabulaire commercialdes fabricants : FPGA désigne plutôt des composants à technologieSRAM, EPLD des composants à technologie FLASH, PAL descomposants à technologie fusible (voir § procédéstechnologiques).

AAABB

B

Programmable parfusible

A⊕B

Exemple le ouexclusif

Structure de base

•Programmable une fois par fusible•Programmable plusieurs fois

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 10: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

10

PAL, GAL, CPLD et EPLD,PAL, GAL, CPLD et EPLD,

Configuration d'un bloc

Les PAL, GAL, CPLD et EPLD, de conception plusancienne, utilisent des "macrocellules" logiques, composéesd'un réseau combinatoire de portes ET et OU afind'implémenter des équations logiques. Des bascules sontdisponibles seulement dans les blocs d'entrée-sortie. Uncomposant contient de quelques dizaines à quelquescentaines de macrocellules.

Comme le routage est fixe, les temps de propagations sontbornés et permettent une fréquence de fonctionnementélevée et indépendante du design. Par contre, l'utilisation desressources n'est pas optimale (tout terme non utilisé dansune équation logique équivaut à des portes perdues), avecdes taux d'utilisation d'environ 25%.

Les Complex PLD contiennent l'équivalent de plusieurscomposants PLD, reliés par une matrice d'interconnexion.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 11: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

11

FPGA: field-programmable gate arrayFPGA: field-programmable gate array

Les FPGA modernes sont basés sur des cellules SRAM pour le routage du circuit et pour les blocs logiques. Comme ces pointsmé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 équationslogiques ayant généralement 4 à 6 entrées et une sortie (petite mémoire, multiplexeur ou registre à décalage) et d'une basculequi 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 occupeune place importante sur le silicium et justifie le coût élevé des composants FPGA. La topologie est dite "Manhattan", enré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. Commeles temps de propagation dépendent de la longueur des liaisons entre cellules logiques, et que les algorithmes d'optimisation desplaceurs-routeurs ne sont pas déterministes, les performances (fréquence max) obtenues dans un FPGA sont variables d'undesign à 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,* 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.

Wikipedia

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 12: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

12

Procédés technologiquesProcédés 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 rayonsultra-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ûtinfé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 circuitlogique proprement dit et chacun de ses bits pilote un interrupteur (en fait, un transistor) de configuration duréseau logique. Dans le cas des technologies à (anti-)fusibles, ceux-ci sont directement dans le réseau logique etont à 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 finessede 90nm ont été les FPGA Spartan3 de Xilinx, en 2003.

FabricantsXilinx, Altera, Lattice Semiconductor, Actel, Cypress, Atmel et QuickLogic.

Wikipedia

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 13: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

13

ChipsetChipsetUn chipset est un jeu de circuits gérant les flux de données numériques entre le ou les processeur(s), lamé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 demicroprocesseur. Les performances globales de l'ordinateur dépendent donc des 2 puces duchipset et du microprocesseur.

La puce northbridge gère des communications entre le microprocesseur, le bus de la cartemère, la RAM, l’accès direct à la mémoire (DMA), les ports AGP ou PCI Express, et lesouthbridge. Certains contiennent également un processeur graphique apportant unesolution 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érieet 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 lesconsoles de jeux. Certains chipsets graphiques actuels comme les nForce de NVIDIA intègrent desfonctionnalités remplaçant une carte graphique (chipset vidéo) sauf la mémoire graphique prise sur lamémoire vive de l'ordinateur. Wikipedia

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 14: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

14

MicroprocesseursMicroprocesseursLes microprocesseurs sont construits avec un petit nombre de fonctions intégrées sur une puce, avec des tempsde 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épendgrandement de la topologie d'interconnexion entre les cœurs. Des approches comme la superposition dela mémoire et du cœur de processeur (memory stacking) devraient conduire à un accroissement desperformances qui devraient atteindre le Pétaflop, vers 2010 pour les serveurs, et vers 2030 dans les PC.

Wikipedia

La puce d'un microprocesseurIntel 80486DX2 dans son boîtier(taille réelle : 12 × 6,75 mm)

Le processeur interprète les instructions et traite les données d'un programme. La vitessede 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) fournissentdes comparatifs des temps d'exécution de programmes réels.

Le processeur apporte aux ordinateurs leur capacité à être programmés, il est associé auxmé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.).

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. CompatibleSSE3 et intégrant les instructions 64 bits, bus système de 800 MHz (contre 1 066 ou 1 333 MHz pour lesmeilleurs 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

Page 15: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

15

Intel finalise la gravure en 45 nm pour les Core 2 Duo 30 janvier 2007Intel finalise la gravure en 45 nm pour les Core 2 Duo 30 janvier 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 de300 mm. Le nombre de transistor passe de 291 millions de transistors pour un Conroe à 410 millions de transistors pour lePenryn à cause des 2 Mo de cache L2 supplémentaires. Malgré ce cache L2 de 6 Mo, la surface occupée est de 110 mm² contre144 mm² pour le Conroe. Intel profitera de ce « shrink » pour introduire les instructions SS. Autre bénéfice du 45 nm, laconsommation devrait rester comparable aux actuels 65 Watts du Core 2 Duo. Le passage en 45 nm n'est pas une simpleré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 dansun 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 sainteloi de Moore...

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

Page 16: CCoouurrss44::CCiirrccuuiittssccoommbbiinnaattooiirreesshebergement.u-psud.fr/.../09_C4_Logique_combinatoire.pdf · Un circuit logique programmable, ou réseau logique programmable,

16

Principales caractéristiques de NehalemPrincipales caractéristiques de NehalemIntel 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 731millions de transistors contre 820 millions pour les quad core! « L'intégration d'un contrôleur mémoire DDR3 plusrapide rend la présence d'un gros cache de second niveau beaucoup moins pertinente », Les premières puces Nehalemarriveront au quatrième trimestre. « Les premières machines grand public équipées de puces Nehalem serontvraisemblablement 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 leprocesseur !

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 plusieurscoeurs 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èssimultané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 parailleurs 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. SelonIntel, 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'objetd'une mise à jour en 2009 (nom de code Westmere) lors du passage au 32 nm.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com