GELE5340 Circuits ITGÉ (VLSI) Chapitre 7: Circuits arithmétiques

Documents pareils
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Algèbre binaire et Circuits logiques ( )

Introduction à l étude des Corps Finis

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Systèmes de transmission

Quelques tests de primalité

DOCM Solutions officielles = n 2 10.

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Erreur statique. Chapitre Définition

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Plan du cours Cours théoriques. 29 septembre 2014

IFT1215 Introduction aux systèmes informatiques

Rappels d architecture

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

IV- Comment fonctionne un ordinateur?

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Installation et configuration du logiciel BauBit

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Création d articles sur le site web du GSP

Chapitre 7. Récurrences

Rapports d activités et financiers par Internet. Manuel Utilisateur

Analyse des Systèmes Asservis

Chapitre 2 : communications numériques.

ASR1 TD7 : Un microprocesseur RISC 16 bits

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Architecture des ordinateurs

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Résolution d équations non linéaires

Projet Matlab : un logiciel de cryptage

GPA770 Microélectronique appliquée Exercices série A

Glossaire des nombres

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Ordinateurs, Structure et Applications

I - Quelques propriétés des étoiles à neutrons

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Table des matières. I Mise à niveau 11. Préface

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Organigramme / Algorigramme Dossier élève 1 SI

Comparaison de fonctions Développements limités. Chapitre 10

Cours 3 : L'ordinateur

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Architecture matérielle des systèmes informatiques

Circuits RL et RC. Chapitre Inductance

Concevoir son microprocesseur

Licence Sciences et Technologies Examen janvier 2010

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

TP Modulation Démodulation BPSK

Développements limités, équivalents et calculs de limites

Chapitre 7. Circuits Magnétiques et Inductance. 7.1 Introduction Production d un champ magnétique

Architecture des ordinateurs Introduction à l informatique

Coefficients binomiaux

Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

Le chiffre est le signe, le nombre est la valeur.

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

QUESTION 1 {2 points}

1 ROLE ET DESCRIPTION DES DIESELS D ULTIME SECOURS

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exemple d implantation de fonction mathématique sur ST240

Installation d un serveur virtuel : DSL_G624M

Fonctions de deux variables. Mai 2011

enquête pour les fautes sur le fond, ce qui est graves pour une encyclopédie.

Mission 2 : Prise de contrôle à distance sur les éléments d'infrastructures, les serveurs (Contrôleur de domaine et DHCP) et les clients

Initiation au binaire

2.4 Représentation graphique, tableau de Karnaugh

Expérience 3 Formats de signalisation binaire

Représentation des Nombres

VIII- Circuits séquentiels. Mémoires

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Image d un intervalle par une fonction continue

Programmation par contraintes. Laurent Beaudou

Emporter Windows XP sur une clé USB

Chapitre 10 Arithmétique réelle

Compter à Babylone. L écriture des nombres

Organisation des Ordinateurs

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Jeu d instructions NIOS II

Chapitre 6. Fonction réelle d une variable réelle

FORMULAIRE DE STATISTIQUES

Enregistreur de Température pour PC DALLAS 1820

Configurer et sécuriser son réseau sans fil domestique

MANUEL D INSTRUCTION

TD1 Signaux, énergie et puissance, signaux aléatoires

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

La mémoire. Un ordinateur. L'octet. Le bit

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

2. Couche physique (Couche 1 OSI et TCP/IP)

Programmation linéaire

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Bases de programmation. Cours 5. Structurer les données

Transcription:

GELE5340 Circuits ITGÉ (VLSI) Chapitre 7: Circuits arithmétiques

Contenu du chapitre On verra dans ce chapitres les éléments de base des circuits de traitement mathématique des microprocesseurs: Additionneurs Multiplicateurs Déphaseurs GELE5340 Gabriel Cormier, Université de Moncton 2

Organisation d un microprocesseur Le microprocesseur est composé de 4 composantes principales: Mémoire Bloc de contrôle Unité arithmétique Bloc entrée / sortie L unité arithmétique est la composante où les calculs mathématiques ont lieu. C est cette composante qui nous intéresse. GELE5340 Gabriel Cormier, Université de Moncton 3

