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

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

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


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

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

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

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

Обычные микросхемы SPI-Flash (рис. 1) используют 3 сигнала для приема/передачи данных:

- SCK (Serial Clock) – вход тактовой частоты;

- SI (Serial Input) – вход данных (побитно адрес/данные/коды команд);

-SO(Serial Output) – выход данных (побитно данные/состояние микросхемы). Обращение к ПЗУ BIOS начинается с выдачи активного низкого уровня сигнала на вход CE#.

Рис. 1.

Расширения 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.

Линии, образующие однобитовую двунаправленную шину и сигналы управления, переопределяются с использованием мультиплексирования в четырехбитовую шину (рис. 2).

 

Рис. 2

SPI с указанными расширениями уже не является последовательным. Пропускная способность возрастает пропорционально увеличенной разрядности. Использование описанных функциональных расширений возможно только в том случае, если SPI хост-контроллер их поддерживает. Обычно, хост-контроллер входит в состав микросхемы PCH (Platform Controller Hub), либо находится в составе центрального процессора. Рассматриваемые функциональные расширения являются программно-управляемыми. Серии микросхем памяти 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 памяти при использовании меньшего количества выводов и меньшего места.

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

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

Рис 3. Прием команды. Режим SPI (слева) и режим QPI (справа)

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

Рассматриваемые функциональные расширения являются программно-управляемыми, желательно чтобы поддержка расширенной функциональности носителя firmware была реализована в составе процедур UEFI BIOS.

 

 

 

 

 

 

 


Лицензия