Next: UltraSPARC Up: Unité flottante et Previous: La norme IEEE

MIPS R10000

L'unité flottante du MIPS R10000 est composée de deux unités d'exécution principales : un additionneur et un multiplieur. Le multiplieur contient de plus deux unités d'exécution secondaires qui traitent les divisions flottantes, les racines carrées et les instructions à longue latence.

Le fichier de registres du MIPS R10000 vu par l'unité flottante est composé de 64 registres physiques de 64 bits. On doit se rappeler que l'unité flottante traite les opérations après qu'il y a eu renommage des registres pour éviter les fausses dépendances (voir paragraphe ).

La figure détaille l'unité flottante du MIPS R10000.

Fonctionnement


Chacune des deux unités peut accepter une instruction par cycle. À noter que la latence des opérations simples est de trois cycles mais que le résultat peut être intercepté et utilisé dans un format intermédiaire au bout de deux cycles.

Les instructions d'addition, de soustraction et de conversion sont traitées par l'additionneur flottant, les autres instructions étant traitées par le multiplieur.

Les unités de division flottante et de racine carrée sont deux sous-unités du multiplieur flottant. Elles utilisent des circuits différents et peuvent opérer simultanément ainsi qu'en parallèle avec le multiplieur flottant. Le port du multiplieur flottant est partagé entre le diviseur flottant et l'unité de racine carrée. Ces deux sous-unités réalisent leurs calculs avec des algorithmes itératifs et donc ne sont pas pipelinées. Chaque unité peut générer deux bits par étage, mais pour réduire la latence, le diviseur cascade deux étages en un seul cycle et génère quatre bits par cycle.

Les opérations flottantes de multiplication-addition sont exécutées comme deux opérations de multiplication et d'addition séparées : l'instruction est éclatée en deux opérations distinctes lors des étages de chargement et de décodage


flloansi@IRISA.irisa.fr
Tue Jun 4 09:57:56 MET DST 1996