rel="file-list" href="file:///c:/docume%7e1/micros%7e1/locals%7e1/temp/msoclip1/03/clip_filelist.xml">cpuid
指令是乙個非常有用的指令,通過它能夠獲知相關
cpu的具體規格,比如是否支援
mmx/sse/sse2/sse3/ssse3/sse4.1/sse4.2
指令,i/dcache
的大小,廠商等資訊。因為一些老的
cpu不支援它,為了程式有更好的相容性,所以在使用之前最好要檢查一下當前系統是否支援它。
那麼如何檢測呢?
很簡單,
eflags
暫存器的第
21位用於指示是否
cpuid
能夠被使用。如果軟體能夠對它進行設定或者清除,那麼當前系統是可利用的。為了給大家清楚的說明這點,我這裡給出了乙個例子(因為水平有限,請大家將就一些啦j)。
int cpuid_issupported( void )
return supported; }
對eflags
暫存器我們不能夠直接訪問,所以通過
pushfd/popfd
來完成相應的修改動作。程式的基本思路是先將
eflags
存放在eax/ebx
中,在修改它的第
21位後通過
popfd
來完成更新工作。在此之後,通過再次獲取它的當前值(存放在
eax中)與修改前之值(存放在
ebx中)進行比較,若發現一致,則表面當前系統不支援
cpuid
指令,反之亦然。
小結:1.
程式中的
push ebx
和popfd
2. 沒有對它進行什麼優化,程式可能存在邋遢部分。如果哪位網友能夠幫助優化,我將深表謝意。
如何檢查系統是否支援Zend Optimizer
zend optimizer 主要有兩個功能 1 可以加速 php 指令碼的執行 2 可以給用 zend 加密的檔案解密。所以,一般來說,如果 php 指令碼沒有經過加密,可以不必安裝 zend optimizer 目前我們的產品中包含加密檔案的產品有 supesite supev ucenter ...
如何檢視自己的電腦 CPU 是否支援硬體虛擬化
在你安裝各種虛擬機器之前,應該先測試一下自己的電腦 cpu 是否支援硬體虛擬化。如果你的電腦比較老舊,可能不支援硬體虛擬化,那麼將無法安裝虛擬機器軟體。使用 securable.exe 工具來檢視自己的電 腦cpu 是否支援硬體虛擬化。這是最簡單的一種方法,可以很直觀的看出電腦 cpu 是否支援虛擬...
linux系統中如何通過程式來獲知系統資訊
linux系統中如何通過程式來獲知系統資訊 最近在做乙個專案,遇到要在程式中動態的獲取裝置硬體資訊。糾結了我很長時間,今天突然發現原來在linux中有api函式直接就可以實現。對於好東西,當然要和大家share下了。一.uname 函式 1.使用uname函式來實現 獲取系統資訊 1 函式原型 in...