Robo de ciclo


En informática , tradicionalmente el robo de ciclos es un método para acceder a la memoria de la computadora (RAM) o al bus sin interferir con la CPU. Es similar al acceso directo a memoria (DMA) para permitir que los controladores de E / S lean o escriban en la RAM sin la intervención de la CPU. La explotación inteligente de tiempos específicos de CPU o bus puede permitir que la CPU funcione a toda velocidad sin ningún retraso si los dispositivos externos acceden a la memoria que no participan activamente en la actividad actual de la CPU y completan las operaciones antes de cualquier posible conflicto de CPU. Estos sistemas son casi RAM de dos puertos sin el gasto de RAM de alta velocidad. La mayoría de los sistemas detienen la CPU durante el robo., esencialmente convirtiéndolo en una forma de DMA con otro nombre.

Por ejemplo, un sistema con bancos de memoria de datos e instrucciones separados puede permitir a los dispositivos externos un acceso de memoria al banco de datos mientras la CPU estaba obteniendo una instrucción del banco de instrucciones si ambos accesos se inician simultáneamente. Una unidad de administración de memoria no es esencial, por ejemplo, la línea M1 del Zilog Z80 se puede usar para distinguir entre instrucciones y acceso a datos, por lo que mientras la CPU lee una instrucción desde la RAM o ROM de instrucciones, la RAM de datos está disponible para otros dispositivos sin interferir con el procesamiento de la CPU.

El robo de ciclos es difícil de lograr en los sistemas modernos debido a muchos factores, como la canalización , donde la búsqueda previa y los elementos concurrentes acceden constantemente a la memoria, lo que deja pocos tiempos de inactividad predecibles para colarse en el acceso a la memoria. DMA es el único método formal y predecible para que los dispositivos externos accedan a la RAM.

Este término es menos común en la arquitectura informática moderna (por encima de 66-100 MHz), donde los diversos buses y controladores externos generalmente funcionan a diferentes velocidades y las operaciones internas de la CPU ya no están estrechamente relacionadas con las operaciones del bus de E / S.

El robo inesperado de un ciclo por parte del radar de encuentro durante el descenso casi provocó que se abortara el aterrizaje del Apolo 11 , pero el diseño de la computadora de guía permitió que el aterrizaje continuara al eliminar las tareas de baja prioridad.

El "robo de ciclo" del IBM 1130 es realmente DMA porque el reloj de la CPU se detiene durante el acceso a la memoria. Varios controladores de E / S acceden a la RAM de esta manera. Se auto-arbitran a través de un esquema de prioridad fija. La mayoría de los controladores controlan deliberadamente el acceso a la RAM para minimizar el impacto en la capacidad del sistema para ejecutar instrucciones, pero otros, como los adaptadores de video gráficos, operan a mayor velocidad y pueden ralentizar el sistema.