PCIe is designed to be copatable to the leagcy PCI. It preserves the software model so that:
- BIOS routines (for device discovery & configuration)
- Operating system code (plug-and-play, resource allocation)
- Device drivers (control & data transfer)
all continue to work without modification.
How PCIe Achieved It
-
Same Address Spaces:
- Memory space, I/O space, and Configuration space still exist in PCIe.
- They are programmed the same way (same registers, same configuration mechanisms).
- Some spaces are simply extended to allow for more features and larger address ranges.
-
Extended Configuration Space:
- PCIe adds many new registers to support:
- Power management
- Advanced error reporting
- Hot-plugging
- Quality-of-service
- But the legacy PCI registers remain intact, so old software can still interact with the device in the familiar way.
- PCIe adds many new registers to support: