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

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

Cours Architecture des Systèmes Informatiques

Présentations similaires


Présentation au sujet: "Cours Architecture des Systèmes Informatiques"— Transcription de la présentation:

1 Cours Architecture des Systèmes Informatiques

2 Plan: mémoire et périphériques
Aspects généraux, caractéristiques & besoins La mémoire des ordinateurs : vue matérielle Gestion de la mémoire, vision OS Périphériques Disque : bas niveau Disque : haut niveau

3 Aspects de l’utilisation de la mémoire
On n’a pas besoin de toute la mémoire en même temps Code du programme : la partie en cours d’exécution Les données : utilisation souvent localisée dans le temps et l’espace : variables locales dans le temps : allocation/libération dynamique utilisation par à-coups, sur des intervalles de temps courts Utilisation irrégulière des ressources Loi des 90-10 10% des données représentent 90% des accès (10% du code utilise 90% de la CPU)

4 “Localité des références”
Concept de “localité des références” Sur un court laps de temps, le nombre “d’objets” utilisés est petit WS, Working Set [Peter Denning, 1968] Programme Les instructions sont le plus souvent exécutées en séquences Les boucles tendent à faire répéter de courtes séquences Données Variables locales, tables constituent des regroupements naturels Mais… Évolution au fil des temps du WS Comment gérer cette évolution ?

5 Mémoire : les performances
L’informatique a toujours besoin de mémoire plus rapide La mémoire traditionnelle est lente comparée au processeur La mémoire rapide est très chère Et il en faut beaucoup… Mais… “localité des références” Optimiser l’utilisation de la mémoire ? Notion de hiérarchie mémoire Solution au dilemme coût / performances

6 Hiérarchie de mémoire Coût et Vitesse Registres : 0 ns Cache 10ns
RAM : 50ns Coût et Vitesse Disque magnétique 10ms Disque magnéto-optique 500ms Bande magnétique minutes

7 Gestion de cette hiérarchie
En grande partie automatique Le compilateur décide, par une analyse statique du programme, quelles données vont être temporairement conservées dans des registres, et génère les instructions de transfert La CPU détermine dynamiquement, au cours de l’exécution, quelles données de la mémoire centrale vont être placées dans le cache Le système d’exploitation décide de transférer entre la mémoire centrale et le disque des portions de programmes ou de données

8 Cache Un élément critique de la hiérarchie mémoire
Taille réduite, comparée à celle de la mémoire centrale Vitesse d’accès proche de celle du processeur, coût élevé Contient des copies de parties de la mémoire centrale Principe de fonctionnement Un accès à la MC entraîne le transfert d’un bloc vers le cache (principe de localité) Les éléments du bloc sont accessibles de manière performante Du fait de la rapidité nécessaire, la gestion du cache est entièrement réalisée en matériel (invisible à l’OS ou aux applications)

9 Aspects de la gestion du cache
D’où viennent les données ? Associer à chaque bloc du cache son adresse MC Politique de transfert des blocs Taille des blocs Quel bloc “évacuer” pour en placer un nouveau ? A quel moment réécrire en mémoire les données modifiées ? Taille et technologie du cache Petit, rapide et cher, ou grand, meilleur marché, et plus lent ? Un/deux caches dans la hiérarchie ? Séparer instructions et données ?

10 Algorithme de gestion du cache
Mappage direct Le mot d’adresse xxxxYxxx se retrouve dans le bloc Y du cache Simple, rapide, efficace à mettre en œuvre Très inefficace quand deux blocs de MC se mappent au même endroit lourde pénalité en temps d’exécution Mappage associatif On utilise une mémoire associative, une entrée par bloc de cache A chaque bloc est associée sa position en mémoire Recherche d’un bloc à travers la mémoire associative Algorithmes de remplacement

