Title: Cours Architecture des Syst
1Cours Architecture des Systèmes Informatiques
2Plan 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
3Aspects de lutilisation de la mémoire
- On na pas besoin de toute la mémoire en même
temps - Code du programme la partie en cours
dexécution - Les données utilisation souvent localisée
- dans le temps et lespace 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)
4Localité des références
- Concept de localité des références
- Sur un court laps de temps, le nombre dobjets
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 ?
5Mémoire les performances
- Linformatique 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 lutilisation de la mémoire ?
- Notion de hiérarchie mémoire
- Solution au dilemme coût / performances
6Hié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
7Gestion 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
lexécution, quelles données de la mémoire
centrale vont être placées dans le cache - Le système dexploitation décide de transférer
entre la mémoire centrale et le disque des
portions de programmes ou de données
8Cache
- Un élément critique de la hiérarchie mémoire
- Taille réduite, comparée à celle de la mémoire
centrale - Vitesse daccè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 dun 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 à lOS ou aux applications)
9Aspects de la gestion du cache
- Doù 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 ?
10Algorithme de gestion du cache
- Mappage direct
- Le mot dadresse 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 dexé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 dun bloc à travers la mémoire
associative - Algorithmes de remplacement
11Note mémoire associative
- Accès par contenu
- On recherche une valeur dans la mémoire
- La mémoire fournit ladresse où se trouve la
valeur - La recherche seffectue 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 dutilisation en grande quantité
12Algorithmes 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
13Autres aspect de la gestion des caches
- Tailles relatives blocs, cache, MC
- Bloc 4 à 8 unités daccè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
14Les 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 lespace 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
15Que va offrir une MMU ?
- Outil matériel pour mieux gérer la mémoire
physique dune machine - Simplifier la gestion dun ensemble de programmes
- Simplifier la gestion de la mémoire au sein dun
programme - Offrir une protection entre programmes, et au
sein dun programme - Permettre un partage physique et logique de
mémoire entre plusieurs programmes - Simuler une mémoire physique plus grande
16Segmentation
- Lespace dadressage logique dun 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
17Pagination
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
18Mémoire virtuelle
- Espace logique plus grand que lespace physique
- Pour lensemble des programmes
- Au sein de chaque programme
- Lespace 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 dexploitation
- Faute de page
19Problèmes
- Taille de la table des pages
- 4 Go adressables, pages de 4 ko gt 1M dentrées
- Coût de cette table
- table associative numéro logique/numéro
physique - matériel équivalent de 8 Mo de mémoire gt
énorme - solution mixte hardsoft
- 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
20La 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
21Types 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
22Utilisation 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 es0 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
23Types dadressage
- 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 lespace dadressage du processeur - Les opérations dE/S se traduisent par des
lectures et écritures en MC - Perte dune portion de la MC
24Interface programmée
- La CPU réalise la plus grosse partie du travail
- Lancement dune commande
- paramètres spécifiques, données éventuelles
- Attente dun changement détat
- Lecture de létat (status) du périphérique
- Récupération des données, ou gestion de lerreur
- Poursuite par la CPU du programme courant
- Caractéristiques
- Simple logiciel, matériel, synchrone, inefficace
25E/S gérées par interruptions
- Lancement synchrone des opérations
- La CPU sadresse au module dE/S pour initialiser
lopération - Pendant lE/S, la CPU peut continuer les
traitements en cours - Le module dE/S assure la gestion des opérations
- Quand lE/S est achevée, il le signale à la CPU
en provoquant une interruption - La CPU reconnaît linterruption, et la traite à
la fin de linstruction en cours - Récupération des données
26E/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 lopération et des paramètres
- spécification dune adresse mémoire et dun
nombre déléments - La CPU travaille pendant les opérations dE/S
- Linterruption indique la fin du transfert et la
disponibilité des données - Le module dE/S utilise le bus pour lire/écrire
en MC - DMA direct memory access
27Interfaces 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 dinstrumentation HP-IB, IEEE-488, etc.
28Ports dE/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
29Norme 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
30Représentation des signaux
- Modulation numérique
- Modulation en amplitude
- Modulation en fréquence
- Modulation en phase
31Bus 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 gt 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
32Ethernet
- Bus à 10 ou 100 Mb/s, pour réseau local
- Câble coaxial ou paire torsadée
- Équipements dotés dun 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 dun temps aléatoire
- Interconnexions
- réémetteurs, filtres ou passerelles
33Ethernet - 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
34Ethernet - 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
35P1394 - 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
36Disques 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 dun 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
37Pistes 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 dune piste secteurs et
gaps - numérotation logique des secteurs ? ordre
physique entrelacement - ex 0 4 1 5 2 6 3 7
38Le travail du contrôleur disque
- Réaliser les opérations dentré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
39Disque opérations de haut niveau
- Fichier
- Suite séquentielle doctets 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
40Un 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 dune partition
- Secteurs réservés, tables dallocation,
répertoire racine - Données
- Secteur cachés
41Secteur 0 Boot
42Table dallocation 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 lunité dallocation
- 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
43Racine, 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
44Répertoire
45Heure et Date, premier octet
- Heure
- Date
- Premier octet valeurs spéciales
E5h entrée correspondant à un fichier
effacé 00h entrée libre (plus dentrée utilisée
ensuite)
46Types 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
47Fichiers 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
48Fichiers autres opérations du DOS
- Lire/changer les attributs
- Lire/modifier date et heure de modification
- Création de fichier temporaire
- Duplication dun file handle
- Gestion des répertoires
- Création, destruction, déplacement
- Choix du répertoire par défaut