Acpi hpet table что это в БИОСе? zhitsoboy.ru

Acpi hpet table что это в БИОСе?

Устройства системной поддержки: исследовательская работа № 8

Содержание статьи

Детектирование устройств с использованием ACPI

Во времена DOS и систем IBM PC/XT/AT многие системные устройства, например
«старый» таймер Intel 8254 имели фиксированную архитектуру, их наличие и
параметры конфигурации не могли быть опциональными. Поэтому, для DOS программ не
стояла задача детектирования таких устройств, программы были «уверены» в их
наличии и фиксированной конфигурации, и использовали их без каких-либо
предварительных проверок.

Позднее, появился интерфейс System PnP, который позволял передавать
информацию о конфигурации устройств от BIOS к ОС. «Старые» контроллеры DMA,
прерываний и таймер входят в число устройств, параметры которых декларируются
средствами этого интерфейса. Теоретически, это дало возможность сообщать ОС о
наличии и отсутствии данных устройств и их конфигурации, которая может
отличаться от стандартной. На практике, несмотря на это, на большинстве
платформ, все перечисленные устройства сохранились в том виде, в каком они
совместимы с DOS программами.

Рассматриваемый в данной статье таймер HPET был разработан значительно позже,
во времена господства совсем другой идеологии
. Наличие этого устройства,
количество таких устройств на плате, адреса регистров, номера используемых линий
запросов на прерывание и частота тактирования счетчиков являются опциональными
параметрами
, значения которых передаются от BIOS к ОС посредством интерфейса
ACPI и регистров самого таймера. Операционная система перед использованием
таймера HPET должна обнаружить и интерпретировать ACPI таблицу с сигнатурой
«HPET». Согласно спецификации ACPI, это сводится к следующим действиям.

1) Выполняется сканирование блока BIOS Runtime (адреса 000E0000h-000FFFFFh),
если ACPI поддерживается, там будет обнаружена структура RSDP (Root System
Description Pointer). Структура RSDP содержит указатель на таблицу RSDT (Root
System Description Table), содержащую каталог таблиц ACPI. RSDT и другие таблицы
ACPI находятся в верхних адресах Extended памяти в блоке служебной информации
BIOS. Для того, чтобы при использовании Extended памяти этот блок не был
«затерт», размер памяти, о котором рапортует BIOS, уменьшен на размер этого
блока.

2) Обнаружив таблицу RSDT, операционная система последовательно проверяет
таблицы, адреса которых перечислены в RSDT и ищет таблицу с сигнатурой «HPET».
Таких таблиц может быть несколько, если используется несколько таймеров.

3) Из таблицы HPET операционная система считывает адрес MMIO-региона, в
котором находится блок регистров HPET.

4) Другие опциональные параметры (номера используемых линий запросов на
прерывание и частота тактирования счетчиков) считываются из регистров,
расположенных в регионе MMIO.

Разумеется, детектирование RSDP и RSDT, выполняется операционной системой не
только для детектирования HPET, интерфейс ACPI сегодня является основным
средством передачи информации о конфигурации платформы от BIOS к ОС.

Подробности в [18].

Эксперимент с программированием конфигурационных регистров

В предыдущем разделе рассмотрен «легальный» метод детектирования,
работоспособный на платформах, BIOS которых поддерживает HPET и декларирует его
посредством ACPI. Вместе с тем, как было сказано выше, существует много
платформ, у которых данный компонент отсутствует, несмотря на то, что чипсет его
поддерживает. Дело тут в функциональности BIOS и, разумеется, практический совет
обладателям таких платформ, желающим появления HPET в своей системе –
перепрошивка новой версии BIOS с сайта производителя платы, а также проверка
разрешен ли HPET в BIOS Setup.

Вместе с тем, руководствуясь исследовательским интересом, автор выполнил
принудительное включение HPET на одной из платформ, у которых этого не делает
BIOS. Естественно, результаты этой операции сохраняются до первой перезагрузки.
При ее выполнении используются конфигурационные регистры, реализованные
по-разному в разных чипсетах. Процедура, добавленная в пример, работоспособна на
платах, использующих «южный мост» Intel ICH6 (это платы на чипсетах Intel 915,
925), заинтересованный читатель может добавить поддержку других чипсетов.

