Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Syllabus du module
ARCHITECTURE DES ORDINATEURS
Prof. Assma Azeroual
Faculté Polydisciplinaire OuarzazateSMI4
2019 / 2020
Cours d’architecture des ordinateurs 1 / 180
Syllabus du module
Organisation de la présentation
1 Syllabus du module
Cours d’architecture des ordinateurs 2 / 180
Syllabus du module
Summary
1 Syllabus du module
Cours d’architecture des ordinateurs 3 / 180
Syllabus du module
Syllabus du module I
N◦ d’ordre du module : M25Intitulé du module : Architecture des ordinateurs.Objectifs du module Faire acquérir à l’étudiant :
Une bonne connaissance du fonctionnement d’uncalculateur de type calculateur personnel ou station detravail.Présenter l’organisation interne d’un ordinateur.Montrer, comment à l’aide du courant électrique, on peutcoder l’information et effectuer des calculs.Les principaux composants et en particulier l’unité centralede contrôle (CPU).
Cours d’architecture des ordinateurs 4 / 180
Syllabus du module
Syllabus du module II
Montrer comment une meilleure organisation interne peutaméliorer les performances en présentant notamment latechnique du pipeline.
Cours d’architecture des ordinateurs 5 / 180
Syllabus du module
Syllabus du module
Pré-requis pédagogiques : AucunVolume horaire :
Cours : 25TD : 10
Description du contenu du module :Introduction à l’architecture des ordinateurs.Unités fonctionnelles.Introduction à la programmation en assembleurArchitecture étudiéeMode d’adressageJeu d’instructionAccès aux entrées sorties
Cours d’architecture des ordinateurs 6 / 180
Syllabus du module
Évaluation
Modes d’évaluation :Examen de fin de semestre.Contrôles continus : tests, épreuves orales, devoirs,exposés, rapports de stage ou autre moyen de contrôle.
Note de module :Contrôle : 30% de la note finale.Examen : 70% de la note finale.
Cours d’architecture des ordinateurs 7 / 180
Introduction générale
Chapitre I
Notions d’architecture générale desordinateurs
Cours d’architecture des ordinateurs 8 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Summary
2 Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Cours d’architecture des ordinateurs 9 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Définitions
Definition 1L’informatique : la "science du traitement de l’information" ouplus exactement la "science du traitement rationnel, notammentpar des machines automatiques, de l’information considéréecomme le support des connaissances humaines et descommunications dans les domaines techniques", économiqueset sociaux.1
1 L’académie Française en 1967
Cours d’architecture des ordinateurs 10 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Définitions
De nos jours l’informatique s’applique dans tous les domainesde la vie :
La recherche : calcul scientifique, le génie logiciel.L’aéronautique.Gestion : gestion de stock.La comptabilité.Les jeux, la médecine, les télécommunications, lessystèmes de transport, l’enseignement, les ménages.
Cours d’architecture des ordinateurs 11 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Définitions
Definition 2L’ordinateur : machine électrique de traitement numérique del’information, exécutant à grande vitesse les instructions d’unprogramme et servant à classer, calculer et mémoriser.
Definition 3Le matériel : ensemble des éléments employés pour letraitement automatique de l’information.
Definition 4Le logiciel : ensemble des programmes, procédés et règlesrelatifs au traitement de l’information.
Cours d’architecture des ordinateurs 12 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Définitions
Definition 5Architecture : l’architecture d’un système à microprocesseurreprésente l’organisation de ses différentes unités et de leursinterconnexions.
Le choix architecture est le résultat d’un compromis :entre performances et coûts.entre efficacité et facilité de construction.entre performances d’ensemble et facilité deprogrammation.etc ...
Cours d’architecture des ordinateurs 13 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Avant 1623 : on utilise les abaques pour faciliter les calculs(boulier, bâtons de Neper).
Boulier Bâtons de Neper
Cours d’architecture des ordinateurs 14 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
En 1623 : William Schickard inventa la première machine àcalculer mécanique.
Cours d’architecture des ordinateurs 15 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
En 1645 : Blaise Pascal créa la machine d’arithmétique(Pascaline), elle est capable d’effectuer des additions etsoustractions.
Cours d’architecture des ordinateurs 16 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
En 1694 : Gottfried William Von Leibniz ajouta à la Pascaline lamultiplication et la division.
Cours d’architecture des ordinateurs 17 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
En 1837 : Charles Babbage inventa la machine à différence,qui permet d’évaluer des fonctions.
Cours d’architecture des ordinateurs 18 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Les ordinateurs programmablesEn 1940 : Konrad Zuse inventa un ordinateur quifonctionne grâce à des relais électromécaniques : le Z3.Cet ordinateur est le premier à utiliser le binaire à la placedu décimal.En 1944 : Howard Aiken met au point un ordinateurprogrammable mesurant 17 m de longueur et 25 m dehauteur, permettant de calculer 5 fois plus vite quel’homme : c’est le Mark I d’IBM.En 1947 : le Mark II voit le jour, ses engrenages sontremplacés par des composants électroniques.
Cours d’architecture des ordinateurs 19 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Zuse Mark I Mark II
Cours d’architecture des ordinateurs 20 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Les ordinateurs à lampesEn 1940 : l’ABC (Atanasoff Berry Computer) voit le jour.En 1945 : le premier ordinateur ne comportant plus depièces mécaniques est crée grâce à J. Mauchly et J.Presper Eckert : l’ENIAC (Electronic Numerical IntegratorAnd Computer). Il occupe une place de 1500 m2. Il fututilisé pour des calculs ayant servi à mettre au point labombe H. Il était uniquement programmable manuellementavec des commutateurs ou des câbles à enficher.
Cours d’architecture des ordinateurs 21 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Le transistorEn 1948 : le transistor est crée par la firme Bell Labs. Il a rendules ordinateurs moins encombrants, moins gourmands enénergie électrique, donc moins coûteux : c’est la révolutiondans l’histoire de l’ordinateur.Le circuit intégréEn 1958 : Texas Instruments a mis au point le circuit intégré quipermet de réduire encore la taille et le coût des ordinateurs enintégrant sur un même circuit électronique plusieurs transistorssans utiliser de fil électrique.
Cours d’architecture des ordinateurs 22 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Les premiers ordinateurs à base de transistorsEn 1960 : l’IBM 7000 est le premier ordinateur à base detransistor.En 1964 : l’IBM 360 fait son apparition, avec égalementl’arrivée du DEC PDP-8.Les micro-ordinateursEn 1971 : le premier micro-ordinateur apparaît (le Kenback1)avec une mémoire de 256 octets.
Cours d’architecture des ordinateurs 23 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs I
Les microprocesseursEn 1971 : le premier microprocesseur, l’Intel 4004, fait sonapparition, il effectue des opérations sur 4 bits simultanément .En 1972 : le microprocesseur l’Intel 8008 apparaît et permet detraiter 8 bits simultanément.En 1973 : le microprocesseur, l’Intel 8080 garnit les premiersmicro-ordinateurs : le Micral et le Altair 8800 avec 256 octets demémoire.En 1976 : Steve Wozniak et Steve Jobs créent le Apple I dansun garage.
clavier , microprocesseur à 1MHz, RAM : 4 ko, mémoirevidéo : 1 ko
Cours d’architecture des ordinateurs 24 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs II
En 1981 : IBM commercialise le premier "PC" composé d’unprocesseur 8088 cadencé à 4.77 MHz.
Cours d’architecture des ordinateurs 25 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Histoire des ordinateurs
Les ordinateurs d’aujourd’huiLa lois de Moore : on peut placer 2 fois plus de transistor surune puce tous les 2 ans.Il est très difficile de suivre l’évolution de l’ordinateur de nosjours.
Cours d’architecture des ordinateurs 26 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Von Neumann est le grand mathématicien qui a définil’architecture des ordinateurs en 1945, puis il a fondé lathéorie des automates. C’est pour cela qu’ont dit desordinateurs des "machines de Von Neumann". Cechercheur a contribué à la transformation de notre visiondu monde, en même temps que son ami Alan Turing.
Cours d’architecture des ordinateurs 27 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
1937 : Dans un article fondateur de l’algorithmique, AlanTuring décrit une machine conceptuelle capable d’exécuterune suite d’opérations selon un programme préetabli pourrésoudre un problème. Il y a des concepts logiciels ( listed’instructions, table des états ) et matériels ( unité centrale,bande de papier, dispositif de lecture/écriture ). Même si lamachine de Turing n’est qu’un concept, il est considérécomme le père de l’informatique théorique. Son oeuvre apermis de formaliser et développer la théorie qui fondel’étude des algorithmes et de ce qu’un ordinateur peutfaire. Turing a aussi contribuer à introduire l’approchemathématique en cryptanalyse.
Cours d’architecture des ordinateurs 28 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
1945 : L’un des esprits les plus brillants, le mathématicienJohn Von Neumann, participe aux réunions pour réfléchiraux améliorations possibles qu’on peut faire à l’ENIAC et ladéfinition d’un nouveau projet l’EDVAC. Von Neumannreprend les idées déjà exprimées par Eckert et Mauchly etles rapproche du concept de machine universelle évoquéepar Alan Turing. Dans un document connu par le nom du"rapport de Von Neumann", il décrit une machineentièrement nouvelle par sa conception fondamentale(Processeur, mémoire, dispositif d’entrée/sorties).
Cours d’architecture des ordinateurs 29 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
L’architecture de Von Neumann
L’architecture des ordinateurs actuels repose sur le modèle deVon Neumann (1903-1957), il eu l’idée que la mémoire del’ordinateur ne devait pas servir qu’à stocker uniquement desdonnées, mais elle devait également stocker les programmes. Ildécrit l’organisation qui devrait être celle d’un ordinateurmoderne :
une mémoireune unité centrale de traitement qui comporte l’unitéarithmétique (CPU) et logique ALU (Arithmetic and LogicUnit) et l’unité de contrôle (CU).les dispositifs d’entrée-sortie, qui permettent decommuniquer avec le monde extérieur.
Cours d’architecture des ordinateurs 30 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
L’architecture de Von Neumann
Les différents organes du système sont reliés par voies decommunications appelées bus (voir figure 1).
FIGURE 1 – Le modèle de Von Neumann.
Cours d’architecture des ordinateurs 31 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
L’unité centrale de traitement
Elle est composée par le microprocesseur qui est chargéd’interpréter et d’exécuter les instructions d’un programme, delire ou de sauvegarder les résultats dans la mémoire et decommuniquer avec les unités d’échange. Toutes les activitésd’un microprocesseur sont cadencées par une horloge. Oncaractérise un microprocesseur par :
sa fréquence d’horloge : en MHz ou GHz.le nombre d’instructions par seconde qu’il est capabled’exécuter : en MIPS.la taille des données qu’il est capable de traiter : en bits.
Cours d’architecture des ordinateurs 32 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Exemple
Processeur Intel® Core™ i7-10510U 10TH GEN
Fréquence de base 1.80 GHz et Fréquence Turbo maxi4.90 GHzCache 8 MB Intel® Smart CacheVitesse du bus 4 GT/sNb. de cœurs : 4PDT-up configurable 25 W
Cours d’architecture des ordinateurs 33 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
La mémoire principale
Elle contient les instructions du ou des programmes en coursd’exécution et les données associées à ce programme.Physiquement , elle se décompose souvent en :
une mémoire morte (ROM : Read Only Memory) chargéede stocker le programme. C’est une mémoire à lectureseule.une mémoire vive (RAM; Random Access Memory)chargée de stocker les données intermédiaires ou lesrésultats de calculs. On peut lire et écrire des donnéesdedans, ces données sont perdues à la mise hors tension.
Remarque : Les disques durs, disquettes, CDROM, etc ... sontdes périphériques de stockage et sont considérés comme desmémoires secondaires.
Cours d’architecture des ordinateurs 34 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Les interfaces d’entrées / sorties
Elles permettent d’assurer la communication entre lemicroprocesseur et les périphériques.
FIGURE 2 – Les interfaces d’entrées / sorties.
Cours d’architecture des ordinateurs 35 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Les bus I
Un bus est un ensemble de fils qui assure la transmission dumême type d’information. On retrouve trois types de busvéhiculant des informations en parallèle dans un système detraitement programmé de l’information (voir figure 3).
un bus de données : bidirectionnel qui assure le transfertdes informations entre le microprocesseur et sonenvironnement et inversement.un bus d’adresses : unidirectionnel qui permet la sélectiondes emplacements à traiter dans un un espace mémoire(ou espaces adressable).un bus de commande : constitué par quelquesconducteurs qui assurent la synchronisation des fluxd’informations sur les bus des données et des adresses.
Cours d’architecture des ordinateurs 36 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Décodage d’adresses
L’existence de plusieurs périphériques autour dumicroprocesseur nécessite la présence d’un décodeurd’adresse qui effectue l’aiguillage des données présentes sur lebus des données. En effet, le microprocesseur communiqueavec différentes mémoires et différentes boîtiers d’interfaces.Ceux-ci sont tous reliés sur le même bus de données et pouréviter les conflits, un seul composant doit être sélectionné à lafois.Lors de la réalisation d’un système micro-programmé, onattribue à chaque périphérique une zone d’adresse et unefonction "décodage d’adresse" est donc primordiale afin defournir les signaux de sélection de chacun des composants.
Cours d’architecture des ordinateurs 37 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Le modèle détaillé d’une architecture d’ordinateur
FIGURE 3 – Le modèle détaillé d’une architecture d’ordinateur.
Cours d’architecture des ordinateurs 38 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Composants d’un ordinateur I
Lorsqu’on parle d’un composant d’ordinateur ou PC, on parlede matériel qui se trouve à l’intérieur de l’ordinateur,contrairement aux périphérique externes qui sont reliés par descâbles ou des moyens de communications sans fils.Parmi les composants d’un ordinateur, on trouve :
L’alimentation : délivre le courant électrique. Latransformation du courant cause une déperdition d’énergiesous forme de chaleur, un système de ventilation est doncinstallé dans le coffret de l’alimentation.
Cours d’architecture des ordinateurs 39 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Composants d’un ordinateur IILa carte mère : "tenir" et relier tous les autres composants,elle possède les connecteurs (slots) pour accueillir desdizaines de composants et périphérique en plus deséléments indispensables. C’est aussi sur une petite partiede la carte mère que se trouve la ROM sur laquelle estenregistré le BIOS (gère la configuration de base dumatériel et se charge de faire le lien avec le systèmed’exploitation).CPU.RAM.Disque dur interne : les données à conserver y sontenregistrées : fichiers du système d’exploitation, leslogiciels et les données.
Cours d’architecture des ordinateurs 40 / 180
Introduction généraleDéfinitionsHistoire des ordinateursLes composantes fonctionnelles d’un ordinateur
Composants d’un ordinateur III
Lecteur/graveur CD/DVD
Carte graphique.
Cours d’architecture des ordinateurs 41 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Chapitre II
Architecture d’un microprocesseur
Cours d’architecture des ordinateurs 42 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Summary
3 Performances d’un microprocesseurPerformances d’un processeurConsommation de puissance
4 Architecture de base d’un processeur
5 Jeu d’instructions et codage
6 Architectures traditionnelles (CISC et RISC)
7 Pipeline
Cours d’architecture des ordinateurs 43 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Performances d’un microprocesseur
Un microprocesseur est un circuit intégré complexe caractérisépar une très grande intégration et doté des facultésd’interprétation et d’exécution des instructions d’un programme.Il est chargé d’organiser les tâches précisées par le programmeet d’assurer leur exécution. En outre, il doit prendre en compteles informations extérieurs au système et assurer leurtraitement. Il regroupe sur quelques millimètres carré desfonctionnalités toujours plus complexes.
Cours d’architecture des ordinateurs 44 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Performances d’un processeur
Quand on parle des performances d’un processeur, on parletypiquement de sa vitesse, le nombre d’instructions parseconde qu’il peut effectuer. On considère aussi son coût et saconsommation en énergie.
Processeur pas cher -> réfrigérateur, montre.Processeur moins gourmand en énergie -> vie de batterieplus longue (Ex : portable).
Le rôle de l’architecture est de faire le choix entre lestechnologies.Exemple :
Vitesse 1.1×, 12coût, 1
2énergie.Vitesse 2×, 1.1 coût, 1.1 énergie.
Cours d’architecture des ordinateurs 45 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Consommation de puissance
Il existe deux catégories de puissance que le processeurconsomme :
Puissance dynamique : puissance consommée par uneactivité actuelle dans un circuit électrique.Puissance statique : puissance consommée quand lecircuit est sous tension mais inactif.
Cours d’architecture des ordinateurs 46 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Puissance dynamique
P =12× C × V 2 × f × α (1)
C : capacitance ∼ surface de la puce.V : voltage.f : fréquence.α : facteur d’activité.
Cours d’architecture des ordinateurs 47 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Puissance dynamique
• Après l’application de la loi de Moor, on obtient :
Cnew =12× Cold (2)
Puisque nous voulons construire un processeur plus fort, on vautiliser deux processeurs.
Pnew =12× 2× 1
2× Cold × V 2 × f × α (3)
Étant donné que V, f, α restent les mêmes, on obtient :
Pnew = Pold (4)
Donc on a augmenté la vitesse mais la puissance resteconstante.
Cours d’architecture des ordinateurs 48 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Puissance dynamique
• Si on augmente la fréquence :
fnew = 1.25× fold (5)
On auraPnew = 1.25× Pold (6)
• Si on diminue le voltage
Vnew = 0.8× Vold (7)
On auraPnew = 0.64× Pold (8)
Mais les performances en vitesse ne vont pas être améliorées.
Cours d’architecture des ordinateurs 49 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Puissance dynamique
• Si on augmente un peux la fréquence et diminue un peux levoltage :
fnew = 1.1× fold (9)
etVnew = 0.9× Vold (10)
On auraPnew = 0.9× Pold (11)
=⇒La solution donc est de diminuer le voltage et d’utiliser despetits transistors.
Cours d’architecture des ordinateurs 50 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Puissance statique
C’est un résultat qui vient de trop diminuer le voltage.
=⇒ Diminuer le voltage va engendrer des fuites.
Cours d’architecture des ordinateurs 51 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Comparaison des puissances
V0 : Valeur optimale de V pour que la puissance totale soit laplus petite possible (processeurs modernes).
Cours d’architecture des ordinateurs 52 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Coût de fabrication
Cours d’architecture des ordinateurs 53 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Fabrication d’un processeur
1 Les puces sont fabriquées en prenant un disque desilicone appelé une plaquette "Wafer".
2 Le disque est soumis à un nombre d’étapes, chacune deces étapes sorte des impressions des aspects du circuitqui devrait apparaître sur chaque processeur.
3 A la fin de ces étapes, on prend la plaquette et nous ladécoupons sous formes de carrés. Chacun de ces petitscarrés sera une puce.
4 Nous prenons chaque puce et nous la mettons dans unpaquet qui a des pins.
Cours d’architecture des ordinateurs 54 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Fabrication d’un processeur
1 Les puces sont fabriquées en prenant un disque desilicone appelé une plaquette "Wafer".
2 Le disque est soumis à un nombre d’étapes, chacune deces étapes sorte des impressions des aspects du circuitqui devrait apparaître sur chaque processeur.
3 A la fin de ces étapes, on prend la plaquette et nous ladécoupons sous formes de carrés. Chacun de ces petitscarrés sera une puce.
4 Nous prenons chaque puce et nous la mettons dans unpaquet qui a des pins.
Cours d’architecture des ordinateurs 54 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Fabrication d’un processeur
1 Les puces sont fabriquées en prenant un disque desilicone appelé une plaquette "Wafer".
2 Le disque est soumis à un nombre d’étapes, chacune deces étapes sorte des impressions des aspects du circuitqui devrait apparaître sur chaque processeur.
3 A la fin de ces étapes, on prend la plaquette et nous ladécoupons sous formes de carrés. Chacun de ces petitscarrés sera une puce.
4 Nous prenons chaque puce et nous la mettons dans unpaquet qui a des pins.
Cours d’architecture des ordinateurs 54 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Fabrication d’un processeur
1 Les puces sont fabriquées en prenant un disque desilicone appelé une plaquette "Wafer".
2 Le disque est soumis à un nombre d’étapes, chacune deces étapes sorte des impressions des aspects du circuitqui devrait apparaître sur chaque processeur.
3 A la fin de ces étapes, on prend la plaquette et nous ladécoupons sous formes de carrés. Chacun de ces petitscarrés sera une puce.
4 Nous prenons chaque puce et nous la mettons dans unpaquet qui a des pins.
Cours d’architecture des ordinateurs 54 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Fabrication d’un processeur
=⇒ Si nous avons beaucoup de puces, le coût va être diminué.=⇒ Si nous avons moins de puces, le coût va être élevé.
Rendement =% puces qui marchent
# totale des puces(12)
Cours d’architecture des ordinateurs 55 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 1
62 valides
2 défectueusesrendement = 97%
Cours d’architecture des ordinateurs 56 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 1
62 valides2 défectueuses
rendement = 97%
Cours d’architecture des ordinateurs 56 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 1
62 valides2 défectueusesrendement = 97%
Cours d’architecture des ordinateurs 56 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 2
6 valides
2 défectueusesrendement = 75%
Cours d’architecture des ordinateurs 57 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 2
6 valides2 défectueuses
rendement = 75%
Cours d’architecture des ordinateurs 57 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Rendement
Exemple 2
6 valides2 défectueusesrendement = 75%
Cours d’architecture des ordinateurs 57 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Coût d’une puce
Cout d ′une puce =Cout d ′une plaquette
# puces valides(13)
Exemple : Si le coût d’une plaquette est 5000$ avec 10 défautspar plaquette.
Petites puces (400 / plaquette) -> Coût = 12.80 $.Larges puces (96 / plaquette) -> Coût = 58.20 $.Plus larges puces (20 / plaquette) -> Coût = 454.55 $.
Cours d’architecture des ordinateurs 58 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Performances d’un processeurConsommation de puissance
Coût d’une puce
Pour bénéficier de la loi de Moor :Petites puces =⇒ coût diminué (portable).Même surface =⇒ plus rapide pour un même coût (PC).
Cours d’architecture des ordinateurs 59 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Summary
3 Performances d’un microprocesseur
4 Architecture de base d’un processeurL’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
5 Jeu d’instructions et codage
6 Architectures traditionnelles (CISC et RISC)
7 Pipeline Cours d’architecture des ordinateurs 60 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Architecture de base d’un processeur
Un processeur classique est constitué de trois composantesmajeurs :
1 Un ensemble de registres.2 Une unité de traitement.3 Une unité de commande
Les registres sont chargés de stocker les différentesinformations à traiter. Ces trois éléments sont reliés entre euxpar des bus internes permettant les échanges d’informations.
Cours d’architecture des ordinateurs 61 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Architecture de base d’un processeur
Cours d’architecture des ordinateurs 62 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Architecture de base d’un processeur
RemarquesIl existe deux types de registres :
Les registres d’usage générale qui permettent à l’unité detraitement de manipuler des données à vitesse élevée. Ilssont connectés au bus de données interne.Les registres d’adresses connectés sur le bus d’adresses.
Cours d’architecture des ordinateurs 63 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de commande
L’unité de commande :Elle permet de séquencer le déroulement des instructions.Elle effectue la recherche en mémoire de l’instruction.Elle assure son décodage et réalise son exécution.Effectue la préparation de l’instruction suivante.
Cours d’architecture des ordinateurs 64 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de commande
Elle est composée par :Le compteur de programme (PC) : constitué par unregistre dont le contenu est initialisé avec l’adresse de lapremière instruction du programme. Il contient toujoursl’adresse de l’instruction à exécuter.
Le registre d’instruction (IR) et le décodeur d’instruction :chacune des instructions à exécuter est rangée dans leregistre d’instruction puis est décodée par le décodeurd’instructions.Le bloc logique de commande (ou séquenceur) : il organisel’exécution des instructions au rythme d’une horloge.
Cours d’architecture des ordinateurs 65 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de commande
Elle est composée par :Le compteur de programme (PC) : constitué par unregistre dont le contenu est initialisé avec l’adresse de lapremière instruction du programme. Il contient toujoursl’adresse de l’instruction à exécuter.Le registre d’instruction (IR) et le décodeur d’instruction :chacune des instructions à exécuter est rangée dans leregistre d’instruction puis est décodée par le décodeurd’instructions.
Le bloc logique de commande (ou séquenceur) : il organisel’exécution des instructions au rythme d’une horloge.
Cours d’architecture des ordinateurs 65 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de commande
Elle est composée par :Le compteur de programme (PC) : constitué par unregistre dont le contenu est initialisé avec l’adresse de lapremière instruction du programme. Il contient toujoursl’adresse de l’instruction à exécuter.Le registre d’instruction (IR) et le décodeur d’instruction :chacune des instructions à exécuter est rangée dans leregistre d’instruction puis est décodée par le décodeurd’instructions.Le bloc logique de commande (ou séquenceur) : il organisel’exécution des instructions au rythme d’une horloge.
Cours d’architecture des ordinateurs 65 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de traitement
C’est le coeur du microprocesseur. Elle regroupe les circuitsqui assurent les traitements nécessaires à l’exécution desinstructions :
L’unité arithmétique et logique (ALU) est un circuitcomplexe qui assure les fonctions logiques (ET, OU,Comparaison, Décalage, etc...) ou arithmétique (addition,soustraction, ...)
Le registre d’états (SR) : permet de stocker des indicateurssur l’état du système (retenue, débordement, ...).Les accumulateurs (Acc) : sont des registres de travail quiservent à stocker une opérande au début d’une opérationarithmétique et le résultat à la fin de l’opération.
Cours d’architecture des ordinateurs 66 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de traitement
C’est le coeur du microprocesseur. Elle regroupe les circuitsqui assurent les traitements nécessaires à l’exécution desinstructions :
L’unité arithmétique et logique (ALU) est un circuitcomplexe qui assure les fonctions logiques (ET, OU,Comparaison, Décalage, etc...) ou arithmétique (addition,soustraction, ...)Le registre d’états (SR) : permet de stocker des indicateurssur l’état du système (retenue, débordement, ...).
Les accumulateurs (Acc) : sont des registres de travail quiservent à stocker une opérande au début d’une opérationarithmétique et le résultat à la fin de l’opération.
Cours d’architecture des ordinateurs 66 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
L’unité de traitement
C’est le coeur du microprocesseur. Elle regroupe les circuitsqui assurent les traitements nécessaires à l’exécution desinstructions :
L’unité arithmétique et logique (ALU) est un circuitcomplexe qui assure les fonctions logiques (ET, OU,Comparaison, Décalage, etc...) ou arithmétique (addition,soustraction, ...)Le registre d’états (SR) : permet de stocker des indicateurssur l’état du système (retenue, débordement, ...).Les accumulateurs (Acc) : sont des registres de travail quiservent à stocker une opérande au début d’une opérationarithmétique et le résultat à la fin de l’opération.
Cours d’architecture des ordinateurs 66 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
ALU
Cours d’architecture des ordinateurs 67 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 68 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 69 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 70 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 71 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 72 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Schéma fonctionnel
Cours d’architecture des ordinateurs 73 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Exemple I
On suppose que le registre Acc contient la valeur 2 et on veutexécuter l’instruction dont l’adresse se trouve au registre PC.
1 Récupérer l’adresse de l’instruction à exécuter au registrePC.
2 Cette adresse est transféré vers la mémoire à travers lebus d’adresses.
3 Le contenu de case de cette adresse va être transféré surle bus de données et rangé dans le registre de donnée.
Cours d’architecture des ordinateurs 74 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Exemple II
4 Si notre donnée est un code opératoire, elle sera déplacédans le registre d’instruction (IR) et décodée par ledécodeur d’instruction, si elle nécessite une donnéeprovenant de la mémoire, le décodeur commandera larecherche d’un second octet.
5 Après la recherche de donnée, la première opérande quiexiste dans le registre (Acc) et la deuxième qui provientdes registres de données sont considérés comme les deuxentrées de l’unité arithmétique et logique. Le résultat seraenregistré temporairement dans l’accumulateur.
Cours d’architecture des ordinateurs 75 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Cycle d’exécution d’une instruction
Le traitement d’une instruction peut être décomposé en troisphases :
Recherche de l’instruction à traiter.Décodage de l’instruction et recherche de l’opérande.Exécution de l’instruction.
Cours d’architecture des ordinateurs 76 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Recherche de l’instruction à traiter
1 Le PC contient l’adresse de l’instruction suivante duprogramme.Cette valeur est placée sur le bus d’adressespar l’unité de commande qui émet un ordre de lecture.
2 Au bout d’un certain temps (temps d’accès à la mémoire),le contenu de la case mémoire sélectionnée est disponiblesur le bus de données.
3 L’instruction est stockée dans le registre instruction duprocesseur.
Cours d’architecture des ordinateurs 77 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Recherche de l’instruction à traiter
FIGURE 4 – Recherche de l’instruction à traiterCours d’architecture des ordinateurs 78 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Décodage de l’instruction et recherche de l’opérande
Le registre d’instruction contient maintenant le premier mot del’instruction qui peut être codée sur plusieurs mots. Ce premiermot contient le code opératoire qui définit la nature del’opération à effectuer et le nombre de mots de l’instruction.
L’unité de commande transforme l’instruction en une suitede commandes élémentaires nécessaires au traitement del’instruction.Si l’instruction nécessite une donnée en provenance de lamémoire, l’unité de commande récupère sa valeur sur lebus de données.L’opérande est stockée dans un registre.
Cours d’architecture des ordinateurs 79 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Décodage de l’instruction et recherche de l’opérande
FIGURE 5 – Décodage de l’instruction et recherche de l’opérandeCours d’architecture des ordinateurs 80 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Exécution de l’instruction
1 Le micro-programme réalisant l’instruction est exécuté.2 Les drapeaux sont positionnés (registre d’état).3 L’unité de commande positionne le PC pour l’instruction
suivante.
Cours d’architecture des ordinateurs 81 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’unité de commandeL’unité de traitementSchéma fonctionnelCycle d’exécution d’une instruction
Exécution de l’instruction
FIGURE 6 – Exécution de l’instruction
Cours d’architecture des ordinateurs 82 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Summary
3 Performances d’un microprocesseur
4 Architecture de base d’un processeur
5 Jeu d’instructions et codageJeu d’instructionsCodageMode d’adressageTemps d’exécution
6 Architectures traditionnelles (CISC et RISC)
7 Pipeline Cours d’architecture des ordinateurs 83 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Jeu d’instructions
Le jeu d’instructions est l’ensemble des instructions machinesqu’un processeur peut exécuter. Ces instructions machinespermettent d’effectuer des opérations élémentaires ou pluscomplexes. Le jeu d’instructions définit quelles sont lesinstructions supportées par le processeur. Le jeu d’instructionsprécise aussi quels sont les registres du processeurmanipulable par le programmeur.Exemplex86, ARM, MIPS
Cours d’architecture des ordinateurs 84 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Jeu d’instructions
Le jeu d’instructions comporte six groupes :Transfert de données : chargement, déplacement,stockage, transfert de données entre registre-registre oumémoire -registres, .. ,etc.Opérations arithmétiques : les 4 opérations en virgule fixeou flottante et en simple ou multiple précision.Opérations logiques : NOT, AND, OR, XOR, ..., etc.Contrôle de séquence : branchement impératif ouconditionnel, boucle, ...etc.Entrée/Sorties : lecture, écriture, affichage, ..., etc.Manipulations diverses : décalages de bits, conversions deformat, incrémentation ou décrémentation du registre,..etc.
Cours d’architecture des ordinateurs 85 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Codage
Une instruction est la réunion des différents signaux decommande du chemin de données du processeur. Elle estdécoupée en champs :
Un code opération (opcode).Des informations complémentaires sur l’emplacement desdonnées sources et de la destination.La technique associée à la localisation des opérandesd’une instruction s’appelle l’adressage ou le moded’adressage.
Cours d’architecture des ordinateurs 86 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Codage I
Exemple
Code instruction Code opérande10010011 00111110
Le nombre d’instructions du jeu d’instructions est directementlié au format du code instruction. Ainsi, un octet permet dedistinguer au maximum 256 instructions différentes.
Cours d’architecture des ordinateurs 87 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Mode d’adressage
Il définit la manière dont le microprocesseur va accéder àl’opérande. Les différents modes d’adressage dépendent desmicroprocesseurs mais on retrouve en générale :
L’adresse de registre où l’on traite la donnée contenuedans un registre.L’adressage immédiat où l’on définit immédiatement lavaleur de la donnée.L’adressage direct où l’on traite une donnée en mémoire.
L’instruction est codé sur un ou plusieurs octets, selon le moded’adressage de la donnée.
Cours d’architecture des ordinateurs 88 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Temps d’exécution
Chaque instruction nécessite un certain nombre de cyclesd’horloge pour s’effectuer. Ce nombre de cycles dépend de lacomplexité de l’instruction ainsi que le mode d’adressage. Il estplus long d’accéder à la mémoire principale qu’au registre duprocesseur. La durée d’un cycle dépend de la fréquenced’horloge du séquenceur.
Cours d’architecture des ordinateurs 89 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Jeu d’instructionsCodageMode d’adressageTemps d’exécution
Temps d’exécution
Remarque :La puissance d’un microprocesseur peut être caractérisée parle nombre d’instructions qu’il est capable de traiter parseconde. Pour cela, on définit :
Le CPI (Cycle Par Instruction) : le nombre moyen de cyclesd’horloge nécessaire pour l’exécution d’une instructionpour un microprocesseur donnée.Le MIPS (Millions d’Instructions Par Seconde) quireprésente la puissance de traitement du microprocesseur
MIPS =F
CPI, F en MHz (14)
Cours d’architecture des ordinateurs 90 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
Summary
3 Performances d’un microprocesseur
4 Architecture de base d’un processeur
5 Jeu d’instructions et codage
6 Architectures traditionnelles (CISC et RISC)L’architecture CISCL’architecture RISCComparaison CISC/RISC
7 PipelineCours d’architecture des ordinateurs 91 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
Architectures traditionnelles (CISC et RISC)
L’architecture traditionnelle des microprocesseurs se composede deux grandes familles :
CISC : Complex Instruction Set ComputerRISC : Reduced Instruction Set Computer
Cours d’architecture des ordinateurs 92 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
L’architecture CISC
• Puisque la mémoire travaillait moins vite que le processeur,les fabriquants pensaient qu’il était plus intéressant desoumettre au microprocesseur des instructions complexes.ainsi, à la place de coder une opération complexe par plusieursinstructions plus petites, il semblait préférable d’ajouter au jeud’instruction du microprocesseur une instruction complexe quise chargerait de réaliser cette opération.• Le microprocesseur à une architecture CISC est facile àprogrammer et utilise la mémoire efficacement.
Cours d’architecture des ordinateurs 93 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
L’architecture CISC
• C’est une architecture où le microprocesseur exécute destâches complexes par instruction unique. Le nombred’instructions exécutée devient alors petit mais le nombre decycles d’horloge nécessaire devient plus grand.• Le code machine de ces instructions varie d’une instruction àl’autre et nécessite donc un décodeur complexe (micro-code).ExempleIntel, Motorola, VAX, ...
Cours d’architecture des ordinateurs 94 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
L’architecture RISC
• Dans la seconde moitié des années 1970 des chercheurs ontfait des statiques sur la composition en instructions desprogrammes en langages machine, ils ont constaté que seulesles instructions les plus simples étaient largement utilisées.D’où l’idée de réduire le jeu d’instructions à celles le pluscouramment utilisées et d’en améliorer la vitesse de traitement.
Cours d’architecture des ordinateurs 95 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
L’architecture RISC
• RISC est une architecture dans laquelle les instructions sonten nombre réduit. Sa réalisation libère de la surface permettantd’augmenter le nombre de registres ou d’unités de traitement.Chacune de ses instructions s’exécutent ainsi en un cycled’horloge.ExemplePowerPC, Sun, SPARC, ...
Cours d’architecture des ordinateurs 96 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
L’architecture CISCL’architecture RISCComparaison CISC/RISC
Comparaison CISC/RISC
Architecture RISC Architecture CISC• Instruction simple (1 cycle) • Instruction Complexe (plu-
sieurs cycles)• Instruction au format fixe • Instruction au format va-
riable• Décodeur simple • Décodeur complexe (micro-
code)• Beaucoup de registres • Peu de registres• Seules les instructionsLOAD et STORE ont accès àla mémoire
• Toutes les instructions sontsusceptibles d’accéder à lamémoire.
Cours d’architecture des ordinateurs 97 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Summary
3 Performances d’un microprocesseur
4 Architecture de base d’un processeur
5 Jeu d’instructions et codage
6 Architectures traditionnelles (CISC et RISC)
7 PipelineGain de performancesCache mémoire
Cours d’architecture des ordinateurs 98 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Pipeline
• Le pipeline est un mécanisme qui permet d’augmenter lavitesse d’exécution des instructions dans un microprocesseur.Avec un pipeline, le microprocesseur commence une nouvelleinstruction avant d’avoir fini la précédente.• Le temps d’exécution d’une seule instruction n’est pas réduit.Par contre, le débit du microprocesseur, c’est à dire, le nombred’instructions exécutées par unité de temps, est augmenté.• Une machine pipeline se caractérise par le nombre d’étapesutilisées pour l’exécution d’une instruction, on appelle aussi cenombre d’étapes le nombre d’étages du pipeline.
Cours d’architecture des ordinateurs 99 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Pipeline
ExempleExécution en 4 phases d’une instruction
Recherche : RDécodage : DExécution : ESauvegarder le résultat : S
Cours d’architecture des ordinateurs 100 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Modèle classique
Modèle classique :
FIGURE 7 – Modèle classique
Cours d’architecture des ordinateurs 101 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Modèle utilisant le pipeline
Modèle utilisant le pipeline :
FIGURE 8 – Modèle utilisant le pipeline
Cours d’architecture des ordinateurs 102 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Gain de performances I
• Dans une machine utilisant la technique du pipeline, ondébute l’exécution d’une instruction à chaque cycle et lepipeline est pleinement occupé à partir du quatrième cycle. Legain obtenu dépend alors du nombre d’étages du pipeline.• Soient n instructions qui s’exécutent chacune en k cyclesd’horloge, il faut :
n × k cycles d’horloge pour une exécution séquentielle.k cycles d’horloge pour exécuter la 1er instruction.k + i − 1 cycles d’horloge pour exécuter la ime instruction....k + n− 1 cycles d’horloge pour exécuter la nme instruction.
Cours d’architecture des ordinateurs 103 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Gain de performances II
Le gain obtenu est donc de :
G =n × k
k + n − 1(15)
Cours d’architecture des ordinateurs 104 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Cache mémoire I
• Problème : il existe une latence d’accès entre le processeuret la mémoire principale.• L’une des solutions à ce problème est d’utiliser une mémoiretrès rapide entre le processeur et la mémoire principale, elle estappelée cache mémoire.• Au départ cette mémoire était intégrée en dehors dumicroprocesseur, maintenant, elle fait partie intégrante duprocesseur, et se déclare même sur plusieurs niveaux.• Le microprocesseur envoie toutes ses requêtes à le cachemémoire comme s’il s’agissait de la mémoire principal :
Cours d’architecture des ordinateurs 105 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Cache mémoire II
Si la donnée (ou instruction) est présente dans le cache,elle sera envoyée directement au processeur, on parle desuccès de cache (a).
Si la donnée (ou instruction) n’est présente dans le cache,le contrôleur de cache envoie une requête à la mémoireprincipale, cette dernière renvoie l’information récupéréeau processeur tout en la stockant dans le cache, on parlede défaut de cache (b).
Cours d’architecture des ordinateurs 106 / 180
Performances d’un microprocesseurArchitecture de base d’un processeur
Jeu d’instructions et codageArchitectures traditionnelles (CISC et RISC)
Pipeline
Gain de performancesCache mémoire
Cache mémoire
FIGURE 9 – Le cache mémoire
Cours d’architecture des ordinateurs 107 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Chapitre III
Représentation interne desdonnées
Cours d’architecture des ordinateurs 108 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Summary
8 IntroductionUnités de mesure en informatique
9 Codage de l’information
10 Représentation des nombres
11 Opérations arithmétiques
Cours d’architecture des ordinateurs 109 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Introduction
Les types d’informations traitées directement par unprocesseur ne sont pas très nombreux.Les données :
les entiers (naturels et relatifs).les flottants (simple et double).les caractères.
Cours d’architecture des ordinateurs 110 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Introduction
Le codage de ces trois types est actuellement définieformellement par des standards(normes spécifiés par desorganisations internationales.).Les instructions : dont le codage est spécifique auprocesseur.L’information traité par un ordinateur est toujours représentéesous la forme d’un ensemble de nombres écrits en base 2(suite de 0 et de 1). L’unité d’information est le bit.
Cours d’architecture des ordinateurs 111 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Unités de mesure en informatique
Préfixes binaires (préfixes CEI)kibi(Ki) = 210 = 1024mbi(Mi) = 220
gibi(Gi) = 230
tbi(Ti) = 240
pbi(Pi) = 250
exbi(Ei) = 260
zbi(Zi) = 270
yobi(Yi) = 280
Cours d’architecture des ordinateurs 112 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Unités de mesure en informatique
Préfixes décimaux (préfixes SI)kilo(K ) = 103
mga(M) = 106
giga(G) = 109
tra(T ) = 1012
pta(P) = 1015
exa(E) = 1018
zetta(Z ) = 1021
yotta(Y ) = 1024
Cours d’architecture des ordinateurs 113 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Unités de mesure en informatique
Unités de mesure en informatique
La numérotation permet de représenter un mot (ou nombre)par la juxtaposition ordonnée de variables (ou symboles)) prisparmi un ensemble.Dans un système de numérotation en base B, un nombre notéN(B) égal à :
N(B) =n−1∑k=0
ak × Bk = an−1an−2...a1a0 (16)
B : base ou nombre de chiffres différents qu’utilise lesystème de numérotation.ak : chiffre de rang k.Bk : Pondération associée à ak .
Cours d’architecture des ordinateurs 114 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Summary
8 Introduction
9 Codage de l’informationDonnées non numériquesLes bases décimale, binaire et hexadécimale
10 Représentation des nombres
11 Opérations arithmétiques
Cours d’architecture des ordinateurs 115 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Codage de l’information
Le codage de l’information consiste à établir unecorrespondance entre la représentation externe de l’informationet sa représentation interne dans la machine. On utilise lareprésentation binaire car elle est simple et facile à réaliser.
Cours d’architecture des ordinateurs 116 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Données non numériques
La norme ASCII établit une correspondance entre unereprésentation binaire des caractères de l’alphabet latin et lessymboles, les signes, qui constituent cet alphabet.Exemplea est associé à 1100001 (97)A est associé à 1000001 (65)Le code ASCII de base représente les caractères sur 7 bits(mise au point pour la langue anglaise), en suite il a été étenduà 8 bits pour pouvoir coder plus de caractères (code ASCIIétendu).
Cours d’architecture des ordinateurs 117 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Les bases décimale, binaire et hexadécimale
Le système décimal (base 10) est basé sur dix symboles, de 0à 9.523(10) = 5.102 + 2.101 + 3.100
Le système binaire (base 2) utilise seulement deux symboles 0et 1.16(10) = 10000(2) = 1.24 + 0.23 + 0.22 + 0.21 + 0.20
Le système hexadécimale (base 16) est basé sur seizesymboles, de 0 à 9 et de A à F.
Cours d’architecture des ordinateurs 118 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Les bases décimale, binaire et hexadécimale
Décimal Binaire Hexadécimale0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 9
10 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F
Cours d’architecture des ordinateurs 119 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Conversion décimal-binaire
La conversion du binaire au décimal est facile, il suffit juste defaire l’addition entre les différentes puissances du nombre 2.1001101(2) = 26 + 23 + 22 + 20
= 64 + 8 + 4 + 1= 77(10)
Pour la conversion du décimal au binaire on fait une suite dedivisions euclidiennes par 2.
Cours d’architecture des ordinateurs 120 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Conversion décimal-binaire
77(10) = 1001101(2)
Cours d’architecture des ordinateurs 121 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Données non numériquesLes bases décimale, binaire et hexadécimale
Conversion hexadécimale-binaire
Pour convertir un nombre binaire en hexadécimale, il suffit defaire des groupes de quatre bits ( en commençant depuis ladroite).1001101(2) = 4D(16)Pour convertir d’hexadécimale en binaire, il suffit de fairel’opération inverse.
Cours d’architecture des ordinateurs 122 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Summary
8 Introduction
9 Codage de l’information
10 Représentation des nombresReprésentation des nombres entiersReprésentation d’un nombre réel
11 Opérations arithmétiques
Cours d’architecture des ordinateurs 123 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Représentation d’un entier naturel
Un entier naturel est un nombre entier positif ou nul. Pour coderdes nombres entiers naturels compris entre 0 et 255, il noussuffira 8 bits (28 = 256). D’une manière générale un codagesur n bits permet de représenter des nombres entiers naturelscompris entre 0 et 2n − 1.Exemple9 = 00001001(2) , 128 = 10000000(2)
Cours d’architecture des ordinateurs 124 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Représentation d’un entier relatif
Un entier relatif est un entier pouvant être négatif. Il faut donccoder le nombre de telle façon que l’on puisse savoir s’il s’agitd’un nombre positif ou d’un nombre négatif, et il faut de plusque les règles d’addition soient conservées.Un entier relatif positif ou nul sera représenté en binaire commeun entier naturel, à la seule différence que le bit de poids fortreprésente le signe.ExempleSi on code un entier naturel sur 4 bits, le nombre le plus grandsera 0111(2) = 7(10)
Cours d’architecture des ordinateurs 125 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Représentation d’un entier relatif
Un entier relatif négatif sera représenté grâce au codage encomplément à deux.
1 Écrire la valeur absolue du nombre en base 2. Le bit dupoids fort doit être égale à 0.
2 Inverser les bits.3 On ajoute 1 au résultat (les dépassements sont ignorés).
Cette opération correspond au calcul de 2n − |x |, où n estla longueur de la représentation et |x | la valeur absolue dunombre à coder.
Cette opération correspond au calcul de 2n − |x |, où n est lalongueur de la représentation et |x | la valeur absolue dunombre à coder.
Cours d’architecture des ordinateurs 126 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Représentation d’un entier relatif
ExempleCalculer la valeur de −19 sur 8bits :
1 | − 19|(10) = 000100112 111011003 11101101
11101101 + 00010011 = 00000000 (avec un retenu de 1 quiest éliminée).
Cours d’architecture des ordinateurs 127 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Représentation d’un nombre réel
En base 10, l’expression 652.375 est une manière abrégéd’écrire : 6.102 + 5.101 + 2.100 + 3.10−1 + 7.10−2 + 5.10−3
Il en va de même pour la base 2. Ainsi, l’expression 111.101signifie : 1.22 + 1.21 + 0.20 + 1.2−1 + 0.2−2 + 1.2−3.
Cours d’architecture des ordinateurs 128 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Conversion de binaire en décimal
La conversion se fait rapidement d’un nombre réel de la base 2vers la base 10.110.101(2) = 1.22 + 1.21 + 0.20 + 1.2−1 + 0.2−2 + 1.2−3
= 4 + 2 + 0.5 + 0.25 + 0.125= 6.875(10)
Cours d’architecture des ordinateurs 129 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
Conversion de décimal en binaire
La partie entière se transforme comme au par avant.La partie décimale se fait selon le schéma suivant :0.437× 2 = 0.8740.874× 2 = 1.7480.748× 2 = 1.4960.496× 2 = 0.9920.992× 2 = 1.9840.984× 2 = 1.9680.421875(10)
Cours d’architecture des ordinateurs 130 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
La norme IEEE 754
La norme IEEE 754 définit la façon de coder un nombre réel.Cette norme se propose de coder le nombre sur 32 bits etdéfinit trois composantes :
le signe est représenté par un seul bit, le bit de poids fort.l’exposant est codé sur les 8 bits consécutifs au signe.la mantisse (les bits situés après la virgule) sur les 23 bitsrestants.
Cours d’architecture des ordinateurs 131 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
La norme IEEE 754
Certains règles sont à respecter :l’exposant 00000000 est interdit.l’exposant 111111 est interdit.il faut rajouter 127 (01111111) à l’exposant pour uneconversion de décimal vers un nombre réel binaire.
Cours d’architecture des ordinateurs 132 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
La norme IEEE 754
Un nombre réel x s’écrit sous la forme :
x = (−1)S × 2E−127 × (1 + F ) (17)
S est le bit de signe.E est l’exposant auquel on doit bien ajouter 127 pourobtenir son équivalent codé.F est la partie fractionnaire.
Cours d’architecture des ordinateurs 133 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
Représentation des nombres entiersReprésentation d’un nombre réel
La norme IEEE 754
ExempleTraduisons en binaire, en utilisant la norme IEEE 754, lenombre −6.625.
6.62510 = 110.1010(2)
Nous mettons ce nombre sous la forme 1.partiefractionnaire 10101000000000000000000.Exposant = 127 + 2 = 129(10) = 10000001(2).
Signe Exposant Mantisse1 10000001 10101000000000000000000
Cours d’architecture des ordinateurs 134 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Summary
8 Introduction
9 Codage de l’information
10 Représentation des nombres
11 Opérations arithmétiquesAdditionSoustractionMultiplicationDivision
Cours d’architecture des ordinateurs 135 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Opérations arithmétiques
Les opérations arithmétiques s’effectuent en base quelconqueB de la même manière qu’en base 10. Une retenue apparaîtlorsqu’on dépasse la valeur B de la base.
Cours d’architecture des ordinateurs 136 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Cas de deux nombres positifs
Effectuons l’addition (+14)(10) et (+15)(10)(+14)(10) = 00001110(2)(+15)(10) = 00001111(2)
Cours d’architecture des ordinateurs 137 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Cas de deux nombres de signes différents
Effectuons l’addition des nombres suivants :(+19)(10) = 00010011(2)(−14)(10) = 11110010(2)
Cours d’architecture des ordinateurs 138 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Cas de deux nombres de signes différents
Effectuons l’addition des nombres suivants :(−19)(10) = 11101101(2)(+14)(10) = 00001110(2)
Cours d’architecture des ordinateurs 139 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Cas de deux nombres de signes différents
Effectuons l’addition de (−19)(10) et (−14)(10)(−19)(10) = 11101101(2)(−14)(10) = 11110010(2)
Cours d’architecture des ordinateurs 140 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Soustraction
La soustraction en binaire se fait de la même façon qu’uneaddition. Si l’on soustrait un bit à un autre à zéro, on soustraitune retenue pour le bit de poids plus élevé.0− 1 = 1Exemple20(10) − 10(10)20(10) = 00010100(2)10(10) = 00001010(2)
Cours d’architecture des ordinateurs 141 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Multiplication I
La multiplication en binaire est la même chose que lamultiplication en décimale.Exemple7(10) × 3(10)7(10) = 00000111(2)3(10) = 00000011(2)
Cours d’architecture des ordinateurs 142 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Multiplication II
Cours d’architecture des ordinateurs 143 / 180
IntroductionCodage de l’information
Représentation des nombresOpérations arithmétiques
AdditionSoustractionMultiplicationDivision
Division
La division en binaire est effectuée de la même manière qu’ondécimal.ExempleEffectuons la division de 21(10) par 7(10)
Cours d’architecture des ordinateurs 144 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Chapitre IV
L’algèbre booléenne
Cours d’architecture des ordinateurs 145 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Summary
12 L’algèbre de Boole
13 Fonctions logiques et tables de vérité
14 Tables de Karnaugh
15 Circuits logiques combinatoires
Cours d’architecture des ordinateurs 146 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
L’algèbre de Boole
L’algèbre de Boole est la partie des mathématiques quis’intéresse aux opérations et aux foncions sur les variableslogiques.On appelle B l’ensemble constitué de deux éléments appelésvaleurs de vérité {0,1}, et on définit les lois ET et OU et unetransformation appelée complémentaire NON.
ET : Elle est définie de la manière suivante : a et b estVRAI si et seulement si a est VRAI et b est VRAI. Cette loiest notée aussi a.bOU : Elle est définie de la manière suivante : a OUb estVRAI si et seulement si a est VRAI ou b est VRAI, ou si aet b sont VRAI. Cette loi est notée a + b.NON : Le NON(a) est VRAI si et seulement si a est FAUX .Cette loi est notée aussi a.
Cours d’architecture des ordinateurs 147 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Summary
12 L’algèbre de Boole
13 Fonctions logiques et tables de véritéPropriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
14 Tables de Karnaugh
15 Circuits logiques combinatoires
Cours d’architecture des ordinateurs 148 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonctions logiques et tables de vérité
Une table de vérité est un tableau qui représente des entrées(en colonne) et des états binaires (0 et 1). Le résultat estexprimé sous forme binaire et se lit dans la dernière colonne.
Cours d’architecture des ordinateurs 149 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonctions logiques et tables de vérité
Cours d’architecture des ordinateurs 150 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonctions logiques et tables de vérité
Cours d’architecture des ordinateurs 151 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonctions logiques et tables de vérité
Cours d’architecture des ordinateurs 152 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Propriétés utiles
Associativité(a + b) + c = a + (b + c) = a + b + c(a.b).c = a.(b.c) = a.b.c
Commutativitéa + b = b + aa.b = b.a
Distributivitéa.(b + c) = a.b + a.ca + (b.c) = (a + b).(a + c)
Idempotencea + a + ...+ a = aa.a.....a = a
Cours d’architecture des ordinateurs 153 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Propriétés utiles
Élément neutrea + 0 = aa.1 = a
Élément nul1 + a = 10.a = 0
Complémentaritéa + a = 1a.a = 0
Lois de Morgana.b = a + b
¯a + b = a.bCours d’architecture des ordinateurs 154 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Propriétés utiles
PrioritéLa fonction ET (multiplication logique) est prioritaire par rapportà la fonction OU (somme logique).
Cours d’architecture des ordinateurs 155 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonction logique associée à un circuit
Soit un système logique à n entrées (e1,e2, ...,en) et une sortieS = f (e1,e2, ...,en). Pour calculer f à partir d’un schéma decircuits logiques, il suffit d’indiquer à la sortie de chaqueopérateur la valeur de l’expression booléene en cours. Puis onsimplifie l’expression obtenue à l’aide des axiomes de l’algèbrede Boole.
Cours d’architecture des ordinateurs 156 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Fonction logique associée à un circuit
Exemple
Cours d’architecture des ordinateurs 157 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Circuit logique associé à une fonction
La création de circuits logiques à partir d’une fonction booléen fà n entrées est aussi simple. Il suffit, dans la fonction,d’exprimer graphiquement chaque opérateur par un circuitlogique, les entrées étant les opérandes de l’opérateur. Enrépétant l’action sur tous les opérateurs, on construit ungraphique de circuit logique associé à f .
Cours d’architecture des ordinateurs 158 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Propriétés utilesFonction logique associée à un circuitCircuit logique associé à une fonction
Circuit logique associé à une fonction
Exemple
Cours d’architecture des ordinateurs 159 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Summary
12 L’algèbre de Boole
13 Fonctions logiques et tables de vérité
14 Tables de KarnaughPrincipeMéthode de recherche de l’équation de la table de vérité
15 Circuits logiques combinatoires
Cours d’architecture des ordinateurs 160 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Tables de Karnaugh
Une table de Karnaugh est une méthode inventée par MauriceKarnaugh et qui sert à simplifier des opérations logiques ou àtrouver l’équation correspondant à une table de vérité.
Cours d’architecture des ordinateurs 161 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Principe
Soit la table de vérité de S suivante avec les variables A, B, Cet D.
A B C D S0 0 0 0 10 0 0 1 00 0 1 0 10 0 1 1 10 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 11 1 0 0 01 1 0 1 11 1 1 0 11 1 1 1 1
Cours d’architecture des ordinateurs 162 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Principe
La table de Karnaugh correspondante se présente ainsi :xxxxxxCD
AB00 01 11 10
00 1 0 1 101 0 1 1 111 0 1 1 110 1 0 1 1
Cours d’architecture des ordinateurs 163 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Méthode de recherche de l’équation de la table devérité
Pour trouver une équation logique, il faut :1 Regrouper les valeurs de S égales à a dans des
rectangles ayant comme nombre de cases une puissancede 2 (16, 8, 4, 2, ou 1 cases).
2 Les groupes formés doivent être les moins nombreuxpossibles, mais ils doivent englober tous les 1. On peutfaire des chevauchements.
3 On a intérêt à dessiner des rectangles les plus grandspossibles.
4 On peut considérer cette table comme un tore : la dernièreligne est adjacente à la première et la première colonneest adjacente à la dernière.
Cours d’architecture des ordinateurs 164 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Méthode de recherche de l’équation de la table devérité
Cours d’architecture des ordinateurs 165 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Méthode de recherche de l’équation de la table devérité
Mise en équation
Le rectangle bleu correspond à l’équation C, puisque dansces deux colonnes C est toujours égal à 1.Le carré vert correspond à l’équation (B et D) puisquedans ces cases B = 1 et D = 1.L’équation du rectangle rouge est (B et D), cas dans cesquatre cases D = 0 et B = 0On fait ensuite la somme des trois équations :
S = C ou (B et D) (B et D) = C + B.D + B.D
Cours d’architecture des ordinateurs 166 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
PrincipeMéthode de recherche de l’équation de la table de vérité
Méthode de recherche de l’équation de la table devérité
ExempleSoit la table de vérité suivante :
x y c z r0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
z = x .y .c + x .y .c + x .y .c + x .y .cr = x .y .c + x .y .c + x .y .c + x .y .c
Cours d’architecture des ordinateurs 167 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Summary
12 L’algèbre de Boole
13 Fonctions logiques et tables de vérité
14 Tables de Karnaugh
15 Circuits logiques combinatoiresRéalisation d’un additionneur binaire
Cours d’architecture des ordinateurs 168 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Demi-additionneur
Prenons les tables de vérités du "⊕" (Xor), du "+" et du "." etadjoignons la table de calcul de l’addition en numérationbinaire.
a b a⊕b a+b a.b1 1 0 1 11 0 1 1 00 1 1 1 00 0 0 0 0
Cours d’architecture des ordinateurs 169 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Demi-additionneur
En suite la table d’addition en numération binaire :
+ 0 10 0 11 1 0(1)
0(1) représente la retenue 1 à reporter.
Cours d’architecture des ordinateurs 170 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Demi-additionneur
En considérant une addition binaire comme la somme àeffectuer de deux mémoires à un bit, nous observons dansl’addition binaire les différentes configurations des bitsconcernées (notés a et b). Nous aurons comme résultat un bitde somme et un bit de retenue :
bit a bit b bit somme bit retenue1 1 0 11 0 1 00 1 1 00 0 0 0
Cours d’architecture des ordinateurs 171 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Demi-additionneur
Si l’on compare avec les bits d’opérateurs booléens, ons’aperçoit que l’opérateur ⊕ (Xor) fournit en sortie les mêmesconfigurations que le bit de somme, et que l’opérateur "." (Et)délivre en sortie les mêmes configurations que le bit deretenue. Il est donc possible de simuler une addition binaireavec les deux opérateurs “⊕′′ et .. Nous venons de construireun demi-additionneur sur un bit. Ce demi-additionneur ne prendpas en compte de possible retenue de l’addition précédente.
Cours d’architecture des ordinateurs 172 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Demi-additionneur
Cours d’architecture des ordinateurs 173 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
Soient a et b deux nombres binaires à additionner dans l’UAL.Nous supposons qu’ils sont stockés chacun dans une mémoireà n bits. Nous notons ap et bp leur bit respectif de rang p. Lorsde l’addition des bits ap et bp il faut prendre en considérationl’éventuelle retenue notée rp−1 provenant du calcul du rangprécédent.
Cours d’architecture des ordinateurs 174 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
ap ⊕ bp ap bp rp−1 sp rp0 0 0 0 0 00 0 0 1 1 01 0 1 0 1 01 0 1 1 0 11 1 0 0 1 01 1 0 1 0 10 1 1 0 0 10 1 1 1 1 1
sp = ap ⊕ bp ⊕ rp−1rp = ap.bp + (ap ⊕ bp).rp−1
Cours d’architecture des ordinateurs 175 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
Cours d’architecture des ordinateurs 176 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
Pour simplifier le schéma, on considère le schéma d’undemi-additionneur comme ci-dessous :
Cours d’architecture des ordinateurs 177 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
Un additionneur complet se présente alors comme suit :
FIGURE 10 – Représentation d’un additionneur complet à deux bits
Cours d’architecture des ordinateurs 178 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
Additionneur à 4 bits :
Cours d’architecture des ordinateurs 179 / 180
L’algèbre de BooleFonctions logiques et tables de vérité
Tables de KarnaughCircuits logiques combinatoires
Réalisation d’un additionneur binaire
Additionneur complet
FIGURE 11 – Représentation d’un additionneur à 4 bits
Cours d’architecture des ordinateurs 180 / 180