ARCHITECTURE DES ORDINATEURS

191
Syllabus du module ARCHITECTURE DES ORDINATEURS Prof. Assma Azeroual Faculté Polydisciplinaire Ouarzazate SMI4 2019 / 2020 Cours d’architecture des ordinateurs 1 / 180

Transcript of ARCHITECTURE DES ORDINATEURS

Page 1: ARCHITECTURE DES ORDINATEURS

Syllabus du module

ARCHITECTURE DES ORDINATEURS

Prof. Assma Azeroual

Faculté Polydisciplinaire OuarzazateSMI4

2019 / 2020

Cours d’architecture des ordinateurs 1 / 180

Page 2: ARCHITECTURE DES ORDINATEURS

Syllabus du module

Organisation de la présentation

1 Syllabus du module

Cours d’architecture des ordinateurs 2 / 180

Page 3: ARCHITECTURE DES ORDINATEURS

Syllabus du module

Summary

1 Syllabus du module

Cours d’architecture des ordinateurs 3 / 180

Page 4: ARCHITECTURE DES ORDINATEURS

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

Page 5: ARCHITECTURE DES ORDINATEURS

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

Page 6: ARCHITECTURE DES ORDINATEURS

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

Page 7: ARCHITECTURE DES ORDINATEURS

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

Page 8: ARCHITECTURE DES ORDINATEURS

Introduction générale

Chapitre I

Notions d’architecture générale desordinateurs

Cours d’architecture des ordinateurs 8 / 180

Page 9: ARCHITECTURE DES ORDINATEURS

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

Page 10: ARCHITECTURE DES ORDINATEURS

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

Page 11: ARCHITECTURE DES ORDINATEURS

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

Page 12: ARCHITECTURE DES ORDINATEURS

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

Page 13: ARCHITECTURE DES ORDINATEURS

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

Page 14: ARCHITECTURE DES ORDINATEURS

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

Page 15: ARCHITECTURE DES ORDINATEURS

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

Page 16: ARCHITECTURE DES ORDINATEURS

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

Page 17: ARCHITECTURE DES ORDINATEURS

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

Page 18: ARCHITECTURE DES ORDINATEURS

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

Page 19: ARCHITECTURE DES ORDINATEURS

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

Page 20: ARCHITECTURE DES ORDINATEURS

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

Page 21: ARCHITECTURE DES ORDINATEURS

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

Page 22: ARCHITECTURE DES ORDINATEURS

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

Page 23: ARCHITECTURE DES ORDINATEURS

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

Page 24: ARCHITECTURE DES ORDINATEURS

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

Page 25: ARCHITECTURE DES ORDINATEURS

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

Page 26: ARCHITECTURE DES ORDINATEURS

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

Page 27: ARCHITECTURE DES ORDINATEURS

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

Page 28: ARCHITECTURE DES ORDINATEURS

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

Page 29: ARCHITECTURE DES ORDINATEURS

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

Page 30: ARCHITECTURE DES ORDINATEURS

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

Page 31: ARCHITECTURE DES ORDINATEURS

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

Page 32: ARCHITECTURE DES ORDINATEURS

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

Page 33: ARCHITECTURE DES ORDINATEURS

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

Page 34: ARCHITECTURE DES ORDINATEURS

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

Page 35: ARCHITECTURE DES ORDINATEURS

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

Page 36: ARCHITECTURE DES ORDINATEURS

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

Page 37: ARCHITECTURE DES ORDINATEURS

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

Page 38: ARCHITECTURE DES ORDINATEURS

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

Page 39: ARCHITECTURE DES ORDINATEURS

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

Page 40: ARCHITECTURE DES ORDINATEURS

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

Page 41: ARCHITECTURE DES ORDINATEURS

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

Page 42: ARCHITECTURE DES ORDINATEURS

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

Page 43: ARCHITECTURE DES ORDINATEURS

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

Page 44: ARCHITECTURE DES ORDINATEURS

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

Page 45: ARCHITECTURE DES ORDINATEURS

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

Page 46: ARCHITECTURE DES ORDINATEURS

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

Page 47: ARCHITECTURE DES ORDINATEURS

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

Page 48: ARCHITECTURE DES ORDINATEURS

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

Page 49: ARCHITECTURE DES ORDINATEURS

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

Page 50: ARCHITECTURE DES ORDINATEURS

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

Page 51: ARCHITECTURE DES ORDINATEURS

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

Page 52: ARCHITECTURE DES ORDINATEURS

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

Page 53: ARCHITECTURE DES ORDINATEURS

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

Page 54: ARCHITECTURE DES ORDINATEURS

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

Page 55: ARCHITECTURE DES ORDINATEURS

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

