La respuesta depende mucho de qué tipo de sistema discutiste.
En PC, se mantienen las siguientes relaciones:
- Mover los datos es el procedimiento más simple y más corto. Por lo general, solo implica cambios de punteros, sin modificar realmente los contenidos de la memoria.
- Escribir nuevos datos y copiar usualmente toma el mismo orden de magnitud de operaciones. La CPU debe asignar memoria para los nuevos datos, programar el motor DMA con las direcciones de origen y destino, programar el motor DMA con parámetros adicionales (cantidad de datos a transferir, varias banderas, etc.) y después de que se inicie el DMA, la CPU ya no es necesario.
Mi intuición dice que en cada arquitectura, la copia y la escritura tomarán el mismo tiempo de CPU (en realidad comparable) (con y sin DMA). Esto se debe al hecho de que escribir en la memoria es esencialmente copiar desde otra ubicación.
Sin embargo, la discusión anterior se refería solo al número de operaciones que realiza la CPU. Puede darse el caso de que su amigo se refiriera al tiempo de ejecución cuando habló sobre "cargar en el microprocesador". Bueno, no tiene sentido discutir el tiempo de ejecución en presencia de un DMA, ya que no es la CPU la que realiza la mayoría del trabajo. Sin DMA, el movimiento sigue siendo el más rápido (asumiendo que no es el microprocesador más simple el que ejecuta el movimiento como una transferencia de datos), pero la relación entre la copia y la escritura dependerá de la fuente desde la cual se adquieren los datos de escritura: si esta fuente tiene menor latencia que la memoria, la operación de escritura será más rápida; Si la fuente tiene una latencia mayor que la memoria, la operación de escritura será más lenta.
En cualquier caso, es difícil decir si tu amigo tiene razón sin entender todo el contexto de tu discusión.
Saludos