路人战队|超能课堂(242):CPU的功耗是怎么产生的?它的功耗大小与哪些因素有关?

作为现今PC平台上的两个能耗大户之一 , CPU的功耗问题可谓是牵扯了非常之多的关系户 , 比如说主板的供电系统要根据CPU的功耗来设计 , 比如说为CPU散热的散热器要根据CPU的功耗去设计 , 还有电源要为CPU准备好足够的供电……但你知道CPU的功耗是怎么产生的吗?为什么这么一块小小的芯片要用掉这么多的电能?本文就对CPU功耗产生的原理进行简单的阐述 , 简单讲述一下CPU的功耗具体都跟哪些因素有关系 。 首先我们要从构成CPU的基础单元——晶体管开始说起 。
路人战队|超能课堂(242):CPU的功耗是怎么产生的?它的功耗大小与哪些因素有关?晶体管的工作方式与功耗是怎么产生的?大家都知道各种数字电路芯片的基础成员是一个个非常非常小的晶体管 , 在目前的处理器上面常见的是场效应管(FET) , 在CPU上比较常见的MOSFET大概长成下面那张图片的样子:
路人战队|超能课堂(242):CPU的功耗是怎么产生的?它的功耗大小与哪些因素有关?当我们在这个晶体管的栅极与源极之间施加电压的时候 , 能够改变源极与漏极之间的阻抗 , 从而控制源极到漏极之间的电流大小 。 利用这种特性 , 我们可以把多个晶体管组成一个组合 , 它可以让表示两种信号的电平在通过组合后产生高电平或低电平的信号 , 高低两种电平可以对应到逻辑上的“真”与“假” , 亦可对应二进制中的“1”和“0” 。 这种晶体管的组合被称为逻辑门 , 将多个逻辑门组合到一起可以实现更为复杂的逻辑运算 。 CPU就是由非常多的逻辑门组成的 。
那么在CPU工作的时候 , 组成它的逻辑门状态实际是一直在发生着改变的 , 此时可以将逻辑门内部的晶体管视为小电容 , 电容的充放电就引起电能流动 , 此时就产生了CPU的动态功耗 。
为什么说这功耗是动态的呢?因为这部分功耗的大小与CPU的运行状态有关 。 我们知道 , 主频是CPU最主要的规格之一 , 它指的是晶体管在一秒内的开关次数 , 晶体管开关次数越高 , 频率也就会更高 , 但总的充放电次数也同时增加了 , 于是晶体管的耗电量也就随之增加 。
通过实际测算 , 人们发现CPU的动态功耗与频率成正比 , 与电压的平方大致成正比 , 也就可以导出如下的公式:
也就是说 , CPU的电压越高 , 频率越高 , 其动态功耗就会越大 。 有动态功耗 , 相对的自然就有静态功耗的概念 , 这部分主要来自于晶体管的漏电 。
让我们回到本节开头的MOSFET结构示意图上 , 在栅级的下方有一层很薄的氧化层 , 它起到绝缘的作用 。 在把晶体管做小的过程中(也就是制程进步的过程中) , 这个绝缘层的厚度越来越薄 , 由于量子效应 , 部分电荷载流子将穿过这薄薄的绝缘层 , 出现漏电现象 。 这种漏电现象将增加晶体管的耗电量 , 虽然单个晶体管的漏电量相当微小 , 但是当晶体管的数量达到上亿甚至是数十亿级别之后 , 整个的漏电量就不容小觑了 。
除了漏电以外 , 还有一部分静态功耗是晶体管出现导通情况引起的 。 在逻辑门状态发生改变的时候 , 组成它的部分晶体管可能会出现同时导通的情况 , 也就是短路的情况 , 此时会产生短路功耗 , 其大小与逻辑门的大小相关 。
综上所述 , 我们可以把CPU的功耗分成两大类 , 分别是CPU在运算时产生的动态功耗和CPU在加电时产生的静态功耗 , 静态功耗中的绝大部分是由晶体管漏电所引起的 。 因此 , 我们可将CPU的功耗大小与CPU的主频、规模和制程等因素联系在一起 。
制程与功耗的复杂关系【路人战队|超能课堂(242):CPU的功耗是怎么产生的?它的功耗大小与哪些因素有关?】这几年Intel的桌面处理器制程止步不前 , 14nm++++甚至已经成为一个笑柄 , 而“Intel处理器功耗相对偏高”这个问题也不断被大家所指出 , 那么制程跟功耗之间到底有什么样的关联关系呢?


推荐阅读