Vous êtes sur la page 1sur 43

Architecture et

fonctionnement
des ordinateurs

Licence de documentation libre GNU :


http://creativecommons.org/licenses/gnu-fdl/2.0/fr/
Table des
matières

I - Sources et documentations 5

II - Histoire de l'informatique 7

A. Introduction : points de vues sur l'ordinateur...................................................7

B. Les grandes évolutions de l'informatique..........................................................9


1. Le calcul mécanique..........................................................................................................9
2. Le calcul électromécanique...............................................................................................10
3. L'ère de l'électronique......................................................................................................11

C. Les grands types d'architecture.....................................................................12


1. Le modèle Neumann........................................................................................................13
2. Le modèle Harvard..........................................................................................................14

D. Quelques périphériques d'entrées/sorties.......................................................14


1. Le disque dur..................................................................................................................15
2. Les imprimantes.............................................................................................................15
3. Le disque dur externe......................................................................................................16

III - Représentation des nombres 17

A. Codage......................................................................................................17
1. Notions de base..............................................................................................................17
2. Représentation d'un nombre dans une base........................................................................18
3. Détection d'erreur...........................................................................................................19
4. Standardisation des codages.............................................................................................22

B. Systèmes de numérotation...........................................................................22
1. Conversion décimale-binaire.............................................................................................22
2. Représentations des nombres négatifs...............................................................................23
3. Représentation des nombres réels.....................................................................................25

IV - Algèbre de Boole et Portes logiques 27

A. Généralités.................................................................................................27
1. Axiomes de l'algèbre de Boole...........................................................................................27
2. Théorèmes de l'algèbre de Boole.......................................................................................28
3. Algèbre de Boole et interprétation dans le monde binaire.....................................................29

B. Portes logiques de base...............................................................................29


1. Porte NON......................................................................................................................29
2. Porte ET.........................................................................................................................30
3. Porte OU........................................................................................................................31
4. Porte NAND....................................................................................................................31
5. Porte NOR......................................................................................................................32
6. Porte XOR......................................................................................................................33
7. Portes à trois états..........................................................................................................33

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 3
Sources et documentations

C. Fonctions logiques.......................................................................................34
1. Écritures canoniques d'une fonction logique........................................................................35
2. Simplification de l'écriture des fonctions logiques.................................................................36

V - Arithmétique des ordinateurs 41

A. Opérations sur les binaires purs....................................................................41


1. Addition.........................................................................................................................41
2. Soustraction...................................................................................................................42
3. Multiplication..................................................................................................................43
4. Division.........................................................................................................................43

B. Opérations sur les binaires en complément à 2...............................................44


1. Addition.........................................................................................................................44
2. Soustraction...................................................................................................................46
3. Multiplication..................................................................................................................46
4. Division.........................................................................................................................46

C. Opérations sur les binaires dans la norme IEEE754.........................................47


1. Arrondi..........................................................................................................................47
2. Addition.........................................................................................................................48
3. Multiplication..................................................................................................................50
4. Division.........................................................................................................................51

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


4 2011-2012
Sources et
I-

I
documentations

Quelques sources
 Paolo Zanella et Yves Ligier. Architectures et technologie des ordinateurs
 Andrew Tanenbaum. Architecture de l'ordinateur
 http://www.blois.univ-tours.fr/˜marcel/
 S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs
 Circuits et architecture des ordinateurs, Université Paris Diderot, Olivier
Carton
 Electronique Numérique, 1er tome, Systèmes combinatoires. Etienne
Messerli, Yves Meyer
 Wikipedia (IEEE754, Code de Hamming, ...)
 Site du zéro (Système de numération)
 Comment ça marche (Code CRC)

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 5
Histoire de
II -

II
l'informatique

Introduction : points de vues sur l'ordinateur 7


Les grandes évolutions de l'informatique 9
Les grands types d'architecture 12
Quelques périphériques d'entrées/sorties 14

Suivant que l'on soit simple utilisateur, programmeur, automaticien ou électronicien


par exemple nous avons des façons différentes de nous représenter ce qu'est un
ordinateur et nous avons également des façons différentes d'appréhender ce qu'est
l'informatique. Ce que nous appelons aujourd'hui ordinateur est le fruit de plusieurs
siècles de travaux et de découvertes qui débutent depuis l'antiquité et qui couvrent
aussi bien les mathématiques que l'électromécanique et l'électronique.
Dans cette partie nous présentons d'abord différentes façons d'appréhender
l'ordinateur aujourd'hui, puis nous listons des évolutions et découvertes dans
l'histoire qui ont conduit aux ordinateurs et présentons par la suite les
caractéristiques prédominants de l'ordinateur avant d'introduire les notions qui
seront utiles dans la suite du cours.

A. Introduction : points de vues sur l'ordinateur

L'ordinateur visible et l'ordinateur invisible


D'emblée nous pouvons dire à la vue de l'ordinateur qu'il est composé d'éléments
tels que l'écran, l'unité centrale, la souris, le clavier ... qui sont visibles. Mais un œil
averti sait que pour que l'ordinateur marche il faut que l'unité centrale par exemple
contienne d'autres éléments que nous dirons invisibles parce qu'ils ne sont pas
visibles de l'extérieur. Ce sont entre autres le disque dur, les mémoires, le
processeur, ...
Tous ces éléments contribuent au bon fonctionnement et à la facilité d'utilisation de
l'ordinateur mais suivant ce que nous faisons et attendons de l'ordinateur seules
certaines parties nous intéresserons.

L'ordinateur vue par un utilisateur ordinaire


L'utilisateur ordinaire appréhende l'ordinateur au travers de ses périphériques
(dispositifs externes à l'unité centrale) :
 clavier ;

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 7
Histoire de l'informatique

 souris ;
 écran ;
 imprimante ;
 disques ;
 clés usb ;
 Lecteur CD/DVD ;
 ...

L'ordinateur vue par un programmeur


Ce que le programmeur retient d'un ordinateur ce sont ses spécifications :
 les différentes façons d'implémenter des entrées/sorties (lire et afficher des
données) ;
 la taille (nombre de bits) des types de données et leurs représentations en
mémoire (int représenté sur 2 ou 4 octets, tableau comme suite d'octets
contiguës, pointeurs comme ensemble d'octets non forcément contiguës) ;
 ...

L'ordinateur vue par un automaticien


L'automaticien s'intéresse surtout aux signaux de contrôle de l' ordinateur.

L'ordinateur vue par un Maintenancier / Électronicien


L'électronicien lui voit l'ordinateur comme un ensemble de composants
électroniques :
 circuits intégrés ;
 condensateurs ;
 tubes cathodiques ;
 ...

Définition : Qu'appelle-t-on ordinateur?


Seule la partie unité centrale correspond à l'appellation ordinateur.
L'unité centrale est constituée d'un boîtier qui contient une carte mère sur laquelle
sont fixés le processeur, les mémoires, les périphériques internes et des cartes
permettant de connecter des périphériques externes sur le boîtier.

B. Les grandes évolutions de l'informatique

Pour résumer l'histoire de l'informatique ou des ordinateurs, il est souvent


nécessaire de citer les grandes inventions. On ne retient en général qu'un nom
même si souvent l'invention concrétise une démarche collective qui s'est étalée sur
plusieurs années. Très souvent aussi on oublie des prédécesseurs. Dans cette partie
nous résumons l'histoire de l'informatique en
citant quelques dates clefs les plus fréquemment citées.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


8 2011-2012
Histoire de l'informatique

1. Le calcul mécanique

Les moyens de calcul de l'antiquité au 19ème siècle


Toutes les grandes civilisations de l'Antiquité avaient leurs symboles pour coder les
nombres et compter. Au début il s'agissait de signes simples (comme un trait)
correspondant chacun au nombre 1. Puis au fur et à mesure les techniques ont
évoluées :
 Un symbole représentant le nombre 10 est apparu en Egypte vers 3400 av.
J.-C ce qui rendit possible d'écrire les nombres de manière plus compacte.
D'autres symboles spéciaux ont ensuite représenté les nombres 100, 1000
et 10000 ;
 La numération cunéiforme de Babylone utilisait un système sexagésimal
(base 60) ;
 Le premier système binaire connu remonte à 3000 ans av. J.-C. environ. Il
s'agit du Yin et du Yang chinois. On en trouve trace sur les figures magiques
de l'empereur Fou-Hi, comme l'octogone à trigramme où les huit premiers
nombres sont représentés sous forme binaire ;
 Développé en Inde environ 300 ans av. J-C, le système dit « arabe » a été
introduite , vers 820 apr. J-C, en Europe avec la traduction des ouvrages du
mathématicien de Bagdad Al-Khuwarizmi, dont le titre d'un des livres (al
jabr) est à l'origine du mot algèbre. Les premiers documents attestant de
l'utilisation du système arabe en Europe datent de 976, mais il faut attendre
le 14 ème siècle pour qu'il remplace totalement la numérotation romaine.
C'est le système arabe qui introduit l'emploi de la notation positionnelle, qui
confère des valeurs différentes aux symboles numériques selon leur position
dans le nombre écrit. Cette notation positionnelle n'est possible qu'avec un
symbole pour le zéro. Grâce au symbole 0, il devint alors possible de
différencier 11, 101 et 1 001 sans recourir à des symboles supplémentaires.
Non seulement l'écriture des nombres devint plus compacte, mais les calculs
écrits ont été dès lors largement simplifiés ;
 Il faut ensuite sauter au 17ème siècle pour voir apparaître les premiers
