Pentium 4 : Voyage au cur du CPU | ||||||||||||||||||||||
By Franck | ||||||||||||||||||||||
Les unités de calculs entiers
Ces dernières ne prennent en charge que les instructions non complexes, (un instruction est dite complexe si sa longueur est supérieure à 7 octets et si elle se décode en plus de 4 µops). En pratique, les ALUs double vitesse sont capables de traiter les instructions de déplacement (MOV), d'addition (ADD, SUB), et les opérations logiques (AND, OR), comme le montre le tableau ci-dessous. Selon Intel, ce type d'instructions représente en moyenne 70% des instructions entières couramment utilisées.
* Instruction non pipelinée. La troisième ALU, dite « Low Latency ALU », prend en charge les instructions complexes : multiplication, division, et étonnement les opérations de décalage (SHIFT). Etonnement car les instructions de décalage sont très couramment utilisées, et elles ont d'ailleurs fait l'objet de soins particuliers sur tous les prédécesseurs du Pentium 4. La conséquence immédiate est que de nombreux compilateurs utilisent les décalages à des fins d'optimisations, dont l'effet risque au contraire d'être pénalisant sur le Pentium 4. Dernière condition pour obtenir
d'excellentes performances en calcul entier, la latence du cache de données
L1 depuis les ALU n'est que de 2 cycles, et il est capable d'effectuer
une lecture et une écriture par cycle. Ces temps sont exceptionnels, mais
malheureusement ils ne suffisent encore pas à fournir le débit nécessaire
aux ALU double vitesse.
|
||||||||||||||||||||||
Close |