Benefits of EPIC Architectures for Multimedia Applications

publicité
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Journée extra-muros
24 juin 1999
Plan de l’exposé
z Introduction
z Merced et l’architecture IA-64
z Compilation vs. codage manuel
z Les instructions multimédia
z Exploitation de ces instructions
z Conclusion
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Introduction
z Réalisation d’optimisations de compilation
y pour les applications multimédia
x MPEG, jeux,...
x beaucoup de (petites) boucles
x tableaux, accès mémoire
y pour l’architecture EPIC
x mais pas seulement...
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
L’architecture IA-64
z Famille de processeurs (dont Merced)
z EPIC : bundles de 3 instructions + 1 tag
z Spécifications disponibles
y
y
y
y
register stack
spéculation de contrôle/données
support pour l’exécution de boucles
instructions multimédia
z Sujet d’un futur séminaire LSL ?
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Compilation vs. codage man.
z Du code écrit à la main en assembleur reste
meilleur que du code compilé :
y Sverre Jarp, CERN
x routines mathématiques (nombres aléatoires, fonctions
trigonométriques,…)
x utilisation d’optimisations manuelles très poussées
y Fulvio Moschetti, LTS - EPFL
x code multimédia (encodeur MPEG)
x utilisation des instructions multimédia
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Les instructions multimédia
z …ou instructions SIMD
z Exemple : padd (parallel modulo addition)
8 bits
64 bits = 8x8 bits
+
+
+
y padd1 r1 = r2, r3
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
+
+
+
+
+
Les instructions multimédia
z Autres fonctions
y addition/soustraction avec saturation
y moyenne
y comparaison
y multiplication et décalage
y mise en forme de données
z Sujet d’un futur séminaire LSL ?
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Compilateurs actuels
z Ils ne supportent pas les instructions
multimédia
z Pis-aller :
y utilisation de bibliothèques de routines utilisant
ces instructions multimédia
y problèmes :
x mise en forme des arguments
x pas toujours rentable
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Code assembleur
z Insertion de code assembleur dans du code C
x #ifdef _IA64_
x for (i = 0; i < max; i+=8)
• asm {
– … padd1 …
• }
x #else
x for (i = 0; i < max; i++)
• c[i] = a[i] + b[i]
x #fi
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Compilateurs à venir
z Solution idéale :
y le compilateur sait gérer tout seul ces instructions
multimédia
z mais,
y c’est difficile...
Benefits of EPIC Architectures
for Multimedia Applications
Jacques-Olivier Haenni
EPFL - DI - LSL
Téléchargement