Registre Additionneur Déphaseur Multiplicateur Unité arithmétique: organisation Contrôle Bit 3 Données (entrée) Bit 2 Bit 1 Bit 0 Données (sortie) Les opérations sont typiquement effectuées sur des groupes de bits en même temps, plutôt qu un seul bit à la fois. GELE5340 Gabriel Cormier, Université de Moncton 4

Unité arithmétique Dans la figure précédente, les opérations sont effectuées sur des blocs de 4 bits à la fois. Si on voudrait un microprocesseur à 24 bits, on utiliserait 6 blocs semblables. On a donc seulement besoin de faire le design d un bloc de 4 bits, et les 5 autres blocs sont des copies. GELE5340 Gabriel Cormier, Université de Moncton 5

L additionneur

Additionneurs L addition est l opération la plus commune. C est aussi l opération la plus lente, typiquement, et donc il faut bien optimiser le design de l additionneur. Comme dans les circuits vus auparavant, il y a deux méthodes pour optimiser la performance: Optimisation au niveau logique: On réarrange les équations pour obtenir un circuit plus petit ou plus rapide. Optimisation au niveau électronique: On redimensionne ou repositionne les transistors pour obtenir un circuit plus rapide. GELE5340 Gabriel Cormier, Université de Moncton 7

L additionneur complet à 1 bit C i A B C i C o S Report A B Additionneur 1 bit S 0 0 0 0 0 delete 0 0 1 0 1 delete 0 1 0 0 1 propagate 0 1 1 1 0 propagate 1 0 0 0 1 propagate C o 1 0 1 1 0 propagate 1 1 0 1 0 generate 1 1 1 1 1 generate A et B sont les entrées. C i est le report (carry) d entrée. S est la somme. C o est le report de sortie. La somme dépend de A et B (évidemment) et aussi du report d entrée. S A B C in C o A B BC i AC i GELE5340 Gabriel Cormier, Université de Moncton 8

L additionneur complet à 1 bit C i A B C i C o S Report A B Additionneur 1 bit S 0 0 0 0 0 delete 0 0 1 0 1 delete 0 1 0 0 1 propagate 0 1 1 1 0 propagate 1 0 0 0 1 propagate S A C o B C in 1 0 1 1 0 propagate 1 1 0 1 0 generate 1 1 1 1 1 generate C o A B BC i AC Le report fonctionne selon les 3 équations suivantes, indépendantes de C i : i D A B P A B G A B Delete: C 0 = 0. Propagate: C 0 = C in. Generate: C 0 = 1. GELE5340 Gabriel Cormier, Université de Moncton 9

L additionneur complet à 1 bit C i Les équations du circuit : A B Additionneur 1 bit S S A B C o A B C in BC i AC i C o On peut réécrire en fonction des 3 équations de report: S P C o G i C in PC i GELE5340 Gabriel Cormier, Université de Moncton 10

Réalisation d un additionneur Il existe plusieurs méthodes pour implanter un additionneur à plusieurs bits. Additionneur à propagation de report Additionneur statique (CMOS complémentaire) Additionneur miroir Additionneur à base de portes de transmission Chaîne de report Manchester Additionneur à dérivation de report Additionneur à sélection de report Linéaire Racine carrée GELE5340 Gabriel Cormier, Université de Moncton 11

L additionneur à report propagé L additionneur à report propagé (carry-ripple) est le type d additionneur de base. On construit un additionneur à report propagé à N bits en mettant en cascade N additionneurs complets. Dans ce cas-ci, le report d entrée du premier bit doit se propager jusqu à la sortie pour obtenir la valeur correcte de la somme. GELE5340 Gabriel Cormier, Université de Moncton 12