Программа, находящаяся в прилагаемом каталоге WORK сначала пытается найти
HPET «по-хорошему», используя ACPI, эта часть программы работоспособна
независимо от модели чипсета. Только в том случае, если это не удается,
управление будет передано на процедуру детектирования чипсета и запуска
chipset-specific процедуры включения HPET.

Для включения HPET микросхемы Intel ICH6 необходимо выполнить следующие
действия.

1) Локализовать в конфигурационном пространстве PCI блок регистров устройства
ICH6 LPC Interface. Для этого требуется найти устройство с параметрами:

Код производителя, Vendor ID = 8086h (Intel)
Код устройства, Device ID = 2640h (ICH6, ICH6R LPC Interface) или 2642h (ICH6W,
ICH6RW LPC Interface).

2) В указанном блоке прочитать 32-разрядный регистр с адресом 00F0h, это
регистр RCBA (Root Complex Base Address). Используя значение базового адреса,
выделенное из содержимого этого регистра, мы можем получить доступ к
32-разрядному регистру HPTC (High Precision Timer Configuration), который
расположен в пространстве памяти по адресу RCBA+3404h. Бит 7 регистра HPTC
разрешает доступ к блоку регистров HPET. Биты 1,0 выбирают один из четырех
вариантов адреса. Остальные биты зарезервированы.

3) Записав в регистр HPTC значение 10000000b (D7=1, D[1,0]=00) мы обеспечим
появление HPET в пространстве памяти по адресам FED00000h-FED003FFh.

Подробности в [8], [17].

Архитектура HPET

Платформа может иметь произвольное количество таймеров HPET (согласно
спецификации до 8). Каждый таймер декларируется ACPI таблицей «HPET», использует
регион MMIO размером 1KB и может содержать от 1 до 32 компараторов. Здесь
требуется пояснение. Как известно, «старый» таймер Intel 8254, имеет 3 канала,
каждый из которых является независимым счетчиком, который может запускаться,
останавливаться, загружать новое значение по командам от процессора. Таймер HPET
устроен иначе, он имеет один счетчик на все каналы. Каждый канал имеет
собственный регистр данных и компаратор (схему сравнения кодов). Когда
содержимое общего счетчика, одновременно поступающее на компараторы всех
каналов, совпадет с содержимым регистра данных в каком-либо канале, компаратор
этого канала выдаст сигнал совпадения и канал сгенерирует запрос на прерывание
(если генерация запроса разрешена).

Счетчик работает в режиме инкрементирования. Разрядность счетчика (32 или 64
бита), а также период тактового сигнала счетчика могут быть различными от
платформы к платформе. Их значения декларированы в регистре General Capabilities
and ID Registe
r.

Таким образом, чтобы запрограммировать генерацию запроса на прерывание через
некоторый интервал времени T (представленный в секундах), программа должна
пересчитать секунды в такты счетчика
, используя информацию о периоде тактового
сигнала N=T/K.

N = Количество тактов таймера в требуемом интервале
T = Длительность требуемого интервала в секундах
K = Длительность такта таймера в секундах.

Затем, в регистр данных используемого канала требуется записать число L=N+M.

L = Число для записи в регистр данных используемого канала
N = Ранее вычисленное количество тактов таймера в требуемом интервале
M = Текущее состояние общего счетчика

По прошествии N тактов, счетчик, находящийся в данный момент в состоянии M,
досчитает до состояния L и будет сгенерировано прерывание.

Опционально, канал может поддерживать периодические прерывания. В этом режиме
после каждой генерации прерывания, регистр данных автоматически (аппаратно, без
участия процессора) перезагружается константой, обеспечивающей генерацию
прерывания через такой же интервал времени. При этом упрощается работа
программного обеспечения и улучшается точность, поскольку отсутствует
погрешность, связанная с затратами времени на программирование таймера
процессором.

Источники информации

Электронные документы, доступные на сайте
developer.intel.com.

