Organisation des Ordinateurs



Documents pareils
Logiciel de Base. I. Représentation des nombres

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Cours Informatique 1. Monsieur SADOUNI Salheddine

Conversion d un entier. Méthode par soustraction

IV- Comment fonctionne un ordinateur?

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Informatique Générale

IFT1215 Introduction aux systèmes informatiques

Chapitre 10 Arithmétique réelle

Représentation des Nombres

Codage d information. Codage d information : -Définition-

Leçon 1 : Les principaux composants d un ordinateur

VIII- Circuits séquentiels. Mémoires

Algorithme. Table des matières

Architecture matérielle des systèmes informatiques

GPA770 Microélectronique appliquée Exercices série A

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

IFT2880 Organisation des ordinateurs et systèmes

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Conception de circuits numériques et architecture des ordinateurs

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Système binaire. Algèbre booléenne

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Programmation C. Apprendre à développer des programmes simples dans le langage C

ELP 304 : Électronique Numérique. Cours 1 Introduction

Une version javascript sera disponible directement dans le cours prochainement.

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Chapitre 4 : Les mémoires

V- Manipulations de nombres en binaire

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

1 Introduction au codage

La mémoire. Un ordinateur. L'octet. Le bit

ASR1 TD7 : Un microprocesseur RISC 16 bits

Cours 3 : L'ordinateur

Structure de base d un ordinateur

Licence Sciences et Technologies Examen janvier 2010

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Le multiplexage. Sommaire

MPI Activité.10 : Logique binaire Portes logiques

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Les opérations binaires

Représentation d un entier en base b

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Concevoir son microprocesseur

Architecture de l ordinateur

Chapitre 13 Numérisation de l information

Précision d un résultat et calculs d incertitudes

Acquisition et conditionnement de l information Les capteurs

Un ordinateur, c est quoi?

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Transmission de données. A) Principaux éléments intervenant dans la transmission

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

DM 1 : Montre Autoquartz ETA

Algèbre binaire et Circuits logiques ( )

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Bases de programmation. Cours 5. Structurer les données

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

J LOGOSCREEN nt Enregistreur sans papier avec écran TFT et carte CompactFlash. B Notice de mise en service 08.

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Initiation à la Programmation en Logique avec SISCtus Prolog

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ISO/CEI NORME INTERNATIONALE

Les nombres entiers. Durée suggérée: 3 semaines

Numérisation du signal

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Le chiffre est le signe, le nombre est la valeur.

Université de La Rochelle. Réseaux TD n 6

Modélisation et Simulation

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Architecture des Ordinateurs. Partie II:

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

DOCM Solutions officielles = n 2 10.

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Rappels sur les suites - Algorithme

Définitions. Numéro à préciser. (Durée : )

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Métriques de performance pour les algorithmes et programmes parallèles

Cours de Systèmes d Exploitation

Fiche technique CPU 314SC/DPM (314-6CG13)

Compter à Babylone. L écriture des nombres

Chapitre 2. Eléments pour comprendre un énoncé

Transmission d informations sur le réseau électrique

I- Définitions des signaux.

Cours 1 : Qu est-ce que la programmation?

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Transcription:

Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1

Chapitre 1 Les circuits digitaux 2

Les ordinateurs Définition: Un ordinateur est une machine capable de résoudre des problèmes et de traiter des données en effectuant des opérations préétablies. But du cours: Etudier le fonctionnement interne des ordinateurs. 3

L information (I) Question: Quand peut-on dire qu un objet A possède de l information? A B 42??? Réponse: Lorsque A connaît une donnée (p.ex., la valeur d une variable) et cette donnée peut être communiquée à un autre objet B qui ne la connaît pas. 4

L information (II) Remarque: Communiquer une donnée de A à B s effectue via des signaux transmis via un canal de communication. Définition: L information est une donnée pouvant être transmise par un signal (ou par une combinaison de signaux). Exemple: Compact Disc. 5

Les signaux continus Les signaux véhiculant de l information peuvent prendre plusieurs formes. Définition: Un signal continu est un signal qui peut prendre un nombre infini de valeurs dans un intervalle donné. min max Inconvénient: L information n est pas transmise fiablement, car la valeur de chaque signal est entachée d imprécisions. 6

Le bruit L ensemble des imprécisions affectant un signal peut être regroupé en un signal de bruit. Lorsque A transmet un signal à B, on a donc: signal reçu par B = signal émis par A + signal de bruit Remarques: Le bruit ne peut jamais être entièrement éliminé d un signal continu. Le bruit limite la quantité de données pouvant être transmises par un signal 7

