基于Matlab APP Designer的计算机超频仿真实训软件

2023-09-24 05:33周金容谭鹤毅代霜春
现代计算机 2023年13期
关键词:参数设置内存稳定性

胡 振,杨 华,周金容,谭鹤毅,代霜春

(南充职业技术学院电子信息工程系,南充 637131)

0 引言

在高职院校的《计算机组装与维护》课程教学中,计算机超频技术是“计算机性能优化”部分的重要内容。但超频操作需要满足较高的硬件条件,而实训所用计算机则通常配置偏低,不能支持实机超频设置;另一方面,计算机超频存在硬件受损的风险,也不宜让学生直接动手尝试。针对这些情况,我们开发了一款计算机超频仿真实训软件,并将其集成到“计算机组装维护实训工具盘”[1]中,以便学生通过仿真练习,逐渐掌握计算机超频的工作流程、参数设置和测试软件使用,为其实机操作奠定坚实基础。

该软件采集实机超频数据为样本,用广义回归神经网络(general regression neural network,GRNN)算法预测超频后的性能测试值,从而实现超频参数设置与性能测试结果的数值模拟;采用Matlab APP Designer 设计软件的工作界面,以Matlab 编程实现全部功能。为便于安装使用,将其编译、封装成独立运行程序,并将Matlab Runtime集成到软件安装包中。

1 计算机超频原理与方法

1.1 计算机超频原理

超频(over clocking,OC)是通过调整硬件设置使芯片的主频超过额定频率,从而获得性能提升的技术手段。

计算机超频的主要对象是CPU、内存和显示卡。因CPU 的工作频率=系统总线频率(外频)×倍频系数,故提高外频或倍频系数皆可实现CPU 超频。现阶段计算机的时钟发生器整合于CPU 内部,其基准时钟频率(外频)固定为100 MHz,因此需利用提高倍频系数的方法来实现CPU 超频;目前的内存则大多支持Intel Extreme Memory Profile(XMP)标准,既能轻松实现自动超频,亦可支持用户自定义方式超频[2];显示卡超频包括核心频率和显存频率超频两方面,主要用于独立显卡,部分主板与相应CPU搭配亦可实现核心显卡超频。

计算机超频对硬件配置有较高要求,主要包括:采用可超频芯片组的高品质主板[3]、未锁定倍频的CPU、搭配超频颗粒的内存条、高性能显示卡以及增强的供电与散热设备。

1.2 计算机超频的方法和流程

1.2.1 计算机超频的方法

计算机超频的方法包括UEFI 设置法和软件设置法。前者适合专业学习和熟练用户采用,需进入计算机的UEFI 设置界面修改相关参数,并进行稳定性测试。该方法无需使用其它软件工具,且设置结果长期有效;后者则是利用硬件厂商或第三方公司提供的专用超频软件实现,通常比前者更为直观、简便、安全,并能够自动测试超频极限,普通用户亦可借以进行超频尝试,但操作系统损坏或重装会导致其设置失效。

1.2.2 计算机超频的操作流程

在计算机超频实践中通常按“内存→CPU→显示卡”的顺序进行设置。下面以华硕ROG系列主板和Intel K 系列CPU 为例,根据UEFI 设置法介绍其操作流程。

(1)内存超频。若利用XMP 参数自动超频,只需在相应项目选择XMP Ⅰ或XMP Ⅱ即可,否则按下列步骤操作:①进入UEFI 设置界面,设置内存频率目标值;②设置DRAM、CPU VCCIO、CPU System Agent 等相关电压值;③放宽CL、tRCD、tRP 和tRAS 等内存时序值;④进行稳定性测试,如果轻松通过可将目标频率逐次提高,若发生无法开机、蓝屏或测试错误,则按步骤①~③降低目标频率、升高电压或放宽时序,直到通过测试;⑤依次将CL和tRCD/tRP 逐步减1、tRAS 逐步减2,每次调整后进行稳定性测试,将内存时序收紧到最佳值;⑥调整RTL、IO-L或IOL-offset参数,并进行稳定性测试。

(2)CPU 超频:①进入UEFI 设置界面,设置CPU 倍频(CPU Core Ratio)选项为同步全部核心(Sync All Cores),并输入倍频值(Core Ratio Limit);②设置CPU 核心电压(CPU Core/Cache Voltage)为手动方式(Manual Mode),并输入电压值(CPU Core Voltage Override);③将CPU 负载线校准(CPU Load-line Calibration)、CPU 电流限制(CPU Core/Cache Current Limit Max.)和功率限制(Long Duration Package Power Limit、Short Duration Package Power Limit)设置为最大值;④进行稳定性测试,若通过可增大CPU 倍频,反之则减小倍频或提高核心电压,直到获得计算机能稳定运行的CPU倍频极限值。