L additionneur à report propagé A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 C i,0 t report FA t sum C o,0 (C i,1 ) FA C o,1 (C i,2 ) FA C o,2 (C i,3 ) FA C o,3 S 0 S 1 S 2 S 3 Le pire délai est fonction du nombre de bits. t d ( N 1) t report t sum Où t report = délai pour que le report d entrée se propage au report de sortie, et t sum = délai pour que le report se propage à la somme. L objectif est donc de rendre la génération du report le plus rapide possible. GELE5340 Gabriel Cormier, Université de Moncton 13

L additionneur à report propagé Selon l équation du pire délai: On peut conclure que: t d ( N 1) t report t sum Le délai de propagation dans cette configuration est linéaire par rapport au nombre de bits. Ceci est important lorsqu on design des circuits à plusieurs bits (N = 32, 64, 128, ) Pour améliorer la vitesse, il est plus important d optimiser t report que t sum. GELE5340 Gabriel Cormier, Université de Moncton 14

Additionneur RP: CMOS complémentaire V DD V DD V DD A B C i A B B C o A A C i B V DD C i C i A S A B B C i A B C i A 28 transistors B GELE5340 Gabriel Cormier, Université de Moncton 15

Additionneur RP: CMOS complémentaire L additionneur précédent, en plus d être gros, est lent: Il y a des PMOS en série (les PMOS ont environ 2.5x la résistance d un NMOS) dans le calcul de C o et S. La capacitance d entrée de C i est grande (6 capacitances de grille et 2 capacitances de drain). Cependant, quelques astuces sont présentes: C i est placé le plus près possible de la sortie; c est un chemin critique. Effort logique de C i = 2 (dans le parcours pour générer C o ). GELE5340 Gabriel Cormier, Université de Moncton 16

GELE5340 Gabriel Cormier, Université de Moncton 17 Propriété: inversion FA A B C i S C o On peut prendre avantage de la propriété d inversion de l additionneur pour réduire le nombre d inverseurs dans le circuit. FA A B C i S C o ),, ( ),, ( ),, ( ),, ( i o i o i i C B A C C B A C C B A S C B A S

Propriété: inversion Cellule paire Cellule impaire A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 C i FA C o,0 FA C o,1 FA C o,2 FA C o,3 S 0 S 1 S 2 S 3 On utilise la propriété d inversion pour réduire le nombre d inverseurs dans la chaîne de report. FA indique un additionneur complet sans l inverseur dans le circuit de génération du report. GELE5340 Gabriel Cormier, Université de Moncton 18

Additionneur miroir L additionneur miroir est basé sur les équations de S et C o en fonction de P et G. L additionneur miroir permet de réduire le nombre de transistors utilisés. GELE5340 Gabriel Cormier, Université de Moncton 19

Additionneur miroir V DD V DD V DD A A B B A B C i B C i A A C o C i C i S A B B A B C i B A 24 transistors GELE5340 Gabriel Cormier, Université de Moncton 20

Additionneur miroir Avantages: Il faut seulement 24 transistors (plutôt que 28). Un maximum de 2 transistors sont en série dans le circuit pour générer C o. Les transistors branchés à C i sont placés le plus près de la sortie. Seuls les transistors du circuit pour générer C o ont besoin d être dimensionnés pour la vitesse. Les autres peuvent être de dimension minimale. GELE5340 Gabriel Cormier, Université de Moncton 21

Additionneur: portes de transmission On peut faire un additionneur complet avec des portes de transmission. Dans ce cas-ci, on utilise les équations de G et P pour obtenir les circuits. Les circuits internes de l additionneur sont des portes XOR et des multiplexeurs. GELE5340 Gabriel Cormier, Université de Moncton 22

Additionneur: portes de transmission P V DD A C i V DD A A P C i P S B A B P V DD V DD P A P C o C i C i A Setup C i P 24 transistors GELE5340 Gabriel Cormier, Université de Moncton 23

Chaîne de report Manchester On peut simplifier le circuit précédent de génération du report si on utilise les signaux generate et delete. L implantation peut se faire de deux méthodes: Statique, avec des portes de transmission Dynamique GELE5340 Gabriel Cormier, Université de Moncton 24

Chaîne de report Manchester V DD V DD P i P i G i C i C o C i C o D i G i P i a) Implantation statique b) Implantation dynamique GELE5340 Gabriel Cormier, Université de Moncton 25

