- En 1993, Intel a lancé le processeur Pentium haute performance
- En analysant les circuits du Pentium, on a découvert un circuit complexe destiné à multiplier par 3
- Ce circuit fait partie de l’unité de multiplication en virgule flottante du Pentium, qui multiplie des nombres sur 64 bits en base octale
- Nécessité de la multiplication en base octale
- La multiplication binaire est simple en théorie, mais lente
- Le Pentium effectue les multiplications en base octale afin de réduire la taille du circuit et d’augmenter la vitesse
- La multiplication en base octale est complexe, car il faut multiplier par des chiffres de 0 à 7
- Algorithme de Booth et circuit ×3
- L’algorithme de Booth est utilisé pour optimiser la multiplication
- Le circuit ×3 doit être traité comme un cas particulier dans la multiplication en virgule flottante
- Ce circuit doit fonctionner rapidement et utilise des techniques comme le carry lookahead pour maximiser les performances
- Carry lookahead et additionneur à préfixe parallèle
- L’additionneur carry lookahead calcule tous les bits de retenue en parallèle afin d’accélérer l’addition
- Un additionneur à préfixe parallèle est utilisé pour implémenter le carry lookahead par blocs de 8 bits
- L’algorithme de Kogge-Stone est utilisé pour minimiser la latence et organiser efficacement le circuit
- Additionneur carry-select
- L’additionneur carry-select exécute deux additions en parallèle et fournit immédiatement le résultat une fois la retenue déterminée
- Le Pentium utilise un additionneur carry-select pour chaque bloc de 8 bits dans le circuit ×3
- Driver de sortie BiCMOS
- La sortie du circuit ×3 nécessite un courant élevé, et le procédé BiCMOS est utilisé pour réduire le délai du signal
- Le BiCMOS combine CMOS et transistors bipolaires pour offrir de hautes performances
- Conclusion
- Le circuit ×3 du Pentium repose sur une conception complexe et utilise davantage de transistors que les microprocesseurs du passé
- C’est un exemple qui montre à quel point la complexité des processeurs a augmenté
1 commentaires
Commentaire Hacker News
Dans l’émulation d’ordinateurs ternaires, il existe une méthode pour transformer la division par des puissances de 3 en décalages de bits et additions
Le processeur des jeux d’arcade Cinematronics possède deux accumulateurs de 12 bits
Peter Kogge a obtenu son doctorat à Stanford et, en tant qu’IBM Fellow, est la personne qui a inventé le CPU multicœur
Dans le calcul d’adresses, multiplier par 3 est une opération courante
Dans un multiplicateur, il existe une méthode qui consiste à multiplier par 8 puis soustraire 1 au lieu de multiplier par 7
Le multiplicateur ×3 contient environ 9 000 transistors, soit plus que le microprocesseur Z80 de 1976
Un multiplicateur Booth radix-8 nécessite un circuit x3
fmax8086 : 29,000
L’inconvénient de la multiplication radix-8 est que la multiplication par des nombres de 0 à 7 est complexe