胡 振,楊 華,周金容,譚鶴毅,代霜春
(南充職業(yè)技術(shù)學(xué)院電子信息工程系,南充 637131)
在高職院校的《計(jì)算機(jī)組裝與維護(hù)》課程教學(xué)中,計(jì)算機(jī)超頻技術(shù)是“計(jì)算機(jī)性能優(yōu)化”部分的重要內(nèi)容。但超頻操作需要滿足較高的硬件條件,而實(shí)訓(xùn)所用計(jì)算機(jī)則通常配置偏低,不能支持實(shí)機(jī)超頻設(shè)置;另一方面,計(jì)算機(jī)超頻存在硬件受損的風(fēng)險(xiǎn),也不宜讓學(xué)生直接動(dòng)手嘗試。針對(duì)這些情況,我們開發(fā)了一款計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件,并將其集成到“計(jì)算機(jī)組裝維護(hù)實(shí)訓(xùn)工具盤”[1]中,以便學(xué)生通過仿真練習(xí),逐漸掌握計(jì)算機(jī)超頻的工作流程、參數(shù)設(shè)置和測(cè)試軟件使用,為其實(shí)機(jī)操作奠定堅(jiān)實(shí)基礎(chǔ)。
該軟件采集實(shí)機(jī)超頻數(shù)據(jù)為樣本,用廣義回歸神經(jīng)網(wǎng)絡(luò)(general regression neural network,GRNN)算法預(yù)測(cè)超頻后的性能測(cè)試值,從而實(shí)現(xiàn)超頻參數(shù)設(shè)置與性能測(cè)試結(jié)果的數(shù)值模擬;采用Matlab APP Designer 設(shè)計(jì)軟件的工作界面,以Matlab 編程實(shí)現(xiàn)全部功能。為便于安裝使用,將其編譯、封裝成獨(dú)立運(yùn)行程序,并將Matlab Runtime集成到軟件安裝包中。
超頻(over clocking,OC)是通過調(diào)整硬件設(shè)置使芯片的主頻超過額定頻率,從而獲得性能提升的技術(shù)手段。
計(jì)算機(jī)超頻的主要對(duì)象是CPU、內(nèi)存和顯示卡。因CPU 的工作頻率=系統(tǒng)總線頻率(外頻)×倍頻系數(shù),故提高外頻或倍頻系數(shù)皆可實(shí)現(xiàn)CPU 超頻。現(xiàn)階段計(jì)算機(jī)的時(shí)鐘發(fā)生器整合于CPU 內(nèi)部,其基準(zhǔn)時(shí)鐘頻率(外頻)固定為100 MHz,因此需利用提高倍頻系數(shù)的方法來(lái)實(shí)現(xiàn)CPU 超頻;目前的內(nèi)存則大多支持Intel Extreme Memory Profile(XMP)標(biāo)準(zhǔn),既能輕松實(shí)現(xiàn)自動(dòng)超頻,亦可支持用戶自定義方式超頻[2];顯示卡超頻包括核心頻率和顯存頻率超頻兩方面,主要用于獨(dú)立顯卡,部分主板與相應(yīng)CPU搭配亦可實(shí)現(xiàn)核心顯卡超頻。
計(jì)算機(jī)超頻對(duì)硬件配置有較高要求,主要包括:采用可超頻芯片組的高品質(zhì)主板[3]、未鎖定倍頻的CPU、搭配超頻顆粒的內(nèi)存條、高性能顯示卡以及增強(qiáng)的供電與散熱設(shè)備。
1.2.1 計(jì)算機(jī)超頻的方法
計(jì)算機(jī)超頻的方法包括UEFI 設(shè)置法和軟件設(shè)置法。前者適合專業(yè)學(xué)習(xí)和熟練用戶采用,需進(jìn)入計(jì)算機(jī)的UEFI 設(shè)置界面修改相關(guān)參數(shù),并進(jìn)行穩(wěn)定性測(cè)試。該方法無(wú)需使用其它軟件工具,且設(shè)置結(jié)果長(zhǎng)期有效;后者則是利用硬件廠商或第三方公司提供的專用超頻軟件實(shí)現(xiàn),通常比前者更為直觀、簡(jiǎn)便、安全,并能夠自動(dòng)測(cè)試超頻極限,普通用戶亦可借以進(jìn)行超頻嘗試,但操作系統(tǒng)損壞或重裝會(huì)導(dǎo)致其設(shè)置失效。
1.2.2 計(jì)算機(jī)超頻的操作流程
在計(jì)算機(jī)超頻實(shí)踐中通常按“內(nèi)存→CPU→顯示卡”的順序進(jìn)行設(shè)置。下面以華碩ROG系列主板和Intel K 系列CPU 為例,根據(jù)UEFI 設(shè)置法介紹其操作流程。
(1)內(nèi)存超頻。若利用XMP 參數(shù)自動(dòng)超頻,只需在相應(yīng)項(xiàng)目選擇XMP Ⅰ或XMP Ⅱ即可,否則按下列步驟操作:①進(jìn)入U(xiǎn)EFI 設(shè)置界面,設(shè)置內(nèi)存頻率目標(biāo)值;②設(shè)置DRAM、CPU VCCIO、CPU System Agent 等相關(guān)電壓值;③放寬CL、tRCD、tRP 和tRAS 等內(nèi)存時(shí)序值;④進(jìn)行穩(wěn)定性測(cè)試,如果輕松通過可將目標(biāo)頻率逐次提高,若發(fā)生無(wú)法開機(jī)、藍(lán)屏或測(cè)試錯(cuò)誤,則按步驟①~③降低目標(biāo)頻率、升高電壓或放寬時(shí)序,直到通過測(cè)試;⑤依次將CL和tRCD/tRP 逐步減1、tRAS 逐步減2,每次調(diào)整后進(jìn)行穩(wěn)定性測(cè)試,將內(nèi)存時(shí)序收緊到最佳值;⑥調(diào)整RTL、IO-L或IOL-offset參數(shù),并進(jìn)行穩(wěn)定性測(cè)試。
(2)CPU 超頻:①進(jìn)入U(xiǎn)EFI 設(shè)置界面,設(shè)置CPU 倍頻(CPU Core Ratio)選項(xiàng)為同步全部核心(Sync All Cores),并輸入倍頻值(Core Ratio Limit);②設(shè)置CPU 核心電壓(CPU Core/Cache Voltage)為手動(dòng)方式(Manual Mode),并輸入電壓值(CPU Core Voltage Override);③將CPU 負(fù)載線校準(zhǔn)(CPU Load-line Calibration)、CPU 電流限制(CPU Core/Cache Current Limit Max.)和功率限制(Long Duration Package Power Limit、Short Duration Package Power Limit)設(shè)置為最大值;④進(jìn)行穩(wěn)定性測(cè)試,若通過可增大CPU 倍頻,反之則減小倍頻或提高核心電壓,直到獲得計(jì)算機(jī)能穩(wěn)定運(yùn)行的CPU倍頻極限值。
在超頻嘗試過程中必須進(jìn)行穩(wěn)定性測(cè)試,目前常用AIDA64 或Prime95 測(cè)試CPU 超頻的穩(wěn)定性,而以RunMemTestPro 或TestMem5 測(cè)試內(nèi)存超頻穩(wěn)定性。超頻成功后需進(jìn)行性能測(cè)試,現(xiàn)階段主要從基本運(yùn)算、文件處理、物理渲染等方面測(cè)試CPU 的單線程和多線程性能,其代表性軟件包括CINEBENCH、Fritz Chess Benchmark、7-ZIP、x265 Benchmark 和POV-Ray 等;內(nèi)存性能測(cè)試則主要用AIDA64進(jìn)行。
計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件主要模擬BIOS 設(shè)置法,其功能模塊結(jié)構(gòu)如圖1所示。
圖1 計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件功能結(jié)構(gòu)
2.2.1 超頻過程模擬
在超頻實(shí)踐過程中,用戶的主要操作是反復(fù)進(jìn)行參數(shù)設(shè)置和穩(wěn)定性測(cè)試,直到計(jì)算機(jī)達(dá)到滿意的超頻幅度并運(yùn)行正常。如果設(shè)置超頻參數(shù)之后發(fā)生無(wú)法開機(jī)、不能啟動(dòng)操作系統(tǒng)、不能通過穩(wěn)定性測(cè)試(測(cè)試軟件運(yùn)行中出錯(cuò)、自動(dòng)重啟或死機(jī))等現(xiàn)象,則為目標(biāo)頻率過高、工作電壓偏低、內(nèi)存時(shí)序值太小等原因所致,應(yīng)根據(jù)具體情況對(duì)相應(yīng)參數(shù)進(jìn)行調(diào)整,然后再做穩(wěn)定性測(cè)試。在計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件中,模擬這個(gè)過程的設(shè)計(jì)思路為:首先設(shè)定內(nèi)存或CPU 的超頻上限為10%~50%范圍內(nèi)的隨機(jī)值;然后以樣本數(shù)據(jù)為參考,將目標(biāo)頻率對(duì)應(yīng)的工作電壓和內(nèi)存時(shí)序等參數(shù)值劃分為四個(gè)區(qū)間,分別對(duì)應(yīng)超頻設(shè)置后的四種可能結(jié)果——超頻成功、不能通過穩(wěn)定性測(cè)試、不能啟動(dòng)操作系統(tǒng)和無(wú)法開機(jī)。軟件運(yùn)行時(shí),則根據(jù)用戶實(shí)際設(shè)置的超頻參數(shù)值轉(zhuǎn)向相應(yīng)的處理過程,提示用戶應(yīng)進(jìn)行參數(shù)調(diào)整、穩(wěn)定性測(cè)試或下一步工作。
2.2.2 性能測(cè)試結(jié)果預(yù)測(cè)算法
(1)GRNN 算法模型。在計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件中,超頻成功后的性能測(cè)試結(jié)果用GRNN算法預(yù)測(cè)得到。GRNN是一種基于非線性回歸理論的前饋式神經(jīng)網(wǎng)絡(luò)模型,以樣本數(shù)據(jù)為后驗(yàn)條件,執(zhí)行Parzen 非參數(shù)估計(jì),依據(jù)最大概率原則計(jì)算網(wǎng)絡(luò)輸出[4];該模型以徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),具有很強(qiáng)的非線性映射能力和學(xué)習(xí)速度,且對(duì)小樣本和不穩(wěn)定數(shù)據(jù)的處理效果較好[5]。GRNN 模型由輸入層、模式層、求和層與輸出層構(gòu)成,應(yīng)用于內(nèi)存超頻性能測(cè)試結(jié)果預(yù)測(cè)時(shí),以內(nèi)存的時(shí)鐘頻率和三個(gè)時(shí)序值(tRCD=tRP)為輸入,以讀取、寫入和復(fù)制的速度為輸出,相應(yīng)拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 內(nèi)存超頻性能測(cè)試結(jié)果預(yù)測(cè)的GRNN模型
(2)GRNN 模型構(gòu)建??芍苯永肕atlab 神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)newgrnn()構(gòu)建GRNN 模型,其調(diào)用格式為
式中:P為k組輸入向量組成的m×k維矩陣;T為k組輸出向量組成的n×k維矩陣;Spread為徑向基函數(shù)的擴(kuò)展速度,該值大則曲線更平滑、值小則能更精確地逼近訓(xùn)練樣本點(diǎn),默認(rèn)值為1.0[6]。
將該GRNN 算法模型用于內(nèi)存超頻性能預(yù)測(cè)時(shí),樣本數(shù)據(jù)為k組,每組樣本包括Clock、CL、tRCD&tRP、tRAS 四項(xiàng)參數(shù)值和Read、Write、Copy三項(xiàng)性能值,故以樣本數(shù)據(jù)分別構(gòu)成4 ×k矩陣P、3 ×k矩陣T,即可調(diào)用newgrnn()函數(shù)建立相應(yīng)GRNN 模型。因計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件對(duì)預(yù)測(cè)精度的要求不高,故無(wú)需進(jìn)行模型參數(shù)優(yōu)化。
CPU 超頻的性能測(cè)試結(jié)果預(yù)測(cè)GRNN 模型設(shè)計(jì)和構(gòu)建與此類似,不再贅述。
計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件的用戶界面采用Matlab APP Desinger 設(shè)計(jì)。Matlab APP Desinger是Matlab R2016a 及其后版本內(nèi)置的GUI 設(shè)計(jì)工具,與GUIDE 的用法基本一致,但其工作界面更為現(xiàn)代、美觀,代碼框架更簡(jiǎn)潔、清晰,運(yùn)行穩(wěn)定性和流暢性也有所提升。在設(shè)計(jì)制作軟件界面時(shí),控件生成代碼由APP Designer以面向?qū)ο笳Z(yǔ)法自動(dòng)完成,用戶只需修改控件屬性、添加全局變量和回調(diào)函數(shù)即可[7-8]。
2.3.1 軟件主界面設(shè)計(jì)
根據(jù)軟件的功能模塊結(jié)構(gòu),本著簡(jiǎn)潔直觀、操作方便的原則,將整個(gè)軟件的主界面設(shè)計(jì)為選項(xiàng)卡組(TabGroup),包括三個(gè)選項(xiàng)卡(Tab),分別用于“計(jì)算機(jī)超頻知識(shí)”“內(nèi)存超頻模擬練習(xí)”和“CPU超頻模擬練習(xí)”功能模塊。
2.3.2 “計(jì)算機(jī)超頻知識(shí)”模塊界面設(shè)計(jì)
該模塊所在選項(xiàng)卡分成左右兩個(gè)面板(Panel),左面板放置目錄樹(Tree),分層列出“計(jì)算機(jī)超頻概述”“CPU 超頻”“內(nèi)存超頻”和“顯示卡超頻”等部分的各級(jí)知識(shí)點(diǎn);右面板為文本區(qū)域(TextArea),顯示對(duì)應(yīng)于目錄樹中當(dāng)前知識(shí)點(diǎn)的具體內(nèi)容。
2.3.3 “超頻模擬練習(xí)”模塊界面設(shè)計(jì)
“內(nèi)存超頻模擬練習(xí)”和“CPU 超頻模擬練習(xí)”功能模塊的界面設(shè)計(jì)基本相同,其所在選項(xiàng)卡均分為左右兩個(gè)面板。左邊為超頻參數(shù)設(shè)置面板,用于設(shè)置內(nèi)存或CPU 超頻的主要硬件參數(shù),項(xiàng)目名稱和操作控件皆與華碩ROG 系列主板UEFI 界面中基本一致。右邊為過程圖示與結(jié)果顯示面板,其上半部分為圖示區(qū),用1個(gè)圖像控件(Image)實(shí)現(xiàn),可在超頻參數(shù)設(shè)置和穩(wěn)定性測(cè)試過程中顯示實(shí)機(jī)操作或軟件運(yùn)行畫面;中間部分為狀態(tài)指示與測(cè)試操作區(qū)域,以3個(gè)信號(hào)燈(Lamp)分別表示超頻參數(shù)設(shè)置后計(jì)算機(jī)開機(jī)、啟動(dòng)操作系統(tǒng)和穩(wěn)定性測(cè)試的結(jié)果狀態(tài),用1 個(gè)開關(guān)(Switch)控制和選擇“穩(wěn)定性測(cè)試”與“性能測(cè)試”、1 個(gè)按鈕(Button)執(zhí)行相應(yīng)測(cè)試;下面部分為1 個(gè)表格(UITable),用于顯示超頻后的性能測(cè)試結(jié)果?!皟?nèi)存超頻模擬練習(xí)”模塊的運(yùn)行界面如圖3所示。
圖3 內(nèi)存超頻模擬練習(xí)功能模塊的運(yùn)行界面
為實(shí)現(xiàn)超頻參數(shù)設(shè)置與相應(yīng)性能測(cè)試結(jié)果的數(shù)值模擬,需在計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件中引入樣本數(shù)據(jù),為此進(jìn)行了實(shí)機(jī)超頻數(shù)據(jù)采集,所用計(jì)算機(jī)的主要硬件配置為:Asus ROG Maximus XI Hero(Wi-Fi)主板、Intel Core I5-9600KF CPU、A-Data DDR4 3200 8 GB*2 內(nèi)存、GALAXY GeForce GTX 960 顯示卡、Intel HBRPEKNX0202 A 512 GB NVMe固態(tài)硬盤。
3.1.1 CPU超頻樣本數(shù)據(jù)采集
按前述CPU 超頻流程,將CPU 的主頻由3.7 GHz逐步提升至5.1 GHz,每次增量為100 MHz。在每個(gè)采樣頻率點(diǎn),先用AIDA64 的Stress FPU進(jìn)行穩(wěn)定性測(cè)試30 分鐘,記錄CPU 的溫度和功耗;然后以CPU-Z 和CINEBENCH R23 測(cè)試CPU的單線程性能,以Fritz Chess Benchmark、x265 Benchmark 和POV-Ray 測(cè)試多線程性能,記錄CPU 的頻率、電壓和性能測(cè)試結(jié)果值。將全部樣本數(shù)據(jù)以Excel工作表保存。
3.1.2 內(nèi)存超頻樣本數(shù)據(jù)采集
按前述內(nèi)存超頻流程,將內(nèi)存頻率由默認(rèn)值2666 MHz 開始,先提高到2700 MHz,再以100 MHz 為增量逐步調(diào)高至3100 MHz;然后直接選擇XMPⅠ自動(dòng)超頻為3200 MHz,并繼續(xù)以100 MHz 為增量逐步提升到4000 MHz。在每個(gè)采樣頻率點(diǎn),用AIDA64 的Cache & Memory Benchmark測(cè)試內(nèi)存性能,記錄內(nèi)存頻率、電壓、時(shí)序及測(cè)試所得Read、Write、Copy 和Latency值,保存為Excel工作表,數(shù)據(jù)如表1所示。
表1 內(nèi)存超頻樣本數(shù)據(jù)
計(jì)算機(jī)超頻仿真實(shí)訓(xùn)軟件含有較多數(shù)據(jù)處理和數(shù)值計(jì)算過程,其中GRNN 算法模型的建立和預(yù)測(cè)是典型的矩陣運(yùn)算,因而軟件的功能非常適合用Matlab 編程實(shí)現(xiàn)。由于采用了Matlab APP Desinger 作為界面設(shè)計(jì)工具,故可利用控件的回調(diào)函數(shù)調(diào)用其它功能函數(shù),以此完成全部功能模塊的整合。這樣既簡(jiǎn)化了編程工作、提高了軟件開發(fā)效率,又自然實(shí)現(xiàn)了程序代碼與軟件界面的無(wú)縫集成。
(1)安裝、配置Matlab編譯器。以MinGWw64 編譯器為例:從Internet搜索、下載并解壓、安裝MinGW-w64 C/C++ Compiler for Windows 軟件;然后添加Windows 系統(tǒng)變量“MW_MINGW 64_LOC”,并設(shè)置其值為該編譯器軟件的安裝路徑;重啟計(jì)算機(jī)后運(yùn)行Matlab,執(zhí)行命令“mex-setup”確認(rèn)編譯器已配置為可用狀態(tài)。
(2)下載并安裝Matlab Runtim。執(zhí)行Matlab命令“compiler.runtime.download”即可下載對(duì)應(yīng)版本的Matlab Runtim 安裝包,將其置于合適位置、無(wú)需解壓縮;單擊Matlab“主頁(yè)”選項(xiàng)卡的“預(yù)設(shè)項(xiàng)”,在窗口選擇“Matlab Compiler”,瀏覽、設(shè)置Matlab Runtim 的文件路徑;執(zhí)行Matlab 命令“mcr”,確認(rèn)Matlab Runtim 的版本與文件路徑。
(3)在Matlab 主窗口的“APP”選項(xiàng)卡執(zhí)行“Application Compiler”,打開相應(yīng)窗口;添加軟件的主文件(.mlapp)、選擇“Runtim included in package”,并設(shè)置輸出路徑、輸入軟件名稱和作者等信息;執(zhí)行“Package”即開始編譯和打包,如圖4所示。
圖4 Matlab APP的編譯、封裝與打包過程
(4)在輸出路徑下的文件夾for_redistribution中,即為包含Matlab Runtim 的軟件包,運(yùn)行MyAppInstaller_mcr.exe即可安裝。
計(jì)算機(jī)超頻是專業(yè)人員、熟練用戶和評(píng)測(cè)機(jī)構(gòu)廣泛運(yùn)用的一項(xiàng)硬件性能優(yōu)化技術(shù),也是《計(jì)算機(jī)組裝與維護(hù)》課程的重要教學(xué)內(nèi)容,但高職院校的教學(xué)用機(jī)通常配置較低,不能滿足超頻操作的硬件要求,因此針對(duì)該實(shí)驗(yàn)項(xiàng)目開發(fā)一款虛擬仿真實(shí)訓(xùn)軟件。學(xué)生通過反復(fù)進(jìn)行仿真實(shí)驗(yàn),能夠很快熟悉CPU 和內(nèi)存超頻的操作流程,較好掌握主要的參數(shù)設(shè)置方法,熟練使用測(cè)試軟件,收到了預(yù)期的技能實(shí)訓(xùn)效果。