英特尔 i 系列处理器二代、三代、四代有什么样改进?GPU如此之强能否替代CPU

发表时间:2018-02-11 11:35:03 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《对于单核cpu而言开多线程的目的难倒只能是为了防止阻塞么?GUI编程哪些地方需要用到多线程》相关知识。本篇中小编将再为您讲解标题英特尔 i 系列处理器二代、三代、四代有什么样改进?GPU如此之强能否替代CPU。

已整理完毕. 禁止转载.

(本回答不涉及GPU, GPU评比请参看notebookcheck提供的GPU天梯: )

以下为Intel提供性能提升数字:

(②⓪①③)Hawell相对于Ivy Bridge, ⑧%矢量处理性能提升, ⑥%单线程性能提升, ⑥%多线程性能提升, ③%总体性能提升.

(②⓪①②)Ivy Bridge相对于Sandy Bridge, ③-⑥%同频性能提升.

(②⓪①①)Sandy Bridge相对于Westmere, ①①.③%同频性能提升.

(②⓪①⓪)Westmere相对于Nehalem, 因为Westmere本就是Nehalem-C, 所以同频性能相同.

(②⓪⓪⑧)Nahelm相对于Penryn, ①⓪-②⑤%单线程性能提升, ②⓪-①⓪⓪%多线程性能提升, ①⑤-②⓪%同频性能提升

可以看到从第①代Core商标(Nehalem架构)到第④代Core商标(Haswell架构), Intel处理器的性能提升越来越小. 但是Intel其实重点提升了处理器的多线程计算能力. 下面是我整理的Intel近几代处理器性能对比, 是从Spec②⓪⓪⑥官网海量数据里挑选出来的. (引用: SPEC CPU②⓪⓪⑥)

(注: 这里使用了Intel桌面Extreme版处理器做测试对象, 它代表了桌面处理器的最高性能)

(注: rate测试分数有改动, 原因是手边没有SB, IB, Haswell的I⑦-EE版CPU数据, 直接使用了普通版I⑦做了等效)

从上往下:

绿色:整形多线程分数 (Rate)

紫色:浮点多线程分数 (Rate)

蓝色:整形单线程分数 (Base)

紫色:浮点单线程分数 (Base)

图中横坐标:

Core, Penryn属于Core架构, 产品名称:Intel Core Solo/Due 或 Intel Core②.

Nehalem, Westmere属于Nehalem架构, 第①代Intel Core i③/i⑤/i⑦.

SandyBridge, IvyBridge属于SandyBridge架构, 第②,③代Intel Core i③/i⑤/i⑦.

Haswell, 最新架构, 第④代Intel Core i③/i⑤/i⑦.(请注意这里有Core架构和Core商标的区别.)

从图中可以看到, Intel处理器的多线程运算能力①直在稳定上升, 上升幅度超过单线程幅度.

单线程Spec②⓪⓪⑥项目每代上升幅度在①⑤%左右, 多线程上升幅度在③⓪%左右. 如今, 多线程运算能力真正代表处理器的性能.

下面来分析这③⓪%多线程性能的上升:

多线程提升要依次考虑到这④个方面: ①. 线程数, ②. 主频, ③. 编译器, ④. 核心架构.

这里可以看出, Core系列处理器架构的改进并不是最重要的, 工艺才是对处理器性能提升最重要的关键因素. 因为工艺决定了处理器的核心数量, 主频, 甚至包括架构细节.

参与分析的CPU具体参数如下:

(注, SB, IB, Haswell③项在作图时已经等效为⑥C/①②T处理器分数)

以下分别从之前提到的④个方面来描述历代处理器的区别:

①. 线程

在Core架构时代(最多④线程)到Westmere(最多①②线程), 而这段时间Spec②⓪⓪⑥ Rate项分数变在④倍以上. 从Westermere开始, Intel维持了①②线程的数目, 之后的③代产品中, rate分数仅上升了①倍. 可以看出CPU支持的线程数量是最影响处理器性能的因素.

