您现在的位置: 天下网吧 >> 网吧天下 >> 网吧行业 >> 网络追踪 >> 正文

对普通人来说,每代CPU的改进体现在哪

[作者:佚名 来源:不详 时间:2014-4-10我来说两句
:对普通人来说,每代CPU的改进体现在哪

每一代CPU的改进到底在什么地方?

CPU的设计是一个系统工程,通常可以分为微结构(学术界喜欢把micro-architecture翻译成“微结构”,传媒上多见“微架构”)、电路,器件,工艺这几大层面,每个层面内部都有很多细分方向,每个方向都有专家去研究,都有专门的工程团队在做。我现在接触比较多的是微结构这块,所以我只说微结构的改进。

微结构内部有很多地方是可以修改的,下面仅列举其中一部分:

发射宽度(主要包括前端取指令的宽度、解码宽度、dispatch/issue宽度,retire宽度)。

分支预测(包括但不限于预测器结构,预测准确率,branch resolve的延迟,流水线回退的耗时,以及寄存器重命名表能够保存多少个分支的快照)

乱序执行窗口的大小(包括ROB,Reservation Station)

Cache(扩充Cache大小,改进组织结构)

Interconnect

各种bypass,loop cache,etc.

对于普通消费者而言,这些改进最终会贡献多大分量的性能差别?

上面列了这么多不明觉厉的术语,但是实际上,现在每一代新的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之类的专用工具可以读取这些地方的数值,统计各个不同部件的性能表现。这是一个比较专精化的领域,如果您想要了解这方面的知识,可以阅读《计算机体系结构:量化研究方法》作为起步。

关注天下网吧微信,了解网吧网咖经营管理,安装维护:


本文来源:不详 作者:佚名

相关文章
没有相关文章
我来说两句(请遵守法律法规)
声明
本文来源地址:http://www.ithome.com/
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com.,本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下

扫一扫,关注天下网吧微信