systèmes mécaniques de calcul, basés sur les roues dentées mises en œuvre
depuis longtemps dans les horloges, automates, etc. On fait généralement
commencer cette nouvelle période en 1614, date à laquelle John Napier (ou
Neper), mathématicien écossais, inventa les premiers logarithmes. Il
ramenait ainsi les opérations de multiplication et de division à de simples
additions ou soustractions. Napier inventa également des machines à
multiplier basées sur le déplacement de tiges : les Bâtons ou Os de Napier.
Par ailleurs, il fut l'un des premiers à utiliser le point décimal ;
 La règle à calcul, basée sur le principe des logarithmes, fut conçue par
William Oughtred en 1622;
 En 1642, Blaise Pascal construisit, une "machine arithmétique" capable de
traiter des additions et des soustractions à six chiffres : la Pascaline
considérée comme le premier additionneur à retenue automatique. Les
multiplications étaient possibles par l'exécution d'additions répétitives;
 En 1673, Gottfried Leibniz inventa le système binaire et montra la simplicité
de l'arithmétique binaire. Il l'appliqua à l'analyse des octogones de Fou-Hi ;
 En 1728, Falcon construit le premier métier à tisser, première machine
commandée par un programme;

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 9
Histoire de l'informatique

 En 1833 : Charles Babbage créa une "machine analytique" sur le principe du


métier à tisser capable d'enchaîner l'exécution d'opérations arithmétiques en
fonction d'instructions données par l'utilisateur. Cette machine contenait les
concepts de base qui se retrouvent dans les ordinateurs modernes :
- une unité de traitement (le moulin) commandée par une unité de
contrôle ;
- une mémoire (le magasin) ;
- une unité d'entrée pour recevoir des cartes perforées (opérations et
nombres) ;
- et une unité de sortie pour imprimer ou perforer le résultat.
Charles Babbage a été aidé dans la conception de cette machine par sa
collaboratrice Ada Lovelace qui a défini le principe de l'enchaînement
d'itérations successives pour la réalisation d'une opération, baptisé
algorithme en l'honneur du mathématicien arabe AlKhuwarizmi. Mais la
machine ne sera construit que bien plus tard faute de moyen.
 En 1854 George Boole propose sa formulation mathématique des
propositions logiques qui appliquée au système binaire est à la base du
fonctionnement des ordinateurs.

2. Le calcul électromécanique

Le calcul électromécanique
 En 1890, Hermann Hollerith construisit un calculateur de statistiques qui fut
utilisé pour le recensement américain. Il s'agissait d'une machine
électromécanique. Ce fût le premier exemple de l'imbrication d'une
architecture matérielle et d'une organisation des données. Hollerith fonda en
1896, la Tabulating Machine Company pour produire ses cartes et machines
mécanographiques qui devint en 1924, l'International Business Machines
Corporation (IBM);
 En 1936 Alan Turing énonce le principe d'une machine (virtuelle), qui
pouvait en théorie réaliser tous les calculs mathématiques, avec en
particulier des instructions conditionnelles ;
 En 1938, Claude Shannon reprenant les travaux de Leibniz et Boole, mis en
évidence une analogie entre l'algèbre binaire et les circuits électriques. Il
montra plus tard que tout calcul logique ou arithmétique peut être réalisé
avec uniquement les trois opérations logiques fondamentales : ET, OU et
NON. Il est également l'inventeur du terme bit pour binary digit pour
désigner le chiffre binaire ;
 Le Mark 1 ou ASCC (Automatic Sequence Controlled Calculator) fût
développé en 1941 conjointement par IBM et Harward. Il s'agissait d'une
énorme machine de 5 tonnes, couvrant 25 m 2 et consommant 25 kW. Il
comptait 3000 relais et 760000 pièces mécaniques ;
 En 1945, un insecte (bug) coince un relais, provoquant un
dysfonctionnement de l'ASCC et donnant naissance au terme bug pour
designer la panne informatique.

3. L'ère de l'électronique

L'ère de l'électronique
On peut découper cette période en 4 grandes phases :
Les évolutions de la première génération :
 En 1945 l'ENIAC (Electronic Numerical Integrator And Calculator/Computer)

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


10 2011-2012
Histoire de l'informatique

proposé en 1942 par Presper Eckert et John Mauchly est mis en service.
John von Neumann, consultant sur l'ENIAC, proposa de coder le programme
sous forme numérique et de l'enregistrer en mémoire, avec un gain en
souplesse et rapidité. Il jetait ainsi les bases de l'architecture de l'ordinateur
moderne qui portera son nom;
 En 1947 Bell Telecom invente le transistor ;
Le transistor annonça la seconde génération des ordinateurs
 En 1955 le premier ordinateur utilisant des transistors ( TRADIC de Bell) est
crée. A la même époque, IBM commercialisa le premier disque dur (5
disques de 61 cm de diamètre pour 5 Mo). Les mémoires à tore de ferrite
étaient également disponibles. Le PDP-8 de DEC fut le premier mini-
ordinateur à être diffusé en grande série (50000 exemplaires) ;
 En 1958 le premier circuit intégré est crée par Texas Instrument
 En 1964 il y a création du langage de programmation BASIC
 En 1969 commencent les Systèmes d'exploitation par MULTICS puis UNIX de