Page 56: ARCHITECTURE DES ORDINATEURS

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

Page 57: ARCHITECTURE DES ORDINATEURS

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

Page 58: ARCHITECTURE DES ORDINATEURS

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

Page 59: ARCHITECTURE DES ORDINATEURS

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

Page 60: ARCHITECTURE DES ORDINATEURS

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

Page 61: ARCHITECTURE DES ORDINATEURS

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

Page 62: ARCHITECTURE DES ORDINATEURS

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

Page 63: ARCHITECTURE DES ORDINATEURS

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

Page 64: ARCHITECTURE DES ORDINATEURS

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

Page 65: ARCHITECTURE DES ORDINATEURS

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

Page 66: ARCHITECTURE DES ORDINATEURS

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

Page 67: ARCHITECTURE DES ORDINATEURS

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

Page 68: ARCHITECTURE DES ORDINATEURS

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

Page 69: ARCHITECTURE DES ORDINATEURS

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

Page 70: ARCHITECTURE DES ORDINATEURS

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

Page 71: ARCHITECTURE DES ORDINATEURS

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

Page 72: ARCHITECTURE DES ORDINATEURS

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

Page 73: ARCHITECTURE DES ORDINATEURS

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

Page 74: ARCHITECTURE DES ORDINATEURS

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

Page 75: ARCHITECTURE DES ORDINATEURS

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

Page 76: ARCHITECTURE DES ORDINATEURS

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

Page 77: ARCHITECTURE DES ORDINATEURS

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

Page 78: ARCHITECTURE DES ORDINATEURS

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

Page 79: ARCHITECTURE DES ORDINATEURS

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

Page 80: ARCHITECTURE DES ORDINATEURS

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

Page 81: ARCHITECTURE DES ORDINATEURS

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

Page 82: ARCHITECTURE DES ORDINATEURS

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

Page 83: ARCHITECTURE DES ORDINATEURS

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

Page 84: ARCHITECTURE DES ORDINATEURS

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

Page 85: ARCHITECTURE DES ORDINATEURS

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

Page 86: ARCHITECTURE DES ORDINATEURS

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

Page 87: ARCHITECTURE DES ORDINATEURS

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

Page 88: ARCHITECTURE DES ORDINATEURS

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

Page 89: ARCHITECTURE DES ORDINATEURS

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

Page 90: ARCHITECTURE DES ORDINATEURS

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

Page 91: ARCHITECTURE DES ORDINATEURS

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

Page 92: ARCHITECTURE DES ORDINATEURS

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

Page 93: ARCHITECTURE DES ORDINATEURS

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

Page 94: ARCHITECTURE DES ORDINATEURS

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

Page 95: ARCHITECTURE DES ORDINATEURS

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

Page 96: ARCHITECTURE DES ORDINATEURS

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

Page 97: ARCHITECTURE DES ORDINATEURS

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

Page 98: ARCHITECTURE DES ORDINATEURS

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

Page 99: ARCHITECTURE DES ORDINATEURS

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

Page 100: ARCHITECTURE DES ORDINATEURS

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

Page 101: ARCHITECTURE DES ORDINATEURS

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

Page 102: ARCHITECTURE DES ORDINATEURS

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

Page 103: ARCHITECTURE DES ORDINATEURS

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

Page 104: ARCHITECTURE DES ORDINATEURS

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

Page 105: ARCHITECTURE DES ORDINATEURS

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

Page 106: ARCHITECTURE DES ORDINATEURS

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

Page 107: ARCHITECTURE DES ORDINATEURS

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

Page 108: ARCHITECTURE DES ORDINATEURS

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

Page 109: ARCHITECTURE DES ORDINATEURS

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

Page 110: ARCHITECTURE DES ORDINATEURS

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

Page 111: ARCHITECTURE DES ORDINATEURS

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

Page 112: ARCHITECTURE DES ORDINATEURS

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

Page 113: ARCHITECTURE DES ORDINATEURS

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

Page 114: ARCHITECTURE DES ORDINATEURS

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

Page 115: ARCHITECTURE DES ORDINATEURS

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

Page 116: ARCHITECTURE DES ORDINATEURS

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

Page 117: ARCHITECTURE DES ORDINATEURS

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

Page 118: ARCHITECTURE DES ORDINATEURS

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

Page 119: ARCHITECTURE DES ORDINATEURS

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

Page 120: ARCHITECTURE DES ORDINATEURS

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

Page 121: ARCHITECTURE DES ORDINATEURS

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

Page 122: ARCHITECTURE DES ORDINATEURS

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

Page 123: ARCHITECTURE DES ORDINATEURS

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

Page 124: ARCHITECTURE DES ORDINATEURS

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

Page 125: ARCHITECTURE DES ORDINATEURS

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

