今年,众所期待的 amd ryzen cpu 终于上市了。从 2012 年开始研发,背负着带领amd 重返荣耀的 cpu,一上市便造成轰动。极高的性价比以及低功耗,为笔电以及桌机的 cpu 市场,注入了活水。下面就随嵌入式小编一起来了解一下相关内容吧。
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 系列。
▲ 由 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 单元包含了多数的暂存器以及中断讯号的控制器等,用以记录执行绪执行的资讯,是无法被共用的资料。
▲ 左图为未采用 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 的车尾灯。
▲ amd 于 2016 年 hot chips 上所发布的架构图。从图中可以发现,新的架构取消掉 cmt 的技术,让 cpu 核心变得较不复杂。(source:amd)
至此,我们已经看完了两大 x86 巨头间的厮杀,同时在短短的 17 年间,cpu 产业已经采用相当多的技术,以满足与日渐增的计算需求。千禧年后 cpu 的发展简史,让我们见证了一代 cpu 王者的兴起没落以及归来。
▲ 从图中可以发现在 amd bulldozer 中,一共有两个整数运算单元,此技术便称为 clustered multithreaded。(source:by shigeru23 (made by uploader (ref:[1], [2], [3])) [gfdlor cc by 3.0], via wikimedia commons)
为什么中国不能开发出属于自己的OS系统?
关于王斯成对中国光伏市场的理解和分析
AI真的要统治人类?2018年人工智能还有这五大棘手问题待攻克
为什么锡膏印刷时,钢网会时常堵塞?
风扇霍尔开关如何应用
AMD CPU的发展简史:从x86-64位技术到全新的 Ryzen 架构
以龙芯、鲲鹏、海光为例,谈国产芯片的进阶发展
比较器和运放的主要区别
DS1302与8051型微控制器接口
贸泽开售Molex PowerWize BMI盲插配大电流 面板对电路板/面板对母线连接器
微信8.0大更新:表情可炸群,新增状态栏等等
“电池大王”曾毓群:做减法造电池
希捷关闭苏州工厂跟特朗普有关系?
区块链存储大数据网络DxChain介绍
PCB板层叠结构介绍
易云维®产业电商@西门子温湿度传感器采集风管内空气温度的无源传感器
四维图新:打造自主产权自动驾驶芯片
瑞萨16位MCU 提升汽车控制系统开发效率
又一次刷新世界记录!单结钙钛矿太阳能电池效率达到26.25%
三星表示:已将Infinity Flex Display的顶部保护层延伸到了表圈外