Architecture des ordinateurs module I303 B. Miramond [email protected] www-etis.ensea.fr/Members/bmiramond/Cours/Enseignement.html 3 niveaux de travail Comprendre plus loin Un métier Pour savoir faire Un diplôme Pour comprendre Pour la note 26/11/07 Vous êtes ici 2 Objectif du module Théoriquement • Comprendre les mécanismes matériels essentiels de l’informatique. • Comprendre l’organisation de l’ordinateur autour de l’élément central, le processeur. • Pour cela, étudier les différentes couches qui structurent la machine et la philosophie de son utilisation. • En bref, du circuit numérique à l’architecture processeur Pratiquement 26/11/07 3 • Réaliser un simulateur de processeur 4 bits Programme du module 26/11/07 4 Architecture des ordinateurs Introduction & Historique 3h Cours 4h TDs Représentation des nombres Couche physique, circuits logiq. Circuits séquentiels Le chemin de donnée CC Couche micro-architecture Cycle d’exécution 26/11/07 Conclusion sur l’exécution 5 Parcours ‘architecture’ Architectures multimédia M2 Architecture avancée M1-S2 Informatique embarquée M1-S1 La programmation en assembleur L’exécution des programmes 26/11/07 L3 L2 6 Règles du jeu • • • • 8 séances de cours 8 séances de TDs 1 Note de Contrôle continu + 1 Projet 1 examen • Note finales N = (CC + 2P)/3 26/11/07 7 Evaluation du cours • Première année du cursus LMD • Evaluation des séances d’une semaine à l’autre • Quatre critères avec des notes de 1 à 3 – – – – Organisation Rapidité Difficulté Intérêt •26/11/07 Quelle façon de le mettre en place? 8 Note • Cette semaine CM également le Vendredi ! 26/11/07 9 Pourquoi l’architecture? • Support de l’informatique – Comprendre le mécanisme d’exécution des programmes • Programmes = Ordres (injonctions) = langage – Qu’est ce qu’un langage du point de vue matériel? • Couple (langage, machine) – La machine traduit le langage du programme, – un langage = une machine 26/11/07 • Ordinateur = machine multi-couches 10 Couche des langages d’application Niveau 5 Traduction (compilateur) Couche du langage d’assemblage Niveau 4 Traduction (assembleur) Couche du système d’exploitation Niveau 3 Interprétation partielle (OS) Niveau 2 Couche architecture du jeu d’instruction (ISA) Interprétation (microprogramme) ou exécution directe (cablé) Niveau 1 Couche microarchitecture Matériel 26/11/07 Niveau 0 Couche logique numérique 11 26/11/07 12 Chapitre 1 : L’histoire de l’ordinateur 26/11/07 13 Définition : L’ordinateur • Le terme 'ordinateur' est d’origine biblique – « celui qui met en ordre » (divin) – ordonnateur – « entrer dans les ordres », « ordination » • Il a été proposé par le professeur de philologie Jacques Perret dans une lettre datée du 16 avril 1955 en réponse à une demande d’IBM France 26/11/07 14 I. Génération zéro: les calculateurs mécaniques (1642-1945) 26/11/07 15 1. Le premier calculateur • a) Blaise Pascal (1623-1662) – 1642 Première calculatrice mécanique (à 19 ans) • Addition, soustraction en base 10 • b) Leibnitz (1646-1716) – 1670 Ajout de l’opération de multiplication, et division 26/11/07 16 La pascaline 26/11/07 17 • c) Charles Babbage (1792-1871) – « Machine à différence » : • un seul algorithme (méthode des différences finies) • pour les tables numériques pour la navigation en mer • Résultats gravés sur un plateau de cuivre – Machine analytique (1840) • Lecture sur des cartes perforées • Différents algorithmes exécutables !!! • 4 parties – Le magasin(la mémoire) = 1000 mots de 50 chiffres = 1,25Mo – Le moulin (l’unité de calcul) – L’entrée (lecteur de cartes perforées) – La sortie (perforation ou impression) – 1843 Premier programme informatique 26/11/07 • Ada Lovelace (langage d’assemblage) 18 Charles Babbage Première machine analytique 26/11/07 19 Ada Lovelace (Byron) • `Is thy face like thy mother's, my fair child! Ada! sole daughter of my house and of my heart? When last I saw thy young blue eyes they smiled' And then we parted,-not as now we part, but with a hope.' • From Childe Harold's Pilgrimage, Byron, (1816), Canto III. 26/11/07 20 II. La première génération les tubes à vides (1945-1955) 26/11/07 21 • Innovation – 1904 John Flemming invente le tube à vide : • Interrupteur électronique (pannes fréquentes, encombrant) • Alan Turing – 1943 Premier calculateur numérique – Resté sous silence pendant 30ans 26/11/07 22 1. Machine de Harvard • « the beginning of the era of the modern computer» • Ordinateur à relais Addition • 1944 Howard Aiken Multiplicatio – Mark 1 à Harvard n – Entièrement automatique Division – 16m x 2,5m – 4500 Kg – Démarré par un moteur 4 chevaux Logarithme – 72 mots de 23 chiffres trigo – Temps de cycle : 6 secondes – Soit 0.16 Hz 26/11/07 1s 6s 15,3s 1min 1min 23 Mark I 26/11/07 24 2. ENIAC • • • • Mauchly et Eckert Projet de l’US Army Premier ordinateur électronique Capable d’être reprogrammée par branchements • Vendue à 500 000$ à 1 unité • 1 cycle = 200ms soit 5 cycles/sec • Une multiplication de 2 opérandes à 10 chiffres prenait 14 cycles, soit 2800 us 26/11/07 25 • ENIAC (1946) – 30m de long – 2.5m de haut – 18 000 tubes à vide – 1500 relais – 30 Tonnes – 140 KW – 20 registres de 10 chiffres décimaux – 6000 commutateurs pour la programmation – Participant : Von Neumann 3. La machine de Von Neumann • A) Von Neumann (1903,1957) – Il se greffe au projet ENIAC après 1946 • Idées – On peut représenter le programme sous une forme numérique et le ranger en mémoire comme les données (plus de programmation des commutateurs) – Introduction de l’arithmétique binaire! – Ancêtre à la base des architectures actuelles • Résultat : l’IAS (1952) 26/11/07 27 b) Schéma de la machine de Von Neumann 5 parties • La mémoire • L’UAL • L’unité de commande • Les entrées • Les sorties Mémoire (4096 mots de 40 bits) Unité arithmétique et logique Unité de commande Accumulateur Entrées 26/11/07 Sorties 28 c) L’apport de Von Neumann • Le premier ordinateur à programme enregistré • Le programme est traduit de manière numérique et écrit en mémoire. • Pour cela, création d’un jeu d’instructions machine, et transformation des calculs en séries d’instructions • La machine devient plus flexible parce que programmable 26/11/07 29 d) Von Neumann’s Bottleneck • La séparation entre le CPU et la mémoire a amené à la notion de Von Neumann’s Bottleneck • (goulot d’étranglement qu’est la communication entre processeur et mémoire). • ‘’ Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to wordat-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it." 26/11/07 30 • John Backus in his 1977 ACM Turing award lecture e) Machine de Von Neumann • Structure des mots mémoire mots de 40 bits : – Soit 2 instructions de 20 bits – Soit 1 entier signé de 40 bits • Instructions composées de 2 champs – 8 bits codent le type d’instruction – 12 bits pour spécifier (adresser) un des 4096 mots Code d’instruction adressage • Ex : – PUSH – ACC 26/11/07 $1024 $0015 31 26/11/07 Von Neumann et sa machine 32 III. 2ème génération les transistors (1955-1965) 26/11/07 33 1) Innovations • A) Innovations technologiques – 1948 : Invention du transistor aux Bell Labs (Bardeen, Shockley) • Interrupteur commandé électroniquement • Beaucoup moins encombrant que le tube • B) Concepts architecturaux – Programmation en langage machine – Microprogrammation – Représentation des nombres en virgule flottante • C) Logiciel – Apparition des systèmes d’exploitation 26/11/07 34 – Programmation en assembleur et FORTRAN d) Le début des grandes firmes • IBM – (7090, 7094, 7030…) • Bull – (PDP-1, PDP-8…) • DEC – (TX-0, TX-2…) • CDC – (6600, 6700, Cray-1…) 26/11/07 35 IBM 7094 26/11/07 (uniquement les consoles…) PDP-8 36 IV. 3ème génération les circuits intégrés (1965-1980) 26/11/07 37 1) Innovations • A) 1961 Premiers circuits intégrés (R. Noyce) – Innovations technologiques • Moindre encombrement • Moindre consommation • Gain en performances • Domination : IBM 26/11/07 38 • B) Innovations architecturales – Compatibilité des machines d’une même gamme (IBM: System/360) – Introduction du parallélisme (multiprogrammation) – Systèmes à multi-processeurs • C) Logiciels – Langages de programmation • Basic, Pascal, C, … • D) Exemples d’architectures – IBM 360, CDC 6000, PDP 11, … 26/11/07 39 1) L’offre d’IBM: System/360 Caractéristiqu es des System/3… Performance relative Temps de cycle (ns) Mémoire max. (Ko) 26/11/07 30 40 50 60 1 1 KHz 10 2 KHz 21 4 KHz 1000 3,5 1,6 KHz 625 500 250 64 256 256 512 40 IBM 360 26/11/07 41 PDP-11 2) Naissance d’Intel • 1968 R. Noyce, G. Moore et A. Rock fondent Intel Corporation • 1970 première UC composée de 2300 transistors (LSI) : le 4004 processeur 4bits • 1973 le 8008 processeur 8bits • 1978 le 8086 processeurs 16 bits 26/11/07 42 26/11/07 1971 : Premier microprocesseur Intel 4004 Microprocesseur 4 bits 108 KHz 60000 Instructions par seconde 2300 transistors 43 V. 4ème génération Les VLSI (1980, maintenant) 26/11/07 44 1. Innovations • Densité d’intégration augmente : VLSI – Dizaine de milliers -> millions de transistors sur une puce • Passage du centre de calcul à l’ordinateur personnel • Innovations architecturales – réseaux d’ordinateurs – Concepts de parallélisme développés • Logiciels 26/11/07 45 MSI (100 – 100K) LSI (10-100) VLSI 2. Evolution des Circuits intégrés Matériaux de base • Silicium Motif de base • transistor 26/11/07 Gravés sur des galettes de silicium (wafer) 46 3. Les nouveautés • 1977 Apple puis Apple II (Steve Jobs) – Plusieurs millions d’exemplaires • 1981 l’IBM PC (personnal computer) – Intel 8088 – MS-DOS (microsoft) – Plans diffusés gratuitement => clonage • 1980 Architecture RISC dominante • 1990 UC Superscalaires (cours de M1) 26/11/07 47 IBM PC Apple II 26/11/07 48 4. Evolution chez Intel • 8086 (1978) – 16bits, 1Mo, • 80286 (1982) – 16 bits, mémoire étentue • 80386 (1985) – 32 bits • 80486 (1989) – 32 bits, cache de 8K • Pentium (1993) – Double pipeline • Pentium pro (1995) – Cache mémoire à 2 niveaux 8Ko + 256Ko • Pentium II + Celeron + Xeon – MMX • Pentium III 26/11/07 • Pentium IV (1997) Compatibilité (1999) ascendante 49 (2000) Evolution des processeurs Intel: densité, fréquence d’horloge 8000 7000 6000 5000 Année MHz Transistors 4000 3000 2000 1000 80 48 6 Pe nt iu m Pe nt iu m II 80 38 6 80 86 80 80 80 28 6 26/11/07 80 08 40 04 0 50 Evolution des processeurs Intel: mémoire 10000000 1000000 100000 10000 1000 mémoire Ko 100 10 II Pe nt iu m iu m 6 Pe nt 48 80 6 38 80 6 28 80 86 80 80 80 0,1 80 26/11/07 08 1 51 Intérieur du Pentium IV (Intel) • année 2000 • 125 millions de transistors • 2-4 GHz 26/11/07 52 VI. Résumé 26/11/07 53 Mécanisme de l’arithmétique 1. L’héritage Automates Falcon Pascal Leibnitz Jacquard Logique mathématique Technologie Leibnitz Mécanique Babbage Boole Turing ENIAC Electromécanique Electronique Von Neumann Wilkes 26/11/07 Industrie Informatique 54 2. Evolution historique 1980’s Suppression de la microprogrammation => cablé 1970’s « Ajouter du matériel par logiciel » : explosion des jeux d’instructions 1960’s 5 Niveaux : OS 1957’s 4 Niveaux : J. Bachus premier compilateur FORTRAN 1951 3 Niveaux : M. Wilkes, niveau microprogrammation 26/11/07 1940 2 Niveaux : ISA + physique 55 Couche des langages d’application Niveau 5 Traduction (compilateur) Couche du langage d’assemblage Niveau 4 Traduction (assembleur) Couche du système d’exploitation Niveau 3 Interprétation partielle (OS) Niveau 2 Couche architecture du jeu d’instruction (ISA) Interprétation (microprogramme) ou exécution directe (cablé) Niveau 1 Couche microarchitecture Matériel 26/11/07 Niveau 0 Couche logique numérique 56 VII. L’ordinateur actuel 26/11/07 57 Type 1. Spectre des ordinateurs actuels Ordinateur jetable Ordinateur enfoui Ordinateur de jeux Ordinateur personnel Serveur Station de travail Mainframe 26/11/07 superordinateur Prix (euros 1) 10 100 1K 10K 100K 1M Exemple d’application Carte de vœux téléphone, voitures Jeux vidéo Ordinateur portable Serveur de réseau Mini superordinateur Traitement par lot : banque 58 10M Prévision météo 2. Quelques marques de processeurs • Intel, AMD, Via – Ordinateur personnel • Sun – Stations de travail (ultrasparc) – Systèmes enfouis (microjava 701) • Nvidia – Carte graphique • Transmeta, altera, Xilinx, ARM, MIPS – Systèmes enfouis (crusoe, nios, virtex, arm9, mipsRx000) • … 26/11/07 59 3. Leurs propriétés courantes • 3 composants – Processeur – Mémoires – Entrées/sorties • Organisation multi-niveaux • Architecture de Von Neumann (processeur) – Commande, chemin de données, mémoire, entrées/sorties • Architecture de Harvard (Mark1) – Mémoire et mécanismes d’accès séparées entre 26/11/07 données et instructions 60 Le bus central UC Mémoire Console E/S à ruban Autres E/S Architecture du PDP-8 (1965) structurée autour d’un bus central : • L’omnibus Le bus et la mémoire peuvent disposer de signaux séparées entre 26/11/07 et instructions (Harvard) 61 données 4. Architecture actuelle de l’ordinateur UC / CPU Unité de Contrôle Disque (HDD) Unités d’entrée/sortie Registres UAL Mémoire principale Bus interne 26/11/07 Bus externe • Données • Adresses 62 • Commandes VIII. Prochaines générations ? Facteurs d’évolution • Loi de Moore • Première loi de Nathan 26/11/07 63 Evolution technologique • 1965 Modélisation par la Loi de Moore (Gordon Moore dirigeant d’Intel) – La densité d’intégration (le nombre de transistors sur une puce) double tous les 18 mois (60% l’an) – Prédiction empirique devenu incroyablement exacte et même un objectif à tenir – Cercle vertueux 26/11/07 64 Evolution technologique • Loi de Moore – Le nombre de transistors à l’intérieur d’un circuit double tous les 18 mois 26/11/07 65 (suite) The Continuing Evolution of Intel Microprocessors CIS105 December 2002 1600 1,400 1400 Speed (MHZ) 1200 1000 800 550 600 400 200 0 26/11/07 400 400 1998 1999 333 200 200 233 1993 1995 1997 100 0.74 2 8 12 33 1971 1974 1979 1982 1985 1989 Year 1998 1999 2000 66 Première loi de Nathan • Nathan Myhrvold – « Le logiciel se comporte comme un gaz : son expansion est telle qu’il remplit tout contenant » Le logiciel crée une pression d’évolution sur les – Processeurs – Mémoires – e/s 26/11/07 67 Can machine think? A. M. Turing 1950 26/11/07 68 Objectifs du cours d’architecture du L2 au M2 26/11/07 69 Couche des langages d’application Niveau 5 Traduction (compilateur) Couche du langage d’assemblage Niveau 4 Traduction (assembleur) Couche du système d’exploitation Niveau 3 Interprétation partielle (OS) Niveau 2 Couche architecture du jeu d’instruction (ISA) Interprétation (microprogramme) ou exécution directe (cablé) Niveau 1 Couche microarchitecture Matériel 26/11/07 Niveau 0 Couche logique numérique 70 Parcours ‘architecture’ Architectures multimédia M2 • Circuits reconfigurables Architecture avancée M1-S2 • Les classes d’architecture Informatique embarquée La programmation en assembleur L’exécution des programmes 26/11/07 • Conception des SoC • Les DSP M1-S1 L3 • Architectures embarquée • Couche OS - RTOS • Couche ISA • Couche assemblage • Como – Systèmes E/S L2 • Couche physique • Couche micro-architecture 71 • Couche ISA Architecture des ordinateurs Introduction & Historique 3h Cours 4h TDs Représentation des nombres Couche physique, circuits logiq. Circuits séquentiels Le chemin de donnée CC Couche micro-architecture Cycle d’exécution 26/11/07 Conclusion sur l’exécution CC72 Quelques questions à se poser… • Pourquoi la logique binaire a-t-elle été choisie comme base de calcul des ordinateurs? • Quelle différence y a-t-il entre interprétation et traduction? • Comment réalise-t-on le doublement de la densité d’intégration d’un circuit? • Quel est le lien entre l’augmentation de la densité et l’augmentation des fréquences? • Comment mémorise-t-on de l’électricité? Une ampoule est elle une mémoire? 26/11/07 • Un processeur est-il intelligent ? 73 26/11/07 74 Plus… 26/11/07 75 100 90 80 70 60 50 40 30 20 10 Taille de mots (bits) Temps de cycle (micros) Fréquence (KHz) taille (Kg) Nombre de mots (K) Coût (kdollars) Exemplaires vendus (k) année génération PD P8 PD P1 70 1 70 90 IB M on N V 26/11/07 IB M eu m an n C A EN IA C NI V U A na ly tiq ue 0 76