降温软件是如何实现降温的?

降温软件是如何实现降温的?前言 一般电脑发热后 我们就听到了风扇呼呼的声音 这个是电脑的物理散热的机制 除了物理降温 我们当然还有软件降温 而软件降温就和 CPU 有关了 常见的电脑降温软件有 鲁大师呀 驱动精灵这类的 那么我们就一起来探索这些降温软件是如何实现降温的吧 一 CPU 运行原理如果要探究降温软件是如何减少 CPU 能耗来降温的 那么我们应该要了解一些 CPU 工作的原理 当我们启动电

前言:

     一般电脑发热后,我们就听到了风扇呼呼的声音,这个是电脑的物理散热的机制。除了物理降温,我们当然还有软件降温,而软件降温就和CPU有关了。常见的电脑降温软件有:鲁大师呀,驱动精灵这类的。那么我们就一起来探索这些降温软件是如何实现降温的吧。

 

一、CPU运行原理

      如果要探究降温软件是如何减少CPU能耗来降温的,那么我们应该要了解一些CPU工作的原理。当我们启动电脑时,CPU便开始工作了,怎么工作呢,冯诺依曼体系告诉我们,CPU一直在取指令和执行指令,只是抽象到我们的用户层时,我们就只是单纯的点击按键,然后来实现多种多样的功能。

      计算机的底部运算都是二进制的运算(这个和电路的特性有关),然后利用矩阵和数学逻辑的知识将我们需要做的指令打包抽象,于是就有了下面这样CPU取指令和执行指令的图片:

降温软件是如何实现降温的?这个图片要表达的两个值的加法操作,例如x=3,y=2,这个程序要实现y=x+y;如果你了解汇编语言,这个是很好理解的。我们一起来熟悉一下这个操作的流程:

