INF1600: Architecture des micro-ordinateurs

Slides:



Advertisements
Présentations similaires
Les choses que j aime Learning Objective: To know how to use j aime to talk about things I like to do.
Advertisements

Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
QUEL CADEAU! YOU HAVE BEEN OF GREAT SERVICE TO FRANCE. PRESIDENT HOLLANDE IS VERY GRATEFUL TO YOU! KNOWING OF YOUR INTEREST IN EGYPTOLOGY, THE DIRECTOR.
An Introduction To Two – Port Networks The University of Tennessee Electrical and Computer Engineering Knoxville, TN wlg.
 Components have ratings  Ratings can be Voltage, Current or Power (Volts, Amps or Watts  If a Current of Power rating is exceeded the component overheats.
A POWER POINT DEMONSTRATION. The End. Just kidding! This is serious stuff.
IP Multicast Text available on
Template Provided By Genigraphics – Replace This Text With Your Title John Smith, MD 1 ; Jane Doe, PhD 2 ; Frederick Smith, MD, PhD 1,2 1.
J’ai regardé... Qu’est-ce que tu as regardé hier?
Leçon 6: Une Invitation Unité 7.
Theme Three Speaking Questions
CONJUGAISON.
Notes for teacher. You can just use slides 2-5 if you wish. If you want to do the practical activity (slides 6-8) you will need to: print off Slide 6.
Objectif: Aujourd’hui nous allons élargir nos connaissances culturelles All will have learnt about French cultural habits at this time of the year and.
les bonnes résolutions
What about discrete point skills?
1+2 French Second Level Classroom Language Pack
Speaking Exam Preparation
l y a which we have already learned means “there is/are l y a which we have already learned means “there is/are.” When we put a measure of time.
L’impératif ( = command forms)
Reflective verbs or Pronominal verbs
Quantum Computer A New Era of Future Computing Ahmed WAFDI ??????
Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics.
COMMENT PRÉPARER UN GÂTEAU MICHELIN A*
Français I – Leçon 6A Structures
Theme One Speaking Questions
© 2004 Prentice-Hall, Inc.Chap 4-1 Basic Business Statistics (9 th Edition) Chapter 4 Basic Probability.
F RIENDS AND FRIENDSHIP Project by: POPA BIANCA IONELA.
Lect12EEE 2021 Differential Equation Solutions of Transient Circuits Dr. Holbert March 3, 2008.
Essai
Français - couleurs - pays - drapeaux
Le soir Objectifs: Talking about what you do in the evening
Qu’est-ce que tu as dans ta trousse?
Pablo Picasso P____ P_______
Pato et Elly font du sport aussi.
In this topic you will learn
L’objectif: to know the words for school subjects in French.
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
Qu’est-ce que tu as dans ta trousse?
Révision – Phrases Importantes
Quelle est la date aujourd’hui?
Connaissez-vous la France ?
Les instructions en classe
C’est quel numéro? Count the numbers with pupils.
Connaissez-vous la France ?
Quelle est la date aujourd’hui?
The last grammatical concept
sortir avec mes copains faire les magasins jouer à des vidéo
Manometer lower pressure higher pressure P1P1 PaPa height 750 mm Hg 130 mm higher pressure 880 mm Hg P a = h = +- lower pressure 620 mm Hg.
WRITING A PROS AND CONS ESSAY. Instructions 1. Begin your essay by introducing your topic Explaining that you are exploring the advantages and disadvantages.
What’s the weather like?
Architecture d’un ordinateur
Aujourd’hui nous allons…
Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
Les formes et les couleurs
les formes et les couleurs
C021TV-I1-S4.
les instructions Bonjour la classe, sortez vos affaires
5S Methodology How to implement "5S" and get extraordinary results.
Avoiding the Pitfalls of Bad Slides Tips to be Covered Outlines Slide Structure Fonts Colour Background Graphs Spelling and Grammar Conclusions Questions.
Le Passé Composé (Perfect Tense)
University : Ammar Telidji Laghouat Faculty : Technology Department : Electronics 3rd year Telecommunications Professor : S.Benghouini Student: Tadj Souad.
Les opinions Les opinions = Opinions. In this lesson pupils will learn to understand and give their own opinions about singular items.
L’orchestre des animaux
Lundi 11 février Français II
Double Vision the art of seeing more than one thing
Introduction aux Circuits Reconfigurables et FPGA.
IMPROVING PF’s M&E APPROACH AND LEARNING STRATEGY Sylvain N’CHO M&E Manager IPA-Cote d’Ivoire.
Starter– Les disputes familiales
Transcription de la présentation:

INF1600: Architecture des micro-ordinateurs Introduction STRY: Attention step, a clip from 2001 Space Odissey - https://www.youtube.com/watch?v=UgkyrW2NiwM STXT: introduce instructor STXT: today we will start a set of lessons on the principles of computer engineering, and today in particular, we will try to understand the basics of computer architecture. Whether you like it or not, almost every device you use nowadays contains a computer, being a vending machine, a plane or a car. Although the current trend is trying to make computers more “ user-friendly”, these things might still be somewhat tricky to use. What’s more important, computers sometimes fail. Having a base understanding of their behaviour might save a lot of stress, headaches and panic.

Objectifs de la leçon 1 2 3 4 5 Faire une liste des objectifs du cours Décrire le programme du cours Décrire comment les apprentissages seront évalués Faire une liste de composants d'un ordinateur Expliquer le comportement d'un inverseur CMOS 1 2 3 4 STXT: at the end of today, you will be able to draw a diagram of the most common computer structure, namely the Von Neumann Architecture. You will also Learn how this architecture executes arbitrary programs. You will see how the complexity of these machines is kept under control by structuring their architecture. Finally, you will keep your grip on reality and will be able to match the components of a Von Neumann Architecture with the parts of a physical computer board. TR: So, to learn these things we will look at 5 2

Agenda Objectifs Introduction à INF1600 Vue d'ensemble d'un ordinateur Logique électronique numérique 1 2 3 4 5 Objectifs STXT: First what is a Von Neumann Architecture, then how this device behaves and allows computer to do things. Finally we will see how this all boils down to a physical device. Qu’est-ce que vous attendez de ce cours???? Sujets, objectifs, usage ?

Architecture des micro-ordinateurs 3 crédits (3 – 1.5 – 4.5) Objectifs Le cours vise à: Démontrer l'importance du microprocesseur Expliquer l’organisation d’un micro-ordinateur Impact de ses composants sur le coût et la performance Expliquer comment le microprocesseur exécute les programmes Développer les aptitudes requises pour la programmation en assembleur INF1600 constitue un élément clé de la chaîne « architecture » Suite de INF1500 - Logique des systèmes numériques Nécessaire pour : INF1995 Projet initial en ingénierie informatique INF2610 Noyau d’un système d’exploitation 4

Great Reality #1: You’ve Got to Know Assembly Vous n’écrirez probablement jamais des programmes complets en assembleur Les compilateurs sont beaucoup plus patients que nous ! Mais comprendre l’assembleur est primordial Le comportement des bogues Le modèle des langages à haut niveau ne marche pas toujours Optimiser nos programmes Comprendre les optimisations du compilateur Trouver les sources d’inefficacité bas niveau Implémentation des noyaux Créer ou éliminer le malware x86 est le langage approprié!

Great Reality #1: You’ve Got to Know Assembly « To be a great programmer, you really do need to know how the machine works, I believe. You need to really understand what can be done efficiently, and what needs a lot of work from the CPU or the system. » Linus Torvald, Simple Talk 2011 « Well, I fondly remember the days when I was an assembly language programmer.  » - Jim, Senior Developer « And that first time you knocked out your wife with a club to claim her as yours. » - Gimbal2, Just a guy

Exemples pratiques 1 Time Stamp Counter Application Registre spécial à 64-bit dans les processeurs Intel Incrémenté à chaque cycle d’horloge Lu avec l’instruction rdtsc – « read time stamp counter » Application Mesurer le temps (en cycles) requis par une fonction P. double t; start_counter(); P(); t = get counter(); printf("P required %f clock cycles\n", t);

Code pour lire le compteur 1 Code pour lire le compteur /* Initialize the cycle counter */ static unsigned cyc_hi = 0; static unsigned cyc_lo = 0; /* Set *hi and *lo to the high and low order bits of the cycle counter. Implementation requires assembly code to use the rdtsc instruction. */ void access_counter(unsigned *hi, unsigned *lo) { asm("rdtsc; movl %%edx,%0; movl %%eax,%1“ /* Read cycle counter */ : "=r" (*hi), "=r" (*lo) /* and move results to */ : /* No input */ /* the two outputs */ : "%edx", "%eax"); } GCC Extended assembly syntax asm( assembler syntax : output operands /*optional */ : input operands /* optional */ : list of clobbered registers /* optional */ );

1 Great Reality #2: Memory Matters La mémoire avec accès aléatoire est une abstraction loin de l’implantation physique La mémoire a des limites Doit être allouée et gérée Les performances de la plupart des applications sont dominées par la mémoire Les performances des mémoires ne sont pas uniformes La mémoire cache et la mémoire virtuelle peuvent changer beaucoup les performances Adapter un programme aux caractéristiques de la mémoire peut améliorer largement sa vitesse d’exécution

Exemple des effets de la mémoire 1 Exemple des effets de la mémoire void copyij(int src[2048][2048], int dst[2048][2048]) { int i,j; for (i = 0; i < 2048; i++) for (j = 0; j < 2048; j++) dst[i][j] = src[i][j]; } void copyji(int src[2048][2048], int dst[2048][2048]) { int i,j; for (j = 0; j < 2048; j++) for (i = 0; i < 2048; i++) dst[i][j] = src[i][j]; } 30 times slower (Core i7) Organisation hiérarchique Les performances dépendent des trames d’accès Incluant comment explorer des structures multidimensionnelles Explain why: a[10][10] layed out as: a[0][0] a[0][1] ... a[0][9] a[1][0] ... a[1][9] ..... a[9][0] ... a[9][9] Copyij accesses memory in linear fashion, Copyji in strided. Bad locality Bad point on memory mountain.

La montagne de la mémoire 1 Intel Core i7 2.67 GHz 32 KB L1 d-cache 256 KB L2 cache 8 MB L3 cache La montagne de la mémoire Mémoire en cascade, plus petite et plus rapide vers plus grand plus lent. Plus gros paquets (plusieurs lignes simultanées) => plus lent débit.

Great Reality #3: Computers do more than execute programs Carnegie Mellon 1 Great Reality #3: Computers do more than execute programs Ils ont besoin d’importer et d'exporter les données Les entrées/sorties sont critiques pour la fiabilité et les performances des ordinateurs Ils communiquent à travers les réseaux Les réseaux introduisent plusieurs défis : Opérations simultanées Utilisation de médias peu fiables Compatibilité sur plusieurs plateformes Problèmes complexes de performance Etc.

Programme du cours 2 Théorie Travaux Pratiques Introduction Organisation interne du microprocesseur TP4 Lien entre C++ et assembleur TP0 Introduction aux outils TP2 Architecture du microprocesseur Hierarchie de mémoire Micro-ordinateur et périphériques Programmation en assembleur TP5 Mémoires TP1 Périphériques et architecture TP3 Programmation en assembleur STXT: this lesson is the beginning of a longer course at the end of which you will approach the dusty black box under your desk with confidence. Today we start with the basics. Architecture d'un microprocesseur C++ et assembleur Théorie Travaux Pratiques

Plan du cours 2 Introduction (1h) Vue d’ensemble d’un micro-ordinateur et périphériques (5h) Architecture et boucle d’exécution d’un microprocesseur (6h) Accès mémoires, exécution, entrées-sorties et interruptions… Organisation interne d’un microprocesseur (3h) Horloges, unités de traitement, registres… Programmation d’un microprocesseur (13h) Instructions, registres, modes d’adressage, indicateurs, lien avec C++… Hiérarchie de mémoire (9h) Limitations d’une seule mémoire, compromis coût/performance… 5 travaux pratiques (15h) 14

Documentation et organisation 2 Documentation et organisation Toute documentation sur Moodle Manuel (pas obligatoire) : Computer Systems Design and Architecture V.P. Heuring and H.F. Jordan Pearson Prentice Hall, 2004 Chaque semaine, mini-tests (quiz) formatifs comptabilisés sur Moodle 15

3 Évaluation des apprentissages Mini-tests formatifs 10% Travaux pratiques 30% Contrôle périodique (2h) 30% Examen final (2h30) 30% Un aide mémoire de 1 page (recto-verso) permise Le ratio points/temps est faible pour les quiz, mais ils sont là pour bien appliquer les concepts. Il faut programmer en lab pour comprendre la programmation; on ne devient pas bon en programmation en regardant juste la théorie. Toute documentation raisonnable papier permise: vous pouvez apporter livres, notes de cours, anciens examens, dictionnaires, etc. mais pas de charriot de livre; doit entrer dans l’espace disponible. Attention: les étudiants ayant des besoins particuliers pour les examens doivent me le mentioner et mentioner au registrariat le format MoodleQuiz. 16

Agenda Introduction à INF1600 Vue d'ensemble d'un ordinateur Logique électronique numérique 1 2 3 4 5 STXT: First what is a Von Neumann Architecture, then how this device behaves and allows computer to do things. Finally we will see how this all boils down to a physical device.

(pas micro) processeur ENIAC Faire remarquer que j’indique la provenance de chaque image. Copier en faisant croire que c’est notre propre travail est du plagiat, même si la copie vient des notes de cours. Lorsqu’on utilise du texte ou une image venant de quelqu’un d’autre il faut que ce soit clair quelle est la source. Pour la publication on ne peut pas utiliser une figure ou une image venant de quelqu’un d’autre même si on indique la source, puisqu’elles sont considérées comme des œuvres artistiques, et par conséquent il faut normalement demander à l’auteur. Dans le cadre du cours, ni les devoirs ni les notes de cours sont publiées (il y a un mot de passe pour accéder à la section des notes de cours), et par conséquent il est acceptable de prendre les figures si la source est spécifiée. Concepts clés: pas d’unité centrale, calculs via accumulateurs et operations arithm., une horloge electro. pour paralléliser Terminer après la guerre (1945) et dépasse 2x le budget. Les opérateurs de la machine étaient presque exclusivement des femmes: les premières ingénieures logicielles. Source: ds-wordpress.haverford.edu 18

Un voyage dans l'ordinateur 4 Un voyage dans l'ordinateur LAB!!

On ouvre la boite 4 Si l´on enlève quelques morceaux... STXT: This what we see when we open the case LOQ: Can you recognize any of the components? TR: If we remove all those, we can see the core of this PC

Composants de l'ordinateur 4 Composants de l'ordinateur Mémoire Bus Processeur Entrées/Sorties STXT: the computer has three main components: Processor Memory Input-Output These are interconnected by a web of wires generally referred to as the bus. STXT: what you see here is the LOGICAL structure of the computer TR: If we abstract from its physical appearance…

Architecture de base 4 Mémoire Entrées/Sorties Processeur Bus Processeur Entrées/Sorties Entrées/Sorties TR: we get what is called the Von Neumann Architecture, that is usually drawn in this way.

L'architecture de Von Neumann 4 L'architecture de Von Neumann Inventé par John Von Neumann in 1950 Idée: fonctionnalité traitée comme les données Suivre une recette (programme) Appliquer chaque étape au ingrédients (données) Frigo/Table Comptoir Memory Input/Output Processor Bus Recette/ Programme ? STXT: This architecture was invented by John Von Neumann around 1950. The novelty of the architecture stands in the fact that it is a completely general purpose machine. The functionality of the machine is treated like data. This means one can instruct the machine on what to do by feeding it instructions. This is similar to cooking: the computer follows a recipe, executing each step (instruction) to ingredients (data). The processor acts as a cook and its cooking tools, I/O is where ingredients come from and cooked food goes to, for example Fridge for Input or dining table for output. Memory acts as the cook’s workplace, where ingredients are put temporarily during their manipulation. LOQ: So, where is the recipe? STXT: The idea of Von Neumann was to put the recipe or program in the computer’s memory, so that it can be easily changed. TR: But how does this architecture execute our favorite programs? Cuisinier / outils

4 Processeur Memory Processor Input/Output Bus STXT: Called the CPU, or Central Processing Unit in the old days, it is usually a small square with a large number of “pins” or contacts with which to connect it to the rest of the system. Usually the size of a personal computer processor is around 4cm and can or cannot be covered by a little protective metal sheet, as shown in the pictures. The actual processor is under the metal sheet and is called the “core”. Processors are generally tough and can be manipulated without fear, paying a little attention when the core is exposed. Here you see a commercial Intel Core2 processor and a processor for use in space. Except for the actual packaging and pins, these do not look too different. Generally processors generate a lot of heat due to electrical dissipation and need a heat sink, usually with an associated fan, to be placed on top. Processors are installed on special « processor sockets », that we will see in a minute. CS: On Earth some processors do not sport a fan on top of their heat sinks, because convection is sufficient to take away excess heat. However, in space there is no free convection, and a fan is mandatory. Haut Bas

Microprocesseur Exécute des instructions simples Arithmétique Logique Branchement (condition) Accompli des tâches complexes Programmable Centre de la majorité des systèmes numériques Aussi appelé CPU (Central Processing Unit) ou UCT (Unité Centrale de Traitement) Types plus spécialisés: Microcontrôleur Emphase sur autosuffisance et faible coût DSP (Digital Signal Processor) 25

Mémoire 4 DIMM: Dual In-Line Memory Module Processor Input/Output Bus DIMM: Dual In-Line Memory Module STXT: Memory appears in modern personal computers as MODULES. Modules are sets of memory chips assembled on a mini-board for easy installation and removal. What you see here is a DIMM, one of the most used memory modules in desktop personal computers, i.e. a Dual In-Line Memory Module. CS: Dual because it sports two memory modules on the same component A DIMM can be easily installed in a DIMM slot, and these modules have an installation orientation but they are designed so that it is impossible to connect them in the wrong direction. CS: The colours refer to the « memory channels » of this particular PC. Mounting memory on separate channels first can increase the computer performance significantly, because separate channels can be accessed simultaneously.

Chaque tore était traversé par trois fils: 4 Mémoire vive Version originale de l’ENIAC: bascule bistable (deux triodes) Magnetic core memory (~1955) Anneaux de ferrite Microélectronique: Bascule bistable (registres) Capacitance (DRAM) Mémoires émergeantes (spin-torque transfer, nanotubes, DNA, etc.) Source: oldcomputers.arcula.co.uk Chaque tore était traversé par trois fils: 2 fils pour l'adressage (1 par ligne et 1 par colonne) 1 fil par bloc pour la commande (lecture ou écriture). La fabrication des blocs de tore était manuel et de ce fait d'un coup élevé par rapport aux mémoires électroniques 27

4 Entrées/Sorties Memory Processor Input/Output Bus STXT: Input/Output in computers is implemented both internally and externally. We have interfaces for common devices like keyboard, mouse, speakers, etc. I/O interfaces can also be inside the computer, connecting hard drives, CDROM, expansion cards, etc. TR: What about the bus?

Systèmes modernes Plusieurs processeurs Mémoire souvent intégrée dans la puce Réseau sur puce Wafer empilés Connections optiques Exemples:

Dissipateur de chaleur Exemple ARM v8 Dissipateur de chaleur Substrate Mémoire TSVs Logique Substrat Interposer Socket Carte mère

Agenda Introduction à INF1600 Vue d'ensemble d'un ordinateur Logique électronique numérique 1 2 3 4 5 STXT: First what is a Von Neumann Architecture, then how this device behaves and allows computer to do things. Finally we will see how this all boils down to a physical device.

-Porte 3/4 états pour les bus à plusieurs composants 5 Logique électronique numérique Portes logiques non (inverseur), et, ou, ou-exclusif … anglais: not, and, or, xor … Bascule bistable (D) Porte 3 états: 0, 1, Z Z=Haute impédance (grande résistance) Basé sur les transistors Plus utilisé présentement: CMOS Transistors NMOS et PMOS sur la même puce MOS = metal oxide semiconductor « Taille »: 180nm … 65nm … 26nm (réalisé; pas disponible) Plus petite largeur du « fil » utilisé comme canal de transistor Appelé la longueur du transistor, ce fil étant perpendiculaire au lien source-drain Résolution deux fois plus fine -Bascules D: 2 verrous D en série, retient la donnée 1 cycle. (assemblage de porte et/ou ou seulement de portes et) -Porte 3/4 états pour les bus à plusieurs composants Copyright © 2017 http://www.electronics-tutorials.ws 32

5 Inverseur CMOS de base avec p et n en parallèle, table de vérité? Copyright © 2017 http://www.electronics-tutorials.ws Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Inverseur CMOS de base avec p et n en parallèle, table de vérité? - le cercle représente l’inversion. (n-channel) Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e

Pour quelle(s) valeur(s) de A,B,C la sortie sera à Z (haute impédance) Pour quelle(s) valeur(s) de A,B,C la sortie sera à Z (haute impédance)? (où +V vaut la valeur logique 1, et la mise à la terre vaut la valeur logique 0) : C=0, A=1, B=1 C=0, A=0, B=1 C=0, A=1, B=0

Sortie à 1 ? Court-circuit ? A=1 B=0, C=0, D=1, E=1 A=0, B=1, C=0, D=1, E=1 A=0, B=0, C=1, D=1, E=1 .... A=0, B=0

Agenda Introduction à INF1600 Vue d'ensemble d'un ordinateur Logique électronique numérique 1 2 3 4 5 STXT: First what is a Von Neumann Architecture, then how this device behaves and allows computer to do things. Finally we will see how this all boils down to a physical device.

Sommaire Faire une liste des objectifs du cours 1 Démontrer l'importance du microprocesseur Expliquer l’organisation d’un micro-ordinateur Expliquer comment le microprocesseur exécute les programmes Développer les aptitudes requises pour la programmation en assembleur STXT: The logical structure of almost every computer is given by the Von Neumann Architecture, where we have an Instruction Processor, a Memory, and Input/Output interfaces, interconnected by a bus.

Sommaire Décrire le programme du cours 2 Introduction Organisation interne du microprocesseur Hierarchie de mémoire Micro-ordinateur et périphériques Programmation en assembleur Architecture d'un microprocesseur C++ et assembleur STXT: The logical structure of almost every computer is given by the Von Neumann Architecture, where we have an Instruction Processor, a Memory, and Input/Output interfaces, interconnected by a bus. 3 Décrire comment les apprentissages seront évalués

Sommaire Faire une liste de composants d'un ordinateur 4 Expliquer le comportement d'un invertisseur CMOS 4 Memory Input/Output Processor Bus STXT: The logical structure of almost every computer is given by the Von Neumann Architecture, where we have an Instruction Processor, a Memory, and Input/Output interfaces, interconnected by a bus. 5