问题标签 [hpet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2392 浏览

c++ - 用于测量时间的 HPET 频率与 CPU 频率

我需要以纳秒为单位测量函数执行时间。现在我想了解我的计算机是否可以做到这一点,以及测量的精度是多少。有人建议使用 QueryPerformanceFrequency() 来获取 HPET 的频率,而 1/hpetFrequency 是可以测量的原子时间。这是正确的吗?我的意思是如果我的 cpu 频率是 3.33 GH,即使是 1GHz,那么一个时钟持续时间也是 1 纳秒。不是说我可以用纳秒来衡量吗?

对于测量时间 CPU 或 HPET 的频率是必不可少的,为什么?

0 投票
0 回答
442 浏览

macos - DSDT 补丁中的设备 HPET 在编译“无法从此范围访问对象 (BUF0)”时返回错误

有谁知道如何摆脱这个编译错误?这是 dsdt 中的设备,我正在使用存储库中的补丁。

原始设备HPET是:

修补的那个,它抛出了那个错误。问题是这样的,我正在尝试启动 OSX,但出现 No hpet 错误。

0 投票
1 回答
174 浏览

windows - Windows 是否提供对 HPET 的任何 API 访问?

我目前对使用 HPET 计时器获得微秒分辨率计时感到好奇。关于在线使用此设备的信息似乎很少。我确实找到了 Linux 提供 HPET 驱动程序的信息,并且源代码中有一个示例演示了用户模式 ​​API,还有一个旧的邮件列表线程似乎表明(曾经?)一个内核模式 API 也可以使用它,但除此之外的文档很少。

到目前为止,我还没有找到任何与 Windows HPET 驱动程序等效的东西。Windows 是否提供某种接口、内核模式的用户模式以在 x86 平台上访问和使用 HPET?谷歌在这里让我失望了,因为它似乎或多或少地充斥着论坛帖子和文章,询问出于性能原因启用/禁用 HPET。

0 投票
0 回答
39 浏览

timer - 操作系统以纳秒为单位配置 HPET 计时器

我正在从头开始编写操作系统以在 qemu 下运行,并设置了 HPET 计时器。为了每 1 毫秒打勾,我设置了:

滴答声是每 1 毫秒。frequency是 100000000(打印到控制台)。

我现在想每 1 纳秒打勾。如果频率是frequency = 100000000我认为它们是 10 ns,我可以除以 10 得到 1ns,但是这不起作用并且时间变得非常慢。我试图除以 1000000,但它仍然算不上时间。如何获得正确的ticks值,frequency以便每 1 纳秒滴答一次?

0 投票
0 回答
17 浏览

windows-subsystem-for-linux - WSL 在 /dev/hpet 没有 hpet

/dev/hpet 在 WSL2 (Ubuntu 20.04) 中似乎不存在 - 有没有办法启用它以允许从 /dev/hpet 读取的应用程序?

0 投票
0 回答
16 浏览

qemu - 如何在 QEMU 上使用 ACPI 2.0+?

我想使用 ACPI 2.0+ 来检测 HPET。现在我读了这篇文章:Qemu support for ACPI 2.0+并意识到 SeaBIOS 太旧了,不支持 ACPI 2.0+。我该如何使用它?我应该使用 OpenBIOS 等替代 BIOS 吗?或者我应该使用 QEMU 提供的 -acpitable 标志来加载额外的 ACPI 表?