ARCHITECTURE MATERIELLE
dans un ordinateur digital (pas la marque, le principe), il n'y a. que deux
symboles : " 1 ", " 0 ". on travaille donc en " BASE 2 " ou en " BINAIRE ". * EX :
coder le ...
Part of the document
I HISTORIQUE 1.1 Apparition des calculateurs scientifiques. 1.1.1 définition.
On calcule en faisant l' ANALOGIE entre un nombre et une grandeur
physique, généralement électrique.
Ce sont les " CALCULATEURS ANALOGIQUES ". ( 1950 )
1.1.2 exemple 1.
PY = 31,41592 volts.
1.1.3 exemple 2.
si on veut calculer la valeur de 1 + 2 : on mesure la réponse sur un
voltmètre !
1 volt + 2 volts =
3 volts 1.1.4 inconvénients.
- énorme dissipation de chaleur
- altération du signal (résistance des fils)
- programmation très longue (câblage)
- coût élevé
1.1.5 avantages.
- seul moyen existant alors
- mesure en temps réel 1.2 Apparition de calculateurs digitaux. 1.2.1 définition
La machine ne travaille plus avec plus ou moins de volts
mais en " TOUT OU RIEN " :
il y a du courant : 5 volts il n'y a pas de courant : 0 volts
On représente les grandeurs de calcul en combinant un certain nombre
d'éléments qui peuvent prendre deux états :
1 présence de courant
0 absence de courant
Un élément de ce type est un chiffre binaire, binary digit, ce qui
donne par contraction : « bit » (attention : toujours écrit en
minuscules)
1.2.2 avantages.
Ce mode de fonctionnement apporte beaucoup de sécurité dans les
calculs.
(peu de risque de perte d'information même s'il y a une légère
distorsion du signal)
|tolérances de fonctionnement|ENTREE |SORTIE |
|pour des circuits de type |d'un |d'un |
|TTL |circuit |circuit |
|0 |0,8 V maxi |0,4 v maxi |
|1 |2 V mini |2,4 V mini |
II NUMERATION BINAIRE, HEXADECIMALE. 2.1 Rappel au sujet des bases de numération. 2.1.1 La base 10
1789 = 0 + 1000 + 700 + 80
+ 9
= 0 x 104 + 1 x 103 + 7 x 102 + 8 x 101 + 9
x 100 C'est la base 10 car il y a 10 symboles : 0, 1, 2, ... ,8 ,9
2.1.2 D'autres bases
-
-
* dans un ordinateur digital (pas la marque, le principe), il n'y a
que deux symboles : " 1 ", " 0 ".
on travaille donc en " BASE 2 " ou en " BINAIRE "
* EX : coder le chiffre " 5 " en binaire 5 10 = e x 24 + d x 23 + c x 22 + b x 21 + a x
20
* EX : coder de base 10 en base 2 : 8, 10, 11, 25
coder de base 2 en base 10 : 101010, 1111
coder de base 2 en base 8 : 10101
2.2 Tableau de correspondance entre BASE 2, SYSTEME DECIMAL et HEXADECIMAL. |codage binaire |codage base 10 |codage hexadécimal| |
|23 |22 |21 |20 | | | |
|0 |0 |0 |0 | | | |
|0 |0 |0 |1 | | | |
|0 |0 |1 |0 | | | |
|0 |0 |1 |1 | | | |
|0 |1 |0 |0 | | | |
|0 |1 |0 |1 | | | |
|0 |1 |1 |0 | | | |
|0 |1 |1 |1 | | | |
|1 |0 |0 |0 | | | |
|1 |0 |0 |1 | | | |
|1 |0 |1 |0 | | | |
|1 |0 |1 |1 | | | |
|1 |1 |0 |0 | | | |
|1 |1 |0 |1 | | | |
|1 |1 |1 |0 | | | |
|1 |1 |1 |1 | | | | Pour compter de 0 à 9, il faut ..... bits.
Il y a ..... combinaisons inutilisées, c'est une perte de place !
Si on les utilise, il faut ..... symboles supplémentaires !
.. .. .. .. .. ..
Cette base comporte ... symboles, c'est la base 16,
on l'appelle le SYSTEME HEXADECIMAL, il est couramment utilisé en
informatique.
Quand la machine affiche du binaire, il vaut mieux lire 9FD4 que 1001 1111
1101 0100
2.3 quelques calculs en binaire 2.3.1 l'addition Table de vérité
|+ |0 |1 |
|0 | | |
|1 | | | EXEMPLE
|en binaire |en décimal |en hexa | | |1 | | | | | |
|0 | | |
|1 | | | Exemple
|en binaire |en décimal |en hexa | | | | | | | | |
|0 | | |
|1 | | | Technique identique à la base 10, l'ordinateur, lui, applique un algorithme
particulier qui sera abordé plus loin dans le cours. 2.3.4 la division Table de vérité
|/ |0 |1 |
|0 | | |
|1 | | | Technique identique à la base 10, l'ordinateur, lui, applique un algorithme
particulier qui sera abordé plus loin dans le cours.
III REPRESENTATION DES DONNEES NUMERIQUES EN MACHINE. Les Mathématiques ont donc permis la représentation des nombres entiers
positifs. Physiquement, en machine, on est obligé de fixer une limite à
la représentation de ces données.
Une donnée étant codée sur 8 bits, elle peut varier de 0000 0000 à 1111
1111 soit de 0 à 255 (28, soit 256 valeurs).
Une donnée étant codée sur 16 bits, elle peut varier de 0000 0000 0000
0000 à 1111 1111 1111 1111 soit de 0 à 65535 (216, soit 65536 valeurs).
Problème : comment représenter - les données entières négatives ?
- les données réelles (+ et -) ?
3.1 Représentation des entiers signés. 1 Recherche d'une méthode.
on pourrait faire la différence avec un bit :
1 positif
0 négatif ..... ou l'inverse !!!!
exemple :
9 1 1 0 0 1 ou 0 1 0 0 1 mais si
on fait
-9 0 1 0 0 1 ou 1 1 0 0 1 la somme
0 ............... ..............
l'addition ne marche plus ! il faut trouver quelque chose d'autre !
De plus on aboutit à deux valeurs pour 0, l'une positive, l'autre
négative, consultez votre mathématicien préféré pour voir sa réaction
!!! 3.1.2 proposition :
Si on dispose de 3 bits pour représenter les entiers, on peut compter
de : 000 à 111, on a 8 valeurs.
Il parait intéressant d'avoir la moitié de valeurs positives, la moitié
de valeurs négatives.
On conserve : la combinaison 000 pour la valeur 0,
la combinaison 001 pour la valeur 1,
la combinaison 010 pour la valeur 2.
Quelle est la combinaison de -1 pour que çà marche ?
0 0 1
+ . . . en additionnant 111, on
obtient bien
000, mais il y a un 1 qui « traîne » en
1 0 0 0 4° bit !!!
on avait fixé à trois le nombre de bits disponibles pour représenter
les nombres, ce 1 ne peut donc pas être mémorisé ! c'est ce qu'on
appelle « un dépassement de capacité », on utilise ici une « erreur »
de la machine pour arriver au résultat.
Avec ce système, 0 est codé 000
1 est codé 001
2 est codé 010
3 est codé 011
-1 est codé 111
-2 est codé 110
-3 est codé 101
-4 est codé 100 il n'a pas d'opposé !
Remarques : . les nombres positifs commencent tous par 0, on dit que leur « bit de
poids fort » est à 0 ( Most Signifiant Bit : MSB à 0 ).
. le code binaire qui reste à droite est leur valeur absolue en
binaire.
. les nombres négatifs commencent tous par 1,on dit que leur « bit de
poids fort » est à 1 ( Most Signifiant Bit : MSB à 1 ).
. le code binaire qui reste à droite n'est pas leur valeur absolue en
binaire.
. le nombre 0 fait « artificiellement » partie des nombres positifs.
. on a donc une valeur de plus dans les négatifs.
3.1.3 application avec une capacité de 16 bits.
|TABLEAU DE CORRESPONDANCE SUR 16 BITS |
|Hexadécimal |Binaire |Décimal |
|8000 |1000 0000 0000 0000 |- 32768 |
|8001 |1000 0000 0000 0001 |- 32767 |
| | | |
| | | |
|FFFD |1111 1111 1111 1101 |-3 |
|FFFE |1111 1111 1111 1110 |-2 |
|FFFF |1111 1111 1111 1111 |-1 |
|0000 |0000 0000 0000 0000 |0 |
|0001 |0000 0000 0000 0001 |1 |
|0002 |0000 0000 0000 0010 |2 |
| | | |
| | | |
|7FFE |0111 1111 1111 1110 |32766 |
|7FFF |0111 1111 1111 1111 |32767 | 3.1.4 Bilan pour les nombres entiers :
par exemple, en C++, ces différents types de variables entières sont
autorisés :
le char occupe 8 bits, peut varier de -128 à +127.
le unsigned char occupe 8 bits, peut varier de 0 à +255.
le int des vieux compilateurs 16 bits occupe 16 bits, peut varier de
-32768 à +32767.
le unsigned int des vieux compilateurs 16 bits occupe 16 bits, peut
varier de 0 à +65535.
le int avec un compilateur 32 bits, occupe 32 bits,