Chaîne de report Manchester V DD P 0 P 1 P 2 P 3 C i,0 G 0 G 1 G 2 G 3 C o,0 C o,1 C o,2 C o,3 Implantation dynamique d une section à 4bits d une chaîne de report Manchester. GELE5340 Gabriel Cormier, Université de Moncton 26

Délai: chaîne de report Manchester Le délai d une chaîne de report Manchester peut être évalué avec le délai Elmore: N( N 1) t p 0.69 2 RC si tous les transistors ont la même dimension. Il y a donc une relation quadratique avec le nombre d étages. GELE5340 Gabriel Cormier, Université de Moncton 27

Additionneurs: considérations logiques On cherche maintenant à optimiser la vitesse des additionneurs en manipulant les équations logiques. Les additionneurs à propagation de report fonctionnent bien pour des microprocesseurs à peu de bits, mais pour des applications à beaucoup de bits (ex: 64bits dans les serveurs, 128bits dans le PlayStation3), ils sont trop lents. GELE5340 Gabriel Cormier, Université de Moncton 28

Additionneur à dérivation de report L additionneur à dérivation de report (carrybypass) se sert des équations de P et G pour accélérer l additionneur. Rappel: C o G i PC i On cherche à savoir si on a besoin du C i, ou sinon, on n a pas besoin d attendre et on peut continuer les calculs. GELE5340 Gabriel Cormier, Université de Moncton 29

Additionneur à dérivation de report P 0 G 0 P 1 G 1 P 2 G 2 P 3 G 3 C i,0 FA C o,0 C o,1 C o,2 C o,3 FA FA FA Le seul cas où C i,0 se propage à la sortie est quand tous les P (P 0, P 1, P 2, P 3 ) sont 1. Pour chaque bit, si P = 0, alors C o = G. C o G i PC i GELE5340 Gabriel Cormier, Université de Moncton 30

Additionneur à dérivation de report P 0 G 0 P 1 G 1 P 2 G 2 P 3 G 3 BP C i,0 FA C o,0 C o,1 C o,2 FA FA FA mux C o,3 BP P PP 0 1 2P3 Fonctionnement: Si BP = 1, alors C o,3 = C i,0. Il faut attendre pour C i,0 pour avoir la valeur de C o,3. Si BP = 0, alors C o,3 ne dépend pas de C i,0. On n a donc pas besoin d attendre C i,0 pour obtenir C o,3. GELE5340 Gabriel Cormier, Université de Moncton 31

Délai: additionneur DR Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup t setup Setup Setup Setup t bypass Prop. carry Prop. carry Prop. carry Prop. carry Somme Somme Somme t sum Somme M bits Pire délai: t p N tsetup Mtcarry 1tbypass ( M 1) t M carry t sum GELE5340 Gabriel Cormier, Université de Moncton 32

Délai: additionneur DR Pour des additionneurs à plus de 8 bits, l additionneur à dérivation de report est plus rapide. Cependant, la dépendance du délai sur le nombre de bits est quand même linéaire. t p Additionneur PR Additionneur DR 4 8 N L additionneur à dérivation de report occupe cependant un peu plus de superficie (10% - 20%) que l additionneur à propagation de report. GELE5340 Gabriel Cormier, Université de Moncton 33

Additionneur à sélection de report Dans l additionneur à propagation de report, il faut attendre le calcul du report de l étape précédente avant de faire le calcul du report de sortie. On peut accélérer le processus en faisant le calcul pour les deux valeurs possibles du report d entrée (0 ou 1) et en choisissant la bonne valeur lorsque le report d entrée arrive. On calcul donc deux valeurs de C o, une pour C i = 0 et l autre pour C i = 1. Un multiplexeur choisi la valeur correcte, selon la valeur réelle de C i. GELE5340 Gabriel Cormier, Université de Moncton 34