11 Note : mémoire associative
Accès par contenu On recherche une valeur dans la mémoire La mémoire fournit l’adresse où se trouve la valeur La recherche s’effectue simultanément sur tous les éléments de la mémoire Dispositif matériel de coût élevé, conçu spécifiquement pour chaque application Plus complexe Pas d’utilisation en grande quantité

12 Algorithmes de remplacement
Cas du seul mappage associatif Moins récemment utilisé (LRU, least recently used) File (FIFO, first in, first out) Moins fréquemment utilisé (LFU, least frequently used) Aléatoire (Random) Réécriture des blocs modifiés Écriture immédiate (Write through) Conformité cache/MC, écritures multiples coûteuses Écriture différée (Write back) Incohérence possible cache/MC [ex: DMA disque]

13 Autres aspect de la gestion des caches
Tailles relatives blocs, cache, MC Bloc : 4 à 8 “unités d’accès” de la CPU Cache : 1/1000 de la taille MC Localisation du cache Sur la CPU (L1, level one) 80486 : 8 ko Pentium : 16 ko Power PC [Motorola] : 64 ko Cache de second niveau (L2, level two) Carte mère, à côté du processeur : 512 à 1024 ko

14 Les unités de gestion de la mémoire
…Ou MMU, Memory Management Units Résoudre un problème récurrent : les trous de mémoire Comment rassembler de l’espace libre ? Comment déplacer des blocs de mémoire utilisée Comment mettre à jour des adresses dans un programme ? Intermédiaire entre adresses logique et physique Adresse logique : ce que voit et manipule le programme Adresse physique : où est réellement conservée la donnée

15 Que va offrir une MMU ? Outil matériel pour mieux gérer la mémoire physique d’une machine Simplifier la gestion d’un ensemble de programmes Simplifier la gestion de la mémoire au sein d’un programme Offrir une protection entre programmes, et au sein d’un programme Permettre un partage physique et logique de mémoire entre plusieurs programmes Simuler une mémoire physique “plus grande”

16 Segmentation L’espace d’adressage logique d’un programme est partagé en segments contigus Transparent au programme Les segments sont de tailles différentes [multiples de 2k octets] Informations nécessaires pour chaque segment adresse “logique” de début du segment adresse physique effective du segment taille du segment informations diverses : n° programme, R/W, modifié, etc… c.f. poly : le Z8010, pp 58-59

17 Pagination Adresse logique Numéro de page Déplacement Une segmentation où tous les segments ont même longueur - le dispositif le plus fréquent. Taille typique : 4 à 8 ko. Traduction Adresse physique

18 Mémoire virtuelle Espace logique plus grand que l’espace physique
Pour l’ensemble des programmes Au sein de chaque programme L’espace logique est mappé sur un espace physique en mémoire secondaire : le “swap”, portion de disque Les pages sont transférées entre la mémoire physique et le disque Géré par le système d’exploitation “Faute de page”

19 Problèmes Taille de la table des pages Algorithmes de gestion
4 Go adressables, pages de 4 ko => 1M d’entrées… Coût de cette table… table associative : numéro logique/numéro physique matériel : équivalent de 8 Mo de mémoire => énorme solution mixte : hard+soft tables à deux niveaux, table pour chaque programme cache rapide dans la CPU : TLB, Translation Lookaside Buffer ; 32 entrées, 98% de réussite Algorithmes de gestion Complexes : LRU, FIFO, Not Recently Used Phénomène de thrashing : compétition pour la MC

20 La mémoire sous DOS Vision DOS traditionnelle
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ROM BIOS libre ROM BIOS 2 RAM vidéo RAM vidéo 2 RAM Vision DOS traditionnelle 1 Mo divisée en 16 segments de 64 ko 10 segments de mémoire RAM 0 à 640 ko 1 segment ROM pour le BIOS 1 segment RAM vidéo (VRAM) segments “libres” compléments BIOS ou VRAM cartouches enfichables

