Утилита UEFImark, предназначенная для оценки скорости обмена центрального процессора с видеопамятью, в процессе своей работы выводит ряд строк, информация в которых не всегда напрямую связана с решаемыми задачами. Рассмотрим состав данных, визуализируемых UEFImark v0.96.

1. Поддержка Compatibility Support Module

Первая строка значение CSM founds выводится в том случае, если модуль поддержки Compatibility Support Module (CSM) обнаружен с помощью одного из методов сканирования: Locate Handle или Locate Protocol. Наличие модуля поддержки совместимости обеспечивает взаимодействие с устаревшим оборудованием: он дает возможность 64-битному UEFI-firmware вызывать 16-битные процедуры находящиеся в Legacy ROM адаптеров.

Работа утилиты UEFImark в режиме Compatibility Support Module

UEFI starts without CSM — таково значение «Строки 1» в том случае, когда код инициализации платформы выполняется в режиме Legacy Free.

Работа утилиты UEFImark в режиме Legacy Free с использованием Block Transfer Mode

Разница в подходах сказывается, в первую очередь, на скорости записи в видеопамять с использованием BLT-функции (см. комментарий к «Строке 11»). В зависимости от типа старта изменяется номер видео режима («Строка 5») и объем памяти, используемой видео картой для визуализации текущего изображения при заданном разрешении экрана («Строка 9»).

2. Модель процессора

Информация считывается из процессора в виде текстовой строки №2 с использованием инструкции CPUID. Для ряда процессоров, содержимое данной строки не фиксировано, а зависит от инициализации, выполненной при старте POST-процедурами UEFI BIOS.

3. Частота процессора

Тактовая частота процессора, измеренная с использованием Time Stamp Counter и регистра подсчета секунд подсистемы Real Time Clock.

4. Функциональность процессора

Краткий список технологий, поддерживаемых процессором.

5. GOP video mode

Номер видео режима в списке режимов GOP (Graphics Output Protocol), разрешение по горизонтали и вертикали, а также BPP — количество бит на пиксель (Bits Per Pixel). Соответствие между номером режима и его форматом может различаться в различных реализациях UEFI firmware.

6. Характеристики PCIe-шины

Текущие параметры для моста PCI Express, обеспечивающего подключение активного видео адаптера. Ширина шины, полоса пропускания и размер пакета в байтах. После слова max: отображаются максимальные значения тех же параметров, поддерживаемых мостом. Если видео адаптер не является устройством PCI Express, но присутствует 3D-контроллер, являющийся таким устройством, значения параметров указываются для моста, обеспечивающего подключение 3D-контроллера. GT/S означает Giga Transactions per Second. TLP означает Transaction Layer Packet.

7. Режим работы PCIe-платы

Текущие параметры шины PCI Express для активного видео адаптера. Ширина шины, полоса пропускания и размер пакета в байтах. После слова max: отображаются максимальные значения тех же параметров, поддерживаемых устройством. Если видео адаптер не является устройством PCI Express, но присутствует 3D-контроллер, являющийся таким устройством, значения параметров указываются для 3D-контроллера.

8. Объем памяти, доступной в UEFI

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

9. Объем видеопамяти, доступной в UEFI

Количество видео памяти, выделенное UEFI firmware для поддержки текущего видео режима, а также общий физический размер видео памяти.

10. Диапазон адресов

Диапазон адресов, используемый для доступа к видео памяти и статус этого диапазона согласно MTRR (Memory Type and Range Registers). Статус MTRR определяет возможность повышения производительности за счет использования спекулятивных технологий для заданного диапазона, в частности опережающего чтения и отложенной записи.

11. Результаты измерения скорости записи в видео память

  • SSE: Запись в видеопамять, выполняемая процедурами UEFImark, с использованием 128-битных SSE-инструкций. Для блоков, адрес которых кратен 16 байтам.
  • 386: Запись в видеопамять, выполняемая процедурами UEFImark, с использованием 32-битных строковых классических инструкций. Для блоков, адрес которых не кратен 16 байтам, но кратен 4 байтам.
  • BLT: Запись в видеопамять, выполняемая процедурами firmware, с использованием функции GOP.Block Transfer для блоков, адрес которых кратен 16 байтам.

Заметим, что при использовании функции Block Transfer, выполнение операции записи в видео память делегируется процедурам firmware системной платы или видео адаптера. Поддержка GOP видео адаптером потенциально дает возможность оптимизации алгоритмов и методов доступа к видео памяти для заданной модели графического процессора или полной аппаратной поддержки этой функции средствами 2D акселератора.

Интрига в том, насколько полно разработчики оборудования реализовали данный по­тен­ци­ал — это и покажут бенчмарки…

Примечание.
Используется 32-битное кодирование пикселей, согласно требованиям GOP. Таким образом, 16 байт (128 бит) это 4 пикселя, 4 байта (32 бит) это один пиксель.


20.01.2018