1) IA-PC HPET (High Precision Event Timers) Specification. Revision 1.0a.
2) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 1: Basic
Architecture. Order Number 253665-023US.
3) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 2A:
Instruction Set Reference, A-M. Order Number 253666-023US.
4) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 2B:
Instruction Set Reference, N-Z. Order Number 253667-023US.
5) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 3A:
System Programming Guide, Part 1. Order Number 253668-023US.
6) Intel 64 and IA-32 Architectures Software Developer’s Manual. Volume 3B:
System Programming Guide, Part 2. Order Number 253669-023US.
7) Intel 915G/915P Express Chipset Datasheet. Document Number 301467-001.
8) Intel I/O Controller Hub 6 (ICH6) Family Datasheet. Document Number
301473-001.

Читать еще:  Как узнать сколько mhz оперативная память?

Электронные документы, доступные на сайте
developer.amd.com.

9) AMD64 Architecture Programmer’s Manual. Volume 1: Application Programming.
Publication No. 24592.
10) AMD64 Architecture Programmer’s Manual. Volume 2: System Programming.
Publication No. 24593.
11) AMD64 Architecture Programmer’s Manual. Volume 3: General-Purpose and System
Instructions. Publication No. 24594.
12) AMD64 Architecture Programmer’s Manual. Volume 4: 128-Bit Media
Instructions. Publication No. 26568.
13) AMD64 Architecture Programmer’s Manual. Volume 5: 64-Bit Media and x87
Floating-Point Instructions. Publication No. 26569.
14) BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron
Processors. Publication No. 26094.
15) BIOS and Kernel Developer’s Guide for AMD NPT Family 0Fh Processors.
Publication No. 32559.
16) BIOS and Kernel Developer’s Guide (BKDG) For AMD Family 10h Processors.
Publication No. 31116.

Электронные документы, доступные на сайте
pcisig.com.

17) PCI BIOS Specification. Revision 2.1.

Электронные документы, доступные на сайте
acpi.info.

18) Advanced Configuration and Power Interface Specification. Hewlett-Packard
Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies
Ltd., Toshiba Corporation. Revision 3.0.

19) В.Л. Григорьев. Микропроцессор i486. Архитектура и программирование.
Москва ТОО «ГРАНАЛ» 1993.
20) В.Г. Артюхов, А.А. Будняк. В.Ю. Лапий. С.М. Молявко, А.И. Петренко.
Проектирование микропроцессорной электронно-вычислительной аппаратуры.
Справочник. Киев «Тэхника» 1988.
21) К. Г. Самофалов, О.В. Викторов. Микропроцессоры. Библиотека инженера. Киев
«Тэхника» 1989.
22) 2B ProGroup: В.А. Вегнер, А.Ю. Крутяков, В.В. Серегин, В.А. Сидоров, А.В.
Спесивцев. Аппаратура персональных компьютеров и ее программирование. IBM
PC/XT/AT и PS/2. Москва «Радио и связь» 1995.
23) Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов.
Микропроцессорный комплект К1810. Структура, программирование, применение.
Справочная книга. Москва «Высшая школа» 1990.

Acpi hpet table что это в БИОСе?

У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.

Отправлено спустя 4 минуты 7 секунд:
Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.

Victor Kotyara: У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.

Отправлено спустя 4 минуты 7 секунд:
Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.

HPET отключен (в винде), спецэффектов не заметил.
ПК в профиле актуален.
Думаем дальше.

Спасибо. А если отключите и SMT, и HPET в bios — тоже черный экран?

Victor Kotyara: У всех, кто жалуется на этот трабл- GTX 10хх У меня на платформе с i5-760 и GTX 1070 примерно раз — два раза в месяц комп не просыпается из спячки. Помогает лишь сброс удержанием кнопки питания, обесточиванием ПК и восстановлением профиля в БИОС. На сегодня обнаружил две причины- включенное аппаратное ускорение в браузере и переключение профилей в афтербернере с разными параметрами туда-сюда.

Отправлено спустя 4 минуты 7 секунд:
Только что выключил HPET на пробу- винда не загрузилась с первого раза. Со второго вроде работает.

На самом деле, невыход из спячки — бич Windows 10, и на предыдущих тоже встречается. Тут непонятно, в чем проблема. Но на GTX 10xx придется тоже обратить внимание

Нет, ведет себя абсолютно нормально.
Отключение таймера через диспетчер устройств ничего не меняет.