(左边内存里面的数字其实是指令操作,例如1940中“1”代表load AC from memory就是从内存里面读取数据存到AC临时存储空间,其中的940我们可以认为是地址。依次类推,之后的5941 和 2941中的“5”和“2”表示的是从内存中读取数据加到AC上将AC的数据存到内存中

 

  1. 所以我们开始取指令,然后指向指令的操作“1”,得到了X=3的数据,计数器++,准备读取下一条指令;取指令“5”,将Y=2的数据加到AC中,实现了Y=5,计数器++;取指令“2”,执行指令,将AC中的数据存到内存中。就此完成上面的操作。

     我要说的重点并不是CPU是如何工作的,而是想要大家知道,从开机一开始CPU就一直在取指令执行指令,从未停止,所以就会产生大量的热量。

 

二、进程

     为什么要说进程呢?我们不是要了解如何让CPU减少耗能吗?这里我们再次的抽象,你可以打开任务管理器,例如,我的这一个(温馨提示,当你要打开任务管理器的时候,不要有大型的任务,不然占CPU过高,会卡顿,如果有腾讯管家也可以先关闭再打开任务管理器,不然也会有卡顿):

  1. 降温软件是如何实现降温的?

      其实我们的这些应用都是作为进程来管理的,当然,进程里面也有线程(这个我们之后博客探讨哦,这里只关注进程)。例如,我们打开一个记事本,此时你查看进程会发现多了一个进程。这些进程会进行抢夺CPU的资源,那么接下来我给出一个最简单的模型——五状态进程模型。

降温软件是如何实现降温的?

     好的,我们看看这个模型,我会从操作系统的角度简单的说一下,首先我们创建一个进程,为它分配PCB数据结构(它就是进程的数据结构,可以先抽象理解),内存等资源,然后它进入就绪队列(这里的就绪态ready)。然后运行,如果超出给定的运行时间片,重新回到就绪态,如果需要读取IO硬盘等操作(因为CPU读取速度比外设的读取速度快了大概几万年左右,所以当程序要读取外设时,我们会把程序变成阻塞态去读取外设,而CPU继续运行下一个指令),那么进入阻塞态,准备好之后又进入就绪态。如果运行结束,那么我们退出,进程交出CPU等资源。

      所以,我们可以概括为进程都是在就绪—–运行—–等待这个状态中循环,你会发现此时CPU一直在工作,那么如何实现降温呢?好吧,很简单,让CPU停下来,可是我们可以直接让CPU停下来吗?答案是否定的,我们需要使用指令来让CPU停下来,就像上面“1”“2”“5”这些指令一般,CPU会去执行它们。

 

三、降温软件原理

     那么介绍一个指令HLT(处理器暂停指令),有了这个指令,那么我们可以直接让CPU执行它吗?如果直接这样做,是不妥当的,所以我们需要一个聪明的方法。

     再看看上面的就绪队列,既然是队列,那么我们肯定是可以设置优先级别的对吧。如果你足够细心,你会发现CPU中的进程其实是有优先级别的(看看任务管理器就知道啦),这里我们暂不考虑如何去实现它,而是抽象来看,我们可以设置进程的优先级别。

     是的,当我们打完一局游戏,电脑很热,而此时CPU依旧一直执行,从不停息,不断产热,风扇呼呼的转,除了物理降温(搬到冰箱里)等操作,我们当然希望有软件也可以实现这样的操作。所以我们可以将HLT这个指令设置为优先级最低的指令。这样,当我们打完游戏,又没什么需要做的,就可以让CPU处于暂停态。让它无限的循环与HLT指令中,除非有一个新的进程进入了就绪队列需要使用CPU而结束循环,其它时候一直让CPU休息。

     所以,HLT唯唯诺诺,没有进程时让CPU休息降温,有进程时执行进程。这也就是降温软件的原理了。

 

四、总结

     但是,经验告诉我,手机发热了,“打开鲁大师?不,直接放冰箱”。是的,这种让CPU减少耗能的操作其实我们直接感受到的不够迅速,毕竟没有物理降温快速。但是这个才是根源,我们可以改变电源性能,让CPU自动的调节,当电脑不需要进行游戏等操作时,可以处于低耗阶段,反之,进入游戏阶段(这个阶段就不要想着一边打游戏一边开降温软件降温了,看看上面的例子,你就知道HLT唯唯诺诺,此时物理降温才直接有用)。

     温馨小提示,你的电脑清灰了么?

 

参考文献:

CPUCool是一款计算机程序,可以在Windows环境中让CPU降温,另外还包含支持在Windows环境中最佳化CPU功能。

百度百科地址:

https://baike.baidu.com/item/CPUCool/?fr=aladdin

百度百科:

CPU优化——CPUCool  随着CPU的频率不断加快,CPU的发热量也越来越高。不过,我们除了可以通过CPU风扇来降低CPU的温度,还可以通过一些降温软件来实现CPU的降温。这类软件可以随时监测CPU的使用情况,当CPU空闲时就向CPU发送HLT指令(CPU状态控制指令之一,使CPU不执行任何操作,处于暂停状态),使其进入暂停状态,有外来指令到达CPU时,该类软件再将CPU唤醒,从而减轻CPU的工作量,以达到降温的目的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232833.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QGIS使用之基本介绍和安装教程

    QGIS使用之基本介绍和安装教程今天,小崇想和大家介绍一下QGIS的基本知识。希望我们互相学习,共同进步!何为QGIS?QGIS(QuantumGIS)是一款免费的桌面GIS软件,可运行在Linux、Unix、MacOSX和Windows等平台。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。它主要提供GIS数据的显示、编辑和分析、制图等功能。QGIS的主要特点有:(1)免费开源。(正版ArcGIS价格不菲)(2)支持PostGIS数据库。(3)支持从WMS,WFS服务器中获取

    2022年6月17日
    33
  • EwebEditor漏洞[通俗易懂]

    EwebEditor漏洞[通俗易懂]一、后台上马漏洞各位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEdito

    2022年7月1日
    32
  • 组合数递推的计算方法 c语言,组合数公式的递推公式

    组合数递推的计算方法 c语言,组合数公式的递推公式组合数公式的递推公式:c(m,n)=c(m-1,n-1)+c(m-1,n)。等式左边表示从m个元素中选取n个元素,而等式右边表示这一个过程的另一种实现方法:任意选择m中的某个备选元素为特殊元素,从m中选n个元素可以由此特殊元素的被包含与否分成两类情况,即n个被选择元素包含了特殊元素和n个被选择元素不包含该特殊元素。前者相当于从m-1个元素中选出n-1个元素的组合,即c(m-1,n-1);后者相当于…

    2022年7月15日
    17
  • 镁光ssd管理工具 linux,SandForce主控固态硬盘SF-2241 vb2开卡成功经验「建议收藏」

    镁光ssd管理工具 linux,SandForce主控固态硬盘SF-2241 vb2开卡成功经验「建议收藏」一个威刚SP900128G固态硬盘坏了,想用开卡软件来修复,然后就必须知道是什么主控,于是拆开看里面SandForceSF2241VB2的主控芯片,flash看不懂600739095300463844,最后试出来是28044,MT29F128G08CFABBWP20MLCMicron镁光的。然后按量产网的SF2000开卡教程,开卡SandForce主控的ssd需要用到linux系统,于是…

    2022年6月22日
    102
  • php提取字符串中的数字

    php提取字符串中的数字

    2021年10月30日
    59
  • linux的svn命令(网络命令的使用实验总结及体会)

    目录一、从版本库获取信息…1二、从版本库到本地…2三、从本地到版本库…2四、高级应用…4一、从版本库获取信息svnhelpcommand   获取子命令说明svninfo$URL   查看工作空间信息   若是目录地址,查看本地目

    2022年4月11日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号