Новости

30.08.2017

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

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

    Публикации

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

    Утилиты

    Реклама

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

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

    UEFImark, EBC Edition

    EFI Byte Code — метод разработки кроссплатформенного программного обеспечения для расширяемого интерфейса фирменного программного обеспечения. Принципы, положенные в его основу, задекларированы в спецификации UEFI (Unified Extensible Firmware Interface) и базируются на том, что программа, написанная в системе команд виртуальной машины, может быть выполнена на любой аппаратной платформе. Предполагается, что работоспособность байт-кода обеспечивает интерпретатор EBC-команд, который входит в состав firmware сис­тем­ной платы.

    Сегодня поддержка EFI Byte Code (EBC) реализована в рамках программного обеспечения UEFI на следующих платформах: IA32, x64, IPF (Itanium Processor Family) и ARM. Это позволяет портировать функциональность утилиты UEFImark, реализованной в настоящее время только для работы в x64-среде, в единый кроссплатформенный продукт UEFImark EBC Edition, под­дер­жи­ва­ю­щий все перечисленные выше платформы.

    Скриншот утилиты UEFImark, EBC Edition, при разрешении 1024х768 пикселей на платформе ASUS T100T

    Рис 1. Скриншот утилиты UEFImark, EBC Edition,
    при разрешении 1024х768 пикселей на платформе ASUS T100T
    .

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

    В процессе выполнения утилиты UEFImark EBC Edition на экран выводятся следующие данные, информирующие пользователя о системных характеристиках и графических возможностях платформы:

    UEFI specification

    Номер ревизии спецификации UEFI, которому соответствует firmware платформы. Метод получения информации – чтение поля Revision заголовка таблицы EFI_SYSTEM_TABLE.

    Firmware revision

    Версия UEFI firmware платформы. Метод получения информации – чтение поля Firmware Revision таблицы EFI_SYSTEM_TABLE.

    Firmware vendor

    Строка описания производителя UEFI firmware платформы. Метод получения информации – чтение указателя Firmware Vendor из таблицы EFI_SYSTEM_TABLE. По адресу, заданному данным указателем находится искомая текстовая строка в кодировке UNICODE16.

    EBC VM revision Версия виртуальной машины EFI Byte Code, входящей в состав UEFI firmware платформы. Для получения этого параметра используется EBC-инструкция BREAK 1, возвращающая номер версии EBC VM.

    CSM module

    Информация о наличии модуля поддержки совместимости (Compatibility Support Module) в составе UEFI firmware платформы. Модуль CSM считается присутствующим, если при попытке детектирования протокола LEGACY_BIOS_PROTOCOL, с помощью функции Locate Protocol, на основании идентификатора GUID, получен позитивный результат.

    Native width, bits

    Нативная разрядность центрального процессора. Для получения этого параметра используется EBC-инструкция MOVINW, типовые значения: 32 или 64 бита. Отметим, что данный параметр определяется реализацией UEFI firmware, например, при работе IA32 EFI на платформе с 64-битным процессором, значение данного параметра будет 32. В той же строке дополнительно визуализируется разрядность физического адреса в битах (physical address width). Этот параметр визуализируется только для платформ x86 (IA32 и x64), для его получения используется нативная инструкция CPUID (function 80000008h).

    CPU vendor string

    Текстовая строка, идентифицирующая производителя процессора. Этот параметр визуализируется только для платформ x86 (IA32 и x64), для его получения используется нативная инструкция CPUID (function 00000000h).

    CPU name string

    Текстовая строка, идентифицирующая модель процессора. Этот параметр визуализируется только для платформ x86 (IA32 и x64), для его получения используется нативная инструкция CPUID (functions 80000002h-80000004h).

    CPU features

    Список основных технологий, поддержка которых декларирована процессором. Этот параметр визуализируется только для платформ x86 (IA32 и x64), для его получения используется нативная инструкция CPUID (functions 00000001h, 80000001h).

    Clocks, MHz

    Основные тактовые частоты платформы. Параметр TSC отражает частоту работы регистра Time Stamp Counter (счетчик, входящий в состав процессора, инкрементируемый по каждому такту). Этот параметр визуализируется только для платформ x86 (IA32 и x64), для его получения используется нативная инструкция RDTSC, для измерения частоты TSC, в качестве источника образцовых интервалов используется подсистема Real Time Clock (RTC). В той же строке дополнительно визуализируется параметр CAP, отражающий рабочую частоту таймера, доступного для программного обеспечения посредством функций протокола CPU_ARCHITECTURAL_PROTOCOL (CAP). Чтение значения тактового периода таймера CAP timer в фемптосекундах (10 в степени минус 15 секунды) и его текущего состояния выполняется посредством функций протокола CAP, то есть, методом, не зависящим от аппаратных особенностей платформы. Поэтому, использование данного таймера для измерения времени в бенчмарках, делает возможным выполнение бенчмарок на платформах, отличных от x86.

    Graphics mode

    Параметры графического режима, выбранного на основании содержимого файла конфигурации и возможностей оборудования. Xsize, Ysize – горизонтальное и вертикальное разрешение в пикселях. BPP (Bits per Pixel) - количество бит на пиксель. В соответствии с архитектурой UEFI GOP (GRAPHICS_OUTPUT_PROTOCOL), поддерживается только BPP=32. Поддержка других значений BPP возможна в случае добавления поддержки технологий вывода графики, отличных от GOP.

    System memory, KB

    Размер доступной оперативной памяти двух видов. UEFI memory – рабочая память UEFI firmware, Reserved for ACPI memory – память, зарезервированная для нужд интерфейса ACPI. Для получения двух указанных параметров, используется UEFI API-функция GET_MEMORY_MAP, возвращающая карту памяти в виде последовательности дескрипторов, описывающих блоки памяти с различным статусом. Параметр UEFI memory – это сумма размеров блоков, имеющих следующие статусы:

    Параметр Reserved for ACPI memory – это сумма размеров блоков имеющих следующие статусы:

    GOP.BLT, FPS

    Параметр Fill – результат измерения производительности процедуры GOP.BLT.Fill, выполняющей построение монотонного прямоугольника на экране, путем заполнения заданных участков видео памяти заданной константой. Параметр Copy – результат измерения производительности процедуры GOP.BLT.Copy, выполняющей построение на экране прямоугольника, пиксельное содержимое которого предоставляется данной процедуре в буфере, находящемся в оперативной памяти. Содержимое данного буфера копируется в заданные участки видео памяти. В данном тесте, размер прямоугольника задан равным размеру экрана. Для измерения времени используется таймер, реализованный в рамках CPU Architectural Protocol (CAP), метод доступа к которому не зависит от аппаратных особенностей платформы. Объем видео памяти, используемой для представления экрана, зависит от горизонтального и вертикального разрешения, а также количества бит на пиксель. Соответственно, чем больше разрешение и количество бит на пиксель, тем больший объем требуется обработать. Поэтому, количество кадров в секунду или FPS (frames per second) будет различным для различных видео режимов. При сравнении производительности двух систем для них требуется использовать одинаковые видео режимы.



    24.09.2017