【问题标题】:Determining x86 MONITOR instruction address range using CPUID instruction使用 CPUID 指令确定 x86 MONITOR 指令地址范围
【发布时间】:2011-06-28 16:59:27
【问题描述】:

英特尔的 MONITOR 文档说:

MONITOR 指令使用 EAX 中指定的地址武装地址监控硬件(监控硬件检查存储操作的地址范围可以通过使用 CPUID 确定)。存储到指定地址范围内的地址会触发监控硬件。监视器硬件的状态由 MWAIT 使用。

那么有没有人确切地知道我应该向 CPUID 提供什么 EAX 值以获得“监控硬件检查存储操作的地址范围可以通过使用 CPUID 来确定”。

或者 MONITOR 地址范围只是缓存行的大小?

【问题讨论】:

    标签: x86 monitor cpuid


    【解决方案1】:

    我自己找到了答案。本文档包含它: www.intel.com/Assets/PDF/appnote/241618.pdf

    MONITOR / MWAIT 参数(函数 05h),即 EAX 应为 5。

    【讨论】:

    • 您能否详细说明一下,即您在函数 05 中究竟在哪里看到了地址范围?我所看到的只有“最小的监控线”和“最大的监控线大小”——如何从中获取监控的地址范围?
    • ...或者这个范围可以从任意地址开始,CPUID只给出被监控范围的长度?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2020-10-16
    • 2015-10-27
    • 2023-03-23
    相关资源
    最近更新 更多