La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Architecture & bits significatifs Thèse de doctorat Olivier Rochecouste sous la direction dAndré Seznec Projet CAPS / IRISA Lundi 24 Octobre 2005.

Présentations similaires


Présentation au sujet: "1 Architecture & bits significatifs Thèse de doctorat Olivier Rochecouste sous la direction dAndré Seznec Projet CAPS / IRISA Lundi 24 Octobre 2005."— Transcription de la présentation:

1 1 Architecture & bits significatifs Thèse de doctorat Olivier Rochecouste sous la direction dAndré Seznec Projet CAPS / IRISA Lundi 24 Octobre 2005

2 2 Problématique Évolution de la taille des mots traités par le processeur : –Intel 4004 (1971) : 4-bit –Intel Itanium (2000) : 64-bit Usage restreint des données 64-bit dans les applications : –applications multimédia (audio/vidéo 8-/16-bit) –50% des données entières sont sur 16-bit à lexécution [Brooks99] Surdimensionnement de la microarchitecture ? Impacts sur la consommation, la surface de silicium et la fréquence du processeur

3 3 Améliorer les performances : –parallélisme de données (SIMD*) [Nakra00, Loh02] Optimiser la consommation dénergie : –matériel reconfigurable [Brooks99, Canal00] État de lart Exploiter le format des données * Single-Instruction Multiple-Data bit 16-bit + 64-bit + 16-bit

4 4 État de lart Identifier le format des données Approche dynamique [Brooks99, Choi00] –détection cycle par cycle –repose sur un mécanisme matériel Approche « compilateur » [Stephenson00, Budiu00] –analyse du flot de données –doit préserver la sémantique du programme uint16 i = 0; for (i = 0; i < 25; i++) { x += i;... } uint16 i = 0; for (i = 0; i < 25; i++) { x += i;... } uint32 x = 0;uint16 x = 0; /* 8-bit : 88%, 16-bit : 12% */

5 5 Contributions de la thèse Exploiter le format des données pour réduire la complexité du processeur Première contribution : –technique matérielle / logicielle de redimensionnement du chemin de données –contexte embarqué Seconde contribution : –traitement découplé des opérations tronquées (16-bit) sur des opérateurs dédiés –contexte hautes performances

6 6 Technique matérielle / logicielle de redimensionnement du chemin de données

7 7 Motivations 60% de données entières 16-bit à lexécution opportunité pour réduire la consommation dénergie redimensionner le chemin de données Distribution du format des données dynamiques [Powerstone]

8 8 Notre approche Approche dynamiqueApproche compilateur éviter le recours à un support matériel pour identifier le format des données : complexe Spéculer sur la taille des données par logiciel pour redimensionner le chemin de données renforcer le compilateur avec une connaissance dynamique : profiling sappuyer sur le compilateur pour identifier le format des données : adéquate éviter le recours à une analyse statique pour optimiser la taille des données : restrictive

9 9 8-bit mode 16-bit mode 32-bit mode Support matériel (1) Chemin de données redimensionnable [Brooks99] –mode dexécution 8,16 ou 32-bit : « clock-gating » Fichier de registres en tranches : « nouvelle approche » –mode 8, 16 ou 32-bit : « drowsy mode » [Flautner02] données préservées –« tag bits » : dimension effective des données column decoder bit tag bits + mise à jour des tag bits

10 10 Support matériel (2) Instruction de reconfiguration : –changer le mode dexécution Mécanisme de recouvrement : –Identifier : comparer le mode dexécution à la largeur des opérandes (tag bits) –Corriger : vider le pipeline redimensionner le chemin de données rejouer les instructions

11 11 Spéculation du format des données par logiciel Redimensionnement du chemin de données –granularité utilisée : bloc de base (ou région) Identifier le format dexécution des blocs de base : –prédire sur la base des données du profiling fonction du taux dutilisation en données 16-bit (> 80%) Insérer les instructions de reconfiguration : –formation de régions add r1, r2 r3 … mode 16 xor r2, r3 r4 … mode 32 région 16-bit instructions de reconfiguration

