Chapter 11: Writing PCI Device Drivers
A PCI is more than just a bus. It is a standard with a complete set of specifications defining how different parts of a computer should interact. Over the years, a PCI bus has become the de facto bus standard for device inter-connections, such that almost every SoC has native support for such buses. The need for speed led to different versions and generations of this bus.
In the early days of the standard, the first bus that implemented the PCI standard was the PCI bus (the bus name is the same as the standard), as a replacement for the ISA bus. This improved (with 32-bit addressing and jumper-less autodetection and configuration) the address limitation encountered with ISA (limited to 24 bits, and which occasionally necessitated playing with jumpers in order to route IRQs and so on). Compared with the previous bus implementation of the PCI standard, the major factor that has been improved is speed.
PCI Express is the current family of PCI...