1 / 48

Cours Architecture des Systèmes Informatiques

Cours Architecture des Systèmes Informatiques. 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.

ward
Download Presentation

Cours Architecture des Systèmes Informatiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Registres : 0 ns Hiérarchie de mémoire 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 • 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 • 890486 ; 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. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ROM BIOS libre libre ROM BIOS 2 RAM vidéo RAM vidéo 2 RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM La mémoire sous DOS • 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” • 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 • 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. 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 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

  30. 0 1 0 0 1 0 1 1 0 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. R R Transceiver Station 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

  34. T1 T5 T6 T7 S1 T2 T3 T4 T8 S2 Ethernet - collisions 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 setrouvant simultanément sous les têtes

  37. En-tête et numéro de secteur Partie utile Checksum 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 : 0 4 1 5 2 6 3 7

  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 : 65536 * 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. Octets Contenu 0-7 Nom du fichier / 8 car. nom du disque 8-10 Extension / 3 car. nom du disque 11 Attributs 12-21 Inutilisés 22-23 Heure création 24-25 Date création 26-27 Numéro du premier cluster 28-31 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 Répertoire • Structure • Attributs : 1 si…

  45. bits 15-11 : 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) Heure et Date, premier octet • Heure • Date • Premier octet : valeurs spéciales 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

More Related