12 12 Environnement expérimental Benchmarks : –14 applications Powerstone [M.core] Configuration simulée : –architecture VLIW 4 x 32-bit –64 registres généraux 32-bit –4 ALUs, 1 unité load/store Estimer la consommation dénergie (analytique) : –ALU : énergie(32-bit) ~ 2 x énergie(16-bit) –fichier de registres : CACTI : énergie dynamique par accès Hotleakage : énergie statique par accès

13 13 Évaluation expérimentale Consommation dénergie : –chemin de données : gains en dynamique : 17% –fichier de registres : gains en statique : 22% Performances : –Pénalité de recouvrement 5 cycles pénalité : - 2% 25 cycles pénalité : - 5% consommation performances

14 14 Récapitulatif Technique matérielle / logicielle de redimensionnement du chemin de données Spéculation par logiciel du format dexécution des blocs de base Support matériel : –mécanisme de recouvrement –chemin de données et fichier de registres 8/16/32-bit Réduction de la consommation dénergie : –chemin de données (dynamique) : 17% –fichier de registres (statique) : 22%

15 15 Comment adapter lapproche pour un modèle à exécution dans le désordre ? exécution atomique des régions inadéquation dune approche par profiling

16 16 Traitement découplé des opérations tronquées sur des opérateurs dédiés Le modèle à clusters WPM « Width-Partitioned Microarchitecture »

17 17 Le modèle à clusters partitionner les ressources de calcul entre différents groupes (clusters) pour réduire la complexité du processeur Nécessite : –mécanisme pour distribuer le programme sur les clusters –mécanisme pour communiquer les données entre les clusters fetch decode fetch decode rename dispatch rename dispatch issue execute write-back issue execute write-back commit ressources centralisées cluster

18 18 Motivations Caractérisation du format des opérations dynamiques Notation : –N : narrow-width (16-bit) –F : full-width (64-bit) –[16, 16 64] NNF 40% en opérations NNN 0% 20% 40% 60% 80% 100% cjpegepicghostscriptbzip2gccmcfaverage FFF FFN NFF NFN NNF NNN Découpler sur des opérateurs dédiés : le modèle WPM Découpler sur des opérateurs dédiés : le modèle WPM MediabenchSPEC2000

19 19 Modèle WPM 64-bit fetch decode fetch decode rename dispatch rename dispatch issue execute write-back issue execute write-back commit FFF NNN FFF NNN Modèle à clusters classique 64-bit 16-bit fetch decode fetch decode rename dispatch rename dispatch issue execute write-back issue execute write back write back commit FFF NNN découpler cluster 16-bit Modèle WPM

20 20 Modèle WPM Implémentation basique bypass 64-bit ALU 64-bit ALU load/store + ALU load/store + ALU 64-bit RF duplicata 16-bit RF duplicata 16-bit RF bypass 16-bit ALU 16-bit ALU 16-bit RF 16-bit ALU 16-bit ALU cache de données cluster 64-bitcluster 16-bit Communications inter-cluster : –duplicata RF 16-bit réduire la complexité du RF 64-bit –ALUs 16-bit reliées au duplicata –Load/store reliée au 16-bit RF 64-bit RF

21 21 Pour optimiser la connexité opérations FFN et FNN : 3% – opportunités Mise à jour à la demande : –instruction de copie générée par le matériel Duplicata 16-bit : –ports écriture / 2 Modèle WPM Implémentation optimisée 2 bypass 64-bit ALU 64-bit ALU load/store + ALU load/store + ALU 64-bit RF duplicata 16-bit RF duplicata 16-bit RF bypass 16-bit ALU 16-bit ALU 16-bit RF 16-bit ALU 16-bit ALU cache de données cluster 64-bitcluster 16-bit

22 22 Basée sur un prédicteur de largeur –exposer les opérations NNN Mauvaises prédictions : –« effectives » : largeur prédite < largeur produite –« conservatrices » : largeur prédite > largeur produite Schéma bimodal avec compteur RAZ –prédit 16-bit quand saturé sinon 64-bit –remis à zéro quand 64-bit Distribution des instructions 01 x 16-bit 64-bit 16-bit prédit 16-bitprédit 64-bit

