Architecture évoluée - Section 01 (Décembre 2024) PDF
Document Details
ESIEA
2022
R. MAHMOUDI
Tags
Summary
Ce document est un support de cours sur les architectures des ordinateurs, couvrant l'histoire de l'informatique, les systèmes d'information et les composants informatiques. Il est destiné à un niveau d'étude universitaires.
Full Transcript
Architectures & Systèmes évolués (Partie 01 – Arch.) AU 2022 / 2023 (Support de cours) R. MAHMOUDI ([email protected]) www.ramzimahmoudi.net...
Architectures & Systèmes évolués (Partie 01 – Arch.) AU 2022 / 2023 (Support de cours) R. MAHMOUDI ([email protected]) www.ramzimahmoudi.net 1 Architectures & Systèmes évolués Plan du module – Architectures évoluées Section 01 : Architecture des ordinateurs – Les fondements (Histoire + Système Information + Composants + Machines théorique + Etude de cas) Section 02 : Architecture des cartes à puce (Concept de base + Technologie & Applets JavaCard + Normes & Terminaux) Section 03 : Architecture de Cloud (Principe & paradigme + Environnement IaaS) Mini-projet / soutenance : (1 seul choix / Mise en pratique ) Développement Application de porte monnaie électronique / JavaCard (free) Installation d'un VPS sous VM / Google Cloud (free) Développement Application Openstack sandbox (free) www.ramzimahmoudi.net 2 Architectures & Systèmes évolués (Section 01) Architectures des ordinateurs Les fondements www.ramzimahmoudi.net 3 Architectures des ordinateurs – Les fondements Plan de la section 01 Histoire de l’informatique Système d’information – (Rappel) Composants de l’ordinateur - (Rappel) Représentation de l’information – (Rappel) Machines théoriques Etude de cas : Microprocesseurs & Jeu d’instructions www.ramzimahmoudi.net 4 Architectures des ordinateurs – Les fondements 1- HISTOIRE DE L’INFORMATIQUE www.ramzimahmoudi.net 5 Architecture des ordinateurs Histoire – Epoque mécanique (1) 500 av. J.C : Premiers outils mécanique de calcul : l’abaque et le boulier. 1580 : John NAPIER (Neper) invente les logarithmes 1642 : Pascal met au point la Pascaline (additions et soustractions). L’Abaque (chine) la Pascaline. 6 Architecture des ordinateurs Histoire – Epoque mécanique (2) 1673 : Gottfried Wilhelm Von Leibniz améliore la Pascaline (multiplier et diviser). 1679 : Francis Bacon invente la base du langage binaire 1725 : La première machine programmable fût inventée : métier à tisser (à un ruban troué puis à cartes perforées). Leibniz métier à tisser 7 Architecture des ordinateurs Histoire – Epoque mécanique (3) 1820: Arith-méto-mètre de Thomas de Colmar : première machine à calculer. 1833 : Babbage introduit le concept d’un ordinateur : unité de calcul, mémoire, registre et entrée des données par carte perforée. Colmar Babbage 8 Architecture des ordinateurs Histoire – Epoque électromécanique (1) 1890: Hollerith construisit une machine électromécanique pour faciliter les opérations de recensement (essentiellement des tris et des comptages). 1904 : Invention du premier tube à vide, la diode par John Fleming. Hollerith Tube à vide 9 Architecture des ordinateurs Histoire – Epoque électromécanique (2) 1937 : George Stibitz crée le premier circuit binaire, un additionneur (Model K) 1937 : Alan M. Turing publie un document sur les nombres calculables. 1938 : Claude Shannon fait le lien entre les circuits électriques et l’algèbre Booléenne. Il définit le chiffre binaire : bit (BInary digiT). George Stibitz Alan M. Turing Claude Shannon 10 Architecture des ordinateurs Histoire – Epoque électromécanique (3) 1941 : Konrad Zuse, met au point le Z3, le premier calculateur avec programme enregistré , il pouvait stocker 64 nombres de 22 bits et réaliser 4 additions par seconde et une multiplication en 4 secondes. Konrad Zuse présente le Z1 11 Architecture des ordinateurs Histoire – Epoque électronique (1) 1945 : John Von Neumann: premier rapport décrivant ce que devrait être un ordinateur à programme enregistré qu’il appelle l’EDVAC (Electronic Discrete Variable Automatic Computer). EDVAC 12 Architecture des ordinateurs Histoire – Epoque électronique (2) 1946 : Creation de l’ENIAC (Electronic Numerical Integrator and Computer). Composé de 19000 tubes, pèse 30 tonnes, occupe une surface de 72 m2 et consomme 140 kilowatts. Horloge : 100 KHz. Vitesse : environ 330 multiplications par seconde. ENIAC 13 Architecture des ordinateurs Histoire – Epoque électronique (3) 1947 : Invention du transistor dans les laboratoires de Bell Telephone. 1950 : Assembleur (microprogrammation) par Maurice V. Wilkes 1951 : Compilateur A0 par Grace Murray Hopper. 1953 : Mémoire à tores de ferrite. Transistor V. Wilkes Hopper Mémoire à tores 14 Architecture des ordinateurs Histoire – Epoque électronique (4) 1957 : Création du TX0 au laboratoire de Lincoln, Processeur 18 bits – 3500 transistors, 83000 instructions par seconde, Mémoire : 65536 mots, Entrées : clavier - stylo optique, Sorties : écran graphique - imprimante, Consommation : 1000 Watts TX0 15 Architecture des ordinateurs Histoire – Epoque électronique (5) 1957 : Création du premier langage de programmation universel, le FORTRAN (FORmula TRANslator) par John Backus. Buckus 16 Architecture des ordinateurs Histoire – Epoque électronique (6) 1965 : Gordon Moore écrit que la complexité des circuits intégrés doublera tous les ans. ”Loi de Moore”. 1968 : Création du langage PASCAL par Niklaus Wirth. 1969 : Début de UNIX ( Ken Thompson et Dennis Ritchie) Moor Wirth Thompson et Ritchie 17 Architecture des ordinateurs Histoire – Epoque électronique (7) 1970 : Première puce mémoire crée par Intel 1971 : Intel 4004, processeur 4 bits tournant à 108 KHz, 640 octets de mémoire, 60000 instructions par seconde, 2300 transistors. Intel 4OO4 18 Architecture des ordinateurs Histoire – Epoque électronique (8) 1971- 1973 : Dennis Ritchie : le langage C et le noyau UNIX en C 1972 - 1973 : Bob Kahn introduit le protocole TCP/IP 1984 : Apple Macintosh 1984 : Mise en place du DNS (Domain Name Server) sur Internet. 1986: le nombre de machines connectées sur Internet atteint 2308 connectés. 1987: Sortie de Word 4.0 pour DOS chez Microsoft. Macintosh 1984 19 Architecture des ordinateurs Histoire – Epoque électronique (9) 1989 : Le WWW (World Wide Web) a été créé par Tim Berners-Lee. 1990 : Windows 3.0 fait son apparition (de Microsoft). 1991 : Linus Torvalds, qu'il nommera ensuite Linux (Linus's Unix). 1995 : Naissance du navigateur Internet Explorer pour Windows. 2000 : Le processeur Intel Pentium 4. 20 Architecture des ordinateurs Histoire – Epoque électronique (10) 2007 : Mac Pro Intel Xeon 8-Core (8 cœurs) à 3,0 GHz reconditionné avec Deux processeurs Intel Xeon quadri-coeur à 3,0 GHz 1 Go (2 x 512 Mo) de mémoire (DIMM ECC DDR2 667 MHz à tampon complet) Disque dur Serial ATA 250 Go (3 Gb/s) à 7 200 tr/min SuperDrive 16x (DVD+R DL/DVD±RW/CD-RW) Carte graphique NVIDIA GeForce 7300 GT avec 256 Mo de mémoire 21 Architecture des ordinateurs Histoire – Epoque électronique (11) 2008 : 1ère génération « Nehalem » Les puces Intel Core i3, i5 et i7 de première génération sont sorties de 2008 à 2010 et sont gravés en 45nm (nanomètres). Les Core de première génération ont encore un processeur et une carte graphique séparée. Les Core des générations suivantes embarqueront un processeur et un circuit graphique au sein d’une même puce. A quoi ça sert la finesse de gravure d’un processeur ? Diminuer la finesse de gravure permet d’abord de baisser les coûts de fabrication, cela permet également de diminuer la quantité de chaleur produite par le processeur, de diminuer sa consommation d’énergie et de pouvoir le monter plus haut en fréquence 22 Architecture des ordinateurs Histoire – Epoque électronique (12) 2011 : Intel Core de 2nd génération « Sandy Bridge » Les processeurs Core de deuxième génération intègrent le processeur et la carte graphique au sein d’une même puce Cette intégration permet d’avoir des échanges beaucoup plus rapides entre le CPU et le contrôleur graphique. Les améliorations sont visibles lors de la lecture de vidéos HD et dans les jeux vidéos. Les processeurs de 2nd génération étaient 42% plus rapides que ceux de 1ère génération. 23 Architecture des ordinateurs Histoire – Epoque électronique (13) 2012 : Intel Core de 3ème génération « Ivy Bridge » Les processeurs Intel Core de troisème génération sont gravés en 22nm. Ils sont combinés avec les nouveaux chipsets Intel Série 7 Ils bénéficient du support du PCIe 3.0 et de l’USB 3.0, ainsi la vitesse de la mémoire vive peut monter à 1600 MHz Qu’est-ce un chipset ? Le chipset est une puce électronique chargée de coordonner les échanges de données entre les différents composants de l’ordinateur. C’est la plateforme centrale de la carte mère ! La plupart des chipsets intègrent une puce graphique, audio ou réseau, ce qui permet de ne pas avoir à acheter séparément tous ces composants. 24 Architecture des ordinateurs Histoire – Epoque électronique (14) 2013 : Intel Core de 4ème génération « Haswell » Les processeurs Haswell arrivent avec une toute nouvelle architecture (tout en conservant le procédé de fabrication en 22nm) et un nouveau socket, le LGA 1150. L’objectif de ces processeurs est de réduire leur consommation énergétique. Les processeurs Haswell intègrent un nouveau processeur intégré, Intel HD Graphics 4600, plus performant que l’ancien Intel HD 4000. 25 Architecture des ordinateurs Histoire – Epoque électronique (15) Juin - 2015 : Intel Core de 5ème génération « Broadwell » Les processeurs Broadwell sont les premières puces de bureau en socket LGA 1150 gravées en 14 nm. (Rappel) Une fitesse de gravure supérieure permet une consommation moindre, un échauffement mesuré et une capacité d’overclocking (une montée en fréquence) supérieure. La consommation énergétique se révèle impressionnante : le Core i7 5775C consomme en effet moins qu’un Core i3 Haswell ! Les processeurs Broadwell disposent d’un processeur graphique intégré : iGPU - l’Iris Pro Graphics 6200 26 Architecture des ordinateurs Histoire – Epoque électronique (16) Aout - 2015 : Intel Core de 6ème génération « Skylake» Les processeurs Skylake introduisant une nouvelle micro-architecture et un nouveau socket : le LGA 1151. La plate-forme Skylake introduit la mémoire DDR4 sur toutes les plates-formes grand public. Les performances des processeurs Skylake sont en hausse de 10% en moyenne par rapport à la génération précédente Broadwell et d’environ 23% par rapport aux processeurs Sandy Bridge. 27 Architecture des ordinateurs Histoire – Epoque électronique (17) Janvier - 2017 : Intel Core de 7ème génération « Kaby Lake» L'évolution par rapport à Skylake se limite grossièrement à une montée en fréquence des cœurs CPU. Le Kaby Lake conservera pour la première fois la même finesse de gravure que la 6eme génération 28 Architecture des ordinateurs Histoire – Epoque électronique (18) Les limites technologiques Les limites technologiques dans les procédés de gravure. : Le 14 nm a ainsi subi plusieurs mois de retard, tandis que le passage au 10 nm, initialement prévu au courant 2016, n'arrivera finalement qu'en fin d'année 2017 sur le segment mobile "faible consommation" et courant 2018 sur le desktop haute performance. 29 Architecture des ordinateurs - Les fondements Histoire – Epoque électronique (19) Future : Quels processeurs après KabyLake ? Le "Tick" correspond à une miniaturisation de l'architecture de la puce (ce qui permet par exemple d'économiser de l'énergie). Le "Tock" correspond à une nouvelle architecture (ce qui permet par exemple des bonds en puissance plus importants). 30 Architectures des ordinateurs – Les fondements 2- SYSTÈME INFORMATIQUE www.ramzimahmoudi.net 31 Architecture des ordinateurs : Système informatique – Introduction (1) Un système est une collection organisée d’objets en interaction qui forme un tout. Objets -> Composants du système Interaction -> Interconnexions Collection organisé -> Comportement (ce que le système fait) Tout -> Structure (composants + interconnexions = comment le système est fait) 32 Architecture des ordinateurs : Système informatique – Introduction (2) Un système est une collection organisée d’objets en interaction qui forme un tout. Composant Entrées Sorties Interconnexion 33 Architecture des ordinateurs : Système informatique – Introduction (3) Le comportement d’un système peut être décrit formellement par des équations de type : x y y=f(x) 34 Architecture des ordinateurs : Système informatique – Introduction (4) Informatique : L'informatique (information automatique) désigne l'automatisation du traitement de l'information par un système concret (machine) ou abstrait (automate). Système Informatique : Un système informatique est un ensemble de composants de type logiciel (software) et matériel (hardware), mis ensemble pour collaborer dans l'exécution d'une application. 35 Architecture des ordinateurs : Système informatique – organisation (1) Logiciels d’application Système d’exploitation BIOS C4 C3 C2 C1 Matériel 36 Architecture des ordinateurs : Système informatique – organisation (2) Logiciels d’application : Programme ou ensemble de programmes, accessible au non-informaticien, et conçu en vue de la résolution de problèmes communs à plusieurs utilisateurs (progiciel) ou particulier C4 à une profession (logiciel spécifique). 37 Architecture des ordinateurs : Système informatique – organisation (3) Système d’exploitation : Un système d'exploitation est la base logiciel qui permet l'utilisation du matériel informatique. Les principaux systèmes d'exploitation sont Windows Unix, Linux, Mac OS et MS Dos C3 38 Architecture des ordinateurs : Système informatique – organisation (4) BIOS : Programme d'initialisation de l'ordinateur s'exécutant avant le chargement du système d'exploitation ; acronyme de Basic Input Output System C2 39 Architecture des ordinateurs : Système informatique – organisation (5) Matériel : Désigne les éléments physique du matériel informatique, en opposition au matériel logiciel. C1 40 Architecture des ordinateurs : Système informatique – organisation (5-2) Matériel : C1 41 Architecture des ordinateurs : Système informatique – organisation (5-3) Matériel : C1 42 Architectures des ordinateurs – Les fondements 3- COMPOSANTS D’UN ORDINATEUR www.ramzimahmoudi.net 43 Architecture des ordinateurs : Les composants d’un ordinateur – (1) 3 1 4 5 2 44 Architecture des ordinateurs : Les composants d’un ordinateur – (2) 1 Unité centrale de traitement : l'unité centrale de traitement est composée principalement de : l'unité arithmétique et logique (UAL ou ALU : Arithmetic and Logical Unit) : Exécute les opérations arithmétiques (addition, soustraction, décalages), les opérations booléennes (ET, OU, etc.…). Les registres : Mémoire locale très rapide qui permet de stocker des résultats temporaires ou des informations de commande. 45 Architecture des ordinateurs : Les composants d’un ordinateur – (2) 1 46 Architecture des ordinateurs : Les composants d’un ordinateur – (2) 1 Unité centrale de traitement : l'unité centrale de traitement est composée principalement de : l'unité arithmétique et logique (UAL ou ALU : Arithmetic and Logical Unit) : Exécute les opérations arithmétiques (addition, soustraction, décalages), les opérations booléennes (ET, OU, etc.…). Les registres : Mémoire locale très rapide qui permet de stocker des résultats temporaires ou des informations de commande. l'unité de commande : un dispositif de décodage des instructions (décodeur) un séquenceur qui contrôle les circuits nécessaires à l'exécution de l'instruction en cours; 47 Architecture des ordinateurs : Les composants d’un ordinateur – (3) 2 Mémoires: Tout dispositif capable de stocker des informations (instructions et données) de telle sorte que l'organe qui les utilise puisse à n'importe quel moment accéder à l'information qu'il demande. 48 Architecture des ordinateurs : Les composants d’un ordinateur – (3-1) 2 2 2 2 49 Architecture des ordinateurs : Les composants d’un ordinateur – (3-2) 2 Mémoires: Opérations de base : Ecriture lorsqu'on enregistre des données en mémoire, lecture lorsqu'on sort des informations précédemment enregistrées. La lecture peut être destructive (l'information lue n'est plus en mémoire) ou non. 50 Architecture des ordinateurs : Les composants d’un ordinateur – (3-3) 2 Mémoires: Caractéristiques : Temps d'accès est le temps qui s'écoule entre l'instant où a été lancée une opération de lecture en mémoire et l'instant où la première information est disponible. Temps de cycle représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture. Le temps de cycle est égal ou supérieur au temps d'accès. Cadence de transfert ou débit d'une mémoire : le nombre maximum d'informations lues ou écrites par unité de temps. 51 Architecture des ordinateurs : Les composants d’un ordinateur – (4) 2 Mémoires: Décomposition Une mémoire est formée d'un certain nombre de cellules (cases) contenant chacune une information. Chaque cellule a un numéro qui permet de la référencer et de la localiser. Ce numéro est son adresse. Avec une adresse de n bits il est possible de référencer directement au plus 2n cellules. La capacité d'une mémoire est le nombre total de cellules qu'elle contient. Elle s'exprime en nombre de bits, d'octets (bytes) ou de mots (words). Compte tenu de l'adressage binaire, les capacités des mémoires s'expriment en puissances de deux ou en multiples de 210 = 1024. 52 Architecture des ordinateurs : Les composants d’un ordinateur – (5) 2 Mémoires: Mesure – Capacité de stockage : Symbole Préfixe Décimal Binaire 1k kilo 103 210 = 1024 1M méga 106 220 = 1048576 1G giga 109 230 = 1073741824 1T téra 1012 240 = 1099511627776 53 Architecture des ordinateurs : Les composants d’un ordinateur – (6) 2 Mémoires: On distingue principalement deux types de mémoires : les mémoires vives (RAM : Random Access Memory) ou mémoires volatiles : Elles perdent leur contenu en cas de coupure d’alimentation. Elles sont utilisées pour stocker temporairement des données et des programmes. Elles peuvent être lues et écrites par le microprocesseur ; les mémoires mortes (ROM : Read Only Memory) ou mémoires non volatiles : Elles conservent leur contenu en cas de coupure d’alimentation. Elles ne peuvent être que lues par le microprocesseur (pas de possibilité d’´ecriture). On les utilise pour stocker des données et des programmes de manière définitive. 54 Architecture des ordinateurs : Les composants d’un ordinateur – (7) 2 Mémoires: Organisation : N lignes Adresse N lignes données Mémoire signaux contrôles 55 Architecture des ordinateurs : Les composants d’un ordinateur – (8) 2 Mémoires: Le nombre de lignes d’adresses dépend de la capacité de la mémoire : n lignes d’adresses permettent d’adresser 2n cases mémoire Ex: 8 bits d’adresses permettent d’adresser 256 octets, 16 bits d’adresses permettent d’adresser 65536 octets 56 Architecture des ordinateurs : Les composants d’un ordinateur – (9) 2 Mémoires: REGISTRES Mém. cache interne Mém. cache Mém. Cache externe Mémoire Mém. centrale Mém. secondaire 57 Architecture des ordinateurs : Les composants d’un ordinateur – (10) 2 Mémoires: REGISTRES G1 Mém. Cache externe G2 Mém. cache interne G3 Mém. centrale Mém. secondaire G4 58 Architecture des ordinateurs : Les composants d’un ordinateur – (11) 2 Mémoires: Vitesse Registres Internes Mémoire Cache Interne L0 Mémoire Cache Externe L1 Mémoire centrale Mémoire Secondaire Capacité 59 Architecture des ordinateurs : Les composants d’un ordinateur – (12) 2 Mémoires: Registre CPU Mémoire cache Interne Mémoire cache L0 Externe ~ nsec L1 Unité de 10 nsec contrôle Disque Mémoire centrale 1msec 100nsec 60 Architecture des ordinateurs : Les composants d’un ordinateur – (12-1) 2 Mémoires: Fenêtre sur les disques durs… Disque 1msec 61 Architecture des ordinateurs : Les composants d’un ordinateur – (12-2) 2 Mémoires: Structure et Fonctionnement Fenêtre sur les disques durs… 62 Architecture des ordinateurs : Les composants d’un ordinateur – (12-3) 2 Mémoires: Structure des plateaux Chaque plateau est fait : D’un support en aluminium ou en verre Plusieurs couches dont une ferromagnétique Deux formats principaux : 3,5 pouces 2,5 pouces Fenêtre sur les disques durs… 63 Architecture des ordinateurs : Les composants d’un ordinateur – (12-4) 2 Mémoires: Division des plateaux Fenêtre sur les disques durs… 64 Architecture des ordinateurs : Les composants d’un ordinateur – (12-5) 2 Mémoires: Système d’adressage Nécessité d’un système d’adressage pour retrouver les données stockées Adressage en CHS (Cylinder Head Sector) Limité à 1024 cylindres Dépassé Adressage LBA (Logical Block Adressing) Chaque bloc est désigné d’une manière unique Fenêtre sur les disques durs… 65 Architecture des ordinateurs : Les composants d’un ordinateur – (12-6) 2 Mémoires: Vitesse angulaire et Vitesse linéaire Vitesse angulaire : (Identique en tout point du disque) Vitesse linéaire : (Dépend de le la piste) Θ : angle Fenêtre sur T : temps R : distance centre au point étudié les disques durs… 66 Architecture des ordinateurs : Les composants d’un ordinateur – (12-7) 2 Mémoires: Tête de lecture & d’écriture Fenêtre sur les disques durs… 67 Architecture des ordinateurs : Les composants d’un ordinateur – (12-8) 2 Mémoires: Structure Une tête sur chaque face de plateau reliées à un même bras mécanique mouvement synchrone Fenêtre sur les disques durs… 68 Architecture des ordinateurs : Les composants d’un ordinateur – (12-9) 2 Mémoires: Trois types de têtes Tête inductive Tête MR (magnétorésistive) Tête GMR (giant magnétorisitive) Fenêtre sur les disques durs… 69 Architecture des ordinateurs : Les composants d’un ordinateur – (12-10) 2 Mémoires: Contrôleur de disque Ensemble électronique contrôlant principalement : Moteur électrique des plateaux Mouvement du bras mécanique Transformation signal électrique en bits et inversement Fenêtre sur les disques durs… 70 Architecture des ordinateurs : Les composants d’un ordinateur – (12-11) 2 Mémoires: Performance La performance d’un disque dur se mesure selon plusieurs critères : Sa capacité de stockage Sa densité d’information Sa vitesse de rotation Son temps d’accès Sa mémoire cache Son interface Son taux de transfert moyen Fenêtre sur les disques durs… 71 71 Architecture des ordinateurs : Les composants d’un ordinateur – (12-12) 2 Mémoires: Capacité Premier disque dur : Ramac 305 capacité de 5 Mo Multiplication de la capacité des disques durs par 10 000 en 15 ans. Actuellement, on trouve des disques allant jusqu’à 3 To Fenêtre sur les disques durs… 72 Architecture des ordinateurs : Les composants d’un ordinateur – (12-12) 2 Mémoires: Densité La densité représente la quantité d’informations que l’on peut mettre sur une surface donnée. (bit/pouce²) Auparavant, nombre de secteurs par piste identique densité différente selon les secteurs Depuis 1990, densité identique en tout point du disque Plus on s’éloigne du centre, plus le nombre de secteurs augmente Fenêtre sur les disques durs… 73 Architecture des ordinateurs : Les composants d’un ordinateur – (12-12) 2 Mémoires: Vitesse de rotation & temps d’accès Plus la vitesse de rotation est élevée plus le temps d’accès est court et donc le disque dur rapide. T accès = T seek + T latence Vitesse de rotation actuelle : De 5400 à 15 000 tr/min Temps d’accès actuel : Entre 10 et 20 ms Fenêtre sur les disques durs… 74 Architecture des ordinateurs : Les composants d’un ordinateur – (12-12) 2 Mémoires: Mémoire cache La mémoire cache est une mémoire vive qui sert de relais entre le disque dur et le processeur. Elle permet d’accroitre la vitesse de lecture / écriture Actuellement, la taille de la mémoire cache varie de 2 à 16Mo Fenêtre sur les disques durs… 75 Architecture des ordinateurs : Les composants d’un ordinateur – (12-12) 2 Mémoires: Interface & taux de transfert L’interface fait la liaison entre le disque dur et la carte mère. Plus l’interface est performante plus elle permet un taux de transfert élevé. ATA ( AT Attachement) = IDE = PATA SCSI ( Small Computer System Interface) SATA (Serial ATA) Actuellement, l’interface la plus récente est le SATA 3, jusqu’à 750 Mo/s Les PATA vont jusqu’à 130 Mo/s et les SCSI vont jusqu’à 300 Mo/s Fenêtre sur les disques durs… 76 Architecture des ordinateurs : Les composants d’un ordinateur – (13) 2 Mémoires: 77 Architecture des ordinateurs : Les composants d’un ordinateur – (14) 2 Mémoires: PROM: Programmable Read Only Memory. ROM programmable une seule fois par l’utilisateur (ROM OTP : One Time Programming) en faisant sauter des fusibles. Nécessite un programmateur spécialisé : application d’une tension de programmation (21 ou 25 V) pendant 20 ms. EPROM : Erasable PROM, appelée aussi UVPROM. ROM programmable électriquement avec un programmateur et effaçable par exposition à un rayonnement ultraviolet pendant 30 minutes. Famille 27nnn, exemple : 2764 (8 Ko), 27256 (32 Ko). Avantage : reprogrammable par l’utilisateur. 78 Architecture des ordinateurs : Les composants d’un ordinateur – (15) 2 Mémoires: EEPROM : Electrically Erasable PROM. ROM programmable et effaçable électriquement. Lecture à vitesse normale (≤ 100 ns). Ecriture (= effacement) très lente(≈ 10 ms). Application : les EEPROM contiennent des données qui peuvent être modifiées de temps en temps, exemple : paramètres de configuration des ordinateurs. Avantage : programmation sans extraction de la carte et sans programmateur. Inconvénient : coût élevé. 79 Architecture des ordinateurs : Les composants d’un ordinateur – (16) 2 Mémoires: SRAM : Static Random Access Memory. Mémoire statique à accés aléatoire, à base de bascules à semi-conducteurs à deux états. Avantage : très rapide, simple d’utilisation. Inconvénient : compliqué à réaliser. DRAM : Dynamic RAM. Basée sur la charge de condensateurs : condensateur chargé = 1, déchargé = 0. Avantage : intégration élevée, faible coût. Inconvénient : nécessite un rafraîchissement périodique à cause du courant de fuite des condensateurs. Application : réalisation de la mémoire vive des ordinateurs (barettes mémoire SIMM : Single In-line Memory module). 80 Architecture des ordinateurs : Les composants d’un ordinateur – (17-1) 3 Horloge: Toutes les unités internes fonctionnent au même rythme, à une cadence imposée par une horloge, généralement externe à l'unité centrale. A chaque cycle d'horloge, chaque unité va ouvrir ou fermer certaines portes pour déplacer, lire, écrire, comparer, additionner des bits. Ceci se fait en fonction d'ordres donnés par l'unité de contrôle. Ces ordres dépendent évidemment de l'instruction à exécuter. 81 Architecture des ordinateurs : Les composants d’un ordinateur – (17-2) 3 Horloge: La fréquence d’horloge: Fréquence Préfixe Hz Cycle Préfixe s 1 kHz kilo 103 1 ms mili 10-3 1 MHz méga 106 1 μs micro 10-6 1 GHz giga 109 1 ns nano 10-9 82 Architecture des ordinateurs : Les composants d’un ordinateur – (18) 4 Entrées / Sorties : Les techniques d'échange d'informations entre l'ordinateur et son environnement externe sont appelées techniques d'Entrées/Sorties (E/S ou I/O pour Input/Output). L'ordinateur échange des informations non seulement avec des opérateurs humains, par l'intermédiaire de terminaux de communication (consoles avec clavier, souris, imprimantes, lecteurs), mais également avec des dispositifs variés : appareils de mesures, capteurs, etc.… 83 Architecture des ordinateurs : Les composants d’un ordinateur – (18) 4 84 Architecture des ordinateurs : Les composants d’un ordinateur – (19) 4 Entrées / Sorties : Ports d’entrées/ Sorties * PS/2 mouse and keyboard * 1 x LPT, 1 x COM, S/PDIF-Out * 2 x Audio (Center/Sub, Rear) * 3 x Audio (Mic-In, Line-In, Front) * 2 x USB and FireWire * 2 x USB and 1 x RJ-45 (Gbit Ethernet) 85 Architecture des ordinateurs : Les composants d’un ordinateur – (20) 5 Bus : C’est un moyen de communication entre les différents éléments constituant une machine. Il s'agit en général d'un ensemble de fils électriques. Les différents éléments sont reliés au bus par des connecteurs, dont l'ensemble constitue un fond de panier (backplane). 86 Architecture des ordinateurs : Les composants d’un ordinateur – (20-1) 5 Bus : Chaque emplacement (slot) du fond de panier peut recevoir une carte électronique (board). Sur un bus circulent différents types de signaux : adresses, données, contrôle, alimentations, etc… 87 Architecture des ordinateurs : Les composants d’un ordinateur – (20-2) 5 5 88 Architecture des ordinateurs : Les composants d’un ordinateur – (21) 5 Bus : Mém. Principale Bus Microprocesseur Local Mém. cache externe Bus Système Bus à grande vitesse Interface Vidéo Interface Graphique Interface de bus d’extension Interface Interface RS232 RS232 Bus d’extension 89 Architecture des ordinateurs : Les composants d’un ordinateur – (22) 5 Bus : Espace logique adressable >= 2m Tailles des données = n bits Périphérique E/S Microprocesseur Mém. Principale Ports E/S m Bus d’adresses n Bus de données Bus de contrôle 90 Architectures des ordinateurs – Les fondements 4- REPRESENTATION DE L’INFORMATION www.ramzimahmoudi.net 91 Architecture des ordinateurs : Représentation de l’information – (1) Deux types d’informations : Instructions et données 1- Instructions: ??? 2- Données: Ce sont les opérandes sur lesquels portent les opérations : traitement ou produits par celles-ci : résultats Deux types : ♦ Analogique: Les valeurs ne sont pas séparées par des sauts: entre deux valeurs A et B il existe un nombre infini d'autres valeurs ♦ Digitale (numérique): Une valeur est représentée par une chaîne finie de symboles appelés digits. Il est impossible de représenter digitalement tous les nombres existants entre deux points d'une échelle analogique 92 Architecture des ordinateurs : Représentation de l’information – (2) ♦ Toute information dans un système informatique est représentée sous la forme d'un paquet de bits ♦ La différence entre un type d'information et un autre est donnée seulement par le contexte: la même séquence de bits peut représenter un nombre entier, un nombre réel, un caractère, une instruction, un son, etc Information = Bit + Contexte 93 Architecture des ordinateurs : Représentation de l’information – (3) Programme en C Compilateur Programme en assembleur Mémoire principale Assembleur Programme en Langage machine Chargeur 94 Architecture des ordinateurs : Représentation de l’information – (4/5/6) Programme en A=b+c Langage Haut Niveau : C Compilateur C Programme en MOVE.L (A1),D0 ADD.L (A2),D0 Langage assembleur MOVE.L D0,(A0) pour le 68000 Assembleur Programme en 2011H 0010000000010001 D092H 1101000010010010 Langage machine 2080H 0010000010000000 Binaire pour le 68000 95 Architecture des ordinateurs : Représentation de l’information – (7) ♦ Représentation des nombres naturels ♦ Le système de numération romain a été remplacé par un système de numération de position dans une base choisie (normalement la base 10) ♦ Exemple : A=1234 1234 = 1x 103 + 2x 102 + 3x 101 + 4x 100 1234 = 1x1000 + 2x100 + 3x10 + 4x1 1234 = 1000 + 200 + 30 + 4 96 Architecture des ordinateurs : Représentation de l’information – (7-1) ♦ Représentation des nombres naturels ♦ Une base : un système de représentation des nombres à partir de chiffres. ♦ Base 2: les chiffres sont : 0,1. ♦ Base 10: les chiffres sont : 0,1,2,3,4,5,6,7,8,9. ♦ Base 16: les chiffres sont : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. ♦ Exemple : En base 10 : 245 = 2x 102 + 4x 101 + 5x 100 En base 2 : 11110101 = 1x 27 + 1x 26 + 1x 25 + 1x 24 + 0x 23 + 1x 22 + 0x 21 +1x 20 En base 16 : F5 = Fx 161 + 5x 160 97 Architecture des ordinateurs : Représentation de l’information – (7-2) ♦ Représentation des nombres naturels Décimal Binaire Hexadécimal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 98 Architecture des ordinateurs : Représentation de l’information – (7-3) ♦ Représentation des nombres naturels ♦ Dans ce mode de représentation, en base n on utilise n symboles (chiffres) différents. Mais la valeur du chiffre change selon sa position : ♦ Si un naturel X s'écrit en base β sur N chiffres ( xN-1 xN-2... x1 x0 ) la correspondance entre la valeur de X et celles des chiffres est donnée par l'équation: ♦ En informatique, on appelle X0 le chiffre de poids faible (ou moins significatif), et XN-1 le chiffre de poids fort (ou plus significatif) 99 Architecture des ordinateurs : Représentation de l’information – (7-4/5) ♦ Représentation des nombres naturels ♦ Si, dans la vie courante, nous utilisons la base 10, les ordinateurs utilisent la base 2 ♦ Les problèmes de la base 10 sont: Difficulté de stockage Difficulté de transmission des 10 niveaux de signal nécessaires Difficulté d'implémentation des fonctions logiques et arithmétiques ♦ Par contre, la base 2 est facile à stocker, à l'aide d'éléments électroniques bistables, et sa transmission est fiable, même sur des environnements bruyants et imprécis 100 Architecture des ordinateurs : Représentation de l’information – (7-6) ♦ Représentation des nombres naturels ♦ Passage de binaire à décimal: 01101011 = 0x 27+1x 26+1x25+0x24+1x23+0x22+1x21+1x20 = 64+32+8+2+1 = 107 ♦ Passage d'hexadécimal à décimal: A8CE = 10x163+8x162+12x161+14x160 = 40960+2048+192+14 = 43214 101 Architecture des ordinateurs : Représentation de l’information – (7-7) ♦ Représentation des nombres naturels ♦ Passage de décimal à binaire: 193 = ? 193 = 110000012 102 Architecture des ordinateurs : Représentation de l’information – (7-8) ♦ Représentation des nombres naturels ♦ Passage de décimal à hexadécimal: 923 = ? 923 = 39B16 103 Architecture des ordinateurs : Représentation de l’information – (7-9) ♦ Représentation des nombres naturels ♦ Passage de binaire à hexadécimal: 1011 1010 0010 1110 B A 2 E 104 Architecture des ordinateurs : Représentation de l’information – (7-10) ♦ Représentation des nombres naturels ♦ En base β, sur N chiffres, on peut représenter : TOUT les naturels au sens large entre 0 et (βn-1) ♦ Les ordinateurs ont un format pour représenter les nombres, c'est-à-dire un nombre de chiffres pré-établi. Pour cette raison, il est parfois utile d'écrire également les zéros à gauche ♦ Exemple: en base 2, sur 4 chiffres, on peut représenter les naturels entre 0 et 15 105 Architecture des ordinateurs : Représentation de l’information – (7-11) ♦ Représentation des nombres naturels 106 Architecture des ordinateurs : Représentation de l’information – (7-15) ♦ Représentation des nombres naturels ♦ Il est possible d'excéder la capacité de représentation d'un ordinateur (overflow), lors d'une addition par exemple : 1 1+1 -> S=0 et C=1 10 + 9 = 19 1010 + 1001 10011 bit perdu à cause du dépassement de capacité 107 Architecture des ordinateurs : Représentation de l’information – (7-16) ♦ Représentation des nombres naturels ♦ On appelle généralement « Taille d’un mot" le nombre de bits utilisés par un ordinateur pour stocker un entier. ♦ La plupart des ordinateurs possèdent des mots 32 bits (ou bien 64 bits). ♦ Les ordinateurs peuvent travailler sur plusieurs formats de données, fractions ou multiples de la taille du mot. Toutefois, la taille de tous ces formats est toujours un multiple d'un byte. ♦ Les données sont stockées dans une mémoire, chaque donnée à une adresse différente. ♦ Chaque byte dans une mémoire possède une adresse différente. Si une donnée contient plus d'un byte, l'adresse de la donnée correspond à celle du premier byte 108 Architecture des ordinateurs : Représentation de l’information – (7-17) ♦ Représentation des nombres naturels Mots Mots 32 bits 64 bits Bytes Adr 109 Architecture des ordinateurs : Représentation de l’information – (7-18) ♦ Représentation des nombres naturels ♦ Une adresse est stockée dans un mot de la mémoire d'un ordinateur ♦ Le nombre de bits d'un mot limite donc la taille maximale de la mémoire d'un ordinateur ♦ Si un ordinateur utilise des mots de 32 bits, la taille maximale de sa mémoire est de 232 bytes, c'est-à-dire 4 gigabytes: 2 =2 x2 =4GB 32 2 30 110 Architecture des ordinateurs : Représentation de l’information – (7-19) ♦ Représentation des nombres naturels ♦ Les différents bytes d'un mot peuvent être ordonnés de différentes façons dans la mémoire ♦ Les deux ordonnancements les plus utilisés sont: big endian: le byte de poids fort est mis à l'adresse inférieure (le mot commence par le byte de poids fort) utilisé par les ordinateurs Sun et Macintosh, par exemple little endian: le byte de poids faible est mis à l'adresse inférieure (le mot commence par le byte de poids faible) utilisé par les ordinateurs PC et Alpha, par exemple 111 Architecture des ordinateurs : Représentation de l’information – (7-20) ♦ Représentation des nombres naturels ♦ Exemple: Supposez que la valeur de la variable toto est 0x01234567 et qu'elle est stockée à l'adresse 0x0100 (c'est-à-dire &toto=0x0100) 112 Architecture des ordinateurs : Représentation de l’information – (7-21) ♦ Représentation des nombres naturels ♦ Exemple, sur un ordinateur 32 bits: int toto = 15213; décimal: 15213 binaire: 0011 1011 0110 1101 hexadécimal: 3 B 6 D PC 6D 3B 00 00 113 Architecture des ordinateurs : Représentation de l’information – (7-22) ♦ Représentation des nombres naturels ♦ Bien que, pour la plupart des cas, l'ordonnancement des bytes est transparent pour l'utilisateur, il existe des situations où il peut être à l'origine des erreurs: lors de la transmission de données entre deux ordinateurs: le protocole de communication doit spécifier l'ordre de transmission des bytes lors de l'examen d'un programme en assembleur (debugging, par exemple) lors du traitement des données à bas niveau, possible avec des langages ex : C 114 Architecture des ordinateurs : Représentation de l’information – (8) ♦ Représentation des nombres entiers signés ♦ Représentation signe-magnitude: Le bit de poids fort indique le signe (0 si positif) et les bits restants la valeur du nombre. Avec n bits on peut représenter des entiers entre: -(2 -1) n-1 et +(2 -1) n-1 Deux représentations sont possibles pour zéro +0=0000…0 et -0=1000…0 Le bit de signe doit être traité à part pour l’addition et la multiplication 115 Architecture des ordinateurs : Représentation de l’information – (8-1) ♦ Représentation des nombres entiers signés ♦ Exemple avec n=4: 116 Architecture des ordinateurs : Représentation de l’information – (8-2) ♦ Représentation des nombres entiers signés ♦ Exemples d'opérations arithmétiques (avec n=4): 5 0101 Résultat faux (-0): +3 0011 =8 1000 1 5 0101 Résultat faux (+0) & -3 1011 Dépassement de capacité =2 0000 la soustraction devrait pouvoir être traitée comme une addition: 5 - 3 = 5 + (-3) 117 Architecture des ordinateurs : Représentation de l’information – (8-3) ♦ Représentation des nombres entiers signés ♦ Représentation logique (complément à un) : +7 = 0111 -7 = 1111 en signe et valeur absolue -7 = 1000 en complément à un Complément à un = inverse du nombre : 0->1 et 1->0 118 Architecture des ordinateurs : Représentation de l’information – (8-4) ♦ Représentation des nombres entiers signés ♦ Représentation arithmétique (complément à deux): +7 = 0111 -7 = 1111 en signe et valeur absolue -7 = 1000 en complément à un -7 = 1000+1 = 1001 en complément à deux Le complément à deux d’un nombre est égal à l'inverse du nombre plus 1. Par exemple, le complément à deux de 0101 est (1010+1)=1011 ♦ Dans ce système, un nombre négatif est le complément à deux du même nombre positif. Le bit de poids fort d'un nombre négatif est égal à 1 119 Architecture des ordinateurs : Représentation de l’information – (8-5) ♦ Représentation des nombres entiers signés ♦ Avec n bits on peut représenter des entiers entre: n-1 n-1 -(2 ) et +(2 -1) Une seule représentation est possible pour zéro 0=0000…0 120 Architecture des ordinateurs : Représentation de l’information – (8-6) ♦ Représentation des nombres entiers signés ♦ non signé ♦ complément à 2 121 Architecture des ordinateurs : Représentation de l’information – (8-7) ♦ Représentation des nombres entiers signés ♦ Exemple avec n=4: Complément à deux 122 Architecture des ordinateurs : Représentation de l’information – (8-8) ♦ Représentation des nombres entiers signés ♦ Si n=4: signe-magnitude Complément à 2 -(2n-1 -1) et +(2n-1 -1) signe-magnitude -(2 ) n-1 et +(2 -1) n-1 Complément à 2 123 Architecture des ordinateurs : Représentation de l’information – (8-9) ♦ Représentation des nombres entiers signés 124 Architecture des ordinateurs : Représentation de l’information – (9) ♦ Addition et soustraction dans N 1. Addition de deux nombres de 1 bit dans N S+=a + b a b S+=a+b Carry 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 C= a b 125 Architecture des ordinateurs : Représentation de l’information – (9-1) ♦ Addition et soustraction dans N 2. Soustraction de deux nombres de 1 bit dans N S-=a + b a b S-=a-b Carry 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 r=a b 126 Architecture des ordinateurs : Représentation de l’information – (9-2) ♦ Addition et soustraction dans N 3. Additionneur complet S+=a + b + cin a b cin S+ Cout 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 C =(a b)+((a + b) cin) out 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 127 Architecture des ordinateurs : Représentation de l’information – (9-3) ♦ Addition et soustraction dans N 4. Soustracteur complet S- =a + b + rin a b cin S+ Cout 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 r =(a b)+((a + b) rin) out 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 128 Architecture des ordinateurs : Représentation de l’information – (9-4) ♦ Addition et soustraction dans N ♦ Exemples d'opérations arithmétiques (avec n=4): 5 0101 résultat faux (-8): +3 0011 dépassement de capacité =8 1000 la soustraction devrait pouvoir être traitée comme une addition: 5 - 3 = 5 + (-3) 5 0101 -3 1101 résultat correct =2 0010 129 Architecture des ordinateurs : Représentation de l’information – (9-5) ♦ Addition et soustraction dans N ♦ Les opérations d'addition et de soustraction sont simplifiées en complément à deux: 130 Architecture des ordinateurs : Représentation de l’information – (9-6) ♦ Addition et soustraction dans N ♦ Traitement du dépassement de capacité pour une addition: si les deux opérandes sont du même signe: dépassement si le résultat est du signe opposé si les deux opérandes sont de signe opposé: il n'y a jamais de dépassement de capacité ♦ Plus formellement, pour des nombres n bits, signés en complément à 2: Overflow = 131 Architecture des ordinateurs : Représentation de l’information – (9-7) ♦ Addition et soustraction dans N ♦ Exemple: 132 Architectures des ordinateurs – Les fondements 5- LES MACHINES THEORIQUES www.ramzimahmoudi.net 133 Architecture des ordinateurs : Les machines théoriques – Introduction Une machine théorique est une machine fondamental pour la théorie de la calculabilité-décidabilité et de la complexité. Malgré sa simplicité extrême, elle est capable de simuler toute opération réalisable par n'importe quel processeur, aussi puissant soit-il. Elle résume de manière saisissante le concept d'ordinateur et constitue un support idéal pour raisonner autour de la notion d'algorithme. Machine de Machine de Turing Von Neumann 134 Architecture des ordinateurs : Les machines théoriques – Turing (1) Inventé par Alan Turing (1936) Machine de Turing: o Une mémoire infinie sous la forme d'une bande divisée en cases. Chaque case du ruban pouvant contenir un symbole de l'alphabet considéré. Ces cases sont en nombre fini, les autres étant initialisées à blanc. Le nombre de cases non vides pouvant évoluer au cours du temps. o Une tête de lecture-écriture se déplaçant sur le ruban. 135 Architecture des ordinateurs : Les machines théoriques – Turing (1) Inventé par Alan Turing (1936) Machine de Turing: o Un ensemble fini d'états parmi lesquels on distingue un état initial et un ensemble d'états terminaux ou accepteurs. o Une fonction de transition qui, pour chaque état de la machine et symbole se trouvant sous la tête de lecture-écriture, précise les points suivants : -l'état suivant -un symbole qui sera écrit sur le ruban en lieu et place de celui se trouvant sous la tête -un sens de déplacement de la tête. 136 Architecture des ordinateurs : Les machines théoriques – Turing (2) Exécution Le mot d'entrée se trouve au début du ruban, la tête est placée sur le premier symbole, la machine est dans son état initial. A chaque étape, la machine 1) lit le symbole sous la tête, 2) remplace ce symbole suivant sa fonction de transition, 3) déplace la tête suivant sa fonction de transition, 4) change d'état en rapport avec sa fonction de transition. Un mot est accepté lorsque l'exécution atteint un état terminal. 137 Architecture des ordinateurs : Les machines théoriques – Turing (3) Machine universelle Une machine M est dite universelle si elle est capable de simuler le comportement d'une autre machine de Turing M’ si on lui fournit d'une part le mot d'entrée de M’ et une spécification de M’. 138 Architecture des ordinateurs : Les machines théoriques – Von Neumann (1) Inventé par John Von Neumann (1946) Machine de Von Neuman: oune mémoire contenant programme (instructions) et données, oune unité arithmétique et logique (UAL ou ALU), oune unité permettant l'échange d'information avec les périphériques : l'unité d'entrée /sortie, oune unité de commande (UC). Fonctions ole stockage de données, ole traitement des données, ole mouvement des données oet le contrôle 139 Architecture des ordinateurs : Les machines théoriques – Von Neumann (1) Machine universelle Elle contrôlée par un programme Non dédiée aux seules opération arithmétiques Instructions et données sous format binaire et stockée en mémoire (Instructions et données dans la même mémoire) 140 Architecture des ordinateurs : Les machines théoriques – Von Neumann (2) Structure générale 141 Architecture des ordinateurs : Les machines théoriques – Von Neumann (3) Central Processing Unit Le processeur (CPU) – Cadencé par une horloge unique – Divisé en: oUnité de commande: lecture en mémoire et décodage des instructions oUnité de traitement (UAL): exécute les instructions qui manipulent les données 142 Architecture des ordinateurs : Les machines théoriques – Von Neumann (4) Mémoire Principale (MP) Divisée en en emplacements de taille fixe (8 bits) repéré par une adresse Deux opérations possibles: – Écriture – Lecture L'UC inscrit l'adresse d'une cellule dans un registre d'adresse (RA) et demande une opération de lecture ou d'écriture Les échanges se font par l'intermédiaire d'un registre de mot (RM). 143 Architecture des ordinateurs : Les machines théoriques – Von Neumann (5) Unité de commande (UC) Lecture en mémoire et décodage des instructions Divisé en deux registres: – Compteur ordinal (PC / CO) = registre contenant l'adresse mémoire de l'instruction à exécuter. – Registre d'instruction (RI) mémorise l'instruction Extrait une instruction de la mémoire, Analyse l'instruction (pour l’alu) Recherche dans la mémoire les données concernées par l'instruction (les opérandes) Déclenche l'opération adéquate sur l'ALU ou l'E/S Place le résultat dans la mémoire. 144 Architecture des ordinateurs : Les machines théoriques – Von Neumann (6) Structure particulière UAL: Unité Arithmétique et Logique – Effectue les opérations sur deux données: opérandes – Une opérande dans l’accumulateur, l’autre en mémoire de donnée: résultat mis dans l’accumulateur ACC : Accumulateur – Registre qui contient une opérande et le résultat du calcul E/S : Entrée / Sortie – registre mémorisant l'adresse du périphérique (le registre de sélection du périphérique (RSP)) – un registre d'échange de données (RE). 145 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-1) Principe de l’architecture Von Neumann proposée en 1945 H Contrôle Mémoire ACC RI CO RA UAL 146 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-2) Chargement de l’adresse de l’instruction : CO -> RA H Contrôle Mémoire ACC RI CO RA UAL 147 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-3) Chargement d’une instruction [C=(A+B)]: Mem -> RI H Contrôle Mémoire ACC RI CO RA UAL 148 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-4) Exécution de l’instruction [C=(A+B)]: (lecture A) : RI -> RA H Contrôle Mémoire ACC RI CO RA UAL 149 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-5) Exécution de l’instruction [C=(A+B)]: (lecture A) : Mem -> ACC H Contrôle Mémoire ACC RI CO RA UAL 150 150 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-6) Exécution de l’instruction [C=(A+B)]: (lecture B) : RI -> RA H Contrôle Mémoire ACC RI CO RA UAL 151 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-7) Exécution de l’instruction [C=(A+B)]: (lecture C) : ACC & Mem -> ALU H Contrôle Mémoire ACC RI CO RA UAL 152 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-8) Mémorisation de (A + B) : ALU -> ACC H Contrôle Mémoire ACC RI CO RA UAL 153 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-9) Lecture de l’adresse du résultat [C=(A+B)]: RI -> RA H Contrôle Mémoire ACC RI CO RA UAL 154 Architecture des ordinateurs : Les machines théoriques – Von Neumann (7-10) Copie du résultat : ACC -> Mémoire H Contrôle Mémoire ACC RI CO RA UAL 155 Architectures des ordinateurs – Les fondements 6- MICROPROCESSEURS & JEU D’INSTRUCTIONS www.ramzimahmoudi.net 156 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (1) 1- Description d’un microprocesseur Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un nombre généralement important de broches. Exemples : Intel 8085, 8086 : 40 broches, DIP (Dual In-line Package) ; Motorola 68000 : 64 broches, DIP ; Intel 80386 : 196 broches, PGA (Pin Grid Array). Technologies de fabrication : NMOS, PMOS, CMOS. 157 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (2) 2- Organisation fonctionnelle externe d’un microprocesseur 158 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (3) 3- Organisation fonctionnelle interne d’un microprocesseur LI DI LO EX RR LI : Lecture de l’Instruction codée DI : Décodage de l’Instruction LO : Lecture de des Opérandes EX : Exécution RR : Rangement du résultat Remarque : Unité de contrôle a en charge les différentes phases de l’exécution d’une instruction 159 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (4) 3- Organisation fonctionnelle interne d’un microprocesseur Entrées de contrôles Données en entrée Signaux de contrôles Unité de contrôle Unité de traitement Signaux d’état Signaux de contrôles Résultats Remarques : L’unité de traitement = éléments de mémorisation (registres internes) + UAL Il s'agit d’une machine séquentielle 160 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (5) 3- Organisation fonctionnelle interne d’un microprocesseur Registre d’état Mémoire principale Banc de registres MAR PC d’instruction Séquenceur Décodeur U A L MDR RI Unité de traitement Unité de contrôle Horloge Remarques : Banc de registres :: opérandes ; MAR -> RI :: adresse opérande PC :: adresse instruction ; MDR -> MP :: Résultats 161 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (6) 3- Organisation fonctionnelle interne d’un microprocesseur 162 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (9) 4- Fonctionnement d’un microprocesseur - BASIC Un microprocesseur exécute un programme. Le programme est une suite d’instructions stockées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets. Format d’une instruction : Opération à effectuer Opérande 1 , Opérande 2 ADDITIONNER Case mémoire 1 , Case mémoire 2 163 Architecture des ordinateurs : Microprocesseur & jeu d’instructions– (10) 5- Fonctionnement d’un microprocesseur 164 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (11) 5- Fonctionnement d’un microprocesseur Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le microprocesseur utilise un registre contenant cette information. Ce registre est appelé pointeur d’instruction (IP : Instruction Pointer) ou compteur d’instructions ou compteur ordinal. 165 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (12) 5- Fonctionnement d’un microprocesseur 166 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (13) 5- Fonctionnement d’un microprocesseur Remarque : la valeur initiale du pointeur d’instruction est fixée par le constructeur du microprocesseur. Elle vaut une valeur bien définie à chaque mise sous tension du microprocesseur ou bien lors d’une remise à zéro (reset). Pour savoir quel type d’opération doit être exécuté (addition, soustraction,...), le microprocesseur lit le premier octet de l’instruction pointée par le pointeur d’instruction (code opératoire) et le range dans un registre appelé registre d’instruction. 167 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (13) 5- Fonctionnement d’un microprocesseur Le code opératoire est décodé par des circuits de décodage contenus dans le microprocesseur. Des signaux de commande pour l’UAL sont produits en fonction de l’opération demandée qui est alors exécutée. Remarque : pour exécuter une instruction, l’UAL utilise des registres de travail. 168 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (14) 5- Fonctionnement d’un microprocesseur Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer vers l’instruction suivante : Puis le processus de lecture et de décodage des instructions recommence. 169 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (15) 5- Fonctionnement d’un microprocesseur A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du dernier résultat : c’est le registre d’état du microprocesseur. Chacun des bits du registre d’´etat est un indicateur d’état ou flag (drapeau). 170 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (16) 5- Fonctionnement d’un microprocesseur Exemple : registre d’état du microprocesseur Z80 Les indicateurs d’état sont activés lorsqu’une certaine condition est remplie, Exemple : le flag Z est mis à 1 lorsque la dernière opération a donné un résultat nul, le flag C est mis à 1 lorsque le résultat d’une addition possède une retenue 171 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17) 6- Le microprocesseur MOTOROLA 68000 - Introduction Le M68000 est un microprocesseur CISC 16/32 bits sorti en 1979. Le processeur le plus prisé de sa génération. Le formidable succès des machines comme le Mac, l'Amiga ou l'Atari est en grande partie due à cet innovant processeur. Voici ces caractéristiques : - Mémoire adressable de 16Mo ( 24 lignes d'adresse ). - Jeu d'instruction très complet ( 56 Instructions ). - 14 modes d'adressage différents. - 8 registres de donnée 32 bits. - 7 registres d'adresse 32 bits. - Gestion de privilèges ( Utilisateur / Superviseur ). - Deux pointeurs de pile 32 bits différents. 172 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-1) 6- Le microprocesseur MOTOROLA 68000 - Introduction Le terme 16/32 bits résume la façon dont le circuit manipule les données. Le bus de données interne est sur 32 bits mais le processeur communique avec le reste du monde sur un bus externe de 16 bits. La série "microprocesseur 680x0" se compose du 68010, 68020, 68030, 68040 et 68060. Ces processeurs constituent la base des versions microcontrôleurs 683xx. 173 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-2) 6- Le microprocesseur MOTOROLA 68000 - Introduction Tous les registres du 68000 sont sur 32 bits excepté le registre d'état SR 16 bits. Petit rappel sur les formats de données : Quartet = 4 bits Octet = 8 bits Mot / Word = 16 bits Long mot / Long Word = 32 bits Les registres de données et d'adresses sont banalisés à l'exception de A7 aussi appelé SP ( Stack pointer ) qui représente le pointeur de pile. En interne, il existe en fait deux pointeurs différents l'USP ( User Stack Pointer) en mode utilisateur et le SSP (Supervisor Stack Pointer) en mode superviseur. Il s'agit toujours du registre A7, le 68000 utilisant implicitement l'un ou l'autre en fonction de son mode de fonctionnement. Ramzi Mahmoudi 174 174 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-3) 6- Le microprocesseur MOTOROLA 68000 – Les registres b31 : bit de poids fort D0 b0 : bit de poids faible D1 D2 D3 8 Registre de données D4 sur 32 bits D5 D6 D7 A0 A1 A2 7 Registre d’adresse A3 sur 32 bits A4 A5 A6 Ramzi Mahmoudi 175 175 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-4) 6- Le microprocesseur MOTOROLA 68000 – Les registres Registre PC : Programm Counter ou compteur de programme / CO Adresse de la prochaine instruction à exécuter b31 : bit de poids fort b0 : bit de poids faible Registre SR : Status Register ou registre d’état Octet superviseur Octet utilisateur b15 b8 b7 b0 176 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-5) 6- Le microprocesseur MOTOROLA 68000 – Les registres Registre SR : Status Register ou registre d’état 1. Octet utilisateur / Registre CCR (condition Code Register ) b7 b6 b5 b4 b3 b2 b1 b0 X N Z V C Bit C: positionné si une retenue est générée. Bit V: positionné s'il y a dépassement arithmétique. Bit Z: positionné si le résultat d'une opération est nul. Bit N: positionné si le résultat d'une opération est négatif. Bit X: bit de retenue pour les opérations de calculs étendues. 177 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-6) 6- Le microprocesseur MOTOROLA 68000 – Les registres Registre SR : Status Register ou registre d’état 2. Octet Superviseur : b15 b14 b13 b12 b11 b10 b9 b8 T S I2 I1 I0 bit T : s'il est positionné met le processeur en mode trace. Dans ce mode, le processeur s'arrête après l'exécution de chaque instruction et génère une exception permettant, par exemple, la mise en place d'un programme de débogage. bit S : définit le mode de fonctionnement du processeur, 0 pour le mode Utilisateur et 1 pour le mode Superviseur. Ramzi Mahmoudi 178 178 Architecture des ordinateurs : Microprocesseur & jeu d’instructions – (17-7) 6- Le microprocesseur MOTOROLA 68000 – Les registres Registre SR : Status Register ou registre d’état 2. Octet Superviseur : b15 b14 b13 b12 b11 b10 b9 b8