Additionneur à sélection de report k bits Setup C i,0 P, G Calcul pour C i = 0 Calcul pour C i = 1 Multiplexeur C o,k-1 Au lieu d attendre pour C i, on calcul les 2 valeurs possibles. Lorsque la valeur de C i,0 est disponible, on choisit la bonne valeur. La somme est calculée par après avec la bonne valeur de C o. Somme GELE5340 Gabriel Cormier, Université de Moncton 35

Additionneur à sélection de report Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup Setup Setup Setup 0: Report 0: Report 0: Report 0: Report 1: Report 1: Report 1: Report 1: Report C i,0 Mux Mux Mux Mux C o,15 Somme Somme Somme Somme S 0-3 S 4-7 S 8-11 S 12-15 Pire délai: t add t setup Mt carry N M t mux t sum GELE5340 Gabriel Cormier, Université de Moncton 36

Sélection de report: délai Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup Setup Setup Setup (1) 0: Report 0: Report 0: Report 0: Report (1) 1: Report 1: Report 1: Report 1: Report (5) (5) (5) (5) (5) C i,0 Mux Mux Mux Mux C o,15 (6) (7) (8) (9) Somme Somme Somme Somme S 0-3 S 4-7 S 8-11 S 12-15 (10) Délai: il y a un écart significatif entre les temps d arrivée au dernier mux. GELE5340 Gabriel Cormier, Université de Moncton 37

Sélection de report: délai Pour réduire cet écart entre les temps d arrivée, on essaie d égaliser les délais entre les chemins. On réalise ceci en ajoutant de plus en plus de bits aux étages supérieurs. Ex: le premier étage peut ajouter 2 bits, le 2e étage 3 bits, le 3e étage 4bits, etc La dépendance est maintenant sous-linéaire. GELE5340 Gabriel Cormier, Université de Moncton 38

Sélection de report: racine carrée Bit 0 1 Bit 2 4 Bit 5 8 Bit 9 13 Bit 14 19 Setup Setup Setup Setup Setup (1) 0: Report 0: Report 0: Report 0: Report 0: Report (1) C i,0 1: Report 1: Report 1: Report 1: Report (3) (3) (4) (5) (6) Mux Mux Mux Mux (4) (5) (6) (7) 1: Report (7) Mux (8) Somme Somme Somme Somme Somme S 0-1 S 2-4 S 5-8 S 9-13 (8) S 14-19 (9) Dans ce cas-ci, les bits arrivent tous aux multiplexeurs en même temps. GELE5340 Gabriel Cormier, Université de Moncton 39

Sélection de report: racine carrée Pour calculer le délai, on suppose: N est le nombre total de bits M est le nombre de bits du premier étage P est le nombre d étages N M ( M 1) ( M 2) ( M 3) ( M P 1) MP P( P 1) 2 P 2 2 PM 1 2 Si M << N, on peut simplifier à: 2 N P / 2 ou P 2N GELE5340 Gabriel Cormier, Université de Moncton 40

Sélection de report: racine carrée Le délai de l additionneur à sélection de report peut donc être exprimé par l équation suivante: t add t Mt 2 setup carry N tmux tsum On voit bien la dépendance «racine carrée» du délai sur le nombre de bits. GELE5340 Gabriel Cormier, Université de Moncton 41

Délai Additionneurs: comparaison 50 40 Additionneur PR 30 20 Additionneur SR linéaire 10 0 0 20 40 N Additionneur SR racine carrée 60 GELE5340 Gabriel Cormier, Université de Moncton 42

Multiplicateurs

Multiplicateurs La multiplication est un processus lent. La performance de plusieurs problèmes est souvent limitée par la multiplication. La multiplication est, en fait, une série d additions. Les analyses des additionneurs sont en grande partie applicables aux multiplicateurs. On verra un peu comment la multiplication est effectuée, et comment optimiser les circuits. GELE5340 Gabriel Cormier, Université de Moncton 44

GELE5340 Gabriel Cormier, Université de Moncton 45 Multiplication binaire Soit deux chiffres binaires, X et Y: 1 0 2 M i i X i X 1 0 2 N j j Y j Y La multiplication des deux chiffres donne: 1 0 1 0 1 0 1 0 1 0 2 2 2 2 M i N j j i j i N j j j M i i i N M k k k X Y Y X Z Y X Z

