GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre DMA-Engine y DMA-Controller?

DMA - Acceso directo a memoria. La operación de su controlador leyendo o escribiendo desde/hacia su memoria HW sin que la CPU esté involucrada (liberándola para hacer otras cosas).

Controlador DMA:la lectura y la escritura no se pueden hacer por arte de magia. si la CPU no lo hace, necesitamos otro HW para hacerlo. Hace muchos años (en la época de ISA/EISA) era común utilizar un HW compartido en la placa base que hacía esta operación. En los últimos años, cada HW tiene su propio mecanismo DMA HW. Pero en todos los casos, este HW específico obtiene la dirección de origen y la dirección de destino y pasa los datos. Por lo general, activa una interrupción cuando termina.

Motor DMA - Ahora aquí no estoy seguro de lo que quieres decir. Creo que probablemente se refiera al lado SW que maneja el DMA. El DMA es un poco más complicado que las E/S habituales, ya que toda la memoria SRC y DST tiene que estar físicamente presente en todo momento durante la operación de DMA. Si la dirección DST se cambia al disco, el HW escribirá en una dirección incorrecta y el sistema fallará. Este y otros aspectos de DMA son manejados por el controlador con secciones de código a las que probablemente se refiera como "Motor DMA"

*Otra interpretación de lo que es 'Motor DMA', puede ser una parte del código del Firmware (o HW) que maneja el controlador DMA HW en el lado HW.


Según este documento, http://www.asprom.com/application/intel_3.pdf:

Los controladores DMA 82C37 no deben confundirse con los motores DMA que se encuentran en algunos componentes MCH (Memory ControllerHub) anteriores. Estos controladores DMA están vinculados al bus ISA/LPC y se utilizan principalmente para transferencias a/desde dispositivos lentos, como controladores de disquetes.

Entonces parece que es un dispositivo que se encuentra en plataformas anteriores que usaban dispositivos MCH.


Linux
  1. ¿Cuál es la diferencia entre Redhat y centOS?

  2. ¿Cuál es la diferencia entre adduser y useradd?

  3. ¿Cuál es la diferencia entre ls y l?

  4. ¿Cuál es la diferencia entre unlink y rm?

  5. ¿Cuál es la diferencia entre ruta y ruta ip?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre DMA y E/S mapeada en memoria?