1 cours architecture des systèmes informatiques. 2 plan: mémoire et périphériques aspects...
Embed Size (px)
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 localesdans le temps : allocation/libération dynamiqueutilisation 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 Cache 10ns
RAM : 50ns
Disque magnétique 10ms
Disque magnéto-optique 500msBande magnétique minutes
Registres : 0 ns
Coû
t et V
itess
e

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 koPentium : 16 koPower 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
Une segmentation où tous les segments ont même longueur - le dispositif le plus fréquent.
Taille typique : 4 à 8 ko.
Adresse logique
Numéro de page Déplacement
Adresse physique
Traduction

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 physiquematériel : équivalent de 8 Mo de mémoire => énormesolution 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
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 VRAMcartouches enfichables
151413121110 9 8 7 6 5 4 3 2 1 0
ROM BIOSlibrelibre
ROM BIOS 2RAM vidéo
RAM vidéo 2RAMRAMRAMRAMRAMRAMRAMRAMRAMRAM

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érationAllocation 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émoireFonction 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
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 protection2 : Transmission3 : Réception4 : Demande pour émettre5 : Prêt à émettre6 : Poste de données prêt7 : Masse8 : Détection de porteuse20 : Terminal de données prêt

30
Représentation des signaux
0 1 0 0 1 0 1 1 0
•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’émetteurréémission au bout d’un temps aléatoire
• Interconnexions :réémetteurs, filtres ou passerelles

33
Aspect électriquepropagation des ondes électro-magnétiques = 200,000 km/sphénomènes d’écho aux extrémités
Connexion des stations
Ethernet - technologie
R 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 messageT3 : S2 détecte une collision due à l’émission de S1, arrête d’émettre en T4T5 : S1 détecte la collision due à l’émission de S2, arrête d’émettre en T6T7, 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 piste1 face = ensemble de pistes concentriques cylindre : ensemble de pistes se
trouvant simultanément sous les têtes

37
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
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 : 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”Adresse
00h03h0Bh0Dh0Eh10h11h13h15h16h18h1Ah1Ch1Eh
Taille3822212212222
482
NatureSaut à la procédure de bootFabriquant, versionNombre d'octets par secteurNb. de secteurs par clusterNb. de secteurs réservésNombre de FATsNb. d'entrées dans la racineNb. de secteurs totalType du supportNb. de secteurs par FATNb. de secteurs par pisteNb. de têtes lecture/écritureNb. de secteurs cachésProcédure de boot, 55h, AAh

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 Contenu0-7 Nom du fichier / 8 car. nom du disque8-10 Extension / 3 car. nom du disque11 Attributs12-21 Inutilisés22-23 Heure création24-25 Date création26-27 Numéro du premier cluster28-31 Nombre d’octets / 0 (répertoire/volume)
bit 0 : Read-only bit 3 : décrit un volumebit 1 : fichier caché bit 4 : décrit un répertoirebit 2 : fichier système bit 5 : modifié depuis back-up

45
Heure et Date, premier octet Heure
Date
Premier octet : valeurs spéciales
bits 15-9 : années depuis 1980 (0-127)bits 8-5 : mois (1:janvier, 12:décembre)bits 4-0 : jour (1 à 31)
bits 15-11 : heure (0-23)bits 10-5 : minute (0-59)bits 4-0 : seconde/2 (0-29)
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 possibleLes 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