SPI es un protocolo [ de facto ] estándar desarrollado por Motorola. No define ningún hardware especial, solo cómo se usan e interpretan las señales.
SPI se puede implementar utilizando un software (conocido como "Bit Banging"), o usando un hardware dedicado, a veces como parte de una interfaz "USART" (Universal Synchronous / Asynchronous Receive / Transmit).
Una implementación de hardware es invariablemente más eficiente, ya que la CPU es libre de hacer otras cosas mientras se transfiere un byte de datos SPI. Además, en los chips con DMA, todo el subsistema SPI se puede desacoplar completamente de la CPU para ejecutarse con una sobrecarga mínima absoluta.
Por cierto, la "Interfaz SPI" es un ejemplo del síndrome de RAS . SPI significa "Interfaz Periférica Serial", por lo que "Interfaz SPI" sería igual a "Interfaz Periférica Serial". Pero estoy divagando.