Cours Architecture (ASR 2) IUT de Nice - Côte d Azur Département Informatique Gaetan.Rey@unice.fr Stéphane Gaëtan Lavirotte Rey Gaëtan Rey Jean-Yves Tigli De quoi est composé un ordinateur? Quels sont les modèles sous-jacents au fonctionnement d une machine? Objectif du cours Comment s exécutent les programmes? Quel est le lien entre le logiciel et le matériel? Comment fonctionnent les divers périphériques? Janvier 200 Gaëtan Rey - DUT Informatique de Nice 2 Organisation du Cours Le Projet () Les séances 7 x h30 de cours 0 x h30 de TP Les intervenants Marcela Rivera (4 groupes TP) Gaëtan Rey ( groupe TP + cours) Les évaluations un devoir surveillé un contrôle possible à chaque séance TP un projet bibliographique Rédiger un article sur un sujet en rapport avec le cours Article technique Sujets complexes et non traités en cours Consignes Respecter les consignes «Hermès» Taille limitée de 8 à 2 pages Attention S approprier le sujet sans faire du plagiat Référencer et diversifier vos sources. Janvier 200 Gaëtan Rey - DUT Informatique de Nice 3 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 4 Le Projet (2) Les sujets possible pour le Projet Publication en ligne des meilleurs articles Objectif est de créer une mini revue technique Des questions à l exam sur les meilleurs articles Pour la semaine prochaine Établir les groupes Choisir et faire valider un sujet par groupe Le reste du projet À faire en dehors des cours A rendre avant le 9 avril à 2h00 Les Ecrans plats (Plasma, LCD, SED, OLED ) Les Disques Durs Les CD-ROM, DVD-ROM et BD-ROM Architecture 680x0 Architecture SPARC Architecture POWER Architecture ARM Architecture Cell Architecture IA-64 Architecture MIPS Le Front Site Bus Les bus PCI / PCI-X Les bus ISA / EISA / VLB La loi de Moore et la Loi de Rock Le standard SCSI Le standard ATA (IDE et ATAPI) Le standard SATA Les mémoires statiques (SRAM ) Les mémoires Dynamiques (DRAM ) Les mémoires Vidéos (VRAM ) Janvier 200 Gaëtan Rey - DUT Informatique de Nice 5 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 6
Introduction Représentation de l information Arithmétique binaire Algèbre de Boole Circuits séquentiels/automates Architecture type Von Neumann Couche d assemblage / Assembleur 8086 Mécanismes d interruptions Fonctions avancées de processeurs modernes Gestion de la mémoire Traduction de programmes, compilation édition de liens, chargement Entrée / Sortie Périphériques Plan Processeur Contraintes de conception Temps accès / Vitesse Capacité Registres Prix Cache «on chip» Cache «off chip» centrale Stockage Magnétique Archivage Janvier 200 Gaëtan Rey - DUT Informatique de Nice 98 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 99 Objectifs Grande vitesse Taille importante Prix pas trop élevé Cache N de ligne 0 2 Organisation d un Adresse mémoire 0 Transfert de mots Transfert de blocs C- Processeur Cache principale Longueur du bloc M = 2 n /K blocs C*K << M 2 n - Longueur du mot Janvier 200 Gaëtan Rey - DUT Informatique de Nice 200 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 20 Fonction de correspondance Nombre de Lignes du < Nombre de s Comment faire la correspondance entre les lignes et les blocs? 3 techniques de correspondances Directe Associative Associative par ensemble La technique utilisée détermine l organisation du Correspondance directe () Chaque bloc mémoire est associé à une seule ligne Simple et peu couteux Problème de concurrence entre 2 blocs sur une même ligne Fonction de correspondance : i = j modulo m i = n de la ligne de j = n du bloc m = nb de ligne de (s-r Adresse bits) bloc mémoire (s Ligne bits) (s(r + bits) w bits) Adresse mots dans le bloc (w bits) Janvier 200 Gaëtan Rey - DUT Informatique de Nice 202 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 203 2
Correspondance directe (2) Nombre de lignes dans le = m = 2 r = 2 4 lignes Taille de l étiquette = (s - r) bits = 8 bits Correspondance directe (3) Adresse Adresse mémoire mémoire en hexadecimal en binaire 0006 0000 0000 00 60004 0000 00 0004 0000 00 00000 Ligne + mot Janvier 200 Gaëtan Rey - DUT Informatique de Nice 204 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 205 Correspondance associative () Eviter le problème d association bloc-ligne Adresse du bloc = adresse de l étiquette Adresse bloc (s bits) Adresse Opération de lecture Parcours de l ensemble de la table Défaut de besoin d un algorithme de remplacement (w bits) Adresse mots dans le bloc Correspondance associative (2) Nombre de lignes dans le => indéterminé Taille de l étiquette = s bits = 22 bits Janvier 200 Gaëtan Rey - DUT Informatique de Nice 206 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 207 Correspondance associative (3) Adresse mémoire en binaire 000 000 000 00 00 0 0000 mot Correspondance associative par ensemble () Compromis entre les 2 approches précédentes Profiter des avantages des 2 approches Minimiser leurs inconvénients Le est divisé en V ensemble de K lignes m = k * v Fonction de correspondance : i = j modulo v i = n d ensemble du j = n du bloc m = nb de ligne de Le bloc est alors placer dans n importe quelle ligne de ensemble identifié Janvier 200 Gaëtan Rey - DUT Informatique de Nice 208 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 209 3
Correspondance associative par ensemble (2) Nombre de ligne dans l ensemble = k Nombre d ensemble v = 2 d Nombre de lignes dans le = k * v = k * 2 d Taille de l étiquette = (s - d) bits K = 2 V =2 3 Taille étiq. =9bits Correspondance associative par ensemble (3) Adresse mémoire en binaire 0 0000 000 00 00 000 00 00000 Ensemble + mot mot Janvier 200 Gaëtan Rey - DUT Informatique de Nice 20 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 2 Algorithmes de remplacement Quel bloc enlever quand on charge un nouveau bloc? Correspondance direct : pas de choix, problème résolu Correspondance associative : au choix dans le Correspondance associative k voies : au choix dans l ensemble Algorithmes implémentées en hardware Aléatoire : un remplace un bloc de manière aléatoire FIFO (First In First Out) : remplace le bloc le plus ancien LFU (Least Frequently Used) : remplace le bloc le moins référencé. LRU (Least Recently Used) : remplace le bloc qui se trouve dans le depuis le plus longtemps sans avoir été référencé Stratégie d écriture Quand on remplace un bloc, que doit on faire du bloc qui se trouve dans le? Si bloc non modifié : rien à faire Si bloc modifié : sauvegarder le résultat t en mémoire Problème : cohérence mémoire <-> processeur processeur? mémoire Janvier 200 Gaëtan Rey - DUT Informatique de Nice 22 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 23 Autres éléments sur les s Taille des blocs Plus les blocs sont gros, moins il y en aura en mémoire, plus on remplacera des blocs récents Plus les blocs sont gros, plus on charge de données éloignées de celles demandées. Caches multi-niveaux Actuellement L, L2 et L3 Inclusif (core 2 duro, core i7) ou (pseudo-)exclusif (Phenom) Caches unifiés ou séparés Unifiés : le mélanges les données et les instructions Séparés : un pour les instructions, un autre pour les données Références bibliographique () «Architecture de l ordinateur», Andrew Tanenbaum chez Pearson Education (5eme édition) «Organisation et architecture de l ordinateur», William Stallings chez Pearson Education (6eme édition) «Programmer en Assembleur sur PC», Holger Schakel chez Micro application «Compilateur», Dick Grune, Henri E. Bal chez Dunod «Architecture des Ordinateurs», Cecile Germain et Daniel Etiemble Janvier 200 Gaëtan Rey - DUT Informatique de Nice 24 Janvier 200 Gaëtan Rey - DUT Informatique de Nice 380 4
Références bibliographique (2) «Une introduction au langage assembleur», Djamal Rebaïne «Architecture des ordinateurs», Emmanuel Viennet «Architecture t», Michel Meynard «Introduction à la programmation en Assembleur», Pierre Jourlin «ASR» et «ASR 2», Joanna Moulierac http://www.commentcamarche.net/ Janvier 200 Gaëtan Rey - DUT Informatique de Nice 38 5