INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Dimension: px
Commencer à balayer dès la page:

Download "INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1"

Transcription

1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1

2 Cours 2 : Mémoires Sylvain Martel - INF6500 2

3 Cache Location Niveau 1 Niveau 2 Dimension Vitesse 0 WS 1 WS > 1 WS Type de cache Correspondance directe Entièrement associatif Associatif par ensemble de blocs Dimension (nombre) de blocs Associativité 2-way 4-way 8-way CLK Implémentation Single-port Dual-port Algorithme de remplacement LRU Random FIFO LIFO, Dirty bit Oui Non Type Instructions Data Instr. et Data Option d écriture Écriture simultanée Réécriture Tampon d écriture Oui Non Dimension Vitesse 0 WS 1 WS > 1 WS Type FIFO DPRAM Sylvain Martel - INF6500 3

4 Techniques d amélioration Stratégie 1. Réduire le taux d échecs 2. Réduire la pénalité d échecs 3. 1 ou 2 via parallélisme 4. Réduire le temps d accès réussi Techniques d amélioration Caches plus petits et simples Éviter la traduction d adresse durant l indexation du cache Pipeliner les écritures pour des écritures réussies rapides Trace cache Caches non bloquants Lecture anticipée par matériel des instructions et des données Lecture anticipée contrôlée par le compilateur Type d échecs Obligatoire Capacité Conflit Augmenter la taille du bloc Augmenter la dimension du cache Associativité plus élevée Optimisation par le compilateur Caches multi-niveaux Redémarrage précoce/ mot critique en premier Priorité échecs lectures sur écritures Caches victimes Type Pseudo Non-pseudo Change ordre de chargement Fusion de tableaux Échange de boucles Fusion de boucles Améliore localité temporelle Blocage Sylvain Martel - INF6500 4

5 Mémoire Volatile SRAM DRAM Non-volatile: IC ROM (lecture seule) PROM EEPROM FLASH Non-volatile: Systèmes de stockage Disques magnétiques SSD Disques optiques (lecture seule) CD-ROM (lecture seule) CD (modifiable, plus lent) Bandes magnétiques Bibliothèques automatiques de bandes Spécifications Vitesse électronique Latence Débit Type SCSI Non-SCSI Fiabilité RAID1 RAID3 RAID5 Application Cache (voir cache) Mémoire tampon Mémoire principale BIOS Configuration Mémoire virtuelle Catégorie Pages Segments Type Hybride Non-hybride Spécifications Taille du secteur RPM Densité Port d accès Single Dual Techniques pour augmenter le débit Mémoire élargie Mémoire entrelacée Bancs indépendants Entrelacement DRAM spécifique Mode Nibble Page Colonne statique (RAMBUS, etc.) Type FIFO DPRAM Éviter conflits à l aide du compilateur Sylvain Martel - INF6500 5

6 Concept de la hiérarchie mémoire 0 WS Registres L1 Cache L2 Cache Vitesse Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF6500 6

7 Pentium SRAM (Cache) DUAL-PORT (ACCESS) Sylvain Martel - INF6500 7

8 Concept de la hiérarchie mémoire 0 WS Registres L1 Cache L2 Cache Vitesse Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF6500 8

9 Mémoire principale (DRAM) Sylvain Martel - INF6500 9

10 Concept de la hiérarchie mémoire 0 WS Registres L1 Cache L2 Cache Vitesse Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF

11 Mémoire virtuelle (disque magnétique, etc.) Ex. «HD» Sylvain Martel - INF

12 Registres: Dimension: <1KB Temps d accès: ns (Note 1/1ns = 1GHz) Gérés par: Compilateur Sylvain Martel - INF

13 Cache: Dimension: <16MB Temps d accès: ns (Note: court délais supplémentaires, ex. décodeur plus complexe) Géré par: Hardware (matériel) Sylvain Martel - INF

14 Mémoire principale: Dimension: <16GB Temps d accès: ns Géré par: Operating System -OS (système d exploitation) Sylvain Martel - INF

15 Mémoire virtuelle (disque magnétique): Dimension: >100GB Temps d accès: 5,000,000 ns Géré par: système d exploitation/utilisateur Ex. «HD» Sylvain Martel - INF

16 Délais Mémoire principale Registres Cache Mémoire virtuelle Sylvain Martel - INF

17 Coût par bit 0 WS Registres L1 Cache L2 Cache Vitesse et Coût par bit Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF

18 Mémoire cache Sylvain Martel - INF