Multiplication binaire La méthode la plus simple de faire une multiplication binaire est de faire une série d additions. Pour des entrées de M bits et N bits, la multiplication prend M cycles en utilisant un additionneur à N bits. On additionne M produits partiels. La multiplication est essentiellement une série d opérations AND. GELE5340 Gabriel Cormier, Université de Moncton 46

Multiplication binaire N bits 1 0 1 0 1 0 Multiplicande M bits x 1 0 1 1 Multiplicateur 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 Produits partiels 1 0 1 0 1 0 1 1 1 0 0 1 1 1 0 Résultat On a M additions de N bits. Le résultat a (M + N 1) bits. GELE5340 Gabriel Cormier, Université de Moncton 47

Produits partiels La multiplication de deux chiffres est équivalent à l opération AND. A B A B 0 0 0 0 1 0 1 0 0 1 1 1 Pour créer les produits partiels, on a besoin que de portes AND. a b a b GELE5340 Gabriel Cormier, Université de Moncton 48

Produits partiels Ex: multiplication à 4 bits: X Y X 3 X 2 X 1 X 0 Y i PP 3 PP 2 PP 1 PP 0 On doit répéter ce processus 4 fois (pour chaque valeur de Y). GELE5340 Gabriel Cormier, Université de Moncton 49

