Diferencia entre revisiones de «Acceso directo a memoria»

Contenido eliminado Contenido añadido
MartinDM (discusión · contribs.)
Sin resumen de edición
MartinDM (discusión · contribs.)
Línea 13:
Del mismo modo, si la copia en caché de X no es invalidada cuando un dispositivo escribe un nuevo valor en la memoria, entonces la CPU funcionará con un valor caducado de X.
 
Este problema puede ser abordado en unael diseño del sistema de las siguientes dos formas en el diseño del sistema:
* '''Los sistemas de caché coherente''' implementan un método en el hardware externo mediante el cual se escribe una señal en el controlador de caché, la cual realiza una invalidación de la caché para escritura de DMA o caché de descarga para lectura de DMA.
* '''Los sistemas no-coherente''' dejan este software, donde el sistema operativo debe asegurarse de que las líneas de caché se vacían antes de que una transferencia de salida de DMA sea iniciada y anulada antes de que una parte de la memoria sea afectada por una transferencia entrante de DMA que se haya requerido. El sistema operativo debe asegurarse de que esa parte de memoria no es accedida por cualquier subproceso que se ejecute en ese instante. Este último enfoque introduce cierta sobrecarga a la operación de DMA, ya que la mayoría de hardware requiere un bucle para invalidar cada línea de caché de forma individual.