El acceso directo a memoria (DMA, del inglés Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.
de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Una transferencia DMA consiste principalmente en copiar un bloque Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.
Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo así que no quede totalmente acaparado por el controlador DMA.
características generales del DMA
Aquellas computadoras que tienen canales DMA pueden transferir datos desde y hacia los dispositivos con menos utilización de CPU que aquellas computadoras sin canales DMA. Básicamente una transferencia DMA consiste en copiar un bloque de memoria de un dispositivo a otro. Esa transferencia se lleva a cabo por el controlador DMA, en lugar del CPU. El controlador DMA es generalmente un chipset de la placa madre.
En computadoras sin DMA, el CPU generalmente se ocupa completo durante toda la operación de lectura o escritura de la memoria y, por lo tanto, no está disponible para realizar otras tareas. Con DMA, el CPU puede iniciar la transferencia, luego realizar otras operaciones mientras la transferencia está en progreso y luego recibir una interrupción del controlador de DMA una vez que la transferencia termina.
Sin DMA se utiliza el modo PIO para la comunicación de periféricos con la memoria y de instrucciones de load/store en el caso de chips con multinúcleos.
DMA es útil en aplicaciones en tiempo real y en el procesamiento de flujos de datos.
Tipos de transferencia DMA o Acceso directo a memoria
* DMA por robo de ciclo: es uno de los métodos más usados, ya que requiere poca utilización del CPU. Esta estrategia utiliza uno o más ciclos de CPU para cada instrucción que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU, aunque la transferencia de datos se hará más lentamente.
* DMA por ráfagas: esta estrategia consiste en enviar el bloque de datos solicitado mediante una ráfaga empleando el bus del sistema hasta finalizar la transferencia. Permite una altísima velocidad, pero la CPU no podrá utilizar el bus de sistema durante el tiempo de transferencia, por lo que permanece inactiva.
* DMA transparente: esta estrategia consiste en emplear el bus del sistema cuando la CPU no lo necesita. Esto permite que la transferencia no impida que la CPU utilice el bus del sistema; pero la velocidad de transferencia es la más baja posible.
* DMA Scatter-gather: esta estrategia permite transmitir datos a varias áreas de memoria en una transacción DMA simple. Equivale al encadenamiento de múltiples peticiones DMA simples. Su objetivo es librar a la CPU la tarea de la copia de datos e interrupciones de entrada/salida múltiples.
¿Qué son puertos IP?
Aunque tu ordenador solo tiene una dirección IP en el amplio mundo que es Internet, una gran variedad de funciones y software están implicadas en una conexión de Internet. Por ejemplo, recibir y enviar correos electrónicos, ver una página Web, transferir archivos, son diferentes procesos, en el cual cada uno utilizará un software diferente. Para gestionar estas funciones de una manera sistemática, se hace uso de los llamados puertos IP como si fueran direcciones locales. Estos puertos no existen físicamente y no deben ser confundidos con los puertos USB o paralelos. Estas direcciones locales son usadas para dirigir los distintos tipos de actividad existente en Internet, al software apropiado en el ordenador local.Piensa en tu ordenador como una oficina de un edificio, con varias salas y habitaciones para desempeñar diferentes funciones. La dirección IP que utilizamos para navegar por Internet correspondería con el nombre de la calle del edificio, y los puertos IP serían los números de las habitaciones. De hecho, en el formato estándar de una URL, se reserva una sección para el puerto designado. El número de puerto casi nunca es necesario en nuestro navegador de Internet ya que por defecto se utiliza el puerto 80 del protocolo http.
No hay comentarios:
Publicar un comentario