CPU优化方法介绍 应用程序优化从应用程序的角度来说,降低CPU使用率的最好方法当然是,排除所有不必要的工作,只保留最核心的逻辑比如减少循环的层次、减少递归、小编带来的CPU优化方法介绍。 一、在BIOS中优化CPU 1、打开CPU二级缓存 对于一些特殊主板,CPU的某些……
CPU优化方法介绍
应用程序优化从应用程序的角度来说,降低CPU使用率的最好方法当然是,排除所有不必要的工作,只保留最核心的逻辑比如减少循环的层次、减少递归、小编带来的CPU优化方法介绍。
一、在BIOS中优化CPU
1、打开CPU二级缓存
对于一些特殊主板,CPU的某些功能在默认的情况下是不开启的,需要在BIOS中将其打开,如CPU的.内部高速缓存和超线程技术等。打开CPU的内部高速缓存的方法如下:
步骤1 进入BIOS设置主界面,选择“Advanced BIOS Features”设置项,按Enter键进入。
步骤2 将“CPU Internal Cache”设置为“Enabled”,即打开CPU的二级缓存。打开后可以减少CPU在存储器读/写周期中的等待时间,从而提升CPU的工作效率。
步骤3 CPU二级缓存ECC校验也是一个很重要的参数。将“CPU L2 Cache ECC Checking”设置为“Enabled”,可启用CPU内部L2Cache,进行ECC检测。它可以侦察并纠正单位信号错误,保持资料的准确性,对超频的稳定性有帮助,但不能侦察双位信号错误。
2、设置超线程技术
超线程技术回增强处理器的性能,提高工作效率。因此,对于一些支持超线程技术的CPU(如P42.8C等),可以对其进行如下设置:
步骤1 进入主板BIOS中,在“Advanced BIOS Features”中找到“
Hyper-Threading Technology”选项。
步骤2 将其设置为“Enabled”。
步骤3 设置完毕后重启电脑,然后在开机自检画面时会显示两个处理器。当用户进入系统后还可以在系统的“设备管理器”里面看到两个处理器,这就代表超线程技术已经成功打开。
二、系统设置优化CPU
调整程序优先级
在Windows系统中,对CPU的优化处理并不多,可以通过设置CPU优先等级的方法来优化CPU。Windows 2000/XP内的应用程序共分为32个等级(0~31),一般都处于0~15级之间。默认情况下,程序的优先级别都为8,即“标准”。在有些时候,可以将一些无关紧要的进程的优先级调低,这样可以提升CPU的性能。
要设置CPU的优先级,可以执行以下操作:
步骤1 按Ctrl+Alt+Del组合键,打开“Windows任务管理器”窗口。
CPU优化方法介绍
指令重排的场景:当cpu的写缓存时候发现缓存区域正在被其他cpu占用,为了提高cpu的性能,可能会将后面的都缓存指令优先执行
并非随便重排:需要遵循as-if -serial语义
as-if -serial语义是指: 不管怎么重排序,程序的执行结果不会被改变,编译器和处理器都会遵循这个语义
也就是说,编译器和处理器不会对数据存在对的依赖关系的操作做重排序
存在问题:
1 cpu高速缓存下问题:
缓存中的数据与主内存的数据并不是实时同步的,各个cpu间的缓存数据也不是实时同步,各个cpu所看到的同一内存数据可能不一致
2 指令重排:
虽然遵循的as-if -serial 语义 仅仅在单个cpu自己执行的情况下保证结果正确
多核多线程 中,指令逻辑无法分辨因果关联 可能会出现程序乱执行,导致程序运行结果错误
解决方法: cpu提高内存屏障
1、 写内存屏障: 在指令后插入store barrier,能让写入缓存的最新数据更新写入主内存,让其他线程可见
强制写入主内存,这个现实调用,cpu就不会因为性能问题去对指令重排
2 、读内存屏障:在指令之前插入load barrier 可以让缓存缓存中的数据实现,强制从新主内存加载数据
强制读取主内存内容,让cpu缓存保持与之内存保持一致,避免了缓存导致的一致性问题
步骤2 选中要设置优先级的程序,单击鼠标右键,在弹出的快捷菜单中选择“设置优先级”→“低”的命令,即可降低程序的级别。
3、优化处理器二级缓存容量
在Windows XP中,为加快系统运行,可以在注册表中设置二级缓存容量。方法如下:
步骤1 首先打开注册表,找到如下分支:“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerMemoryManagement”。
步骤2 选择其下的“SecondLevelDataCache”,用户根据自己所用的处理器设置即可,例如Athlon XP是“38”,P4Northwood是“512”。