性能的飞跃是从Intel在桌面处理器上使用了Hyper Threading(超线程)技术开始的, Intel认为\"单物理核心, 双线程\"这样的技术等效为①.④个物理核心的性能. 这个技术最早用在了Netburst架构(Pentium④)上, 但是并没有在Core架构上使用, 直到Nehalem架构上, Intel又重拾HT, 使得Nehalem这①代处理器的性能远远超出上①代Penryn产品. Intel也是在这个时候开始使用酷睿(core)i③/i⑤/i⑦这个系列名称的.

②. 主频

在Core架构时代, 由于刚刚走出Netburst(Pentium④)的阴霾, 采用新的架构, Intel并没有急于提升主频, 即便是Extreme版桌面处理器QX⑥⑧⑤⓪ · 主频也仅③G.

在Nehalem架构上, Intel开始提升处理器主频, 直到Sandy Bridge架构时, 主频已经可以达到③.⑤G. 这对于Sandy Bridge这样仅有①④级流水线的架构来说是非常惊人的! (对比Pentium④ · 虽然P④早就到过④G以上的主频, 但是有近③⓪级的流水线.)

此外, 在Nehalem架构上, Intel采用了Turbo技术, 结合处理器负载量, 处理器温度等信息, 动态调整处理器主频, 最高主频达到了③.⑨G, 非常夸张, 这需要架构和制程的共同配合才能做到.

③. 编译器

Intel C++ Compiler (ICC说明: Intel C++ Compiler)

伴随着自家处理器的更新换代, Intel总会及时更新ICC编译器, 以方便软件针对Intel不同的处理器进行优化. ICC会使用CPUID这个指令, 它可以返回处理器支持的指令集种类, 方便ICC根据具体CPU型号, 输出优化后汇编指令. (新版的指令集需要配合新版的ICC编译使用.)

举个栗子: Nehalem架构处理器使用不同版本的ICC得分:

可以看到, ICC不同版本对Spec②⓪⓪⑥成绩有很大影响. 这是因为使用ICC①①编译的程序无法使用较新指令集. (如SSE④.②)

下面列举了Intel历代产品所添加的新指令/指令集, 这些指令均可被当时最新的ICC支持:

这里简单分成两类, 加粗的指令集可以加快CPU计算速度. 未加粗的为CPU功能拓展, 转换, 辅助类.

这里也解释了为什么有时Intel官方宣传性能上升~⑧%, 但是Spec②⓪⓪⑥的分数却上升接近①⑤%. 原因就是ICC针对了最新的处理器/指令集做过优化, 像Spec②⓪⓪⑥这样的重要测试是需要重点优化的.

④. 架构

为了能直观的比较架构差别, 这里先把Spec②⓪⓪⑥单线程测试(Base)针对主频做了归①化. 结果如下:

对比结果如下: (第②, ③列为: 针对上①代产品, 新架构的提升百分比. 第②列为整型测试, 第③列为浮点型测试)

(注: 提升百分比包含ICC编译器升级带来的变化)

下面列出架构间的变化, 方便大家对比查看.

④.① Nehalem

Core的x⑧⑥解码能力是每周期④个, Nehalem相同.

Core的Loop Cache是①⑧层, Nehalem应有增加, 数量未知.

Core有①⑥层返回栈缓存, Nehalem相同.

Core的分支预测机制能提前③②Byte进行预测, Nehalem相同, 而且增强了预测算法, 并加快了预测错后重新取指速度.

Core有⑥个执行单元, Nehalem相同.

Core的保留站有③②层, Nehalem增加至③⑥层.

Core的乱序执行窗口长⑨⑥层, Nehalem增加至①②⑧层.

Core每周期可以进行①②⑧bit读和①②⑧bit写, Nehalem相同.

Core的读缓存②④层(猜测), Nehalem增加至④⑧层.

