Новости

30.08.2017

Российская компания Positive Technologies анонсировала ...

  • Все новости (36)
  • Разделы новостей

    Публикации

    Майнеру на заметку

    Утилиты

    Реклама

    Обзоры компьютерных гаджетов, которые должны быть всегда под рукой

        Яндекс.Метрика
    Главная » Программы » Утилита UEFImark

    Утилита UEFImark

    Несколько месяцев назад лаборатория IC Book, приступая к работе над проектом «Железо» поставила перед собой задачу — освоить разработку графических 64-битных приложений под UEFI. Настало время инвентаризации сделанного. Первой ласточкой стала утилита измеряющая скорость записи в видео память и выводящая информацию о графических возможностях видео системы и сведения об архитектуре процессора.

    Сегодня мы предлагаем вниманию аудитории инженерный релиз программы UEFImark v0.9. Как и в любом подобном проекте предстоит длительный процесс эволюции, расширения возможностей и, конечно, работа над ошибками…

    UPD. Последние версии утилиты UEFImark доступны в разделе исходных кодов.

    Графические возможности UEFImark

    Основной графической технологией в среде UEFI является Graphics Output Protocol (GOP). Именно его задействует UEFImark для получения базового адреса и размера диапазона доступа к видео памяти, а также информации о форматировании данного диапазона. Построение графических объектов выполняется операциями записи в видео память со стороны центрального процессора. В дальнейшем планируется использовать продвинутые возможности протокола GOP, в частности, операцию BLT (Block Transfer), позволяющую подключить аппаратную 2D акселерацию.

    Состав выводимой информации

    Состав данных, визуализируемых утилитой UEFImark, рассматривается и комментируется в статье «О чем информирует UEFImark?»

    Использование UEFI-протоколов

    При запуске до переключения в графический режим утилита UEFImark инициализирует и использует следующие UEFI-протоколы для обеспечения своей дальнейшей работы:

    Конфигурирование UEFImark

    Текущая версия утилиты UEFImark поддерживает размещение файла конфигурации только в корневом каталоге текущего диска, отформатированного в соответствии с требованиями UEFI для работы с файловой системой FAT32. Конфигурационный файл создается при первом запуске утилиты и может подвергаться правкам, вплоть до удаления, в любой момент по желанию пользователя.

    Параметры целевого видео режима загружаются из текстового файла в ASCII-кодировке с зарезервированным именем uefimark.cfg:

    При указании несуществующего видео режима, устанавливается режим с ближайшим значением Xsize.

    Скриншоты и текстовые рапорты

    Графический образ экрана и текстовый файл отчета создаются в процессе работы UEFImark по нажатию клавиш:

    Состав текстового рапорта можно проиллюстрировать следующим примером:

    UEFImark v0.9. (C)IC Book Labs.
    http://jelezo.com.ua/
    September, 02 2013 Monday 16:06:37

    Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz
    TSC: 3498.0 MHz iEM64T MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX
    GOP video mode 7, X=1600, Y=1200, BPP=32
    Video memory writes (MB/S): 303.2 (SSE), 74.1 (386)

    Скорость записи в видеопамять, измеренная в мегабайтах в секунду, дается для 128-битных SSE-операций и стандартных 32-битных строковых пересылок раздельно. Это значение может быть опущено, если в процессе измерения выполнение UEFImark прерывается клавишей F9. В этом случае последняя строка рапорта будет выглядеть так:

    Video memory writes (MB/S): (benchmarks interrupted by user)

    Скриншот утилиты UEFImark в разрешении 800х600 пикселей

    Скриншот утилиты UEFImark в разрешении 800х600 пикселей

    Рис1. Скриншот утилиты UEFImark в разрешении 800х600 пикселей

    Текстовый рапорт сохраняется в корневом каталоге с уникальным именем TEXTxxxx.TXT, где xxxx — цифровая часть имени в диапазоне 0000…9999, которая формируется с инкрементом. Скриншот сохраняется в файл PICTxxxx.BMP аналогичным образом.

    Средства разработки и отладки UEFImark

    Трансляция программы и генерация кода 64-битного UEFI-приложения выполнена в среде FASM 1.69.50.

    Для трассирования кода UEFImark в процессе отладки используются контрольные точки. Их значения выводятся в диагностический порт 80h. Мониторинг отладочных кодов осуществляется POST-контроллером IC80 v5.0 производства IC Book Labs. Перечень контрольных точек приводится в документе UEFImark-Port80.pdf.

    Листинги утилиты UEFImark

    UEFImark — программный продукт с открытым исходным кодом. Все его листинги доступны в нашей библиотеке.

    Послесловие

    Разработка проекта велась на платформе ASUS Z87-K, построенной на основе системной логики Intel Z87 для процессоров Socket 1150. В силу того, что имеющийся в нашем распоряжении процессор Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz не содержит графического ядра, эксперименты проводились с несколькими моделями видео адаптеров от NVIDIA и ATI/AMD. Основные работы выполнены на Sapphire X1950PRO и HD5570 (ATI/AMD).



    24.09.2017