AMD 重返荣耀?解析曾技压英特尔的 64 位技术到全新的 Ryzen 架构

2017-04-19 09:49:00 来源: 互联网

china0513-624x468

今年,众所期待的 AMD Ryzen CPU 终于上市了。从 2012 年开始研发,背负着带领 AMD 重返荣耀的 CPU,一上市便造成轰动。极高的性价比以及低功耗,为笔电以及桌机的 CPU 市场,注入了活水。然而,当众人都说要重返荣耀,那 AMD 的过往荣耀是什么?这一间公司又是如何让 Intel 感到头疼?这一切,就从 AMD 发布 x86-64 指令集架构说起。

64 位处理器的兴起

在 32 位 CPU 中,如果单纯以 CPU 做存储器定址时,4GiB 为其极限。多余的空间,则需额外的软硬件支持。在早期的超级电脑中,这一类的需求可以靠钱解决。然而,随着存储器技术的发展,在一般商业甚至是一般消费性市场中,4G 以上的存储器将越来越常见。如果有一款 CPU 可以直接定址大量的存储器,将带来相当大的优势。

因此,从 90 年代起,众多的 CPU 制造商开始研发制造 64 位的 CPU。其中,PC 市场的领头羊,Intel 便从 1994 年开始,和 HP 共同发展新的 64 位指令集架构以及 CPU,以因应接下来的 CPU 市场竞争。然而,Intel 所提出的 64 位 CPU,其指令集架构和旧有的 x86 截然不同,将导致原有的程序会无法在新的 Intel CPU 上执行。

1999 年时,AMD 则发布和 Intel 截然不同的方法。AMD 决定将既有的 x86 指令集架构,扩增成 64 位的指令集。采用这个方法意味着原有的程序,将得以执行在新的 AMD 64 位的 CPU 上,大大减低后续重新编写程序的需求。指令集架构的差异,替 AMD 立下胜利的基石。

64 位指令集架构之战,AMD 大获全胜

在 2001 年,Intel 终于发布其第一款的 64 位 CPU──Itanium。然而,这一款 CPU 在市场的接受度却没有如同其所预期般,迅速的被采用。最主要的原因,莫过于软件的数量不足、以及和其他 64 位处理器相比的弱势效能。

其中,软件数量不足的关键,就在于指令集架构的差异。在高速计算里面,为了让程序得以执行的更快,大多数的工程师会修改或直接编写组合语言,以期让程序能更符合硬件的执行模式。如果更换不同的指令集架构,将需要耗费大量的时间修改组合语言,甚至重新开发整个程序。

此外,没有明显优势的 CPU 效能,也让开发商不愿投入更多的资源在 Intel 的 Itanium 上。因此,Intel 只能加速下一款 CPU 的开发,以期待能满足市场的需求。

2003 年,震撼市场的消息发出。AMD 发布了第一款 x86-64 的 CPU──Opteron 以及 Athlon 64。光是让既有的 32 位 CPU 运行于其上,就已经为 AMD 添增光彩。更不用说新的 CPU 所采用的硬件架构 K8 是何等的强悍。

扭转颓势,Intel 版 x86-64 现身

为了避免商用以及高速科学计算领域的市占率下滑,Intel 于 2004 年时紧急推出新的 Xeon CPU。此外,在桌机市场,Athlon 64 的优秀效能,让 Intel 不得不以既有的 Pentium 4 为基础将指令集架构扩展至 64 位。

然而,即使 Intel 推出新了的 CPU,其 CPU 硬件架构效能提升却不足,导致新的 CPU 效能稍微落后采用 K8 架构的 Opteron 以及 Athlon 64。K8 架构成了传说,为 AMD 带来荣耀。同时,其主要硬件架构师 Jim Keller 也逐渐为人所知。

迈向多核心之路,黄金交叉将出现?

在 2005 年 5 月时,AMD 以及 Intel 皆发布了消费者市场的双核心 CPU,分别为 AMD Athlon 64 X2 以及 Intel Pentium D。第一款消费市场的双核心 CPU,揭开了崭新的时代序幕。多的核心便意味著作业系统中的多执行绪,可以同时运行在一颗 CPU 中,大幅降低执行绪所需等待的时间。

比较这两款 x86-64 双核心 CPU 的效能时,这一次,AMD 持续维持着其领先的姿态,Athlon 64 X2 的效能大幅超越 Pentium D。AMD CPU 的市占率一举攀升,就在黄金交叉将要出现之时。Intel 展开逆袭,2006 年 8 月,Intel 推出了下一代的 CPU──Core 2 系列。

china0513-624x468由 CPU Benchmarks 所统计的资料,该资料是统计全球使用该款 benchmarks 的 CPU 厂牌。虽然不是实际的 CPU 出货量,但是足以当做参考。(Source:CPU Benchmarks)

新系列的 Intel CPU,断开和 Pentium 4 的关联,以 Pentium III 的 CPU 硬件架构为基础重新设计,并采用 AMD 所发展的 64 位指令集架构。这一次,Intel 以过往成功的产品为基础并重新设计,以 Core 为名重新出发。这一次,Intel 结束产品线的混乱以及产品效能低落的数年。

