Architecture des ordinateurs François TOUCHARD Polytech Marseille et CPPM http://francois.touchard.perso.luminy.univ-amu.fr/ francois.touchard at univ-amu.fr INFO3 2017-18 F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 CV ingénieur ESPCI (physicien) doctorats en physique nucléaire et physique des particules spécialisé dans les systèmes d'acquisition de données et de déclenchement des détecteurs de physique des particules ● recherche actuelle sur le détecteur ATLAS au CERN ● ● ● ➢ ➢ ● système de déclenchement grilles de calcul pour l'analyse des données professeur à l'Université d'Aix-Marseille, Polytech Marseille, département Informatique 2 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 2 Vue aérienne du CERN F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 Le tunnel du LHC au CERN F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 4 expériences sur l'accélérateur F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS ● ● l'accélérateur produit une collision de particules toutes le 25 ns chaque seconde, on produit environ 60 Toctets de données brutes – – ● système de tri extrêmement puissant pour ne garder que des événements potentiellement intéressants (environ un sur un million) – ● impossibles à stocker (et à analyser) tous les événements produits ne nous intéressent pas on stocke quand même de l'ordre de 10 Poctets par an... l'analyse des données est réparties sur plus de 100 centres de calcul dans le monde entier Le système de déclenchement et d'acquisition ~9000 cœurs à 1.8 GHz F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 La salle de contrôle d'ATLAS F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 un événement un toutes les 25 nanosecondes F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 un autre événement F. Touchard Polytech Marseille INFO3 2017-18 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 Présentation du cours architecture matérielle des ordinateurs cours s'insérant dans un concept plus large de description des systèmes informatiques et de leur organisation interne ● important de comprendre comment fonctionnent les outils que vous allez utiliser dans votre vie professionnelle ● présente la couche matérielle permettant d'exécuter les logiciels de base (LdB, cf cours de L. Mugwaneza) ● ● ➢ ➢ cours + TD projet 14 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 14 Présentation du cours ● Support de cours ➢ matériel disponible sur la page web http://francois.touchard.perso.luminy.univ-amu.fr/ ✔ ✔ ✔ ● transparents TD références bibliographiques et sites web contrôles : ➢ ➢ ➢ ➢ examen écrit à la fin du module contrôle(s) écrit(s) en cours ou en TD (20 à 30% de la note finale) présence obligatoire (contrôlée) projet, noté à part 15 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 15 Introduction ● science relativement récente ➢ ● apparue au milieu du 20ème siècle en évolution constante 16 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 16 Introduction ● l'ancêtre : ENIAC (1946) 17 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 17 Introduction ● puis les mainframes : IBM 7090 (1959) 18 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 18 Introduction ● les minis : PDP8 (1965) 19 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 19 Introduction ● les stations de travail (~1985) : VAXStation 3100 20 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 20 Introduction ● et maintenant les serveurs organisés en clusters ➢ ➢ fermés clouds 21 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 21 Introduction ● ou les tablettes et autres smartphones 22 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 22 Introduction maintenant, les processeurs sont plus complexes, plus rapides ● mais l'architecture interne reste organisée de façon à peu près similaire ● plusieurs familles d'architectures ● ➢ CISC ✔ ➢ RISC ✔ ● Intel (x86), AMD MIPS, ARM, PowerPC on va se focaliser sur une architecture RISC (MIPS) 23 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 23 Architecture générale une application va consister en un code écrit dans un langage de haut niveau ● au plus bas niveau, la machine ne sait exécuter qu'un nombre restreint d'opérations élémentaires ● on passe du langage de haut niveau aux opérations élémentaires grâce aux logiciels de base ● ➢ ➢ ● compilateurs système d'exploitation le code exécutable est constitué d'instructions pour manipuler des données ➢ ➢ ➢ ➢ ➢ modifications comparaisons branchements entrées/sorties vers tous types de périphériques etc... 24 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 24 Architecture générale – blocs fonctionnels le processeur traite l'information en exécutant des instructions sur des données ● les données sont déplacées d'un point à l'autre du processeur via un chemin de données grâce à des éléments de contrôle ● physiquement ➢ les instructions et les données sont stockées dans une mémoire ➢ le processeur accède aux instructions et aux données par un bus ➢ l'interaction avec l'extérieur se fait par des périphériques d'entrée/sortie ● 25 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 25 Architecture générale - blocs fonctionnels ● architecture d'un ordinateur : ➢ ➢ ● description des unités fonctionnelles description de leurs interconnexions compromis entre : ➢ ➢ ➢ ➢ performances et coûts efficacité et facilité de construction performances et facilités de programmation etc... 26 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 26 Composants d'un ordinateur ● 5 composants de base ➢ dispositifs d'entrée ✔ ✔ ✔ ✔ ➢ dispositifs de sortie ✔ ✔ ✔ ➢ ➢ clavier, souris, disque dur, disque optique, réseau... écran, disque dur, disque optique, réseau... mémoire processeur ✔ ✔ unité de calcul (chemin de données) unité de contrôle 27 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 27 Carte-mère ● support contenant le matériel électronique ➢ ➢ ➢ ➢ processeur mémoire mémoire cache interfaces (chipsets, périphériques, bus, etc...) © MSI K8T Neo 28 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 28 Processeur (Pentium 4) Control Control I/O interface Instruction cache Data cache Integer datapath Secondary cache and memory interface 15,7 mm Enhanced floating point and multimedia Control Advanced pipelining hyperthreading support Control 13,8 mm 29 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 29 Fonctionnement du processeur ● Cf cours de Logiciel de Base ➢ ● basé sur l'architecture MIPS réalisation d'une simple addition ➢ ➢ ➢ a = b+c instruction add a, b, c place dans la variable a la somme b+c utilise des registres pour stocker les variables et une unité arithmétique pour réaliser la somme spécificité MIPS : nombre fixe d'opérandes pour avoir une implémentation matérielle simple ● addition de plus de 2 variables ● ➢ ➢ ➢ a = b+c+d+e add a, b, c # la somme de b et c est placée dans a add a, a, d # la somme de b, c et d est dans a add a, a, e # la somme de b, c, d et e est dans a nécessite une séquence de 3 instructions 30 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 30 Fonctionnement du processeur ● pour exécuter l'opération a = (b+c) - (e+f) ➢ ➢ ➢ ● séquence de 3 instructions add t0, b, c add t1, e, f sub a, t0, t1 utilisation des variables intermédiaires t0 et t1 les opérandes de l'unité arithmétique ➢ ➢ ➢ limités à certains emplacements spéciaux liés au matériel appelés registres constituent l'interface entre le programme et le matériel, visibles des 2 points de vue leur nombre et leur taille dépendent du matériel (32 registres de 32 bits dans l'architecture MIPS) 31 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 31 Fonctionnement du processeur ● les registres de l'architecture MIPS ➢ ➢ leur nombre (32) résulte d'un compromis entre la vitesse d'exécution et la commodité de programmation séparés en 2 groupes, avec pour convention de notation : ✔ ✔ ● les registres pour les variables "permanentes" : $s0, $s1, ... les registres pour les variables "temporaires" : $t0, $t1, ... les 32 registres sont insuffisants pour stocker toutes les variables d'un programme un peu complexe ➢ ➢ ➢ stockage des variables dans des zones de la mémoire associée au processeur nécessité d'avoir des instructions pour aller lire et sauvegarder dans la mémoire : lw et sw exemple : pour exécuter A[12] = h + A[8] lw $t0, 32($s3) add $t0, $s2, $t0 sw $t0, 48(s3) 32 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 32 Fonctionnement du processeur ● chaque architecture (processeur) possède un ensemble d'instructions de base (Instruction Set Architecture : ISA) ➢ ➢ ➢ ● opérations de chargement, stockage en mémoire opérations arithmétiques opérations de comparaison, etc... chaque instruction et ses opérandes sont identifiés (représentés) par une séquence de bits ➢ ➢ ➢ ➢ l'instruction est codée dans les 6 bits de poids fort les registres $s0 à $s7 correspondent aux numéros 16 à 23 les registres $t0 à $t7 correspondent aux numéros 8 à 15 exemple : add $t0, $s1, $s2 sera codé 0 17 18 8 0 32 code opération identification registres inutilisé 33 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 33 Fonctionnement du processeur ● chaque architecture (processeur) possède un ensemble d'instructions de base (Instruction Set Architecture : ISA) ➢ ➢ ➢ ● opérations de chargement, stockage en mémoire opérations arithmétiques opérations de comparaison, etc... chaque instruction et ses opérandes sont identifiés (représentés) par une séquence de bits ➢ ➢ ➢ ➢ l'instruction est codée dans les 6 bits de poids fort les registres $s0 à $s7 correspondent aux numéros 16 à 23 les registres $t0 à $t7 correspondent aux numéros 8 à 15 exemple : add $t0, $s1, $s2 sera codé 0 17 18 8 0 32 ou en binaire : 000000 10001 10010 01000 00000 100000 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 34 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 34 Fonctionnement du processeur ● étapes nécessaires pour l'exécution des instructions ➢ ➢ ➢ ➢ ➢ ➢ ➢ ● chargement de l'instruction décodage de l'instruction localisation dans les mémoire des données nécessaires chargement des données (si nécessaire) exécution de l'instruction sauvegarde des résultats dans leurs destinations passage à l'instruction suivante unité fonctionnelle associée à chacune des étapes 35 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 35 Fonctionnement du processeur ● l'unité centrale de traitement comprend : ➢ une unité de commande ✔ ✔ ➢ une unité arithmétique et logique (UAL ou ALU) ✔ ➢ ✔ ✔ ✔ ➢ exécute les instructions arithmétiques (+, -, ...) et logiques (ET, OU, ...), les comparaisons, etc... des registres (mémoire locale rapide) ✔ ➢ décodeur pour les instructions séquenceur pour contrôler les circuits nécessaire à l'exécution de l'instruction en cours compteur ordinal registre d'instruction registre d'état pile et pointeur de pile de la mémoire locale (cache) éventuellement des co-processeurs 36 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 36 Fonctionnement du processeur ● les élément de l'unité centrale de traitement sont cadencés par une horloge commune ➢ ➢ à chaque cycle, chacune des unités va ouvrir ou fermer des portes pour déplacer, lire, écrire, comparer, additionner des bits, en fonctions des ordres de l'unité de contrôle, qui vont dépendre de l'instruction à exécuter les performances de l'unité centrale peuvent être améliorées en augmentant la cadence de l'horloge et en parallélisant l'exécution des instructions (nécessite une programmation adaptée → compilateur) 37 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 37 Les briques élémentaires ● les ordinateurs vont manipuler des entités représentées par des bits (0/1) ➢ ➢ logique « booléenne » pour les opérations élémentaires logique « combinatoire » pour manipuler ✔ ➢ logique « séquentielle » pour réaliser des opérations dépendant du temps ✔ ➢ la plus fréquente : VLSI pour stocker temporairement ou définitivement les données ➢ ➢ ● bascules, registres, compteurs l'électronique nécessaire utilise différentes technologies ✔ ● additionner, soustraire, comparer, multiplexer, etc... mémoires vives (RAM) mémoires mortes (ROM) pour effectuer des traitements spécialisés ➢ circuits dédiés, éventuellement programmables 38 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 38 Les briques élémentaires ● à partir des ces briques, constructions d'entités complexes ➢ ➢ ● contrôleurs processeurs (CPU) et des « accessoires » pour assurer leur fonctionnement dans le contexte de l'application ➢ périphériques et gestion des interruptions 39 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 39 Plan du cours ● ● ● ● ● notions sur la technologie VLSI logique booléenne logique combinatoire logique séquentielle mémoires ➢ ➢ ➢ ● ● ● vives mortes circuits programmables CPU gestion des interruptions périphériques 40 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 40 Technologie VLSI pour manipuler les bits, on assemble des réseaux de transistors qui peuvent être conducteurs ou isolants selon la polarisation qu'on leur impose par un signal de commande ● technologie CMOS (Complementary Metal Oxyde Semiconductor) ● ➢ modification de la conductance d'un support de silicium par dopage chimique 41 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 41 Technologie VLSI pour manipuler les bits, on assemble des réseaux de transistors qui peuvent être conducteurs ou isolants selon la polarisation qu'on leur impose par un signal de commande ● technologie CMOS (Complementary Metal Oxyde Semiconductor) ● ➢ ➢ modification de la conductance d'un support de silicium par dopage chimique isolant quand très pur ✔ ✔ dopage N (arsenic, phosphore) → électrons mobiles dopage P (bore, gallium) → trous mobiles 42 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 42 Technologie VLSI ● diode juxtaposition de deux zones, une dopée N, l'autre dopée P © illustrations : F. Anceau (CNAM) ➢ 43 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 43 Technologie VLSI ● diode ➢ © illustrations : F. Anceau (CNAM) ➢ juxtaposition de deux zones, une dopée N, l'autre dopée P au repos, polarisation naturelle par transfert de trous et d'électrons entre les deux zones 44 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 44 Technologie VLSI ● diode une polarisation directe (- sur la zone N, + sur la zone P) supérieure à la polarisation naturelle ("seuil") va provoquer la circulation d'un courant © illustrations : F. Anceau (CNAM) ➢ 45 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 45 Technologie VLSI ● diode © illustrations : F. Anceau (CNAM) ➢ une polarisation inverse (+ sur la zone N, - sur la zone P) va créer une région déplétée isolante cathode anode 46 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 46 Technologie VLSI ● capacité (condensateur) ➢ ➢ © illustrations : F. Anceau (CNAM) ➢ armature métallique + couche isolante + substrat semi-conducteur (ici dopé P) à la masse (0V) 47 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 47 Technologie VLSI ● capacité en cas de polarisation négative de l'électrode métallique ⇒ renforcement de la densité de trous © illustrations : F. Anceau (CNAM) ➢ 48 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 48 Technologie VLSI ● capacité en cas de polarisation positive de l'électrode métallique ⇒ disparition des trous et éventuellement accumulation d'électrons jusqu'à l'obtention locale d'un semi-conducteur de type N © illustrations : F. Anceau (CNAM) ➢ 49 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 49 Technologie VLSI ● transistor C-MOS ➢ © illustrations : F. Anceau (CNAM) ➢ capacité MOS (grille) + 2 zones de contact en semi-conducteur de type opposé à celui de la grille (source et drain) transistor de type N ➢ en cas de polarisation positive suffisamment élevée de la grille, le courant pourra passer de la source au drain 50 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 50 Technologie VLSI ● transistor C-MOS ➢ un transistor peut être considéré comme un interrupteur : G=0 G=1 G=0 G=1 51 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 51 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 52 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 52 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 53 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 53 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 54 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 54 Technologie VLSI ● avec des transistors et des inverseurs, on va pouvoir créer tous les outils nécessaires pour construire un ordinateur ! 55 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 55 à suivre... Logique booléenne 56 F. Touchard Polytech Marseille INFO3 2017-18 Cours d'Architecture Introduction ©GFGPL 2015 56