Qu'est-ce que la mémoire de donnée ? Quels sont les différents registres ?

Introduction

La mémoire de donnée est un composant obligatoire de votre microsystème qui contient toute la mémoire de votre programme. On va voir les 4 registres disponible et leurs différents rôle afin que votre programme soit optimisé et fonctionne correctement.

Special function register

La Special function register est un registre situé dans la Ram qui permet de configurer les paramètres du périphérique. Il fait moins de 2 kilo-octets. La Special function register est obligatoire dans un microsystème.

Mémoire de donnée flash (mémoire principal)

La mémoire de donnée flash est la mémoire principale de votre carte microsystème. Cette mémoire contient tous votre programme. C’est une mémoire lente mais pas volatile (qui ne s’efface après extinction du microsystème) et peu cher.

Direct Memory Access

La Direct access memory (dma) est un composant facultatif du microcontrôleur. Elle permet de copier des données venant d’un périphérique externe vers la Ram sans utiliser le processeur du microcontrôleur.

Quand une donnée est reçue sur la liaison UART, on la stocke dans une variable située dans la RAM. Le problème c’est que cela va mobiliser le microprocesseur afin de la transférer. Néanmoins ce n’est pas une tâche très compliquée et cela sous-utilise les capacités de celui-ci. La Direct Memory Access a donc été crée pour faire un lien direct entre les périphériques de liaison et la ram afin de soulager le microprocesseur. Celui-ci adresse la tâche à la DMA puis revient directement à sa tâche principal après.

La DMA a seulement accès à une partie de la Ram. En effet, la partie de la Ram accessible par la DMA doit être aussi accessible au microcontrôleur s’il a besoin de la même variable au même moment . Pour que les deux puissent accéder à la même case mémoire en même temps, il faut que celle-ci soit double port. En pratique, c’est très rare que la même case mémoire soit accedé en même temps. On remarque que c’est une DMA 16 channels : elle peut créer 16 transfert de données en même temps.

La DMA n’est pas tous le temps présente dans le microprocesseur. Cela coute plus cher d’en avoir une. La direct Access memory peut contenir jusqu’à 2 kilo-octets de mémoire.

Program Space Visibility

Le programme Space visibilty permet de copier une partie d’un programme ou des variables dans la RAM afin d’accélérer son exécution. Cette partie de programme sera effacé de la ram une fois l’ordinateur éteint car la Ram est volatile. Le programme Space visibilty n’efface donc pas le programme de la mémoire flash mais le copie juste. Le programme Space Visibility peut contenir 32 kilo-octets de donnée.