Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Direct Memory Access (DMA)

Direct Memory Access (DMA) pour accès direct à la mémoire est comme son nom l’indique un mode qui permet d’accéder directement à la mémoire centrale d’un ordinateur.
Comme son nom l’indique, dans un ordinateur, le DMA facilite le transfert de données entre les E/S et la mémoire directement, au lieu d’impliquer le CPU comme dans les deux autres cas de transfert de données E/S.

Dans ce guide, je vous explique c’est qu’est Direct Memory Access, quel est sont intérêt et les modes de DMA qui existent.

Direct Memory Access (DMA)

Qu’est-ce Direct Memory Access (DMA)

L’accès direct à la mémoire (DMA) est un processus de transfert de données d’un emplacement de mémoire à un autre sans l’intervention directe du processeur (CPU).
Le principal avantage de l’utilisation du DMA est un mouvement de données plus efficace dans le système embarqué.

Il permet donc d’accélérer le processus d’exécution en contrôlant le transfert des données d’entrée/sortie sans faire intervenir l’unité centrale. La tâche est accomplie en utilisant le contrôleur DMA.

Un autre avantage peut être la réduction de la consommation d’énergie. Les deux méthodes les plus courantes pour transférer des données sans utiliser le DMA sont les suivantes :

  • basé sur des interruptions – une interruption est générée lorsqu’une nouvelle donnée est disponible et que l’unité centrale doit la transférer
  • polling – l’unité centrale attend qu’une nouvelle donnée soit disponible et la transfère.

Ces deux méthodes exigent que l’unité centrale soit en éveil. En revanche, certains contrôleurs DMA peuvent effectuer des transferts de données lorsque l’unité centrale est en mode veille (mode basse consommation).

Qu'est-ce Direct Memory Access (DMA)

L’accès direct à la mémoire : comment ça marche

L’unité fonctionnelle qui effectue les opérations d’accès direct à la mémoire est appelée contrôleur DMA.
Le schéma fonctionnel simplifié ci-dessous présente une unité centrale, une mémoire vive, une unité périphérique et un contrôleur DMA. Tous ces éléments, à l’exception de l’unité périphérique, sont connectés sur le même bus.
Comme l’unité centrale et le contrôleur DMA doivent être en mesure d’initier des transferts, ils disposent d’interfaces maîtres. Bien que l’objectif soit d’avoir un DMA qui fonctionne de manière indépendante, c’est l’unité centrale qui doit configurer le contrôleur DMA pour qu’il effectue les transferts.
Le contrôleur DMA peut être dédié à une unité périphérique spécifique compatible DMA (comme ci-dessous) ou peut être un DMA plus général capable d’accéder à différents types de périphériques en mémoire.

Architecture d'un PC avec le contrôleur DMA, CPU, mémoire, bus système et périphériques

Le DMA ou contrôleur d’accès direct à la mémoire est un dispositif externe qui contrôle le transfert de données entre le dispositif d’E/S et la mémoire sans l’intervention du processeur. Il a la capacité d’accéder directement à la mémoire principale pour des opérations de lecture ou d’écriture.
Un contrôleur DMA peut adresser directement la mémoire ou utiliser une mémoire tampon partagée avec le système.
Il transfère les données avec une intervention minimale du processeur. Lorsque le contrôleur DMA reçoit les informations, le DMA démarre et continue à transférer des données entre la mémoire et les périphériques d’E/S jusqu’à ce qu’un bloc entier soit transféré. Lorsque la tâche assignée au DMA est terminée, il informe l’unité centrale de la fin de la tâche.

Les types de transferts

Les modes de transfert de données concernent la manière dont l’unité centrale acquiert le bus système pour son activité.

Le contrôleur DMA prend en charge les deux modes de transfert suivants :

  • Transfert en rafale – L’ensemble des données est transféré en continu sans interruption. Le contrôle du bus est rendu à l’unité centrale lorsque l’ensemble des données a été transféré. L’inconvénient de ce transfert est que si l’unité centrale a besoin de données de la mémoire pendant ce temps, elle doit attendre que le transfert soit terminé.
  • Transfert à cycle fractionné – Le contrôle du bus est rendu périodiquement à l’unité centrale. Le transfert de données ne se fait pas en continu. L’avantage est que l’unité centrale ne reste pas inactive pendant un certain temps, en attendant les données de la mémoire.

Le DMA peut être configuré en 3 modes :

  • De mémoire à mémoire
  • Périphérique vers mémoire
  • Mémoire vers périphérique

Quels sont les modes de DMA

Il existe différents modes de DMA selon le débit et le nombre de pages mémoires utilisées.

Mode Débit maximum Nombre de pages
Nom Mo/s
0 transfert simple (interleaving mode) 4,16
1 transfert de blocs (burst mode) 13,3
2 transfert en cascade 16,6
3 Ultra DMA 33 33,3
4 Ultra DMA 66 66,7
5 Ultra DMA 100 100,0
6 Ultra DMA 133 133,3
Les modes de DMA

Source : https://fr.wikipedia.org/wiki/Acc%C3%A8s_direct_%C3%A0_la_m%C3%A9moire

L’article Direct Memory Access (DMA) est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires