Architecture des ordinateurs François TOUCHARD Polytech Marseille et CPPM http://francois.touchard.perso.luminy.univ-amu.fr/ INFO3 2016-17 F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 CV ingénieur ESPCI (physicien) doctorat en physique nucléaire et 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 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 2 Vue aérienne du CERN F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 Le tunnel du LHC au CERN F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 L'expérience ATLAS F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 Le système de déclenchement et d'acquisition ~9000 cœurs à 1.8 GHz F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 La salle de contrôle d'ATLAS F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 un événement un toutes les 25 nanosecondes F. Touchard Polytech Marseille INFO3 2016-17 Cours Architecture des ordinateurs Introduction ©GFGPL 2015 un événement F. Touchard Polytech Marseille INFO3 2016-17 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 ● présente la couche matérielle permettant d'exécuter les logiciels de base (cf cours de L. Mugwaneza) ● ● ➢ ➢ cours + TD projet 12 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 12 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) ✔ ➢ présence => 1 à 2 points en plus ou en moins sur la moyenne finale projet, noté à part 13 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 13 Introduction ● science relativement récente ➢ ● apparue au milieu du 20ème siècle en évolution constante ➢ d'abord réservée au calcul scientifique maintenant s'applique aussi dans l'industrie et le tertiaire ✔ ✔ ✔ ✔ ➢ contrôle de processus automatisation communication commerce initialement confinée dans les labos de recherche 14 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 14 Introduction ● l'ancêtre : ENIAC (1946) 15 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 15 Introduction ● puis les mainframes : IBM 7090 (1959) 16 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 16 Introduction ● les minis : PDP8 (1965) 17 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 17 Introduction ● les stations de travail (~1985) : VAXStation 3100 18 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 18 Introduction ● et maintenant les serveurs organisés en clusters ➢ fermés ou clouds 19 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 19 Introduction ● ou les tablettes et autres smartphones 20 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 20 Introduction ● ● les processeurs sont plus complexes, plus rapides mais l'architecture interne reste organisée de façon à peu près similaire 21 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 21 Architecture générale une application va consister en un code écrit dans un langage de haut 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... 22 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 22 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 ● 23 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 23 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... 24 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 24 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 unité de calcul (chemin de données) unité de contrôle 25 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 25 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 26 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 26 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 27 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 27 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 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écessité d'une séquence de 3 instructions 28 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 28 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) 29 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 29 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, ... l'opération a = (b+c) - (d+e) se programmera par add $t0, $s1, $s2 add $t1, $s2, $s3 sub $s0, $t0, $t1 30 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 30 Fonctionnement du processeur ● 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) 31 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 31 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 ➢ ➢ ➢ 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é 32 F. Touchard Polytech Marseille INFO3 2016-17 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 ➢ ➢ ➢ 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 33 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 33 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 34 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 34 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 35 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 35 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) 36 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 36 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 ✔ ● additionner, soustraire, comparer, multiplexer, etc... bascules, registres, compteurs pour stocker temporairement ou définitivement les données ➢ ➢ mémoires vives (RAM) mémoires mortes (ROM) 37 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 37 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 38 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 38 Plan du cours ● ● ● ● ● notions sur la technologie VLSI logique booléenne logique combinatoire logique séquentielle mémoires ➢ ➢ ● ● ● vives mortes CPU gestion des interruptions périphériques 39 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 39 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 ✔ ✔ F. Touchard dopage N (arsenic, phosphore) électrons mobiles dopage P (bore, gallium) trous mobiles Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 40 40 Technologie VLSI ● diode ➢ juxtaposition de deux zones, une dopée N, l'autre dopée P 41 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 41 Technologie VLSI ● diode ➢ ➢ 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 42 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 42 Technologie VLSI ● diode ➢ une polarisation directe (- sur la zone N, + sur la zone P) supérieure à la polarisation naturelle va provoquer la circulation d'un courant 43 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 43 Technologie VLSI ● diode ➢ une polarisation inverse (+ sur la zone N, - sur la zone P) va créer une région déplétée isolante cathode anode 44 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 44 Technologie VLSI ● capacité (condensateur) ➢ ➢ ➢ armature métallique + couche isolante + substrat semi-conducteur (ici dopé P) à la masse (0V) 45 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 45 Technologie VLSI ● capacité ➢ en cas de polarisation négative de l'électrode métallique renforcement de la densité de trous 46 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 46 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 47 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 47 Technologie VLSI ● transistor C-MOS ➢ ➢ 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 48 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 48 Technologie VLSI ● transistor C-MOS ➢ un transistor peut être considéré comme un interrupteur : G=0 G=1 G=0 G=1 49 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 49 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 50 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 50 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 51 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 51 Technologie VLSI ● inverseur CMOS Vdd G S S Vss G 52 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 52 Technologie VLSI ● avec des transistors et des inverseurs, on va pouvoir créer tous les outils nécessaires pour construire un ordinateur ! 53 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 53 à suivre... Logique booléenne 54 F. Touchard Polytech Marseille INFO3 2016-17 Cours d'Architecture Introduction ©GFGPL 2015 54