Bell
La troisième génération, à partir de 1970, correspond à l'utilisation des circuits
intégrés.
 En 1971 sort ARPANET (ancêtre d'internet). Cette même année il y a la
création du premier microprocesseur d'Intel nommé 4004. Il prenait 4 bits
et exécutait les tâches à 108 KHz et était composé de 2300 transistors en 10
microns. En 1972 Intel sort le processeur 8008 qui prenait 8 bits,
séquençait à 200 KHz, et comprenait 3500 transistors
 En 1972 Bill Gate et Paul Allen fondent Traf-of-Data
 En 1973 c'est l'Invention du C pour le développement d'UNIX
 En 1974, Le français François Moreno invente la carte à puce
 En 1974, Motorolla commercialise son premier processeur le 6800, qui
prenait 8 bits
 En 1975 Traf-of-data devient Micro-Soft
 En 1976 Steve Jobs et Steve Wozniak commercialisent l'Apple Computer
 En 1978 Intel lance son 8086 de 16 bits et 4.7 Mhz comprenant 29000
transistors à 3 microns
 En 1980 IBM confie le développement du système d'exploitation de sa future
machine, à base du processeur Intel 8086, à Micro-Soft, qui sera appelé
QDOS puis 86-DOS et enfin MS-DOS
A partir de 1980 le niveau d'intégration des puces ayant largement progressé en
surface et en densité on parle de 4ème génération
 En 1982 Intel commercialise le 80286 de 16 bits, 6 MHz, et 134000
transistors
 En 1984 Apple sort le MacIntosh avec une interface graphique conviviale
 En 1985 Intel commercialise le processeur 80386 de 32 bits
 En 1989 Tim BERNERS-LEE invente le HTML
 En 1990 on voit les Pc en réseau, et le système d'exploitation Windows 3.0
 En 1991 Linus TORVALDS invente Linuxente
 En 1993 sort le premier processeur Pentium
 En 1995 système d'exploitation le Windows 95 sort et est vendu en 1 million
d'exemplaires en 3 jours
 En 1998 sort Windows 98 et iMac
 En 2000 apparaît les premiers Pentium IV

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 11
Histoire de l'informatique

C. Les grands types d'architecture

L'ordinateur est constitué essentiellement du processeur, de la mémoire et des


périphériques d'entrées/sorties. Ces parties sont reliées entre elles par des bus.
 Le processeur est le cerveau de l'ordinateur ; c'est lui qui traite toutes les
informations. Plus il est capable de traiter simultanément des informations
plus il est puissant ;
 La mémoire est un dispositif capable de stocker des informations
(instructions et données) de telle sorte que l'ordinateur puisse à n'importe
quel moment accéder à l'information dont il a besoin. Les informations
peuvent être écrites ou lues. Il y a écriture lorsqu'on enregistre des données
en mémoire, et lecture lorsqu'on sort des informations précédemment
enregistrées. La lecture peut être destructive (l'information lue n'est plus en
mémoire) ou non ;
 On peut organiser les périphériques en familles de périphériques selon
plusieurs terminologies :
- Suivant leurs relations à l'ordinateur on peut les classer en :
 périphériques d'entrées qui fournissent des informations à
l'ordinateur: clavier, souris, scanner, microphone, webcam...
 périphériques de sorties qui retournent des informations de
l'ordinateur : écran, imprimante, haut parleur, ...
 périphériques d'entrées et de sorties qui assurent les deux rôles :
Graveur de CD/DVD, clé usb
- Suivant leurs positionnements vis à vis de l'ordinateur on peut les classer
en :
 périphériques internes qui sont intégrés dans l'unité centrale :
lecteurs de disque dur, de cd/dvd, graveur de cd/dvd ;
 périphériques externes qui sont raccordés à l'unité centrale:
imprimante, scanner, clé usb, lecteur de disques internes.
Les périphériques ont également besoins de pilotes (programme permettant
au système d'exploitation de reconnaître et faire fonctionner un
périphérique) pour fonctionner.
 Le bus est un moyen de communication entre les différents éléments de
l'ordinateur . Il s'agit en général d'un ensemble de fils électriques. Les
différents éléments sont reliés au bus par des connecteurs, dont l'ensemble
constitue un fond de panier. Chaque emplacement (slot) du fond de panier
(backplane) peut recevoir une carte électronique (board). Sur un bus
circulent différents types de signaux : adresses, données, contrôle,
alimentations, etc...

1. Le modèle Neumann

Le modèle Neumann
En 1946, J. Von Neumann a décrit un modèle de machines universelles sur lequel
s'appuient les machines actuelles. Selon ce modèle un ordinateur est composé :
 d'une mémoire qui contient les programmes et les données ;
 d'une unité arithmétique et logique (UAL ou ALU) qui effectue les calculs ;
 d'une unité d'entrées/sorties (E/S ou I/O pour Input/output) pour l'échange
d'informations avec les périphériques ;
 et d'une unité de commande (UC) pour le contrôle,

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


12 2011-2012
Histoire de l'informatique

 et d'un bus pour relier les différentes parties


L'E/S peut être implémenté suivant 3 grands schémas :
 l'E/S est directement reliée au processeur : dans ce cas la communication
est réalisée à l'aide d'instructions spécialisées ou par l'intermédiaire de
registres spécialisés ;
 l'E/S est connectée au bus: alors un fil spécialisé du bus indique si le
processeur s'adresse à la mémoire ou à l'interface d'E/S ;
 l'E/S est vue par le processeur comme une partie de la mémoire : dans ce
cas il faut que l'E/S soit sur le bus commun, le choix de l'adresse indique si
le processeur s'adresse à la
mémoire ou à l'interface.

Remarque : Rapidité du modèle de Neuman


La rapidité d'une machine sera définie par l'élément le plus lent. C'est pourquoi il ne
sert à rien d'avoir un processeur très rapide si la mémoire n'est pas capable de lui
fournir à un rythme suffisant les instructions à exécuter, ni les données à traiter. De
manière générale lorsqu'on améliore les performances d'un élément de la machine
il faut s'assurer que les autres éléments qui lui sont connectés seront capables de
supporter des débits plus élevés. Dans le cas contraire il peut être favorable de
revoir l'architecture de la machine. L'efficacité d'un ordinateur est directement liée
au débit des informations (instructions et données) qui circulent entre les différents
éléments. La conception d'une architecture a pour but d'optimiser ce débit, en
prenant en compte des contraintes financières, commerciales et techniques.

2. Le modèle Harvard

Principe du modèle Harvard


Le modèle Harvard sépare physiquement la mémoire des instructions et la mémoire
de données en rendant accessible chacune par un bus différent. Il est alors possible
d'accéder simultanément aux instructions et aux données, ce qui permet
d'augmenter le flux des informations approximativement par deux, en multipliant
par deux la vitesse du processeur tout en conservant le même type de mémoire. En
pratique il peut être moins onéreux de mettre deux bus dans une machine que de
doubler la vitesse de la mémoire.
Cette architecture peut être également implémentée par l'intermédiaire de deux
caches mémoires dans l'architecture de microprocesseurs. Le 68030 fut l'un des
premiers à disposer de deux caches consacrés l'un aux instructions et l'autre aux
données.
Chercher à pouvoir effectuer plusieurs opérations (ici transferts des instructions et
des données) en parallèle est un principe très souvent mis en œuvre en
architecture des ordinateurs. Par exemple, pour permettre aux interfaces d'E/S de
lire ou d'écrire des données en mémoire pendant que le processeur effectue des
calculs sur les données précédentes, il est intéressant d'utiliser une mémoire de
données accessible depuis deux ports différents. De cette façon le processeur et
l'interface peuvent chacun accéder alternativement à une moitié différente de la
mémoire :
 Phase 1 : le processeur lit des données provenant de la première moitié de
la mémoire pendant que l'E/S range de nouvelles données dans la seconde
moitié ;
 Phase 2 : le processeur accède aux données transférées par l'E/S lors de la
phase 1 et l'E/S écrit dans la première moitié de la mémoire.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 13
Histoire de l'informatique

D. Quelques périphériques d'entrées/sorties

A l'intérieur de l'unité centrale on a la carte mère qui assure la connexion entre les
périphériques internes et externes et l'ordinateur. C'est une sorte de matrice
constituée d'une carte comportant des circuits imprimés et sur laquelle viennent se
connecter les périphériques. Sur la carte mère on a le processeur, les connecteurs
de mémoire vive où viennent s'implanter les barrettes mémoires, de disques (IDE,
ATA) où viennent se connecter les lecteurs de disques/disquettes/CD/DVD et de
cartes additionnelles qui apportent d'autres fonctionnalités (carte vidéo, son,
réseau, modem, ...).

1. Le disque dur

Le disque dur
Le disque dur est une mémoire de masse qui est l‘élément de stockage de
l'ordinateur, que l'on peut appeler également la « mémoire à long terme ». C‘est lui
qui contient le système d‘exploitation, les programmes et les fichiers de données.
Le premier disque dur a été créé par IBM en 1950.
Le disque dur est composé de plusieurs disques de métal appelés plateaux. Ces
derniers sont eux-mêmes recouverts de matériaux magnétiques sur lesquels sont
stockées les données. Chaque face du plateau est composée de têtes de
lecture/écriture montées sur des bras de lecture.
Les principales caractéristiques d'un disque dur sont :
 sa capacité qui est le volume de données pouvant être stocké sur celui-ci.
Aujourd'hui les capacités classiques vont de 500 Go à 1 To ;
 sa vitesse de transfert qui est la vitesse d'échange des données avec
l'unité centrale ;
 sa vitesse de rotation qui est la vitesse à laquelle tournent les plateaux.
La vitesse standard est de 7200 tours/mn. Certains disques plus
performants tournent à 15000 tours, ce qui donne une performance
supérieure.
 son interface est le type de connecteur qui permet de le raccorder à l'unité
centrale. Le standard du moment est le SATA (Serial ATA) qui est représenté
par un connecteur à 7 broches. Mais il y a aussi le standard IDE (connecteur
à 34 broches) qui représente l'ancienne version.
Il existe des mémoires vives ou RAM (Random acces Memory) très rapides qui
servent de zones de transfert temporaire des données entre le disque dur et le
processeur et qui perdent les données lorsque l'ordinateur est éteint. Plus la
capacité de la mémoire RAM est grande plus l'ordinateur pourrait lancer des
programmes simultanément.

2. Les imprimantes

Les imprimantes
Il y a trois grandes familles d'imprimantes :
 Les imprimantes matricielles : ce sont les anciens modèles encore
utilisés dans certaines entreprises pour l'édition de factures ou de bons de
livraison. L'impression est réalisée à l'aide d'aiguilles qui frappent le papier à
travers un ruban encreur. L'avantage de cette technique est qu'il est

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


14 2011-2012
Histoire de l'informatique

possible d'imprimer plusieurs exemplaires (jusqu'à 7) grâce à l'utilisation


d'un papier carboné. Cette technologie beaucoup utilisée dans les années 90
disparaît néanmoins de plus en plus ;
 Les imprimantes à jet d'encre : c'est la technologie la plus connue
aujourd'hui dans le milieu domestique. Elles ont été les premières
imprimantes à amener le coût pour l'impression couleur accessibles au
particulier. L'encre est projetée sur une feuille de papier sous forme de fines
gouttelettes. Ces imprimantes sont peu utilisées en entreprise du fait d'un
coût à la page très élevé et d'une certaine fragilité ;
 Les imprimantes laser : est la technologie la plus utilisée dans les
entreprises et qui est similaire à celle d'un photocopieur. Techniquement, un
laser dessine la page à imprimer sur un tambour photosensible, la feuille
chargée électriquement récupère l'encre sur un tambour puis l'encre est
fixée sur la feuille à l'aide d'un système de chauffage. Aujourd'hui il existe
également toute une gamme d'imprimante laser couleur.

3. Le disque dur externe

Le disque externe
Il s'agit de disques durs qui sont intégrés dans une boîte et muni de connecteur le
plus souvent USB. Comme caractéristiques on peut citer:
 le format qui correspond à la taille physique du disque dur: 2 pouces 1/2 ou
3 pouces 1/2;
 la taille de données qu'il peut contenir. Les tailles les plus courantes