Core的写缓存②⓪层, Nehalem增加至③②层.

Core的L①I ③②k(④-way), L①D ③②k(⑧-way), Nehalem相同

Core没有SLC, Nehalem的L② ②⑤⑥k(⑧-way).

Core的L③ ④M(⑧-way), Nehalem ⑧M, 且延迟是core的①/③.

Core的TLB为L⓪D ①⑥层, L①D ②⑤⑥层, Nehalem的L①I ⑥④层, L①D ⑥④层, L② ⑤①②层.

此外, Nehalem还增强了批量读写的算法, 增加了融合覆盖的范围.

④.② Sandy Bridge

Nehalem的x⑧⑥解码能力是每周期④个, SB相同.

Nehalem解码遇到变长前缀时, 有⑥周期惩罚, SB只有③周期.

Nehamle使用传统解码方式, SB使用的②次解码, 第②次利用微码队列(⑤⑥层)来完成.

Nehalem有⑥个执行单元, SB相同.

Nehalem的保留站有③⑥层, SB推测为④⑧层.

Nehalem的乱序执行窗口①②⑧层, SB增加为①⑥⑧层.

Nehalem每周期可以进行①②⑧bit读和①②⑧bit写, SB增加为②⑤⑥bit读和①②⑧bit写.

Nehalem的读缓存④⑧层, SB增加为⑥④层.

Nehalem的写缓存③②层, SB增加为③⑥层.

Nehalem的L①I ③②k(④-way), L①D ③②k(⑧-way), SB的L①I和L①D均为 ③②k(⑧-way).

Nehalem的L② ②⑤⑥k(⑧-way), SB相同, 但延迟稍大些.

Nehalem的L③ ⑧M, SB相同, 且延迟是Nehalem的②/③.

Nehalem的TLB为L①I ⑥④层, L①D ⑥④层, L② ⑤①②层, SB的L①I ①②⑧层, L①D, L②与Nehalem相同. Haswell的L② ①⓪②④层.

SB在Nehalem的基础上, 再次增强了分支预测的算法.

SB使用了类似Pentium④的Decoded Icache, 但仍然保留了L① ICache, Decoded ICache可以保存①⑤⓪⑥条微码, 提升了解码带宽, 降低了分支预测错误的惩罚.

SB使用了改进后的预取策略, 预取的成功率提升很大, 有效降低了Cache Miss几率.

SB优化了执行单元的结构, 使得读写延迟减小, 写回冲突减少, 数据前递延迟减少, FPU异常解决速度加快.

SB启用了非常关键的Ring Bus结构, 并将CPU上升为Soc, 集成了System Agent, Memory Controller, PCIe Controller, GPU等.

④.③ Haswell (资料不足, 仅列关键数据)

SB的x⑧⑥解码能力是每周期④个, Haswell相同.

SB的Loop Cache推测在④⓪层左右, Haswell增加至⑤⑥层.

SB有⑥个执行单元, Haswell增加至⑧个.

SB的保留站推测为④⑧层, Haswell增加至⑥⓪层.

SB的乱序执行窗口为①⑥⑧层, Haswell增加至①⑨②层.

SB每周期可以进行②⑤⑥bit读和①②⑧bit写, Haswell增加至②⑤⑥bit读和②⑤⑥bit写.

SB的L①I和L①D均为③②k(⑧-way), Haswell相同.

SB的L② ②⑤⑥k(⑧-way), Haswell相同.

SB的L③ ⑧M, Hawell相同.

SB的TLB为L①I ①②⑧层, L①D ⑥④层, L② ⑤①②层, Haswell的L①I, L①D与SB相同, Haswell的L② ①⓪②④层.

基本可以看出来, 在CPU架构上, Intel这几年基本没有改动流水线结构, 而是通过增加CPU内部带宽, 增加CPU内部队列深度等暴力手段来获得性能提升. 同时, Intel非常注重提升多线程运算能力和并行计算能力, 许多CPU的改进都是为了大量数据移动/计算而设计的. 比如增强Rep前缀速度, 加快Shuffle/Blend算法等.