同步多线程,彻底发挥 CPU 核心的计算能力

在 2008 年,Intel 将其 Hyper-Threading 的技术重新导入 Core i 系列 CPU,也就我们现在所熟知的 i3、i5、i7 处理器。所谓的 Hyper-Threading,便是在一个 CPU 核心内部在将其分成两份。然而,究竟是如何将 CPU 切成两份呢?根据 Intel 于 2002 年所发布的 Hyper-Threading Technology Architecture and Microarchitecture 便可略知一二。

在论文中,Intel 便给出了两张比较图。两个核心最主要的差异,在采用 Hyper-Threading 技术中的 CPU 中,Architecture State 单元会比一般的核心多一个。大致上,Architecture State 单元包含了多数的暂存器以及中断讯号的控制器等,用以记录执行绪执行的资讯,是无法被共用的资料。

china0513-624x468

左图为未采用 Hyper-Threading 技术的 CPU Cores,右图则是采用了 Hyper-Threading 技术的 CPU Cores,其中,两者间的差异为一个 CPU Core 中有不同数量的 Architecture State 单元。(Source:Intel Technology Journal Vol. 1)

因此,在采用这个技术之后,只需要额外的 5% 面积,便可以达成更高的指令集平行化,让 CPU 尽可能地满载,释放 CPU 所有的潜能。根据这一篇论文中所提供的数据,采用这一项技术后,在多执行绪的执行情况下,将可带来将近 30% 的效能提升,相当惊人。

做为应对,AMD 于 2011 年推出 Bulldozer,其采用的并非是 Intel 所使用的 SMT 技术,而是 Clustered MultiThreaded(CMT)技术。此技术是将一颗 CPU 内部的整数执行单元复制一份,让 CPU 具备在同一核心内部执行两个执行绪能力,在后续要扩增核心的计算能力上,相当的容易,所需要的修改相对的较少。

然而,其缺点便是没有办法共用执行单元,无法享有 SMT 中最重要的优点,用两个 Thread 尽可能让执行单元不会有空闲状态。此外,两个独立的 L1 Cache 虽然感觉在实作上会比较简单。但是,为了要维持 Cache 的一致性,便需要拥有额外的 Core 内部资料交换单元,大大的提升控制电路的复杂性。

最后,结果便是众所皆知的,AMD 于 x86 的 CPU 市占率直直落,现今在中高端的笔电市场中,更几乎看不到采用 AMD CPU 的产品。就在 AMD 要消失在市场之中时,Zen CPU 的消息传出!

Ryzen CPU,硬件架构的重新设计

在 2012 年,K8 的主要硬件架构师 Jim Keller 回到 AMD。这一次,他的回归,让 AMD 重返荣耀的声音响起。是否新的 CPU 可以再现 K8 的传说?这一次的 Ryzen CPU 和先前的 AMD  CPU 有何差异?

将底层硬件架构做比较,可以发现 Ryzen CPU,取消了 Bulldozer 所提出的 Integer Cluster,并以类似 Intel Hyper-Threading 的技术取而代之。如此便能让 CPU 尽可能地达到满载的状况。

此外,新的 Ryzen CPU 也引进了 Intel 于 Sandy Bridge 架构开始采用的 Micro-op Queue,以减少重新 Decode 的需求,提升单次可执行的指令数。借由更多先进的技术,让 AMD 得以获得大幅度的效能提升。也因此,AMD 公布 Ryzen CPU 其每个周期可以执行的指令比前一代 CPU 多 52%,改善幅度相当大。

至于实际的 Ryzen CPU 效能如何呢?现在已经有相当多的评测文章将 Intel Kaby Lake 系列和 Ryzen 系列 CPU 做比较,在这不再多做评比。不过,在一般的应用上,AMD 的 CPU 不会再像之前的 CPU,看不到 Intel CPU 的车尾灯。

china0513-624x468AMD 于 2016 年 HOT CHIPS 上所发布的架构图。从图中可以发现,新的架构取消掉 CMT 的技术,让 CPU 核心变得较不复杂。(Source:AMD)

至此,我们已经看完了两大 x86 巨头间的厮杀,同时在短短的 17 年间,CPU 产业已经采用相当多的技术,以满足与日渐增的计算需求。千禧年后 CPU 的发展简史,让我们见证了一代 CPU 王者的兴起没落以及归来。

china0513-624x468

从图中可以发现在 AMD Bulldozer 中,一共有两个整数运算单元,此技术便称为 Clustered MultiThreaded。(Source:By Shigeru23 (Made by uploader (ref:[1], [2], [3])) [GFDL or CC BY 3.0], via Wikimedia Commons)

首图来源:pixabay

04
18

延伸阅读

  1. 智能手机歧视链已经改写,你被鄙视了吗?

  2. 中国手机在印度市场鲸吞蚕食,印度手机厂商呼吁抵制

  3. 呛台积电、抢 AI 市场,英特尔转型玩真的

  4. 福建男子莫名爱吃辣找到重庆亲生父母,这背后的科技力量太感人

china0513-624x468

不点开阅读原文对不起小编

责任编辑:mooreelite
半导体行业观察
摩尔芯闻

热门评论