aujourd'hui étant :
- Entre 500 Go à plus du To pour les 3 pouces 1/2 ;
- Entre 300 Go jusqu'au To pour les 2 pouces 1/2.
Les petits disques 2 pouces 1/2 ont l'avantage d'être auto alimentés par le port
USB et ne nécessite donc pas de prises secteur contrairement aux disques 3 pouces
1/2.

* *
*

En somme il y a différentes façons d'appréhender l'ordinateur et cela tient au fait


que des évolutions et découvertes dans l'histoire qui ont conduit aux ordinateurs
ont nécessité la contribution de plusieurs domaines de connaissance :
mathématiques, mécanique, électromécanique, automatique, électronique, et etc.
Nous avons présenté les grands traits de l'ordinateur d'aujourd'hui et dans la suite
nous abordons son fonctionnement.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 15
Représentation
III -

III
des nombres

Codage 17
Systèmes de numérotation 22

L'ordinateur ne comprend que les données binaires ; il est donc nécessaire d'établir
des codages qui permettent de transformer les données du monde réel en données
binaires et vice-et-versa. Il est également nécessaire de définir de nouvelles
méthodes de calcul sur ces données binaires afin de pouvoir effectuer les
traitements ordinaires du monde réel. Dans cette partie nous abordons la
représentation des données et les calculs de base qui sont faits par l'ordinateur.

A. Codage

1. Notions de base

Définition : Alphabet, caractère et mot


On appelle alphabet, un ensemble fini de symboles.
Chaque symbole d'un alphabet est aussi appelé caractère. Et une suite de
caractères est appelé mot.

Exemple : Exemple d'alphabets et de mots


 Pour l'alphabet Chiffre={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, 23, 234, 03 sont des
mots;
 Pour l'alphabet Lettre={a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
v, w, x, y, z}, bac, faute, architecture sont des mots.

Définition : Codage de l'information


Soit I={i1, i2, ..., in} un ensemble d'informations et A={a1, a2, ..., am} un alphabet.
Coder I sur la base de A revient à associer à chaque information i k=1, ..., n de I un mot
de A.

Exemple : Exemple de codes


Soit I={Bambara Arnaud, Compaore Alimata, Fofana Malick} et soit A={0,1}

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 17
Représentation des nombres

Une façon de coder I serait d'attribuer à :


 Bambara Arnaud 01 ;
 Compaore Alimata 10 ;
 et Fofana Malick 11.

Quelques propriétés des codes


 Un code est redondant si un élément de I peut correspondre à plusieurs
mots de l'alphabet (numéro de téléphone d'une personne) et non redondant
(numéro de cnib) sinon ;
 un codage est à longueur fixe quand tous les mots sont représentés par le
même nombre de caractères (matricule) et à longueur variable (code morse)
sinon.

Remarque : Codage d'un nombre


La représentation d'un nombre est un codage mais il ne faut pas confondre le
nombre avec sa représentation. Par exemple la quantité dix peut être représenté
aussi bien par dix, 10, X, A, 1010, ...

2. Représentation d'un nombre dans une base

Définition : Représentation d'un nombre dans une base b


Soit b un nombre (entier strictement supérieur à 1), représenter un nombre n dans
la base b revient à écrire n sous forme de anan-1...a1a0 tel que n= an*bn+an-1*bn-
1
+...+a1*b+a0

Représentation d'un nombre en base 2


Pour la représentation des nombres en base 2 on utilise un alphabet de 2
caractères binaires (appelés bit) {0, 1}.
Tout nombre s'écrit alors comme une suite finie de 0 et/ou 1.

Exemple : Exemples de codes binaires


111012 = 1 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1× 20 = 1610 +810 + 410 + 110 = 2910

Représentation d'un nombre en base 16


Pour la représentation des nombres en base 16on utilise un alphabet de 16
caractères hexadécimaux {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.

Exemple : Exemple de code hexadécimal


01A3D = 0 x 164 + 1 x 163 + 10 x 162 + 3 x 161 + 13 x 160 = 409610 + 256010
+4810 + 1310 = 671710

Le code binaire naturel/pur


Le code binaire naturel ou pur est la représentation classique des nombres en base
2. Ainsi :
 0=0000 ;
 1=0001 ;
 2=0010 ;
 ...

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


18 2011-2012
Représentation des nombres

 12=1100 ;
 15=1111 ;
 ...

Le code Décimal Codé Binaire (BCD/DCB)


Le code décimal codé binaire représente chaque chiffre du nombre
indépendamment et ce sur 4 bits.
Par exemple :
 1=0001 ;
 2=0010 ;
 ...
 12=0001 0010 ;
 15=0001 0101 ;
 ...
Bien que le BCD gâche de l'espace , il facilite la conversion décimal/binaire et il
permet également d'avoir une correspondance immédiate avec les codes de
caractères ASCII représentant les chiffres : il suffit de réaliser un OU logique avec
00110000 (48 en base 10).

Le code de Gray
Le code de Gray ou binaire réfléchi, est un type de codage binaire permettant de ne
modifier qu'un seul bit à la fois quand un nombre est augmenté d'une unité.
 On part sur la base que 0 est codé 0 et 1 est codé 1 ;
 Lorsqu'on a besoin d'un bit supplémentaire, on ajoute un 0 en début puis :
- si le nombre de 1 est pair, il faut inverser le dernier chiffre ;
- si le nombre de 1 est impair, il faut inverser le chiffre situé à gauche du
1 le plus à droite.
Ce code est surtout utilisé pour des capteurs de positions. Par exemple, si on utilise
le code binaire standard, lors du passage de la position un (01) à deux (10), qui
nécessite la permutation simultanée des 2 bits, il y a un risque de passage
transitoire par trois (11) ou zéro (00), ce qu'évite le code de Gray car ne
permettant pas le changement simultané de 2 bits.

3. Détection d'erreur

Pourquoi la détection d'erreur ?


La transformation d'un bit de 1 à 0 et vice et versa est la source de beaucoup
d'erreurs en informatique. C'est la raison pour laquelle on utilise des fois un codage
redondant pour pouvoir corriger d'éventuelles erreurs sur un code.

Exemple : Utilisation du bit de parité


Dans ce codage on va découper l'information par lots de bits (par exemple par
tranche de 8 bits), et on va rajouter un bit par lot de telle sorte qu'il y ait un
nombre de bits à 1 pair dans le lot.
Par exemple on peut avoir des codages comme suite :
 Code initial : 0111 1001 --> Code avec bit de parité 0111 1001 1
 Code initial : 0101 1010 --> 0101 1010 0
Ainsi lorsqu'on récupère l'information, on va compter le nombre de bits à 1 dans
chaque lot et s'il est pair, on va considérer que l'information est correcte sinon
(nombre de bits à 1 impair), on va considérer que l'information a été altérée. Cela

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 19
Représentation des nombres

permet donc de détecter une erreur mais seulement une ; lorsqu'il y a un nombre
d'erreurs pair par exemple le bit de parité n'est plus efficace.
Par exemple si on reçoit des informations comme suit :
 Code reçu : 0111 1001 1--> Pas d'erreur car 6 bits à 1
 Code initial : 0101 1010 1--> Erreur car 5 bits à 1

Exemple : Code de Hamming


Ce code permet de détecter une erreur et seulement une erreur mais aussi de
proposer une correction qui est la plus probable sous certaines hypothèses
statistiques. En effet l'information est découpée en tranche de N bits et on rajoute t
bits tel que t soit le plus petit entier vérifiant 2t-1 >=N+t. Les bits rajoutés,
appelés bits de contrôle, seront entrelacés avec l'information initiale pour donner
N+t bits notés fN+t fN+t-1 fN+t-2 ... f2f1. Les t bits de contrôle seront ceux dont l'indice
est une puissance de 2.
Par exemple codons 1010 suivant le codage de Hamming :
 On a N=4 et on cherche d'abord t tel que 2 t-1 >=N+t donc t=3 car 2 3-1 = 7
=4+3 ;
 On a donc au total 7 bits et on reporte l'information initiale sur les f i de sorte
à laisser les bits de contrôle que sont les f i où i est une puissance de 2 i.e:
f7=1, f6=0, f5=1, f4=?, f3=0, f2=?, f1=?;
 Pour trouver la valeur des bits de contrôle, nous allons former des
ensembles Ei de bits. On écrit alors les entiers de 1 à N+t en base 2 sur t
bits. Comme N vaut 4 et t, 3 on écrit les entiers de 1 à 7en base 2 sur 3 bits
i.e : 001, 010, 011, 100, 101, 110, 111.
Pour chaque Ei on considère la colonne i à partir de la droite pour les 7
nombres et à partir du plus petit nombre (tableau) et si le bit correspondant
est à 1 on retient fj ,où j est le nombre, comme étant dans Ei .
Ainsi E1=f1f3f5f7 =f1011 , E2=f2f3f6f7 = f2001, et E3=f4f5f6f7 = f4 101
 Les bits de contrôle sont tels que le nombre de bits à 1 dans les E i soit pair,
