Architecture des ordinateurs cours 1 Culture générale Abstraction matérielle et logicielle Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005 Modalités du cours • Présence obligatoire (appel fait de temps en temps) • Transparents disponibles sur le réseau pédagogique (R:/)et sur internet (http://www.blois.univtours.fr/~savary/ lien « Enseignement ») • 2 notes finales pour l’ensemble du cours (avec M. Soukhal) : – note ``théorique'' (coeff. 1,5) : la moyenne des deux DS – note ``pratique'' (coeff. 1) : • mini-contrôles (10 min.) en TD : questions simples du cours ; choix multiple ; une partie de questions en anglais • participation au TP et comptes-rendus A. SAVARY IUT Blois GTR1, 2004/05 2 Bibliographie • Tanenbaum A. Architecture de l'ordinateur, Dunod, Paris 2001, 4e éd. • Patterson, D., Hennessy, J. Organisation et conception des ordinateurs. Interface matériel/logiciel, Dunod, Paris 1994 • Notes du cours Architecture des ordinateurs de Lucien Finta, IUT de Villetaneuse, Dép. d'Informatique • Burrell, M. Fundamentals of Computer Architecture, Palgrave Macmillan, 2004 Site utile JASPer - Just Another Simulated Processor http://brittunculi.com/jasp/ (simulateur qui sera utilisé en CM, TD et TP d’assembleur) A. SAVARY IUT Blois GTR1, 2004/05 3 Contenu du cours 1. Culture généralle, abstraction matérielle et logicielle, architecture en couche 2. Le processeur (chemin de données : registres, UAL, bus) 3. Micro-instructions et unité de contrôle, langage machine, langage d’assemblage, modes d’adressage 4. Les mémores physiques. Les bus. 5. Les entrées/sorties (fonctionnement physique, communication avec les E/S: scrutation, interruptions, DMA). A. SAVARY IUT Blois GTR1, 2004/05 4 Culture généralle A. SAVARY IUT Blois GTR1, 2004/05 5 Histoire de l’informatique Devoir • Essayer de faire le quizz distribué en cours • Lire la photocopie jointe d’un chapitre sur l’histoire de l’informatique du livre “Architecture de l’ordinateur” de A. Tanenbaum • Refaire le quizz pour la semaine prochaine A. SAVARY IUT Blois GTR1, 2004/05 6 1,5 Ko 1 500 octets ! Unités de mesure Dans la physique pico- Dans l’informatique (1024 = 210 103 = 1000) 1 p 1012 = 0,000 000 000 001 idem nano- 1 n 10-9 = 0,000 000 001 idem micro- 1 10-6 = 0,000 001 idem milli- 1 m 10-3 = 0,001 idem kilo- 1 K 103 = 1 000 méga- 1 M 106 = 1 000 000 giga- 1 G 109 = 1 000 000 000 tera- 1 T 1012 = 1 000 000 000 000 A. SAVARY La durée du cycle des PC actuels est de l’ordre de quelques nanosecondes Disques durs des PC actuels ont la capacité 10 2 = 1 024 de quelques dizaines 220 = 1 048 576 de gigaoctets 230 = 1 073 741 824 240 = 1 099 511 627 776 IUT Blois GTR1, 2004/05 7 Observation empirique sur la rapidité du progrès en physique et ingénierie informatique Loi de Moore Le nombre de transistors intégrés sur une puce double tous les dix-huit mois. (Tailles de mémoires en bits) A. SAVARY IUT Blois GTR1, 2004/05 8 L’économie informatique Le matériel informatique devient plus performant et moins cher. Les utilisateurs deviennent plus exigeants. Les applications logicielles deviennent plus complexes donc plus “gourmandes” 1. 1 Loi de Nathan : “Le logiciel se comporte comme un gaz : son expansion est telle qu’il remplit tout contenant” A. SAVARY IUT Blois GTR1, 2004/05 9 Variété des odinateurs performances Grâce à la loi de Moore on peut fabriquer des ordinateurs… … suivant toute autre voie intermédiaire …plus puissants sans augmentation de prix …moins chers sans baisse de performances prix Les types d’ordinateurs actuels résultent de ce choix A. SAVARY IUT Blois GTR1, 2004/05 10 Types d’ordinateurs Type Ordinateur jetable Prix (euros) 1 Ordinateur enfoui 10 Ordinateur de jeux 100 Microordinateur Serveur Station de travail Mainframe Superordinateur A. SAVARY 1K 10 K 100 K D’après Tanenbaum “AO” Example d’application Cartes de voeux Montres, voitures, téléphones Jeux vidéo, agendas électroniques Ordinateurs de bureau Serveurs de réseau Minisuperordinateurs 1M Traitement dans une banque 10 M Simulations et modélisations scientifiques (e.g. la météo) IUT Blois GTR1, 2004/05 11 Abstraction matérielle et logicielle A. SAVARY IUT Blois GTR1, 2004/05 12 Abstraction La conception du matériel (hardware) et des logiciels (software) informatiques est très complexe. L’approche généralement admise pour faire face à cette complexité est l’abstraction : 1. Chaque élément de construction est défini par : - Son “interface” : “quels résultats livre-t-il pour quelles données?” - Sa mise en œuvre (implémentation) : “comment le résultat est-il obtenu?” Une interface donnée peut être réalisée par de multiples mises en œuvre différentes. A. SAVARY IUT Blois GTR1, 2004/05 13 Abstraction (suite) 2. La conception est effectuée en couches. 3. Couche N+1 contient des éléments construits à partir des éléments des couches N, N-1,...,0. 4. Chaque couche se base sur l’interface des éléments des couches inférieures, mais elle fait abstraction (i.e. ne tient pas compte) de la mise en œuvre de ces éléments. Donc si on modifie la mise en œuvre d’un élément sans modifier son interface les couches supérieures ne perçoivent pas de changement. 5. Ainsi, plus la couche est élevée plus elle est complexe et abstraite. A. SAVARY IUT Blois GTR1, 2004/05 14 Abstraction – example matériel Transistors • Transistors sont les éléments de base de la construction materielle • Les portes logiques sont construites avec des transistors • Les circuits logiques sont construits avec des portes logiques A. SAVARY IUT Blois GTR1, 2004/05 15 Couche 0 : transistors Mise en œuvre Interface +Vcc Détails du domaine de la physique du solide concernants les semiconducteurs A. SAVARY • Lorsque la base est sous une basse tension le transistor devient interrupteur ouvert • Lorsque la base est sous une haute tension le transistor devient conducteur IUT Blois GTR1, 2004/05 16 Couche 1 : portes logiques etc. NAND OR NOR Mise en œuvre Interface +vCC NOR(A,B) NOR(A,B) A B • Deux transistors sont montés en parallèle • On fait abstraction de l’implémentation des transistors A. SAVARY A 0 0 1 1 B 0 1 0 1 NOR(A,B) 1 0 0 0 • Temps de traversée, taille… IUT Blois GTR1, 2004/05 17 Couche 2 : circuits logiques etc. Bascule D Démultiplexeur Multiplexeur Example de mise en œuvre Interface A B Contrôle Contrôle • Portes AND et OR sont utilisées comme éléments de base • On fait abstraction de l’implémentation de ces portes A. SAVARY Contrôle Résultat 0 A 1 B • Temps de traversée, taille… IUT Blois GTR1, 2004/05 18 Abstraction logicielle – passage d’un langage de haut niveau au langage machine Un être humain veut faire X : Un ordinateur ne sait faire que Y : • Trouver les 10 premiers nombres parfaits • Changer la couleur du fond d’une photo numérique • Vérifier l’orthographe d’un fichier texte •… • • • • • Additionner deux nombres binaires Vérifier si un nombre binaire est égal à 0 Lire une donnée de la mémoire Inscrire une donnée dans la mémoire … Il faut exprimer X en termes de Y. La différence entre ces deux langage est tellement grande que sa solution ne peut être obtenu que par une organisation en couches. A. SAVARY IUT Blois GTR1, 2004/05 19 Architecture en couches • Les microinstructions sont des instructions qui provoquent des signaux matériels de base donnés par l’unité de contrôle au chemin de données. Matériel • Les instructions du langage machine peuvent être mises en oeuvre soit par des séquences de microinstructions, soit directement par le matériel. • Les instructions du langage d’assemblage sont mises en oeuvre par des fonctionnalité du système d’exploitation (appels système) et par des instructions du langage machine. • Les instructions du langage de haut niveau sont mises en oeuvre soit par des instructions du langage d’assemblage, soit directement par des appels système et celles du langage machine . A. SAVARY IUT Blois GTR1, 2004/05 20