CPU优化方法介绍

时间:
管理员
分享
标签: 优化 方法 介绍 cpu

管理员

摘要:

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”。