Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


UEFI_ПЗУ. Микросхемы SpiFlash памяти с интерфейсами SPI, Dual-SPI, Quad-SPI.

 UEFI-ПЗУ. Микросхемы SpiFlash памяти с интерфейсами SPI, Dual-SPI, Quad-SPI.

Серии микросхем памяти Winbond W25X и WQ имеют популярный последовательный периферийный интерфейс (SPI), плотности от 512 Кбит до 512 Мбит, небольшие стираемые сектора и самую высокую производительность. Семейство W25X поддерживает Dual-SPI, удваивая стандартные частоты SPI. Семейство W25Q является «надстройкой» семейства 25X с Dual-I/O и Quad-I/O SPI с еще большей производительностью. Тактовые частоты до 104 МГц достигают эквивалента 416 МГц (со скоростью передачи данных 50 Мбайт/с) при использовании Quad-SPI. Это более чем в восемь раз превышает производительность обычной последовательно Flash памяти (50 МГц) и даже превосходит асинхронные параллельные Flash памяти при использовании меньшего количества выводов и меньшего места.

Существенным недостатком использования ПЗУ была и остается их низкая производительность. Ее помогает обойти использование «теневой памяти» (Shadow RAM) в которую для ускорения доступа копируется BIOS (а теперь и UEFI). Почему бы не попытаться выполнить старт персональной платформы, полностью отказавшись от использования оперативной памяти?

Возможности современных реализаций флеш-памяти рассмотрим на примере чипа W25Q64FV, используемого для хранения кода UEFI BIOS. Компания Winbond, разработавшая этот чип, позиционирует его как устройство, способное выполнять программы непосредственно из исходного носителя. Данная технология получила название Execute In Place (XIP) и по идее должна заменить режим Shadow RAM.

Расширения SPI-протокола: Dual SPI, Quad SPI.

Режим 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

Линии, образующие однобитовую двунаправленную шину и сигналы управления, переопределяются с использованием мультиплексирования в четырехбитовую шину. А вот режим QPI (Quad Peripheral Interconnect) в чипе W25Q64FV по праву можно назвать XIP-оптимизацией. Он использует тот же набор сигналов, что и Quad SPI. Отличие в том, что в режиме QPI, увеличение разрядности шины в 4 раза затрагивает не только передачу адреса и данных, но и управляющих команд: 8-битная команда передается не за восемь, а за два такта. В результате снижается латентность (минимизируется потеря времени на восприятие новой команды). Как было показано выше, латентность особенно важна для XIP при доступе к мелко-разбросанным данным.

 

Рис 1. Write Enable в режиме SPI (слева) и QPI (справа), реализованные в W25Q64FV (для декларирования функциональных различий микросхема изменяет код идентификатора устройства (Device ID), если включен режим QPI. В режиме SPI, код Device ID = 4017h, а в режиме QPI, он становится равным 6017h).

Если называть последовательным (serial) интерфейсом только такой интерфейс, у которого для передачи данных используется одна линия, то SPI с указанными расширениями уже не является последовательным. Пропускная способность возрастает пропорционально увеличенной разрядности. Использование описанных функциональных расширений возможно только в том случае, если SPI хост-контроллер их поддерживает. Обычно, хост-контроллер входит в состав микросхемы PCH (Platform Controller Hub), либо находится в составе центрального процессора. Рассматриваемые функциональные расширения являются программно-управляемыми, желательно чтобы поддержка расширенной функциональности носителя firmware была реализована в составе процедур UEFI BIOS.

 


Лицензия