Multiplicateur matriciel Le multiplicateur matriciel est le multiplicateur de base. C est une implantation directe de la multiplication manuelle (voir diapo #47). On a N M portes AND. Pour additionner les produits partiels, il faut N 1 additionneurs de M bits. GELE5340 Gabriel Cormier, Université de Moncton 50

Multiplicateur matriciel Ex: multiplicateur 4 bits Z = X Y X 3 X 3 X 2 X 1 X 2 X 1 X 0 X 0 Y 0 Y 1 Z 0 X 3 HA FA FA HA X 2 X X 0 1 Y 2 Z 1 X 3 FA FA FA HA X X 0 2 X 1 Y 3 Z 2 FA FA FA HA Z 7 Z 6 Z 5 Z 4 Z 3 Rappel: FA: Full adder, (3 entrées) HA: Half-adder, (2 entrées) GELE5340 Gabriel Cormier, Université de Moncton 51

Multiplicateur matriciel: chemin critique Il y a plusieurs chemins critiques. Note: les portes AND ne sont pas montrées. HA FA FA HA FA FA FA HA FA FA FA HA Chemin critique 1 Chemin critique 2 GELE5340 Gabriel Cormier, Université de Moncton 52

Multiplicateur matriciel: chemin critique Il existe plusieurs chemins de même délai dans ce multiplicateur. En observant les chemins critiques de la figure précédente, on peut approximer le délai de ce multiplicateur par l équation suivante: t mult M 1 N 2 tcarry N tsum tand 1 GELE5340 Gabriel Cormier, Université de Moncton 53

Multiplicateur à sauvegarde de report Parce qu il y a plusieurs chemins critiques dans le multiplicateur matriciel, il y aura peu d amélioration à la performance si on dimensionne les transistors. Cependant, on peut réorganiser le multiplicateur lorsqu on remarque que le résultat de la multiplication ne change pas si le report est passé de façon diagonale à l étage suivant. Cependant, on doit ajouter un nouvel étage d addition. GELE5340 Gabriel Cormier, Université de Moncton 54

Multiplicateur à sauvegarde de report Ex: multiplicateur 4 4 HA HA HA HA HA FA FA FA HA FA FA FA Chemin critique HA FA FA HA Additionneur de fusionnement Il y a un seul chemin critique, facilement identifiable. GELE5340 Gabriel Cormier, Université de Moncton 55

Multiplicateur à sauvegarde de report Dans ce cas-ci, le chemin critique est facilement identifiable et on peut donc écrire une équation pour le délai: t mult t 1 and N tcarry tmerge Le délai t merge représente le délai dans le bloc de fusionnement. Il s agit d un additionneur à propagation de report, et donc les techniques vues auparavant pour accélérer ce genre d additionneur sont applicables. GELE5340 Gabriel Cormier, Université de Moncton 56

Multiplicateur: topologie X 0 X 1 X 2 X 3 Y 0 Y 1 C S C S C S C S Z 0 HA FA Y 2 C S C S C S C S Cellule de fusionnement Y 3 C S C S C S C S Z 1 Z 2 Les signaux X et Y se propagent à travers la structure. Z 7 C C C C S S S S Z 6 Z 5 Z 4 Z 3 Noter la régularité de la structure. Ceci rend l automation possible. GELE5340 Gabriel Cormier, Université de Moncton 57

Multiplicateur Wallace-Tree On peut réarranger les produits partiels de sorte qu ils forment un arbre. Cette structure peut ensuite être utilisée pour réduire le nombre de produits partiels. On appelle ce type de multiplicateur le Wallace-Tree Mulitiplier. GELE5340 Gabriel Cormier, Université de Moncton 58

Multiplicateur Wallace-Tree Produits partiels 6 5 4 3 2 1 0 Position du bit On modifie pour faire un arbre 6 5 4 3 2 1 0 HA 6 5 4 3 2 1 0 6 5 4 3 2 1 0 FA Résultat final GELE5340 Gabriel Cormier, Université de Moncton 59

Multiplicateur Wallace-Tree Comment fonctionne cette réduction? 6 5 4 3 2 1 0 6 5 4 3 2 1 0 HA Un HA prend deux bits comme entrées, et produit 2 bits de sortie: le premier à la même position (la somme), et le second dans la position d après (report). Le FA prend trois bits comme entrées, et produits 2 bits de sortie de la même façon que le HA. i+1 i i+1 i i+1 i i+1 i FA GELE5340 Gabriel Cormier, Université de Moncton 60

Multiplicateur Wallace-Tree Ex: multiplicateur 4 4 Produits partiels x 3 y 3 x 3 y 2 x 2 y 3 x 2 y 2 x 3 y 1 x 1 y 2 x 3 y 0 x 1 y 1 x 2 y 0 x 0 y 1 x 1 y 3 x 0 y 3 x 2 y 1 x 0 y 2 x 1 y 0 x 0 y 0 Premier étage HA HA Deuxième étage FA FA FA HA Additionneur final z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 GELE5340 Gabriel Cormier, Université de Moncton 61

Multiplicateur Wallace-Tree Si on compare avec le multiplicateur à sauvegarde de report: Sauvegarde de report: 6 HA, 6 FA, 1 additionneur Wallace-Tree: 3 HA, 3 FA, 1 additionneur L additionneur final est un simple additionneur. On peut utiliser n importe quel type d additionneur, mais l additionneur à dérivation est un choix populaire. Cependant, la topologie du multiplicateur Wallace- Tree est très irrégulière, et rend son implantation pratique plus difficile. GELE5340 Gabriel Cormier, Université de Moncton 62

Multiplicateurs: sommaire Buts différents de l additionneur Dans certaines structures, délai carry = délai somme Analyse plus difficile: chemins critiques multiples D autre techniques possibles Encodage de Booth (très populaire) Pipelining Exemple de performance: Multiplicateur 54 bits 54 bits, délai: 1.58ns, 0.18m GELE5340 Gabriel Cormier, Université de Moncton 63

Déphaseur

Déphaseur L opération de déphasage («shift») est une autre composante importante d une unité arithmétique. On s en sert dans les unités à virgule flottante («floating-point unit»), ou la multiplication par une constante. L implantation d un déphaseur qui déphase d un montant constant est facile, mais un déphaseur programmable est plus complexe. À la base, un déphaseur est un multiplexeur complexe. GELE5340 Gabriel Cormier, Université de Moncton 65

Déphaseur binaire Droite Nop Gauche Ce déphaseur permet de déphaser un bit d une position (droite ou gauche). A i A i+1 B i B i-1 Selon le signal de contrôle, le bit est déphasé vers la droite, vers la gauche, ou pas du tout. GELE5340 Gabriel Cormier, Université de Moncton 66

Déphaseur binaire drt nop gch A i B i A i A i-1 drt nop gch B i B i-1 A 1 A 0 0 1 0 A 1 A 0 A 1 A 0 1 0 0 0 A 1 A 1 A 0 0 0 1 A 0 0 A i+1 B i-1 GELE5340 Gabriel Cormier, Université de Moncton 67

Déphaseur binaire Le déphaseur binaire est simple d opération, mais il ne permet de déphaser que d un seul bit. Pour construire des déphaseurs multi-bit, on peut mettre plusieurs déphaseurs binaires en cascade. Cependant, ceci implique que le circuit devient rapidement complexe, et aussi très lent pour être utile. On doit donc avoir des circuits plus structurés: Déphaseur barrel Déphaseur logarithmique GELE5340 Gabriel Cormier, Université de Moncton 68

Déphaseur barrel A 3 B 3 Sh 3 A 2 B 2 Sh 2 A 1 B 1 Sh 1 A 0 B 0 Sh 0 Sh 1 Sh 2 Sh 3 Données Contrôle GELE5340 Gabriel Cormier, Université de Moncton 69

Déphaseur barrel A 3 B 3 Exemples: Sh0 = 1 B 3 B 2 B 1 B 0 = A 3 A 2 A 1 A 0 A 2 Sh 3 B 2 Sh2 = 1 B 3 B 2 B 1 B 0 = A 3 A 3 A 3 A 2 Sh 2 A 1 B 1 Sh 1 A 0 B 0 Sh 0 Sh 1 Sh 2 Sh 3 GELE5340 Gabriel Cormier, Université de Moncton 70

Déphaseur barrel A 3 A 2 A 1 A 0 Sh0 Sh1 Sh2 Sh3 Exemple de topologie: déphaseur 4x4 Buffer GELE5340 Gabriel Cormier, Université de Moncton 71

Déphaseur barrel La topologie du déphaseur barrel n est pas dominée par les transistors, mais plutôt par les fils. La densité de la topologie est limitée par la distance minimale entre les fils. Le déphaseur barrel est relativement rapide, puisque les signaux ont seulement besoin de passer à travers un seul transistor passant. GELE5340 Gabriel Cormier, Université de Moncton 72

Déphaseur logarithmique Le déphaseur logarithmique utilise des étages pour réaliser le déphasage. La valeur totale du déphasage est répartie sur des signaux ayant une puissance de 2. Pour un déphasage maximum de M 1, il faut log 2 M étages. Ex: pour un déphaseur de 7 bits, il faut 3 étages. On aurait donc 3 signaux de contrôle. GELE5340 Gabriel Cormier, Université de Moncton 73

Déphaseur logarithmique Sh 1 Sh 1 Sh 2 Sh 2 Sh 4 Sh 4 A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 GELE5340 Gabriel Cormier, Université de Moncton 74

Déphaseur logarithmique: exemple Sh 1 Sh 1 Sh 2 Sh 2 Sh 4 Sh 4 Sh 1 = 1 Sh 2 = 1 Déphasage = 3 A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 GELE5340 Gabriel Cormier, Université de Moncton 75

Déphaseur logarithmique A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Déphaseur 0 7 bits. GELE5340 Gabriel Cormier, Université de Moncton 76

Déphaseur logarithmique La vitesse du déphaseur logarithmique dépend de la quantité de déphasage; plus on déphase, plus c est lent. Le déphaseur barrel est meilleur pour de petits déphasages, tandis que le déphaseur logarithmique est meilleur pour de grand déphasages (il est meilleur en termes de superficie et de vitesse). GELE5340 Gabriel Cormier, Université de Moncton 77

Conclusion On a vu les circuits pour réaliser les opérations mathématiques de base: Addition: il existe plusieurs types de circuits pour implanter des additionneurs. Multiplication: la multiplication est une série d additions. Déphasage. GELE5340 Gabriel Cormier, Université de Moncton 78