- 无论如何,CPU 都不是“简单”的。因为它们有几十亿个晶体管,每个晶体管在空闲时都会有一些小的泄漏,并且在切换时必须对其他晶体管中的栅极和互连电容进行充电和放电。是的,每个都消耗一个小电流,但是当你将它乘以晶体管的数量时,你会得到一个惊人的大数字。64A 已经是平均电流了……切换时,晶体管的电流消耗比平均电流大得多,而旁路电容器可以消除这种情况。请记住,您的 64A 数字来自于从 TDP 逆向计算,使得 64A RMS 成为真正的 64A RMS,并且在许多时间尺度上可能存在显着变化(时钟周期内的变化、不同操作期间的变化、睡眠状态之间的变化等)。 )。还,您也许可以运行一个设计为在 3 GHz、1.2 伏和 64 安培、1 伏和 1 安培下运行的 CPU ......也许只是在 3 MHz 下运行。尽管此时您必须担心芯片是否使用具有最小时钟频率的动态逻辑,因此您可能必须以几百 MHz 到 GHz 的频率运行它并定期将其循环进入深度睡眠以获得平均值电流下降。底线是功率=性能。大多数现代 CPU 的性能实际上受到热限制。因此,也许您必须以几百 MHz 到 GHz 的频率运行它并定期将其循环进入深度睡眠以降低平均电流。底线是功率=性能。大多数现代 CPU 的性能实际上受到热限制。因此,也许您必须以几百 MHz 到 GHz 的频率运行它并定期将其循环进入深度睡眠以降低平均电流。底线是功率=性能。大多数现代 CPU 的性能实际上受到热限制。
- 这相对容易计算 -,其中是电流,是负载电容,是电压,是活动因子,是开关频率。我会看看我是否可以获得 FinFET 栅极电容的大致数字并进行编辑。 I=CvαfICvαf
- 有点。栅极电容充电或放电的速度越快,晶体管的开关速度就越快。更快的充电需要更小的电容(由几何形状决定)或更大的电流(由互连电阻和电源电压决定)。单个晶体管切换得更快意味着它们可以更频繁地切换,从而产生更多的平均电流消耗(与时钟频率成正比)。
编辑:所以,http ://www.synopsys.com/community/universityprogram/documents/article-iitk/25nmtriplegatefinfetswithraisedsourcedrain.pdf有一个 25nm FinFET 栅极电容的图。为了简单起见,我只是将其称为 0.1 fF。显然它随偏置电压而变化,并且肯定会随晶体管尺寸而变化(晶体管的尺寸根据其在电路中的用途而定,并非所有晶体管的尺寸都相同!较大的晶体管“更强”,因为它们可以切换更多的电流,但它们也具有更高的栅极电容并且需要更多的电流来驱动)。
插入 1.25 伏特、0.1 fF、3 GHz 和,结果为。将其乘以 10 亿,得到 375 A。这是在 3 GHz 下切换 10 亿个此类晶体管所需的平均栅极电流(每秒向栅极电容充电)。这不包括“击穿”,这将在 CMOS 逻辑切换期间发生。这也是一个平均值,因此瞬时电流可能会有很大变化——想想当 RC 电路充电时电流消耗是如何逐渐减小的。基板、封装和电路板上的旁路电容器可以消除这种变化。显然这只是一个大概的数字,但它似乎是正确的数量级。这也不考虑泄漏电流或存储在其他寄生效应中的电荷(即 α=10.375μA
在大多数设备中,将远小于 1,因为许多晶体管在每个时钟周期都处于空闲状态。这将根据晶体管的功能而有所不同。例如,时钟分配网络中的晶体管将具有,因为它们在每个时钟周期切换两次。对于像二进制计数器这样的东西,LSB 的为 0.5,因为它每个时钟周期切换一次,下一位的,因为它切换的频率是一半,等等。但是,对于像高速缓存这样的东西,αα=1αα=0.25α可能非常小。以 1 MB 缓存为例。一个由 6T SRAM 单元构建的 1 MB 高速缓存存储器具有 4800 万个晶体管,仅用于存储数据。它将有更多用于读写逻辑、解复用器等。但是,只有少数人会在给定的时钟周期上切换。假设高速缓存行是 128 字节,每个周期都会写入一个新行。那是 1024 位。假设单元格内容和新数据都是随机的,预计会翻转 512 位。那是 4800 万个晶体管中的 3072 个,或。请注意,这仅适用于内存阵列本身;支持电路(解码器、读/写逻辑、感应放大器等)将具有更大的α=0.000061α. 因此,为什么高速缓存存储器的功耗通常由泄漏电流主导——即大量空闲晶体管只是围绕泄漏而不是切换。