ARCHITECTURE DES MACHINES V. Vigneron [email protected] Univ. Evry Val d’Essonne Jan. 25, 2013 Approche des blocs fonctionnels (Rappel) UNITE CENTRALE Unité de commande Unites de calcul Unites d’echanges MEMOIRE CENTRALE Instructions Données Peripheriques Figure 1 – Structure schématique d’un système informatique. – L’Unité P Centrale (UC) → Modèle de Von Neuman – 6= d’entités physiques, mais – unité de traitement (microprocesseur) – + la mémoire centrale – L’Unité de Calcul (UAL) ou Unité Arithmétique et Logique = opérations arithmétiques+logiques – L’Unité de Commande : gère le bon déroulement des programmes en cours. – reçoit l’instruction à réaliser – réparti les ordres aux divers organes – va chercher l’instruction suivante grâce à un registre (compteur ordinal 1 ). – La Mémoire Centrale (MC) : ensemble de cellules (de mêmes tailles, le mot mémoire 2 ) où on range l’information – L’Unité d’échange : gère les tranferts des informations entre l’unité centrale et l’environnement du système informatique (disques durs, imprimantes, écran,. . . ). – Les périphériques : très nombreux et variés. – ceux qui émettent des info – ceux qui en reçoivent UAL+UC = Unité Centrale = unité de traitement = CPU (Central Processor Unit) Unité Centrale de traitement Un programme = suite d’instructions qui traitent des données une instruction = opération élémentaire d’un langage de programmation = plus petit ordre que peut comprendre un ordinateur. 1. Comment est constituée une instruction ? 2. Comment est-elle prise en charge ? 3. Comment est-elle exécutée ? 4. Comment évoluent les données ainsi traitées ? Exemple : addition de la donnée A avec la donnée B basic Let C = A + B cobol compute C = A + B Assembleur Z80 ADD A,B se traduit par la suite binaire 10000001. L̀arge On trouve toujours 2 parties – ce qu’il faut faire comme action, – avec quelles données la réaliser. Les instructions sont représentées sous forme d’éléments binaires 0 ou 1. Langage evolue (basic,cobol,pascal) Compilateur Langage non−evolue Assembleur (depend du processeur : 68000, 80386,80486,...) Instruction en binaire 0100011010101110 Microcommandes Figure 2 – Transformation langage évolué → série binaire. L’instruction se traduit dans l’UC par une suite ordonnée de commandes appelées microcommandes 3 . ZONE OPERATION Ce qu’il faut faire ZONE DONNEES Avec quoi le faire – la zone opération : permet de savoir – quelle opération elle doit réaliser – quels éléments mettre en œuvre ZONE OPERATION Code operation Code complementaire Ce qu’il faut faire ZONE DONNEES Avec quoi le faire – la zone adresse : contient l’adresse d’une zone de données. Exemple : l’adresse FB80. Une des 2 adresses est une adresse implicite, souvent l’accumulateur. L’unité de commande rôle ? – décode l’instruction en cours, – lance les microcommandes aux composants, cherche la nouvelle instruction et recommence. Composants de l’unité centrale : – Le registre d’instruction : charge l’instruction à traiter Microcommandes Registre d’etat +1 Séquenceur Compteur ordinal Decodeur Code operation Zone adresse Registre d’instruction Figure 3 – Schéma simplifié de l’unité de commandes. – le séquenceur : les microcommandes respectent une chronologie précise selon le type d’instruction à exécuter. Cette "chronologie" est rythmée par un quartz oscillant à une fréquence entre 20 et 1000 MHz. C’est le composant qui émet ces microcommandes selon le code instruction de l’instruction – le registre d’état : mémorise l’état des composants et l’historique des opérations déjà exécutées, grâce à des indicateurs (flags ou drapeaux 4 ). – le compteur ordinal : registre spécialisé chargé automatiquement par le système lors du lancement d’un programme avec l’adresse mémoire de la première instruction du programme à exécuter. A chaque fois qu’une instruction a été chargée et s’apprête à être exécutée, ce compteur est incrémenté pour pointer sur l’adresse de la prochaine instruction à exécuter. L’Unité Arithmétique et Logique composé de circuits logiques (additionneurs, soustracteurs, multiplicateurs, comparateurs logiques,. . . ) selon le degré de technicité du fabricant. UAL+UC = Unité Centrale = unité de traitement = CPU En résumé, cette UC permet : – d’acquérir et décoder les inst. d’un programme – de faire exécuter par l’UAL les opérations arithmétiques et logiques – de gérer les adresses des instructions grâce au compteur ordinal – de mémoriser l’état interne de la machine – de fournir les signaux de commande et de contrôle aux divers composants Fonctionnement (simplifié) de l’UC : Unité Centrale MEMOIRE CENTRALE Compteur ordinal ICO F Accumulateur Bus de Commandes LCO CCO instruction Bus d’adresse Horloge S Sequenceur CAD CRA ADD SUB ET Registre d’etat UAL 1 decodeur code zone operation adresse Registre Instruction 2 CRI PSR operande Registre adresse memoire ECR LEC Registre Mot CEB EDA FFFD FFFE adresses hautes ENM CEA SRM Bus de donnees Exemple : La µ-commande (nommée arbitrairement) LCO pointe sur la liaison qui va du compteur ordinal au bus d’adresses ⇒ autorise tranfert du contenu du compteur ordinal sur le bus d’adresses. 1. Recherche de l’instruction (fetch step) – Le programme à exécuter (Bound Unit) est chargé en mémoire centrale – il occupe des cellules mémoires repérées par leur adresse – Le compteur ordinal est lancé par le système d’exploitation avec l’adresse de la première instruction – le séquenceur recopie le contenu ordinal sur le bus d’adresses (LCO) – l’adresse de la 1ère instruction est transmise (PSR) au registre d’adresse mémoire – LEC autorise la recopie de l’information dans le registre mot (tampon ou buffer) – le contenu du buffer est transféré (LMM) sur le bus de données – la µcommande CRI recopie le ontenu du bus dans le registre instruction, prête à être décodée et exploitée par le séquenceur – ICO incrémente le compteur ordinal qui pointe sur l’adresse de l’instruction suivante 2. Traitement de l’instruction – le décodeur associé au séquenceur analyse la zone opération – il génère une série de microcommandes selon le code opération Exemple : on veut (a) Charger la première donnée 8h à l’adresse F800H dans le registre A (b) Additionner contenu de A avec 4h situé en F810H → résultat remis en A (c) ranger le résultat=Ch en F820H soit le programme en assembleur LD A, (F800H) #Charger A avec le contenu de l’adresse ADD A, (F810H) #Ajouter le contenu de l’adresse F810H à celui de A LD (F820H),A #Ranger à l’adresse F820H ce qui est en A se présente sous la forme d’un code machine 3A F8 00 C6 F8 10 32 F8 20 Les adresses de stockages sont arbitraires. 08 F800h 04 F810h 3A F8 00 C6 F8 10 32 F8 20 FB00h FB01h FB02h Figure 4 – Etat de la mémoire avant exécution du programme. Les données – se présentent aux entrées de l’UAL – sont traitées – le résultat est fourni en sortie Les Bus 1. Le bus de données (Data Bus ) : transfert les données entre les composants du système. – Mots de 8,16,32 ou 64 bits selon le nombre de fils sur le bus. – Les info peuvent circuler en parallèle et dans les deux sens (bidirectionnel). 2. Le bus d’adresse (Adress Bus ) : véhicule des adresses (de l’instruction à charger, de la donnée,. . . ) Détermine la taille de la mémoire directement adressable (adressage physique). Exemple : bus de largeur 16 bits ⇒ 216 combinaisons ≡ 2Go de mémoire physique 3. Le bus de commandes (Control Bus ) : circulation du séquenceur vers les divers composants Les modes d’adressage Instructions et données utilisent des zones de mémoire (segments) En fait, une instruction ne tient pas en général sur un seul mot mémoire 5 , mais sur un segment mémoire. Diverses techniques d’adressage permettent de retrouver l’adresse physique de l’information : – adressage immédiat : la partie adresse de l’instruction contient l’opérande luimême : ADD A,1Bh – adressage absolu : le code opération est suivi de l’adresse réelle physique de l’opérande : LD (F805h), A ⇒ range à l’adresse F8O5 le contenu du registre accumulateur – adressage implicite : la zone opérande désigne un registre 6 LD A,C transfert ici le contenu de C dans A. – adressage relatif : situe l’information par rapport à une adresse de référence en indiquant un déplacement (offset) en avant ou en arrière par rapport au contenu du compteur ordinal. Si déplacement codée sur 8 bits ⇒ déplacement petit < 255 adresses mémoires en ± JR NC,025h NC : No Carry= pas de retenue. 2 avantages – amélioration des performances du programme – possibilité d’implanter le programme n’importe où en mémoire car pas d’adresses absolues – adressage indexé : déplacement par rapport au contenu du registre spécialisé (registre d’indax) ADD A,(IX+4h) → Ajoute au contenu de l’accu. la donnée fournie par le registre IX augmentée d’un déplecment de 4 octets – adressage indirect : permet d’accèder à un mot mémoire dans lequel on trouvera l’adresse effective de l’information ADD A,(HL) – adressage symbolique : permet d’affecter à chaque zone un nom symboliqye de son choix (étiquette) JP NC,ETIQ1 où ETIQ1 est un nom symbolique se situant à un endroit précis du programme. Interruptions. Généralités Permet d’arrêter un programme en cours d’exécution sur le processeur pour que celui-ci traite une tâche "plus urgente". ⇒ à la finde cette tâche : reprise du processus interrompu. Quels événements ? coupures d’alimentation, alarmes, périphériques prêts à émettre ou à recevoir des données. . . Types d’interruptions – externe et matérielle par un périphérique – externe et logicielle par un programme – interne par le processeur lui-même lors d’éénements exceptionnels (traps ou exceptions) : 0· , dépassement de capacité, accès anormale de la zone mémoire,. . . ⇓ ∃ Hiérachisation des interruptions Exception vecteur 8088/8086 i286/386 Erreur de division 00h oui oui Code opération invalide 06h oui oui Périphérique non-disponible 07h non oui Segment non-présent 0Bh non oui Segment de pile dépassé 0Ch non oui Erreur de page 0Eh non non/oui Erreur coprocesseur 10h non oui Remarques : – dans µp : ∃ instructions interdisant les interruptions dans certains cas ⇒ interruptions masquables – mais certaines interruptions ne peuvent être interdites. Exemple : IRQ pour coupure de courant ⇒ interruptions non-masquables Reconnaissance/traitement des interruptions Moyuens physiques pour reconnaître la source d’une interruption – IRQ multiniveaux chaque équipement est relié à une entrée d’interruption particulière (simple) ⇒ coûteux en broches d’entrées du proceseur PROCESSEUR Interruption 1 Interruption 2 IRQ 7 – IRQ ligne unique une seule entrée réservée au niveau de l’UC. Quand l’UC reçoit la demande d’IRQ, elle scrute tous les équipements émetteur potentiel (scrutation) – IRQ vectorisé = signal de demande + identificateur. Ce numéro (vecteur) déposé dans le bus de données identifie le périphérique à l’origine de la demande : fourni par un contrôleur dd’interruptions ou par le périphérique lui-même. Interruption 1 Interruption 2 PROCESSEUR Controleur d’interruptions IRQ 7 Les µp de la gamme Intel peuvent recevoir jusqu’à 256 interruptions référencées IRQn. IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 Assignation fixe Horloge timer clavier Assignation habituellement constatée carte écran EGA,VGA,contrôleur d’interruption, scanner, carte son,. . . port série COM2,COM4,modem-fax,CD-ROM port série COM1,COM3,souris-bus,CD-ROM port // LPT2, souris-bus,carte réesau, CD-ROM,carte son, scanner Contrôleur disquette port // LPT1 Horloge temps réel Carte réseau, carte son,. . . IRQ2 redirigée, CD-ROM,carte son/graphique carte résau, CD-ROM,scanner,carte son, contrôleur SCSI carte résau, CD-ROM,scanner,carte son, contrôleur SCSI carte résau, CD-ROM,port souris coprocesseur Traitements des IRQ – première phase : le périphérique transmet une demande d’interruption au contrôleur d’interruption qui la répercute au microprocesseur (demande IRQ2) Interruption 1 Interruption 2 PROCESSEUR Controleur d’interruptions IRQ 7 – deuxième phase : le µp autorise/rejette l’interruption et le contrôleur d’interruption dépose surle bus de données le vecteur relatif à la demande IRQ2 ⇓ – fin de traitement de l’instruction en cours – sauvegarde état du système (contenu des registres, compteur ordinal,. . . ) – forçage du contenu du compteur ordinal ⇒ prend comme nouvelle adresse celle de l’inst. du sous-programme associé à l’IRQ Dépot du vecteur sur le bus de donnees PROCESSEURautorisation Controleur d’interrup. d’interruptions Peripherique – troisième phase : le processeur va chercher en mémoire l’adresse de SP2 – quatrième phase : le processeur se branche sur SP2 REGISTRES REGISTRES SP2 SP1 SP1 SP0 SP0 adresse de SP3 adresse de SP2 adresse de SP1 adresse de SP0 Troisieme phase Table de vectorisation SP2 Quatrieme phase Applications aux microprocesseurs Inteli86 Une carte est repérée par une adresse physique (par exemple 0220h). Le connecteur, placé sur un bus (ISA-AT-ou PCI généralement) n’a pas d’adresse physique propre. une carte un connecteur – l’attribution d’une adresse est faîte à l’installation. Pour les cartes réseaux entre 300h et 340h. – la carte est "pilotée" par un programme spécialement écrit pour cette carte (driver), suffice en .drv ou .vxd,. . . – les canaux DMA sont au nombre de 8 et sont gérés par le chipset canal canal canal canal canal canal canal canal 0 1 2 3 4 5 6 7 Etat libre libre réservé libre libre libre libre libre Usage habituel carte réseau/graphique, scanner carte son, 8bits lecteur disquettes Port imprimante contrôleur mémoire, scanner CD-ROM, scanner, cartes son-16bits CD-ROM, carte son CD-ROM, carte son Fonctions d’un Système d’Exploitation (SE) – Un Système d’exploitation est un intermédiaire entre l’ordinateur et un programme – un SE définit une machine virtuelle plus facile à utiliser que la machine réelle – Gestion des ressources physiques – gestion du processeur et de la mémoire – gestion des périphériques – gestion des entrées/sorties interruptions “accès” à l’information – allocation des périphériques problème de l’interblocage – Gestion de l’information – conservation, partage et protection de l’information – gestion de l’information en mémoire secondaire – fichier : unité de partage et de protection – gestion de l’information en mémoire principale – partage et protection du SE – Avant 1956, la notion de SE n’existait pas – chaque utilisateur réservait la machine et avait tout le matériel à disposition pour l’exécution de son programme – les programmes étaient écrits directement en langage machine – L’utilisateur pouvait interagir avec son programme – mise au point relativement aisée – le taux d’occupation du processeur était bas – le processeur était oisif entre deux exécutions du programme – le processeur était oisif entre le départ d’un utilisateur et l’arrivée du suivant Place du système d’exploitation dans un ordinateur Logiciel Utilisateur Commandes,menus Application langages evolues Assembleur, langages specifiques Systeme d’Exploitation Jeu d’instructions de base Architecture externe Architecture interne Materiel Langage machine Microcode Micro−instructions Signaux electroniques Machine Physique Figure 5 – Vue globale d’un système informatique. Objectifs du SE : – faciliter l’utilisation de la machine en rendant les couches logicielles supérieures aussi indépendantes que possible du matériel : le système rend la machine opérationnelle et augmente son efficacité. – gérer les différentes ressources internes et externes de la machine de façon optimale ⇓ mise à disposition des ressources aux utilisateurs qui les requièrent Le système est donc un gestionnaire de ressources . Figure 6 – Architecture schématique d’un ordinateur. Systèmes de gestion de fichiers (SGF) Un SGF – organise et optimise l’implantation des données sur les disques – permet de retrouver et corriger une zone endommagée – repère certains virus – optimise les performances de l’OS (défragmentation, compression fichiers) Rappel : rapport de mémoire (ns = 10−9 s). – – – – – – 1 1000000 entre temps d’accès disque (1ms) et temps d’accès en FAT (File Allocation Table) : monde de la micro, PC,. . . HPFS (High Performance File System) : surtout avec OS/2 NTFS (Windows NT File System) : uniquement pour Unix CDFS EXT2FS (Linux File System) Système de fichiers Nom de fichiers (en caractères) Répertoires (dossiers) Lecteur logique réparti sur plusieurs disques physique Mirroring Journalisation des activités Type adressage des fichiers sur les volumes Taille max. d’une partition Attribution aux utilisateurs de droits d’accès FAT 8+3 caractères détourné/W in95 non triés non HPFS 254 NTFS 256 Unix illimité BTree non BTree oui non triés non non non 16 bits (32, Win95) oui oui oui oui 64 bits oui 32 bits 2048 Go oui illimité oui 4 Go non oui Table 1 – Comparaisons des différents SGF. Rappels sur le formattage Formater = préparer un disque pour accueillir les informations – Formatage de bas niveau (en usine) subdivise le disqu en pistes (cylindres) et en secteurs (512 Ko). – se base sur les caractéristiques du disque – écrit sur les entêtes de secteurs 1. les adresses appropriées 2. des informations de correction d’erreur – Formatage logique : écrit des informations complémentaires par le biais de la commande format sous DOS. – "numérote" chaque secteur 7 – écriture du secteur d’amorçage des partitions – enregistrement de l’octet d’identification de système (Id System) → table des partitions du disque – informations du SGF sur l’espace disponible, emplacement des fichiers/répertoires,. . . – repérage des zones endommagées Notions de partitions Zone du disque dur – "découpée" pour le rangement des informations (par fdisk sous DOS) – et géré par un SGF (év. différent). Une table des partitions repére ces partitions. C C D E Une seule partition lecteur logique C: Deux partitions Partition 1 : lecteur logique C Partition 2 : lecteurs logiques D et E Disque 0 400 Mo C: FAT 400 Mo Disque 1 800 Mo D: NTFS 500 Mo F: FAT 50 Mo G: FAT 30 Mo H: Unix 220 Mo Table 2 – Exemples de partitionnement – Partition principale (PP) : reconnue par le BIOS (Basic Input Output System) – contient un secteur d’amorçage contenant l’enregistrement MBR (Master Boot Record) ⇒ partition amorçable – MBR (cylindre 0, tête 0, secteur 0) contient table des partitions – contient le gestionnaire de démarrage (Boot Manager) → choix év. entre différents systèmes d’exploitation – Une seule peut-être active. – Partition étendue : espace disque non-définie dans les PP – non-formatée – divisible en lecteurs logiques à son tour – lecteurs logiques (≤ 22) repérées par une lettre qui eux sont formatés (EXT-DOS sous DOS) Partition principale (Boot manager) Pas de lettre de lecteur Partition principale FAT (DOS) C: : Partition principale NTFS (Windows NT) D: lecteur logique FAT E: Partition etendue F: lecteur logique NTFS – Lecteurs logiques : divisent les partitions étendues en sous-groupes ⇒ subdivise un grand disque dur pour maintenir une structure de répertoires assez simple. Disque dur 2 lecteur logique Disque dur 1 Disque dur 3 Figure 7 – L’agrégat de partitions Le système FAT (File Alloction Table) est utilisé sur les machines type compatibles PC (MSDOS, Windows 3.x, Windows 9x 8 , Windows NT,. . . ). – conçue pour gérer des disquettes de faible capacité ⇒ limites – divise le dd en clusters, – de nombre limité – et tous de même capacité (exemple 1024o) – contient la liste de tous ces blocs contenant des parties de fichiers – contient (par ordre) : – le MBR avec la table des partitions – une zone réservée au secteur d’amorçage (Boot Loader) – un exemplaire de la FAT – une copie optionnelle de la FAT – le répertoire principal (Root Directory) – la zone des données et sous-répertoires Sur les disquettes, formatage logique et bas niveau sont confondus. Sous DOS, il n’y avait qu’une seule partition primaire. La fat(fat 12,fat 16,V-fat, fat 32) fat= structure de tables dont les éléments sont des informations (chaînées) sur les unités d’allocation mémoire (appelées clusters). → adresses de blocs codées sur 12, 16,32 bits 212 216 232 264 = = = = 4 096 clusters/volume 65 536 clusters 4 294 967 296 clusters 16 milliards de milliards de clusters DOS DOS Windows 9x NTFS o×1024 – si volume= 64M o ⇒ chaque cluster= 64M65536 = 1Ko – si volume= 640M o ⇒ chaque cluster= 10Ko Fichier1.txt 0002 Fichier2.txt 0005 Fichier3.txt 0007 Exemple de FAT Repertoire Entrees de FAT 0 1 2 3 4 5 6 7 8 9 0003 0004 FFFF 0006 0008 FFFF FFFF . . . Quelle information ? – disponibilité ou non du cluster, – occupation du cluster par un fichier, – défauts,. . . Inconvénients : – perte de place – fragmentation – avec une fat 12 (1 octet 1/2) on peut repérer 212 clusters soit 4096 clusters par volume, cette technique n’est donc utilisée que pour de petits volumes (disquettes) ou on n’a besoin que d’un petit nombre de clusters. – perte de place : cas d’un fichier de 1 caractère (=1 octet) occupant 1 cluster ⇒, on va perdre 4096 − 1 = 4095o. avec 2000 fichiers, on pourrait perdre jusqu’à 40 Mo. Encore pire si on utilise des clusters de 32 Ko. Le moindre autoexec.bat monopolise 32 Ko ! ⇒ éviter les petits fichiers ! ! – A la conception de Windows NT, deux techniques existaient déjà : fat qui montraient ses limites et hpfs pour OS/2 qui permettait de gèrer de gros disques sur 32 bits. NTFS (NT File System) Conçu pour Windows NT – peut fonctioner avec des volumes de type fat (par fat 32) – organisé en couches, indépendantes les unes des autres (Figure) – les pilotes transmettent les requêtes Entrées/Sorties Gestionnaire des entrees/sorties Service du fichier journal Enregistre l’ecriture Pilote NTFS Vide le fichier journal Ecrit dans le cache Gestionnaire de cache Lit/ecrit dans le cache Pilote Tolerance de panne Ecriture/Lecture d’un Volume en miroring Ecriture/Lecture sur le disque Pilote Disque Accede au fichier ou vide le cache Gestionnaire de memoire virtuelle – ntfs collabore avec un gestionnaire de cache – capable de restaurer des fichiers endommagés ou reconstruire volume disque grâce au fichier journal (Log File Service) – ntfs duplique les secteurs vitaux – mode de fonctionnement transactionnel pour sécuriser les volumes – les clusters ntfs numéros LCN (Logical Cluster Number) mémorisés dans une table codée sur 64 bits Taille cluster Taille disque 512o disques ≤ 512M o 1Ko 512M o <disques ≤ 1Go 2Ko 1Go <disques ≤ 2Go 4Ko disques ≥ 512M o – ntfs gère le fichiers dans une BdD relationnelle MFT (Master File Table) / le disque informations standards Nom de fichier Descripteur de securite DONNEES DONNEES Attributs etendus DONNEES Exercices 1. Calculer la place gagnée selon que l’ordre de réservation d’espace fichier sur une machine théorique serait : (a) CREATE FIC1-LRSZ 90-CISZ 256 (b) CREATE FIC2-LRSZ 90-CISZ 512 FIC1 et FIC2 sont les noms de fichiers créés, LRSZ désigne la longueur de l’article du fichier, CISZ (CI SiZe) détermine la taille du CI en octets. On considère pour l’exercice que les articles logiques ne peuvent être fractionnés ce qui n’est pas touours le cas sur des machines réelles ou un même article peut parfois être fractionné entre plusieurs CI, assurant ainsi un remplissage optimum des dîts CI. 2. Le responsable réseau de l’entreprise décide d’acheter un serveur d’application sur lequel seront centralisés les applications bureautique les plus courantes (traitement de texte, tableur, bases de données,. . . ). Ce serveur devra être attaqué par 150 stations simultanément. Quel type de bus proposeriez vous pour connecter le disque dur. La sauvegarde sur bande doit se faire la nuit. Doit elle utiliser le même bus ? Justifiez. 3. Répondez par Vrai ou Faux aux affirmations suivantes – Le bus USB est un bus graphique : Vrai Faux – Le bus AGP permet de connecter des disques durs rapides : Vrai Faux – Le bus SCSI permet de connecter des imprimantes : Vrai Faux 4. A l’aide d’un utilitaire, on relève les caractéristiques suivnates sur un disque dur. Quelle est la taille du secteur en octets ? capacité 850 526 280 octets cylindres 824 têtes 32 secteurs 63/piste 5. quelle est la capacité utile d’un disque dont les caractéristiques sont – 4 têtes – 64 secteurs – 847 cylindres – un secteur fait 1024 octets Solutions 1. (a) Dans un bloc de 256 octets, il est possible de loger 2 articles complets (2 × 90o = 180o). La place inutilisée est donc de 256o − (90o × 2) = 76 octets. Soit une perte de 29 %. (b) Dans un bloc de 512 octets, il est possible de loger 5 articles logiques complets (5 × 90o = 450o). La place inutilisée est donc de 512o − (90o × 5) = 62 octets. Soit une perte de 12 %. On a donc intérêt à "bloquer" un maximum. 2. Le serveur d’applications va devoir faire face à une forte demande d’accès disque, le contrôleur Ultra 2 Wide SCSI semble donc le mieux adapté compte tenu de ses performances et du débit qu’il autorise. En ce qui concerne la sauvegarde sur bande, le problème de la sauvegarde sur bande, le problème peut s’envisager de deux manières : dans la mesure où on ne dispose pas déjà d’un contrôleur SCSI capable de recevoir plusieurs périphériques pourquoi ne pas y connecter la sauvegarde sur bande. Sinon, les performances du SCSI n’étant pas essentielles pour une sauvegarde qui peut prendre toute la durée de la nuit, un simple bus ISA ou PCI pourrait suffire. Tout dépend du volume à sauvegarder. 3. – Faux – Faux – Vrai 4. La réponse est assez simple et se détermine par une suite de divisions. = 1032192 octets – le disque comporte 824 cylindres donc chaque cylindre contient 850526208 824 = 32256 octets – il y a 32 faces utilisées donc chaque piste du disque contient 1032192 32 32256 – chaque piste est divisée en 63 secteurs donc chaque secteur contient 63 = 512 octets 5. On nous indique que le disque de 4 têtes de lecture/écriture : cette information nous fournit le nombre de plateaux du disque qui est sans doute égal à ce nombre divisé par 2. Quoi qu’il en soit, nous avons 4 faces utiles. Ce n’est pas toujours aussi simple dans la mesure où on peut avoir des faces inutilisées sur certains plateaux ou bien encore disposer de plusieurs têtes/plateau. On nous précise ebnsuite 64 secteurs/piste et 1024 octets/secteur. Une piste contient donc 64 × 1024 = 65536octets. 847 cylindres ou 847 pistes c’est finalement ce que contient chaque face utile des disques. Comme chaque piste contient 65 536 octets, une face en contient donc 65536 × 847 = 55508992 octets. Comme nous disposons de 4 faces utiles, nous avons une capacité totale du disque de 55508992× 4 = 222035968 octets, soit environ 212 Mo. Gestion de l’Espace Mémoire techniques de multiprogrammation, environnements graphiques, programmes concurrents pour accèder à la mémoire,. . . ⇒ % taille des mémoire Problèmes des mémoires centrales : – lenteur – taille limitée – swapping :échange entre mémoires auxiliaires (disque, bande,. . . ) et centrale (RAM) – éviter les empietements mémoires entre utilisateurs ⇓ Solutions : – extensions capacité mémoire – accélérer la vitesse globale par des mémoires rapides (cache) – partage multi-utilisateurs Memoire de masse Memoire Centrale 1. le partitionnement fixe (allocation statique de la mémoire) : – découpage de la mémoire en plusieurs partitions – inconvénient : fractionnement des processus 2. le partitionnement dynamique (garbage collector) : – tasse les segments les uns à la suite des autres dès qu’un processus se retire de la mémoire – gain de place – coûteux en temps de traitement Objet 1 Objet 2 Objet 1 Objet 6 Objet 3 Objet 1 Abandon des objets 2 et 5 Transfert des objets 6 et 7 Objet 1 Objet 2 Objet 3 Objet 3 Objet 4 Objet 4 libre Objet 6 Objet 6 libre bloc 1 Objet 3 Objet 3 Objet 3 Objet 4 Objet 4 Objet 7 Objet 5 Objet 1 Objet 6 Objet 4 Objet 4 Objet 1 Objet 7 libre Objet 6 Objet 7 Bloc 2 Ecriture de l’objet 7 en 2 blocs Objet 5 Abandon des objets 2 et 5 Transfert des objets 6 et 7 Objet 7 Tassement 3. la pagination : – découpage de la mémoire en segments eux-mêmes découpés en blocs de 128/256 octets, les pages. – évite tassement des segments – utilise table des pages : gère l’ordre logique des pages composant le segment de programme 4. la segmentation adresse de fin de segment Adresse logique Numero du segment Deplacement Position memoire adressee Adresse de basez du segment Le numero de segment traduit par le segment de gestion memoire donne l’adresse de base du segment Memoire physique – adresses physiques=base+déplacement – stockés dans registre MMU (Memory Management Unit) 5. la mémoire cache (antemémoire) – accélère temps d’accès en anticipant sur la lecture de l’information – cache de premier niveau : intégrée dans la puce du µprocesseur (2×8Ko sur Pentium, 2×16Ko sur NexGen) – cache de second niveau (SRAM) ≈ 256/512Ko sur la carte mère. Trois architecture de cache – direct mapping : cache ↔ mémoire centrale, −→ une adresse du cache ↔ adresse en mémoire centrale – fully associative : conserve les bouts de mémoires les plus utilisées par le µprocesseur. – set associative : + performant, cache divisé en segments pour stocker des données et des instructions Controleur de cache MEMOIRE CENTRALE MICROPROCESSEUR Cache Cache 2eme niveau 1er niveau MEMOIRE AUXILIAIRE Mode d’écriture du cache dans la mémoire centrale – Write through : recopie systèmatique. Contrôleur de cache très sollicité. – Write back : recopie du bloc cache que si modification de la donnée – Write Back Synchrone : + performant – accélère temps d’accès en anticipant sur la lecture de l’information. La plupart du temps, l’instruction a exécuter ou la donnée est proche de celle en cours de traitement. PLutot que de charger instruction par instruction à partir de la mémoire auxiliaire, on essaye de charger un maximum d’instructions et de données à la fois dans une mémoire rapide – utilsation d’un cache ≈ pagination à plusieurs niveaux – Principe : quand une instruction recherche une donnée ou fait appel à une autre instruction, elle recherche cette info. dans la mémoire cache de premier niveau, puis en cas d’échec dans la mémoire secondaire, . . . , puis recherche en mémoire centrale, et enfin on procède à un chargement (swapp in) de la mémoire auxiliaire vers la mémoire centrale, quitte à devoir procéder au rangement (swapp out) d’une appel vers la mémoire auxiliaire. Gestion de la mémoire sous Ms-Dos Un véritable "casse-tête". . . : coçu initialement pour des µp ne pouvant adresser physiquement plus de 1M o ! 2,4,8,...Mo Zone de mémoire étendue High Memory Area 64 Ko Zone de mémoire haute ROM BIOS 1Mo Zone de mémoire supérieure Réservée au système 640 Mo Zone de mémoire conventionnelle RAM Extension mémoire ROM cartouches ROM Basic RAM Video RAM Programmes utilisateurs RAM Système O Ko m zone mémoire Ms-Dos ≈mémoire système (384Ko)+ mmémoire application (640Ko) – mémoire conventionnelle : limitée ⇒ charger au max. la mémoire sup. des variables systèmes (BUFFER, FILES,...) et des drivers (commandes devicehigh ou loadhigh des CONFIG.SYS et AUTOEXEC.BAT) – mémoire supérieure (High Memory) : inutilisables pour les applications découpée en segments UMB de 16 Ko (Upper Memory Blocks) – mémoire étendue (norme LIM ou EMS=Expanded Memory Specification) – normalement pas accessible par les applications Ms-Dos – accès par des utilitaires de gestion de mémoire étendue (HIMEM.SYS ou EMM386.EXE). – découpage en blocs de 16 Ko transférés dans un espace de 64 Ko adressable dans les 640 Ko de la mémoire conventionnelle – mémoire d’expansion : située physiquement sur une carte d’extension mémoire ⇓ pas de distinction sous Windows 95 9 et Windows NT˜ : utilisent un adressage linéaire : accès à toute la plage d’adresse entre 0 et 232 = 4 Go. Les différents Bus bus= ensemble de fils reliant les divers composants de l’ordinateur. 3 types assurent la circulation des informations dans le µp : – bus d’adresse – bus de données – bus de commandes . . . et pour relier le µp à la mémoire : bus d’extension. Caractéristiques – nombre de fils employés – nature des informations véhiculées (données, adresses, commandes) – mode de fonctionnement (synchrone avec le processeur ou non) – "intelligent" (bus master) ou non – parallèle ou série Les différents bus – Bus parallèle – autant de fils que de bits à transmettre – transmission courte distance (coûteux, peu fiable) – utilisé dans l’unité centrale – Bus série 01101100 – – – – bits transmis à tour de rôle sur une seule voie transmission à grande distance codage 0/1 par +V /0 au début, la relation processeur/mémoire pouvait être saturé si le programme faisait de fréquent appels à la mémoire ⇒ canal DMA (Direct Memory Access) d’accès direct à la mémoire – tendance actuelle : "spécialisation" des bus 1. bus processeur ou privé : spécifique au µp 2. bus local ou d’extension : prolonge le bus privé et relie certains composants (mémoire,. . . ) au processeur 3. bus global : relie les différentes cartes processeurs dans une machine multi-processeurs (≈ bus local) 4. bus d’entrées-sorties : communication des périphériques "lents" ≈ entrées/sorties série ou // et bus USB Type Largeur Fréquence ISA EISA MCA VESA PCI SCSI 1 Wide (Fast) SCSI Ultra SCSI Ultra-2 SCSI AGP 16 32 32 32 32 32 32 32 32 32 8-12.5 MHz 8-12.5 MHz 8-12.5 MHz 33 MHz 33 MHz 5 MHz 7 MHz 20 MHz 40 MHz 66 MHz bits bits bits bits bits bits bits bits bits bits Nombre max. de connecteurs 8 18 8 3 10 7 3 7 31 7 Taux de transfert 8 Mo/s 50 Mo/s 50 Mo/s 132 Mo/s 132 Mo/s 20 Mo/s 20 Mo/s 132 Mo/s 80 Mo/s 10 528 Mo/s 11 Table 3 – Caractéristiques des Bus Les différents Bus 1. bus ISA ou PCAT (Industry Standard Architecture) : Mémoire centrale Processeur et mémoire cache Bus processeur Controleur Controleur ISA Bus d’extension ISA (mp 8MHz,16 bits) Controleur graphique – – – – – Controleur disque Controleur entrées/sorties standard le plus répandu (apparaît en 1984 avec IBM PC-AT) synchronisé avec le processeur cartes d’extension configurées matériellement (par micro-switch) processeur 80286, transfert 8M o/s, largeur 16 bits utilise un bus d’extension pour processeurs 32 bits (+ rapide) 2. bus MCA (Micro Channel Architecture) – apparaît en 1987 pour PS/2. – bus "intelligent" 32 bits, asynchrone, 10 MHz – supporte carte munies de leurs propres processeurs, chacune configurable logicielement – supporte jusqu’à 15 controleurs "masterisés" – ne reconnaît pas le format ISA ⇒ surtout utilisé par Ibm 3. bus EISA (Extended Industry Standard Architecture) – apparaît en 1988 pour concurrencer MCA – compatible ISA – configuration logiciellle des cartes d’extension et bus mastering 4. bus VESA (Video Electronics Standard Association) Mémoire centrale Bus processeur Processeur et mémoire cache Controleur Bus d’extension ISA (mp 8MHz,16 bits) Controleur VESA Controleur VESA Controleur VESA Controleur ISA Bus ISA (mp 8 MHz,16 bits) Controleur graphique Controleur disque Controleur entrées/sorties Controleur entrées/sorties Carte modem – norme VLB (Vesa Local Bus) 1.0 apparaît en 1993 pour µp 80486 : bus local 32 bits, extensible à 64 bits. C’est un prolongement du bus processeur – synchrone – peu coûteux – autorise l’utilisation du DMA et le bus mastering – pilote 3 connecteurs – norme VLB 2.0 : bus 64 bits ; débit 264 Mo/s ! – en perte de vitesse face à PCI, compatible avec d’autres µp. 5. bus PCI (Peripheral Component Interconnect) Mémoire centrale Processeur et mémoire cache Bus processeur Controleur PCI Local bus PCI (mp 33 MHz,32/64 bits) Controleur réseau Controleur disque Controleur graphique – – – – Controleur Controleur ISA Bus ISA (mp 8 MHz,16 bits) Controleur entrées/sorties Controleur entrées/sorties Carte modem mémoire norme 1.0 développée par Intel en 1993 indép. du processeur : possède son propre buffer → "pont" PCI compatible avec d’autres architecture de bus (type ISA,. . . ) autoconfigurable (plug and play) : cartes automatiq. détectées et exploitées 6. bus SCSI (Small Computer System Interface) – de plus en plus employé par les constructeurs – supporte divers périphériques – vitesse de transfert entre 4 et 80 Mo/s entre 3 et 12m. – inconvénient : longueur du bus ∝ inversement avec la fréquence. Exemple : UltraSCSI supporte 7 périph. à 1,5m ou 3 périph. à 3m. ⇓ norme actuelle Ultra 2 SCSI-LVD diminue la tension employée (LVD=Low Voltage Differential) : fonctionne en mode "différentiel" ⇒ & parasites électromagnétiques – l’interface Ultra 2 SCSI : contrôleur intelligent pouvant fonctionner en autonome – transfert entre 2 unités SCSI sans intervention mémoire centrale – gestin optimisée des transferts entre périphériques et UC 7. bus USB (Universal Serial Bus) 12 – bus récent, successeur des bus séries et // – supporte 127 périphériques chaînés sur un canal – plug and play → reconnaît automatiquement le périphérique et choisit le "bon" pilote – informations codées en NRZI, débit entre 1,5 à 12 MBps / cables en paire torsadée (` < 5m entre périphériques) – connecteur rectangulaire à 4 broches : fonctionne sur le principe des "transactions" des réseaux locaux, autorisant un dialogue simultané sur le même bus. PID 8 bits PID 8 bits Adresse 7 bits Endpoint 4 bits Numero de Trame 11 bits PID 8 bits Donnees de 1 a 1023 octets PID 8 bits ACK,NAK ou STALL CRC 5 bits JETON CRC 5 bits SOF CRC 16 bits DONNEES ACQUITTEMENT – 1 transaction (=envoi de 1 à 3 paquets) commence par un jeton qui décrit le type et le sens de la transmission et l’adresse du périphérique destinataire. – chaque jeton contient un identificateur de paquet PID (Packet Identificator) de 8 bits : IN lecture d’un périphérique OUT écriture vers un périphérique SOF (Start Of Frame) début d’une trame USB SETUP paquets de commandes – adresse codée sur 7 bits ⇒ 127 périphériques – transmission synchrone ou non 8. bus FireWire-iLink – norme IEEE 1394 dédiée aus périphériques rapides tels que imagerie, PAO,. . . – se présente sous la forme d’une carte d’extension, pas dans la carte mère – intègre modèle OSI 7 couches – plug and play – débits 10 à 20 fois > UB 9. bus AGP (Accelerated Graphics Port) connecteur AGP Pentium II Bus P6 Pentium RAM video Pont AGP Controleur mémoire Chipset PCI/AGP RAM Carte graphique Controleur PCI BUS AGP 528 Mo/s Bus PCI (132 Mo/s) 10. bus récent (1997) spécialisé dans l’affichage 11. relie à travers le chipset le processeur de la carte graphique avec le processeur de l’UC et la mémoire vive 12. mode pipeline ⇒ lecture/écriture simultanées en mémoire 13. décharge la mémoire graphique au profit de la mémoire centrale ⇒ pas de saturation synchrone → un processeur a 33 MHz fonctionnera avec bus VESA synchrone a 33 MHz . CRC : code de contrôle de fin de trame Exemple de transaction entre UC et imprimante : la carte mère envoie un jeton OUT pour indiquer au périphérique une opération d’écriture. Le jeton va être suivi d’un paquet de données DATA0. Le périphérique va répondre par un ACK si la données est bien reçue, un NAQ s’il ne peut recevoir de données (occupé) ou un STALL (défaut de papier, d’encre,. . . ) nécessitant une intervention utilisateur. Si le paquet contient une erreur de CRC, le périphérique ne le traite pas et la carte mère va constater au bout d’un laps de temps (times out) qu’elle n’a pas reçue l’acquittement. Elle recommencera la transmission. Les microprocesseurs regroupent sur qqs mm2 UAL, UC, mémoire. – % puissance, & encombrement ⇔ Loi de Moore – Intel 8086 = "père" des microprocesseurs actuels Comment fonctionne le 8086 ? – 1978 (famille iAPX) : apparition du 8086, 29 000 transistors, boitier 40 broches – compatibilité logicielle des i8086 et 8088 – largeur des bus : 8 bits pour le 8088 (faux 16 bits)et 16 bits pour le 8086 (vrai 16 bits). – 8088 : faux 16 bits car bus de données interne sur 16 bits, mais externe sur 8 bits ⇒ il faut donc 2 accès mémoires pour traiter un mot de 16 bits. – l’architecture interne comporte – l’unité d’exécution (Execution Unit ou EU) qui exécute les fonctions arithmétiques et logiques – l’unité d’interface bus(Bus Interface Unit ou BIU) qui stocke 6 octets d’instructions dans une file d’attente constituée de 6 octets de mémoire interne – Pendant que l’unité d’exécution exécute une instruction, l’unité d’interface bus va chercher dans le segment de programme une partie des octets composant la prochaine instruction à exécuter ⇔ mode de fonctionnement pipeline ⇓ accélère les traitements Notions d’horloge, pipeline, superscalaire,. . . Pour accélérer l’exécution des programmes dans le µp, on peut 1. % fréquence horloge : 4,77 MHz sur les premiers µp à 1GHz (Athlon) ⇓ % consommation (parfois + de 30 Watts !) → & tension alim. (passée de 5V à 2,8V) et & taille pistes silicium (passée de 0, 60µ à 0, 13µ). 2. Pipeline et superpipeline (anticipation dans le processeur) : repose sur le "découpage" de l’instruction en micro-opérations de taille fixe (cf fonctionnement UC). 5 phases – chargement de l’instruction (prefetch) – décodage de l’instruction (decode) – génération des adresses (address generate) – exécution (execute) – réécriture diférée du résultat (result write back) m pipeline à 5 étages ⇒ on peut traiter simultanément 5 instructions (Exemple de la station de lavage). L’unité de traitement doit être composée – d’une unité d’instruction qui gère la file d’attente – d’une unité d’exécution qui s’occupe du traitement de l’instruction On parle de superscalaire quand le µp est capable d’assurer un découpe + fin des instr. 3. Scalaire et superscalaire fait travailler plusieurs unités d’exécution en // dans le µp. Exemple : 3 instructions peuvent être traitées en //, comme le calcul sur des entiers par le CPU (Central Processing Unit) + calcul sur des nombres flottants par la FPU (Floating Processing Unit)+instruction de branchement. ↓ % nombre d’unité de traitement (cas du Pentium Pro) La gamme Intel : du i286 au Pentium II – 1982 : développement du 80286, vrai 16 bits. Bus d’adresse porté à 24 bits – 1985 : sortie du 80386 DX, vrai 32 bits. – Puce intègrant 270 000 transistors – Charge par anticipation les 16 octets suivant (pre-fetch) – Compatible avec 80286 et mode virtuel 8086 – 1988 : présentation de la version réduite 80386 SX avec bus externe 16 bits, moins chère – 1990 : commercialisation du 80386 SL, intègrant gestionnaire de mémoire virtuelle et un mécanisme d’économie d’énergie (destiné aux portables) – 1989 :commercialisation du 80486 DX vrai 32 bits, puce 168 broches (puce de 619µ × 414µ), 1,2 millions de transistors. Elle offre – une unité de calcul des entiers – une unité de calcul des flottants (FPU Floating Processor Unit) compatible avec coprocesseur mathématique 80387 – 8 Ko de cache en SRAM rapide – un contrôleur de mémoire cache et de mémoire virtuelle (MMU, memory Management Unit) – 1992 : le 80486 DX2 25/50 à 33/66 MHz 13 possède un doubleur de fréquence (overdrive). le 80486 DX4 peut tripler sa fréquence interne ⇒ fréquence d’exécution à 100 MHz pour une carte fonctionnant à 33 MHz. – 1993 : Intel sort le Pentium, avec bus de données externe de 64 bits mais des registres de 32 bits. – architecture superscalaire 2 caches séparés de 8 Ko – une unité de calcul en virgule flottante et 2 pipelines – 1995 : Pentium Pro (P6) intègre 256 Ko de cache secondaire, 8 Ko de cache pour les données et 8 Ko pour les instructions. Technologie 0, 35µ en 3,1 V. – Pentium MMX (MultiMedia eXtension) qui implémente ≈ 60 inst. dans le silicium ⇔ SIMD (Single INstruction Multiple Data) pour améliorer le traitement du son ou des images. – Depuis 1991, AMD, Cyrix clônent le Pentium. tendance actuelle : disparition des 386 et des 486 vers les µp RISC ou pseudo RISC de type Pentium Pro, Power PC, AlphaDigital ou autres. . . Processeur bus horloge adressage 80286 80386 DX 80386 SX 80386 SL 80486 DX 80486 DX2 Pentium Pentium Pro vrai 16 bits vrai 32 bits faux 32 bits faux 32 bits vrai 32 bits vrai 32 bits vrai-faux 64 bits vrai-faux 64 bits 8 à 20 MHz 16 à 33 MHz 16 à 33 MHz 16 à 25 MHz 20 à 100 MHz 50 à 66 MHz 60 à 200 MHz 150 à 200 MHz 16 Mo 4 Go a a. Du fait de son adressage physique. b. Soit 100 fois la puissance des PC des années 80 ! mémoire Puissance virtuelle 1 Go 64 To 3 à 4 Mips 15 à 25 Mips b – 1998 : Pentium II associe Pentium Pro et MMX. Communique avec le PC avec un bus DIB (Dual Independant Bus) ⇒ les données circulent dans le processeur sur plusieurs flux. Bus externe à 100 MHz ⇒ présence d’un nouveau chipset 450 NX 14 . Céléron = Pentium II -(mémoire cache 20 niveau). – Avenir d’Intel˜ : merced, processeur 64 bits, techno. massivement // EPIC (Explicitely Parallel Instruction Computing). D’après Intel, le Merced devrait disposer de "...pleins d’unités CPU associées à 128 registres et plusieurs unités FPU utilisant également 128 registres. Gravure à 0, 13µ. Bus processeur 66 MHz Pentium Bus processeur Chipset 66 MHz Bus PCI 33 MHz Carte son Cache L2 (256 ou 512 Ko) 200 MHz Mémoire RAM 33 MHz Chipset Carte Vidéo PCI Pentium II 400 MHz 100 MHz 66 MHz Cache L2 (256 ou 512 Ko) Mémoire SDRAM 100 MHz 33 MHz 66 MHz Pentium Bus PCI 33 MHz carte réseau Carte Vidéo AGP Carte son carte réseau Pentium II a 400 MHz La puissance des puces continuent de s’accroitre et leur enconmbrement diminue Mode pripeline A chaque cycle d’horloge, le processeur fait avancer l’instruction en cours d’une action élémentaire et commence une nouvelle instruction. Exemple de la station de lavage : on peut donc savonner la 5ème voiture qui se présente pendant que la quatrième est au lavage, la troisième au rinçage, la seconde au sèchage et la première au lustrage. Inconvénient : ii arrive qu’une instruction doive attendre pour être prise en charge qu’une précédente soit finie d’exécuter. La gamme Motorola : Processeurs 68000. . . Motorola˜ : en 1979, premier fabriquant de microprocesseurs 32 bits, le MC 68000 (Commodore Amiga, Apple, Attari) – le MC 68000 intègre – 68 000 transistors – faux 32 bits (16 externe et 32 interne), bus 24 bits pour un espace d’adressage 16 Mo. – cadencé entre 8 et 10 MHz – 1982 : sortie du MC 68008 bon marché, 8 bits en externe (⇒ 8 accès mémoire) – 184 : commercialisation du 68020 avec gestionnaire de mémoire virtuel intégré et un cache. – 1990 : le 68040 intègre 1 200 000 transistors, 2 caches de 4 Ko pour instructions et données – 1992 : association avec Ibmpour produire le POWER-PC intégrant 2 800 000 transistors en techno. RISC Processeur MC 68000 MC 68008 68020 68040 POWERPC 601 b a. Bus d’adresse 20 bits. b. En association avec Ibm. bus faux 32 bits faux 32 bits vrai 32 bits vrai 32 bits vrai 32 bits horloge 8 à 16,67 MHz 8 à 10 MHz 16,67 à 33,33 MHz 50 à 80 MHz adressage 16 Mo 4 Mo a 4 Go 4 Go pipeline 3 étages 3 étages 4 étages 6 étages 6 étages Les coprocesseurs Les coprocesseurs ou FPU (Floating Processor Unit) sont spécialisé dans le traitement des calculs arithmétiques en virgule flottantes. – évolution // à celles des µp → Intel 80387, Weitek 3167, ou Cyrix EMC87,. . . – dans un µp on ne trouve que +, −, ×, ·· . Le coproceseur offre des instructions supplémentaires de calcul (cos, sin, log, . . . ), et surtout pour de gros tableaux de chiffres (Exemples : CAO, DAO,. . . ) ⇒ gain de temps de 100 – souvent intégrés aux processeurs : 486DX, Pentium, Pentium Pro,. . . Les microprocesseurs RISC 6∈ famille des CISC (Complex Instruction Set Computer) ⇔ jeu d’instructions étendu et intègre dans le silicium le traitement des instructions Or, 80% des traitements font appel à seulement 20% des instructions possèdées par le µp ⇓ Technologie RISC (Reduced Instruction Set Computer) → jeu d’instructions cablées très réduit – donc le jeu d’instructions occupe 5 à 10% de la surface d’un circuit contre 50% pour un CISC ⇒ intègre sur une même puce des caches mémoires+ registres. . . – les fleurons : R/4000 de Mips, Supersparc de Sun, RIOS d’Ibm,POWER PC d’Ibm-Motorola,. . . – Exemple : le RISC ALPHA 21264 de Digital – cadencé de 625 à 1 000 MHz – 30 000 000 de transistors / une puce de 431 broches – adressage virtuel 64 bits (18 milliards de milliards d’octets) – sélection de la vitesse et de la largeur du bus à 64 ou 128 bits – 64 registres norme ieee et vax – une mémoire cache de 8 Ko de niveau 1 pour les données – une mémoire cache de 8 Ko de niveau 1 pour les instructions – cache intégré de niveau 2 de 96 Ko – pipelin 7 niveaus pour instructions mémoires et 10 niveaux pour opérations en virgule flottante – mesure des performances intégré à la puce – horloge de 200 à 800 MHz Les microprocesseurs classiques utilisés sur PC font partie de la famille des CISC. le RISC ALPHA 21264 de Digital : 21=21ème siècle, 64 pour 64 bits Le rôle des Chipsets composant important des cartes mères souvent négligé lors du choix d’un microordinateur. – gère la coopération entre les divers compposants : processeur, bus, mémoire cache ou vive,. . . – permet de piloter des bus reliant µp à la SDRAM à des fréquences de 100 MHz – Exemple : Intel 430 HX ou Triton II, Intel 430 VX ou Triton III oge int.(MHz) oge ext.(MHz) ansistors (×103 ) eur bus adresse (bits) ssage physique (Go) ssage virtuel (To) eur bus ext. (bits) eur bus int. (bits) bus mémoire (MHz) e cache données (Ko) e cache données (Ko) e données (Ko) rocesseur intégré rscalaire line (# étages) st. /cycle ion alim. (en V) itecture CISC/RISC nologie µ en service 5-3,3 CISC 0,6 1992 486 DX/4/100 Intel 75-100 25-33 > 1200 32 4 64 32 32 33 8 même cache externe oui non 5 1994 65 2 × 32 67 16 16 externe MMX 64 2 × 32 66 8 8 externe oui oui 5 3 3,3-2,9 CISC 2,8 MMX 0,35 P 200 MMX Intel 200 200 > 4500 33 5 Pentium 133 Intel 133 133 > 3100 32 4 2,8 CISC/RISC 0,35 1997 8 8 256 oui oui 8 8 256 oui oui 3,1-2,9 CISC/RISC 0,6 1995 64 2 × 32 32 4 P II Intel 233-300 1/2 fréq. µp 64 2 × 32 P Pro Intel 150-200 60 5500 32 4 16 16 oui non oui oui > 2200 36 4106 16103 64 64 1680 34 4106 16103 64 64/128 8 8 R4400 SC Intel 200 Alpha 210164 Intel 333 0,6 1993 oui 32 même cache 4 256 32/64 2800 32 Power Pc 601 Intel 66 Le multi-processing C’est le fonctionnement conjoint de plusieurs processeurs dans le même ordinateur. – architecture parallèle – architecture partagée 1. Architecture parallèle ou massivement parallèle (clustering ou MPP) : Processeur 1 Cache RAM du processeur 1 Processeur 2 Cache RAM du processeur 2 – chaque processeur dispose de sa propre mémoire, de son bus système et ses unitées E/S personnelles – connexions à haut débit pour relier les µp – risque : incohérence de certains traitement (car ils ne partagent pas la même mémoire) ⇒ gestion de ce type d’architecture logiciellement – mémoire distribuée 2. Architecture partagée : Processeur 1 Cache RAM Processeur 2 Cache – les processeurs se partagent la mémoire, le bus système et les E/S – gestion des conflits selon 2 méthodes : – traitement asymétrique Processeur 1 Noyau du systeme d’exploitation Processeur 2 Gestion des entrees−sorties Chaque µp est chargé d’une tâche par le système ⇒ écriture de programmes spécifiques pour chaque processeur ! Exemple – l’un est chargé des E/S – l’autre gère le noyau du système d’exploitation – ... Les interruptions sont prises en charge par un processeur spécialisé. – traitement symétrique SMP (Symetrical Multi-Processing) Processeur 1 Processeur 2 PLAN IFICATEUR Gestion des entrées−sorties Gestion mémoire Gestion des interruptions ... – la plus utilisée – symétrique ⇒ aucun processeur n’est prioritaire par rapport aux autres – ... Un planificateur (scheduler) assure la distribution des tâches. Architectures MIMD et SIMD – Multiple Instruction Multiple Data (MIMD) : les processeurs travaillent indépendamment les uns des autres et traitent en // plusieurs flots de données et plusieurs flux d’instructions. – Single Instruction Multiple Data (SIMD) : les processeurs exécutent en même temps la même instruction mais sur des données différentes. Figure 8 – Topologies des supercalculateurs. Les performances de ces réseaux sont mesurées à partir de 3 paramètres : – la latence L : temps de préparation d’un échange de message. – la bande passante B : vitesse de transfert entre deux nœuds. cubes – le temps T (N ) nécessaire pour transmettre une message de N Mo entre deux processus qui s’exécutent sur deux processeurs différents. Il vaut N T (N ) = L + . B Exemples : Cray T3D : L = 1µs, B = 300 Mbytes/sec. Grappe de stations : L = 100µs, B = 1 Mbytes/sec. Les principales différences entre les machines MIMD sont : – la topologie et les performances (latence, bande passante) du réseau d’interconnexion. – la qualité et la quantité des mécanismes hardware pour cacher les latences des communications. – l’existence d’un espace d’adressage global, conduisant à une mémoire physiquement distribuée mais logiquement partagée. Mesures des performances : un certain nombre de tests (benchmarks) sont proposés par les constructeurs. Exemple : WinBench, Winstone96,CPU Mark16 , CPU Mark32 ,. . . – MIPS (Millions of Instructions Per Second) : peu significative car moyenne des choses 6= (inst. branchements, calculs sur entiers ou flottants) – SPECint (Standard Performance Evaluation Corporation/Integer) : tests sur des séries d’entiers, très employés. – SPECfp (Standard Performance Evaluation Corporation/Floating) – Dhrystone : calcul sur des entiers Un processeur peut être inactif et l’autre totalement saturé de travail. Figure 9 – Topologies : maillages 2D et 3D, tores 2D et 3D, hypercubes, Anneaux, Multi-niveaux. Mémoires : généralités et mémoire centrale =Dispositif capable d’enregistrer des informations, de les conserver et de les restituer à la demande : – mémoire centrale : très rapide, physiquement peu encombrante mais coûteuse = mémoire de travail de l’ordinateur – mémoire de masse ou auxiliaire : lente, encombrante mais bon marché = mémoire de sauvegarde de l’information. Caractéristiques de la mémoire : – capacité : 1 mot = 2 octets, 1 octet= 8 bits kilo-octet Ko 1024 o 210 octets méga-octet Mo 1024 Ko 220 octets giga-octet Go 1024 Mo 230 octets téra-octet To 1024 Go 240 octets péta-octet Po 1024 To 250 octets exa-octet Eo 1024 Po 260 octets – volatilité = duréependant laquelle la mémoire est capable de retenir l’information de façon fiable (sans courant). – temps d’accès : temps nécessaire pour accèder en mémoire à l’information cherchée. REGISTRE CACHE PROCESSEUR MEMOIRE CENTRALE 30 ns 500 ns Cout croissante rapidite croissante Capacite croissante CACHE−DISQUE, 75 ms−1ms MEMOIRES ELECTRONIQUES UNITES DISQUES 5ms−30 ms BANDES, CASSETES, DISQUES OPTIQUES, DVD, etc. 1s−5s Figure 10 – Hiérarchie des mémoires (temps d’accès indicatifs) . A notre échelle : accès à l’information en 1s par mémoire centrale ⇔ accès à l’information en 12 jours par mémoire de masse ! – type d’accès – séquentiel : exemple de la bande magnétique – direct : cas de la mémoire électronique – encombrement physique – prix de revient de l’information mémorisé : les mémoires électroniques ont un coût de stockage au bit élevé ⇒ faible capacité ⇓ Table 4 – Choix des constructeurs Mémoires centrales (électroniques) Avantages Inconvénients très rapide volatiles peu volumineuses chères direct. adressable faibles capacité Mémoires de masse (magnétiques ou optiques) Avantages Inconvénients peu chères volumineuses non-volatiles lentes grande capacité – mémoire centrale = ensemble de cases (cellules mémoires) qui stockent l’information (1 bit, 12 octet,. . . ). – cellule élémentaire = le transistor capable de stocker un bit ! – mot mémoire : quantité d’info contenue dans une cellule logique et identifiée par une adresse. Adresse mot mémoire 0 1 1 0 0 1 1 0 – Une mémoire / disque magnétique est non-volatile : une fois enregistrée, l’information est conservée même si on retire la disquette du lecteur. La mémoire de travail de l’ordinateur est volatile. – idéal = machine alliant tous les avantages → solution trop coûteuse – inconvénient DRAM : courant de fuite ⇒ il se décharge ! si un bit est a 1, il s’efface peu à peu et risque de voir passer sa valeur à 0. – Avec l’apparition de cartes mères à 100 MHz, besoinde mémoire encore plus rapide – les futurs PC devraient pouvoir disposer d’une mémoire de plusieurs Go, au moins autant que la capacité des DD actuels Les mémoires vives : RAM (Random Access Memory) – composant qui évolue en fonction des processeurs et des chipsets – lues ou écrites à volonté mais volatiles – temps d’accès très rapides – consomment peu d’énergie ⇒ servent de mémoire de travail (centrale ou cache) 2 types – mémoires vives statiques (SRAM ou Static Random Access Memory) – la cellule de base= bascule à transistors – pendant ≈ 100 h → conservation de l’info sans coupure – accès rapide : entre 6 et 15 ns. – difficulté d’intégration, faible capacité ⇒ mémoire cache par exemple – mémoires vives dynamiques (DRAM ou Dynamic Random Access Memory) condensateur Transistor – la cellule de base= charge d’un condensateur – inconvénient : courant de fuite ⇒ il se décharge ! ⇓ relecture et réécriture régulière des informations, ce qui ralentit les temps d’accès (≈ 40 − 60 ns). C’est le FPM (Fast Page Mode) – en perte de vitesse au profit de la RAM EDO et de la SDRAM – et les autres. . . 1. EDO (Extended Data Out) et BEDO (Burst EDO ) : – EDO = DRAM complétée par une rangée de bascules en entrée pour le chargement d’une nouvelle adresse en mémoire sans attendre le signal de validation de la lecture. ⇒ temps d’accès entre 45 et 70 ns, et période d’attente entre 2 cycles minimisée ⇒ 50 MHz au lieu de 25 MHz – BEDO : quasi-disparu 2. SDRAM (Synchronous DRAM) : – évite les états d’attente (Wait State) en se synchonisant sur le processeur ⇒ 500 MHz, temps d’accès de 10 à 12 ns – synchronisation "théorique" avec un bus à 100 MHz (en réalité 75-80 MHz) 3. RDRAM (RambusT M DRAM) développé par Rambus – nécessité contrôleur mémoire spécifique ⇒ emploi limité ordinateurs de jeu ,. . . – 10× plus rapide qu’une DRAM classique 4. le futur des mémoires DRAM – les fondeurs Samsung, Nec et Toshiba sont associés → mise au point d’un nouveau standard DDR (Double Data Rate) But : ×2 le taux de transfert (≈ 1,03 Go/s) – capable de lire sur le front montant et descendant du signal d’horloge – Intel préfère la DRDRAM (Direct RambusT M DRAM) : taux de transfert de 1,6 Go/s, temps d’accès < 5 ns, fréquence 200 MHz – SLDRAM (SyncLink DRAM) : produit concurrent – Hewlett Packard développe une mémoire 3D : on empile les puces mémoires → capacité de 1 Gbits dans le volume d’une boîte d’allumettes – Samsung débveloppe un circuit mémoire de 1 Go en gravure 0, 18µ. 5. mémoires VRAM, WRAM, SGRAM – VRAM (Video RAM) = DRAM pour affichage dans les cartes graphiques. Elle possède 1 port pour la lecture des données en vue de leur affichage et du rafraîchissement de l’image, 1 port pour l’entrée des données à afficher venant du processeur – WRAM (Window RAM) = VRAM avec les caractéristiques de l’EDO. Taux de transfert 960 Mo/s. – SGRAM (Synchronous Graphics RAM) = SDRAM pour cartes graphiques avecun accès aux données par blocs Mémoire centrale Mémoires Mortes Mémoires Vives SRAM VRAM WRAM DRAM RAM edo BURST edo PROM ROM SDRam RDRam PROM fusible EPROM EEPROM Organisation des mémoires vives La mémoire est organisée en blocs de ` lignes et p colonnes. Accès piloté par un contrôleur mémoire Organisation de la mémoire FPM Décodeur d’adresses Adresse ligne cellule élémentaire Décodeur d’adresse logique de commande Read/write CS Adresse colonne – Années 80 : mise au point du mode FMP (Fast Page Mode) : permet de conserver l’adresse ligne et de lire les bits par p+i, i = 1, 2, . . . (utilisé chez les micro équipés de DRAM classique) – 1995 : mode EDO ou HFPM (Hyper FPM) : ajout de bascules / les entrées lignes ⇒ gain en rapidité sur la lecture d’une ligne – Physiquement : ce sont des barettes SIMM (Single Inline Memory Module) de 8 ou 32 bits. – Avec des Pentium, formation en "bancs de mémoire" (banks memory) – Aujourd’hui : barettes au format DIMM (Dual Inline Memory Module) : 2× plus de connecteurs ⇒ accès mémoire par blocs de 64 bits 15 → format des SDRAM – bientôt : format RIMM = lecture des bits en série. . . Les mémoires mortes ou ROM (Read Only Memory) =Mémoires qui ne peuvent qu’être lues. – mémoire ROM +V 10 0 1 Matrice memoire −V 1 0 0 1 Stockage définitif à la fabrication de la mémoire par le constructeur – principe de la matrice à diodes : un réseau de diodes est constitué selon les mots mémoires que l’on veut stocker aux différentes adresses. – Exemple : mot mémoire n0 2 (d’adresse 2) difficulté de conception → fabriquer des mémoires mortes programmables – mémoire PROM (Programmable ROM) : Ecriture de la ROM faite par l’utilisateur au moyen d’un programmeur de PROM – matrice complète de diodes – programmer = fusion de la diode. – Utilisés que pour de petites séries – les EPROM (Erasable PROM) EPROM – effaçables une fois écrites au moyen d’un effaceur d’EPROM (=tube à rayons UV) → fenêtre de quartz – pour petites séries – les EEPROM (Electrically EPROM) – effaçable électriquement, octet par octet – mémoire non-volatiles et cependant facilement réutilisables – pas bon marché et capacité limitée à 2 Mo – mémoire Flash (1993) Au carrefour des technologies EEPROM, DRAM, SRAM – mémoire effaçable et programmable électriquement par bloc de 64 Ko – conçue comme de la DRAM, pas de rafraîchissement (comme SRAM), suppression possible de l’alimentation (comme EEPROM) – 1 transistor par point mémoire contre 2 pour EEPROM ⇒ capacité à 40 Mo (512 Mo prévue pour fin 2000) – elle ne peut remplacer la RAM ou la SDRAM car – cycle de vie limité à 100 000 écritures – on doit lire par bloc et non bit à bit. – en passe de remplacer les DD dans les portables (MTBF de 1,6 millions d’heure contre 500 000 pour un DD) – prix de revient encore élevé ("le Mo Flash"10 à 20× plus cher que le Mo DD) Les mémoires spécialisées – les regsistres = bascules de transistors. Mémoires très rapides utilisées dans les caches. – registres CDD (Charge Coupled Device) ou mémoires à propagation : l’inforamtion binaire repose sur la présence ou non de charges électrostatiques dans un substrat. – grande densité d’intégration – très grande vitesse d’accès – Applications spécifiques : camescopes, scanners,. . . Disques durs et contrôleurs Enregistrement sur des disques magnétiques circulaires (en aluminium) de 1”, 1.8”, 2.5”,3.5” ou 5.25 “ de ∅, voire 30 cm pour les gros systèmes. → format Pcmcia type carte de crédit de 6 mm d’épaisseur ! 1. technologie classique : plateau recouvert d’une couche d’oxides de fer magnétisable (0,5 à 0,75µ) 2. technologie TFI (Thin Film Inductive) : – tête unique de lecture/écriture par plateau – chaque plateau est recouvert d’une couche de 0,05 à 1µ de phosphore de nickel ⇒ densité d’enregistrement 800 Mbits/pouce2 . 3. technolgie magnéto-résistive (MR) : – tête de lecture séparée de la tête de celle d’écriture ⇒ densité de stockage de 1 Gbits/pouce2 4. technologie GMR (Giant Magneto-resistive) en 1997 : atteint les 5 Gbits/pouce2 pour DD "haut de gamme". 5. IBM en 1998 atteint les 11,6 Gbits/pouce2 en combinant GMR et TFI → autorise le stockage de 725 000 pages/pouce2 d’espace disque. 6. technique de lecture PMRL (Partial Response Maximum Likelihood) améliore la qualité du signal → élimine le bruit et les parasites 7. technique SMART (Self Monitoring Analysis and Reporting Technology) : assure une gestion statistique des incidents Date densité en Gbits/pouce2 épaisseur tête (µ) largeur piste (µ) 1993 2,6 0,08 1,35 1998 10 0,04 0,68 2004 40 0,02 0,34 piste secteur Cylindre forme par un ensemble de pistes plateau Dans un DD, – chaque face est divisé en pistes circulaires concentriques de 10 à 1000 pistes/face – chaque piste est divisée en secteurs (de 8 à 34) – toutes les pistes ont même capacité ⇒ densité nearrow en se rapprochant du centre – c’est le rôle du formatage – qqs mm séparent 12 plateau pour laisser passer les têtes de lecture/écriture ⇒ accès simultané à l’ensemble des informations sur les pistes se trouvant sur la même verticale – les bits sont enregistré linéairement (le nbre dépend de la densité linéire en BpI, Bits per Inch) – chaque secteur doit être lu ou écrit en conservant une vitesse angulaire constante CAV du plateau (si ω = cte ⇒ v = ω × R %) – ω ≈ 3600 à 10000 tours/mn. – les têtes sont maintenues à une certaine hauteur du plateau (hauteur de vol) de l’ordre 0, 25 à 1µ 16 – la pile est enfermé dans un boitier étanche (technologie Winchester) – une piste spéciale (land zone) permet aux têtes de se poser, arrêt amortit par un film d’air. Tete de lecture/ecriture Altitude de vol 0,2 mu Fumee Poussiere 0,6 mu Cheveu 70 mu Modes d’enregistrements des disques 1. FM (Frequency Modulation) : ou simple densité. – la plus ancienne – polarisation dans un sens à chaque signal d’horloge et à chaque 1 logique 2. MFM (Modified Frequency Modulation) ou double densité – polarisation au milieu du temps de base à chaque 1 – si 2 zéros se suivent, il y a polarisation au signal d’horloge pour les séparer. 3. M2FM (Modified MFM) – réduit nombre de transitions à l’enregistrement – les débuts des temps de base sont enregistrés uniquement en cas de 0 4. RLL (Run Lenght limited-code à longueur limitée) – le code le plus efficace (%50% par rapport au MFM la densité d’information) 1 1 1 1 0 0 0 0 1 0 1 0 Formats d’enregistrements des disques En plus des données à mémoriser, les pistes et les secteurs contiennent des informations nécessaires au système pour – repérer les secteurs disponibles – repérer les fichiers présents – connaître les caractéristiques du média Un secteur fournira 1. intervalle de secteur : sert de marque de début et de fin de secteur (18 octets à 0) 2. marqueur de label : permet de reconnaître l’adresse de l’information. Contient – numéro du disque – numéro de cylindre – numéro de piste – numéro de secteur,. . . 3. code de détection d’erreur permet d’asurer le contrôle des labels et des données 4. synchronisateur final :zone permmettant le passage de la fonction de lecture d’adresse à celle d’écriture 5. intervalle 2 : contient des 0. Utilisé comme zone de débordement. 6. marqueur de données : rôle du tape mark des bandes 7. zone de données : 256 ou 512 octets de long Lors du formatage sous Ms-Dos, seuls qqs secteurs de la FAT sont effacés capacité (théorique) d’une DD ≈ 20 Go, soit 2 000 fois > à la capacité de l’Ibm Ramac (1956). Caractéristiques des disques 1. capacité ou volume de stockage : dépend de la densité linéaire, radiale. 2. desnsité linéaire ρ` (en BpI) : nombre de bits/pouce sur une même piste. Atteint 20 000 BpI. 3. desnsité radiale ρr (en TpI) 17 : nombre de piste par pouce. Entre 2 000 et 3 000 pi. 4. densité surfacique = ρρr` . Environ 5 Gbits/pouce2 en labo. % densité de 60%/an actuellemnt. densité×18 entre 1991 et 1997, le prix du Go a été divisé par 31 ! 5. vitesse de rotation : vitesse de rotation du disque en tpm. Entre 4500 et 15 000 tpm. 6. temps d’accès : temps nécessaire pour positionner la tête de lecture sur le cylindre désiré. Au minimum de 1,5 à 20 ms. 7. délai rotationnel ou latence : temps nécessaire pour que la donnée recherchée se trouve sous la tête de lecture → prendre en moyenne une demi-révolution 8. vitesse de transfert ou taux de transfert : vitesse à laquelle les information transitent du média à l’ordinateur (en MBps ou en Mo/s). – dépend du mode d’enregistrement, du type de contrôleur, de la vitesse du plateau. Actuellement de 16 Mo/s à 32 Mo/s 9. facteur d’entrelacement : les DD sont parfois trop rapides pour certains PC ⇒ ralenti de la vitesse de transfert entre le média et l’ordinateur. 10. MTBF : temps moyen entre 2 pannes (à ne pas négliger lors de l’achat). Environ 200 000 heures. capacité formatée (512 o/secteur) Nombre de plateaux Nombre de têtes Temps d’accès moyen Temps moyen d’attente Temps d’accès piste à piste Taux de transfert (Ultra 2 SCSI) Taille buffer (cache) Poids Facteur de forme Puissance alim. Durée de vie garantie 18,2 Go 10 20 8,3 ms 4,17 ms 1,5 ms 200 Mo/s 4Mo 930 g 3,5” 15 W/12 V 5 ans Le contrôleur disque ou bus est chargé de gérer les échanges de données et leur encodage entre le disque et le système. – ST506 (Seagate Technology), 1980 : pour des disques 5 Mo ! A évolué avec l’ajour d’un tampon de recherche des info. Encodage MFM – ESDI (Enhanced Small Device Interface), – IDE (Integrated Drive Electronic), BUS-AT ou ATA (Advanced Technology Attachement), 1986 – EIDE (Enhanced IDE ou ATA-2 ou Fast-ATA-2) – protocole PIO (Programmed Input/Output) monopolise le proceseur – protocole DMA (Direct Memory Access) : transfert direct vert la mémoire centrale sans passer par le µp – Ultra-ATA (Ultra-DMA) : vérification intégrité des données par des contrôle de redondance cyclique – SCSI (Small Computer System Interface) : le plus adopté par es constructeurs. – Ultra-Wide SCSI : permet de piloter aussi disques optiques,. . . Peut fonctionner sans faire intervenir la mémoire centrale. Technologie onéreuse. Contrôleur Seagate ST506 Seagate ESDI IDE ou ATA EIDE, ATA-2 ou Fast-ATA-2 Quantum Ultra-ATA ou UDMA SCSI Ultra Wide SCSI DD amovibles (6= ZIP ). Date 1980 1986 1997 1997 1998 Capacité disque (Mo) 5 137 Go 20-528 500 transfert (Mo/s) 5 24 (MBps) 8,3 4,17-16,67 (DMA) 33,3 4-40 80-200 Technologie RAID (Redundant Array od Inexpensive disks) Le back-up traditionnel pour la sauvegarde des données est insuffisant dans le cas de serveur de données sans arrêt sollicités ⇓ rôle de la technologie RAID qui emploie plusieurs disques (grappe) de capacité identique pour assurer la répartition des données sur des média distincts. – RAID-0 : pas de réelle sécurité car répartition sur plusieurs disques ⇒ si un DD tombe en panne, assure plutôt l’accès rapide aux données. Ecriture Donnees Donnees Donnees Donnees Lecture – RAID-1 : mirroring gestion par un contrôleur des 2 disques ou en duplexing où chque disque est géré par son contrôleur. – RAID-2 : stockage des codes de contrôles (ECC) RAID 1 RAID 2 Ecriture Donnees = Ecriture Donnees Donnees Lecture Donnees ECC ECC Lecture Ecriture 1 Ecriture 2 Ecriture 3 Ecriture Donnees Donnees Donnees Donnees bits de Donnees Donnees Donnees Donnees bits de bit 1 bit 5 bit2 bit 6 bit 3 bit 7 bit 4 bit 8 parite parite bit 1 bit 5 bit2 bit 6 bit 3 bit 7 bit 4 bit 8 parite parite RAID 4 Lecture RAID 3 Le Disque Optique Numérique (DON) Média récent (1970) en forte évolutivité : Lecture/écriture se font au moyen d’un faisceau laser ± réfléchi ou diffusé selon – l’état de la surface du média, permettant de coder ainsi différents états binaires. – la "couleur" du laser (λ) → précision de l’ordre du µ ⇓ densité surfacique importante couche de protection couche sensible couche réfléchissante COUPE D’UN CD – 1982 : Philips et Sony propose une norme CD-audio ("Livre rouge") – 1984-85 : mise au point du CD-ROM High Sierra, norme ISO 9660 ("Livre jaune", 1988) dans laquelle données informatiques et audio cohabitent dans des zones distinctes 12 octets 4 octets entête 2336 octets de données 784 octets 98 octets de synchro CCE/CDE de contrôle – 1986 : Philips crée le CD-I (CD -Interactif), "Livre vert" pour des applications multimédia – 1988 : Philips, Sony, Microsoft s’associent ⇒ norme CD-ROM-XA (extend architecture), extension de la norme ISO 9660 qui gère ensemble le son et les images 12 o. syn- 4 o. entête 8 o. entête 2048 octets 4 o CDE 276 o 784 o 98 octets chro de données CCE CCE/CDE contrôle – 1990 : Kodak met au point le CD-R (CD-Réinscriptible) ou CDROM Photo (norme "Livre orange") – 1993 : Video-CD de capacité 70 mn – 1996 : Philips, Sony, Matsushita, Toshiba soutenu par Ibm,HP,3M proposent le standard DVD (Digital Video Disk) sur un ∅ de 12 cm → stockage 25× plus grand que sur CD-ROM classique Principes techniques d’écriture et de lecture Principe : Lecture/écriture se font au moyen d’un faisceau laser ± réfléchi ou diffusé selon l’état de la surface du média, permettant de coder ainsi différents états binaires. La distance tête de lecture optique et le média n’influe pas sur la qualité de la lecture/écriture ⇒ on évite les risques d’atterissages Le DON se compose : couche de protection couche réfléchissante couche sensible COUPE D’UN CD ⇓ L’information est prise en sandwich entre une face réfléchissante et 2 faces transparentes. Techniques d’écriture/lecture – l’ablation : par brûlage au moyen d’un graveur (lent 18 )ou pressage en usine – Ecriture 19 : par fonte sous l’effet de la chaleur d’un faisceau émis par une diode laser d’un alliage ⇒ création d’une cuvette repérant un état binaire. – Lecture : réfléchissement en phase avec l’onde émise si le faisceau ne rencontre pas de cuvette Exemple : Graveur Sony 2x/6x : "gravage" à la vitesse de x2 et lecture à 6x (x= 150Ko/s) couche de protection couche sensible 1 L’ablation 0 Cuvette obtenue par ablation couche sensible couche de support – la déformation – Ecriture : formation d’une "bulle" – Lecture : par mesure de variation des distances Exemple : WORM 12” (ATG-Cygnet, VFD 1600 Philips, Sony WDD 531,. . . ) couche de protection couche sensible 1 0 Bulle de gaz couche sensible couche de support L’ablation – l’amalgame – Ecriture : par fonte de la couche métallique absorbant la lumière (découvrant une seconde couche réfléchissante) – Lecture : par réflexion ou non couche de protection couche sensible 1 0 L’ablation Cuvette obtenue par amalgame couche sensible couche de support – la polarisation pour disques magnétooptiques : temps d’accès ≈ 35 à 90 ms, facteur de forme. – Ecriture : application d’un champ magnétique à la zone à enregistrer de la surface d’un disque métallique, magnétisé à l’origine. Le faisceau d’écriture (au point de Curie ≈ 150 0 C) permet de modifier les propriétés magnétiques. En se refroissant la zone va conserver cette aimantation. – Lecture :polarisation différente de la lumière réfléchie (effet de Kerr) – effacement : remagnétisation locale à chaud couche de protection couche sensible Magnetisation reversible Couche sensible magnetisable L’ablation 0 1 Couche reflechissante – la transition de phase : – Ecriture : passage de l’état amorphe – absorbant de la lumière – à un état cristallin réfléchissant la lumière – Lecture : idem amalgame couche de protection couche sensible LA TRANSITION DE PHASE 1 0 Etat cristallin couche sensible couche de support Le cas des DVD (Digital Versatile Disk) Technologie de faisceau laser dit "rayon bleu" de 653 mm de longueur d’ondes. ⇓ – – – – 5 l’espace entre pistes passe de 0, 74µ à 1, 6µ la taille des cuvettes de 0, 83µ à 0, 4µ ⇒ 3× plus de données pour ω identique ! débit entre 1,5 et 4,5 Mo/s temps d’accès < 100ms versions Produit Utilisation Livre Statut actuel DVD vidéo vidée compressé MPEG2 A Normalisé DVD ROM Gravure stockage B Normalisé DVD-R Enregistrable une fois WORM C Normalisé DVD Audio Audio D Normes en cours DVD RAM réenregistrable E Normes en cours Plusieurs déclinaisons du support selon – le nombre de faces – le nombre de couches utilisées 0,6 mu 0,6 mu DVD MONOCOUCHES Monoface−monocouche DVD BICOUCHE Biface−monocouche Monoface−bicouche Biface−bicouche ⇒ capacité de stockage de 4,7 à 17 Go ! Organisation – DON mono/multisession – chaque secteur (bloc) est de même longueur – Les secteurs forment une spirale de 50 000 tours (idem disque vinyle) qui commence près de l’axe de rotation – technique d’encodage CLV avec → sensible à hautes vitesses aux légères vibrations ⇓ – solution CAV (Constant Angular Velocity) utilisée pour les DD ⇒ Exemple CDx42 max – Existe aussi en version Full/Partial CAV – tau xde transfert initial de 150Ko/s ⇒ 300Ko/s avec le CDx2 , 600Ko/s avec le CDx4, . . . Les DONs sont encore concurrencés par les DD resté très concurrentiels Carte PCMCIA(Personnal Computer Memory Card Int. Asociation) Rebatisé PC-Card (1989) Sous le format d’une carte de crédit, autorisant l’ajout d’extension périphériques génralement associés aux ordinateurs portables. – dans la norme Pcmcia 3.0 (actuelle), – tout système informatique peut reconnaître la carte grâce au code CIS (Card Information Structure) fourni sur la carte – indique format des données contenu sur la carte – quelles resources pour fonctionner – intègre des "sockets services" ⇔ assure liaison avec le BIOS pour gestion matériel – intègre des "card services" ⇔ allocation dynamique ds ressources disponibles du système – Cardbus à 33 MHz en 32 bits, débit maximum de 132 Mo/s – permet de stocker de 126 à 512 Mo de mémoire flash, SRAM ou EPROM ou EEPROM Types de cartes – type I : utilisées essentiellement comme mémoire EPROM, mémoire Flash, adaptateur SCSI,. . . – type II : peuvent recevoir mémoire flash ou des modems, fonctions réseau – type III : intègrent DD de 1,8” pour des capacités de 340 Mo à 760 Mo – carte dite combo : plusieurs types de composants dans une même carte Bibliographie – A.Tanenbaum Systèmes d’exploitation, systèmes centralisés, systèmes distribués, Prentice-Hall & Intereditions ; 1994 – C.Carrez Les systèmes informatiques, Dunod Informatique 1990 – M.J.Bach Conception du système Unix, Masson Prentice-Hall 1985 – W.Stallings Operating Systems, Maxwell Macmillan Iint Editions 1992 – M.Griffith et M.Vayssade Architecture des système d’exploitation, Hermes, 1990 – S.Krakoviak Principes des systèmes d’exploitation des ordinateurs, Dunod 1985