I'm using Windows, and looking at my System Resources. I'm learning about I/O Addresses.

In my understanding, when the CPU wants to communicate with a device, it puts that particular devices I/O address on the address/data bus, and then sends a command to that device. Why then, do some devices have a RANGE of addresses, and some only have one?