msr

    2热度

    2回答

    我写了一个程序,它读取了Intel芯片上的APERF/MPERF计数器(http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.pdf的第2页)。 这些计数器可通过readmsr/writemsr指令读取/写入,我目前只是通过Windows

    1热度

    1回答

    我正在开发low level routines for binary search in C和x64程序集,并尝试测量未缓存阵列(RAM中的数据)搜索的确切执行时间。根据分支预测的“幸运”程度,搜索同一个阵列以获得不同的目标会花费大量不同的时间。我可以准确地测量最短执行时间和中间执行时间,但我发现很难衡量最大执行时间。 问题是分支预测的最坏情况在时间上可以与平均情况加上处理器中断相比较。最糟糕的情

    1热度

    1回答

    我使用以下代码读取msr,但运行时崩溃。我不知道为什么。 #include <stdio.h> #include <stdlib.h> int main() { register long ecx asm("%ecx"); register long eax asm("%eax"); register long edx asm("%edx");

    1热度

    1回答

    我正在尝试读取MPERF和APERF MSR。但是,当我这样做时,机器会重新启动,可能是因为GP异常。 这里是我使用的代码: ; Read MPERF register mov ecx, 0xe7 rdmsr 代码打破上RDMSR。我有一个英特尔Haswell处理器。我在长时间模式下运行。 我很确定我在Ring 0中运行,因为我正在运行我自己的操作系统。此外,如果我这样做: ; Read

    1热度

    1回答

    我曾尝试使用谷歌搜索,并发现MSR_PKG_ENERGY_STATUSRAPL下,但不幸的是,它只支持像桑迪桥,常春藤桥等新的处理器。是否有任何其他方式得到它在旧的处理器? 这是我的处理器:http://ark.intel.com/products/50176/Intel-Pentium-Processor-P6200-3M-Cache-2_13-GHz 我不是找只为这一个特定的方法,但试图找到所

    0热度

    1回答

    我正尝试通过读取sysfs文件/dev/cpu/0/msr来读取机器特定寄存器(MSR)。它通常具有只读根权限的读写权限。我将这些权限更新到666(当然使用sudo权限),然后尝试以普通用户的身份读取文件。它不允许我这样做。但是,如果我试图用sudo打开文件,它允许我打开文件并阅读。 我也尝试使用chown命令更改文件的所有权。目前该文件的状态如下: [[email protected]]$ ls

    1热度

    1回答

    英特尔处理器中的最后一个分支记录功能。它们适用于具有大量分支的大型程序吗?如果是的话,你如何通过使用16个MSR寄存器来确定整个路径?

    0热度

    1回答

    欲写入PMC1寄存器,所以想要RCX设定为188 我使用使用WRMSR指令的码被附加在末端。问题是我将eax和ecx值(64位)传递到宏,,但%rcx寄存器始终设置为eax值。 #define RTXEN_WRITE_MSR(eax, ecx) __asm__ __volatile__(\ "movq %0, %%rax\n\t"\ "xorq %

    2热度

    1回答

    我试图做一个内核模块来启用x87 FPU的FOP兼容模式。这是通过设置IA32_MISC_ENABLE MSR中的位2完成的。下面的代码: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <asm/msr-index.h> #include <asm/msr.h>

    -1热度

    1回答

    如何确定Ivy Bridge系统上的纠错是否有效? (需要结合至强12xx-v2 CPU和ECC UDIMM)。 理想情况下,这种方法也可以在没有必需硬件的系统上运行(并且返回ECC被禁用),并在硬件存在时检查内存控制器配置。但为了我的目的,我只需要它在一个确实具有ECC功能的CPU和RAM的系统上工作。 通常情况下,我会使用MemTest86 +等现有工具来检查此问题,但尚未更新以支持Ivy B