unité de calcul en virgule flottante

3
Un coprocesseur arithmétique Le Motorola 68882 Unité de calcul en virgule flottante Une unité de calcul en virgule flottante (en anglais floating point unit, soit FPU) est une partie d'un processeur, spécialement conçue pour effectuer des opérations sur des nombres à virgule flottante. Sommaire 1 Opérations 2 Coprocesseurs 2.1 Utilisation 2.2 Exemple de coprocesseurs 3 Notes et références Opérations Les opérations typiques d'une unité de calcul flottante sont le plus souvent des opérations arithmétiques élémentaires, comme l'addition et la multiplication. Souvent, une unité de calcul à virgule flottante ne gère que quelques opérations arithmétiques élémentaires. Certains processeurs incorporent des opérations flottantes spéciales, telles les opérations multiply and accumulate, ou encore fused multiply and accumulate. Ces opérations vont effectuer une addition et une multiplication en une seule opération. Ce genre d’instruction est très utile pour accélérer certains algorithmes couramment utilisés en traitement d'image ou de signal. Quelques systèmes sont tout autant capables d'exécuter des calculs plus complexes, comme des exponentielles, des racines carrées, ou des fonctions trigonométriques comme les cosinus). Mais ils sont toutefois assez rares. Le plus souvent, le processeur utilise un microcode pour émuler ces opérations. Cette microprogrammation est plus lente qu'un câblage, mais bien plus économique, moins dissipatrice d'énergie et surtout moins complexe. Pour donner un exemple, le Pentium avait une unité flottante microprogrammée. On peut d'ailleurs remarquer que le remplissage incomplet d'une table du microcode était à l'origine de son fameux bug. Les opérations en virgule flottante comme l'addition et la multiplication sont typiquement pipelinées, mais les opérations plus compliquées, comme la division, peuvent ne pas l'être. Quelques systèmes peuvent même avoir un, voire plusieurs circuit(s) dédié(s) à la Unité de calcul en virgule flottante - Wikipédia http://fr.wikipedia.org/wiki/Unité_de_calcul_en_virgule_fl... 1 of 3 19/12/2013 08:55

Upload: ric-rad

Post on 08-Feb-2016

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unité de calcul en virgule flottante

Un coprocesseurarithmétiqueLe Motorola 68882

Unité de calcul en virgule flottanteUne unité de calcul en virgule flottante (en anglaisfloating point unit, soit FPU) est une partie d'unprocesseur, spécialement conçue pour effectuer desopérations sur des nombres à virgule flottante.

Sommaire

1 Opérations2 Coprocesseurs

2.1 Utilisation2.2 Exemple de coprocesseurs

3 Notes et références

Opérations

Les opérations typiques d'une unité de calcul flottante sont le plus souvent desopérations arithmétiques élémentaires, comme l'addition et la multiplication. Souvent,une unité de calcul à virgule flottante ne gère que quelques opérations arithmétiquesélémentaires.

Certains processeurs incorporent des opérations flottantes spéciales, telles lesopérations multiply and accumulate, ou encore fused multiply and accumulate. Cesopérations vont effectuer une addition et une multiplication en une seule opération. Cegenre d’instruction est très utile pour accélérer certains algorithmes courammentutilisés en traitement d'image ou de signal.

Quelques systèmes sont tout autant capables d'exécuter des calculs plus complexes,comme des exponentielles, des racines carrées, ou des fonctions trigonométriquescomme les cosinus). Mais ils sont toutefois assez rares. Le plus souvent, le processeurutilise un microcode pour émuler ces opérations. Cette microprogrammation est pluslente qu'un câblage, mais bien plus économique, moins dissipatrice d'énergie et surtoutmoins complexe. Pour donner un exemple, le Pentium avait une unité flottantemicroprogrammée. On peut d'ailleurs remarquer que le remplissage incomplet d'unetable du microcode était à l'origine de son fameux bug.

