FONCTIONNEMENT DE L’ORDINATEUR L1 – Technologies du numérique Les inventeurs Ada Lovelace (1815,1852) et Charles Babbage ( 1792, 1871) La machine analytique de Babbage 1821 "capable de résoudre n'importe quelle équation et d'exécuter les opérations les plus compliquées de l'analyse mathématique« George Boole (1815,1864) Algèbre de Boole « Mathematical Analysis of Logic, » (1847) Alan.Turing (1912,1954) “It is possible to invent a single machine which can be used to compute any computable sequence », 1936 Ada Lovelace Machine de Turing Tout traitement réalisable mécaniquement peut être accompli par une machine programmable.. Des symboles aux dessins Projet Design rationale du M.I.T Machine à différence N°2 Architecture Von Neumann Von Neumann (1903-1957) Co-concepteur de l’EDVAC, il conçoit une architecture permettant la réalisation d’un ordinateur. Fonctionnement schématique d’un processeur Programmes Données Mémoire Unité de contrôle Unité de calcul Accumulateur Exécution schématique d’un programme Dispositif d’entrée Dispositif de sortie Architecture Von Neumann Programmes Données Mémoire CPU Un programme est stocké dans une mémoire de stockage ou mémoire de masse. Pour être exécutées les instructions du programme doivent se trouver en mémoire centrale. Programmes Données Mémoire CPU Architecture Von Neumann Architecture Von Neumann Programmes Données Mémoire CPU Les instructions sont exécutées l’une après l’autre. Architecture Von Neumann Programmes Données Mémoire CPU Les données nécessaires à l’exécution sont cherchées en mémoire centrale. Les résultats intermédiaires sont stockées dans la mémoire centrale. Architecture Von Neumann Programmes Données Bonjour Mémoire CPU Ou être stocké dans la mémoire de masse sous forme de fichier, ou imprimé. le résultat du programme peut par exemple être affiché sur un écran. Programme entier A écrire "Introduisez l'année:" lire A si NOT (A mod 4=0) alors écrire "L'année ", A, "n'est pas bissextile." sinon si NOT (A mod 100=0) alors écrire "L'année ", A, "est bissextile." sinon si NOT (A mod 400=0) alors écrire "L'année ", A, "n'est pas bissextile." sinon écrire "L'année ", A, "est bissextile." fsi fsi fsi Un programme est composé d’une série d’instructions Le processeur va dans les cas les plus simples traiter séquentiellement les instructions. Mais un programme peut aussi comporter des conditions avec des branchements ou des boucles. . Différents niveaux de langages LANGAGE MACHINE C'est une succession de codes binaires directement compréhensibles par le processeur. C’est le seul langage réellement exécuté par un processeur Il y autant de langages machine que de famille de processeur et chaque famille de processeurs dispose de ce qu’on appelle un jeu d’instruction (RISC, CISC,..) Différents niveaux de langages Différents niveaux de langages LANGAGE ASSEMBLEUR Pour faciliter la programmation en langage machine, ce langage est son équivalent lisible par un opérateur humain. Il existe donc un langage assembleur particulier pour chaque famille de processeurs. Différents niveaux de langages Différents niveaux de langages LANGAGES ÉVOLUÉS Ces langages ne sont pas liés à un type de microprocesseur en particulier. lorsque le programme est écrit en langage évolué, il doit être compilé. C’est-à-dire traduire le programme en langage machine en fonction du microprocesseur utilisé. Compilé ou interprété? COMPILÉ les instructions sont d’abord traduites par un compilateur depuis le code source vers le langage machine, l’exécution se faisant alors directement par le processeur de la machine dans son langage natif. Avantages: vitesse d’exécution. Détection des erreurs avant l’exécution Inconvénient : Compilation pour un processeur donné, voire un système d’exploitation donné, de sorte qu’il n’est pas aisé d’exécuter le même programme compilé sur différente architecture. Exemple : Le langage C, C++ … INTERPRÉTÉ Les instructions sont décodées les unes après les autres et exécutées aussitôt. il n’y a aucune traduction préalable du programme depuis le langage informatique en langage machine. L’interprétation est réalisée au moment de l’exécution. Avantages Exécution immédiate du programme Le programme peut être exécuté indifféremment sur plusieurs architectures. Inconvénients Plus lent Les erreurs de syntaxes sont identifiées au moment de l’exécution. Pseudo code Pour faire face aux inconvénients des langages compilés, on a introduit la notion de machine virtuelle. Le compilateur compile un programme vers le pseudo code d’une machine virtuelle. Ensuite, la machine virtuelle, exécute le programme via un compilateur JIT (Just in Time) spécifique à chaque environnement qui charge, compile et exécute chaque morceau de programme pseudo code en langage machine. Exemple : JAVA, Framework .Net de Microsoft. Cartes mères Asus P5Q Pro Turbo pour: Processeurs Core™ 2 Extreme/Core™ 2 Quad/Core™ 2 Duo/Pentium® dualcore/Celeron® dual-core/Celeron® Bus et chipset le processeur (CPU) n’a aucune idée de ce à quoi il est connecté. Il communique avec l’extérieur à l’aide de ses connecteurs. Un bus est un chemin électrique reliant entre eux des composants électroniques. Fréquence 17 La fréquence, qui s'exprime en hertz, mesure tout simplement le nombre d’impulsions de l’horloge interne par seconde. Un processeur cadencé à 800 MHz effectuera 800 millions d'opérations par seconde. (jusqu’à 4 GHz ). « la quasi totalité des composants de l'ordinateur se basent sur la fréquence d'horloge afin de fixer leur propre cadence de travail, soit qu'ils la multiplient (comme le processeur), soit qu'ils la fractionnent (tels les bus d'entrées/sorties) tandis que le bus système et la mémoire, si elle fonctionne en mode synchrone, se calquent eux très précisément sur cette dernière. » coef multiplicateur Débit Binaire 18 Le débit binaire est la quantité d’informations en octets transportée à travers les bus de l’ordinateur en une seconde. Il est possible de connaître le débit maximal du bus en multipliant sa largeur par sa fréquence. Exemple Un bus d’une largeur de 16 bits, cadencé à une fréquence de 133 MHz possède donc un débit théorique égal à : 16 × 133×106 bit/s = 2 128×106 bit/s = 266×106 octets/s = 266 Mo/s Temps d’accès 19 Le temps d’accès est le temps qui sépare une demande de lecture de l'obtention de l'information. Ce temps d’accès concerne les mémoires. La mémoire 20 La mémoire est constituées de cellules où peuvent être stockées les données. Chaque cellule mémoire dispose d’une adresse mémoire. Ainsi pour lire ou écrire une donnée en mémoire, il est nécessaire de disposer d’une adresse. Le bus d'adresse ne sert pas uniquement à identifier une adresse en mémoire; il permet également de s’adresser aux périphériques. Adressage Les catégories de mémoires 21 Le temps d’accès est le temps nécessaire pour accéder à une information dans la mémoire. ms : milliseconde , 10 -3 secondes ou Millième de seconde ns : nanoseconde, 10 -9 secondes soit 1 Milliardième de seconde. Les types mémoires 22 MRAM Les mémoires vives 23 SDRAM -168 broches DDR-SDRAM -184 broches DDR2-SDRAM -240 broches RAMBUS -184 broches DDR3-SDRAM -240 broches Les mémoires vives 24 Type : Temps d’accès : Temps qui s’écoule entre SDR-SDRAM, DDR-SDRAM,DDR2SDRAM,DDR3-SDRAM,.. une demande de lecture ou d’écriture et la réalisation de cette opération. (en Capacité : 512Mo, 1 Go, 2Go,.. Norme : PC66, PC100, PC133 (SDR), PC2100, PC2700, PC3200, PC3500, PC3700, PC4000 (DDR) PC4200, PC4300, PC5400, PC6400, PC8000 (DDR2), PC3-10666 (DDR3) Débit : Nombre d’octets ou bits pouvant être lus ou écrits par seconde. (exprimé en Go/s) nanoseconde). Format : SIMM, RIMM, SO-DIMM, DIMM (Dual Inline Memory Module), nombre de broches 30, 172, 168, 184 (DDR), 240 (DDR2), Tension : 1,5v (DDR3); 1,8 v (DDR2) ; 2,5 v ;…. Détection d’erreurs : ECC ou non ECC Freeware: Everest HOME EDITION Chipsets 25 Le chipset est un circuit électronique qui gère les échanges de données entre les divers composants de la carte mère. La carte mère et le chipset déterminent : •La vitesse des différents bus , •Le type de processeur utilisable, •Le type de mémoire utilisable, •Les gammes de fréquences autorisées, •La taille maximale de la mémoire que l’on peut atteindre. •Les types de périphériques qui sont susceptibles d'être connectés. . La mémoire cache 26 Consiste à stocker dans une mémoire très rapide, mais de faible capacité, les données les plus souvent utilisées ou celles susceptibles d’être utilisées prochainement. Toute donnée est d’abord cherchée dans les caches. Microprocesseur 27 Un processeur est défini par : •La largeur de ses registres internes de manipulation de données et instructions (8, 16, 32, 64, 128) bits ; •La cadence de son horloge exprimée en MHz ou GHz ; •Le nombre de cœurs (core) exemple : dual core ou quad. •Son jeu d'instructions dépendant de la famille (CISC, RISC, EPIC,VLIW) ; • son architecture (pipeline, super-scalaire, vectorielle,..) •Sa finesse de gravure exprimée en nm (nanomètres) et sa microarchitecture. Intel Amd offre actuelle 28 29 Les ports et connecteurs externes 30 USB 1.0 : 12 Mbit/s USB 2.0 (Hi-speed) : 480 Mbit/s USB 3.0 (SuperSpeed) : 5 Gbit/s FIREWIRE Connecteurs internes 31 PCI ATA (Advanced Technology Attachment ) PATA(parallèle) SATA (serial) Comprendre une configuration Modèle de processeur Intel Pentium Fréquence du processeur 2,7 GHz Fréquence du bus FSB 800 Nombre de core 2 Architecture Intel Penryn Finesse de gravure 0,045 Cache L2 2 Mo Comprendre une configuration Démarrage de l’ordinateur 34 BIOS (Basic Input Output System) RAM Le BIOS assure plusieurs fonctions: - Le POST (Power-On Self-Tests) - Lancement du programme contenu dans le MBR. Le MBR (Master Boot Record) est le premier secteur du disque dur (512 octets). Il contient la table des partitions et un programme. Le BIOS lance l’exécution de ce programme. Ce programme recherche la partition active et charge en mémoire le programme qui se trouve sur la partition active, le PL (Partition Loarder) Le PL charge à son tour en mémoire les composants centraux (Kernel) du système d’exploitation. Le noyau du Système d’exploitation assurera ensuite le reste du chargement nécessaire pour la construction de l'environnement de travail final.