从主频之争到多核之争,摩尔定律还能走多远?
从主频之争到多核之争,摩尔定律还能走多远? 本文通过对几个基础问题的探讨,从IC设计角度介绍一点处理器的知识和发展。希望对长时间做高级语言开发的朋友有点帮助,随便看看权当娱乐。 1.CPU的速度是什么决定的? 我们通常用频率(frequency)来描述一颗处理器的速度,比如1.6GHz,3.8GHz。这个频率是什么的频率?它又是根据什么来决定的呢?我遇到不少童鞋以为频率高是因为我们可以做出更快的晶振,这是本末倒置的想法。一颗处理器的最高频率是根据它内在电路决定的,决定以后,才选取适当频率的晶振来为它产生漂亮的脉冲。 比如CPU做这样一个运算(1+2)+(3*4)。1+2 和 3*4 分别送入加法器和乘法器,各自的结果作为输入再送入加法器。由于加法要比乘法快,1+2先算完放到一个寄存器待用,等3*4结果出来也放入寄存器之后,二者一再起送入加法器。而为了同步,我们给这些运算加入一种步伐,也就是时钟信号。我们规定时钟的一个周期为需要时间最长的乘法,这样就可以保证再第二个时钟信号到来的时候,之前的全部运算都可以准确完成并将结果存入寄存器,进入下一个运算周期。 这个周期切换的速度,就是频率。很明显,频率越高,计算速度越快嘛。 一块芯片的频率,就是耗时最长的那条电路(critical path)决定的。芯片的频率的设定,要保证耗时最长的那段电路可以在一个时钟周期内运算完毕。 2