Stockage : capacité, performances

Documents pareils
Conception de circuits numériques et architecture des ordinateurs

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

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 4 : Les mémoires

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

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

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

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

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

Structure fonctionnelle d un SGBD

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)

Architecture des ordinateurs

Partie 7 : Gestion de la mémoire

Architecture des ordinateurs

Leçon 1 : Les principaux composants d un ordinateur

Limitations of the Playstation 3 for High Performance Cluster Computing

Tests de performance du matériel

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

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

VIII- Circuits séquentiels. Mémoires

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

GESTION DE LA MEMOIRE

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

Guide Mémoire NETRAM

Architecture des calculateurs

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

IV- Comment fonctionne un ordinateur?

SQL Server 2008 et YourSqlDba

Vers du matériel libre

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

GPA770 Microélectronique appliquée Exercices série A

13/11/2009 DUT-MUX-0185 /V2.0

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

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

Architecture des ordinateurs Introduction à l informatique

11 Février 2014 Paris nidays.fr. france.ni.com

Organisation des Ordinateurs

Exécution des instructions machine

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

SYSTÈME DE GESTION DE FICHIERS

Logique séquentielle

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

Cours de Systèmes d Exploitation

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Architecture matérielle des systèmes informatiques

Avira System Speedup Informations de parution

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Cours 3 : L'ordinateur

Cours Bases de données

Mes documents Sauvegardés

Windows Internet Name Service (WINS)

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

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

Gestion répartie de données - 1

FAMILLE EMC RECOVERPOINT

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Structure de base d un ordinateur

Démarrer et quitter... 13

Concepts et systèmes de stockage

Architecture des Ordinateurs. Partie II:

Logiciel de capture et de gestion des flux de documents MOINS DE PAPIER, PLUS D EFFICACITÉ. VOUS POUVEZ COMPTER SUR NOUS

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Cours n 12. Technologies WAN 2nd partie

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.

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

NOTIONS DE RESEAUX INFORMATIQUES

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Éléments d'architecture des ordinateurs

<Insert Picture Here> Solaris pour la base de donnés Oracle

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

ELP 304 : Électronique Numérique. Cours 1 Introduction

Système de stockage IBM XIV Storage System Description technique

Système de Gestion de Fichiers

CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR

Sélection du contrôleur

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

Manuel du logiciel PrestaTest.

Smart Energy & Power Quality Solutions. La solution Cloud pour votre gestion d Energie

CH.3 SYSTÈMES D'EXPLOITATION

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

Fiche produit FUJITSU ETERNUS DX200F Baie de stockage Flash

I00 Éléments d architecture

Tutorial Terminal Server sous

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Introduction aux systèmes temps réel. Iulian Ober IRIT

L unique SAN industriel proposant un stockage multiniveau automatisé (Automated Tiered Storage)

Introduction Big Data

Manuel de l utilisateur

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Transcription:

Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom

Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/ Downloads/patterson_book.pdf 2

Concepts de base 3 07/10/15 Institut Mines-Télécom

Stockage : contenu adressable par le «pipeline» Définition : Le contenu est adressable par le pipeline si il peut être utilisé dans une instruction (e.g. stocké dans un registre). n Exemples : DRAM, SRAM, Flash n Contre-exemples : disque dur à plateaux, SSD n Caractéristique d un Stockage non adressable Granularité du transfert >> 1 mot Passage obligé par la mémoire Comportement asynchrone 4 07/10/15 Institut Mines-Télécom

Stockage : permanent / volatile n Stockage permanent : mémorisation d information sans contrainte d alimentation du support Disque dur CD n Stockage volatile : mémorisation d information dont l état n est conservé que si le support est alimenté (parfois, l état électronique doit être «rafraichi») n Pratiques usuelles : Permanent => non adressable par le pipeline (contre exemple : la mémoire flash) Stockage Volatil mot clé volatile en C J 5 07/10/15 Institut Mines-Télécom

Espace d adressage n Espace d adressage linéaire : Ensemble d adresses = {0 NbAdresses-1} 1 adresse parmi 2 N = représentation en base 2 sur N bits n 1 adresse = référence vers un contenu n Granularité : octet vs mot 1 Mo = 1024*1024 octet ou 1024* 256 mots de 4 octets # Adresses des octets 2 20 valeurs # Adresses des mots de 4 octets 2 18 Nombres de bits requis par adresse = log 2 (#Adresse) 6 07/10/15 Institut Mines-Télécom

