Режим Dual SPI увеличивает разрядность передаваемых данных от одного бита (классической реализации) до двух. Согласно документации, функциональность контактов микросхемы флеш- памяти переопределяется следующим образом:
- DI (Data Input, контакт 5) = IO0;
- DO (Data Output, контакт 2) = IO1.
В результате линии, образующие однобитовую двунаправленную шину, становятся шиной двухбитовой.
Режим Quad SPI увеличивает разрядность передаваемых данных до четырех. Согласно документации, функциональность контактов микросхемы переопределяется следующим образом:
- DI (Data Input, контакт 5) = IO0;
- DO (Data Output, контакт 2) = IO1;
- WP (Write Protect, контакт 3) = IO2;
- HOLD (State hold, контакт 7) = IO3.
Линии, образующие однобитовую двунаправленную шину и сигналы управления, переопределяются с использованием мультиплексирования в четырехбитовую шину.
Рис 1. Режим SPI (слева) и QPI (справа)
Строго говоря, если называть последовательным (serial) интерфейсом только такой интерфейс, у которого для передачи данных используется одна линия, то SPI с указанными расширениями уже не является последовательным. Пропускная способность возрастает пропорционально увеличенной разрядности. Использование описанных функциональных расширений возможно только в том случае, если SPI хост-контроллер их поддерживает. Обычно, хост-контроллер входит в состав микросхемы PCH (Platform Controller Hub), либо находится в составе центрального процессора. Рассматриваемые функциональные расширения являются программно-управляемыми.