Уже не скажу где, но где-то были тесты комбинаций Hpet: Win on / bios off, win off / bios off, win off / bios on. И наилучшие результаты показал вариант, где эта хрень отключена и в биосе, и в винде. Соответственно, в выводах утверждалось что именно такой вариант будет оптимальным.

Да, местами убирает фризы, повышает результаты в тестах SSD(влияние на реальные задачи с интенсивным использованием SSD нужно исследовать), улучшает картину в LatencyMonitor, и т.д.
Но судя по тому, сколько положительных эффектов дает его отключение помимо игорей — криворукие папуасы набыдлокодили не только в играх.

Почему возникло предположение о segfault — в тесте In Depth Latency Tests (поставляется с Latency Monitor), с SMT ON на моем багнутом камне задержки доходят до 190µs, а при SMT OFF — не более 0,6-0,8µs. Когда стало известно о баге segfault, считалось что он проявляет себя только в среде Linux. Но сейчас также известно, что SMT off и OPcache Control off могут убирать короткие пики фреймтайма в играх под Windows на процессорах с багом. Конечно, многопоточность сама по себе может понижать результаты , и для ясности нужно сравнивать два камня одной модели но один с segfault, другой без него, на предмет разницы во влиянии SMT on/off но, к сожалению, таких тестов я не нашел, и другого камня у меня нету. Но если кто-то прогонит короткий тест InDepthLatencyTests на Ryzen 2000 с SMT ON, или Ryzen 1000 SMT ON БЕЗ segfault (с батч-кодом начиная с 1725) — возможно, даже это поможет хоть на шаг продвинуться в нужном направлении

Пока что список возможных виновников таков: MSI, AMD (чипсеты B350/B450, сами процессоры, либо AGESA), Nvidia Pascal.

Check ready bit что это в биосе

HPET был введен компаниями Intel и Microsoft в 2005 году. Это аппаратный таймер, который находится в пределах южного моста – компонента, отвечающего за связь процессора с жестким диском, видеокартой, оптическим приводом и другими устройствами для обеспечения максимальной пропускной способности.

Функции аппаратного таймера

Задачей таймера является подсчет количества системных событий, связанных, например, с доступом к жесткому диску. В момент, когда предварительно установленное значение будет достигнуто, создается прерывание. Процессор приостанавливает текущую программу и реализует связанный с новой командой код.

В частности, задача HPET состоит в синхронизации мультимедийных потоков, обеспечении плавного воспроизведения аудио и видео в операционной системе и разгрузке таймеров процессора.

Симптомом неправильной работы HPET (или полного его бездействия) являются, например, регулярные секундные зависания Windows. Компьютер со временем начинает медленно работать. В такой ситуации следует задуматься над изменением параметров указанной функции.

Как сменить значение таймера и ускорить Windows

Сначала нужно определить, поддерживает ли ее в целом наша платформа. Здесь все просто – Windows Vista и новые версии поддерживают HPET, XP делает это частично, старые «окна» вообще не используют этот дополнительный таймер. В случае сомнений следует заглянуть в BIOS.

В дополнительных параметрах (Advanced) должна быть опция Configuration PCH или HPET Mode (название может немного отличаться в зависимости от версии BIOS и производителя материнской платы). Нам нужно найти High Precision Timer, ACPI HPET Table или похожее. Здесь можно ее включить или отключить.

Тем не менее Windows имеет тенденцию к перезаписи установленных параметров и использовать HPET, несмотря на настройки в Биосе. Поэтому после загрузки системы нужно открыть командную строку с правами администратора. Для ее вызова в Windows 10 кликните правой кнопкой на меню Пуск и выберите соответствующий пункт.

Читать еще:  Как ускорить загрузку страниц в Mozilla Firefox?

HPET сможете включить с помощью команды:

bcdedit /set useplatformclock true

Это единственный таймер, который активируется через Windows. Для его отключения используйте команду:

bcdedit /deletevalue useplatformclock

Тогда операционная система будет вынуждена использовать таймеры, встроенные непосредственно в процессор.

