• What gives a highly accurate event timer. ACPI HPET Table what is this in the BIOS? How to change the timer value and speed up Windows

    Hi all. So, today we will talk about the BIOS, or rather about the function in it called ACPI HPET Table. I see that the name contains the word ACPI, I want to say right away that this is the interface through which interaction occurs between the operating system, hardware and BIOS. So what is HPET (High Precision Event Timer)? This is a kind of high-precision timer that has been used in chipsets since 2005. HPET was created by Intel and Microsoft, which hints at the level of seriousness...

    In general, the HPET Support option includes the HPET timer itself. ACPI HPET Table is an extended interrupt table and I think it’s worth enabling if you have enabled HPET. There may also be an HPET Mode option, it can be set to 32 bits or 64, look at what Windows bit depth you have, and set it.


    Why is HPET needed? It is capable of creating high-precision interrupts, in short it is not clear. But the effect of all this can be seen in multimedia, for example when playing a video, but I myself cannot understand what effect it is. Maybe it’s a response, maybe somehow the video will play back faster... Although it’s written that HPET can provide smooth playback, I can’t understand what that means =(

    HPET is fully supported by operating systems starting from Windows Vista.

    Honestly, I myself can’t really understand what HPET is. However, it seems to be able to speed up some multimedia tasks on PC. HPET in a sense is a kind of optimization of the processor, well, something like that =)

    I also found some information that it could be that Windows doesn’t want to install, it throws a blue screen. The guy writes that he looked through a bunch of information, nothing helped, and then he went to the BIOS, here:

    BIOS/Advanced/ACPI Configuration/

    There I found the ACPI HPET Table option, turned it on and installed Windows normally, what a joke =)

    So, there's a little confusion here. In short, Windows can use HPET without taking into account the settings in the BIOS, understand? It turns out that Windows itself can use its own timers, but not those built into the processor (as I understand it, they are the ones that are enabled in the BIOS by the HPET option). From this we conclude that if you enabled HPET in the BIOS, then in Windows itself you need to disable timers so that only timers in the process are used. Everything seems to be so. Timers in Windows are disabled like this, you need to open the command line with administrator rights, in Windows 7 this is done like this, in the start write cmd and then right-click on it and select this item:

    Well, if you have Windows 10, then press Win + X and then select this item:

    Now the teams. To disable Windows timers, first use this command, it disables the timer itself (if I understand everything correctly):

    bcdedit /set useplatformclock false

    Then this one, it removes the useplatformclock value:

    bcdedit /deletevalue useplatformclock

    These two commands, I found them on the War Thunder gaming forum, where these commands are offered to reduce lags in the game, I think this clearly says something... And by the way, this did not help everyone remove the lags; one person writes that the hardware also matters here...

    By the way, here is the command to enable the timer:

    bcdedit /set useplatformclock true

    Again. As I understand it, if HPET is enabled in the BIOS, then in Windows itself it should be disabled so that timers only in the processor are used. I hope I understood everything correctly =)

    And I also read that if your programs open slowly or there are some jerks in the computer’s operation, then it’s worth checking whether HPET is enabled.

    In short, the guys with these teams are still unclear to me. But I know one thing, I have never touched these timers, never in all my time using the computer. Secondly, I understood for sure that this could somehow affect performance, that is, improve it, if these timers are mentioned on the gaming forum. You may be wondering whether to enable HPET or not? Experiments are needed here. If you have strange freezes or slowdowns for a second, or maybe the programs are starting up a little slowly, then try turning HPET on or off. And if you turn on HPET, then disable timers in Windows itself, I wrote above how. I haven’t gone deep into the topic, but there are some other commands about this... you need to search on the Internet..

    I don’t know, but it seems that the ACPI HPET Table option is enabled by default.

    I found some more information. HPET is a high precision interrupt timer that operates at a high frequency which allows the system to respond faster as the hardware will be able to respond to requests faster. In short, it's a little confusing, but it seems clear. HPET seems to increase the response of the system or hardware to requests. By the way, I already mentioned the response above and it turned out to be right, hehe...

    Guys, I found a message from one person on a foreign forum, the message has already been translated into Russian, look what is written:

    Well, here is the ACPI HPET Table option itself in the BIOS:

    Here is another picture, this is the BIOS in a new format, so to speak, there is also an ACPI HPET Table option, and by the way, it is also enabled:

    Guys, this is how it goes. We somehow figured out what ACPI HPET Table is. The only thing that is not clear is about the inclusion. Do I need to disable it in Windows if HPET is enabled in the BIOS? I just read that if it is enabled in both Windows and BIOS, then the Windows timer will be used first, and only if it is disabled, it will use the timer in the processor. In short, it’s unclear. But I think you now understand exactly what HPET is. Good luck to you and may everything be wonderful in your life!

    HPET was introduced by Intel and Microsoft in 2005. This is a hardware timer that is located within the southbridge - the component responsible for communicating between the processor and the hard drive, video card, optical drive and other devices to ensure maximum throughput.

    Hardware Timer Functions

    The purpose of the timer is to count the number of system events associated, for example, with access to the hard drive. The moment the preset value is reached, an interrupt is generated. The processor pauses the current program and executes the code associated with the new instruction.

    Specifically, HPET's job is to synchronize media streams, ensure smooth audio and video playback in the operating system, and offload CPU timers.

    A symptom of HPET not working correctly (or completely inactive) is, for example, regular Windows freezes for seconds. The computer starts to work slowly over time. In such a situation, you should think about changing the parameters of the specified function.

    How to change the timer value and speed up Windows

    First we need to determine whether our platform generally supports it. Everything is simple here - Windows Vista and new versions support HPET, XP does this partially, old “windows” do not use this additional timer at all. If in doubt, look in the BIOS.

    In the additional parameters (Advanced) there should be an option Configuration PCH or HPET Mode (the name may differ slightly depending on the BIOS version and the motherboard manufacturer). We need to find a High Precision Timer, ACPI HPET Table or similar. Here you can enable or disable it.

    However, Windows tends to overwrite the settings and use HPET despite the settings in the BIOS. Therefore, after booting the system, you need to open a command prompt with administrator rights. To call it in Windows 10, right-click on the Start menu and select the appropriate item.

    You can enable HPET using the command:

    bcdedit /set useplatformclock true

    This is the only timer that is activated through Windows. To disable it, use the command:

    bcdedit /deletevalue useplatformclock

    Then the operating system will be forced to use timers built directly into the processor.

    Important: This review is not intended to suggest that HPET should be completely on or off. If you encounter problems with the system freezing - programs opening slowly or the computer running erratically - then you should check if HPET is working and try different settings. The result obtained will depend on the exact determination of the cause of the specified problem.

    The HPET Mode function is intended to set the operating mode of the HPET hardware timer. The function has only two variants of values ​​– 32 bit and 64 bit.

    Before the advent of HPET, personal computers used RTC (Real Time Clock) and Intel 8254 hardware timers. However, these timers are largely inadequate to meet modern requirements. In particular, their clock frequency does not exceed several tens of kilohertz, and due to their low operating speed, they often generate many unused interrupts. In addition, they have low accuracy in determining time intervals.

    This situation did not suit both software and hardware manufacturers. As a result, two leading companies in both fields, Microsoft and Intel, joined forces, and in 2005 their joint development, the High Precision Event Timer (HPET), appeared.

    This timer was developed primarily to improve the performance of multimedia applications and therefore was initially called a multimedia timer. However, it later turned out that multimedia timers were software timers used in graphical operating shells of the Windows 3.x family, so the name of the timer was replaced by HPET.

    The use of a high-precision event timer has improved the performance of many application programs, as well as games that use multimedia content, and increased the smoothness of its playback.

    The HPET timer requires support from the operating system to operate. Most modern operating systems, starting with Windows Vista, support it. Although Windows XP, starting with SP2, also has an HPET driver, this operating system does not actually use this timer. In addition, the timer is supported by modern versions of Mac OS X, Linux, Solaris and FreeBSD.

    At the hardware level, in most chipsets the HPET timer is located in the south bridge of the motherboard. It operates at 10 MHz and has a 64-bit main counter. In addition, timer has a large set (from 3 to 256) of special auxiliary comparator counters that are capable of generating interrupts and can be controlled by both the operating system and application programs. Comparators support both 32-bit and 64-bit operating modes.

    The High Precision Event Timer was originally designed for 64-bit operating systems. However, it can also run on 32-bit systems. The HPET Mode option is designed to switch the operating mode of comparators from 32-bit to 64-bit.

    The function can be available only after enabling the general mode of support for High Precision Event Timer technology in the BIOS using.

    Which option value should I choose?

    If you have a 32-bit OS installed on your computer that supports HPET, then you must select the 32 bit option. If you are using a 64-bit operating system that supports HPET, it is best to select 64 bit.

    Setting the 32-bit mode option on a 64-bit system will not seriously affect system performance, except that application programs will not be able to access advanced timer capabilities. However, selecting 64-bit mode will allow Windows to take full advantage of High Precision Event Timer technology.

    If you have both 32-bit and 64-bit operating systems installed on your computer that support HPET, then it is recommended to select the 32-bit mode option. If you have an operating system that does not support HPET and a 64-bit OS that supports HPET, then you can safely install the 64 bit mode.