1 b. goossens d. defour architecture b. goossens et d. defour dali université de perpignan via...

94
1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

Upload: sybille-cohen

Post on 03-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

1B. Goossens D. Defour

Architecture

B. Goossens et D. Defour

DaliUniversité de Perpignan Via Domitia

Page 2: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

2B. Goossens D. Defour

Plan du cours

• Introduction• Technologie• Circuiterie• Micro-architecture• Quelques systèmes actuels

Page 3: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

3B. Goossens D. Defour3B. Goossens D. Defour

Quelle machine? un PC de base?

Page 4: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

4B. Goossens D. Defour4B. Goossens D. Defour

Quelle machine? Une station bi-processeur?

Page 5: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

5B. Goossens D. Defour5B. Goossens D. Defour

Quelle machine? Un serveur réseau?

Page 6: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

6B. Goossens D. Defour6B. Goossens D. Defour

Quel processeur? Intel P4?

Page 7: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

7B. Goossens D. Defour7B. Goossens D. Defour

Quel processeur? AMD Athlon 64?

Page 8: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

8B. Goossens D. Defour8B. Goossens D. Defour

Quel processeur? P4 Hyperthreading?

Page 9: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

9B. Goossens D. Defour9B. Goossens D. Defour

Quel processeur? AMD Opteron?

Page 10: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

10B. Goossens D. Defour10B. Goossens D. Defour

Pour répondre à ces questions, il faut connaître:

• les standards de bus (FSB, AGP, PCI, PCIx, USB)• la micro-architecture des contrôleurs (CM, CIO)• la micro-architecture du processeur (pipeline,exécution ooo, spéculation, hiérarchie mémoire, E/S)

Comprendre la micro-architecture suppose qu’onconnaisse:

• la technologie (CMOS) et les portes de base• la circuiterie (mémoire, calcul, transmission,contrôle)

Page 11: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

11B. Goossens D. Defour11B. Goossens D. Defour

Technologie CMOS

Transistor nMOS Transistor pMOS

Un transistor nMOS passe bien les ‘0’Un transistor pMOS passe bien les ‘1’

Page 12: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

12B. Goossens D. Defour12B. Goossens D. Defour

Combien de transistors sur une puce?

Une puce est un carré de côté w, surface sLa finesse de gravure permet d’y dessiner w/4 lignes et w/4 colonnes, soit w²/16² cellulesDans chaque cellule, on peut déposer 1 transistorPlus la logique du circuit est régulière, plus le remplissage est dense (matrice mémoire)P4: s = 237 mm², = 90 nm, 178M de transistorsAthlon 64: s = 193 mm², = 130 nm, 106M de tr.DDR2 512Mb: s = 70 mm², = 90 nm, 512M de tr.Conso P4: 130W, Athlon: 90W, DDR2: 1W

Page 13: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

13B. Goossens D. Defour13B. Goossens D. Defour

Porte de transfert CMOS

Quand d = 0 et p = 1, le transistor pMOS passe d en sQuand d = 1 et p = 1, le transistor nMOS passe d en sLa porte de transfert passe bien les ‘0’ et les ‘1’

Page 14: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

14B. Goossens D. Defour14B. Goossens D. Defour

Portes logiques CMOS

Inverseur

Xor

Et Ou

Page 15: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

15B. Goossens D. Defour15B. Goossens D. Defour

Porte de transfert CMOS

Multiplexeur

Une porte de transfert passe une variableUne porte logique passe une constanteUne porte de transfert affaiblit son entréeUne porte logique amplifie son entrée

Page 16: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

16B. Goossens D. Defour16B. Goossens D. Defour

Portes CMOS

Page 17: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

17B. Goossens D. Defour17B. Goossens D. Defour

Séparateur CMOS: le verrou

Quand h = 1 (verrou passant), s = eQuand h = 0 (entrée stable), s mémorise eQuand e’ remplace e (h stable), s conserve e

Deux inverseursen série

Page 18: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

18B. Goossens D. Defour18B. Goossens D. Defour

Séparateur CMOS: le verrou

Verrou passant quand h = 0

Page 19: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

19B. Goossens D. Defour19B. Goossens D. Defour

Séparateur CMOS: la bascule

