Cours architecture des syst mes informatiques
This presentation is the property of its rightful owner.
Sponsored Links
1 / 48

Cours Architecture des Systèmes Informatiques PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cours architecture des syst mes informatiques

Cours Architecture des Systèmes Informatiques


Plan m moire et p riph riques

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


Aspects de l utilisation de la m moire

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)


Localit des r f rences

“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 ?


M moire les performances

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


Hi rarchie de m moire

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


Gestion de cette hi rarchie

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


Cache

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)


Aspects de la gestion du cache

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 ?


Algorithme de gestion du cache

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


Note m moire associative

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é


Algorithmes de remplacement

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]


Autres aspect de la gestion des caches

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


Les unit s de gestion de la m moire

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


Que va offrir une mmu

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”


Segmentation

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


Pagination

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


M moire virtuelle

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”


Probl mes

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


La m moire sous dos

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


Types de m moire

“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


Utilisation de la m moire sous dos

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


Types d adressage

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


Interface programm e

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


E s g r es par interruptions

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


E s en acc s direct m moire

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


Interfaces externes

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.


Ports d e s lents

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]


Norme rs 232c v 24

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


Repr sentation des signaux

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


Bus scsi small computer system interface

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


Ethernet

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


Ethernet technologie

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


  • Ethernet collisions

    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


    P1394 bus s rie haute performance

    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


    Disques magn tiques

    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


    Pistes et secteurs

    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


    Le travail du contr leur disque

    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


    Disque op rations de haut niveau

    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…


    Un exemple dos 3 3

    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”


  • Secteur 0 boot

    Secteur 0 : “Boot”


    Table d allocation des fichiers fat

    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


    Racine donn es et secteurs cach s

    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


    R pertoire

    OctetsContenu

    0-7Nom du fichier / 8 car. nom du disque

    8-10Extension / 3 car. nom du disque

    11Attributs

    12-21Inutilisés

    22-23Heure création

    24-25Date création

    26-27Numéro du premier cluster

    28-31Nombre 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…


    Heure et date premier octet

    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)


    Types de fichiers conventions

    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


    Fichiers op rations du dos

    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


    Fichiers autres op rations du dos

    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


  • Login