ARCHITECTURE DES ORDINATEURS. Le cours est basé sur le livre de William Stallings (800 pages) qui s’intitule « Organisation et architecture des ordinateurs », 6ème édition. Voici le plan général : INTRODUCTION L’ORDINATEUR LE PROCESSEUR L’UNITE DE CONTROLE ORGANISATION PARALLELE INTRODUCTION. Vue fonctionnelle Structure d’un ordinateur Evolution et performances des ordinateurs. Unités de mesure des tailles de la mémoire d’un ordinateur. VUE FONCTIONNELLE Les 4 fonctions principales d’un ordinateur. Traitement des données. o Opérations arithmétiques. Mémorisation des données. o Mémoire a long terme o Mémoire a court terme Transfert de données. o Vers l’extérieur o De l’extérieur Contrôle o Vérification des opérations possibles et non autorisées. VUE FONCTIONELLE. Environnement de fonctionnement (exploitation) (source de destination des données) Dispositif de Tansfert des Données Mécanismes de Contrôle Structure de Mémorisation des Données Structure de traitement des données STRUCTURE D’UN ORDINATEUR. Processeur (CPU = Central Process Unit) o Contrôle et exécute les fonctions de traitement des données o Il peut y en avoir plusieurs. Mémoire principale. o Mémorise les données. E/S o Transfert les données entre l’ordinateur et son environnement externe. Interconnexion des ordinateurs (Bus système) o Prend en charge la communication entre le processeur, la mémoire principale et les E/S. Le processeur est composé de 4 éléments : 1. Unité de contrôle (UC). Contrôle le fonctionnement du processeur et donc de l’ordinateur. 2. Unité arithmétique et logique (UAL). Exécute les fonctions de traitement des données de l’ordinateur. 3. Registres. Mémoire interne du processeur. 4. Interconnexion du processeur. Prend en charge les communications entre l’UC, l’UAL et les registres. EVOLUTION ET PERFORMANCES. Quelles sont les évolutions technologiques constantes en informatique. La vitesse du processeur. Cadence des BUS. Capacité de stockage, capacité mémoire. Augmentation constante de la vitesse des processeurs. Miniaturisation de la taille des composants. o Réduction des distances entre les composants. o Augmentation du nombre de composants. Augmentation de la taille de la mémoire. Augmentation des débits des E/S. 1946 : ENIAC. Lohn Mauchly et John Presper Eckert, université de Pennsylvanie. 2ème guerre mondiale : portée et trajectoire des missiles. 30 tonnes, 500 m² au sol, 18 000 tubes à vide. o 1 tube = 1 chiffre 5000 additions par secondes. Ordinateur décimal. Il fallait brancher et débrancher manuellement les câbles. 1952 : Machine de John Von Neumann Idée : ranger les programmes en mémoire et non plus tout câbler et recâbler a chaque fois. Cet ordinateur (IAS) a servi de base a tous les autres ordinateurs généralistes. Données en instructions sont représentées en code binaire. Une UAL est déjà basée sur l’utilisation de registres. 1950 : Commercialisation des premiers ordinateurs. UNIVAC I, UNIVAC II, UNIVAC 1103 par J. Eckert et J. Mauchly. 1953 : IBM commercialise le 701. 1950 : Bell créé le transistor (en silicium) qui vont remplacer les tubes à vide à la fin des années 50. 2ème génération d’ordinateurs. GENERATION 1 2 3 DATES 46-57 58-64 65-71 4 72-77 5 78 - … TECHNOLOGIES Tubes à vides Transistors Micro électronique Puces et circuits intégrés Intégration à grande échelle Intégration à très grande échelle N bop/s 40 000 200 000 1 000 000 10 000 000 100 000 000 4ème et 5ème génération : ordinateurs de bureau et ordinateurs personnels (un PC de 3ème génération coûtait 16 000 US$) Evolution des processeurs Intel. 8086 à 80486 : 8 à 64 bits en largeur de bus. Pentium : Introduction de la parallélisation des traitements des instructions. Pentium pro : Prédiction des branchements et instructions. Pentium II : Traitements spécifiques des flux multimédia. Pentium III : Instructions supplémentaires pour les logiciels de graphismes 3D. Pentium IV : Instructions supplémentaires pour le multimédia. Itanium : Introduction de l’Intelligence Artificielle (IA). Evolution du Power PC (IBM avec système RISC). 601/620 : 32 à 64 bits de largeur de bus. 740/750 (3ème génération) : cache intégré dans la puce du processeur central. 4ème génération : Augmentation du parallélisme et de la vitesse interne du processeur. UNITES DE MESURE DES TAILLES DE LA MEMOIRE D’UN ORDINATEUR. L’information est codée en binaire : Un bit peut prendre 2 valeurs : 0 ou 1. Un kilobit (Kb) est égal à 2^10 soit 1024 bits exactement. Un megabit (Mb) est égal à 2^20 bits soit 1 048 576 bits exactement. Un gigabit (Gb) est égal à 2^30 bits soit 1 073 741 824 bits exactement. 1 = 0001b 2 = 0010b 3 = 0011b 4 = 0100b 5 = 0101b 6 = 0110b 7 = 0111b 8 = 1000b Dans la plupart des ordinateurs, chacun des caractères est codé sur 8 bits. On peut donc coder 2^8 caractères différents soit 256 caractères. Un octets = 8 bits. Attention à la traduction américaine : un octet = un Byte. 1 KB = 1 Ko. 1 Ko = 2^10 octets 1 Mo = 2^10 Ko = 2^20 Octets 1 Go = 2 ^10 Mo = 2^20 Ko = 2^30 octets. 1 Ko = 8 Kb. 1 Mo = 8 Mb … L’ORDINATEUR. Système d’exploitation et architecture des ordinateurs Architecture des ordinateurs : L’ordinateur Fonction d’un ordinateur La mémoire cache est une mémoire intermédiaire, on charge les instructions qui sont l’ensemble du programme ; La mémoire interne est la mémoire principal ; La mémoire externe, ex : lecteur dvd, disque dur ; Les entrés sorties : souris, clavier. Exécuter des programmes ; Les programmes se composent d’un ensemble d’instructions ; Les instructions sont rangées en mémoire ; Les composants de l’ordinateur : Processeur Mémoire (stocker les donnés) Module entré sortie Bus système (prend en charge toutes les communications entre les élément ; CP : compteur de programme, adresse mémoire des instructions, augemente la vitesse CPU : registre interne, registre tampon RI : registre interne RT : Le processeur lit une à une les instructions dans la mémoire et les exécute ; Le cycle d’instruction est le traitement nécessaire pour une instruction : Lecture d’une instruction Lecture d’une ou plusieurs opérandes Rangement d’une ou plusieurss opérandes Test d’interruption (sert à vérifier les instructions). Le CP (compteur de programme) contient l’adresse de lza prochaine instruction à lire : Il est incramenté à chaque lecture Le processeur place l’instruction du CP dans le RI (registre interne) et incrémente le CP ; Puis il traite l’instruction. Types d’instructions en mémoire : calculs, mise en mémoire, vérifications L’intruction peut-être : Une lecture ou une écriture mémoire Une lecture ou une écriture E/S Un traitement arithmétique des données Un contrôle : la prochaine instruction est à l’adresse… (Cas des instructions conditionnelles et des appels de sous-programmes) Une interruption comme (sont nom l’indique) interrompt le cycle d’instructions ou le programme en cours d’exécution. Types d’interruptions : temporisations, manque de mémoire, vérification exécution d’autres programmes, reset, Une interruption peut être : Une interruption de programme : Dépassement de capacité Division par 0 Instruciton illégale Un temporisateur : Permet au système d’exploitation d’effectuer régulièrement certaines fonctions Une interruption E/S : Exemple : l’utilisateur écrit au clavier Une défaillance matérielle Pour chaque périphérique E/S il y a un gestionnaire d’interruption Un périphérique E/S Les différentes structures de bus : Les lignes de données Transmettent uniquement des données Déterminent les performances Les lignes d’adresses Désignent la source ou la destination des données du bus de données Les lignes de contrôle Contrôlent l’accès et l’utilisation des lignes de données et d’adresse Physiquement, ce sont des lignes métalliques gravées sur la carte. Ordinateurs modernes : Hiérarchisation des bus Des tampons sont ajoutés entre les bus Le bus PCI Bus interne permettant de connecter des cartes d’extension sur la carte mère d’un ordinateur Bus haut débit Indépendant du processeur Meilleurs performsances que le bus système La mémoire cache Influence directe sur la performance d’un ordinateur Pour améliorer les performances : Garder au plus près du processeur (en cache), les accès récents De manière à accéder le moins possible à la mémoire externe La mémoire cache est une copie de certaines parties de la mémoire principale ; Lorsque le processeur tente de lire un mot, il vérifie auparavant s’il ne se trouve pas déjà dans le cache ; L’accès aux mots est ainsi plus rapide ; Si le mot ne se trouve pas dans le cache, on copie d’abord le bloc dans le cache ; Puis le cache donne l’accès au mot au processeur ; Il est fort probable que lorsqu’on souhaite accéder à une information d’un bloc, on souhaite accéder aux informations environnantes de ce mot dans le bloc. Le cache doit être suffisamment grand Stocker toutes les données nécessaires Le doit être suffisamment réduit Pour permetre d’accéder aux informations rapidement Hiérarchie de caches PowerPC G4 1 cache interne : cache L1 un cache pour les données de 32Ko un cache pour les instruction de 32Ko 2 cache externes cache L2 : cache mixte (données et instruction) de 256Ko à 1Mo Cache L3 : cache mixte données et instruction de 2… Pentium 4 1 cache interne cache L1 un cache pour les données de 8Ko… Il existe différents algorithmes pour remplacer les blocs dans le cache Du plus efficace au moins efficace : Moins récemment utilisé : LRU : least recently used Premier entré premier sorti : FIFO : first in first out Moins fréquemment utilisé : LFU : least frequently used Remplacement aléatoire La mémoire interne Mémoire principale de l’ordinateur. DRAM : Dynamic Random Access Memory Mémoire vive interne L’information est une charge électrique sur un condensateur Cette charge diminue avec le temps et doit être rafraichie régulièrement Une valeur seuil détermine si c’est un 1 ou 0 pour le bit L’information s’efface avec le temps Selon vous, est il utile d’attendre 10 à 20 secondes avant… La DRAM synchrone (SDRAM) (IBM) : Echange les données avec le processeur en synchronisaton avec une horloge interne Quand une requête est faite par le processeur, le nombre de cycles au bout duquel de DRAM aura fait l’action est connue par avance Le processeur peut donc continuer à travailler Envoyer des données vers processeur deux fois par cycle DRAM rambus (RDRAM) : Principale concurrente de la SDRAM Basée sur un bus interne qui définit la vitesse transmission Le type d’action est transmis par le bus et intégré aux données transmises Gian de temps Vitesse de bus : 800 mb/s DRAM cache (CDRAM) (mitsubichi) : Elle inclut un petit cache SRAM de 16 ko Elle peut servir de véritable cache ou de tampon pour prendre en charge l’accès séquentiel à un bloc de données Préchargement dans la SRAM cache SRAM : Static Random Access Memory Mémoire vive interne statique La plus rapide à se décharger Tout disparaît lorsque l’alimentation est coupée Utilisée pour le cache Pourquoi ? ROM : Read Only Memory Mémoire morte Mémoire permanente (non volatile, lecture seule), les données ne peuvent être effacées Elle sert aux : Sous programme des bibliothèques pour les fonctions fréquemment utilisées Programmes du système … PROM : Programmable ROM ROM programmable une seule fois EPROM : Erasable PROM ROM effaçable et programmable globalement et électriquement par (rayonnement uv) EEPROM : Electrical EPROM EPROM programmable octet par octet Mémoire flash : PROM effacble par bloc La mémoire externe Disque magnétique Aspect physique : C’est un plateau rond composé D’un matériau non magnétique (surbstrat) Recouvers d’un plateau… Les données sont enregistrées puis récupérées du disque via une bobine conductrice : la tête La tête est fixe et le plateau tourne en dessous en phase de lecture et d’écriture Sur la plupart des disques il y a une tête de lecture et une tête d’écriture Sur le plateau les données sont oragnisées en anneaux concentriques : pistes Largeur d’une piste = largeur de tete Une surface contient des milliers de pistes Des espaces entre les pistes évitent les erreurs induites par un mauvais alignement de la tete sur les pistes Les pistes sont divisées en secteurs Quelques centaines de secteurs par piste La lontgueur d’un secteur est fixe 512 octets Les secteurs adjacents sont séparés par des espaces intersecteur Des marqueurs invisibles à l’utilisateur délimitent chaque secteur : début, taille, identifiant du secteur, numéro de piste, fin. Disque à tête fixe : une tête de lecture / écriture par piste Disque à tête mobile : une seule de lecture / écriture, une montée sur un bras déployable et rétractable, un arbre fait tourner le disque. Les pistes d’une surface de plateau constituent un cylindre. 2 types de disques : Disques simple face Disques double face une couche magnétique sur les faces du plateau Certains disques contiennent plusieurs plateaux une tête par surface de plateau Pour mesurer la performance des accès à un disque : Temps d’attente du composant Lorsqu’un processus émet une requête d’E/S, il doit d’abord attendre dans une file d’attente qu’un composant soit disponible avant de lui être assigné Temps d’attente du canal Si le canal est partagé avec d’autres lecteur de disques, il y a un délai d’attente supplémentaire temps de positionnement : temps nécessaire pour positionner la tête au dessus de la piste disques durs modernes < 10 ms le controleur de disque attend ensuite que le secteur approprié tourne pour venir s’aligner avec la tête délai du au composant occupé : si le composant fait une autre tâche, il faut attendre qu’il ait fini le cycle délai de rotation : temps qu’il faut pour positionner le début du secteur sous la tête disques durs modernes : entre 100 ms et 50ms La technologie RAID Reductant array of independant disks : Reseaux redondants de disques indépendants Utilisation de plusieurs disques externes en parallèle : Accèus simultanés à plusieurs disques 7 niveaux différents de 0 à 6 RAID 0 : Pas de redondance Possibilité d’émettre deux requêtes en parallèle sur deux disques différents RAID 1 : Duplication des données Chaque dique possède un disque miroir RAID 2 et 3 : Techniques d’accès parallèle aux différentes données En cas de défaillance d’un disque, on accède au disque de parité et les données sont reconstruites RAID 4 à 6 : Accès indépendants et non plus parallèles … Mémoire optique CD/DVD : lecture seule, audio, vidéo CD-ROM lecture seule, tout type d’information. 650 mo CD-R/DVD-R : 1 seule écriture possible CD-RW/DVD-RW : Ré-enregistrable Fonctionnement d’un CD : Un moteur fait tourner le disque sous un laser faible puissance Creux lumière dispersée : faible intensité en retour Méplats lumière d’intensité plus grande en retour Un capteur détecte les changements entre creux et méplats 1 : début et fin d’un creux 0 : pas de chagement d’état Les données sont organisées en spirale et non en disques on balaie selon une vitesse linéaire constante est non plus angulaire Fonctionnement d’un DVD : Un cd ou un dvd est moins couteux à reproduire qu’un disque magnétique Il est amovible possibilité d’archivage Mais le temps d’accès est plus long qu’un disque magnétique Bande magnétique Même principe que les disques magnéiques Bande polyester souple recouverte d’une pellicule de matériau magnétique Données organisées en pistes parallèles (18 à 36 pistes parallèles) … Mémoire flash externe Les entrées/sorties Ce sont les interfaces d’un ordinateur avec monde extérieur (périphériques externes) : Périphériques lisibles par l’homme : écran, imprimante, clavier, souris, etc Périphériques lisibles par l’ordinateur : disques magnétiques, capteurs, etc Périphériques distants : modem, terminal, etc Il y a un modure E/S dédié à chaque prériphérique Un module E/S a pour fonction : Controler et coordonner les flux de données Communiquer avec le proscesseru et les périphériques : décoder les signaux électriques (imprimante) et les étatns des périqphériques (très lents) Mettre en mémoire tampon des données (lenteur des périphériques) Détecter les erreurs, dysfonctionnements et pannes Les E/S programmées Echange de données proceesseur / module E/S Le programme contrôle totalement l’opération durant toute sa durée : il doit attendre la fin de l’opération, il y a perte de temps. Un module E/S peut rrecevoir 4 types de commandes du processeur : Contrôl : active le périphérique et lui indique ce qu’il doit faire. Test : teste les différentes conditions d’état (alimenté, prêt, etc). Read : lecture des données du périphérique et placement dans le tampon du module E/S. Write : transmission d’une donnée provenant du processeur au périphérique via le bus système. Les E/S gérées par interruption Le processeur émet une commande, puis exécute un autre travail. Quand le modure E/S a traité la commande, il émet une requête de service. Le processeur interropt son travail. Du point de vue du modure E/S : Entrée : reception d’une commande du processeur Lecture des données du périphérique Ecriture de la donnée dans le tampon (registre de données) Interruption transmise au processeur (via ligne de contrôle du bus système) Attente que le processeur réclame la donnée Le module place la donnée sur le bus. Du point de vue du processeur : Emission d’une commande Exécution d’une ou plusieurs taches A la fin de chaque cycle d’instructions, test des interruptions S’il y a une requête, il sauvegarde le contexte du programme en cours Stockage des données transmises dans la mémoire interne Restauration du contexte du programme interrompu Les interruptions peuvent venir de plusieurs modules : quel module a envoyé quelle interruption ? Ordonner les interrupiton qui arrivent en même temps : priorités affectées aux périphériques. Les E/S gérées par interruption demandent néamoins une intervention active du processeur. Le transfert des données doit passer par le processeur : Le débit de transfert est donc limité par la vitesse à laquelle le processeur teste et sert un périphérique Le processeur est occupé à gérer chaque transfert E/S L’acces direct à la mémoire est utiles pour le transfert de gros volumes de données Les accès directs à la mémoire DMA : Direct Access Memory. Implique un module supplémentaire sur le bus système : le module DMA. Il s’octroie le contrôle du système pour transférer les données vers et depuis la méamoire en passant par le bus système. Quand le processeur veut lire ou écrire un bloc de données il émet une commande vers le modure DMA, il continue ensuite son autre tâche. Le module DMA transfert le bloc en volant des cycles de bus au processeur : simple ralentissement du processeur. Lorsque le transfert est terminé, il envoie un signal d’interruption au processeur. Support du système d’exploitation Le système d’exploitation (Opérating Système, OS) est le logiciel qui contrôle les programmes d’un processeur et gère ses ressources. Linux, windows, mac os, unix, bsd, vms, unix système Vue d’ensemble Couches et vues du système informatique (voir schéma) Fonctions : Contrôle l’exécution des programmes d’applications Interface entre utilisateur et matériel Objectifs : Ergonomie : faciliter l’utilisation d’un ordinateur Efficacité : gérer les ressources du système Les services : Assister le programmeur dans la création de programmes Exécution de programmes Accès aux périphériques Accès contrôlés aux fichiers Accèus au système Detection d’erreur et réponse Statistiques (sur les ressources et leurs taux d’utilisation) La mémoire principale héberge une partie du système d’exploitation (la plus utilisée) : le noyau. Les différents types de systèmes d’exploitation : Système à traitement par lots multiprogrammés : système actuels, le processeur effectue plusieurs programmes en meme temps : système mutitâche. Principal objectif : utiliser le processeur au maximum… Système à temps partagé : plusieurs utilisateur simultanés (via terminaux) sur un serveur. Le système d’exploitation entrelace l’exécution des porgrammes de chaque utilisateur. Principal objectif : minimiser le temps de réponse. Sources des directives : commandes saisies sur terminal. Ordonnancement L’ordonnacement des tâches est l’une des tâches les plus importantes du système d’exploitation. Le système interrompt de temps en temps certains processus pour partager équitablement les tâches. Chaque requête de processus est placée dans la file d’attente à long terme. Lorsqu’une place se libère dans la file d’attente à court terme, la requête est transformée en processus et placée dans la file d’attente à court terme. Le processeur passe de l’exécution de A à B si : A émet un appel de service (une requête par exemple) A provoque une interruption Une opération E/S de B s’achève : une interruption E/S vient d’être reçue du module E/S Sauvegarde des données contextuelles de A. Eventuellement restauration des données contextuelles de B. Exécution de B. une fois B terminée, le système d’exploitation revient à A. Le processeur alterne entre l’exécution du système d’exploitation et des processus utilisateur. Lorsque c’est au tour du système d’exploitation, il choisit le prochain processus dans la file d’attente à court terme. Chaque tâche a une priorité, le système d’exploitation est chargé d’orienter le processeur vers les tâches les plus urgentes. La gestion mémoire La file d’attente à long terme est en général sur le disque. La file d’attente à court terme est dans la mémoire principale. Permutation : Un processus de la d’attente à court terme est en attente d’une opération d’E/S, il est placé sur une file d’attente intermédiarie située sur le disque Le système d’exploitation amène alors en mémoire principale un autre processus du disque Partitionnement de la mémoire : Partitions de tailles fixes : gaspillage de la mémoire : certaines zones sont non utilisées. Partitions de tailles variables bien plus efficace : allocation de la taille exactement requise pour chaque processus de la mémoire. Néanmoins, à force de permuter des processus, on peut avoir certains trous. Compactage : le système d’exploitation déplace les processus. Les unités de programmes sont des pages. Les cadres disponibles dans la mémoire sont des pages mémoires. Les pages sont affefctées à des pages mémoires : Possibilité de charger le programme par morceau Le système d’exploitation tient à jour une table des pages pour chaque processus. La mémoire virtuelle repose sur la pagination à la demande : La page d’un programme n’est appelée que lorsque l’on en a besoin Seules quelques pages sont en mémoire principale La taille d’un processur peut être supérieur à la taille de la mémoire principale Un utilisateura l’impression d’avoir à faire à une mémoire beaucoup plus grande qu’elle n’est réellement : c’est la mémoire virtuelle. L’ORDINATEUR. Fonction d’un ordinateur. La mémoire c ache La mémoire interne La mémoire externe Les Entrées/Sorties Support du système d’exploitation. FONCTION. Exécuter des programmes. Les porgrammes se composent d’un ensemble d’instructions. Les instructions sont rangées en mémoire. Les composants : o Processeur = calcul o Mémoire = stockage de données a long et court terme. o Module E/S = o Bus système = prend en charge toute les communications au sein de l’ordinateur. Faire un schéma fonctionnel d’un ordinateur à partir de la description faite ci-dessus. Le processeur lit une à une les instructions dans la mémoire et les exécute. Le cycle d’instruction est le traitement nécesaire pour une instruction. Lecture d’une instruction Lecture d’une ou plusieurs opérandes Rangement d’une ou plusieurs opérandes. Test d’interruption Le CP (compteur de programme) contient l’adresse de la prochaine instruction à lire Il est incrémenté à chaque lecture. Le processeur place l’instruction dans le CP dans le RI (Registre Interne) et incrémente le CP. Puis il traite l’instruction. L’instruction peut être : Une lecture ou une écriture mémoire Une lecture ou une écriture dans les E/S Un traitement arithmétique te logique des données Un contrôle : La prochaine instruction est a l’adresse … o (Cas des instructions conditionnelles et des appels de sous-programmes). Une interruption comme (son nom l’indique) interrompt le cycle d’instructions ou le programme en cours d’exécution. Les interruptions peuvent être : Une interruption programme o Dépassement de capacité o Division par 0 o Instruction légale Un temporisateur o Permet au système d’exploitation d’effectuer régulièrement certaines fonctions Une interruption E/S o Exemple : L’utilisateur écrit au clavier. Une défaillance matérielle. Pour chaque périphériques E/S il y un gestionnaire d’interruption Un périphéique E/S peut être : Une imprimante Un disque Un modem Un clavier Une souris Les différentes structures de bus : Les lignes de données : o Transmettent uniquement des données. o Déterminent les performances. Les lignes d’adresse : o Désignent la source ou la destination des données du bus de données. Les lignes de contrôles : o Contrôlent l’accès et l’utilisation des lignes de données et d’adresse. Physiquement, ce sont des lignes métalliques gravées sur la carte. Ordinateurs modernes. Hiérarchisation des bus Des tampons sont rajoutés entre les bus Le bus PCI : o Bus interne permettant de connecter des cartes d’extension sur la carte mère d’un ordinateur. o Bus haut débit o Indépendant du processeur o Meilleures performances que le bus système MEMOIRE CACHE Pour améliorer les performances. Garder au plus près du processeur (en cache), les accès récents De manières à accéder le moins possible à la mémoire externe. La mémoire cache est une copie de certaines parties de la mémoire principale. Lorsque le processeur tente de lire un mot, il vérifie auparavant s’il ne trouve le trouve pas déjà dans le cache. L’accès aux mots est ainsi plus rapide. Si le mot ne se trouve pas dans le cache, on charge auparavant un bloc dans le cache. Puis le cache donne l’accès au mot au processeur. Il est fort possible que lorsqu’on souhaite accéder à une information d’un bloc, on souhaite accéder aux informations environnantes de ce mot dans le bloc. Le cache doit être suffisamment grand Pour stocker toute les données nécessaires. Le cache doit être suffisamment réduit Pour permettre d’accéder aux informations rapidement. Hiérarchie des caches. Power PC G4. 1 cache internet : cache L1 o Un cache pour les données de 32 Ko o Un cache pour les instructions de 32 Ko 2 Caches externes o Cache L2 : Cache mixte (données et instruction) de 256 Ko à 1 Mo. o Cache L3 : Cache mixte (Données et instructions) Pentium 4 : 1 Cache interne : cache L1 o Un cache pour les données de 8 Ko o Un cache pour les instructions de 8 Ko. Un cache externe : Cache L2. o Un cache mixte (Données et instructions) de 256 Ko. Il existe différents algorithmes pour remplacer les blocs dans le cache. Du plus efficace au moins efficace : Moins récemment utilisé : o LRU : Least Recently Used Premier entré premier sorti o FIFO : First In First Out Moins fréquemment utilisé : o LFU : Least Frequently Used Remplacement. LA MEMOIRE INTERNE. C’est la mémoire principale de l’ordinateur. On l’appelle la DRAM (Dynamic Random Access Memory). Mémoire vive interne L’information est une charge életrique sur un condensateur Cette charge diminue avec le temps et doit être rafraîchies régulièrement. Une valeur seuil dtermine si c’est un 1 ou un 0 pour le bit. L’information s’efface avc le temps : o Il est utile d’attendre 20 secondes entre chaque allumage d’un ordi pour bien effacer tout. DRAM Synchrone. (SDRAM). Echange les données avec le processeur en synchronisation avec une horloge interne Quand une requete est faite par le processeur, le nombre de cycle au bout duquel la DRAM aura fait l’action est connu par avance. o Le processeur peut donc continuer a travailler La SDRAM peut envoyer des données en rafale. Aujourd’hui la DDR-SDRAM peut envoyer des données vers le processeur 2 fois par cycle (contre 1 pour la SDRAM) DRAM RAMBUS. (RDRAM) de Intel Principale concurrente de la SDRAM. Basée sur un bus interne qui définit la vitesse de transmission Le type d’action est transmis par le bus et intégré aux données transmises. o Gain de temps o Vitesse du Bus : 800 Mbit/s DRAM Cache (CDRAM) de Mitsubishi Elle incluse un cache SRAM de 16 Ko Elle peut servir de véritable cache ou de tampon pour prendre en charge l’accès séquentiel à un bloc de données. Préchargement dans la SRAM cache. STATIC RANDOM ACCES MEMORY. Mémoire vive interne statique La plus rapide à se décharger. Tout disparaît lorsque l’alimentation est coupée. Utilisée pour le cache, afin de ne pas avoir de données parasites ROM (Read-Only Memory) Mémoire morte Mémoire permanente (non volatile, lecture seule) les données ne peuvent être effacées. Elle sert aux : o Sous-programmes des bibliothèques pour les fonctions fréquemment utilisées. o Programmes du système o Tableaux de fonctions. PROM Programmable ROM ROM programmable une seule fois EPROM Erasable PROM ROM effaçable et reprogrammable globalement et électriquement (par rayonnement UV). EEPROM Electrical EPROM EPROM programmable octet par octet. MEMOIRE FLASH PROM effaçable par bloc. LA MEMOIRE EXTERNE. Différents types de mémoirés externe : Disque magnétique : Technologie RAID (sans perte) Mémoire optique (CDROM, DVDROM) Bande magnétique (cassette) Mémoire flash externe (Clé USB, cartes mémoires…) DISQUE MAGNETIQUE : Aspect physique : C’est un plateau rond composé D’un matériau non magnétique Recouvert d’un plateau Les données sont enregistrées puis récupérées via une bobine conductrice : la tête. La tête est fixe et le plateau tourne en dessous en phase de lecture et d’écriture. Sur la plupart des disques, on à une tête de lecture et une tête d’écriture. Sur la plateau, les données sont organisées en anneaux concentriques : les pistes Largeur d’une piste = largeur de tête. Une surface contient des milliers de pistes Des espaces entre les pistes évitent les erreurs induites par un mauvais alignement de la tête sur les pistes. Les pistes sont divisées en secteurs. Quelques centaines de secteurs par piste La longueur d’un secteur est fixe : 512 octets. Les secteurs adjacents sont séparés par les espaces intersecteur. Des marqueurs invisbles à l’utilisateur délimitent chaque secteur : Début Taille Identifiant du secteur Numéro de piste Fin. Disque à tête fixe Une tête de lecture/écriture par piste Disque à tête mobile. Une seule tête de lecture/écriture. Montée sur un bras déployable et rétractable Un arbre fait tourner le disque. Les pistes d’une surface de plateau constitue un cylindre. 2 types de disques : Disques simple face Disque double face o Une couche magnétique sur les 2 faces du plateau Certains disques contiennent plusieurs plateaux o Une tête par surface de plateau Pour mesurer la performance des accès à un disque : Temps d’attente du composant. o Lorsqu’un processus émet une requête d’E/S, il doit d’abord attendre dans une file d’attente qu’un composant soit disponible avant de lui être assigné. Temps d’attente du canal : o Si le canal est partagé avec d’autres lecteurs de disques, il y a un délai d’attente supplémentaire. Temps de positionnement : o Temps nécessaire pour positionner la tête au dessus de la piste. o Disques durs modernes : <10 ms. o Le contrôleur de disque attend ensuite que le secteur approprié tourne pour venir s’aligner avec la tête. Délai dû au composant occupé : o Si le composant fait une autre tâche, il faut attendre qu’il ait fini son cycle. Délai de rotation : o Temps qu’il faut pour positionner le début du secteur sous la tête. o Disques durs modernes : Entre 100 et 50 ms. LA TECHNOLOGIE RAID. RAID = Reductant Array of Independant Disks. Réseaux redondants de dissques independents. Utilisation de plusieurs disques externes en parallèle. Ccès simultané à plusieurs disques 7 niveaux différents de 0 à 6. RAID 0 Pas de redondance Possibilité d’émettre 2 requetes MEMOIRE OPTIQUE : 1983 : Création Types de disques optiques : CD : Lecture Seule. Audio CD-ROM : Lecture Seule. Tout type d’information : 650 Mo CD-R : 1 écriture possible CD-RW : Ré-enregistrable DVD : Digital Versatile Disk. Lecture Seule. Vidéo DVD-/+R : DVD enregistrable une fois DVD-RW : DVD ré-enregistrable L’ORDINATEUR. Arithmétique des ordinateurs Représentation des nombres au format binaire. Les opérations arithmétiques et logiques sont faites par l’UAL. Conversion d’un nombre binaire en décimal : o 100101 = 1x2^5+1x2²+1x2^0. o 32+4+1=37. o Convertir en décimal les nombres suivants : 00100101 = 37 11100111 = 231 10011110 = 158 Pour convertir un nombre décimal en binaire, on effectue une division euclidienne par 2 de ce nombre … et une fois fini, on remonte avec les restes … 128 = 1000 000 254 = 1111 1101 53 = 0011 0101 76 = 0100 1100 89 = 0101 1001 41 = 0010 1001 2 représentations pour les entiers signés : o Représentation signe et valeur absolue sur 4 bits + 2 = 0 010 - 2 = 1 010 o Représentation en complément à 2 sur 4 bits + 2 = 0010 = 2^1 - 2 = 1110 = - 2^3 + 2² + 2 + 0x2^0 = - 8 + 4 + 2 Valeur décimale 8 Valeur binaire absolue 1000 Valeur complément a 2 000 7 0111 0111 6 0110 0110 5 0101 0101 4 0100 0100 3 0011 0011 2 0010 0010 1 0001 0001 0 0000/1000 0000 -1 1001 1111 -2 1010 1110 -3 1011 1101 -4 1100 1100 -5 1101 1011 -6 1110 1010 -7 1111 1001 -8 / 1000 Addition avec des nombres binaires en complément à 2 Faire les additions suivantes (-7) + 5 = -2 1001 +0101 ===== 1110 2-7 = -5 0010 1001 1011 0010 0111 1011 III. Les indicateurs de mesure de la demande. La demande en volume La demande en valeur. Le taux d’équipement. L’élasticité = Permet de mesurer la variation de la demande soit par rapport aux variation du prix soit par rapport aux variations de revenus. Les prix baissent et la demande augmente : élasticité négative. Le prix varie, la demande est rigide (elle ne bouge pas) : elasticité nulle. Si l