21 “Types” de mémoire Mémoire conventionnelle : 640 premiers ko
Mémoire haute : de 640 à 1024 ko Mémoire étendue : au delà de 1024 ko Extended Memory : de 16 Mo (80286) à 4Go (80386) Expansions mémoire Expanded memory ; commutation de bancs “Norme” LIM/EMS : Lotus/Intel/Microsoft EM Specification version 3.2 et 4.0

22 Utilisation de la mémoire sous DOS
Vision utilisateur : allocation & libération Allocation par la primitive 48h ; bx = taille demandée [16 octets] Libération par la primitive 49h ; es:0 = adresse du bloc à libérer Les blocs libres contigus sont rassemblés pour former un bloc plus gros “Paramétrer” la gestion de la mémoire Fonction 58h : choisir first/best/last fit, high/low first fit : le premier bloc trouvé de taille suffisante est alloué best fit : le bloc de la taille minimale est alloué last fit : comme first fit, en partant de la fin de la liste high/low : dans quelle mémoire allouer

23 Types d’adressage E/S “traditionnelles” E/S “mappées”
Mémoire d’échange distincte de la mémoire centrale Instructions spéciales pour la réalisation des E/S Mécanisme de transfert avec la MC E/S “mappées” Mémoire d’échange et mots de commande sont visibles dans l’espace d’adressage du processeur Les opérations d’E/S se traduisent par des lectures et écritures en MC “Perte” d’une portion de la MC

24 Interface programmée La CPU réalise la plus grosse partie du travail
Lancement d’une commande paramètres spécifiques, données éventuelles Attente d’un changement d’état Lecture de l’état (“status”) du périphérique Récupération des données, ou gestion de l’erreur Poursuite par la CPU du programme courant Caractéristiques Simple [logiciel, matériel], synchrone, inefficace

25 E/S gérées par interruptions
Lancement synchrone des opérations La CPU s’adresse au module d’E/S pour initialiser l’opération Pendant l’E/S, la CPU peut continuer les traitements en cours Le module d’E/S assure la gestion des opérations Quand l’E/S est achevée, il le signale à la CPU en provoquant une interruption La CPU reconnaît l’interruption, et la traite à la fin de l’instruction en cours Récupération des données

26 E/S en accès direct mémoire
Décharger “encore plus” la CPU Lancement synchrone des opérations Appel au module E/S spécification de l’opération et des paramètres spécification d’une adresse mémoire et d’un nombre d’éléments La CPU travaille pendant les opérations d’E/S L’interruption indique la fin du transfert et la disponibilité des données Le module d’E/S utilise le bus pour lire/écrire en MC DMA : direct memory access

27 Interfaces externes Ports E/S série et parallèle
Imprimantes, modems BUS E/S à grande vitesse SCSI, ESDI, IDE… Disques,lecteurs CD-Rom, scanners Ethernet Réseau Bus série P1394 Bus d’instrumentation : HP-IB, IEEE-488, etc.

28 Ports d’E/S “lents” Port série Port parallèle Norme RS-232
1 fil émission, 1 fil réception, 1 masse, 1 terre, 5 fils contrôle Norme RS-422 (proche RS-232) Norme MIDI [Musical Instrument Digital Interface] 1 fil émission, 1 fil réception, 1 masse Interfaces “propriétaires” [souris, clavier] Port parallèle Interface “Centronics” 8 fils données, 1 masse, 1 signal “busy”, 1 signal “strobe]

29 Norme RS-232C / V.24 Spécifications mécaniques, électriques, fonctionnelles V.24 du CCITT [Comité Consultatif International Télégraphique & Téléphonique] = RS-232C de EIA [Electronic Industries Association] Circuit UART : Universal Asynchronous Receiver Transmitter Octets indépendants Sérialisation 7/8 bits données bits start, stop 25 broches Débit : 110, 300, 1200… bauds 1 : Terre de protection 2 : Transmission 3 : Réception 4 : Demande pour émettre 5 : Prêt à émettre 6 : Poste de données prêt 7 : Masse 8 : Détection de porteuse 20 : Terminal de données prêt

