Vous êtes sur la page 1sur 38

MINISTRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE

UNIVERSITÉ DE SOUSSE

École supérieure des sciences et de DÉPARTEMENT D’ELECTRONIQUE ET D’INFORMATIQUE


la technologie de Hammam Sousse

Architecture des Microprocesseurs et


Microcontrôleurs
Présenté par :

Parcours : LEA Mme. Randa KHEMIRI


Niveau : 2 randa.khemiri@gmail.com
Semestre : 1 randa.khemiri@essths.u-sousse.tn
AU. 2023/2024
Plan du cours: Architectures des µc & des µp

Chapitre 0_Rappel : Système de Numération et de codage

Chapitre 1 : Les Mémoires

Chapitre 2 : Les Calculateurs

Chapitre 3 : Architecture des Microprocesseurs

Chapitre 4 : Architecture des Microcontrôleurs

Chapitre 5 : Etude du µP 8086

Chapitre 6 : Etude du µC ATMEGA


AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

1 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

1 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

2 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Application

4 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Application

Solution

5 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.1. Conversion d'un nombre de base quelconque vers la base 10

Aussi α et B sont convertis vers la base décimale.


i

Application Convertir (102)3, (753)8, et (A8E)16 vers la base 10.

Solution

6 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.2. Conversion d'un nombre de la base 10 vers une base B quelconque

7 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.2. Conversion d'un nombre de la base 10 vers une base B quelconque

Application

Solution

8 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.2. Conversion d'un nombre de la base 10 vers une base B quelconque

Application

Solution

9 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.3. Conversion d'un nombre d’une base Bi quelconque vers une base Bf quelconque

10 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.3. Conversion d'un nombre d’une base Bi quelconque vers une base Bf quelconque

3.3.1. Conversion rapide de l'octal ou l'hexadécimal vers le binaire

On se sert du tableau ci-contre


afin de convertir en binaire les
chiffres d’un nombre
hexadécimal ou octal.

11 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.3. Conversion d'un nombre d’une base Bi quelconque vers une base Bf quelconque

3.3.1. Conversion rapide de l'octal ou l'hexadécimal vers le binaire

Application

Solution

12 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.3. Conversion d'un nombre d’une base Bi quelconque vers une base Bf quelconque

3.3.2. Conversion du binaire vers l'octal ou l'hexadécimal

Application

Solution

13 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

3.3. Conversion d'un nombre d’une base Bi quelconque vers une base Bf quelconque

3.3.3. Conversion de l’hexadécimal vers l'octal

