Unexpected cycle stealing by the rendezvous radar during descent nearly caused the
Apollo 11 landing to be aborted, but the design of the
Guidance Computer allowed the landing to continue by dropping low-priority tasks. The
IBM 1130's "cycle steal" is really DMA because the CPU clock is stopped during memory access. Several I/O controllers access RAM this way. They self-arbitrate via a fixed priority scheme. Most controllers deliberately pace RAM access to minimize impact on the system's ability to run instructions, but others, such as graphic video adapters, operate at higher speed and may slow down the system. The cycle-stealing concept of the 1130 permits the CPU program to start an operation on an I/O device and then continue the mainline program while the I/O device is performing its operation. Each I/O device that operates in this manner takes (steals) a cycle from the CPU when it is needed. The CPU is "tied up" only one cycle while a data character is being transferred. The frequency at which devices steal cycles depends on the type of device. Since the CPU is much faster than any I/O device on the system, the CPU may be performing another function, such as arithmetic, at the same time an I/O operation is being performed. In fact, several I/O operations may be overlapped with each other and with other CPU functions. Cycle stealing has been the cause of major performance degradation on machine such as the
Sinclair QL, where, for economy reasons, the video
RAM was not
dual access. Consequently, the
M68008 CPU was denied access to the memory bus when the
ZX8301 "master controller" was accessing memory, and the machine performed poorly when compared with machines using similar processors at similar speeds. ==References==