Les signaux discrets Définition: Un signal discret est un signal possédant un nombre fini de valeurs nominales. Avantage: La transmission fiable de données est possible malgré la présence de bruit. En effet, si l amplitude du signal de bruit est suffisamment petite, les valeurs transmises peuvent toujours être correctement identifiées à leur réception. Dans les ordinateurs, l information est transmise, traitée et mémorisée au moyen de signaux discrets. 8

Exemple de signaux discrets Tonalités de signalisation d un téléphone à touches: 1209 Hz 1336 Hz 1477 Hz 687 Hz 1 2 3 770 Hz 4 5 6 852 Hz 941 Hz 7 8 9 0 # 9

La quantité d information (I) Question: Comment peut-on quantifier la quantité d information transportée par un signal discret? Desiderata: Plus la probabilité de recevoir une valeur est faible, plus la quantité d information est élevée. inf > inf Lorsque l on combine des signaux indépendants, l information doit s additionner. inf = 3 inf 10

La quantité d information (II) Définition: La quantité d information transmise par une valeur discrète reconnaissable de façon fiable est égale à log 2 1 p, où p dénote la probabilité que cette valeur soit reçue. Cette quantité d information s exprime en bits (binary digits). Par conséquent, la quantité d information contenue dans un signal pouvant prendre N valeurs équiprobables (reconnaissables de façon fiable) vaut log 2 N. Un bit représente donc la quantité d information permettant de distinguer fiablement deux valeurs équiprobables. 11

Exemples On transmet une lettre de l alphabet au moyen d un signal de tension: A = 0 V, B = 0,04 V, C = 0,08 V,..., Y = 0,96 V, Z = 1 V. Situation 1: Les 26 valeurs peuvent être fiablement reconnues. Si les probabilités de recevoir un E et un Z sont (resp.) égales à 0,18 et 0,0007, la quantité d information transmise par les signaux correspondants vaut (resp.) et log 2 1 0,18 log 2 1 0,0007 2,47 bits 10,48 bits. 12

Si les 26 lettres ont la même probabilité d être reçues, la quantité d information contenue dans un signal vaut log 2 26 4,7 bits. Situation 2: On ne peut distinguer que les tensions supérieures ou inférieures à 0,5 V. Si les 2 valeurs sont équiprobables, la quantité d information véhiculée par un signal vaut log 2 2 = 1 bit. 13

L abstraction digitale Dans les circuits d un ordinateur, l information est représentée par une grandeur physique discrète: la tension électrique (le plus souvent), mais parfois aussi le courant, la fréquence, l intensité lumineuse,.... Pour décrire les circuits de l ordinateur, il est plus commode de faire référence aux valeurs représentées par les signaux plutôt qu aux grandeurs physiques utilisées. La correspondance entre un signal discret et la valeur représentée par celui-ci porte le nom d abstraction digitale. L abstraction digitale va nous permettre de décrire des circuits élémentaires et de les combiner de manière à obtenir des circuits complexes, en faisant abstraction des aspects électriques et électroniques du problème. 14

L algèbre booléenne Pour des raisons de simplicité et d immunité maximale au bruit, les signaux discrets utilisés dans les ordinateurs sont binaires. Rappel: La quantité d information contenue dans un signal binaire équiprobable vaut log 2 2 = 1 bit. L algèbre booléenne est la théorie des opérations impliquant des variables binaires. Par convention, les deux valeurs que peut prendre une variable booléenne sont appelées vrai et faux. Ces deux valeurs peuvent aussi être dénotées par des nombres: vrai = 1, faux = 0. 15

Les tables de vérité Définition: Une fonction booléenne d arité n est une fonction de n variables booléennes d entrée vers une variable booléenne de sortie (n 0). Pour définir une fonction booléenne, il suffit de donner sa valeur de sortie pour toutes les combinaisons possibles de valeurs de ses arguments. La table associant ces valeurs de sortie aux combinaisons de valeurs d entrée est appelée table de vérité. La table de vérité d une fonction d arité n possède 2 n lignes. 16

Exemple Table de vérité de la fonction f à trois arguments qui est vraie si et seulement si exactement deux de ses arguments sont vrais: x 1 x 2 x 3 f(x 1, x 2, x 3 ) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 17