Важно: в этом обзоре речь не идет о том, что HPET должен быть полностью включен или выключен. Если вы столкнулись с проблемами зависания системы – медленно открываются программы или рывки в работе компьютера — то следует проверить, работает ли HPET, и попробовать разные настройки. Полученный результат будет зависеть от точного определения причины указанной проблемы.

Простой компьютерный блог для души)

Всем привет. Итак, сегодня у нас речь пойдет о биосе, а вернее про функцию в нем под названием ACPI HPET Table. Вижу что в названии есть слово ACPI, хочу сразу сказать, что это интерфейс, при помощи которого происходит взаимодействие между операционкой, железом и биосом. Так что же такое HPET (High Precision Event Timer)? Это некий высокоточный таймер, который используется в чипсетах с 2005-го года. HPET был создан компаниями Intel и Microsoft, что как бэ намекает уровень серьезности…

Вообще опция HPET Support включает сам таймер HPET. ACPI HPET Table это расширенная таблица прерываний и думаю что стоит включать, если вы активировали HPET. Еще может быть опция HPET Mode, там выставляется 32 бита или 64, это смотрите какая у вас винда разрядности, ту и выставляйте.

Зачем нужен HPET? Он способен создавать прерывания высокой точности, короче непонятно. Но эффект от этого всего можно заметить в мультимедии, например при воспроизведении видео, какой именно эффект я сам не могу понять. Может дело в отклике, может как-то видео будет шустрее воспроизводиться.. Хотя вот написано что HPET может обеспечить плавное воспроизведение, но что это значит я понять не могу =(

Полноценно HPET поддерживают операционки начиная с Windows Vista.

Честно, я сам толком не могу понять что такое HPET. Однако кажется оно может ускорить некоторые мультимедийные задачи на ПК. HPET в некотором смысле некая оптимизация работы процессора, ну что-то в этом духе =)

Еще нашел инфу, что может быть такое, винда не хочет ставиться, выбивает синий экран. Чел пишет, что он перерыл кучу инфы ничего не помогало, а потом пошел биос, вот сюда:

Там нашел опцию ACPI HPET Table, включил ее и нормально поставил винду, вот такой прикол =)

Так, тут небольшая непонятка вышла. Короче Windows может использовать HPET не учитывая настроек в биосе, понимаете? Получается что сама винда может использовать свои таймеры, но не те, которые встроенные в процессор (я так понимаю что именно они включаются в биосе опцией HPET). Из этого делаем выводы, что если вы включили HPET в биосе, то в самой винде таймеры нужно отключить, чтобы использовались только таймеры в проце. Вроде все так. Таймеры в винде отключаются так, нужно открыть командную строку с правами админа, в Windows 7 это делается так, в пуске пишите cmd и потом правой кнопкой по нему и выбираете этот пункт:

Ну а если у вас стоит Windows 10, то там зажимаете Win + X и потом выбираете такой пункт:

Теперь команды. Чтобы отключить виндовские таймеры, используйте сначала эту команду, она отключает сам таймер (если я все верно понимаю):

bcdedit /set useplatformclock false

Потом эту, она удаляет значение useplatformclock:

bcdedit /deletevalue useplatformclock

Вот эти две команды, то я их нашел на игровом форуме War Thunder, там эти команды предлагаются чтобы уменьшить лаги в игре, я думаю это о чем-то явно говорит…. И кстати, это не всем помогло убрать лаги, один чел пишет что тут еще имеет значение аппаратная часть….

Кстати вот команда для включения таймера:

bcdedit /set useplatformclock true

Еще раз. Как я понимаю, если HPET включен в биосе, то в самой винде его стоит отключать, чтобы использовались таймеры только в процессоре. Надеюсь что я все правильно понял =)

И еще вот читаю, что если у вас медленно открываются проги или есть какие-то рывки в работе компа, то стоит проверить, включено ли HPET.

Короче ребята с этими командами все равно непонятно мне. Но я знаю одно, я никогда не трогал эти таймеры, вообще никогда за все время использование компа. Второе, я понял точно, что это как-то может повлиять на производительность, то есть улучшить ее, если об этих таймерах упоминают на игровом форуме. У вас может быть вопрос, так включать HPET или нет? Тут нужны эксперименты. Если у вас есть странные подвисания или секундные торможения, может проги как-то медленновато запускаются, то попробуйте включить HPET или отключить. И если включаете HPET, то в самой винде таймеры отключайте, выше написал как. Я в тему не углублялся, но там есть еще какие-то команды по этому поводу.. нужно искать по интернету..

