DMA, cómo se conectan los dispositivos entre sí y a la RAM

En los primeros días de la informática doméstica, las unidades DMA no existían, por lo que cuando los dispositivos necesitaban comunicarse con la RAM, lo hacían de dos formas diferentes:

  • Algunos procesadores tenían un pin HALT que, al recibir una señal, detenía su actividad solo para recuperarla en el mismo punto más tarde.
  • Ha habido casos en los que el acceso a la RAM se ha intercalado entre el procesador y los periféricos.

Por eso fue necesario agregar controladores de acceso a memoria directa o DMA, para facilitar el trabajo durante la transmisión de datos.

Cómo funciona una unidad DMA

Diagrama DMA

El funcionamiento de una unidad DMA es el siguiente:

  1. Se especifica una dirección de memoria en la fuente
  2. Se especifica la cantidad de datos a transmitir
  3. Se especifica una dirección de memoria como destino.
  4. Los datos se transfieren de una memoria a otra.

Unidades DMA se utilizan principalmente para dar acceso a los periféricos a la RAM del sistema

mi, pero También se utilizan para transmitir datos desde la RAM del sistema a las RAM locales de diferentes dispositivos como VRAM. Lo hacen sin que ningún procesador tenga que transferir datos de una memoria a otra, lo que le permite concentrarse en otras tareas.

Canales de comunicación

Canales DMA

Un controlador DMA puede tener varios canales diferentes, Es por eso que puedes buscar realizar varios envíos simultáneos con diferentes orígenes y destinos. Es más, Los canales DMA se utilizan para comunicar directamente un procesador con sus coprocesadores, no solo para acceder a la memoria.

Memoria AMD Smart Access

Por ejemplo. La barra PCI Express redimensionable, en la que se basa la memoria Smart Access de AMD, es posible gracias a una unidad DMA que comunica la CPU directamente con la VRAM.

Este también es el caso de las tarjetas gráficas duales, ya sea con dos chips en la misma tarjeta o en dos tarjetas diferentes, donde las interfaces AMD Crossfire y NVIDIA SLI son siempre unidades DMA conectadas entre sí. otro.

Modos de funcionamiento de una unidad DMA

Rutas de DMA

Tenga en cuenta que un reproductor DMA puede funcionar de una de las siguientes formas, con ambos o los tres al mismo tiempo, dependerá de cómo esté diseñado para la transferencia de datos.

  • Modo ráfaga: En este modo, la unidad DMA envía una interrupción que paraliza el uso de memoria por parte del procesador, que se detiene hasta que la unidad DMA haya completado la transferencia.
  • Modo ciclo de vuelo: Por cada x bytes transmitidos, el lector DMA devuelve el acceso a la memoria al procesador. A diferencia del caso anterior, no requiere que el procesador esté inactivo durante largos períodos de tiempo.
  • Modo transparente: En este modo, la unidad DMA transmite datos solo cuando la CPU ejecuta una instrucción que no requiere acceso a la memoria.

No son solo para transmitir datos

Descompresor RTX IO

Una de las cosas que permiten los reproductores DMA es variar la naturaleza de los datos que transmitenPor ejemplo, podemos tener datos comprimidos en la fuente y descomprimirlos en el destino e incluso decodificar un formato multimedia.

Debido a que lo que hace una unidad DMA es pasar un bloque de datos de una fuente a un destino, puede tener un acelerador o una unidad de función fija que manipule la información.

. Esto es extremadamente útil al decodificar datos multimedia como los siguientes:

  • Formatos de imagen como JPEG, GIF. PNG.
  • Formatos de música como MP3, OGG, etc.
  • Formatos de video de todo tipo.
  • Formatos de compresión de archivos como: Zlib, 7z, etc.

Las unidades DMA también se encargan de la comunicación interna

DMA SPM

Algunos aceleradores y coprocesadores no usan la memoria del sistema y ni siquiera usan su propia memoria ya que están dentro del procesador y con su memoria adentro., estas unidades necesitan una interfaz DMA que les permita enviar y recibir datos. En algunos casos concretos, se les asignan canales desde el DMA principal del procesador que admiten exclusivamente.

Esto se usa especialmente cuando tenemos un portátil RAM, que es un tipo de RAM que se encuentra dentro del procesador y con una ruta de datos diferente a la RAM. A la mayoría de los coprocesadores y aceleradores se les asigna memoria de portátil para uso local donde la única forma de acceder a ella es a través de canales DMA específicos.

Leave your vote

113 puntos
Upvote Downvote

Deja un comentario

Add to Collection

No Collections

Here you'll find all collections you've created before.