30 Représentation des signaux
Modulation numérique Modulation en amplitude Modulation en fréquence Modulation en phase

31 Bus SCSI - Small Computer System Interface
SCSI-1 [Apple, 1984] 8 bits de données Horloge à 5 MHz ; 5 MB/seconde 8 “éléments” dont la CPU => 7 périphériques SCSI-2 Standard actuel Largeur du bus de 16 ou 32 bits Horloge à 10 MHz Grande variété de périphériques

32 Ethernet Bus à 10 ou 100 Mb/s, pour réseau local
Câble coaxial ou paire torsadée Équipements dotés d’un numéro unique sur 48 bits Message : paquet de 128 à 1530 octets [0.1 à 1.5 ms] 1024 stations [transducteur], 300 à 1000 m Pas de contrôle central : les stations écoutent et réémettent si nécessaire collisions détectées par l’émetteur réémission au bout d’un temps aléatoire Interconnexions : réémetteurs, filtres ou passerelles

33 Ethernet - technologie
Aspect électrique propagation des ondes électro-magnétiques = 200,000 km/s phénomènes d’écho aux extrémités Connexion des stations R Transceiver Station

34 Ethernet - collisions S2 S1 T1 T5 T6 T2 T3 T4 T7 T8
T1, T2 : les stations S1 et S2 envoient un message T3 : S2 détecte une collision due à l’émission de S1, arrête d’émettre en T4 T5 : S1 détecte la collision due à l’émission de S2, arrête d’émettre en T6 T7, T8 : le médium apparaît “libre” aux stations S1 et S2

35 P1394 - Bus série haute performance
Liaison série haute vitesse, faible coût Ordinateurs, Électronique générale 25 à 400 Mbps [3 à 50 MB] Jusqu’à 63 unités physiques Avec des “bridges”, jusqu’à 1022 bus interconnectés Communication par 3 niveaux de protocoles: Physique, liaison, transaction

36 Disques magnétiques Aspects technologiques
Support magnétique tournant sous une tête de lecture Disquette : 3.5 pouces, capacité 800ko, 1.2, 1.44 ou 2.88 Mo, 2 faces Disque dur : de 80 Mo à 10 Go, 3.5, 5 ou 8 pouces. 1 tête par face magnétisée, 1 ou + plateaux la tête se déplace le long d’un rayon la rotation du disque sous la tête détermine une piste 1 face = ensemble de pistes concentriques cylindre : ensemble de pistes se trouvant simultanément sous les têtes

37 En-tête et numéro de secteur
Pistes et secteurs Piste : partagée en plusieurs secteurs Disquette DD : 80 pistes/face, 9 secteurs de 512 octets/piste = 720 ko Secteur : “unité de lecture”, 256 à 4096 octets utiles vue “déroulée” d’une piste : secteurs et “gaps” numérotation logique des secteurs  ordre physique : “entrelacement” ex : En-tête et numéro de secteur Partie utile Checksum

38 Le travail du contrôleur disque
Réaliser les opérations d’entrées-sorties Lectures/écriture de “secteurs” Gérer des numéros de secteurs “logiques”, 0 à n-1 pistes, têtes et secteurs physiques gestion des secteurs défectueux réalisé au “formatage” du disque remplacer les secteurs défectueux par des secteurs “de réserve” implique une “zone critique” du disque le disque est inutilisable si la zone critique est défectueuse

39 Disque : opérations de “haut niveau”
Fichier Suite séquentielle d’octets désignée par un nom Accès séquentiel, direct, indexé, etc… Caractéristiques : taille, date création/modification, droits… Gérer un ensemble de fichiers : “file system” Organisation “à plat” [Macintosh HSFS version 1] Organisation hiérarchiques [Dossiers imbriqués : DOS, UNIX] Opérations : Créer, déplacer, renommer, détruire des fichiers, modifier leurs attributs Lire, écrire…