d'où f1 = 0 ; f2 = 1, et f4 = 0 ;
 L'information reçue doit donc être 1010 010
Lorsqu'on récupère une information codée suivant le codage de Hamming pour
savoir s'il y a erreur et connaître la correction probable:
 on construit les t ensembles de bits Ei ;
 puis on calcule t bits selon la règle suivante e i=0 si le nombre de bits à 1
dans Ei est pair sinon ei=1. Si aucune erreur ne s'est produite tous les bits e i
doivent être à 0 ;
 on calcule alors la valeur de E=(et ...e1)2.
 Si E est nul alors on en déduit qu'il n'y a pas eu d'erreur ;
 si E n'est pas nul, une erreur s'est produite et la correction selon le code de
Hamming consiste à inverser la valeur du bit fE ;
 Pour récupérer ensuite la valeur de l'information initiale il suffit de supprimer
les bits de contrôle.

Complément : Le code CRC


Le contrôle de redondance cyclique (CRC pour l'anglais Cyclic Redundancy Check)
est un moyen de contrôle d'intégrité des données puissant utilisée dans les
télécommunications. Il consiste à protéger des blocs de données, appelés trames
(ou frames). A chaque trame est associé un bloc de données, appelé code de
contrôle (CRC par abus de langage ou FCS pour Frame Check Sequence dans le cas

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


20 2011-2012
Représentation des nombres

d'un code de 32 bits). Le code CRC contient des éléments redondants vis-à-vis de
la trame, permettant de détecter les erreurs, mais aussi de les réparer.
Le principe du CRC consiste à traiter les séquences binaires comme des polynômes
binaires, c'est-à-dire qu'une séquence de n bits constitue un polynôme de degré
maximal n-1. Par exemple la séquence binaire 0110101001 peut être représentée
sous la forme polynomiale suivante :
M(X)=0*X9 + 1*X8 + 1*X7 + 0*X6 + 1*X5 + 0*X4 + 1*X3 + 0*X2 + 0*X1 +
1*X0
soit M(X)=X8 + X7 + X5 + X3 + X0
ou M(X)=X8 + X7 + X5 + 1
On définit ensuite un polynôme prédéfini appelé polynôme générateur et noté
G(X) connu de l'émetteur et du récepteur. Le choix du polynôme générateur est
fonction de la qualité recherchée : le plus simple est d'utiliser ceux qui sont déjà
définis :
 CRC-12 : X12 + X11 + X3 + X2 + X + 1
 CRC-16 : X16 + X15 + X2 + 1
 CRC CCITT V41 : X16 + X12 + X5 + 1
 CRC-32 (Ethernet) : = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 +
X7 + X5 + X4 + X2 + X + 1
 CRC ARPA : X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3
+1
La détection d'erreur consiste pour l'émetteur à effectuer un algorithme sur les bits
de la trame afin de générer un CRC, et de transmettre ces deux éléments au
récepteur. Il suffit alors au récepteur d'effectuer le même calcul afin de vérifier que
le CRC est valide.
Le code CRC est égal au reste de la division polynomiale de M(X) (auquel on a
préalablement concaténé n bits nuls correspondant à la longueur du CRC) par G(X).

Exemple : Exemple de CRC


Soit M : 1011 0001 0010 1010 et soit G(X) = X 3 + 1 (1001). Etant donné que G(X)
est de degré 3, il faut d'abord ajouter 4 bits nuls à M et avoir
10110001001010100000 qu'on divise alors par 1001.
Le CRC est égal au reste de la division de M par G soit : 0011
Le Message transmis est la concaténation de M et du CRC soit M' :
10110001001010100011

Complément : Réception du CRC et détection d'erreur


A la réception du message si on effectue la division de M' par G, on obtiendra un
reste nul si la transmission s'est effectuée sans erreur.

4. Standardisation des codages

La standardisation du codage
Parce qu'il peut y avoir plusieurs codages possibles des organismes comme l'ISO
ont vu le jour et ont pour rôle de normaliser (édicter les règles et leurs évolutions)
le codage.

Exemple : Code ASCII


Utilisé pour représenter les caractères alphanumériques (caractère et chiffres), le

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 21
Représentation des nombres

code ASCII utilise un octet dont 7 bits de données et 1 bit de parité.

Exemple : Code Unicode


C'est un code récent qui permet de coder la plupart des alphabets. Il utilise 16 bits.

B. Systèmes de numérotation

L'ordinateur ne comprend que le codage binaire qui est lié au type d'impulsions qu'il
peut avoir. Comment arrive-t-il donc à représenter les nombres entiers naturels,
entiers relatifs, et réel. C'est ce que nous tâcherons de voir dans cette partie.

1. Conversion décimale-binaire

Conversion base b vers base 10 (décimale)


Un nombre en base b anan-1...a1a0 équivaut en base 10 au nombre anx bn +an-1 x
bn-1 +... + a1 x b + a0 si c'est une partie entière ; si c'est une partie fractionnaire
cela correspond en base 10 au nombre a1x b-1 +a2 x b-2 +... + an-1 x b1-n + an x b-
n

Conversion base 10 vers base b


Soit A10 un nombre en base 10.
Ce nombre correspond à un nombre en base b anan-1...a1a0 tel que A10 = anx bn
+an-1 x bn-1 +... + a1 x b + a0.
Les ai sont tels que A10 = (((anx b +an-1 ) x b +... )x b + a1 ) x b + a0
En fait les ai sont les restes successives des divisions euclidiennes de A par b puis
des quotients de A par b par b.
Lorsqu'il s'agit d'une partie fractionnaire A10 = a1x b-1 +a2 x b-2 +... + an-1 x b1-n +
an x b-n et les ai sont tels que A10 = ( a1 + (a2 + ( +... + (an-1 + an x b-1 ) x b-1 )
x b-1 ) x b-1 )
Dans ce cas les ai sont les parties entières successives des multiplications de A par
b puis des produits de A par b par b.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


22 2011-2012
Représentation des nombres

Exemple : Conversion de 504 en base 2


 a0 = 504%2 = 0 ;
 a1 = (504/2)%2 = 252%2 = 0 ;
 a2 = (252/2)%2 = 126%2 = 0 ;
 a3 = (126/2)%2 = 63%2 = 1 ;
 a4 = (63/2)%2 = 31%2 = 1 ;
 a5 = (31/2)%2 = 15%2 = 1 ;
 a6 = (15/2)%2 = 7%2 = 1 ;
 a7 = (7/2)%2 = 3%2 = 1 ;
 a8 = (3/2)%2 = 1%2 = 1 ;
donc 50410 = 1111110002

Exemple : Conversion de 0.875 en base 2


 a1 = [0.875 x 2]= 1;
 a2 = [0.75 x 2] = 1;
 a3 = [0.50 x 2] = 1;
donc 0.87510 = 11102

2. Représentations des nombres négatifs

Signe et valeur absolue du nombre


Pour pouvoir représenter les nombres négatifs avec n bits, on réserve le bit de
poids fort (an) pour désigner le signe (positif à 0 et négatif à 1) et les autres n-1
bits pour représenter la valeur absolue du nombre.
Ainsi avec n bits on peut représenter les nombres relatifs [-2n-1+1, 2n-1-1]

Exemple : Représenter les nombres relatifs avec 3 bits


On a alors l'intervalle [-3, 3] ([-23-1+1, 23-1-1]) et les nombres sont :
 000=0 ;
 001=1 ;
 010=2 ;
 011=3 ;
 100=-0 ;
 101=-1 ;
 110=-2 ;
 111=-3.

Complément à 1
Dans cette notation, on inverse (1 à 0 et 0 à 1) les bits de la partie "valeur absolue"
du nombre négatif tel que la somme (bit à bit) des codes du nombre négatif et de
sa valeur absolue est égale à 2n-1.
Avec n bits on peut représenter les nombres relatifs [-2n-1+1, 2n-1-1].

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 23
Représentation des nombres

Exemple : Représenter les nombres relatifs avec 3 bits


On a alors l'intervalle [-3, 3] ([-23-1+1, 23-1-1]) et les nombres sont :
 000=0;
 001=1;
 010=2;
 011=3;
 111=-0;
 110=-1;
 101=-2;
 100=-3.

Complément à 2
Dans cette notation, on inverse (1 à 0 et 0 à 1) les bits de la partie "valeur absolue"
du nombre négatif tel que la somme (bit à bit) des codes du nombre négatif et de
sa valeur absolue est égale à 2n.
Avec n bits on peut représenter les nombres relatifs [-2n-, 2n-1-1].

Exemple : Représenter les nombres relatifs avec 3 bits


On a alors l'intervalle [-4, 3] ([-23-1, 23-1-1]) et les nombres sont :
 000=0;
 001=1;
 010=2;
 011=3;
 100=-4;
 101=-3;
 110=-2;
 111=-1.

Notation excédentaire
Dans cette notation sur n bits, on ajoute la valeur d'un excès N, généralement 2n-1,
de telle sorte que si A est négatif et B est sa valeur absolue A=N-B.
Les intervalles de valeurs qu'on peut représenter sont alors [-N, N-1] et pour
pouvoir représenter un nombre négatif A, il faut que A>=-N
Ainsi la notation excédentaire 2n-1 permet de représenter les nombres sur 3 bits
comme suit :
 000=-4;
 001=-3;
 010=-2;
 011=-1;
 100=0;
 101=1;
 110=2;
 111=3.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


24 2011-2012
Représentation des nombres

3. Représentation des nombres réels


Principe de notation
On peut adopter trois types de codage pour les nombres réels :
 une notation à virgule fixe ;
 une notation en forme de couple (numérateur, dénominateur) ;
 une notation à virgule flottante.

Notation à virgule flottante


C'est la plus utilisée. Le nombre réel est de la forme signe mantisse x base exposant
où signe = + ou - .
Mais on peut avoir plusieurs représentations de cette façon et c'est pourquoi il est
nécessaire d'établir des standards.
En général pour une base b :
 la mantisse m est dans l'intervalle [1, b[;
 la représentation de 0 (zéro) peut être exceptionnelle ;
 la précision et l'intervalle des valeurs dépendent du nombre de bits destinés
à la mantisse et à l'exposant.
La norme la plus utilisée pour représenter les réels est IEEE754 et se définit comme
suit :
 la mantisse est dans l'intervalle [1.02, 10.02[ ([1.010, 2.010[);
 le 1 à gauche de la virgule n'est pas pris en compte ;
 l'exposant est codé avec un excédent de 127 pour la simple précision, 1023
pour la double précision et 16383 pour la précision étendue ;
 les nombres sont codés sur 32 bits (simple précision) ou sur 64 bits (double
précision) ou encore sur 80 bits (précision étendue):
- Simple précision : la notation est SEM où S = 1 bit, E = 8 bits, et M = 23
bits et le nombre est (-1)S 1,M x 2E-127 ;
- Double précision : la notation est SEM où S = 1 bit, E = 11 bits, et M =
52 bits et le nombre est (-1)S 1,M x 2E-1023 ;
- Précision étendue : la notation est SEM où S = 1 bit, E = 15 bits, et M =
64 bits et le nombre est (-1)S 1,M x 2E-16383 ;
La notion de précision exprime la différence entre deux réels consécutifs avec la
notation car le codage des réels est approximatif.

Exemple : Codage de -5(simple précision)


Ici S=1
5=1,25 x 4
e=4= 22 = 2129-127 = 1000 0001
m = 0,25= 2-2 = 010 0000 0000 0000 0000 0000
d'où -5 = 1100 0000 1010 0000 0000 0000 0000 0000

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 25
Algèbre de Boole
IV -

IV
et Portes logiques

Généralités 27
Portes logiques de base 29
Fonctions logiques 34

A. Généralités

Georges Boole (1815-1864) a définit les prémices de ce qui est aujourd'hui appelé
algèbre de Boole. Une algèbre de Boole est constituée :
 d'un ensemble E
 deux éléments particuliers de E : 0 et 1
 deux opérations binaires sur E : + et
 une opération unaire sur E : -

1. Axiomes de l'algèbre de Boole

Définition : Commutativité
soient a,b deux caractères de E, l'addition et la multiplication sont commutatives
parce que :
 a+b=b+a
 ab=ba

Définition : Associativité
soient a,b et c trois caractères de E, l'addition et la multiplication sont associatives
parce que :
 a+(b+c)=(a+b)+c
 a(bc)=(ab)c

Définition : Distributivité
soient a,b et c trois caractères de E, l'addition est distributive par rapport à la
multiplication et vice et versa parce que :
 a(b+c)=ab+ac

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 27
Algèbre de Boole et Portes logiques

 a+(bc)=(a+b)(a+c)

Définition : Élément neutre


L'élément neutre de l'addition est 0 car a+0=a et l'élément neutre de la
multiplication est 1 car a1=a

Définition : Complémentation
La somme d'un nombre et de son complément vaut 1 tandis que le produit d'un
nombre et de son complément vaut 0

2. Théorèmes de l'algèbre de Boole

Théorème de l'idempotence
Si a est un caractère de E, a+a=a et aa=a
Démonstration que aa=a
aa = aa + 0
aa = aa + aComplement(a)
aa = a(a + Complément(a))
aa = a1
aa = a
Démonstration que a+a=a
a+a = (a+a)1
a+a = (a+a) (a+ Complement(a))
a+a = a+(aComplément(a))
a+a = a + 0
a+a = a

Théorème de l'absorption
Si a et b sont deux caractères de E, a+ab=a et a(a+b)=a
Démonstration en montrant que a+ab=a(1+b)= a1 et que a(a+b)=aa+ab=a+ab

Théorème de De Morgan ou de la dualité


Si a et b sont deux caractères de E alors
Complément(a + b)=Complément(a).Complément(b) et
Complément(ab)=Complément(a)+Complément(b)

Éléments absorbants
Si a est un caractère de E alors, a+1=1 et a0=0. 1 est appelé élément absorbant
de l'addition et 0 celui de la multiplication.

3. Algèbre de Boole et interprétation dans le monde


binaire

Interprétation usuelle
E = {0,1} peut être interprétée comme suit
 1 = Vrai
 0 = Faux

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


28 2011-2012
Algèbre de Boole et Portes logiques

 += OU (disjonction logique)
 . = ET (conjonction logique)
 – = NON (négation logique)

Interprétation électrique
On peut aussi interprété l'algèbre de Boole comme suit :
 1 => le courant passe
 0 => le courant ne passe pas
 + => le courant passe si au moins une des entrées est à 1
 – => le courant passe si les 2 entrées sont à 1
 – => le courant inverse

B. Portes logiques de base

Une fonction logique est une fonction qui opère sur des données booléennes et qui
peut être représentée par une table de vérité ou par une expression booléenne.
Une table de vérité permet de donner pour toutes les combinaisons possibles des
variables logiques en entrée les résultats d'une fonction logique. Les différentes
opérations logiques de base sont représentés par des circuits électriques qu'on
appelle porte logique .

1. Porte NON

Porte NON

A Y
0 1
1 0

Notation : Complément(a)

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 29
Algèbre de Boole et Portes logiques

2. Porte ET
Porte ET

A B Y
0 0 0
0 1 0
1 0 0
1 1 1

Notation : a et b ou a.b ou ab

3. Porte OU

Porte OU

A B Y
0 0 0
0 1 1
1 0 1
1 1 1

Notation : a ou b ou a+b

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


30 2011-2012
Algèbre de Boole et Portes logiques

4. Porte NAND
Porte NAND

A B Y
0 0 1
0 1 1
1 0 1
1 1 0

Notation : Complément(a.b)

5. Porte NOR

Porte NOR

A B Y
0 0 1
0 1 0
1 0 0
1 1 0

Notation : Complément (a+b)

Remarque : Les portes NOR et NAND


Les portes NAND et NOR sont dites complètes car on peut réaliser n'importe quelle
fonction booléenne avec l'une ou l'autre. Par ailleurs elles sont faciles à fabriquer et
sont à la base de la plupart des circuits intégrés des ordinateurs actuels.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 31
Algèbre de Boole et Portes logiques

6. Porte XOR
Porte XOR

A B Y
0 0 0
0 1 1
1 0 1
1 1 0

Notation : a (+) b

7. Portes à trois états

Portes à trois états


La porte "3 états", n'est pas une porte logique au sens strict. Elle est
principalement utilisée pour connecter une sortie sur une ligne commune à
plusieurs circuits . Une porte 3 états est schématisée sur la figure suivante :

A C Y
0 1 0
1 1 0
X 0 Déconnectée

Lorsque la ligne C est à 0 la porte est pratiquement déconnectée. Les portes "3
états" sont utilisées aussi pour une amplification de puissance.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


32 2011-2012
Algèbre de Boole et Portes logiques

C. Fonctions logiques

Les portes logiques de base sont des fonctions logiques. Une fonction logique peut
être définie par une expression booléenne ou une table de vérité.
Une expression booléenne est un terme construit à partir de :
 variables booléennes
 d'opérateur booléens
Considérons par exemple la fonction majorité qui peut être définie par l'expression
booléenne : majorité(a, b, c) =Complément(a)bc + aComplément(b)c +
abComplément(c) + abc.
Sa table de vérité est :

A B C Y
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 1

Elle peut aussi être représentée à l'aide de portes logiques comme sur la figure
suivante :

1. Écritures canoniques d'une fonction logique

Somme canonique de produits


Considérons trois variables booléennes x,y et z. A partir de ces trois variables nous
pouvons construire huit produits logiques (ou minterms) Pi=0,7 faisant intervenir x ou
Complément(x) , y ou Complément(y) et z ou Complément(z) . Pour chacune des
huit combinaisons Ci=0,7 (000, 001, 010, ..., 111) des variables x, y et z, nous
pouvons calculer les valeurs de ces produits comme dans la table suivante :

Chaque produit Pi vaut 1 uniquement pour la combinaison Ciet 0 pour les autres

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 33
Algèbre de Boole et Portes logiques

combinaisons.
Pour toute fonction logique de trois variables x, y et z, nous pouvons écrire sa table
de vérité .
Considérons, par exemple, la fonction majorité dont la table de vérité est déjà
donnée. Elle prend la valeur 1 pour les combinaison C 3, C5, C6 et C7 et la valeur 0
pour toutes les autres combinaisons comme les produits P 3, P5, P6 et P7 nous
pouvons donc écrire que majorité(x,y,z) = P3+ P5 + P6 + P7 =
Complément(x)yz + xComplément(y)z + xyComplément(z) + xyz.
Cette façon d'écrire une fonction booléenne est appelée somme canonique de
produits.

Produit canonique de sommes


Considérons toujours nos trois variables binaires x, y et z. Nous pouvons aussi
définir huit sommes logiques des trois variables faisant intervenir x ou
Complément(x) , y ou Complément(y) et z ou Complément(z) comme dans la table
suivante :

Nous constatons que chacune de ces fonctions prend la valeur 0 pour une et une
seule combinaison.
Considérons encore la fonction majorité ; Elle prend la valeur 0 pour les
combinaison C1, C2, C4 et C0 et la valeur 1 pour toutes les autres combinaisons
comme les sommes S0, S1, S2 et S4 nous pouvons donc écrire que majorité(x,y,z)
= S0. S1 . S2 . S4 =(x+y+z) . (x+y+Complément(z)) . (x+Complément(y)+z) +
(Complément(x)+y+z).
Cette façon d'écrire une fonction booléenne est appelée produit canonique de
sommes et est moins utilisée que la somme canonique de produits.

2. Simplification de l'écriture des fonctions logiques

Simplification algébrique
On peut simplifier une fonction par manipulation algébrique en utilisant par
exemple les axiomes de l'algèbre de Boole. Considérons la fonction majorité définie
par sa somme canonique de produit majorité(x,y,z)= Complément(x)yz +
xComplément(y)z + xyComplément(z) + xyz.
Nous pouvons écrire :
majorité(x,y,z)=Complément(x)yz + xComplément(y)z + xyComplément(z) + xyz
majorité(x,y,z)=(Complément(x)yz + xyz) + (xComplément(y)z + xyz) +
(xyComplément(z) + xyz)
majorité(x,y,z)=yz (Complément(x)+ x) + xz(Complément(y) + y) +xy

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


34 2011-2012
Algèbre de Boole et Portes logiques

(Complément(z) +z)
majorité(x,y,z)=xy + yz + xz
Par contre la simplification algébrique n'est pas toujours très aisée à mettre en
œuvre. Il existe une autre méthode très utile pour un nombre de variables inférieur
à 6.

Tableaux de Karnaugh
Si une fonction logique prend en entrées n variables il y a 2n minterms possibles. Le
tableau de Karnaugh permet de représenter chacun de ces minterms par une case
dans un tableau. Les figures suivantes donnent la structure des tableaux de
Karnaugh pour 2, 3, 4 et 5 variables

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 35
Algèbre de Boole et Portes logiques

Chaque case d'un tableau de n variables a toujours n voisins qu'il faut


éventuellement chercher à l'autre extrémité de la ligne ou de la colonne. En fait les
voisins correspondent aux éventuelles positions suivantes dans un code de Gray.
Pour passer de la table de vérité au tableau de Karnaugh on remplit chaque case du
tableau de Karnaugh avec la valeur de la fonction pour le produit correspondant. Il
est possible de ne copier que les 1.
La méthode de simplification de Karnaugh consiste à rassembler les cases voisines
contenant des 1 par groupes de 2, 4 ou 8 termes.
Dans un groupement de termes on élimine les variables qui changent d'état et on
conserve le produit des variables qui ne changent pas.
On cherche ainsi à avoir le minimum de groupements, chaque groupement
rassemblant le maximum de termes.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


36 2011-2012
Algèbre de Boole et Portes logiques

Une même case peut intervenir dans plusieurs groupements car C + C = C. Par
contre pour les cases isolées on ne peut éliminer aucune variable ; on conserve
donc le produit
caractérisant la case.
L'expression logique finale est la réunion des groupements après élimination des
variables qui changent d'état.

Exemple : Fonction majorité


Reprenons l'exemple de la fonction majorité définie précédemment. La figure
suivante donne le tableau de Karnaugh correspondant :

Il y a trois groupements de deux termes dont la somme est :


majorite(x,y,t)=xy+xt+yt

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 37
Arithmétique des
V-

V
ordinateurs

Opérations sur les binaires purs 41


Opérations sur les binaires en complément à 2 44
Opérations sur les binaires dans la norme IEEE754 47

Les opérations en binaire s'effectuent à peu près comme en base 10.

A. Opérations sur les binaires purs

L'addition et la soustraction se font bit à bit du bit de poids faible au bit de poids
fort en propageant la retenue.
La multiplication est une succession d'additions et la division une succession de
soustractions.

1. Addition

Addition
Soit a et b deux bits l'addition de a et b se fait comme suit :
 somme (a + b) = a xor b ;
 retenue (a + b) = a.b

Exemple : 10011 + 00110


100112=1910
001102=610
10011 + 00110 = 11001= 2510

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 39
Arithmétique des ordinateurs

Propagation de la retenue
La retenue se propage depuis les bits de poids faible aux bits de poids fort comme
suit :

Remarque : Débordement ou overflow


Il y a débordement quand le résultat de l'opération n'est pas représentable sur le
nombre de bits des opérandes ; c'est à dire quand il y a une retenue dans
l'opération au niveau des bits de poids fort qui est égale à 1.

Exemple : Exemple de débordement


Dans l'exemple suivant il faut un sixième bit pour pouvoir représenter le résultat.

2. Soustraction

Soustraction
Soit a et b deux bits la soustraction de a et b se fait comme suit :
 reste (a - b) = a xor b ;
 retenue (a - b) = Complément(a).b

Exemple : 111 - 110


1112=710
1102=610
111 - 110 = 001=110

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


40 2011-2012
Arithmétique des ordinateurs

3. Multiplication
Multiplication
La multiplication est la somme des produits du multiplicande par les bits du
multiplicateur. On commence par le produit avec le bit de poids faible du
multiplicateur et on décale d'une colonne à chaque autre bit comme dans l'exemple
suivant

La multiplication bit à bit est identique au ET logique.

4. Division

Division
La division (euclidienne) est une suite de soustractions du diviseur à la dividende
jusqu'à ce que le reste soit plus petit que le diviseur comme dans l'exemple
suivant :

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 41
Arithmétique des ordinateurs

B. Opérations sur les binaires en complément à 2

1. Addition
Addition
Quatre cas sont possibles en fonction du signe des nombres:
1. Les deux nombres sont positifs : dans ce cas-là on effectue une addition binaire
classique ;
2. Le nombre positif est plus grand que la valeur absolue du nombre négatif :
 On effectue une addition binaire classique
 On ne prend pas en compte la dernière retenue sortante (à gauche sur les
bits de poids fort)
 La somme est positive
3. La valeur absolue du nombre négatif est plus grande que le nombre positif :
 On effectue une addition binaire classique
 La somme est négative et représentée directement dans le système
complément à 2
4. Les deux nombres sont négatifs :
 On effectue une addition binaire classique
 On ne prend pas en compte la dernière retenue la plus à gauche
 Le résultat est négatif et déjà représenté dans le système complément à 2

Overflow / dépassement de capacité


Avec les nombres binaires en complément à 2, on parle d'overflow quand les deux
opérandes X et Y sont de même signe , et | X | + | Y | ≥ 2 n−1 ou que leur somme
n'est pas de même signe.

Exemple : Overflow
01111101
00111010
---------------------
10110111

2. Soustraction

Soustraction
La soustraction est considérée comme un cas particulier de l'addition :
 A - B = A + (-B)
 -A - B = (-A) + (-B)
Il suffit donc de représenter (-B) en complément à deux et effectuer directement
une addition.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


42 2011-2012
Arithmétique des ordinateurs

3. Multiplication
Multiplication
Il faut considérer les valeurs absolues des deux nombres puis:
 On effectue la multiplication
 On décide du signe du résultat :
- si les opérandes sont de mêmes signes : le résultat est positif ;
- si les signes des opérandes sont différents : le résultat est négatif
 lorsque le signe du résultat est négatif ; il faut le représenter avec son
complément à 2

4. Division

Division
On considère également les valeurs absolues des deux nombres puis :
1. Initialiser le quotient à zéro.
2. Soustraire le diviseur du dividende (en utilisant l'addition de la dividende
avec le complément à deux du diviseur) pour obtenir le premier reste partiel
;
3. incrémenter le quotient de 1 ;
4. Si le reste partiel est strictement positif aller à l'étape 5 ; Sinon (le reste
partiel est zéro ou négatif) la division est terminée ;
5. Soustraire le diviseur du reste partiel ;
6. incrémenter le quotient de 1. ;
7. Si le résultat est strictement positif, répéter l'opération pour le reste partiel
trouvé ; Sinon la division est terminée.
Si la dividende et le diviseur sont de signes différents il faut prendre le complément
à 2 du quotient.

C. Opérations sur les binaires dans la norme


IEEE754

Lors de calculs arithmétiques sur des nombres au format IEEE, le 1 (un) implicite
avant la virgule est rendu explicite.

1. Arrondi

Type d'arrondi
Il est facile de remarquer qu'avec une opération sur deux nombres flottants, le
résultat est généralement un nombre qui ne peut être exactement représenté
comme un autre nombre flottant. Par exemple, dans un système flottant utilisant la
base 10 6,1 × 0,5= 3,05. Si on veut arrondir cela à deux chiffres. Doit-on arrondir
à 3,0 ou 3,1 ? La norme IEEE arrondit vers le nombre dont le chiffre de poids faible
est pair, i.e. 3,05 est arrondi à 3,0 et non à 3,1. La norme définit quatre modes
d'arrondi :
1. Par défaut, on arrondit au plus proche, qui arrondit vers un nombre pair (Bit
de poids faible ou LSB =0) s'il y a deux valeurs proches;
2. Vers moins l'infini : arrondir à la plus proche valeur la plus petite ;

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 43
Arithmétique des ordinateurs

3. Vers plus l'infini : arrondir à la plus proche valeur la plus grande ;


4. Vers zéro : arrondir à la valeur la plus roche de zéro; on tronque vers le zéro
Ces 4 arrondis correspondent respectivement aux fonctions suivantes (lib math.h) :
 round()
 floor()
 ceil()
 trunc()

Comment arrondir
Soit un nombre binairepnpn-1...p1 anan-1...a1
Pour représenter ce nombre sur n bits il faut déterminer son arrondi. Pour cela
notons P=pnpn-1...p1et A= anan-1...a1 . On appelle bit de garde an (g) et bit
d'arrondian-1(r). Le bit persistant noté s est une disjonction logique des bits qui
seront éliminés pour avoir l'arrondi soit an-2...a1. Notons aussi p le bit de poids
faible du résultat. Le tableau suivant définit comment se fait l'arrondi :

Type d'arrondi Résultat positif (>=0) Résultat négatif (<0)


Au plus proche P + (r ET p) OU (r ET s) P + (r ET p) OU (r ET s)
Vers -infini inchangé (P) P + (r OU s)
Vers +infini P + (r OU s) inchangé (P)
Vers zéro inchangé (P) inchangé (P)

Dans la pratique les k premiers bits dépendent du bit de poids fort :


 Si le bit de poids fort est 0, le bit de garde sera compris dans les k premiers
bits ;
 et si le bit de poids fort est 1, il faut jouer sur l'exposant et on a alors le bit
de garde qui devient bit d'arrondi et le bit d'arrondi qui rentre dans le calcul
du bit persistant.

Exemple : -5*10
En binaire avec p = 4, montrer comment l'algorithme de multiplication calcule le
produit -5 * 10 pour chacun des quatre modes d'arrondi.
- 5 = -1,010*2 2 et 10 = 1,010*23
La multiplication entière des mantisses (avec le 1 avant la virgule) donne
01,100100 soit P = 01,10, A = 0100, g = 0, r = 1 et s = 0.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


44 2011-2012
Arithmétique des ordinateurs

Le bit de poids fort de P est 0 ; P devient donc 1,100 et puisque le résultat est
négatif, on aura les arrondis suivants:
 vers - infini : 1,101
 vers + infini : 1,100
 vers 0 : 1,100
 au plus proche : 1,100

2. Addition

Addition
On considère toute la mantisse et on suit les étapes suivantes :
1. Ramener les deux nombres au même exposant, le plus grand des deux. Pour
cela on décale les bits de la mantisse du nombre ayant le plus petit exposant
d'autant de bits vers la droite que la différence entre les exposants, sans oublier le
1 avant la virgule ;
2. On ajoute ensuite les deux mantisses, en tenant compte du signe (attention ici
les mantisses ne sont pas exprimées en complément à 2) ;
4. Renormaliser le résultat (arrondi, bit de poids fort, exposant)

Exemple : 0 00000111 1000000 00000000 00000000 + 0


00000110 0000000 00000000 00000000
 L'exposant de 0 00000111 1000000 00000000 00000000 est 7-127 soit
-120 et la mantisse 1,1000000 00000000 00000000 ;
 L'exposant de 0 00000110 0000000 00000000 00000000 est 6-127 soit
-121 et la mantisse 1,0000000 00000000 00000000 ;
 Comme 0 00000110 0000000 00000000 00000000 a le plus petit exposant
sa mantisse passe alors de 1,0000000 00000000 00000000 à 0,1000000
00000000 00000000 ;
 Ici les signes sont identiques on additionne alors les mantisses (on aurait
une soustraction si les signes étaient différents) ce qui donne 10,0000000
00000000 00000000 ;
 Il faut renormaliser pour avoir 1,0000000 00000000 00000000 et
augmenter donc l'exposant de 1 i.e -119 ;
 finalement on a alors 0 00001000 0000000 00000000 00000000

Exemple : 1,10011 +1,110001 2^-5


Considérons d'abord la somme des nombres binaires sur 6 bits 1,10011 et
1,110001 2-5. Quand les deux nombres sont décalés de manière à avoir le même
exposant, on a :
1,10011
0,0000110001
---------------------
Si on ne fait les additions que sur 6 bits, en écartant les bits de poids faible du
second nombre, on a :
1,10011
0,00001
--------------------
1,10100

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 45
Arithmétique des ordinateurs

Le premier bit écarté est r=1. Un OU des autres bits donne s=1. Il faut alors
arrondir à 1,10101.

Exemple : 1,11011 + 0,0101001


1,11011
0,0101001
-----------
Il faut écarter 01 et s=1 d'où
1,11011
0,01010
--------------------
10,00101
r=1 et s=1 donc les 6 bits de poids fort de la somme doivent être arrondis pour
donner le résultat final 10,0011.

Exemple : Soustraction
Considérons maintenant la soustraction par l'exemple suivant :
1,00000
-
0,00000101111
----------------------
La manière la plus simple de calculer cela est de convertir -0,00000101111 sous sa
forme en complément à deux, et la différence devient une somme :
1,00000
+
1,11111010001
----------------------
Le calcul sur 6 bits donne alors
1,00000
+
1,11111
---------------------
0,11111
Parce que le bit de tête est nul, le bit de garde doit être réinjecté dans le bit de
poids faible de la somme, qui devient 0,111110 , et le second bit écarté devient le
bit d'arrondi r=1 et le OU de tous les bits restants (0001) permet d'obtenir le bit
persistant s=1. Le résultat final doit être arrondi à 0,111111.

3. Multiplication

Multiplication
On suit les étapes suivantes :
1. Calculer le bit signe : s1 OUX S2 ;
2. L'exposant est la somme des deux exposants (E) moins une fois l'excédent;
3. Effectuer la multiplication des mantisses comme pour les entiers ;
4. Éventuellement, arrondir, ajuster l'exposant et renormaliser.

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


46 2011-2012
Arithmétique des ordinateurs

Exemple : 0 10000000 1000000 00000000 00000000 x 0


10000000 0100000 00000000 00000000
 Le bit de signe est 0;
 L'exposant de 0 10000000 1000000 00000000 00000000 et l'exposant de 0
10000000 0100000 00000000 00000000 sont identiques et valent 128 .
Donc la somme moins l'excédent donne 129
 Les mantisses sont 1,1000000 00000000 00000000 et 1,0100000 00000000
00000000 et leur produit est
1,1000000 00000000 00000000 X 1,0100000 00000000 00000000
=1,0100000 00000000 00000000 X (1+ 0,1)=1,1110000 00000000
00000000;
 Le résultat est alors 0 10000001 1110000 00000000 00000000 soit 7,5
(3*2,5)

4. Division

Division
On suit les étapes suivantes :
1. Calculer le bit signe : s1 OUX S2 ;
2. L'exposant est la différence des deux exposants (plus excédent si E);
3. Effectuer la division des mantisses comme pour les entiers mais en ajoutant
2 bits supplémentaires (bits de garde et d'arrondi). Le reste permet de
définir le bit persistant
4. Éventuellement, arrondir, ajuster l'exposant et renormaliser.

Exemple : 1,000 × 2^3/1,100 × 2^1 sur 4 bits

Le résulat est alors 0,101 × 22


 bit de garde g= 0,
 bit d'arrondi a=1
 bit persistant s=1

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure


d'Informatique, 2011-2012 47
Arithmétique des ordinateurs

Le résultat après normalisation est 1,010 × 21 et celui après arrondi est: 1,011 × 21

Université Polytechnique de Bobo-Dioulasso/ Ecole Supérieure d'Informatique,


48 2011-2012

Vous aimerez peut-être aussi