Difference between Programmed I/O vs Memory Mapped I/O
Programmed I/O | Memory Mapped I/O |
Processor has to check each I/O device in sequence and in effect ‘ask’ each one if it needs communication with the processor | External asynchronous input is used to tell the processor that I/O device needs its services and hence processor does not have to check whether I/O device needs it services or not |
During polling processor is busy and therefore have serious and decremented effect on system throughput | The processor is allowed to execute its instruction in sequence and only stop to service I/O device when it is told to do so by the device itself, this increased system throughput |
It is implemented without interrupt hardware support | Implemented using interrupt hardware support |
Does not depend on interrupt states | Must be enabled to process interrupt driven I/O |
Does not need initialization of stack | It needs initialization of stack |
System throughput decreases as number of I/O devices increases | System throughput does not depend on number of I/O devices connected in the system |