英特尔 RDTSC 指令(或等效指令)是否仅在您的任务中或全局计算时钟?
与之前的问题相关:making error in inline assembler in gcc
RDTSC 或类似指令,是仅针对您的进程的计数,还是全局计数?如果存在上下文切换,那么唯一的不准确之处是上下文切换本身的成本,还是计算了 CPU 在不同作业上的整个时间?
Related to earlier question: making mistake in inline assembler in gcc
in the RDTSC or similar instruction, is the count only for your process, or is it a global count? If there is a context switch, is the only inaccuracy the cost of the context switch itself, or is the entire time the CPU is on a different job counted?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该计数针对整个系统(包括正在运行的进程和所有其他进程)。
该指令计算复位后发生的滴答数。
The count is for the whole system (including your running process and every other process).
The instruction counts the number of ticks occurred from reset.
它对每个核心的指令进行计数(因此您不应该使用它在多核系统上进行计时)。当出现疑问时,英特尔开发人员指南应该是您的第一站。
It counts instructions per core(hence why you shouldn't use it for timing on a multicore system). The intel developer guides should be your first stop when a query arises.