La vision idéalisée du stockage n 1 espace d adressage n Transfert simultané de w bits n L interaction : transaction Définition de l adresse Définition de la nature de l accès (lecture/écriture) Définition de la source ou de la destination locale (registre) Envoi de la requête Retour d une valeur si lecture n Fonctionnement interne = traitement de la requête Processeur contrôleur stockage interface avec le bus registres + signaux de contrôle mémoire 7

Mémoire, principe et étude du cas de la DRAM 8

L accès à la mémoire Principe et exemple de mise en œuvre n Principe : Stockage d une quantité d information non triviale Échanges de petites quantités d information (vers ou depuis des registres) Accès à des adresses arbitrairement réparties (d où Random Access Memory) Échange via un modèle de transaction (requête / réponse ) contrôleur stockage 1) Décodage de la requête 2) Contrôle du stockage pour réaliser le transfert Sélection de l emplacement Mise à jour ou diffusion du contenu 9

Le stockage technologies et propriétés n Technologie de stockage : le problème de stabilité/latence Static : information == tension dans un circuit de 6 transistors Stabilité <= alimentation du circuit de stockage (indépendant de l information contenue Dynamic : information == charge sur une capacité Stabilité <= consultation du contenu (détection par seuil) et rechargement périodique de la capacité n Comparaison Coût de production SRAM >> DRAM Latence d accès SRAM << DRAM Consommation énergétique Si aucun accès DRAM>SRAM Si accès fréquent (lecture/écriture) SRAM ~DRAM (ou >) 10

Comprendre la structure Unité de transfert, de stockage L information transférée w bits = mot (en pratique 8, 16..64 bits) L information stockée w cellules = unité de stockage ~ supercellule w divise w Adresse A Bus d échange Coordonnées (i A,j A ),j A w < Bus i A 11

Comprendre le traitement d une lecture Accès à l adresse A codée sur 4 bits n Remarque: 2 4 =16 la taille du bloc = grille n Étapes : Traduction de l adresse en coordonnées Récupération de la ligne contenant la cible Sélection de la cellule désirée (extraction) Envoi sur un bus d échange avec le processeur RAS Contrôleur mémoire CAS tampon 12

Latence et débit n Latence d accès : délai entre l envoi de la requête et le début du transfert pour un accès en lecture n Débit : nombre de bits transférés par cycle du bus d échange n Délai d accès mémoire en lecture Latence + (Taille du Mot / débit) Exemple : accès DRAM 14 cycle de latence, débit 2 octets/ cycles, mot de taille 4 => 14+2 cycles 13

Latence et débit : les causes n Latence d accès = temps décodage + récupération interne Temps de sélection et recopie de la ligne Temps de sélection de la colonne n Débit : Le circuit DRAM émet le contenu d une cellule, potentiellement >> taille d un mot du bus d échange Conflit «structurel» possible sur le tampon (diminue la mise en parallèle des requêtes) n Amélioration : Juxtaposition de plusieurs circuits DRAM (+ de débit) et organisation du stockage en «colonnes» (1 er octet bloc 1, 2 ième bloc 2 Synchronisation des étapes sur une horloge acquittement (+ rapide) Pipelining du traitement des requêtes 14

Le cas de l architecture ADSP2106x une architecture Harvard détournée 2 modules d adressage 2*2 Bus 2 Bus en sortie du contrôleur 18

Le cas de l architecture ADSP2106x 20

Les autres stockages (suite) 21

Architecture de l ordinateur et stockage Stockage permanent vu comme des E/S 22

Un mot sur les entrées sorties n Vision simplifié du dispositif d entrée sortie Rôle : consomme ou produit des données Ces données seront soit stockée par le dispositif, soit par le processeur (e.g. en mémoire) Si le stockage est local au dispositif : il est peut être directement adressable Le processeur pilote les interactions avec le dispositif via la définition de commandes et la consultation de l état du dispositif Le dispositif possède un moyen de signaler un changement d état au processeur (interruption) n Notion de Mempry mapped I/O : Un dispositif possède des registres internes pour mémoriser son état / ses commandes / ses données. L ensemble des registres sont adressables par le processeur, et les adresses sont définies dans un intervalle connu. 23 07/10/15 Institut Mines-Télécom

Interruption : le fonctionnement n Principe : un événement externe déclenchant un traitement n Note : événement d interruption = numéro n Support matériel pour : stocker l état d exécution interrompu Identifier l adresse du code à exécuter % événement n Fonctionnement : Détection d un changement d état par le processeur à chaque cycle Sauvegarde de l état (limitée souvent à PC, parfois certains registre dont le registre de statu) Calcul de l adresse du traitement et saut En fin de traitement : exécution d une instruction de restauration de l exécution interrompue 24 07/10/15 Institut Mines-Télécom

Cartographie mémoire n 1 carte = 1 processeur + différente mémoires + E/S n 1 bloc mémoire == 1 ensemble avec 2 K mots adressables n Cas usuel pour l embarqué 1 SRAM 1Mbits 1 DRAM 1Gbits 1 Flash 32 Gbits 1 dispositif d E/S utilisant 1024 adresses n Supposons des adresses par octet 4 intervalles de taille variables Cartographie mémoire (Memory map) : placement des intervalles dans 0..2 N 25 07/10/15 Institut Mines-Télécom

Quelques mots sur les stockages de masse n Les contraintes d accès Granularité des lectures /écriture grossière (>>>octet) Référence adresse (notion de bloc) Le transfert de contenu avec des stockages de masse peut se faire de manière asynchrone Mémoire = zone tampon pour stocker le résultat des lectures/ l entrée des écritures n Les performances Latence d accès très importante Temps total de transfert significatif car transferts volumineux Le temps d accès à la donnée = cumul latence mémoire + stockage n Synchronisation avec le processeur Utilisation des interruptions pour dialoguer avec le processeur 26

Autres stockages adressables notables n «Mémoire» Flash : Principe : le support doit être «effacé» pour pouvoir être écrit Effacement macroscopique (>>> octet par octet) Lecture mot par mot Ecrite si effacé mot par mot. n Contenu adressable => positionné dans l espace d adressage. n Latence stable pour les accès en lecture n Latence variable pour les accès en écriture 27 07/10/15 Institut Mines-Télécom

Cache et hiérarchie mémoire 28

Le problème de performance 29

Principe d un cache n Accès lent aux données dans le «dépôt» Consommation de données médium dépôt n Principe : conserver une copie, plus facilement accessible de ces données sur un stockage rapide SR n Question ouverte : Cette copie va-t-elle servir Comment cela modifie-t-il la procédure d accès aux données Comment gère-t-on la ressource SR 30

Principe d un cache n Accès lent aux données dans le «dépôt» Consommation de données médium dépôt n Fonctionnement : Comment organise-t-on le stockage (placement et degré d associativité) Comment détermine-t-on si un contenu est présent (identification) Quoi faire si le stockage est plein (politique de remplacement) Comment traite-t-on les écritures (politique de réécriture) 31 07/10/15 Institut Mines-Télécom

Le vocabulaire lié à la structure du cache Cache Memory! 10 4 processeur! 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bloc : unité de donnée échangée entre le cache et la mémoire Entrée : unité de stockage permettant de mémoriser 1 bloc et les données nécessaires à sa gestion Cache verrouillé = état fixe Initialisation : 1 bit d état pour le cas «vide» ATTENTION mot bloc utilisé à toutes les sauces 32

Les événements élémentaires sur un cache Cache Memory processeur 4 10 10 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Consomme 4 Consomme 10 Consomme 10 Cache hit = accès à la donnée via le cache sans accès à la mémoire Cache miss, accès à une donnée absente du cache => accès mémoire + mise à jour du cache Remplacement : action consistant à libérer une entrée pour y stocker un nouveau bloc 33 07/10/15 Institut Mines-Télécom

Placement et Identification du contenu du cache n Les questions clés : Quelle quantité d information recopie-t-on? Où la dispose-t-on? Comment gère-t-on la surpopulation? n Les familles de caches == une taille + stratégie de placement + une politique de remplacement n Identification du contenu du cache : Observation : 1 place dans le cache => N emplacements mémoire Proposition : le cache doit contenir des informations pour déterminer l emplacement stocké 34

Stockage et identification du contenu du cache n Hypothèse : Le cache accélère l accès à un ensemble d octets indexés linéairement (adresses sur 2 M bits) n Identification : stockage conjoint Identifiant + donnée n Initialisation et cohérence avec le niveau inférieur (mémoire) État d initialisation : valid/not valid (indique si la ligne est initialisée) État d usage : (pas de nom standard) si 0 même contenu en mémoire et dans le cache n 1 entrée = unité de transfert/stockage B octets répartis entre : W bits pour l identifiant X bits pour l état (souvant plus petit qu un octet) Y octets pour le contenu identifiant état contenu n Remarque : pour des raisons pratiques W X Y sont souvent des puissances de 2 35

Placement : Quelle ligne de cache utilise-t-on n Stratégie de placement (deux faces d une même pièce) : Du point de vue de la ligne, une ligne peut stocker un contenu d adresse quelconque un contenu provenant d un ensemble d adresse restreint (taille 1-N) Du point de vue de l adresse, une adresse se place au choix dans un ensemble de lignes (en fonction de leur contenu) dans une seule ligne (prédéterminée par l adresse) @ ligne Stocke un contenu d @ quelconque Stocke un contenu d un ensemble d @ Peut être placé sur plusieurs lignes Ne peut aller que sur 1 ligne Cache associatif complet (fully associative) Pas cohérent Cache associatif par blocs (set associative) Cache par placement direct (direct map) 36

Le cache associatif complet (1) n Observation : L identifiant doit permettre de reconnaître le contenu n Encodage de l Identifiant & adressage du Contenu C est un vase communiquant Adresses sur 2 M bits, 1 adresse = 1 octet Contenu 2 5 octets => 2 M-5 contenus juxtaposés Identifiant Adresse d un contenu, contenu plus grand qu un registre Récupération du contenu complet sur des registres ou filtrage Identifiant du contenu sur M-5 bits (poids fort de l adresse) n Identification Extraction des bits de poids fort Comparaison avec l identifiant stocké dans la ligne Si correspondance l adresse souhaité est dans le contenu. 37 INF 227 Architecture et Parallélisme - Mémoire

Le cache associatif complet (1) n Adresse == id de 1 ligne + 1 position dans la ligne n Recherche dans le cache (3 ligne, exemple jouet) Comparaison identifiant requis / identifiant de ligne En parallèle sélection de la fraction souhaitée du contenu Le comparateur contrôle le sélecteur qui laisse passer (ou pas le contenu de la ligne Identifiant requis Décalage Sélection par décalage dans le contenu identifiant état contenu identifiant état contenu identifiant état contenu Détection Hit/Miss Sélection Hit = Ou ({Comp}) 38 INF 227 Architecture et Parallélisme - Mémoire

Le cache associatif complet (2) n Propriétés : 1 accès == consultation de toutes les entrées Au plus un contenu sort La taille sélectionnée/adressée doit être connue Efficace mais couteux Identifiant requis Décalage Sélection par décalage dans le contenu identifiant état contenu identifiant état contenu identifiant état contenu Détection Hit/Miss Sélection Hit = Ou ({Comp}) 39 07/10/15 Institut Mines-Télécom INF 227 Architecture et Parallélisme - Mémoire

Associatif par bloc (ou N way associative) n Principe : Visualiser le contenu du cache comme une grille avec des colonnes et des lignes (une entrée = une case) Chaque ligne = 1 ensemble d entrées en mode associatif complet. Chaque colonne est munie d un unique comparateur tag/ Adresse Vérification de la présence : Identification de la «ligne» ou ensemble associatif via un groups de bit appelé index Vérification de la présence du contenu dans l ensemble associatif (via comparaison de l étiquette sur chaque colonne) n Vocabulaire : way = colonne (dit parfois bloc en français ) 40 INF 227 Architecture et Parallélisme - Mémoire

Politique de remplacement n Politique de remplacement : stratégie de sélection d une entrée occupée qui sera libérée lors de la résolution d un défaut de cache (cache miss). n Remarque : n a de sens que pour des caches un minimum associatifs n LRU : évincer l entrée avec la date de dernière accès la plus ancienne n FIFO : évincer l entrée chargée en premier n Si l entrée contient un contenu différent de la mémoire la libération 41

Ecriture dans les caches n Un bloc modifié doit être recopié en mémoire pour assurer la cohérence (bloc complet) n Write back : Recopie mémoire seulement sur éviction n Write-through : recopie mémoire à chaque accès 42 07/10/15 Institut Mines-Télécom

Hiérarchie mémoire au sens de l inclusion - de capacité +rapide + cher / unité de stockage L2: L0: Registres L1: SRAM Mémoire principale Registre = fraction (SRAM) SRAM = partie de DRAM. + de capacité - cher - rapide L4: L3: Stockage de masse local Stockage distant Référencement continu de l information => adressage du contenu du disque dur? 43