Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Enseignant du Supérieur
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

Eléments de base d’un microcontrôleur

Back                  << Index >>


Unité Arithmétique et Logique

Le rôle d’un processeur est soit de faire des calculs, soit de faire des transferts de données avec la mémoire ou les périphériques.

Les calculs sont réalisés au sein de l’Unité Arithmétique et Logique ( UAL ou ALU ) , afin de traiter des opérations :

L’UAL regroupe donc des composants réalisant ces opérations en permanence.

La sélection de l’opération souhaitée se fait avec un multiplexeur, pour aiguiller le résultat du bon opérateur.

Les bits d’état NZVC indique comment s’est passé l’opération :

l’analyse de ces bits d’état permet de réaliser des tests pour comparer des valeurs dans le cas des instructions de branchement.


La porte 3 états

Problématique

Dans un système à processeur, l’échange de données avec la mémoire se fait via des bus ( fils en parallèle ).

Le processeur comme la mémoire doivent pouvoir écrire ou lire sur ce bus.

Un même fil serait donc susceptible d’être forcé par 2 états contradictoires, d’où un conflit.

Lorsqu’un élément connecté à un fil force la valeur logique de ce fil, les autres éléments doivent être transparents ( déconnectés ), on appelle cela l’état haute impédance.

Une porte 3 états permet de réaliser la connexion à un bus :


Mémoire

Architecture et Fonctionnement

Nous considérons une mémoire de type RAM constituée de bascules RS afin de mémoriser une donnée.
La mémoire se compose de 4 mots de 4 bits.
Le bus d’adresse permet de sélectionner le mot que l’on souhaite lire ou modifier.
Dans l’exemple ci-dessous, le bus d’adresse a la valeur 1, le décodeur 2 vers 4 permet d’activer la ligne \( y_{1} \) .

Association de plusieurs composants mémoire

Afin de disposer d’une mémoire plus étendue, on peut associer plusieurs composants mémoire.
Le signal CS ( Chip Select ) permet d’activer l’utilisation d’une mémoire.
Si je considère 4 fils d’adresse \( A_3 A_2 A_1 A_0 \), je peux utiliser \( A_3 A_2 \) (poids forts) afin de sélectionner et activer une mémoire parmi 4.
Les fils \( A_1 A_0 \) (poids faibles) me servent alors à choisir une case dans la mémoire sélectionnée.

Caractéristiques d’une mémoire

Une mémoire est volatile si elle perd l’information mémorisée lorsque l’alimentation électrique est coupée.

Mémoires à semiconducteurs (accès direct) - Temps d’accès < 100ns

Mémoires de Masse - Non volatile - ex : Disque Dur / CD / DVD

Capacité ( taille ) d’une mémoire

Lors d’un accès mémoire, je peux lire ou modifier un mot mémoire.

Si ma mémoire contient 1024 cases mémoires ( sélectionnables via le bus d’adresse ), et que chaque case ou mot est de taille 8 bits :

Capacité = 1024 x 8 = 8192 bits = 1024 octets = 1ko
( \( 1ko = 2^{10} octets \) )


Back                  << Index >>