In a computer, a serial peripheral interface (SPI) is an interface that enables the serial (one bit at a time) exchange of data between two devices, one called a master and the other called a slave . An SPI operates in full duplex mode. This means that data can be transferred in both directions at the same time. The SPI is most often employed in systems for communication between the central processing unit ( CPU ) and peripheral devices. It is also possible to connect two microprocessors by means of SPI. The term was originally coined by Motorola. National Semiconductor has an equivalent interface called Microwire.
Serial interfaces have certain advantages over parallel interfaces. The most significant advantage is simpler wiring. In addition, serial interface cables can be longer than parallel interface cables, because there is much less interaction (crosstalk) among the conductors in the cable.
Many types of devices can be controlled by an SPI, including shift registers, memory chips, port expanders, display drivers, data converters, printers, data storage devices, sensors, and microprocessors. Data is transferred serially over a cable, input to a shift register, and transferred within each subsystem by means of parallel processing.