Les fonctions booléennes de base Question: Combien y a-t-il de fonctions booléennes distinctes d arité n? Réponse: La table de vérité d une fonction d arité n possède 2 n lignes, et Chaque ligne d une table de vérité peut prendre la valeur 0 ou la valeur 1. Il y a 2 2n tables de vérité distinctes. Il existe donc 2 22 = 16 fonctions booléennes d arité 2. Certaines de ces fonctions présentent un intérêt particulier. 18

La fonction AND Cette fonction possède la table de vérité suivante: x 1 x 2 AND(x 1, x 2 ) 0 0 0 0 1 0 1 0 0 1 1 1 Elle se dénote par l opérateur binaire : AND(x 1, x 2 ) = x 1 x 2 La valeur x 1 x 2 est vraie si et seulement si x 1 et x 2 sont vrais. 19

La fonction OR Cette fonction possède la table de vérité suivante: x 1 x 2 OR(x 1, x 2 ) 0 0 0 0 1 1 1 0 1 1 1 1 Elle se dénote par l opérateur binaire + : OR(x 1, x 2 ) = x 1 + x 2 La valeur x 1 + x 2 est vraie si et seulement si x 1 ou x 2 sont vrais. 20

La fonction XOR Cette fonction (aussi appelée ou exclusif) possède la table de vérité suivante: x 1 x 2 XOR(x 1, x 2 ) 0 0 0 0 1 1 1 0 1 1 1 0 Elle se dénote par l opérateur binaire : XOR(x 1, x 2 ) = x 1 x 2 La valeur x 1 x 2 est vraie si et seulement si x 1 ou bien x 2 est vrai. 21

La fonction NAND Cette fonction possède la table de vérité suivante: x 1 x 2 NAND(x 1, x 2 ) 0 0 1 0 1 1 1 0 1 1 1 0 Remarque: Pour les mêmes valeurs d arguments, cette fonction renvoie toujours une valeur opposée à celle de la fonction AND. On a donc NAND(x 1, x 2 ) = NOT (AND(x 1, x 2 )), où NOT est une fonction unaire renvoyant une valeur différente de celle de son argument. 22

La fonction NOT La table de vérité de cette fonction est par conséquent la suivante: x 1 NOT (x 1 ) 0 1 1 0 Elle se dénote par une barre horizontale au dessus de son argument, ou bien par l opérateur unaire : NOT (x 1 ) = x 1 = x 1. On a donc NAND(x 1, x 2 ) = x 1 x 2. 23

La fonction NOR Cette fonction possède la table de vérité suivante: x 1 x 2 NOR(x 1, x 2 ) 0 0 1 0 1 0 1 0 0 1 1 0 Remarque: Pour les mêmes valeurs d arguments, cette fonction renvoie toujours une valeur opposée à celle de la fonction OR. On a donc NOR(x 1, x 2 ) = x 1 + x 2. 24

Les expressions booléennes Les opérateurs, +, et permettent de construire des expressions. Par convention, l opérateur a une priorité plus élevée que + et : x 1 + x 2 x 3 est équivalent à x 1 + (x 2 x 3 ). De même, x 1 x 2 x 3 est équivalent à x 1 (x 2 x 3 ). Nous allons étudier quelques propriétés des expressions booléennes. 25

La commutativité Les opérateurs, + et sont commutatifs: x 1 x 2 = x 2 x 1, x 1 + x 2 = x 2 + x 1, x 1 x 2 = x 2 x 1. L associativité Les opérateurs, + et sont associatifs: x 1 (x 2 x 3 ) = (x 1 x 2 ) x 3, x 1 + (x 2 + x 3 ) = (x 1 + x 2 ) + x 3, x 1 (x 2 x 3 ) = (x 1 x 2 ) x 3. Remarque: L associativité permet d éliminer les parenthèses des expressions précédentes. 26

La distributivité L opérateur est distributif sur les opérateurs + et : x 1 (x 2 + x 3 ) = (x 1 x 2 ) + (x 1 x 3 ), x 1 (x 2 x 3 ) = (x 1 x 2 ) (x 1 x 3 ). L opérateur + est distributif sur l opérateur : x 1 + (x 2 x 3 ) = (x 1 + x 2 ) (x 1 + x 3 ). Remarque: Cette dernière propriété n est pas valide en arithmétique! 27

Les règles de DeMorgan Ces règles permettent d exprimer chacun des opérateurs + et en fonction de l autre et du complément : x 1 + x 2 + + x n = x 1 x 2 x n, x 1 x 2 x n = x 1 + x 2 + + x n. Il est aussi possible d exprimer l opérateur en fonction des autres opérateurs: x 1 x 2 = x 1 x 2 + x 1 x 2. 28

