我想您的问题可以分成两个部分:
每一代CPU的改进到底在什么地方?
CPU的设计是一个系统工程,通常可以分为微结构(学术界喜欢把micro-architecture翻译成「微结构」,传媒上多见「微架构」)、电路,器件,工艺这几大层面,每个层面内部都有很多细分方向,每个方向都有专家去研究,都有专门的工程团队在做。我现在接触比较多的是微结构这块,所以我只说微结构的改进。
微结构内部有很多地方是可以修改的,下面仅列举其中一部分:
每次Intel,AMD,IBM等巨头推出的新架构,您能在各大媒体上看到的新闻宣传,大多是从这些地方的参数入手,比如说Haswell把乱序执行窗口从168加大到192,诸如此类。
对于普通消费者而言,这些改进最终会贡献多大分量的性能差别?
上面列了这么多不明觉厉的术语,但是实际上,现在每一代新的CPU性能只能增长~10%左右。【出处为Hotchips 2013 DARPA Microsystems Technology Office的Director Robert Colwell所做的Keynote】
微结构研究的黄金年代我认为是在80年代~2005年前后,微结构上的很多经典成果,例如RISC,分支预测,超流水线这些东西,都是那时候火热起来的,当时的CPU性能提高比较快,这么多年过去,现在能挖的差不多都已经挖出来了,处理器的基本微结构已经相对固化,剩下的是一些小幅度的增量式改进,一点一点儿地抠性能。
现在业界的注意力已经转向其他方向,比如异构计算的概念最近就被炒的很热。
Bonus:CPU的性能瓶颈在什么地方?如何判断?
对于不同的程序,性能瓶颈也是不同的,比如说有的程序指令缓存miss率很高,流水线前端取不到指令导致停顿,有的程序是因为指令重命名时竞争寄存器的读取端口,有的程序是因为cache装不下工作集,所以很难一概而论。目前的大势主要是访存引发停顿。
通过CPU的参数判断CPU的性能瓶颈,我个人认为对于普通消费者而言是做不到的。那种一看网媒上公布的粗略架构图就嫩判断出CPU性能瓶颈的决不是仙人,而是异想天开的民科。那些巨头公司的架构师都是经过多年训练经验丰富,在大参数上犯下明显错误的可能性几乎为0,更不用说整个CPU是许多架构师的通力合作。
判断性能瓶颈需要做精确的量化分析,现在的CPU内部一般都集成了成百上千个性能计数器,有perf之类的专用工具可以读取这些地方的数值,统计各个不同部件的性能表现。这是一个比较专精化的领域,如果您想要了解这方面的知识,可以阅读【计算机体系结构:量化研究方法】作为起步。