23 23 Mécanisme de recouvrement Détection des mauvaises prédictions à létage dexécution : –logique de détection des zéros [Brooks99] Correction : mauvaises prédictions effectives –vider pipeline –rejouer instructions sur le cluster 64-bit –mettre à jour tables de prédiction Correction : mauvaises prédictions conservatrices –mettre à jour tables de prédiction

24 24 Environnement expérimental Benchmarks : 7 Mediabench et 7 SPEC2000 Modèles simulés : WPM basique, WPM optimisé 80 registres par RF prédicteur de largeur bimodal avec 4096 compteurs RAZ 3-bit MP effective < 0.1% Estimation de la consommation dénergie (analytique) : –ALU : énergie(64-bit) ~ 4 x énergie(16-bit) –fichier de registres : CACTI –interconnexions : énergie(16-bit) ~ 0.84 énergie(64-bit) [Bala05]

25 25 Modèle de référence Cluster 0 : –1 ALU 64-bit / 1 load/store Cluster 1 : –2 ALUs 64-bit 1 copie RF 64-bit / cluster –mise à jour systématique –délai inter-cluster Distribution des instructions [Canal00] –minimiser communications inter-cluster –préserver léquilibrage des charges fetch decode fetch decode rename dispatch rename dispatch issue execute write-back issue execute write-back commit 64-bit cluster 0 cluster 1

26 26 Complexité du fichier de registres Surface de silicium : analytique [Zyuban98] Temps daccès et énergie par accès : CACTI [Jouppi00] référenceWPM basiqueWPM optimisé position du cluster largeur du registre (bits)64 64/161664/1616 # registres80 80/808080/8080 ports daccès (lecture/écriture) (4,4) (4,2) / (2/4)(4,3)(4,2) / (2/2)(4,3) réduction de la surface--34%81%43%81% réduction du temps daccès --6% / 16%15%6% / 22%15% réduction énergie--21% / 63%35%21% / 71%35%

27 27 Réseau dinterconnexion Interconnexions inter-cluster (16-bit) : –surface de silicium / 4 –consommation dénergie - 20% Interconnexions hétérogènes [Bala05] – (largeur & espacement) = délai espacement longueur largeurhauteur interconnexions classiques optimisées pour le délai

28 28 Consommation dénergie WPM basique –ALU : 20 % –RF : 50% –interconnexions : 60% 0% 20% 40% 60% 80% 100% cjpegdjpegepicbzip2gccgzipavg. 0% 20% 40% 60% 80% 100% WPM basique WPM optimisé ALU RF interconnexions consommation dénergie consommation dénergie WPM optimisé : –ALU : 13% –RF : 50% –interconnexions : 80%

29 29 Performances Oracle : prédicteur de largeur parfait Bimodal : prédicteur bimodal 3-bit 4096 entrées Interconnexions hétérogènes : délai / 2 [Bala05] -25% -15% -5% 5% 15% 25% cjpegdjpegepicbzip2gccgzipavg. -25% -15% -5% 5% 15% 25%WPM basique + oracle WPM basique + bimodal WPM optimisé + bimodal WPM basique + int. hétér. WPM optimisé + int. hétér. performances

30 30 Modèle WPM Récapitulatif Modèle WPM « Width-Partitioned Microarchitecture » : –découpler le traitement des opérations NNN pour réduire la complexité du processeur –aucun mécanisme matériel nécessaire pour redimensionner –gains en énergie : fichier de registres : 50% interconnexions inter-cluster : 60 à 80% –dégradation des performances : 7%

31 31 Conclusion générale Surdimensionnement du chemin de données Exploiter le format des données pour réduire la complexité Deux contributions : –technique matérielle / logicielle pour redimensionner le chemin de données systèmes embarqués –traitement découplé des opérations tronquées sur des opérateurs dédiés (modèle WPM) systèmes hautes performances