40 Un exemple : DOS 3.3 Numérotation des secteurs sur 16 bits
[32 bits en DOS 4.0] Taille max : * 512 octets, soit 32 Mo. Pas un problème pour les disquettes Les disques dur peuvent être divisés en “partitions” de 32 Mo. Organisation d’une partition : Secteurs “réservés”, tables d’allocation, répertoire racine Données Secteur “cachés”

41 Secteur 0 : “Boot”

42 Table d’allocation des fichiers [FAT]
1 ou plusieurs exemplaires, secteurs 1 à n Entrées de 12 (avant DOS 3.0) ou 16 bits Chaque entrée est associée à un cluster Un cluster est l’unité d’allocation 1 ou 2 secteurs pour un floppy, 4 à 64 pour un disque dur Valeurs possibles des entrées : 0000h : cluster libre ; 0001h : entrée invalide 0002h à FFEFh : cluster utilisé, pointeur vers cluster suivant du fichier FFF0h à FFF6h : “réservé” FFF7h : le cluster contient un secteur endommagé FFF8h à FFFFh : le cluster est le dernier du fichier

43 Racine, données et secteurs cachés
Racine : un répertoire (taille indiquée dans sect. 0) Entrée de 32 octets : “nom” du disque Entrées de 32 octets Données : taille calculable Taille totale, moins S0, racine, FATs et Secteurs cachés Secteurs cachés Secteurs non inclus dans la zone données pour des raisons de formatage, limitations, etc Peuvent indiquer la présence de partitions supplémentaires

44 Répertoire Structure Attributs : 1 si… Octets Contenu
0-7 Nom du fichier / 8 car. nom du disque 8-10 Extension / 3 car. nom du disque 11 Attributs Inutilisés Heure création Date création Numéro du premier cluster Nombre d’octets / 0 (répertoire/volume) bit 0 : Read-only bit 3 : décrit un volume bit 1 : fichier caché bit 4 : décrit un répertoire bit 2 : fichier système bit 5 : modifié depuis back-up

45 Heure et Date, premier octet
Premier octet : valeurs spéciales bits : heure (0-23) bits 10-5 : minute (0-59) bits 4-0 : seconde/2 (0-29) bits 15-9 : années depuis 1980 (0-127) bits 8-5 : mois (1:janvier, 12:décembre) bits 4-0 : jour (1 à 31) E5h : entrée correspondant à un fichier effacé 00h : entrée libre (plus d’entrée utilisée ensuite)

46 Types de fichiers : conventions
DOS (suffixe unique, 3 car. max) .c .h : fichiers source C .COM .EXE : fichiers de commande, exécutable Unix, Mac : un ou + suffixes .shar .tar shell archive, tape archive .Z .gz .zip fichier comprimé par compress, gzip ou pkzip .uu .hqx fichier encodé par uuencode ou binhex ex : toto.tar.gz.hqx .gif .jpeg .jpg .tiff .xmb : fichiers image .ps .tex .dvi .man : postscript, TeX, DVI, man

47 Fichiers : opérations du DOS
Création de fichier Ouverture de fichier Fermeture de fichier Note : fermer les fichiers dès que possible Les fichiers ouverts peuvent être endommagés en cas de coupure de courant, reset machine, etc. Lecture, écriture, positionnement dans un fichier Recherche d'un fichier conforme à un schéma Destruction, renommage d'un fichier

48 Fichiers : autres opérations du DOS
Lire/changer les attributs Lire/modifier date et heure de modification Création de fichier temporaire Duplication d’un file handle Gestion des répertoires Création, destruction, déplacement Choix du répertoire par défaut


Télécharger ppt "Cours Architecture des Systèmes Informatiques"

Présentations similaires


Annonces Google