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 |
Educative Site Free Online Academic Courses Tutorials, Books with enough questions and answers