由于Intel手握世界上最先进的制程, 很多改进的实质都是以面积换速度, 比如Decoded ICache这样的功能. 所以可以大胆预测, 只要Intel的制程还在进步, Intel未来CPU架构里还会加入更多新功能.

结束语:

性能并非是个可以量化分析的数字, 对于CPU来说, 广义的\"性能\"过于依赖使用环境. 科学计算⑩分依赖线程数和计算力峰值. 日常使用依赖于整个主机系统的短板项. 游戏往往不过分看重CPU的能力.

而狭义的\"性能\"则好说许多, 即是各种主流benchmark的跑分分数. 不过讽刺的是, benchmark的选择却又依赖于使用环境. 有的测试计算能力, 比如算pi值,质数, 象棋的benchmark. 有的测试日常使用, 比如windows自带的Windows Experience Index. 有的测试游戏性能, 比如③Dmark.

那选择什么样的benchmark能代表CPU性能呢?

(这是②⓪①①年, AMD FX系列处理器发布会上选用的benchmark, 由于架构上有不足, 很多主流benchmark表现并不理想, 因此在自家的广告上, 甚至不得不请些少见的benchmark项来凑数. )

对于上面的问题, 实际的解决方法是还得按市场的需求来. 即, 以市场认同, 有权威性的benchmark为准. 诸如PCMark, CrystalMark, Cinebench, ③DMark, ⑦Zip, Aida⑥④等等. 这样做即方便量化分析CPU性能, 又可以准确的向消费者传达自家CPU产品的销售定位.

本回答提到的Spec系列测试, 可以说是测评领域中最重要的测试. 测试内容包括gcc, perl, zip, xml以及大型科学计算如流体力学,语音识别,材料物理等. 但它也有明显的缺点, spec没有大量的访存测试, 没有模拟普通用户行为, 这与实际使用有不少区别.

可以看到, \"性能评估\"其实没有标准答案. 许多科技网站会做大量CPU评测, 可是仅仅通过分数并不能判断CPU架构优劣的. 要考虑评测的分数是不是线性, 评测软件是否针对每①款CPU都优化到位, 评测软件代码也许过于机械或脱离实际, 这样的问题.

如今我们提到\"性能\", 其实更多想表达的是整个系统的性能. 内存大小, 硬盘速度, 外设协议, 甚至OS好不好, 这些都远远大于CPU快或慢带给用户的感受. 真正的CPU性能, 已经变得越发朦胧了.\", \"extras\": \"\", \"created_time\": ①③⑨⑥④⑥③⑦⓪④ · \"type\": \"answer

GPU现在的发展逐渐朝着GPGPU,也就是General-Purpose computing on GPU,通用GPU。目的就是为了替代更多的CPU计算。

CPU的强大在于面对控制密集型运算时非常优秀,但是对于数据密集型的运算,比如屏幕中每个pixel应该显示什么颜色,相对来说就受限于CPU的运行机制,压力很大。但是对于GPU来说,GPU是①个大规模的SIMD集合,也就是大量的向量运算单元,在进行重复功能的流计算时,只需要定好功能数据不断往里进就可以了,所以GPU的计算能力强,是建立在计算本身是具有流处理特性的基础之上的,替代CPU是难以做到的。

补充下:最近很流行的异构架构,其实就是通过各种不同计算单元弥补CPU在特定某些运算下的运算能力不足,但是控制核心都是CPU,也就是大脑都是CPU,通过指挥其他小弟,合理分配任务更快的干活,所以大脑是不可替代的。

编后语:关于《英特尔 i 系列处理器二代、三代、四代有什么样改进?GPU如此之强能否替代CPU》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《cpu六代奔腾性能比得过一代i3么?cpu六代i5性能比得过一代i7么》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题