Les règles d absorption Ces règles permettent de simplifier certaines expressions: x 1 + (x 1 x 2 ) = x 1 x 1 (x 1 + x 2 ) = x 1 x 1 + (x 1 x 2 ) = x 1 + x 2 x 1 (x 1 + x 2 ) = x 1 x 2 x 1 (x 1 x 2 ) = x 1 x 2 x 1 (x 1 x 2 ) = x 1 x 2 Autres règles x 1 + 1 = 1 x 1 0 = 0 x 1 0 = x 1 x 1 + 0 = x 1 x 1 1 = x 1 x 1 1 = x 1 x 1 + x 1 = x 1 x 1 x 1 = x 1 x 1 x 1 = 0 x 1 + x 1 = 1 x 1 x 1 = 0 x 1 x 1 = 1 29

Exercice On souhaite construire une expression booléenne dénotant la fonction possédant la table de vérité x 1 x 2 x 3 f(x 1, x 2, x 3 ) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Cette fonction n est vraie que pour trois valeurs de ses arguments: (0, 1, 1), (1, 0, 1), (1, 1, 0). 30

Pour chaque valeur des arguments, on peut écrire une expression qui est vraie pour cette valeur, et fausse pour toutes les autres: f (0,1,1) (x 1, x 2, x 3 ) = x 1 x 2 x 3 f (1,0,1) (x 1, x 2, x 3 ) = x 1 x 2 x 3 f (1,1,0) (x 1, x 2, x 3 ) = x 1 x 2 x 3. La fonction f est vraie si au moins une des trois fonctions précédentes est vraie pour les mêmes valeurs des arguments: f(x 1, x 2, x 3 ) = f (0,1,1) (x 1, x 2, x 3 ) + f (1,0,1) (x 1, x 2, x 3 ) + f (1,1,0) (x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3. En appliquant les règles de l algèbre booléenne: f(x 1, x 2, x 3 ) = (x 1 x 2 + x 1 x 2 ) x 3 + x 1 x 2 x 3 = (x 1 x 2 ) x 3 + x 1 x 2 x 3. 31

Les niveaux de tension Les circuits de l ordinateur manipulent les valeurs booléennes en associant un niveau de tension nominal à chacune d elles. Il est important de pouvoir distinguer fiablement les deux valeurs, même en présence de bruit. On choisit donc deux niveaux de tension les plus éloignés possible l un de l autre: La tension nulle pour la valeur 0; La tension d alimentation pour la valeur 1. Il est cependant impossible de construire des circuits qui produisent exactement ces tensions. On définit donc des intervalles de validité plutôt que des niveaux de tension ponctuels. Les circuits sont construits de façon à ne générer que des signaux valides. 32

Les marges d erreur Bien que les signaux soient valides à la sortie des composants qui les génèrent, ils sont corrompus par une certaine quantité de bruit avant d arriver à l entrée d autres composants. On tient compte de ce bruit en dotant chaque intervalle de validité d une marge d erreur qui lui est adjacente. Les signaux situés dans les marges d erreur peuvent être fiablement décodés en valeurs booléennes. 33

Exemple 5 V Intervalle de validité (valeur 1) Marge d erreur (1) 4 V 3, 5 V Plage interdite Marge d erreur (0) 1, 5 V 1 V Intervalle de validité (valeur 0) 0 V 34

La discipline statique Un circuit ne peut être connecté à d autres circuits que s il satisfait aux règles suivantes: Si on fournit des signaux valides constants aux entrées du circuit, alors ce dernier finira par générer des signaux de sortie valides après un certain délai de propagation. Un signal d entrée est considéré valide si sa tension se situe dans un des deux intervalles de validité ou dans la marge d erreur correspondante (mais pas dans la plage interdite). Un signal de sortie est considéré valide si sa tension appartient à un des deux intervalles de validité (mais pas à une marge d erreur ni à la plage interdite). L ensemble de ces règles constitue une discipline statique. Celle-ci garantit l absence de signaux invalides en dehors des périodes de propagation et de transition des valeurs. 35

Les familles logiques Il existe plusieurs types de circuits capables de traiter des signaux digitaux. Une famille logique est une norme définissant des niveaux de tension (intervalles de validité, marges d erreur); des circuits de base; un ensemble de contraintes à respecter (sur la forme des connexions permises, les temps de propagation,... ); un procédé de fabrication des composants;... Les principales familles actuellement utilisées sont CMOS et TTL. 36

Les portes logiques Les portes logiques sont des circuits digitaux élémentaires réalisant les fonctions booléennes de base. Les symboles conventionnels attribués aux portes sont les suivants: x 1 x 2 x 1 x 2 x 1 x 2 x 1 x 2 x 1 x 1 x 1 x 2 x 1 + x 2 x 1 x 2 x 1 + x 2 x 1 x 2 x 1 x 2 x 1 x 1 Remarques: Ces symboles peuvent aussi décrire des portes possédant plus de deux entrées; Bien sûr, les portes respectent la discipline statique! 37

L interconnexion des portes L interconnexion de plusieurs portes logiques permet de construire des circuits plus complexes. Les règles d interconnexion sont les suivantes: On ne peut pas connecter entre elles les sorties de plusieurs portes, ou différentes entrées d un même circuit; Il est permis de connecter la sortie d une porte aux entrées d autres portes. Exemple: Porte AND à trois entrées construite à partir de deux portes à deux entrées: x 1 x 2 x 3 x 1 x 2 x 3 38

Les circuits combinatoires Un chemin est un parcours d un circuit, à partir d un de ses points, effectué en suivant les connexions et en franchissant les portes d une entrée vers la sortie. Un cycle est un chemin dont le point d origine et le point de destination sont identiques, et qui franchit au moins une porte. Définition: Un circuit combinatoire est un circuit digital dont aucun chemin n est un cycle. Propriété: Les valeurs booléennes générées aux sorties d un circuit combinatoire dépendent uniquement des valeurs fournies aux entrées de celui-ci. En d autres termes, un circuit combinatoire à n entrées et m sorties peut être défini par m fonctions booléennes d arité n. 39

Remarque: Sous l hypothèse où toutes les portes possèdent le même délai de propagation, le délai de propagation maximal d un circuit combinatoire correspond au chemin le plus long d une entrée vers une sortie. 40

Exemple 1 Circuit combinatoire réalisant la fonction d arité 3 vraie si et seulement si deux de ses entrées sont vraies: x 1 x 2 x 3 x 1 x 2 x 3 (x 1 x 2 ) x 3 f x 1 x 2 x 3 x 1 x 2 x 3 Temps de propagation maximal: 3τ, où τ est le temps de propagation maximal d une porte. 41

Exemple 2 Circuit à deux entrées contrôlant un affichage à sept segments. Le chiffre affiché totalise le nombre d entrées vraies. Un segment est allumé lorsque la sortie correspondante est vraie: x 1 x 2 a 1 b a c f g b d e d c e f g Temps de propagation maximal: 2τ. 42

L instabilité Il est facile de construire des circuits qui ne sont pas combinatoires: Ce circuit possède une particularité: Il est impossible d affecter une valeur booléenne fixe à sa seule connexion! Ce circuit est instable. Définition: Un circuit est stable s il est possible d affecter une valeur booléenne persistante à chacune de ses connexions. 43

Les circuits instables sont à proscrire! En pratique, de tels circuits génèrent des signaux invalides, ou des oscillations. 44

Les circuits non combinatoires stables Tous les circuits non combinatoires ne sont pas instables: x 1 x 2 L attribution des valeurs x 1 = 0 et x 2 = 1 est persistante, et donc le circuit est stable. Le choix des valeurs x 1 = 1 et x 2 = 0 est également persistant. Remarque: La stabilité d un circuit ne garantit pas l absence de signaux invalides ou d oscillations dans une réalisation pratique de ce circuit! 45

Les verrous Le circuit précédent possède deux points de stabilité, et peut donc se trouver dans deux états distincts. Il est donc capable de mémoriser un bit d information. Ce circuit ne permet cependant pas de choisir la valeur booléenne mémorisée. Pour pallier cet inconvénient, on lui ajoute des entrées permettant de contrôler la valeur circulant dans le cycle: s q r Le circuit obtenu porte le nom de verrou. 46

Le fonctionnement d un verrou Si s = 0 et r = 0: Le circuit est équivalent à deux inverseurs en boucle, et mémorise donc un bit d information. La valeur mémorisée peut être vue comme celle présente à la sortie q. Si s = 1 et r = 0: La valeur mémorisée devient égale à 1 (set). Si s = 0 et r = 1: La valeur mémorisée devient égale à 0 (reset). Le verrou est donc capable de retenir laquelle des entrées s ou r a été activée en dernier lieu. Si s = 1 et r = 1: La valeur de mémorisée devient égale à 0, mais peut ensuite basculer vers n importe quelle valeur lorsque s et r reprennent la valeur 0. Une telle condition de course est à éviter! 47

Le signal d horloge L utilisation des verrous pose plusieurs problèmes: Le verrou charge une nouvelle valeur dès le moment où une de ses entrées prend la valeur 1. Ce moment peut dépendre des délais de propagation d autres portes. Il faut garantir l absence de conditions de course. On souhaite que les données mémorisées par un circuit ne soient modifiées qu à des instants ponctuels, bien déterminés. La solution consiste à fournir au circuit un signal d horloge. Ce signal est généré par un composant spécial, et est constitué d une alternance périodique de valeurs 0 et 1. φ : 48

Les valeurs mémorisées par ce circuit ne sont alors modifiées qu aux instants où l horloge effectue une transition de la valeur 0 à la valeur 1 (c est-à-dire lors de ses flancs montants). Note: Une autre convention consiste à considérer les transitions de la valeur 1 à la valeur 0 (flancs descendants). 49

Le flip-flop Le composant de mémorisation élémentaire présent dans les circuits basés sur une horloge est le flip-flop. Symbole: d d q q φ Fonctionnement: Un flip-flop est capable de retenir un bit. La valeur retenue est disponible à la sortie q; Lors d un flanc montant de l horloge, le flip-flop charge la valeur présente à l entrée d. (On dit que le flip-flop est déclenché par le flanc.) 50

Les délais d un flip-flop Le fonctionnement d un flip-flop n est pas instantané: La valeur mémorisée n est disponible à la sortie qu un certain temps après avoir été chargée. Ce délai est le délai de propagation τ p du flip-flop; Pour qu une valeur d entrée puisse être chargée, il faut qu elle reste constante un certain laps temps avant le coup d horloge. Ce délai est le délai de stabilisation τ s du flip-flop. Exemple: τ s τ p τ s τ p τ s τ p d q φ 51

Les registres En général, un circuit mémorise plus d un bit d information. Un registre est un composant obtenu en regroupant plusieurs flip-flops partageant la même horloge. Circuit équivalent: Symbole: d 1 d 2 d d q q q 1 q 2 d 1 d 2. d n n d q n q 1 q 2. q n... φ d n d q q n φ 52

Les circuits séquentiels Dans un circuit digital, on peut séparer les composants mémorisant les données de ceux dédiés à leur traitement. Un circuit séquentiel est un circuit possédant la forme générale suivante: Sorties o 1, o 2,... Circuit Entrées i 1, i 2,... combinatoire n n n d q n φ Les valeurs retenues par le registre déterminent l état du circuit. La capacité du registre étant de n bits, le circuit peut potentiellement se trouver dans 2 n états. 53

Fonctionnement d un circuit séquentiel Soient T la période de l horloge; τ c le temps de propagation du circuit combinatoire; τ p le temps de propagation du registre; τ s le temps de stabilisation du registre. Si T > τ c + τ p + τ s, le circuit change d état à chaque coup d horloge. Lors d un changement d état, le nouvel état s t+1 est déterminé par le circuit combinatoire à partir de l état précédent s t, et la valeur i t des entrées du circuit. On a donc s t+1 = f(s t, i t ), où f est une fonction de transition réalisée par le circuit combinatoire. 54

La discipline dynamique Pour que le changement d état s effectue correctement, les entrées du circuit doivent rester stables pendant une durée au moins égale à τ c + τ s avant chaque coup d horloge. Un circuit séquentiel respectant cette condition obéit à la règle de discipline dynamique. Un circuit séquentiel peut également posséder des sorties. Leur valeur o t est déterminée par le circuit combinatoire à partir de l état courant s t, et la valeur i t des entrées du circuit. On a donc o t = f (s t, i t ), où f est une fonction de sortie réalisée par le circuit combinatoire. Remarque: La stabilité des sorties n est garantie que pendant un certain intervalle précédant chaque coup d horloge. 55

Illustration Entrées i Etat s Sorties o Horloge φ 56

Exemple Circuit séquentiel d un compteur pilotant un affichage à sept segments: f e a g d b c 1 a b c d e d 1 q 1 d 2 q 2 f g i φ 57

Fonction de transition: Etat courant Entrée Etat suivant q 1 q 2 i q 1 q 2 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 Fonction de sortie: Etat Sorties q 1 q 2 a b c d e f g 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 58

Chapitre 2 La représentation des données 59

La représentation des nombres entiers positifs Problème: On souhaite représenter des nombres naturels à l aide de n bits. Solution: Il suffit d encoder les nombres en base 2: On attribue à chaque bit une position de 0 à n 1. Par convention, on procède de droite à gauche; On affecte au bit de position k le poids 2 k. Le nombre représenté par la suite de bits b n 1 b n 2... b 1 b 0 est donc égal à n 1 i=0 b i 2 i. Ce procédé porte le nom de représentation binaire non signée des nombres. 60

Exemple: la représentation binaire non signée 10110101 dénote le nombre 181: Position : 7 6 5 4 3 2 1 0 Poids : 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 0 1 1 0 1 0 1 On a en effet 7 i=0 b i 2 i = 2 7 + 2 5 + 2 4 + 2 2 + 2 0 = 128 + 32 + 16 + 4 + 1 = 181. Note: Les bits situés aux positions 0 et n 1 sont respectivement appelés bit de poids faible et bit de poids fort. 61

Calcul de la représentation d un nombre La représentation d un nombre v peut se calculer grâce aux deux propriétés suivantes: Le bit de poids faible est égal à 0 si v est pair, et à 1 si v est impair; En retirant le bit de poids faible d une représentation de v, on obtient une représentation de v/2. On a donc l algorithme suivant: 1. Si v est pair, écrire 0. Sinon, écrire 1; 2. Remplacer v par v/2 ; 3. Répéter les deux opérations précédentes tant que v 0. 62

Remarques: Cet algorithme génère les bits de la représentation de v en commençant par le bit de poids faible (c est-à-dire de la droite vers la gauche); La suite de bits obtenue constitue la représentation la plus courte du nombre v. Des représentations plus longues s obtiennent en préfixant le résultat d un nombre quelconque de zéros. Exemple: Représentation du nombre 109: v = 109 impair 1 v = 54 pair 0 v = 27 impair 1 v = 13 impair 1 v = 6 pair 0 v = 3 impair 1 v = 1 impair 1 v = 0. La représentation obtenue est donc 1101101. Il est permis d ajouter un nombre arbitraire de zéros en tête de cette représentation. 63

Les valeurs représentables A l aide de n bits, il n est pas possible de représenter plus de 2 n valeurs distinctes. L algorithme de calcul de la représentation d un nombre v s arrête après avoir produit n bits ou moins si et seulement si v < 2 n. Les nombres possédant une représentation binaire non signée sur n bits sont donc les éléments de l intervalle [0,..., 2 n 1]. 64

L arithmétique binaire non signée Les opérations d addition et de multiplication de nombres entiers non signés peuvent s effectuer selon les règles du calcul écrit. Les tables d addition binaire sont les suivantes (les reports sont dénotés par un rectangle): 0 + 0 0 + 1 1 + 0 1 + 1 0 1 1 1 0 1 0 + 0 1 0 + 1 1 1 + 0 1 1 + 1 1 1 0 1 0 1 1 L opération d addition s effectue bit par bit, en commençant par le bit de poids faible. 65

Exemple: Calcul de la somme 123 + 456 = 579: 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 + 0 1 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 66

La multiplication de nombres binaires non signés Le calcul d un produit s effectue selon des règles analogues à celles du calcul décimal: 1. Des produits partiels sont successivement calculés pour chaque bit du multiplicateur, et convenablement alignés; 2. Ces produits partiels sont ensuite additionnés. La table de multiplication binaire est la suivante: 0 0 0 1 1 0 1 1 0 0 0 1 67

Exemple: Calcul du produit 34 12 = 408: 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 + 1 0 0 0 1 0 1 1 0 0 1 1 0 0 0 68

La représentation hexadécimale La représentation binaire utilisée par les ordinateurs est mal adaptée aux opérations manuelles. Dans certains cas, il est cependant indispensable de pouvoir raisonner sur la représentation interne des données. On utilise alors la représentation hexadécimale (c est-à-dire en base 16), qui présente deux avantages: Elle est concise; Les conversions de l hexadécimal vers le binaire et vice-versa sont immédiates. Un chiffre hexadécimal peut prendre 16 valeurs: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Un tel chiffre représente donc exactement 4 bits d information. Pour convertir un nombre hexadécimal en binaire, il suffit de remplacer chaque chiffre par la séquence de 4 bits qui lui correspond. La conversion réciproque est similaire. 69

Table de conversion: Hexadécimal Binaire Hexadécimal Binaire 0 0000 8 1000 1 0001 9 1001 2 0010 A 1010 3 0011 B 1011 4 0100 C 1100 5 0101 D 1101 6 0110 E 1110 7 0111 F 1111 Note: Lorsque le contexte ne permet pas de déterminer la base choisie pour représenter les nombres, on ajoute le suffixe h ou le préfixe 0x aux représentations hexadécimales, et le suffixe b ou le préfixe 0b aux représentations binaires. Exemple: On a 0xCAFE007 = 1100101011111110000000000111b = 212852743. 70

La représentation des nombres entiers signés Il existe plusieurs procédés permettant de représenter des nombres entiers positifs et négatifs: La représentation par valeur signée; La représentation par complément à un; La représentation par complément à deux. Ces trois méthodes possèdent des points communs: Le signe d un nombre est représenté par le bit de poids fort (ici appelé bit de signe). Celui-ci est égal à 0 pour les nombres positifs; 1 pour les nombres négatifs. La représentation d un nombre positif est toujours identique à sa représentation binaire non signée de même taille. 71

La représentation par valeur signée Principe: A la suite du bit de signe, on place la représentation binaire non signée de la valeur absolue du nombre représenté. Exemple: La représentation sur 8 bits du nombre 42 est égale à 10101010. En effet Ce nombre est négatif, donc le bit de signe est égal à 1; La représentation binaire non signée sur 7 bits de 42 = 42 est 0101010. Selon ce procédé, le nombre v représenté par le groupe de bits b n 1 b n 2... b 1 b 0 est égal à v = (1 2b n 1 ) n 2 i=0 b i 2 i. 72

Les valeurs représentables A l aide de n bits, la représentation par valeur signée permet d encoder tous les éléments de l intervalle [0,..., 2 n 1 1] (bit de signe égal à 0), et tous les éléments de l intervalle [ 2 n 1 + 1,..., 0] (bit de signe égal à 1). L ensemble des valeurs représentables est donc l intervalle [ 2 n 1 + 1,..., 2 n 1 1]. Remarques: Le nombre 0 possède deux représentations distinctes; Ce procédé rend difficile le calcul des opérations arithmétiques. 73

La représentation par complément à un Principe: La représentation d un nombre est similaire à sa représentation par valeur signée, mais les bits qui suivent le bit de signe sont complémentés (0 est remplacé par 1, et vice-versa). Exemple: La représentation sur 8 bits du nombre 42 est égale à 11010101. En effet Ce nombre est négatif, donc le bit de signe est égal à 1; La représentation binaire non signée sur 7 bits de 42 = 42 est 0101010, dont le complément est 1010101. L ensemble des nombres représentables à l aide de n bits est identique à celui obtenu pour la représentation par valeur signée, soit l intervalle [ 2 n 1 + 1,..., 2 n 1 1]. 74

Selon ce procédé, le nombre v représenté par le groupe de bits b n 1 b n 2... b 1 b 0 est égal à En effet, (1 2 n 1 )b n 1 + n 2 i=0 b i 2 i. Si v > 0, on a b n 1 = 0 et v = n 2 i=0 b i 2 i ; Si v < 0, on a b n 1 = 1. La suite de bits b n 2 b 1 b 0 forme la représentation binaire non signée du nombre On a donc bien 2 n 1 1 n 2 i=0 v = v = 1 2 n 1 + b i 2 i. n 2 i=0 b i 2 i. 75

L arithmétique des nombres représentés par complément à un Les algorithmes de calcul arithmétique sur les nombres non signés peuvent facilement être adaptés à la représentation par complément à un. L addition de deux nombres signés représentés à l aide de n bits s effectue de la façon suivante: 1. On additionne les deux nombres comme s il s agissait de représentations non signées; 2. Si l opération conduit à un report à la position n, on supprime ce report et on ajoute 1 à la somme calculée. 76

Exemples: Calcul de la somme 12 + ( 34) = 22: 1 1 1 0 0 0 0 1 1 0 0 + 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 Calcul de la somme 12 + ( 34) = 46: 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 + 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 + 1 1 1 0 1 0 0 0 1 77

La représentation par complément à deux Principes: La représentation d un nombre v sur n bits est égale 1. au bit de signe 0 suivi de la représentation entière non signée de v sur n 1 bits si v 0; 2. à la représentation par complément à un de v + 1 sur n bits si v < 0. On dit alors que les n bits ainsi obtenus forment le complément à deux des n bits encodant le nombre positif v. Exemples: La représentation sur 8 bits du nombre 42 est égale à 11010110; La représentation sur n bits du nombre 1 est composée de n bits égaux à 1. 78