在超频尝试过程中必须进行稳定性测试,目前常用AIDA64 或Prime95 测试CPU 超频的稳定性,而以RunMemTestPro 或TestMem5 测试内存超频稳定性。超频成功后需进行性能测试,现阶段主要从基本运算、文件处理、物理渲染等方面测试CPU 的单线程和多线程性能,其代表性软件包括CINEBENCH、Fritz Chess Benchmark、7-ZIP、x265 Benchmark 和POV-Ray 等;内存性能测试则主要用AIDA64进行。

2 计算机超频仿真实训软件设计

2.1 软件功能模块设计

计算机超频仿真实训软件主要模拟BIOS 设置法,其功能模块结构如图1所示。

图1 计算机超频仿真实训软件功能结构

2.2 超频过程模拟和算法设计

2.2.1 超频过程模拟

在超频实践过程中,用户的主要操作是反复进行参数设置和稳定性测试,直到计算机达到满意的超频幅度并运行正常。如果设置超频参数之后发生无法开机、不能启动操作系统、不能通过稳定性测试(测试软件运行中出错、自动重启或死机)等现象,则为目标频率过高、工作电压偏低、内存时序值太小等原因所致,应根据具体情况对相应参数进行调整,然后再做稳定性测试。在计算机超频仿真实训软件中,模拟这个过程的设计思路为:首先设定内存或CPU 的超频上限为10%~50%范围内的随机值;然后以样本数据为参考,将目标频率对应的工作电压和内存时序等参数值划分为四个区间,分别对应超频设置后的四种可能结果——超频成功、不能通过稳定性测试、不能启动操作系统和无法开机。软件运行时,则根据用户实际设置的超频参数值转向相应的处理过程,提示用户应进行参数调整、稳定性测试或下一步工作。

2.2.2 性能测试结果预测算法

(1)GRNN 算法模型。在计算机超频仿真实训软件中,超频成功后的性能测试结果用GRNN算法预测得到。GRNN是一种基于非线性回归理论的前馈式神经网络模型,以样本数据为后验条件,执行Parzen 非参数估计,依据最大概率原则计算网络输出[4];该模型以径向基函数神经网络为基础,具有很强的非线性映射能力和学习速度,且对小样本和不稳定数据的处理效果较好[5]。GRNN 模型由输入层、模式层、求和层与输出层构成,应用于内存超频性能测试结果预测时,以内存的时钟频率和三个时序值(tRCD=tRP)为输入,以读取、写入和复制的速度为输出,相应拓扑结构如图2所示。

图2 内存超频性能测试结果预测的GRNN模型

(2)GRNN 模型构建。可直接利用Matlab 神经网络工具箱函数newgrnn()构建GRNN 模型,其调用格式为

式中:P为k组输入向量组成的m×k维矩阵;T为k组输出向量组成的n×k维矩阵;Spread为径向基函数的扩展速度,该值大则曲线更平滑、值小则能更精确地逼近训练样本点,默认值为1.0[6]。

将该GRNN 算法模型用于内存超频性能预测时,样本数据为k组,每组样本包括Clock、CL、tRCD&tRP、tRAS 四项参数值和Read、Write、Copy三项性能值,故以样本数据分别构成4 ×k矩阵P、3 ×k矩阵T,即可调用newgrnn()函数建立相应GRNN 模型。因计算机超频仿真实训软件对预测精度的要求不高,故无需进行模型参数优化。

CPU 超频的性能测试结果预测GRNN 模型设计和构建与此类似,不再赘述。

2.3 用户操作界面设计

计算机超频仿真实训软件的用户界面采用Matlab APP Desinger 设计。Matlab APP Desinger是Matlab R2016a 及其后版本内置的GUI 设计工具,与GUIDE 的用法基本一致,但其工作界面更为现代、美观,代码框架更简洁、清晰,运行稳定性和流畅性也有所提升。在设计制作软件界面时,控件生成代码由APP Designer以面向对象语法自动完成,用户只需修改控件属性、添加全局变量和回调函数即可[7-8]。

2.3.1 软件主界面设计

根据软件的功能模块结构,本着简洁直观、操作方便的原则,将整个软件的主界面设计为选项卡组(TabGroup),包括三个选项卡(Tab),分别用于“计算机超频知识”“内存超频模拟练习”和“CPU超频模拟练习”功能模块。

2.3.2 “计算机超频知识”模块界面设计

该模块所在选项卡分成左右两个面板(Panel),左面板放置目录树(Tree),分层列出“计算机超频概述”“CPU 超频”“内存超频”和“显示卡超频”等部分的各级知识点;右面板为文本区域(TextArea),显示对应于目录树中当前知识点的具体内容。

2.3.3 “超频模拟练习”模块界面设计