Не знаю, но вроде по умолчанию опция ACPI HPET Table идет включенной.

Нашел еще инфу. HPET это таймер прерывания с высокой точностью, работает на высокой частоте, который позволяет реагировать системе быстрее, так как аппаратная часть сможет быстрее реагировать на запросы. Короче немного запутано, но вроде понятно. HPET как бы увеличивает отклик системы или железа на запросы. Кстати про отклик я уже выше упоминал и оказался прав, хе-хе…

Ребята, вот нашел сообщение одного чела на зарубежном форуме, сообщение уже перевел на русский, смотрите что пишется:

Ну а вот сама опция ACPI HPET Table в биосе:

Вот еще одна картинка, это биос уже в новом формате так бы сказать, тут тоже опция ACPI HPET Table есть и кстати она тоже включена:

Ребят, такие дела. Кое-как разобрались с тем что такое ACPI HPET Table. Единственное что непонятно о включении. Нужно ли отключать в винде, если HPET включено в биосе? Я просто читал, что если включено и в винде и в биосе, то будет использоваться в первую очередь виндовский таймер, и только если его отключить, то будет использовать таймер в процессоре. Короче непонятно. Но что такое HPET я думаю вы точно поняли теперь. Удачи вам и чтобы все у вас было прекрасно в жизни!

ACPI HPET Table что это в биосе? : 1 комментарий

Все правильно, железный таймер на материнке точнее/не отнимает ресурсов процессора в отличие от программного таймера в винде.
Поэтому в биосе надо включить, а в винде — выключить.

7.4.3 ACPI Configuration

BIOS SETUP UTILITY

Check Ready Bit

Restore on AC / Power Loss

Onboard LAN Power On

RTC Alarm Power On

Onboard CIR Power On

ACPI HPET Table

Select or disable the STR feature.

v02.54 (C) Copyright American Megatrends, Inc.

Suspend to RAM

This field allows you to select whether to or disable the feature. Select [Auto] will enable this feature if the system supports it.

Check Ready Bit

Use this item to enable or disable the feature Check Ready Bit. This option only appears when you set “Suspend to RAM” to [Auto].

Restore on AC/Power Loss

This allows you to set the power state after an unexpected AC/Power loss. If [Power Off] is selected, the AC/Power remains off when the power recovers. If [Power On] is selected, the AC/Power resumes and the system starts to boot up when the power recovers.

Читать еще:  Как разбить SSD на разделы?

Onboard LAN Power On

Use this item to enable or disable onboard LAN to power on the system.

RTC Alarm Power On

Use this item to enable or disable RTC (Real Time Clock) to power on the system.

Onboard CIR Power On

Use this item to enable or disable onboard CIR to power on the system.

ACPI HPET Table

Use this item to enable or disable ACPI HPET Table. The default value is [Disabled]. Please set this option to [Enabled] if you plan to use this motherboard to submit Windows ® Vista TM certification.

Thread: HPET and Windows 10 on RVE

Thread Tools
Search Thread
  • Linear Mode
  • Switch to Hybrid Mode
  • Switch to Threaded Mode

HPET and Windows 10 on RVE

Hullo all. Seeing as we don’t seem to have an option to enable/disable HPET (High Precision Event Timer) on the RVE, I’m wondering if anyone’s taken to playing with the settings in Windows 10 and if they’ve seen any performance improvement by disabling the device/driver for it.

For those who aren’t familiar with it, here’s just one of dozens of threads I’ve found discussing the subject.

I’m curious about the following two options:

1) Enabling HPET in Windows 10
2) Disabling the HPET driver altogether

As in, either go all in on HPET, or remove it altogether. I’m still reading up as I want to know what to actually look for in terms of latencies and performance. Will report back, tho may take me a few days. In the meantime, if anyone else has tested it, would be curious to see results.

HPET not in BIOS

I have searched the BIOS as well for this settings which was available on previous boards indeed.

