|

Annoncé
en Septembre 1999, le Power PC 7400 G4, reposant sur la technologie
Altivec, est le premier microprocesseur considéré
comme un supercalculateur. Nous entendons par surpercalculateur
une unité capable de gérer des calculs de l'ordre
du gigaflop (un milliard d'instructions à virgule flottante
par seconde). En théorie, la vitesse de traitement du G4
se situe entre 1 et 4 gigaflops.
Les performances du G4 reposent sur une architecture totalement
nouvelle et c'est cette dernière que nous allons étudier
afin de comprendre son fonctionnement.

Comme
nous le démontre la figure précédente, l'architecture
du G4 a été totalement remaniée par rapport
au processeur G3. Outre la nouvelle unité de traitement vectorielle,
on remarque notamment que l'ensemble des bus à destination
de la mémoire cache sont d'une largeur de 128 bits. Cela
dans le but d'optimiser la vitesse de traitement dont est capable
le G4. On retrouve les composants classiques d'un microprocesseur.
Cependant la combinaison des différents éléments
dont il est constitué lui procure une capacité de
calcul sans commune mesure avec son prédécesseurs
G3.
Intéressons maintenant plus précisemment aux innovations
technologiques du G4:
Velocity
Engine
Conçu
pour accélérer le traitement des applications multimédias,
la notion de Velocity Engine ou Altivec repose sur trois caractéristiques
majeures:
Unité
vectorielle 128 bits
Cette
unité exploite une technologie nommée traitement vectorielle
permettant de traiter 128 bits de données simultanément.
Le principe de fonctionnement repose sur la notion de vecteurs.
Un vecteur se symbolise par un ensemble de nombre {3,2,5,8}. Tandis
que les processeurs classiques ne peuvent gérer qu'un seul
nombre à la fois, le processeur G4 gère donc un vecteur
et non plus un seul nombre. Cette technique se nomme "traitement
parallèle".
A titre d'exemple, imaginons le traitement d'un effet de flou
gaussien sous Adobe Photoshop. Un PowerPC G3 ou un Pentium III réalise
cette opération pixel par pixel, c'est à dire en mode
scalaire. Grâce à un PowerPC G4, Altivec gère
la transmission d'un groupe entier de pixels vers le processeur
pour traiter l'effet de flou. L'ensemble des pixels formant le vecteur
seront donc traiter en même temps.
Instructions
multimédias SIMD (Single Instructions, Multiple Data)
Il
s'agit de 162 instructions multimédias spécifiques
permettant au processeur d'exécuter des opérations
vectorielles sur des éléments de données multiples.
Cette technique appeller SIMD revient à appliquer la même
instruction simultanément à plusieurs données
différentes.
SIMD équivaut à un modèle de traitement selon
lequel le processeur va chercher ses instructions, les interprète
puis les exécute. Le PowerPC G4 est ainsi en mesure de traiter
jusqu'à 16 octets de données simultanément.
Ainsi, lorsque le processeur reçoit une instruction SIMD,
cela conduit immédiatement à son exécution
sans délai durant lequel le processeur demande la signification
de cette instructions.
Le PowerPC G3 n'intègre aucune instruction multimédia,
le Pentium III utilise pour sa part un modèle SIMD appelé
SSE comportant 127 instructions intégrées.
Parmis ces instructions, figurent des opérations vectorielles
telles que "vector multiply" (multiplication), "vector
permute" (permutation), "vector sum" (addition).
Registre
de données étendus
Un
registre équivaut à un emplacement mémoire
accessible à haute vitesse dans un processeur. Il se distingue
par leur rapidité. En effet, il suffit généralement
d'un seul cycle d'horloge pour la lecture de deux registres et l'écriture
dans un troisième. La mémoire est moins rapide dans
la mesure ou un accès peut requérir plusieurs cycles.
Ainsi, compte tenu de la vitesse de traitement des registres de
données, un processeur dôté de registres importants
gagnera en performances.
A ce niveau, le PowerPC G4 dispose d'un avantage indéniable.
En effet, ce dernier comprend 32 registres de 128 bits. A titre
de comparaison, le Pentium III est constitué pour sa part
de 8 registres de 64 bits. La taille des registres permettant de
contenir et de traiter une plus grande quantité de données
à la fois, ce sont le nombre et la taille des registres qui
déterminent l'efficacité du processeur mesuré
sur un cycle d'horloge.

Nouvelle
unité de calcul à virgule flottante
Destiné
à effectuer des calculs d'ordre décimal, l'unité
FPU du PowerPC G4 dispose d'une conception totalement nouvelle.
En effet, cette dernière s'avère désormais
capable d'effectuer des calculs à virgules flottantes double
précision sur un seul cycle d'horloge. Comparativement, le
PPC G3 a besoin de deux cycles pour réaliser le même
type de calcul. On entend par "précision" le nombre
de position décimale pris en compte dans les calculs.
Accès
mémoire
Velocity
Engine permet l'organisation de l'accés mémoire. Toutefois,
de nouvelles caractéristiques du PPC G4 ont également
un rôle important lors de ce processus:
Interface
du bus mémoire MPX
Face
à la quantité de données que peuvent gérer
les registres, la conception du bus MPX se devait d'alimenter ces
derniers autant en quantité qu'en rapidité. Cadencé
à 100 Mhz, ce nouveau bus double la bande passante entre
le processeur et la mémoire centrale par rapport à
un G3, passant d'un débit de 400 Mo à 800 Mo par seconde.
De plus, le bus MPX s'avère capable de gérer de multiples
transactions en attente et d'exécuter les instructions dans
le désordre.
La rapidité de l'interface MPX s'explique de deux façons:
Elle
peut gérer l'exécution d'instructions dans le désordre.
En effet, tandis que le PPC G3 avec son interface bus 60x doit attendre
de recevoir chaque instruction et la traiter dans un ordre spécifique,
le bus MPX ne tient pas forcément compte de l'ordre d'arrivé
des données. A titre d'exemple, nous pourrions dire qu'une
instruction simple serait exécutée rapidement quelquesoit
son ordre d'arrivé. Le processeur la traitant immédiatement
sans qu'une instruction précédente plus complexe soit
définitivement traitée.
MPX
est également capable de traiter simultanément jusqu'à
7 transactions en attente ou des requêtes en mémoire.
Le processeur n'a donc plus besoin d'attendre que les données
reviennent de la mémoire centrale avant d'en demander d'autres.

Ligne
de données mémoires internes 128 bits
Compte
tenu des volumes de données traitées par les registres
internes et le bus MPX, le PowerPC G4 est doté de lignes
de données mémoire interne d'une largeur de 128 bits.
Ces dernières permettent la circulation des données
provenant ou à destination de la mémoire cache de
niveau 1 et des registres.
Une telle largeur de bus contribue à l'efficacité
globale du processeur.


Prélecture
des flux de données
Cette
caractéristique permet au PPC G4 d'aller chercher les données
avant même que le processeur ne soit prêt à les
traiter. Les données sont alors empilées dans les
registres intégrés au processeur. Ainsi, lorsqu'une
phase de calcul démarre, le processeur est sans cesse alimenté
et peut gérer les flux même pendant les calculs.
Le but de la prélecture des données est de fournir
au processeur un flux permanent de données.Ces dernières
pouvant être dirigées sur n'importe quel emplacement
du processeur. Le PPC G3 ne possède qu'un seul flux de 32
bits et doit aller chercher chaque élément puis les
transmettre au processeur. Le PowerPC G4 pour sa part s'avère
capable de collecter simultanément des données par
le biais de 4 flux distincts de 32 bits.


|