Les opérations en virgule flottante comme l'addition et la multiplication sonttypiquement pipelinées, mais les opérations plus compliquées, comme la division,peuvent ne pas l'être.

Quelques systèmes peuvent même avoir un, voire plusieurs circuit(s) dédié(s) à la

Unité de calcul en virgule flottante - Wikipédia http://fr.wikipedia.org/wiki/Unité_de_calcul_en_virgule_fl...

1 of 3 19/12/2013 08:55

Page 2: Unité de calcul en virgule flottante

division de nombre à virgule flottante.

Coprocesseurs

Jusqu'au milieu des années 1990, il était normal que la FPU soit entièrement séparée duprocesseur dans les ordinateurs personnels. Cette FPU était alors placée dans unemplacement dédiée sur la carte mère de l'ordinateur. Elle constituait une optionfacultative et onéreuse, achetée seulement si nécessaire pour accélérer ou permettred'utiliser des applications qui exigeaient une FPU.

Utilisation

Toutes les applications n'étaient pas capables de tirer parti de ces coprocesseurs. Lesapplications d'illustration vectorielle comme CorelDraw, bien que fortementconsommatrices de fonctions trigonométriques, n'utilisaient pas la virgule flottante,mais des approximations ingénieuses travaillant sur des valeurs entières (car de toutefaçon on ne cherche jamais à adresser plus précisément que le pixel d'écran). Aussil'éditeur canadien précisait-il bien dans sa documentation qu'il ne fallait pas chercher àaccélérer le produit en achetant un coprocesseur flottant.

Des logiciels (comme 3D Studio Max) nécessitaient quant à eux obligatoirement uneFPU, disponible sur les versions professionnelles des ordinateurs de l'époque. Lesordinateurs sans FPU pouvaient, eux, utiliser un émulateur de FPU de façon à fairetourner le logiciel, mais avec des performances très dégradées.

Exemple de coprocesseurs

les FPU Intel 8087, 80287, 80387, 80487, utilisables respectivement avec lesprocesseurs Intel 80386 et 80486SX (le 486DX avait une FPU intégrée)les FPU Motorola 68881 68882, utilisés avec les processeurs Motorola 68020 et68030, que l'on trouvait généralement dans des ordinateurs Macintosh.les FPU de Weitek Corporation, certains modèles étant prévus pour fonctionner avecdes processeurs Intel, d'autres avec des Motorola, ou même dans certainesSPARCstation de Sun Microsystems .

De nos jours, les FPU sont généralement inclus dans les processeurs d'ordinateurspersonnels, l'échelle d'intégration le permettant pour un coût à peu près nul, tandis queles câblages manuels (ou assistés) coûtent pour leur part plus cher que l'impressiond'un circuit intégrant tout dès le départ.

Notes et références

SPARCstation 1 (http://www.nezetic.info/article/9/sparcstation-1)1.

1

Unité de calcul en virgule flottante - Wikipédia http://fr.wikipedia.org/wiki/Unité_de_calcul_en_virgule_fl...

2 of 3 19/12/2013 08:55

Page 3: Unité de calcul en virgule flottante

Ce document provient de « http://fr.wikipedia.org/w/index.php?title=Unité_de_calcul_en_virgule_flottante&oldid=96969382 ».

Dernière modification de cette page le 24 septembre 2013 à 12:32.Droit d'auteur : les textes sont disponibles sous licence Creative Commons paternitépartage à l’identique ; d’autres conditions peuvent s’appliquer. Voyez les conditionsd’utilisation pour plus de détails, ainsi que les crédits graphiques. En cas deréutilisation des textes de cette page, voyez comment citer les auteurs et mentionner lalicence.Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation debienfaisance régie par le paragraphe 501(c)(3) du code fiscal des États-Unis.

Unité de calcul en virgule flottante - Wikipédia http://fr.wikipedia.org/wiki/Unité_de_calcul_en_virgule_fl...

3 of 3 19/12/2013 08:55