· Block transfer DMA controller takes the bus control by CPU. CPU has no access to bus until the transfer is complete. During this time CPU can perform internal operations that do not need bus. This is a common and popular method with modern microprocessors. · Cycle stealing This is a word-by-word transfer based on CPU cycle stealing. When DMA steals a cycle, CPU is stopped completely for one cycle. Cycle stealing is not an interrupt. CPU pauses for just one machine cycle. This type of transfer takes a period of time. Some major steps of DMA cycle stealing in order to transfer data to and form memory are: · DMA needs control of the CPU · DMA must use the bus only when the CPU does not need it · CPU is suspended by DMA just before it needs to use the bus · CPU pauses for one bus cycle · DMA transfers one words and then returns the control to CPU · The overall effect is to cause the CPU to execute more slowly · Interleaved DMA. It is similar to block transfer technique, here DMA controller takes the control of system bus only when CPU is not using it. For example, performing an ALU operation or incrementing a counter. The data transfer by this kind of method takes a period of time.
Chat with our AI personalities