“内存超频模拟练习”和“CPU 超频模拟练习”功能模块的界面设计基本相同,其所在选项卡均分为左右两个面板。左边为超频参数设置面板,用于设置内存或CPU 超频的主要硬件参数,项目名称和操作控件皆与华硕ROG 系列主板UEFI 界面中基本一致。右边为过程图示与结果显示面板,其上半部分为图示区,用1个图像控件(Image)实现,可在超频参数设置和稳定性测试过程中显示实机操作或软件运行画面;中间部分为状态指示与测试操作区域,以3个信号灯(Lamp)分别表示超频参数设置后计算机开机、启动操作系统和稳定性测试的结果状态,用1 个开关(Switch)控制和选择“稳定性测试”与“性能测试”、1 个按钮(Button)执行相应测试;下面部分为1 个表格(UITable),用于显示超频后的性能测试结果。“内存超频模拟练习”模块的运行界面如图3所示。

图3 内存超频模拟练习功能模块的运行界面

3 软件功能实现及编译、封装

3.1 计算机超频样本数据采集

为实现超频参数设置与相应性能测试结果的数值模拟,需在计算机超频仿真实训软件中引入样本数据,为此进行了实机超频数据采集,所用计算机的主要硬件配置为:Asus ROG Maximus XI Hero(Wi-Fi)主板、Intel Core I5-9600KF CPU、A-Data DDR4 3200 8 GB*2 内存、GALAXY GeForce GTX 960 显示卡、Intel HBRPEKNX0202 A 512 GB NVMe固态硬盘。

3.1.1 CPU超频样本数据采集

按前述CPU 超频流程,将CPU 的主频由3.7 GHz逐步提升至5.1 GHz,每次增量为100 MHz。在每个采样频率点,先用AIDA64 的Stress FPU进行稳定性测试30 分钟,记录CPU 的温度和功耗;然后以CPU-Z 和CINEBENCH R23 测试CPU的单线程性能,以Fritz Chess Benchmark、x265 Benchmark 和POV-Ray 测试多线程性能,记录CPU 的频率、电压和性能测试结果值。将全部样本数据以Excel工作表保存。

3.1.2 内存超频样本数据采集

按前述内存超频流程,将内存频率由默认值2666 MHz 开始,先提高到2700 MHz,再以100 MHz 为增量逐步调高至3100 MHz;然后直接选择XMPⅠ自动超频为3200 MHz,并继续以100 MHz 为增量逐步提升到4000 MHz。在每个采样频率点,用AIDA64 的Cache & Memory Benchmark测试内存性能,记录内存频率、电压、时序及测试所得Read、Write、Copy 和Latency值,保存为Excel工作表,数据如表1所示。

表1 内存超频样本数据

3.2 软件功能的编程实现

计算机超频仿真实训软件含有较多数据处理和数值计算过程,其中GRNN 算法模型的建立和预测是典型的矩阵运算,因而软件的功能非常适合用Matlab 编程实现。由于采用了Matlab APP Desinger 作为界面设计工具,故可利用控件的回调函数调用其它功能函数,以此完成全部功能模块的整合。这样既简化了编程工作、提高了软件开发效率,又自然实现了程序代码与软件界面的无缝集成。

3.3 程序编译与封装

(1)安装、配置Matlab编译器。以MinGWw64 编译器为例:从Internet搜索、下载并解压、安装MinGW-w64 C/C++ Compiler for Windows 软件;然后添加Windows 系统变量“MW_MINGW 64_LOC”,并设置其值为该编译器软件的安装路径;重启计算机后运行Matlab,执行命令“mex-setup”确认编译器已配置为可用状态。

(2)下载并安装Matlab Runtim。执行Matlab命令“compiler.runtime.download”即可下载对应版本的Matlab Runtim 安装包,将其置于合适位置、无需解压缩;单击Matlab“主页”选项卡的“预设项”,在窗口选择“Matlab Compiler”,浏览、设置Matlab Runtim 的文件路径;执行Matlab 命令“mcr”,确认Matlab Runtim 的版本与文件路径。

(3)在Matlab 主窗口的“APP”选项卡执行“Application Compiler”,打开相应窗口;添加软件的主文件(.mlapp)、选择“Runtim included in package”,并设置输出路径、输入软件名称和作者等信息;执行“Package”即开始编译和打包,如图4所示。

图4 Matlab APP的编译、封装与打包过程

(4)在输出路径下的文件夹for_redistribution中,即为包含Matlab Runtim 的软件包,运行MyAppInstaller_mcr.exe即可安装。

4 结语

计算机超频是专业人员、熟练用户和评测机构广泛运用的一项硬件性能优化技术,也是《计算机组装与维护》课程的重要教学内容,但高职院校的教学用机通常配置较低,不能满足超频操作的硬件要求,因此针对该实验项目开发一款虚拟仿真实训软件。学生通过反复进行仿真实验,能够很快熟悉CPU 和内存超频的操作流程,较好掌握主要的参数设置方法,熟练使用测试软件,收到了预期的技能实训效果。

猜你喜欢
参数设置内存稳定性
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
“春夏秋冬”的内存
非线性中立型变延迟微分方程的长时间稳定性
半动力系统中闭集的稳定性和极限集映射的连续性
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
动车环境下U900异频切换参数设置探讨
基于内存的地理信息访问技术
基于MATLAB仿真的井下变压器参数设置研究
模糊微分方程的一致稳定性