Page 126: ARCHITECTURE DES ORDINATEURS

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

Page 127: ARCHITECTURE DES ORDINATEURS

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

Page 128: ARCHITECTURE DES ORDINATEURS

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

Page 129: ARCHITECTURE DES ORDINATEURS

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

Page 130: ARCHITECTURE DES ORDINATEURS

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

Page 131: ARCHITECTURE DES ORDINATEURS

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

Page 132: ARCHITECTURE DES ORDINATEURS

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

Page 133: ARCHITECTURE DES ORDINATEURS

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

Page 134: ARCHITECTURE DES ORDINATEURS

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

Page 135: ARCHITECTURE DES ORDINATEURS

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

Page 136: ARCHITECTURE DES ORDINATEURS

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

Page 137: ARCHITECTURE DES ORDINATEURS

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

Page 138: ARCHITECTURE DES ORDINATEURS

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

Page 139: ARCHITECTURE DES ORDINATEURS

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

Page 140: ARCHITECTURE DES ORDINATEURS

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

Page 141: ARCHITECTURE DES ORDINATEURS

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

Page 142: ARCHITECTURE DES ORDINATEURS

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

Page 143: ARCHITECTURE DES ORDINATEURS

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

Page 144: ARCHITECTURE DES ORDINATEURS

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

Page 145: ARCHITECTURE DES ORDINATEURS

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

Page 146: ARCHITECTURE DES ORDINATEURS

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

Page 147: ARCHITECTURE DES ORDINATEURS

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

Page 148: ARCHITECTURE DES ORDINATEURS

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

Page 149: ARCHITECTURE DES ORDINATEURS

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

Page 150: ARCHITECTURE DES ORDINATEURS

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

Page 151: ARCHITECTURE DES ORDINATEURS

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

Page 152: ARCHITECTURE DES ORDINATEURS

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

Page 153: ARCHITECTURE DES ORDINATEURS

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

Page 154: ARCHITECTURE DES ORDINATEURS

IntroductionCodage de l’information

Représentation des nombresOpérations arithmétiques

AdditionSoustractionMultiplicationDivision

Multiplication II

Cours d’architecture des ordinateurs 143 / 180

Page 155: ARCHITECTURE DES ORDINATEURS

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

Page 156: ARCHITECTURE DES ORDINATEURS

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

Page 157: ARCHITECTURE DES ORDINATEURS

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

Page 158: ARCHITECTURE DES ORDINATEURS

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

Page 159: ARCHITECTURE DES ORDINATEURS

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

Page 160: ARCHITECTURE DES ORDINATEURS

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

Page 161: ARCHITECTURE DES ORDINATEURS

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

Page 162: ARCHITECTURE DES ORDINATEURS

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

Page 163: ARCHITECTURE DES ORDINATEURS

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

Page 164: ARCHITECTURE DES ORDINATEURS

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

Page 165: ARCHITECTURE DES ORDINATEURS

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

Page 166: ARCHITECTURE DES ORDINATEURS

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

Page 167: ARCHITECTURE DES ORDINATEURS

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

Page 168: ARCHITECTURE DES ORDINATEURS

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

Page 169: ARCHITECTURE DES ORDINATEURS

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

Page 170: ARCHITECTURE DES ORDINATEURS

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

Page 171: ARCHITECTURE DES ORDINATEURS

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

Page 172: ARCHITECTURE DES ORDINATEURS

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

Page 173: ARCHITECTURE DES ORDINATEURS

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

Page 174: ARCHITECTURE DES ORDINATEURS

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

Page 175: ARCHITECTURE DES ORDINATEURS

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

Page 176: ARCHITECTURE DES ORDINATEURS

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

Page 177: ARCHITECTURE DES ORDINATEURS

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

Page 178: ARCHITECTURE DES ORDINATEURS

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

Page 179: ARCHITECTURE DES ORDINATEURS

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

Page 180: ARCHITECTURE DES ORDINATEURS

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

Page 181: ARCHITECTURE DES ORDINATEURS

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

Page 182: ARCHITECTURE DES ORDINATEURS

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

Page 183: ARCHITECTURE DES ORDINATEURS

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

Page 184: ARCHITECTURE DES ORDINATEURS

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

Page 185: ARCHITECTURE DES ORDINATEURS

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

Page 186: ARCHITECTURE DES ORDINATEURS

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

Page 187: ARCHITECTURE DES ORDINATEURS

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

Page 188: ARCHITECTURE DES ORDINATEURS

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

Page 189: ARCHITECTURE DES ORDINATEURS

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

Page 190: ARCHITECTURE DES ORDINATEURS

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

Page 191: ARCHITECTURE DES ORDINATEURS

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