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