19 SRAM VS. DRAM Design optimisé d un SRAM 4-6 transistors par bit Temps d accès très court Design optimisé d un DRAM 1 transistor par bit (plus de densité d information donc moins $ par bit) Temps d`accès plus long Sylvain Martel - INF

20 Amélioration ratio: 1.35 jusqu à 1986, 1.55 après 1986 Performance Processeur/Mémoire Performance 1 Processeur 2 Deux niveaux de cache L1: 0 WS L2: >0 WS et Capacité > L1 Mémoire Un niveau de cache Année Sylvain Martel - INF

21 Copie d une portion de la mémoire principale dans le cache 0 WS Registres L1 Cache L2 Cache Vitesse Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF

22 La base des caches (Blocs) MEM Bloc 0 Bloc 0 ADDR0 Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 1 ADDR64K ADDR64K+1 Bloc 7 ADDR128K Sylvain Martel - INF

23 La base des caches (Fonctionnement succès (Hit)) Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Lecture adresse (120,546) Adresse (120,546) est dans le bloc 1 de MEM Le bloc 1 est dans le cache donc cache HIT Bloc 0 Bloc 1 ADDR0 ADDR64K ADDR64K+1 ADDR128K Sylvain Martel - INF

24 La base des caches (Fonctionnement Échec (Miss)) Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Lecture adresse (32,546) Adresse (32,546) est dans le bloc 0 de MEM Le bloc 0 n est dans le cache donc cache MISS Bloc 0 Bloc 1 ADDR0 ADDR64K ADDR64K+1 ADDR128K Sylvain Martel - INF

25 La base des caches (Fonctionnement Miss - Suite) Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 0 Bloc 1 ACTION: Remplacer un bloc du cache par le bloc 0 Lequel: algorithme de replacement LRU, Random, FIFO, etc ADDR0 ADDR64K ADDR64K+1 ADDR128K Sylvain Martel - INF

26 La base des caches Cache est le nom généralement donné au premier niveau de hiérarchie mémoire que l on rencontre en quittant l UCT. Il existe trois types d organisation de cache: Si chaque bloc a uniquement un seule place possible dans le cache, c est un cache à correspondance directe (direct mapped). (Numéro de bloc) mod (Nombre d' ensembles dans le cache) Si un bloc peut être placé n importe où dans le cache, c est un cache totalement associatif (fully associative). Si un bloc peut être placé dans un ensemble restreint de places, c est un cache associatif par ensemble de blocs (set associative). L ensemble est choisi par sélection de bits : (Numéro de bloc) mod (nombre de blocs dans le cache) Sylvain Martel - INF

27 Correspondance directe MEM (32 blocs) Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc CACHE (8 blocs) Bloc 12 Bloc MOD 8 = 4 Bloc 31 Sylvain Martel - INF

28 Associatif par ensemble (set) de blocs (2-way set associative) MEM (32 blocs) Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 12 Bloc 31 2-way (2 choix) CACHE (4 ensembles) Bloc Set 0 LRU 2 Set Set Set MOD 4 = 0 Sylvain Martel - INF

29 Associatif par ensemble (set) de blocs (4-way set associative) MEM (32 blocs) Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 4-way (4 choix) Bloc 12 LRU CACHE (2 ensembles) Set 0 Set 1 Bloc MOD 2 = 0 Bloc 31 Sylvain Martel - INF

30 Entièrement associatif MEM (32 blocs) Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 (tous les choix) Bloc 12 LRU CACHE (1 ensemble) Set 0 Bloc MOD 1 = 0 Bloc 31 Sylvain Martel - INF

31 Associativité Impact: Algorithmes de remplacement et dimension (Statistiques: échecs par 1000 instructions) 2-way set associative Dimension LRU Random FIFO 16KB KB KB Sylvain Martel - INF

32 Associativité Impact: Algorithmes de remplacement et dimension (Statistiques: échecs par 1000 instructions) 4-way set associative Dimension LRU Random FIFO 16KB KB KB Sylvain Martel - INF

33 Associativité Impact: Algorithmes de remplacement et dimension (Statistiques: échecs par 1000 instructions) 8-way set associative Dimension LRU Random FIFO 16KB KB KB Sylvain Martel - INF

34 Observations Peu de différence entre LRU et random pour les dimensions plus grandes de cache LRU meilleure pour caches de dimensions plus petites FIFO généralement plus performant que random pour les caches de plus petites dimensions Sylvain Martel - INF

35 Associativité Impact: Niveaux d associativité (Statistiques: échecs par 1000 instructions) Algorithme de remplacement: LRU Dimension 2-way 4-way 8-way 16KB KB KB Sylvain Martel - INF

36 La base des caches (Blocs) (1 bit) CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 (1 bit) Set 0 Set 1 (16 bits) Ensemble 0 (0) ou ensemble 1 (1) MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 0 Bloc 1 ADDR0 (0000h) ADDR64K (FFFFh) ADDR64K+1 ADDR128K Sylvain Martel - INF

37 La base des caches Les lectures dominent les accès cache (25% du trafic du cache de données pour les écritures). Il faut donc que celles-ci soit optimisées à fin de diminuer l attente des processeurs. Il est possible de lire le bloc pendant que l étiquette est lue et comparée. Ce n est pas le cas pour l écriture. Les écritures prennent plus de temps que les lectures. Il existe deux options pour écrire dans le cache: L écriture simultanée (write through): L information est écrite à la fois dans le bloc du cache et dans le bloc de la mémoire. La réécriture (write/copy back): L information est écrite uniquement dans le bloc du cache. Le bloc modifié du cache est recopié en mémoire principale uniquement quand il est remplacé. Sylvain Martel - INF

38 La base des caches (L écriture simultanée succès au cache) Écriture au Bloc 1 du cache Accès rapide CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Écriture au Bloc 1 de la mémoire principale Accès lent Mêmes copies MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Remarque: même performance qu un échec au cache Sylvain Martel - INF

39 La base des caches (La réécriture succès au cache) MEM Bloc 0 CACHE Bloc 1 Écriture au Bloc 1 du cache Accès rapide Bloc 4 Bloc 2 Bloc 5 Bloc 1 Différentes copies Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Sylvain Martel - INF

40 La base des caches (La réécriture échec au cache) Écriture au Bloc 0 du cache 1 Écriture du Bloc 0 de la mémoire principale vers le cache CACHE échec Bloc 4 Bloc 2 Bloc 5 Bloc LRU Bloc 1 5 Écriture du Bloc 1 du cache vers la mémoire principale 4 Différentes copies? MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Remarque: L étape 4 est faite même si le bloc 1 n a pas été modifié Sylvain Martel - INF

41 La base des caches (Dirty bit) Pour diminuer le nombre de remplacements, on ajoute un bit modifié (dirty bit). Ce bit indique si le bloc a été modifié on non. S il ne l a pas été, le bloc n est pas écrit lors d un défaut de cache puisque l information est la même. Sylvain Martel - INF

42 La base des caches (La réécriture échec au cache avec dirty bit ) Écriture au Bloc 0 du cache 1 Écriture du Bloc 0 de la mémoire principale vers le cache CACHE Bloc 4 Bloc 2 Bloc 5 Bloc Bloc 1 échec LRU 4 Écriture Xdu Bloc 1 du cache vers la mémoire principale Différentes copies? NON MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 1 n a pas été modifié Sylvain Martel - INF

43 La base des caches (La réécriture échec au cache avec dirty bit ) Écriture au Bloc 0 du cache 1 Écriture du Bloc 0 de la mémoire principale vers le cache CACHE Bloc 4 Bloc 2 Bloc 5 Bloc Bloc 1 échec LRU 5 Écriture du Bloc 1 du cache vers la mémoire principale 4 Différentes copies? OUI MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 1 a été modifié Sylvain Martel - INF

44 La base des caches (tampon d écriture) L UCT doit attendre la fin des écritures lors d écritures simultanées. On dit alors que l UCT est en suspension d écriture (write stall). Un tampon d écriture (write buffer) permet à l UCT de continuer son traitement une fois que la donnée est écrite dans le tampon. Sylvain Martel - INF

45 La base des caches (L écriture simultanée sans tampon d écriture succès au cache) Écriture au Bloc 1 du cache Accès rapide CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Écriture au Bloc 1 de la mémoire principale Accès lent Mêmes copies MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Remarque: même performance qu un échec au cache Sylvain Martel - INF

46 La base des caches (L écriture simultanée avec tampon d écriture succès au cache) Écriture au Bloc 1 du cache Accès rapide CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Tampon d écriture Accès rapide Accès lent Mêmes copies Écriture au Bloc 1 de la mémoire principale MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Remarque: même performance qu un succès au cache Sylvain Martel - INF

47 Pentium: Data et instruction caches Instruction Cache (Single-access) Data Cache (Dual-access) Sylvain Martel - INF

48 Techniques d amélioration de la performance de la mémoire cache Sylvain Martel - INF

49 Stratégies pour améliorer la performance des caches Améliorer les performances des caches implique: Réduire le taux d échecs au cache Réduire la pénalité d échec Réduire le temps d accès réussi au cache Sylvain Martel - INF

50 Stratégies pour améliorer la performance des caches Améliorer les performances des caches implique: Réduire le taux d échecs au cache Réduire la pénalité d échec Réduire le temps d accès réussi au cache Sylvain Martel - INF

51 Réduire le taux d échecs au cache Il existe trois types d échecs: Obligatoire (compulsory):le premier accès à un bloc n est pas dans le cache, et il doit être transféré dans le cache; ils sont aussi appelés échecs de démarrage à froid. Capacité (capacity): Si le cache ne peut contenir tous les blocs nécessaires pendant l exécution d un programme, des échecs de capacité interviendront à cause de blocs écartés puis rappelés plus tard. Conflit (conflict): Si la stratégie de placement des blocs est associative par ensemble ou à correspondance directe, les échecs de conflit interviennent parce qu un bloc peut être écarté et rappelé plus tard si trop de blocs doivent être placés dans son ensemble. Sylvain Martel - INF

52 Types de taux d échecs % /100% d échecs LRU (Statistiques pour 4 KB cache) Associativité Compulsif Capacité Conflit 1-way way way way Sylvain Martel - INF

53 Types de taux d échecs % /100% d échecs LRU (Statistiques pour 512 KB cache) Associativité Compulsif Capacité Conflit 1-way way way way Sylvain Martel - INF

54 Observations Le nombre d échecs compulsifs est indépendant de la dimension du cache Le nombre d échecs de capacité diminue lorsque la dimension du cache augmente Le nombre d échecs de conflit diminue lorsque l associativité augmente Sylvain Martel - INF

55 Réduire le taux d échecs au cache Première solution: Une taille de bloc plus grande. L augmentation du la taille du bloc, diminue les échecs obligatoires en raison de la localité spatiale. Elle augmente aussi la pénalité d échec (moins de blocs dans le cache (bloc plus grand à remplacer, plus d échecs de conflit). Sylvain Martel - INF

56 Statistiques Taux d échecs vs. Dimension du bloc Dimension du bloc Cache 4K Cache 64K Cache 256K % 2.04% 1.09% % 1.06% 0.51% % 1.15% 0.49% Sylvain Martel - INF

57 Réduire le taux d échecs au cache Deuxième solution: Une mémoire cache plus grande. L augmentation du la taille du cache, diminue les échecs de capacité. Elle augmente aussi le $ du cache. Exemple de performance pour 1-way (correspondance directe) cache (Dimension du cache en KB, % total d échecs, % total d échecs capacité): (4 KB, 9.8%, 7%) (8 KB, 6.8%, 4.4%) (16 KB, 4.9%, 4%) (512 KB, 0.8%, 0.5%) Sylvain Martel - INF

58 Réduire le taux d échecs au cache Troisième solution: Une associativité plus élevée. Une associativité élevée améliore les taux d échecs L associativité de 8 est approximativement aussi efficace que l associativité totale. Loi empirique 2:1 (un cache de taille N a environ le même taux d échec qu un cache associatif à deux blocs par ensemble de taille N/2). Une associativité élevée augmente le temps d accès réussi Sylvain Martel - INF

59 Statistiques de pourcentage du taux d échecs pour différents niveaux d associativité Associativité 1-way Cache 4K 9.8% Cache 64K 3.7% Cache 512K 0.8% 2-way 7.6% 3.1% 0.7% 4-way 7.1% 3.0% 0.6% 8-way 7.1% 2.9% 0.6% Sylvain Martel - INF

60 Augmenter la dimension du cache ou l associativité Règle 2:1 cache s applique pour dimensions de 128 KB et moins: Une cache à correspondance directe de dimension N a approximativement le même taux d échecs que 2- way set associative de dimension N/2 Notes: Une cache à correspondance directe est plus simple mais a plus de SRAM que cache associatif de même performance, cependant il est possible que la complexité de la logique de contrôle du cache associatif engendre des délais additionnels donc baisse de la fréquence horloge ou compensation avec SRAM plus rapide donc augmentation de $, si moins que 2 fois le SRAM «direct mapped» pour «2-way set associative «, donc OK. Sylvain Martel - INF

61 Réduire le taux d échecs au cache (cache pseudo-associatif) Quatrième solution: des caches pseudo-associatifs. Les succès cache se comportent comme dans un cache à correspondance directe. Lors d un échec, avant d aller vers le niveau inférieur, une autre entrée cache est vérifiée (inversion du bit le plus significatif de l index pour trouver l autre bloc) Ces caches ont un temps d accès réussi rapide si l accès est effectivement réussi et un temps d accès réussi lent qui correspond à un temps d accès réussi en plus d un pseudo accès réussi et de la pénalité d échec. Le danger: trop de pseudo accès réussis baisse la performance. De plus, un temps d accès réussi peut compliquer le pipeline de l UCT. Sylvain Martel - INF

62 Associatif par ensemble (set) de blocs (2-way set associative) MEM (32 blocs) Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 TAG Bloc 8 Bloc 31 Set 0 Set TAG Bloc? Bloc? Bloc? Bloc? 8 MOD 4 = 0 (Set 0) DATA DATA MUX CMP CMP OR DATA OUT Enable Hit/ Miss Sylvain Martel - INF

63 Associatif par ensemble (set) de blocs (2-way set associative) Etiquette INDEX 01 1 st Way Ensemble 0 Ensemble 1 Ensemble 2 Ensemble Compare 2 nd Way Ensemble 0 Ensemble 1 Ensemble 2 Ensemble 3 Compare OU Sylvain Martel - INF

64 Pseudo-associatif par ensemble (set) de blocs Etiquette INDEX 01 1 st Way Ensemble 0 Ensemble 1 Ensemble 2 Ensemble 3 2 nd Way Ensemble 0 Ensemble 1 Ensemble 2 Ensemble 3 Cycle 1 Compare Cycle 2 Sylvain Martel - INF

65 Statistiques de temps d accès moyen au cache pseudo-associatif (0 WS) avec taux d échecs Assoc. 1-way Cache 4K 9.8%-3.44 Cache 64K 3.7%-1.92 Cache 512K 0.8% way 7.6% % % way 7.1% % % way 7.1% % %-1.66 Sylvain Martel - INF

66 Réduire le taux d échecs au cache Cinquième solution: Optimisation du compilateur. Aucune modification matérielle nécessaire. Tente d améliorer la localité spatiale et temporelle des données. Sylvain Martel - INF

67 Ordre de chargements For(i=0;i<1;i=i+1) For(j=0;j <100;j=j+1) a[j][i]= Le tableau a est écrit dans l ordre de chargement en mémoire, il ne bénéficie donc pas d une localité spatiale. 1 a[0][0] a[0][1] a[0][2] a[0][3] ADDR X ADDR X+1 ADDR X+2 ADDR X+3 2 a[1][0] Sylvain Martel - INF

68 Ordre de chargements For(i=0;i<1;i=i+1) For(j=0;j <100;j=j+1) a[i][j]= Le tableau a est écrit dans l ordre de chargement en mémoire, il bénéficie donc d une localité spatiale a[0][0] a[0][1] a[0][2] a[0][3] ADDR X ADDR X+1 ADDR X+2 ADDR X+3 Sylvain Martel - INF

69 Réduire le taux d échecs au cache La fusion de tableaux (augmente la localité spatiale) Combiner des tableaux indépendants en un seul tableau composé de telle sorte qu un seul bloc de cache contiennent les éléments voulus Avant: int val [size] int key[size] Après : struct merge{ int val; int key; }; Struct merge merged_array[size] Sylvain Martel - INF

70 Réduire le taux d échecs au cache L échange de boucles Changer l ordre d imbrication des boucles peut faire correspondre l ordre d accès à l ordre de rangement. Avant for(j=0; j<100; j=j+1) for(i=0;i<5000;i=i+1) x[i][j]=2*x[i][j]; Après for(i=0; i<5000; i=i+1) for(j=0;j<100;j=j+1) x[i][j]=2*x[i][j]; Sylvain Martel - INF

71 Réduire le taux d échecs au cache La fusion de boucles Fusionner de sections de code séparées accédant à certains tableaux en une même boucle. Les données qui sont amenées dans le cache peuvent être utilisées de nombreuses fois avant d être rejetées. Avant for(i=0;i<n;i=i+1) for(j=0;j<n;j=j+1) a[i][j]=1/b[i][j]*c[i][j]; for(i=0;i<n; i=i+1) for(j=0;j<n;j=j+1) d[i][j]=a[i][j]+c[i][j] Après for(i=0;i<n;i=i+1) for(j=0;j<n;j=j+1){ a[i][j]=1/b[i][j]*c[i][j]; d[i][j]=a[i][j]+c[i][j]; } Sylvain Martel - INF

72 Réduire le taux d échecs au cache Le blocage Améliore la localité temporelle. Faire le maximum d accès aux données dans le cache avant que les données soient remplacées. Avant for(i=0;i<n;i=i+1) for(j=0;j<n;j=j+1) {r=0; for (k=0; k<n; k=k+1) r=r+y[i][k]*z[k][j]; x[i][j]=r; }; Les deux boucles internes lisent toutes N par N éléments de z, accèdent de manière répétitive aux mêmes N éléments d une ligne de y, et écrivent une ligne de N éléments de x. Voici les accès aux trois tableaux, la zone sombre indiquant un accès restreint, la zone claire indiquant un accès plus ancien et la zone blanche indiquant l absence d accès. Sylvain Martel - INF

73 Réduire le taux d échecs au cache Le blocage (suite) Sylvain Martel - INF

74 Réduire le taux d échecs au cache Le blocage (suite) Le code original est changé pour calculer sur une sous matrice de taille B par B de telle sorte que les deux boucles internent calculent par étapes de taille B plutôt que de calculer du début à la fin de x et z. B est appellé le facteur de blocage. Après for(jj=0;jj<n;jj=j+b) for(kk=0;kk<n;kk=kk+b) for(i=0;i<n;i=i+1) for(j=jj; j<min(jj+b-1,n);j=j+1) { r =0; for (k=kk; k<min(kk+b-1,n); k=k+1) r=r+y[i][k]*z[k][j]; x[i][j]=r; }; Sylvain Martel - INF

75 Réduire le taux d échecs au cache Le blocage (suite) Sylvain Martel - INF

76 Stratégies pour améliorer la performance des caches Améliorer les performances des caches implique: Réduire le taux d échecs au cache Réduire la pénalité d échec Réduire le temps d accès réussi au cache Sylvain Martel - INF

77 Réduire la pénalité d échec au cache L objectif est de diminuer le temps moyen d accès mémoire. Les tendances technologiques ont amélioré la vitesse des processeurs plus rapidement que les DRAM, ce qui a augmenté le coût relatif des pénalités d échec avec les années. Voici des optimisations possibles pour répondre au problème: Sylvain Martel - INF

78 Réduire la pénalité d échec au cache Première technique: Caches multiniveaux. Cache L1 peut-être assez petit pour fonctionner à 0 WS (à la même vitesse que l UCT); Cache L2 peut-être assez grande pour capturer des accès qui autrement iraient à la mémoire principale et donc, augmenter la pénalité d échecs effectif au cache. Sylvain Martel - INF

79 Pentium I-Cache et D-Cache L1) Sylvain Martel - INF

80 Réduire la pénalité d échec cache Deuxième technique:le redémarrage précoce et le mot critique en premier. Les deux première techniques nécessitent du matériel supplémentaire. Principe: l UCT a juste besoin d un mot d un bloc à la fois. On n attend pas que le bloc complet soit chargé avant d envoyer le mot demandé à l UCT et redémarrer. Deux stratégies existent: Redémarrage précoce: Aussitôt qu arrive le mot demandé du bloc, l envoyer à l UCT et laisser l UCT continuer l exécution. Le mot critique en premier: Aller chercher d abord en mémoire le mot manquant et l envoyer à l UCT dès qu il arrive; laisser l UCT continuer l exécution pendant qu on remplit le reste des mots du bloc. Sylvain Martel - INF

81 Échec (Miss) Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Lecture adresse (32,546) Adresse (32,546) est dans le bloc 0 de MEM Le bloc 0 n est dans le cache donc cache MISS Bloc 0 Bloc 1 ADDR0 ADDR64K ADDR64K+1 ADDR128K Sylvain Martel - INF

82 Échec (Miss) Transfert normal CACHE 1 2 Bloc 0 ADDR0 Processeur 4 Bloc 0 ADDR0 3 ADDR64K ADDR64K Sylvain Martel - INF

83 Réduire la pénalité d échec au cache Deuxième technique: «early restart» et «critical word first» - Ne pas attendre que le bloc soit entièrement chargé avant qu il soit envoyé à l UCT. «Early restart» (redémarrage précoce): transférer les mots du bloc dans l ordre normal et aussitôt que le mot requis par l UCT arrive, l envoyer à l UCT et continuer l exécution; Sylvain Martel - INF

84 Échec (Miss) Early restart CACHE 1 2 Bloc 0 ADDR0 Processeur 4 Bloc 0 ADDR0 3 5 ADDR64K ADDR64K Sylvain Martel - INF

85 Réduire la pénalité d échec au cache Deuxième technique: «early restart» et «critical word first» - Ne pas attendre que le bloc soit entièrement chargé avant qu il soit envoyé à l UCT. «Critical word first» (mot critique en premier): demander de la mémoire le mot manquant en premier et l envoyer à l UCT aussitôt que le mot arrive; laisser l UCT continuer l exécution en mêm temps que le reste du bloc est transféré. Sylvain Martel - INF

86 Échec (Miss) Critical word first CACHE 4 5 Bloc 0 ADDR0 Processeur 2 Bloc 0 ADDR0 1 3 ADDR64K ADDR64K Sylvain Martel - INF

87 Réduire la pénalité d échec au cache Troisième technique: Donner la priorité aux échecs lecture sur les écritures. Avec un cache à écriture simultanée, l amélioration la plus importante est un tampon d écriture de taille adéquate. Les tampons d écriture compliquent les choses car ils peuvent contenir des valeurs modifiées d une case qui fait l objet d un échec en lecture. Solution la plus simple: les échec en lecture attendent jusqu à ce que le tampon d écriture soit vide L augmentation du tampon d écriture provoque cependant également l augmentation de la pénalité d échecs en lecture. Une alternative: Vérifier le contenu du tampon d écriture sur un échec en lecture, si n y a aucun conflit et que la mémoire est disponible, laisser l échec en lecture se poursuivre. Sylvain Martel - INF

88 La base des caches (L écriture simultanée avec tampon d écriture) Écriture au Bloc 1 du cache Accès rapide CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Tampon d écriture Accès rapide Accès lent Bloc 1 (même copie) Copies différentes Écriture au Bloc 1 de la mémoire principale MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Remarque: même performance qu un succès au cache Sylvain Martel - INF

89 Si l UCT a besoin d un mot dans le bloc 1 attendre que le bloc 1 de la mémoire principale soit à jour (tampon type FIFO, longue pénalité) Écriture au Bloc 1 du cache Accès rapide Tampon d écriture Accès rapide Accès lent CACHE Bloc 4 Bloc 1 (même copie) Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Sylvain Martel - INF

90 Si l UCT a besoin d un mot dans le bloc 1 charger le bloc 1 du tampon d écriture (tampon type DPRAM, courte pénalité, plus complexe et $) Écriture au Bloc 1 du cache Accès rapide Accès rapide CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 Tampon d écriture Lecture Accès lent Copies différentes MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Sylvain Martel - INF

91 Réduire la pénalité d échec cache Troisième technique: Donner la priorité aux échecs lecture sur les écritures (suite). On peut également baisser le coût des écritures dans un cache à réécriture. Supposons qu un échec en lecture provoque un remplacement d un bloc modifié. Au lieu d écrire le bloc modifié en mémoire, et d effectuer ensuite la lecture, on peut copier le bloc modifié dans un tampon, puis faire la lecture, puis l écriture. De cette manière, la lecture que l UCT est probablement en train d attendre, finira plus tôt. Sylvain Martel - INF

92 Réduire la pénalité d échec cache Quatrième technique: Le placement par sous bloc (merging write buffer) Si il y a trop d étiquettes pour tenir dans la puce, on peut choisir de plus gros blocs, ce qui réduit le stockage des étiquettes dans décroître la quantité d information que l on peut ranger dans le cache. Cela fera baisser le taux d échec mais augmentera la pénalité d échec. Sylvain Martel - INF

93 Réduire la pénalité d échec au cache Quatrième technique: Le placement par sous bloc (suite). Un alternative: le placement en sous-blocs. Un bit valide est ajouté à des unités plus petites que le bloc entier, appelées sous-blocs. Ce bit spécifie la validité de certaines parties du bloc. En plus de l égalité de l étiquette, le bit de validité doit également être positionné pour que le mot soit dans le cache. La pénalité d échec des sous-blocs est alors réduite. Sylvain Martel - INF

94 Réduire la pénalité d échec au cache Cinquième solution: Les caches victimes. N influence pas la fréquence d horloge. Consiste à ajouter un petit cache totalement associatif entre le cache et le chemin de rechargement. Ce cache contient uniquement les blocs qui sont rejetés du cache à cause d un échec et qui sont examinés lors d un échec pour voir s ils contiennent l information désirée avant d aller vers le niveau inférieur. Sylvain Martel - INF

95 Stratégies pour améliorer la performance des caches Améliorer les performances des caches implique: Réduire le taux d échecs au cache OU Réduire la pénalité d échec via le parallélisme Réduire le temps d accès réussi au cache Sylvain Martel - INF

96 Réduire le taux d échecs ou la pénalité d échec au cache Première technique: les caches non bloquants pour réduire les suspensions sur les défauts de cache (non blocking caches to reduce stalls on cache misses). Un cache non bloquant permet au cache de données de continuer à fournir des accès réussis pendant le traitement d un échec. Cette optimisation accès réussis pendant le traitement d un échec réduit la pénalité d échec effective en utilisant le cache pendant le traitement d un échec au lieu d ignorer les requêtes de l UCT. Sylvain Martel - INF

97 Réduire le taux d échecs ou la pénalité d échec au cache Deuxième solution: la lecture anticipée par matériel des instructions et des données (Hardware prefetching of instructions and data) Il s agit d une lecture anticipée dans le cache ou dans un tampon externe avant que la donnée soit réquisitionnée par l UCT Cela accélère l accès à la mémoire principale. Cette technique est faite par le matériel à l extérieur du cache. Utilise la bande passante de la mémoire qui serait autrement inutilisée. Cette technique peut diminuer les performances si elle interfère avec le traitement des échecs. Les compilateurs peuvent aider à réduire les lectures anticipées inutiles. Sylvain Martel - INF

98 Réduire les défauts de cache Troisième solution: la lecture anticipée contrôlée par le compilateur (compiler controlled prefetching). Le compilateur introduit des instructions de préchargement pour aller chercher la donnée avant qu elle ne soit nécessaire. Il y a deux principaux types de lectures anticipées: La lecture anticipée de registre : charge la valeur dans un registre La lecture anticipée du cache: charge la valeur uniquement dans le cache et pas dans le registre. Sylvain Martel - INF

99 Réduire les défauts de cache Troisième solution: la lecture anticipée contrôlée par le compilateur (compiler controlled prefetching) (suite). Les instructions de prélecture provoquent un surcoût d instructions, il faut donc s assurer que ces surcoûts n excèdent pas les avantages. Ex: For(i=0;i<3;i=i+1) For(j=0;j <100;j=j+1) a[i][j]=b[j][0]*b[j+1][0] Le tableau a est écrit dans l ordre de chargement en mémoire, il bénéficie donc d une localité spatiale contrairement au tableau b. Sylvain Martel - INF

100 Stratégies pour améliorer la performance des caches Améliorer les performances des caches implique: Réduire le taux d échec (défauts de cache) Réduire la pénalité d échec Réduire le temps d accès réussi au cache Sylvain Martel - INF

101 Réduire le temps de l accès réussi Première technique: des caches petits et simples. Une partie importante du temps d accès réussi au cache est l utilisation de la partie index de l adresse pour lire la mémoire d étiquettes et ensuite de la comparer à l adresse. Garder un cache petit pour qu il tienne dans le même circuit que le processeur pour éviter la pénalité temporelle liée à la sortie du boîtier. Seconde technique: éviter la traduction d adresse durant l indexation du cache. Un adresse virtuelle sur disque doit être transcrite en adresse physique pour accéder au contenu mémoire par le processeur. Les accès réussis sont beaucoup plus courants avec les adresses virtuelles sur le cache. Sylvain Martel - INF

102 Réduire le temps de l accès réussi Seconde technique: éviter la traduction d adresse durant l indexation du cache (suite). L adressage virtuel élimine le temps de traduction de l adresse du temps de l accès réussi. Il ne serait cependant pas judicieux de construire que des caches adressés virtuellement car à chaque fois qu un processus (programme) est commuté, les adresses virtuelles réfèrent des adresses physiques différentes, ce qui nécessite une purge du cache. Une purge du cache trop fréquente augmente énormément les taux d échec. De plus, les systèmes d exploitation et les programmes utilisateurs peuvent utiliser deux adresses virtuelles différentes pour la même adresse physique (synonymes) peuvent conduire à deux copies de la même donnée dans un cache virtuel. Sylvain Martel - INF

103 Réduire le temps de l accès réussi Seconde technique: éviter la traduction d adresse durant l indexation du cache (suite). De manière à obtenir le meilleur des deux types de caches, est d utiliser le déplacement dans la page, qui est la partie non affectée par la traduction d adresses, pour indexer le cache pendant que l on envoie la partie virtuelle à traduire. Cependant, le cache à correspondance directe ne peut pas être plus gros que la taille de la page. Troisième technique: pipeliner les écritures pour des écritures réussies rapides. Les écritures réussies prennent plus longtemps que les lectures réussies parce que les étiquettes doivent être vérifiées avant d écrire la donnée. Sylvain Martel - INF

104 Réduire le temps de l accès réussi Troisième technique: pipeliner les écritures pour des écritures réussies rapides (suite) L étiquette et les données sont séparées pour qu elles puissent être adressées indépendamment. Sur une écriture, la cache compare l étiquette avec l adresse courante de l écriture. La différence concerne l écriture de la partie données du cache qui intervient durant la comparaison d étiquettes. Elle doit utiliser une autre adresse, puisque l adresse d écriture courante est encore en cours de vérification. Le cache utilise l adresse et la donnée de la précédente écriture, qui a déjà été reconnue comme un succès. Le pipeline logique est entre les écritures: la seconde étape de l écriture intervient durant la première étape de l écriture suivante. Sylvain Martel - INF

105 Réduire le temps de l accès réussi Troisième technique: pipeliner les écritures pour des écritures réussies rapides (suite). Les écritures peuvent donc être effectuées de manière continue au rythme d une par cycle parce que l UCT n a pas à attendre la comparaison d étiquettes avant d écrire. Sylvain Martel - INF

106 Réduire le temps de l accès réussi Quatrième technique: Trace cache. Objectif: Fournir le plus d instructions à chaque cycle de l UCT sans dépendance. Au lieu de limiter les instructions dans un bloc cache statique qui vise la localité spatiale, le «trace cache» trouve une séquence dynamique d instructions pour charger dans le bloc du cache. Mécanisme de «address mapping» plus compliqué. Sylvain Martel - INF

107 Mémoire principale, mémoire virtuelle, et systèmes de stockage Sylvain Martel - INF

108 Mémoire principale 0 WS Registres L1 Cache L2 Cache Vitesse Mémoire principale Mémoire virtuelle Dimension/capacité Sylvain Martel - INF

109 Mémoire (DRAM) Sylvain Martel - INF

110 RAM statique (SRAM) DIN3 DIN2 DIN1 DIN0 bit line word line 3-to-8 decoder 0 IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR 0 1 IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR 2 A2 2 3 IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR A1 A IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR 5 IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR = 8 adresses 2 3, 2 16?, 2 32?? WE_L CS_L OE_L 7 WR_L IOE_L IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR IN OUT SEL WR 7 DOUT3 DOUT2 DOUT1 DOUT0 Copyright 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF

111 SRAM VS. DRAM SRAM (4-6 transistors par bit) vs. 1 transistor pour DRAM (meilleure densité d information) À mesure que la capacité des DRAM augmentait, le prix du package avec toute les lignes d adresse nécessaires devenaient un problème Solution: multiplexer les lignes d adresse en deux. Sylvain Martel - INF

112 DRAM (Dynamic RAM dynamique) Storage Cell CAS Column Decoder D A0..AX Address Buffer RAS Row Decoder Memory Array Q Sylvain Martel - INF

113 La mémoire principale Notions de base La latence des mémoires se mesure principalement avec le temps d accès et le temps de cycle. Le temps d accès est le temps écoulé entre une demande de lecture et le moment où le mot demandé arrive. Le temps de cycle est le temps minimum entre deux requêtes successives à la mémoire. La moitié de l adresse est d abord envoyée, pendant le signal d écriture des accès (RAS). L autre moitié de l adresse est envoyée pendant le signal d écriture des accès colonnes (CAS). Les DRAM utilisent un seul transistor pour stocker un bit. Pour empêcher la perte d information, chaque bit doit être rafraîchi périodiquement (DynamicRandomAccesMemory) La plus part de ordinateurs vendus depuis 1975 est composée de DRAM. Seules les caches utilisent de la SRAM. Sylvain Martel - INF

114 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Première technique: une mémoire principale élargie L augmentation de largeur de la mémoire, diminue généralement la pénalité d échec. Il y a un coût à l élargissement : la bus mémoire. L UCT accèdera encore mot par mot et un multiplexeur est maintenant nécessaire entre le cache et l UCT. Également, si un utilisateur veut étendre sa mémoire, l incrément minimum est doublé ou quadruplé quand la largeur est doublée ou quadruplée. Sylvain Martel - INF

115 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Première technique: une mémoire principale élargie UCT Cache MUX Cache L1 L2 Mémoire Sylvain Martel - INF

116 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Seconde technique: la mémoire entrelacée simple (interleaved) Accroître la largeur de bande augmente la bande passante. Un autre façon est d exploiter le parallélisme potentiel en ayant beaucoup de DRAM dans un système mémoire. Utiliser la bande passante de toutes les DRAM dans le système. Les bancs ont souvent une largeur d un mot. L envoi d adresses à plusieurs bancs leur permet à tous de lire simultanément. Une mémoire entrelacée est une mémoire avec bancs, dont les mots sont entrelacés. Ceci optimise les accès mémoires séquentiels. Sylvain Martel - INF

117 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Deuxième technique: une mémoire entrelacée simple C1 Mémoire Banc 0 C8 UCT Cache Mémoire Banc 1 Mémoire Banc 2 Mémoire Banc 3 Note: débit élevé mais latence assez longue, PCB plus simple Sylvain Martel - INF

118 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Troisième technique: des bancs mémoires indépendants. Les bancs mémoires permettaient une bande passante élevée en entrelaçant des accès séquentiels. Une généralisation des bancs est de permettre plusieurs accès indépendants, avec plusieurs contrôleurs mémoires pour permettre aux banc d opérer indépendamment. Quatrième technique: éviter le conflits de bancs mémoire. L augmentation du nombre de bancs entraînent quand même plusieurs conflits. Uns solution serait d utiliser un compilateur pour éviter d accéder au même banc et réduire ainsi les conflits. Numéro de banc = Adresse MOD (Nombre de bancs) Adresse dans le banc = Adresse/Nombre de bancs Sylvain Martel - INF

119 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Entrelacement spécifique aux DRAM pour améliorer les performances des mémoires principales. Le temps d accès des DRAM se divise en accès ligne et accès colonne. Les DRAM mémorisent une ligne de bits dans un registre tampon du circuit pour l accès colonne. Trois modes d optimisation: Le mode nibble : La DRAM peut fournir trois bits supplémentaires depuis des cases séquentielles pour chaque RAS. Le mode page : Le tampon agit comme une SRAM; en changeant l adresse colonne, on peut accéder à n importe quel bit du tampon jusqu au prochain accès ligne ou jusqu au moment du rafraîchissement. Colonne statique : Très semblables au mode page, sauf qu il n est pas nécessaire d agir sur la ligne d échantillonnage de l accès colonne à chaque fois que les adresses colonne changent. Sylvain Martel - INF

120 Techniques pour augmenter les performances de la mémoire principale (augmenter le débit des mémoires) Entrelacement spécifique aux DRAM pour améliorer les performances des mémoires principales (suite). De nouveaux types de DRAM ont vus le jour, optimisant l interface entre la DRAM et l UCT. RAMBUS supprime RAS et CAS, les remplaçant par un bus qui permet d autres accès sur le bus entre l envoi de l adresse de retour de la donnée. VRAM est un DRAM avec une ligne de sortie série rapide, utilisée pour piloter les consoles. Etc. Sylvain Martel - INF

121 Autres types de mémoire que l on retrouve dans un ordinateur (volatile vs. non-volatile) ROM, PROM, EPROM, EEPROM, FLASH Sylvain Martel - INF

122 Pentium ROM Sylvain Martel - INF

123 Mémoire virtuelle Chaque processus (programme qui tourne sur une machine) possède un espace d adressage. On ne peut pas attribuer à chaque processus un espace d adressage mémoire complet. On doit répartir une quantité beaucoup plus petite de mémoire physique entre plusieurs processus. La mémoire virtuelle divise la mémoire physique en blocs qu elle alloue à différents processus. Cette approche implique un système de protection qui confine un processus aux blocs qui lui appartiennent effectivement. La mémoire virtuelle fut inventée pour décharger les programmeurs. Sylvain Martel - INF

124 Mémoire virtuelle Elle gère automatiquement les deux niveaux de hiérarchie mémoire (mémoire principale et secondaire). La mémoire virtuelle simplifie le chargement et le déchargement du programme pour l exécution. Un bloc de mémoire physique est l équivalent d un nombre de pages < nombre de pages de mémoire virtuelle. L UCT fournit des adresses virtuelles qui sont traduites, par une combinaison matérielle et logicielle, en adresses physiques, utilisées pour accéder à la mémoire principale. C est la correspondance mémoire ou traduction d adresse (memory mapping or address translation) TLB TranslationLookaside Buffer Sylvain Martel - INF

125 Concept de la hiérarchie mémoire 0 WS Registres L1 Cache Vitesse Adresses Physiques L2 Cache Mémoire principale Adresses Virtuelles Mémoire virtuelle Dimension/capacité Sylvain Martel - INF

126 Mémoire virtuelle (disque magnétique, etc.) Ex. «HD» Sylvain Martel - INF

127 Mémoire virtuelle Sylvain Martel - INF

128 Mémoire virtuelle Il existe quelque différences quantitatives entre la mémoire virtuelle et les caches: Le remplacement, lors de défauts de cache, est contrôlé essentiellement par matériel, alors que le remplacement dans la mémoire virtuelle est contrôlé essentiellement par le système d exploitation. La taille de l adresse du processeur détermine la taille de la mémoire virtuelle alors que la taille du cache est normalement indépendante de l adresse du processeur. Il existe deux catégories de mémoire virtuelle: Blocs de taille fixe : pages (entre 4096 et octets). Blocs de taille variable : segments (entre 1 octet et 2^32 octets). Sylvain Martel - INF

129 Pentium 232 adresses Sylvain Martel - INF

130 Mémoire virtuelle L adressage paginé a une seule adresse, de taille fixe, divisée en numéro de page et adresse dans la page, comme pour l adressage du cache. Pour l adressage segmenté, nécessite un mot pour le numéro de segment et un mot pour le déplacement dans le segment, soit un total de deux mots. Un espace d adressage segmenté est plus simple pour le compilateur. Aujourd'hui, quelques machines utilisent une approche hybride : la segmentation paginée, où un segment correspond à un nombre entier de pages, ce qui simplifie le remplacement des pages. Sylvain Martel - INF

131 Mémoire virtuelle Une autre approche hybride plus récente correspond aux machines qui offrent plusieurs tailles de page, les tailles les plus grandes étant une puissance de deux fois la plus petite taille de page. La pénalité d échec pour une mémoire virtuelle correspond à l accès à un disque magnétique tournant. Celle-ci est donc relativement importante. Les systèmes d exploitation permettent aux blocs d être situés n importe où en mémoire principale. Sylvain Martel - INF

132 Mémoire virtuelle La pagination et la segmentation sont basées sur une structure de données qui est indexée par le numéro de page ou de segment. Cette structure contient l adresse physique du bloc. Pour la segmentation, l adresse dans la page est ajoutée à l adresse physique du segment pour obtenir l adresse virtuelle finale. Sylvain Martel - INF

133 Mémoire virtuelle Pour la pagination, l adresse dans la page est simplement concaténée au numéro de page physique. La structure de données contenant les numéros de page physique se retrouve sous une table des pages. Pour réduire la taille de cette structure, certaines machines appliquent une fonction de hachage à l adresse virtuelle. Pour réduire le temps de traduction d adresse, ont utilise un cache dédié à ces traductions, le tampon de traduction anticipé (translation lookaside bufferi) TLB. L OS est responsable de minimiser les défauts de page. Ces derniers utilisent la technique LRU avec un bit de référence pour effectuer ce remplacement. Sylvain Martel - INF

134 Pentium TLB Sylvain Martel - INF

135 Mémoire virtuelle Durant une écriture la stratégie est toujours une réécriture. Le coût d un accès inutile est très grand, on utilise donc un bit modifié, de telle sorte que les seuls blocs écrits sur disque sont ceux qui ont été modifiés depuis leur chargement à partir du disque. Les techniques de traduction rapide d adresse. Les tables de pages sont rangées en mémoire principale (très grande taille) Les accès mémoires sont donc au moins deux fois plus long (1 accès pour l adresse physique et un autre pour la donnée) Ce coût est trop grand. Un solution: mémoriser la dernière traduction pour que le processus de correspondance n intervienne pas si l adresse courante correspond à la même page que l adresse précédente. Sylvain Martel - INF

136 Mémoire virtuelle Une autre solution générale consiste à localiser les traductions d adresses, comme les accès. En conservant les traductions d adresses dans un cache spécial, un accès mémoire utilise rarement un second accès pour obtenir la donnée: c est le TLB. Une entrée TLB contient une étiquette avec des parties de l adresse virtuelle et une données qui contient un numéro de page physique, le champ de protection, le bit de valide et généralement le bit d utilisation et le bit modifié. Les étapes de traductions sont: Envoi de l adresse virtuelles à toutes les étiquette. On s assure que l étiquette est marquée comme valide. On s assure qu il n y a pas de violation de la protection mémoire. L étiquette qui coïncide envoie l adresse physique à travers le multiplexeur 32:1. Sylvain Martel - INF

137 Mémoire virtuelle Le déplacement dans la page est alors combiné avec le numéro de page physique pour constituer une adresse physique complète sur 34 bits. La sélection d une taille de page Arguments pour une grande taille sur une petite taille: La taille de la table des pages est inversement proportionnelle à la taille de la page. La taille de la mémoire peut ainsi être réduite avec des pages plus grandes. Une taille de page plus grande facilite des temps de succès cache rapides. Le transfert de plus grandes pages vers ou depuis la mémoire secondaire, éventuellement à travers le réseau, est plus efficace que le transfert de petites pages. Le nombre d entrées du TLB est limitée. Sylvain Martel - INF

138 Mémoire virtuelle La motivation principale pour une taille de page plus petite est la minimisation de l espace mémoire. Une taille de page plus petite conduira à moins de pertes quand une région contïgue de mémoire virtuelle n est pas gale en taille à un multiple de la taille des pages. Cette mémoire inutilisée se nomme la fragmentation interne. Sylvain Martel - INF

139 Les systèmes de stockage Sylvain Martel - INF

140 Les types de composants de stockage Les disques magnétiques. Haute capacité Mémoire à long terme non volatile 1 à 20 plateaux rotatifs avec des disques métalliques recouverts avec un matériel d enregistrement magnétique des deux côtés. La surface des disques est divisé en cercles concentriques (pistes). Il y a entre 500 et 2500 pistes sur chaque surface. Chaque piste est divisée en secteurs qui contiennent les informations. Un secteur est la plus petite unité qui peut être écrite ou lue. Il y environ 64 secteurs par piste. Généralement toutes les pistes ont le même nombre de secteurs. Les pistes extérieures sont plus longues et enregistrent l information à une densité plus faible que les pistes intérieures. Sylvain Martel - INF

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération

Plus en détail

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Guide Mémoire NETRAM

Guide Mémoire NETRAM Guide Mémoire NETRAM Types de mémoires vives On distingue généralement deux grandes catégories de mémoires vives : Mémoires dynamiques (DRAM, Dynamic Random Access Module), peu coûteuses. Elles sont principalement

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Concepts et systèmes de stockage

Concepts et systèmes de stockage Concepts et systèmes de stockage Francesco Termine, professeur HES, francesco.termine@he-arc.ch 1 Plan Gestion de volumes de stockage Systèmes RAID DAS SAS Concepts Technologies actuelles NAS Concepts

Plus en détail

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Guide pour l Installation des Disques Durs SATA et la Configuration RAID Guide pour l Installation des Disques Durs SATA et la Configuration RAID 1. Guide pour l Installation des Disques Durs SATA... 2 1.1 Installation de disques durs Série ATA (SATA)... 2 2. Guide de Configurations

Plus en détail

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

Plus en détail

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse EX4C Systèmes d exploitation Séance 14 Structure des stockages de masse Sébastien Combéfis mardi 3 mars 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution

Plus en détail

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Guide pour l Installation des Disques Durs SATA et la Configuration RAID Guide pour l Installation des Disques Durs SATA et la Configuration RAID 1. Guide pour l Installation des Disques Durs SATA... 2 1.1 Installation de disques durs Série ATA (SATA)... 2 2. Guide de Configurations

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

Éléments d'architecture des ordinateurs

Éléments d'architecture des ordinateurs Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Structure et fonctionnement d'un ordinateur : hardware

Structure et fonctionnement d'un ordinateur : hardware Structure et fonctionnement d'un ordinateur : hardware Introduction : De nos jours, l'ordinateur est considéré comme un outil indispensable à la profession de BDA, aussi bien dans les domaines de la recherche

Plus en détail

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx COURS DE PERFECTIONNEMENT cvbnmqwertyuiopasdfghjklzxcvbnmq L ordinateur et Windows 2014-2015 wertyuiopasdfghjklzxcvbnmqwertyui

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Micro ordinateur & Périphériques Mémoire de masse Disque dur (SOLUTION)

Micro ordinateur & Périphériques Mémoire de masse Disque dur (SOLUTION) Ressources : www.sen-bretagne.net, rubrique VANNES/Télécom&Réseaux/CI4 Traitement num./ Table des matières 1.Introduction...1 2.Constitution...1 3.Lecture et enregistrement...2 3.1.Principe du stockage

Plus en détail

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Guide pour l Installation des Disques Durs SATA et la Configuration RAID Guide pour l Installation des Disques Durs SATA et la Configuration RAID 1. Guide pour l Installation des Disques Durs SATA... 2 1.1 Installation de disques durs Série ATA (SATA)... 2 2. Guide de Configurations

Plus en détail

ISO/CEI 11172-3 NORME INTERNATIONALE

ISO/CEI 11172-3 NORME INTERNATIONALE NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications

Plus en détail

Informatique pour scientifiques hiver 2003-2004. Plan général Systèmes d exploitation

Informatique pour scientifiques hiver 2003-2004. Plan général Systèmes d exploitation Informatique pour scientifiques hiver 2003-2004 27 Janvier 2004 Systèmes d exploitation - partie 3 (=OS= Operating Systems) Dr. Dijana Petrovska-Delacrétaz DIVA group, DIUF 1 Plan général Systèmes d exploitation

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Gestion répartie de données - 1

Gestion répartie de données - 1 Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch Titre Stockage des machines virtuelles d un système ESXi Auteurs jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch Classification Document publique Date dernière modification 12 Mai 2009 Chemin\NomFichier

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Alchin Couderc Flambard TBSEID 2

Alchin Couderc Flambard TBSEID 2 Alchin Couderc Flambard Lycée Charles Blanc TBSEID 2 2008/2009 Depuis le début de notre formation en électronique en lycée professionnel nous avons vu plusieurs domaines d'intervention tel que le brun,

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Caches web. Olivier Aubert 1/35

Caches web. Olivier Aubert 1/35 Caches web Olivier Aubert 1/35 Liens http://mqdoc.lasat.com/online/courses/caching/ (prise en compte des caches dans la conception de sites) http://mqdoc.lasat.com/online/courses/proxyserver http://www.web-caching.com/mnot_tutorial/

Plus en détail

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite Livre blanc Au cœur de Diskeeper 2010 avec IntelliWrite AU CŒUR DE DISKEEPER 2010 AVEC INTELLIWRITE Table des matières PRÉSENTATION DE LA TECHNOLOGIE INTELLIWRITE 1 TEST DE PERFORMANCE D INTELLIWRITE 2

Plus en détail

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?

Plus en détail

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est: Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Technologie de déduplication de Barracuda Backup. Livre blanc

Technologie de déduplication de Barracuda Backup. Livre blanc Technologie de déduplication de Barracuda Backup Livre blanc Résumé Les technologies de protection des données jouent un rôle essentiel au sein des entreprises et ce, quelle que soit leur taille. Toutefois,

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Vers du matériel libre

Vers du matériel libre Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

Prise en main. Prise en main - 0

Prise en main. Prise en main - 0 Prise en main 0404 Prise en main - 0 1- Introduction Creative Professional Merci d avoir choisi le Digital Audio System 0404 d E-MU. Nous avons conçu ce produit E-MU pour qu il soit logique, intuitif et

Plus en détail

Spécifications détaillées

Spécifications détaillées Hewlett Packard HP ProLiant ML110 G5 Serveur micro tour 4U 1 voie 1 x Xeon E3110 / 3 GHz RAM 1 Go Disque dur 1 x 250 Go DVD RW Gigabit Ethernet Moniteur : aucun(e) Le serveur HP ProLiant ML110 G5 offre

Plus en détail

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif : IN SYSTEM Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL V16 Objectif : En synthèse des manuels de référence de Sage Ligne 100, ce document vous présente les préconisations,

Plus en détail

Mise en oeuvre TSM 6.1

Mise en oeuvre TSM 6.1 Mise en oeuvre TSM 6.1 «Bonnes pratiques» pour la base de données TSM DB2 Powered by Qui sommes nous? Des spécialistes dans le domaine de la sauvegarde et de la protection des données 10 ans d expertise

Plus en détail

Démarrer et quitter... 13

Démarrer et quitter... 13 Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR

CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR 1. Les différents types de mémoires Un ordinateur est composé de plusieurs types de mémoire. À première vue, on peut d'abord distinguer la mémoire principale à l'interne

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

Les liaisons SPI et I2C

Les liaisons SPI et I2C DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7 CONFÉRENCE DES NATIONS UNIES SUR LE COMMERCE ET LE DÉVELOPPEMENT UNITED NATIONS CONFERENCE ON TRADE AND DEVELOPMENT Le Programme SYGADE SYGADE 5.2 Besoins en équipement, logiciels et formation UNCTAD/GID/DMFAS/Misc.6/Rev.7

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Le Raid c est quoi? Comment ca marche? Les différents modes RAID : Le Raid c est quoi? Redundant Array of Inexpensive Disks: ensemble redondant de disques peu chers. Le RAID est une technologie qui a été dévellopée en 1988 pour améliorer les performances des unités de

Plus en détail

SQL Server 2008 et YourSqlDba

SQL Server 2008 et YourSqlDba SQL Server 2008 et YourSqlDba Le futur de la maintenance des bases de données et la haute-disponibilité Par : Maurice Pelchat Société GRICS Survol du sujet Haute disponibilité (HD) Assurer la disponibilité

Plus en détail

Gestion des sauvegardes

Gestion des sauvegardes Gestion des sauvegardes Penser qu un système nouvellement mis en place ou qui tourne depuis longtemps ne nécessite aucune attention est illusoire. En effet, nul ne peut se prémunir d événements inattendus

Plus en détail

Cours n 12. Technologies WAN 2nd partie

Cours n 12. Technologies WAN 2nd partie Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes

Plus en détail

Système de stockage IBM XIV Storage System Description technique

Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Le stockage réinventé Performance Le système IBM XIV Storage System constitue une solution de

Plus en détail

Pré-requis techniques

Pré-requis techniques Sommaire 1. PRÉAMBULE... 3 2. PRÉ-REQUIS TÉLÉCOM... 4 Généralités... 4 Accès Télécom supporté... 4 Accès Internet... 5 Accès VPN... 5 Dimensionnement de vos accès... 6 3. PRÉ-REQUIS POUR LES POSTES DE

Plus en détail

Sommaire 1. Aperçu du Produit

Sommaire 1. Aperçu du Produit Sommaire 1. Aperçu du Produit... 1 2. Caractéristiques du Produit... 2 3. Contenu du Pack... 3 4. Données techniques... 3 5. Configuration Matérielle Minimum... 3 6. Description du Produit... 4 6.1 Affichage

Plus en détail

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1. Mémoires RAM 1. LOGIUE STATIUE ET LOGIUE DYNAMIUE Le point mémoire est l élément de base, capable de mémoriser un bit. Il y a deux approches possibles. L approche statique est fondée sur la l'utilisation

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750, Français Version 2.1.0 23/12/2003 ii General Copyright 2001 by WAGO Kontakttechnik GmbH Tous droits réservés. WAGO Kontakttechnik GmbH Hansastraße

Plus en détail

Axis IP-Surveillance. Solutions de vidéo sur IP professionnelles pour la sécurité, la vidéosurveillance et le contrôle à distance

Axis IP-Surveillance. Solutions de vidéo sur IP professionnelles pour la sécurité, la vidéosurveillance et le contrôle à distance Axis IP-Surveillance Solutions de vidéo sur IP professionnelles pour la sécurité, la vidéosurveillance et le contrôle à distance Facilité d'installation L offre de vidéo sur IP Axis apporte au monde professionnel

Plus en détail

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks) LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks) Think Faster. [Pensez plus vite] Visitez Condusiv.com RECOMMANDATIONS D UTILISATION DE DISKEEPER

Plus en détail

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

Gestion de données avec les bibliothèques Final Cut Pro X. Livre blanc Juin 2014

Gestion de données avec les bibliothèques Final Cut Pro X. Livre blanc Juin 2014 Livre blanc Juin 2014 2 Contenus 3 Introduction 4 Nouveautés de Final Cut Pro X 10.1 Bibliothèques Données externes et gérées Données générées 6 Mettre à jour des projets et des événements dans Final Cut

Plus en détail

Premiers pas sur l ordinateur Support d initiation

Premiers pas sur l ordinateur Support d initiation Premiers pas sur l ordinateur Support d initiation SOMMAIRE de la partie 1 : I. Structure générale de l ordinateur... 1. L Unité centrale... 2 2. Les différents périphériques... 5 II. Démarrer et arrêter

Plus en détail

EVault Endpoint Protection en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité

EVault Endpoint Protection en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité Vue d ensemble des principaux avantages Permet au service informatique de gérer les données mobiles en définissant des règles

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

environnements SQL Server?

environnements SQL Server? Comment booster les performances de vos environnements SQL Server? performance technology Innovators in Performance and Reliability Technologies Comment booster les performances de vos environnements SQL

Plus en détail

Zero-Maintenance Cache Protection. pour les contrôleurs RAID Série 6 et Série 5Z

Zero-Maintenance Cache Protection. pour les contrôleurs RAID Série 6 et Série 5Z Zero-Maintenance Cache Protection pour les contrôleurs RAID Série 6 et Série 5Z Frais d exploitation réduits pour les centres de données et protection maximale des données mises en cache Le cabinet IDC

Plus en détail

Organisation des Ordinateurs

Organisation des Ordinateurs Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les

Plus en détail

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un ESZ Introduction à l informatique et à l environnement de travail Éric Gaul (avec la collaboration de Dominic Boire) Partie 1: Concepts de base Ordinateur Logiciel Mémoire Données Entrées/sorties Périphériques

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail