Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |
| en:multiasm:cs:chapter_3_13 [2026/01/10 20:22] – pczekalski | en:multiasm:cs:chapter_3_13 [2026/03/29 18:00] (current) – ktokarz |
|---|
| * If the counter reaches zero, data transfer stops. | * If the counter reaches zero, data transfer stops. |
| |
| Everything is done without any action on the processor's part. No program is fetched and executed. Because everything is handled by hardware, the transfer can be completed in one memory access cycle, much faster than by the processor. Data transfer by the processor is significantly slower because it requires at least four program-execution instructions and two data transfers: one from the peripheral and another to memory, per cycle. The system with an active DMA controller is presented in Fig.{{ref>DMAactive}}. | Everything is done without any action on the processor's part. No program is fetched and executed. Because everything is handled by hardware, the transfer can be completed in one memory access cycle, much faster than by the processor. Data transfer by the processor is significantly slower because it requires at least four program-execution instructions and two data transfers: one from the peripheral and another to memory, per cycle. The system with an active DMA controller is presented in Fig.{{ref>DMAactive}}. Red arrows represent active address and control signals generated by the DMA controller. The orange arrow shows the direct data transfer from the peripheral to the memory. |
| |
| <figure DMAactive> | <figure DMAactive> |