Pour un nombre Nbr appartenant à la base hexadécimale (Nbr  B16), sa conversion vers la base
octale se fait en passant à travers la base binaire, c’est-à-dire :
• (Nbr)16 → (Nbr')2 (chacun des chiffres sera convertit sur 4 bits)
• (Nbr')2 → (Nbr")8 (chaque 3 bits seront regroupés en paquets)

Exemple
AF(16) =10101111(2) = 257(8)

Remarque
Ces transformations rapides sont très utilisées et pratiquées
surtout lorsqu’on programme en assembleur.
14 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque

Quel que soit le système de numération utilisé, il faut que les valeurs seront converties en
binaires pour être introduites dans le circuit numérique.
Par exemple : lorsqu’on compose un nombre (décimal) sur notre clavier d'ordinateur les
circuits convertissent ce nombre en valeurs binaires pour être exploité.

15 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque

16 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4.1. Binary Coded Decimal (BCD)

Dans une calculatrice, pour afficher les nombres, le code binaire naturel n'est pas pratique. En fait, 12(10) se
code en binaire naturel 1100(2), mais par exemple pour l'afficher sur une calculatrice, il faut que le 1 soit
séparé du 2 (c’est-à-dire qu’il faut envoyer chaque chiffre sur l'afficheur à cristaux liquides correspondant).
D'où l'utilisation du code BCD, il s’agit de coder chaque chiffre décimal sur 4 bits. C'est le même que le code
binaire naturel mais il s'arrête à 9.
(Le BCD est destiné uniquement à l'affichage et à la saisie des données).
Code décimal 0-1-2-3-4-5-6-7-8-9
Code BCD 0000-0001-0010-0011-0100-0101-0110-0111-1000-1001

Application Coder 3408(10) et 286(10) en BCD.

Solution 3408(10) = 0011 0100 0000 1000(BCD)


286(10) = 0010 1000 0110(BCD)
17 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4.2. Code Gray (Binaire réfléchi)

En fait, le changement par exemple de 7


à 8 en binaire naturel est très gênant et
sensible ; car réellement, les 4 bits ne
changent pas simultanément, ce qui
engendre des erreurs.

Le code Gray est plus stable puisqu’il est


à distance unitaire.

Appelé aussi code réfléchi car il est


construit autour d'un axe de réflexion
(par "pliage").

18 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4.3. Code ASCII (American Standard Code for Information Interchange)

C'est un standard universel pour normaliser les échanges entre machines. Les caractères sont codés de 0 à 128 (10)
• Le codage des caractères présente
une convention permettant, à travers un
codage connu la transmission de l’information
textuelle.

• Cela consiste à donner pour chaque caractère,


un motif visuel, une séquence abstraite ou un
motif sonore. En informatique, à chaque
caractère , on associe un nombre.

• Parmi les codes les plus utilisés, on a le code


ASCII (American Standard Code for
Information Interchange) . Ce code définit un
jeu de 128 caractères comme présente le
schéma suivant. Ces caractères sont numérotés
de 0 à 127.
19 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4.4. Code EXCESS 3

Le code EXCESS 3, utilisé afin de faire des calculs numériques directement en BCD, consiste à ajouter 3 au
code (BCD).

4.5. Code à barre

Apparu dans les années 80, ce genre de codage est utilisé afin de faciliter la gestion des produits, puisqu’il est utilisé sur les produits
de grande consommation.
Le marquage comporte un nombre bien défini de barres verticales ainsi que 13 chiffres :

- Le 1ier chiffre indique le pays d’origine : 6 = Tunisie, 3 = France, 4 = Allemagne,…

- Le 2ième chiffre désigne une clé secrète, Clé secrète

- Les cinq ultérieurs sont ceux du code du « fabricant »,


6 1 2 34 5 6 78 9 0 1 6
- Les six suivants désignent le code de « l’article »,

- Le dernier est une clé de contrôle. Code du fabricant Code du produit

Pays d origine Barres de garde Clé de contrôle


Les barres représentent le codage de ces chiffres sur 7 bits, à chaque chiffre est attribué un ensemble de 7 espaces blancs ou noirs.
20 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

5. Opérations Arithmétiques

5.1. Addition

L’opération d’addition est analogue à celle effectuée en décimale quel que soit le système ou la base utilisée.
En effet, on commence toujours par le bit de plus faible poids, et si on atteint ou dépasse la valeur maximale
de la base, une retenue ou un report apparait.

Application

?
(983 + 7632)(10) = 8615(10) ?
(11010 + 111101)(2) = 1010111(2)

1
1
9 8 3 11010 avec 0+1=1
+1 + 1
7 6 3 2 111101 1 + 1 = 10
= 8 6 1 5 = 1010111 1 + 1 + 1 = 11

21 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

5. Opérations Arithmétiques

5.1. Addition

L’opération d’addition est analogue à celle effectuée en décimale quel que soit le système ou la base utilisée.
En effet, on commence toujours par le bit de plus faible poids, et si on atteint ou dépasse la valeur maximale
de la base, une retenue ou un report apparait.

Application

?
(376 + 125)(8) = 523(8) (BDAC + F9B8)(16) = 1B764(16) ?
1 1 1 1 1 1 avec C + 8 = 12 + 8 = 20 = 16 + 4
3 7 6 avec 6 + 5 = 8 + 3 B D A C
+ + A + B + 1 = 10 + 11 + 1 = 22 = 16 + 6
1 2 5 7+2+1=8+2 F 9 B 8
D + 9 + 1 = 13 + 9 + 1 = 23 = 16 + 7
3+1+1=5 = 1 B 7 6 4 B + F + 1 = 11 + 15 + 1 = 27 = 16 + 11 = 16 + B
= 5 2 3

22 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

5. Opérations Arithmétiques

5.2. Soustraction

Là aussi, l’opération de soustraction est analogue à celle effectuée en décimale quel que soit le système ou la
base utilisée. Le problème est que l’on n'apprend pas la table de soustraction en hexadécimal. F – 6 = 9 par
exemple.
Il faut donc réfléchir un peu plus qu'en décimal.

Application

?
4E - 23 = 2B(16) 31 - 12 = 1F(16)?
1 1 1
avec C + 8 = 12 + 8 = 20 = 16 + 4
3 6 + 5E=–83+=3 14 – 3 = 11 = 1B 1B 1D 1A C
746 E avecavec 3A 1+ B +avec (16+1) – 2 = 15 = F
+-
7+2+1=8+2 +
F 9 B 8
- 1 = 10 + 11 + 1 = 22 = 16 + 6
1 22 53 1 2
1 D + 9 + 1 = 13 + 9 + 1 = 23 = 16 + 7
3+1+1=5 = 1 B 7 6 4
= = 5 22 3B = 1 BF+ F + 1 = 11 + 15 + 1 = 27 = 16 + 11 = 16 + B

23 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

5. Opérations Arithmétiques

5.2. Soustraction

Là aussi, l’opération de soustraction est analogue à celle effectuée en décimale quel que soit le système ou la
base utilisée. Le problème est que l’on n'apprend pas la table de soustraction en hexadécimal. F – 6 = 9 par
exemple.
Il faut donc réfléchir un peu plus qu'en décimal.

Application

?
1001 - 110 = 0011(2) ?
100011 - 1111 = 010100(2)

1 1 1 1 1
1001 avec 1 – 0 = 1 100011 avec 1 – 1 = 0
- -
110
1 1
10 - 1 = 1 1111 10 - 1 = 1
1 1 1
= 0011
10 - 1 - 1 = 0 10 - 1 – 1 = 0
= 010100
24 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 1 : Codage des Nombres signés  Signe/ Valeur absolue


Pour présenter un nombre signé, 3 manières sont possibles:  Complément à 1
 Complément à 2

25 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 1 : Codage des Nombres signés  Signe/ Valeur absolue


Pour présenter un nombre signé, 3 manières sont possibles:  Complément à 1
 Complément à 2

26 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 1 : Codage des Nombres signés  Signe/ Valeur absolue


Pour présenter un nombre signé, 3 manières sont possibles:  Complément à 1
 Complément à 2

- Coder le nombre désiré vers la base 2 comme un entier naturel sur N-1 bits,
- Complémenter à un chacun des bits, c'est-à-dire remplacer les 0 par des 1 et inversement.
- Ajouter 1 à cette valeur trouvée.

Afin de s’assurer du résultat, on additionne le nombre avec son complément à deux et il faut
trouver un 0.
La méthode du complément à 2 est utilisée pour coder les entiers signés à deux utilisée dans les
processeurs.
27 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 1 : Codage des Nombres signés


En arithmétique signé on utilise le bit 8 pour représenter le signe. Pour un nombre signé, si le bit 8 est à
‘1’alors c’est un nombre négatif, sinon, il s’agit d’un nombre positif.
Pour trouver la valeur négative d’un nombre, il faut chercher le COMPLEMENT A DEUX du nombre. Pour
calculer le complément à 2 d’un nombre binaire, il suffit d’inverser tous les bits de ce nombre puis ajouter 1
au résultat.
Coder la valeur -6 via la méthode de complément à 2 sur un format de 8 bits.

28 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 1 : Codage des Nombres signés

Pour calculer le complément à 2 d’un nombre binaire, il suffit d’inverser tous les bits de ce nombre
puis ajouter 1 au résultat.

Nombre binaire: Complément à1: Ajouter 1: Résultat:


00110011 ?
11001100 ?
11001100 +00000001 ?
11001101

29 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

Remarque 2 : Représentation d’un nombre réel

La virgule flottante est une méthode d'écriture des nombres réels fréquemment utilisée dans les ordinateurs.
Elle consiste à représenter un nombre réel par :

❑ un signe (égal à −1 ou 1),


❑ une mantisse ,
❑ un exposant.

N = Signe * Mantisse * b Exposant Pour la conversion d’un décimal vers un nombre réel
binaire, il faut rajouter 127 (01111111) à l'exposant. Les
exposants varient alors de -254 à 255
Les nombres réels seront alors exprimés ainsi :
30 (-1)S *2 ( E - 127 ) AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4. Représentation en virgule flottante

31 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4. Représentation en virgule flottante

Format simple précision

32 AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage

1. Sys. de Num. 2. Base 3. Chang. de bases 4. Types de codages 5. Op. arith.

4. Représentation en virgule flottante

Format double précision

33 AU. 2023/2024
Chapitre 0_Rappel : Système L'exposant
de Numération
peut être positifet
ou de codage
négatif. Cependant, la
représentation habituelle des
1. Sys. de Num. 2. Base 3. Chang. denombres
bases signés
4. Types de codages
(complément à 2) 5. Op. arith.
rendrait la comparaison entre les
nombres flottants un peu plus
4. Représentation en virgule flottante difficile.
N = ±1,Mantisse * 2 ± Exposant

L’exposant est biaisé sous


représente le signe (selon le la forme:
bit de signe) ;
si ce bit est à 1, le nombre
K = Exposant + (2e−1 − 1)
est négatif, • e représente le nombre
et s’il est à 0, le nombre est de bits de l'exposant.
positif

La mantisse est normalisé sous


la forme: 1,M.
• Le 1 précédant la virgule n’est
pas codé en machine, il est
34
appelé un bit caché AU. 2023/2024
Chapitre 0_Rappel : Système de Numération et de codage
Pour la conversion d’un décimal vers un nombre
réel binaire, il faut rajouter 127 (01111111) à
1. Sys. de Num. 2. Base 3. Chang. de bases 4. TypesLes
l'exposant. deexposants
codagesvarient5. Op. arith.
alors de -254 à
255

Exemple : Convertir 12,6875 en binaire Les nombres réels seront alors exprimés ainsi :
La conversion de 12 : donne (1100)2
La conversion de 0,6875 donne 0,1011; car :
0,6875 x 2 = 1,375 = 1 + 0,375
0,375 x 2 = 0,75 = 0 + 0,75
0,75 x 2 = 1,5 = 1 + 0,5
0,5 x 2 = 1 = 1 + 0
=> (12,6875)10 = (1100,1011)2 .
12,6875 est positif donc S est 0.
Il est représenté en base binaire comme suit : 1100,1011
3
Après normalisation il s’ écrit : 1,1001011 * 2
e aura la valeur 3+127 ce qui donne 130, soit en base 2 : 10000010
La mantisse est composée de la partie décimale de 12,6875 en base 2 normalisée, c'est-à-dire : 1001011.

La mantisse étant représentée sur 23 bits, il est nécessaire d'ajouter des zéros pour la compléter :
10010110000000000000000

La représentation du nombre 12,6875 en binaire avec la norme IEEE est donc :


0 10000010 10010110000000000000000
35 AU. 2023/2024

Vous aimerez peut-être aussi