Quand h = 1 (#v non passant), s est isolé de eQuand h = 0 (v non passant), s est isolé de eQuand h monte, le dernier e devant v passe en s

Page 20: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

20B. Goossens D. Defour20B. Goossens D. Defour

Séparateurs CMOS

Page 21: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

21B. Goossens D. Defour21B. Goossens D. Defour

Cellule mémoire SRAM

Lecture: d = #d = Z et a = 1 alors q = mEcriture: d = m’ et #d = #m’ et a = 1Quand a = 0, la cellule n’est pas accédéeEn écriture, ce qui est écrit est aussi lu

Page 22: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

22B. Goossens D. Defour22B. Goossens D. Defour

Cellule mémoire DRAM

Lecture: d = Z et a = 1 alors d = qEcriture: d = q’ et a = 1 alors q = q’La lecture est destructrice (suivie d’une réécriture)Quand a = 0, la cellule n’est pas accédéeLa charge mémorisée en q disparait progressivementLe contenu de la cellule doit être rafraichi(lecture puis réécriture)

Page 23: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

23B. Goossens D. Defour23B. Goossens D. Defour

Cellule mémoire: CAM

Recherche: a = 0 et d = m’ alors si m == m’ alors s = Z (succès) sinon s = 0 (échec)Remplacement: a = 1 et écriture en SRAM

Page 24: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

24B. Goossens D. Defour24B. Goossens D. Defour

Cellule mémoire: plusieurs ports

Fifo: un port de lecture et un port d’écritureRegistre: n ports de lecture et m ports d’écritureAttention: la surface de la cellule est proportionnelleau carré du nombre de ports (temps d’accès)

Page 25: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

25B. Goossens D. Defour25B. Goossens D. Defour

Cellules mémoires

Page 26: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

26B. Goossens D. Defour26B. Goossens D. Defour

Circuit: diviser pour régner

Comparateur d’égalité

Page 27: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

27B. Goossens D. Defour27B. Goossens D. Defour

Circuit: comparateur d’ordre

a < b si ab < bb alors ah bh sinon ah <bha b si ab bb alors ah bh sinon ah <bh

Page 28: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

28B. Goossens D. Defour28B. Goossens D. Defour

Circuit: décodeur (nom position, xx)

y[3,0] = (x1x0 , x1#x0 , #x1x0 , #x1#x0)

Page 29: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

29B. Goossens D. Defour29B. Goossens D. Defour

Circuit: codeur (position nom xx)

y1 = (x3x2 != 0) y0 = si #z1 alors code(x3x2) sinon code(x1x0)

#z = (x != 0)

x=1100y=11

x=0011y=01

x=0110y=10

x=0000#z=0

Page 30: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

30B. Goossens D. Defour30B. Goossens D. Defour

Circuit: démultiplexeur

La donnée d est aiguillée vers la voie sx

Page 31: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

31B. Goossens D. Defour31B. Goossens D. Defour

Circuit de séparation asynchrone: le verrou

Pour v: si h = 1 alors s = ePour #v: si h = 0 alors s = e

Page 32: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

32B. Goossens D. Defour32B. Goossens D. Defour

Circuit de séparation synchrone: le registre

Pour b: quand h monte, e passe en sPour #b: quand h descend, e passe en s

Page 33: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

33B. Goossens D. Defour33B. Goossens D. Defour

Pipeline

Un traitement peut être subdivisé (pipeliné).Un morceau (le producteur) est séparé de sonsuccesseur (le consommateur) par un registre.Cela permet d’augmenter la fréquence destraitements.

Page 34: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

34B. Goossens D. Defour34B. Goossens D. Defour

Circuit de calcul: additionneur

Additionneur 4 bits, composable pour extension

calculea+b+0a+b+1

Page 35: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

35B. Goossens D. Defour35B. Goossens D. Defour

Circuit de calcul: additionneur

s0 = a + bs1 = a - #b = a + b + 1Dans N: r0, retenue de a + b, r1 = (a >= #b)Dans Z: d0, dépassement de capacité de a + bDans Z: d1, dépassement de capacité de a - #b

Page 36: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

36B. Goossens D. Defour36B. Goossens D. Defour

Circuit de calcul: décaleur à gauche

g = r * 2x

décalage signé ou non selon s/#ns (e.g.: (-1)*2 = -2)

Page 37: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

37B. Goossens D. Defour37B. Goossens D. Defour

Circuit de calcul: décaleur à droite

d = r / 2x

décalage signé ou non selon s/#ns (e.g.: (-1)/2 = -0,5)

Page 38: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

38B. Goossens D. Defour38B. Goossens D. Defour

Circuit de calcul: multiplieur

Le produit est une somme de produits partielsChaque produit partiel est soit 0 soit a décaléProduit 32 bits * 32 bits: 31 additions en série!

Page 39: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

39B. Goossens D. Defour39B. Goossens D. Defour

Circuit de calcul: multiplieur

Une seule addition à retenuer3,2: réducteur 3 vers 2 ((a, b, c) (r, s))Réduire la hauteur (base élevée redondante)

Page 40: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

40B. Goossens D. Defour40B. Goossens D. Defour

Circuit de calcul: calcul flottant

Norme IEEE 754f = (-1)s * 2e-b * (1 + m/(2p))En simple précision, p = 23 et b = 127En double précision, p = 52 et b = 1023(b est le biais; ainsi (e1,m1) < (e2,m2) f1<f2)Circuits de calcul spéciaux

Page 41: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

41B. Goossens D. Defour41B. Goossens D. Defour

Circuit de calcul: addition flottante

(1) alignement mantisses(2) m1 + m2, m1 + m2 + 1(3) normaliser e, m, e’, m’(4) s’il faut arrondir: choisir (s’, e’, m’)sinon choisir (s, e, m)

Page 42: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

42B. Goossens D. Defour42B. Goossens D. Defour

Circuit de calcul: division flottante

(1) table de quotients en base redondante(2) adressée par des préfixes de D et d(3) calcul du reste(4) boucler 13 fois (sp) ou 28 fois (dp)(5) q = q+ - q- corriger r

Page 43: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

43B. Goossens D. Defour43B. Goossens D. Defour

Unité fonctionnelle: unité entière

Deux opérations en //TC: tables d’opérandesOpérateur: 2 sources et un code d’opérationSélection en sortie

Page 44: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

44B. Goossens D. Defour44B. Goossens D. Defour

Unité fonctionnelle: unité flottante

Deux opérations en //(arith, conversion)Opérateur: 2 sources et une opérationSélection en sortie

Page 45: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

45B. Goossens D. Defour45B. Goossens D. Defour

Circuit de mémoire SRAM

64 bits en 32*2a[4,2]: lignea[1,0]: motécrire = 0: t_2 fermésécrire = 1: d aiguillélecture permanentemaintenir a tant que écrire = 1

Page 46: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

46B. Goossens D. Defour46B. Goossens D. Defour

Circuit de mémoire deux ports

Ports l et e séparésVRAMFIFO

Page 47: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

47B. Goossens D. Defour47B. Goossens D. Defour

Circuit de mémoire cache

e/#r = 1: écriture; e/#r = 0: recherche#pre: préchargementei = 0: échec en ligne i; e != 0: succès

Page 48: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

48B. Goossens D. Defour48B. Goossens D. Defour

Cache totalement associatif

Une CAM contient les étiquettesUne RAM contient les données cachéesLa recherche se fait dans toutes les entrées en //

Page 49: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

49B. Goossens D. Defour49B. Goossens D. Defour

Cache associatif de degré 4

La recherche se fait dans l’ensemble adresséAssociativité de degré 1, 2, 4 ou 8Degré != 1: choix de l’entrée remplacéeDegré 1: conflits fréquents dans les petits caches

Page 50: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

50B. Goossens D. Defour50B. Goossens D. Defour

Banc de registres

2m registres de2b bits3 ports de lecture (i, j, k)1 port d’écriture (d)

Page 51: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

51B. Goossens D. Defour51B. Goossens D. Defour

Exemple de processeur élémentaire

Instruction: mot de contrôle (op, d, j, k)h = 1: lecture instructionh = 0: écriture résultat

Page 52: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

52B. Goossens D. Defour52B. Goossens D. Defour

Instruction Rx = Rx op Rx

h = 1: port d fermé, ports j et k passantsh = 0: ports j et k fermés, port d passant

Page 53: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

53B. Goossens D. Defour53B. Goossens D. Defour

Architecture: ISA

Instructions de calculs booléens (conditions), entiers, flottants scalaires, vectorielsInstructions de transferts conditionnels, inconditionnels mémoire-registre, registre-registreInstructions de sauts conditionnels, inconditionnels immédiats, indirects avec lien, sans lien, retours Instructions systèmes appels systèmes, mode privilégié

Page 54: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

54B. Goossens D. Defour54B. Goossens D. Defour

Instruction

Une instruction contrôle les unités du processeur (u.f. pour les calculs, hmd pour les transferts mémoire, calcul cp pour les sauts)Elle adresse ses sources et sa destination (numéros de registre, adresse mémoire)Elle paramètre son unité de calcul et en choisitle résultat (calcul signé ou non, simple ou double précision, + ou -, source constante ou registre, ...)C’est un quadruplet éventuellement conditionnel ([si p] dest = sg opération sd)Toutes les instructions modifient cp (i suivante)

Page 55: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

55B. Goossens D. Defour55B. Goossens D. Defour

Codage des instructions

Coder les adresses (variables en mémoire, cibles de sauts)Coder les constantes (initialisation, comparaison, 0, 1, -1, 0.0, 1.0, -1.0)Coder les registres (numéro, type)Coder les opérations (type, opérateur, modifieur)Coder le type d’instruction (calcul, accès mémoire, saut, système)

Page 56: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

56B. Goossens D. Defour56B. Goossens D. Defour

Codage des instructions

Quatre vertus pour un ‘bon code’:

• compact• même taille pour toutes les instructions• même nombre de sources et destinations pour toutes les instructions (en général, 1d et 2s)• sauts évitables, repérables et prédictibles (instructions conditionnelles, type d’instruction, suggestion de prédiction statique)

Page 57: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

57B. Goossens D. Defour57B. Goossens D. Defour

Exemple

R1 = R2 + R3 /* calc, int, d1, sg2, sd3, op+ */R1 = R1 + 1 /* calc, int, d1, sg1, sdk1, op+ */F1 = F2 + F3 /* calc, fl, d1, sg2, sd3, op+sp */R1 = M2[R2 + R3] /* mém, int, d1, sg2, sd3, opl2 */ SI R1<‘Z’ VERS e /* saut, int, e, sg1, sdk’Z’, op< */APPEL f /* saut, int, d31, -, sdkf, opcall */RETOUR /* saut, int, -, sg31, -, opret */VERS R3 /* saut, int, -, sg3, -, opgoto */APPELSYS fs /* saut, sys, rsys, -, sdkfs, opcall */RETOURSYS /* saut, sys, -, rsys, -, opret */SI P (R1 = R2) /* calc, int, d1, sg2, -, op=cond */

Page 58: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

58B. Goossens D. Defour58B. Goossens D. Defour

Processeur spéculatif ooo de degré 4

Page 59: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

59B. Goossens D. Defour59B. Goossens D. Defour

Page 60: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

60B. Goossens D. Defour60B. Goossens D. Defour

Page 61: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

61B. Goossens D. Defour61B. Goossens D. Defour

Page 62: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

62B. Goossens D. Defour62B. Goossens D. Defour

Prédiction de la direction des sauts conditionnels

La direction prédite pest choisie parmi deuxprédictions issues deprédicteurs spécialiséset basées sur le cp etsur le comportementantérieur des sautsconditionnels

Page 63: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

63B. Goossens D. Defour63B. Goossens D. Defour

Prédicteur hybride

Une table de compteurs 2 bits à saturationadressée par la partie basse de cp (la table est un cache sans étiquette)Le bit fort du compteur adressé fixe le choix compteur++ p0 != p1 et p1 correcte compteur-- p0 != p1 et p0 correcte

Page 64: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

64B. Goossens D. Defour64B. Goossens D. Defour

Prédicteur local

L’historique est un mot de 12 bits correspondant aux 12 dernières directions d’un sautLe motif obtenu adresse un cache de compteursLe bit fort issu du cache est la prédiction compteur++/-- saut pris/saut non prisLe prédicteur local prédit bien les sorties de boucles

Page 65: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

65B. Goossens D. Defour65B. Goossens D. Defour

Prédicteur global

L’historique global est un mot de 12 bits formé des directions des 12 derniers sauts conditionnelsLe mélange de cp et de l’historique adresse un cache de compteurs deux bits à saturationLe bit fort du compteur adressé est la direction prédite compteur++/-- saut pris/saut non prisLe prédicteur global prédit bien les sauts corrélés

Page 66: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

66B. Goossens D. Defour66B. Goossens D. Defour

Prédiction des retours

Le prédicteur adresse une pile (mémoire à 2 ports)On empile à chaque appel, on dépile à chaque retour (attention: pas de détection de débordement)

Page 67: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

67B. Goossens D. Defour67B. Goossens D. Defour

Page 68: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

68B. Goossens D. Defour68B. Goossens D. Defour

Page 69: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

69B. Goossens D. Defour69B. Goossens D. Defour

Page 70: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

70B. Goossens D. Defour70B. Goossens D. Defour

Page 71: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

71B. Goossens D. Defour71B. Goossens D. Defour

Page 72: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

72B. Goossens D. Defour72B. Goossens D. Defour

Page 73: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

73B. Goossens D. Defour73B. Goossens D. Defour

Page 74: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

74B. Goossens D. Defour74B. Goossens D. Defour

Page 75: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

75B. Goossens D. Defour75B. Goossens D. Defour

Le cache de trace du P4 contient des blocsde micro-instructions, mais pas de tracescontenant des sauts prédits.

Page 76: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

76B. Goossens D. Defour76B. Goossens D. Defour

Réordonnancement dynamique

On sait extraire les instructions en //Peut-on les exécuter en //?Il faut construire l’ordre partiel des instructions

Page 77: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

77B. Goossens D. Defour77B. Goossens D. Defour

Dépendances LAE, EAE et EAL

Dépendance LAE: 2 dépend de 1Dépendance EAE: 4 dépend de 1Dépendance EAL: 4 dépend de 3

Page 78: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

78B. Goossens D. Defour78B. Goossens D. Defour

Graphe des dépendances LAE, EAE et EAL

Les dépendances EAE et EAL sont de faussesdépendances. On les élimine en dédoublant leregistre de destination: c’est le renommage.

Page 79: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

79B. Goossens D. Defour79B. Goossens D. Defour

Renommage des registres

Pour matérialiser les r registres de l’architectureon dispose de q (q>r) registres de renommageChaque destination est associée à un registre derenommage disponible (allocation)

Page 80: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

80B. Goossens D. Defour80B. Goossens D. Defour

Page 81: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

81B. Goossens D. Defour81B. Goossens D. Defour

Page 82: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

82B. Goossens D. Defour82B. Goossens D. Defour

Renommage de l’instruction: F-RAT[d] = RR allouéValidation de l’instruction: R-RAT[d] = RR validé

Page 83: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

83B. Goossens D. Defour83B. Goossens D. Defour

Après renommage:• lecture en RR des sources prêtes• allocation d’une station d’attente• réception des résultats LAE• lancement• exécution pipelinée• envoi du résultatAprès exécution:• validation en ordre

Page 84: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

84B. Goossens D. Defour84B. Goossens D. Defour

Dans chaque table de stations d’attente, uneinstruction parmi celles qui sont prêtes estchoisie pour démarrer son exécution.

Page 85: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

85B. Goossens D. Defour85B. Goossens D. Defour

Chaque résultat est distribué à toutes lesstations d’attente et copié partout où unedépendance LAE est détectée

Page 86: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

86B. Goossens D. Defour86B. Goossens D. Defour

Le traitement des instructions est pipeliné

Page 87: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

87B. Goossens D. Defour87B. Goossens D. Defour

Multithreading SMT

Deux IP, deux BdR-arch, files doubles.

Page 88: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

88B. Goossens D. Defour88B. Goossens D. Defour

Deux modes d’exécution: simple et double thread.En mode simple, le thread actif utilise toutes lesressources.En mode double, les files sont partitionnées et unthread ne peut empiéter sur sur l’autre.L’extraction se fait à tour de rôle tant que les deuxthreads sont demandeurs.Quand un thread est en attente, l’autre peut utilisersa moitié des ressources.Les caches sont partagés.

Fonctionnement SMT

Page 89: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

89B. Goossens D. Defour89B. Goossens D. Defour

Les adresses manipulées par le processeur sontcelles produites par le compilateur: ce sont desadresses virtuelles à traduire en adresses physiques.Les caches peuvent contenir des adresses virtuellesou des adresses physiques.

Les accès à la mémoire

Page 90: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

90B. Goossens D. Defour90B. Goossens D. Defour

La traduction d’adresse est un parcours en mémoire

Page 91: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

91B. Goossens D. Defour91B. Goossens D. Defour

Le TLB est un cache totalement associatifIl cache des couples (av, ar)Il est accédé en moins d’un cycle

Page 92: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

92B. Goossens D. Defour92B. Goossens D. Defour

La hiérarchie mémoire se compose de caches(SRAM), de mémoire (DDR2) et du disque.Tailles: 16K, 1M, 1G, 200GTemps d’accès: 0,5ns, 2ns, 45ns/2ns, 5msRapport Fmém/Fcycle: 2, 8, 180/8, 20.106

Page 93: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

93B. Goossens D. Defour93B. Goossens D. Defour

Les E/S sont mappées en mémoireLes contrôleurs assurent l’interface avec les organespériphériques et le processeurLes échanges se font par interruption

Page 94: 1 B. Goossens D. Defour Architecture B. Goossens et D. Defour Dali Université de Perpignan Via Domitia

94B. Goossens D. Defour94B. Goossens D. Defour

FSB: 800Mhz (6,4GO/s)AGP 8x: 133Mhz (2,1GO/s) ATA: async (133MO/s)PCI express: 2,5Ghz (2,5Gb/s * 1 à 32 bits)USB2: 480Mhz (48MO/s) PCI: 266Mhz (2,1GO/s)