有问有答:为什么现在cpu不再提高主频而是走多核?
如果你对2004年英特尔总裁贝瑞特当年当着6500人惊天一跪还记忆犹新的话,或许能更能理解这个问题,当年老贝这一跪是对“惟主频论”失误的真心忏悔。
当时NetBurst架构的Prescott(Pentium 4的核心),虽然已经是用了最先进的90nm工艺,但是3GHz主频的CPU功耗就超过百瓦,如果频率要超过4GHz,功耗将是何其了得。
所以,在这儿就可以回答题主,正是因为功耗(散热)制约了主频的提升。
登纳德缩放定律的终结
相信你也听过摩尔定律,它告诉我们,芯片中晶体管的尺寸正在不断减小,因此芯片的晶体管数量可以不断增加。虽然近些年,摩尔定律一直在修改,但它似乎尚未完全停止。
事实上,除了摩尔定律,还有一个很重要的定律,称登纳德缩放定律(Dennard Scaling),大体说,随着晶体管尺寸的减小,它的功耗也按面积大致按比例下降。
摩尔定律和登纳德缩放定律这两个好基友放在一起,就是要告诉我们,可以不断缩小晶体管尺寸,并且在CPU中容纳更多晶体管,而功耗基本不变。
但是,到了Pentium 4,基本上宣告了登纳德缩放定律的终结,因为Pentium 4的性能只有486的6倍,但功耗却是后者的23倍(6^1.75)!
好吧,看看上面的图,随着晶体管的面积密度上升(蓝色线)16倍,功耗仅下降约4倍(紫色线),功耗降低已经不再与芯片面积密度上升成正比,Dennard Scaling is dead.
也就是说,继续以提升频率来提升性能的方法已经行不通了!
多核也能刷性能
到底CPU的性能是怎么定义的?英特尔是这么说的:
CPU性能 = IPC * f
其中f为频率,提升f就能提升CPU性能,不过这条路已经不通了。
但是,我们还可以提升IPC呀,IPC(instruction per clock)是每时钟周期内所执行的指令数,所以才有了多核,2个核心,IPC就是原来的2倍,4个核心,IPC就翻了4倍,CPU的性能也就得到提升。所以我们消费级的CPU才从2核变成了4核,再到8核,现在已经升到了16核。
反正呢,现在摩尔定律还能苟延残喘,但Dennard Scaling已是过去式,虽然工艺越来越先进,CPU里可以装进更多的晶体管,但由于功耗墙的原因,已经没办法提高单个内核的频率,解决方法是在芯片上保留更多内核以提高CPU性能。当然并非所有程序都可以支持多核,因此这种潜在的性能增益并不总是能够得以呈现,但肯定是越来越好了。