Новости

02.10.2017

RU.efi, утилита Джеймса Ванга, сотрудника тайваньского ...

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

    Публикации

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

    Утилиты

    Реклама

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

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

    Утилита TurboBoost

    Утилита TurboBoost.efi предназначена для выполнения в среде UEFI x64. Она позволяет измерять тактовые частоты внутренних счетчиков процессора и выводит результат в виде трех параметров. Всем желающим предлагается для ознакомления открытый исходный код утилиты TurboBoost.efi.

    TSC

    Этот параметр является результатом измерения рабочей частоты счетчика TSC (Time Stamp Counter) инкрементируемого в каждом такте процессора.

    В процессорах с поддержкой технологии Intel Turbo Boost, понятие тактовой частоты несколько видоизменяется - можно раздельно измерить штатную и текущую форсированную тактовые частоты, поэтому утилита визуализирует два дополнительных параметра:

    IA32_MPERF

    Этот параметр является результатом измерения рабочей частоты счетчика IA32_MPERF (maximum non-turbo performance), это максимальная тактовая частота процессора, допустимая в «неразогнанном» состоянии.

    IA32_APERF

    Этот параметр является результатом измерения рабочей частоты счетчика IA32_APERF (actual turbo performance), это текущая тактовая частота процессора, с учетом «разгона». Так как технология Intel Turbo Boost может изменять тактовую частоту процессора автоматически, значение этого параметра может быть различным от запуска к запуску.

    Используемые Model-Specific регистры:

    Утилита использует технологию Hardware Coordination Feedback Capability, доступность которой проверяется посредством функции 6 инструкции CPUID.

    В качестве источника образцовых интервалов времени используется подсистема RTC (Real Time Clock). Очевидно, в целях совместимости с платформами, не оборудованными Legacy-ресурсами, было бы логичнее использовать платформенно-независимые счетчики, реализованные в рамках CPU Architectural Protocol (CAP). Но так как далеко не все реализации UEFI firmware корректно поддерживают данный UEFI-протокол, было принято решение задействовать RTC.

    Тестирование

    При испытаниях на ноутбуке ASUS N750JK с процессором i7-4700HQ 2400MHz (ядро Haswell) было замечено, что в среде UEFI, до загрузки операционной системы технология Intel Turbo Boost «разгоняет» процессор до частоты около 3.2 GHz. Причем, тактовая частота остается повышенной при переходе на питание от аккумулятора. Видимо, функциональность механизмов ACPI, управляющих производительностью и электропитанием, в среде UEFI ограничена. Не удивительно, что разрядка аккумулятора происходит значительно быстрее, чем под операционной системой. Этот тезис также подтверждается высокими оборотами вентилятора и нагревом устройства.

    CPU frequencies [MHz]:
    TSC = 2394.4
    IA32_MPERF = 2394.4
    IA32_APERF = 3192.5
    Intel Turbo Boost monitor. (C)IC Book Labs 02.04.2015.

    Другая особенность — для данного ноутбука, заявленная тактовая частота в режиме Turbo Boost равна 3.4GHz. Выполняя мониторинг под операционной системой можно видеть, что это значение достигается. В то же время, зафиксированная форсированная тактовая частота в среде UEFI около 3.2GHz. Это станет предметом дальнейших исследований. Во-первых имеет значение состояние ряда Model-Specific регистров процессора, которое устанавливает firmware, а операционная система может корректировать их значения. Во-вторых, во время измерительного интервала, который длится одну секунду, программа выполняет только одно действие — циклически считывает содержимое регистра подсчета секунд RTC, это не создает высокой нагрузки на процессор. Решение — переработать алгоритм и разместить в измерительном цикле ресурсоемкие вычислительные операции, сохранив при этом точность измерения.

    Отказ от поддержки

    На платформах не оснащенных функциональностью TurboBoost работа утилиты завершается выводом сообщения Hardware coordination feedback capability not detected. Таким, в частности, может быть завершений работы в UEFI-среде, сформированной виртуальной машиной Oracle.

    Пример запуска утилиты TurboBoost.efi в UEFI-середе, сформированной виртуальной машиной Oracle



    17.11.2017