32 32 Directions futures Appliquer le modèle WPM au contexte VLIW : –motivations : modèle à clusters populaire –utiliser le compilateur pour distribuer les opérations Examiner le passage à léchelle du modèle WPM : –comment le modèle WPM peut être adapté pour supporter un degré dexécution et un nombre de clusters plus importants ?

33 33 Merci de votre attention. Questions ?

34 34 Backup slides

35 35 Sources de consommation 2 sources principales dans la technologie CMOS * : –consommation dynamique 90% avec géométrie > 0.13µ –consommation statique 50% avec géométrie < 0.09µ Consommation dynamique –P dynamique = a. (C L * V dd 2 * f) Consommation statique –P statique = V dd * I fuite –I fuite = I ox + I sub + I diode * Complementary Metal Oxyde Silicon

36 36 Technique matérielle/logicielle Optimisations logicielles

37 37 Benchmarks ApplicationsDescription epicimage compression MEDIABENCHMEDIABENCH g721voice compression ghostscriptpostscript interpreter jpegimage compression mesa3D graphics library mpeg2video compression pegwitencryption algorithm bzip2data compressionSPEC2000SPEC2000 gccC compiler gzipdata compression mcfcombinatorial optimization parserword processing vortexdatabase vprFPGA place route ApplicationsDescription adpcmvoice encoding/decoding autoautomotive control code bcntbitcount bffofind first zero bilvshift, and, or operations brevbit reverse operations compressdata compression desdata encryption engineengine control application firinteger FIR filter g721protocol for voice transmission pocsagcommunication protocol for paging qurtroot computation of quadratic equations v42bismodem encoding/decoding

38 38 Modèle WPM équilibrage des charges Métrique : –différence du nombre dopérations prêtes à sexécuter dans chaque cluster à chaque cycle [Canal00] –équilibrage parfait : différence = 0 –équilibrage correct : différence < 5 –Résultats : équilibrage correct [0-2] : 50% exécution équilibrage

39 39 Modèle WPM analyse de la complexité (3) Réseau de bypass : –modèle de référence : 5 sources par cluster –WPM basique : 6 sources (cluster 64-bit) – 4 sources (cluster 16-bit) –WPM optimisé : 5 sources (cluster 64-bit) – 4 sources (cluster 16-bit) Logique de réveil : –modèle de référence : 4 sources par cluster –WPM basique : 4 sources (cluster 64-bit) – 3 sources (cluster 16-bit) –WPM optimisé : 3 sources par cluster

40 40 Modèle WPM Distribution des instructions (2) Heuristique : Soit i, linstruction à assigner : Tous les opérandes sources de i appartiennent au RF16 : Si résultat prédit 16-bit alors i assignée au cluster 16 Sinon i assignée au cluster 64 Au moins un opérande source de i appartient au RF64 : i assignée au cluster 64 Si résultat prédit 16-bit alors résultat écrit dans RF16 Sinon résultat écrit dans RF64

41 41 Fichier de registres : –surface de silicium [Zyuban98] : N regs : nombre de registres W regs : largeur du registre en bits N read : nombre de ports daccès en lecture N write : nombre de ports daccès en écriture w : largeur des interconnexions –temps daccès et consommation : CACTI Modèle WPM analyse de la complexité (1) N regs x W regs x w² x (N read + N write ) x (N read + 2 x N write )

42 42 Modèle WPM analyse de la complexité (2) ConventionnelWPM basiqueWPM optimisé numéro du cluster # RF largeur de registre (bits)64 64/161664/1616 # registres80 80/808080/8080 ports lecture/écriture(4,4) (4,2) / (2/4)(4,3)(4,2) / (2/2)(4,3) surface de silicium réduction de la surface--34%81%43%81% temps daccès (TA) / / réduction du TA--6% / 16%15%6% / 22%15% énergie nJ/accès / / réduction énergie--21% / 63%35%21% / 71%35%


Télécharger ppt "1 Architecture & bits significatifs Thèse de doctorat Olivier Rochecouste sous la direction dAndré Seznec Projet CAPS / IRISA Lundi 24 Octobre 2005."

Présentations similaires


Annonces Google