On a non-pipelined sequential processor, a program segment, which is a part of the interrupt service routine, is given to transfer 500 bytes from an I/O device to memory. Initialize the address register Initialize the count to 500 LOOP: Load a byte from device Store in memory at address given by address register Increment the address register Decrement the count If count != 0 go to LOOP Assume that each statement in this program is equivalent to a machine instruction which takes one clock cycle to execute if it is a non-load/store instruction. The load-store instructions take two clock cycles to execute. The designer of the system also has an alternate approach of using the DMA controller to implement the same transfer. The DMA controller requires 20 clock cycles for initialization and other overheads. Each DMA transfer cycle takes two clock cycles to transfer one byte of data from the device to the memory. What is the approximate speedup when the DMA controller based design is used in place of the interrupt driven program based input-output?
Reveal answer
Fill a bubble to check yourself
Keep practicing — related questions
- Consider the following program segment for a hypothetical CPU having three user registers Rl R2 and R3. Ins...
- Consider the following program segment for a hypothetical CPU having three user registers R1,R2 and R3. ![]...
- Which of the following techniques is preferable for transferring large data to & from a memory in a short t...
- Consider the following data path of a CPU  The, ALU, the bus and all th...
- Consider the following program segment. Here R1, R2 and R3 are the general purpose registers. |||| |---|---...
- Consider the following data path of a CPU  The, ALU, the bus and all th...
- A 5-stage pipelined processor has Instruction Fetch (IF), Instruction Decode (ID), Operand Fetch (OF), Perf...
- How does DMA module communicate with CPU?