Why botter? Because I bench competitavely on HWBOT (http://hwbot.org/user/henkenator68nl/) and some tests need the HPET data to verify validity and prevent buggy benchmark results . GPUPI is an example of such a benchmark tool.

However Enabling it in the OS should do the Trick. Some general info: this is the error I get when running GPUPI
High Precision Event Timer for time measurement not found!

GPUPI needs a timer with a very high resolution to ensure that the time measurement for a benchmark run is precise. Therefor you need to have the High Precision Event Timer (HPET) enabled in your BIOS settings and your system settings. To check the status of the latter, open up a command prompt with administration rights and run:
SHELL:
bcdedit /enum

The value of useplatformclock should be «Yes».

If it’s not, you can fix this by running:
SHELL:
bcdedit /set useplatformclock yes

for windows 10: type powershell in the search area next to start button. than right click Windows Powershell ISE. Choose run as Administrator.

Than type the same commands. See screenshot.

This is wrong. As almost everything in the linked thread. The only person who knows what they’re talking about is RagingCain.

1) Windows by default uses only TSC+LAPIC

2) There are no programs that are written to use HPET. Because such thing is not possible programmaticaly. There is no API call or library, for any
programming language that allows you to do so if useplatformclock is not set in BCD. Under Windows that is. If useplatform clock is set, then certain
functions (see std::chrono for example) use HPET, otherwise they use TSC.

3) If useplatformclock is not set, HPET is not used ever. Period.

4) The option is not there in the UEFI anymore because it’s always enabled. There was no point in disabling it so there was no point for the switch. It is a platform feature (meaning it’s part of the PCH, the chipset) and consumes no resources. Also because of 2 and 3 listed above it is not used anywhere unless specifically enabled in BCD.

5) Any recommendations to disable HPET, pertain to older chipsets and boards which had buggy HPET implementations. Also older Windows versions used HPET along with TSC and LAPICs because on early CPUs TSC was extremely unreliable and problematic. Specifically it got extremely messed up by variations of clock speed by EIST, Turbo, etc. Any perpetuation of such recomendations propagate only due to misinformation and/or placebo effect.

6) HWBOT will not accept benchmark results from any system with Windows 8 or newer unless HPET is enabled. This is due to these versions of Windows having a certain bug that allow you to cheat on benchmarks unless the timer used is HPET. This is why Realbench HWBOT edition required HPET to be enabled in order to submit scores if you are on those Windows versions.

EDIT:
7) There is no point in disabling the device. You will gain absolutely nothing from doing so other than having the device manager open with the system subsection expanded because it contains a disabled device. 😛

This is wrong. As almost everything in the linked thread. The only person who knows what they’re talking about is RagingCain.

1) Windows by default uses only TSC+LAPIC

2) There are no programs that are written to use HPET. Because such thing is not possible programmaticaly. There is no API call or library, for any
programming language that allows you to do so if useplatformclock is not set in BCD. Under Windows that is. If useplatform clock is set, then certain
functions (see std::chrono for example) use HPET, otherwise they use TSC.

3) If useplatformclock is not set, HPET is not used ever. Period.

4) The option is not there in the UEFI anymore because it’s always enabled. There was no point in disabling it so there was no point for the switch. It is a platform feature (meaning it’s part of the PCH, the chipset) and consumes no resources. Also because of 2 and 3 listed above it is not used anywhere unless specifically enabled in BCD.

5) Any recommendations to disable HPET, pertain to older chipsets and boards which had buggy HPET implementations. Also older Windows versions used HPET along with TSC and LAPICs because on early CPUs TSC was extremely unreliable and problematic. Specifically it got extremely messed up by variations of clock speed by EIST, Turbo, etc. Any perpetuation of such recomendations propagate only due to misinformation and/or placebo effect.

6) HWBOT will not accept benchmark results from any system with Windows 8 or newer unless HPET is enabled. This is due to these versions of Windows having a certain bug that allow you to cheat on benchmarks unless the timer used is HPET. This is why Realbench HWBOT edition required HPET to be enabled in order to submit scores if you are on those Windows versions.

EDIT:
7) There is no point in disabling the device. You will gain absolutely nothing from doing so other than having the device manager open with the system subsection expanded because it contains a disabled device. 😛

Ссылка на основную публикацию
Adblock
detector