AMD Dual Core Vs. Intel Dual Core

来源:互联网 发布:c .net编程题 编辑:程序博客网 时间:2024/05/21 08:04

之前从没有想过AMD的多核与Intel的多核能有什么巨大的差异,前些天看了Andrew S. Tanenbaum的操作系统的书,书中提到了一点AMD的多核技术与Intel多核技术的不同,又在网上查了点资料,终于对两者的多核技术有一点基础性的认识了。


1 背景

 从计算机诞生之日起,人们对更强计算能力所做的无休止的追求一直驱使着计算机工业的发展。ENIAC可以完成每秒300次运算,它一下子就比以往任何计算器都快100多倍,但是人们并不满足。我们现在有了比ENIAC快数百万倍的机器,但是还有对更强大机器的需求。天文学家们正在了解宇宙,生物学家正在试图探索人类基因,航空工程师们致力于建造更安全和速度更快的飞机,所有这一切都需要更多的CPU周期。然而,即使有更的多运算能力,人们也不会满足于此。

 过去的解决方案是让时钟走得更快。但是,现在已经开始遇到时钟速度的限制了。按照爱因斯坦的相对论,电子信号的速度不会超过光速,光速在正空中大约是30cm/nsec,在铜线或光纤中的速度大约是20cm/nsec。对于一个10GHz的计算机来说,信号传送的距离不会超过2cm(1/nsec=GHz)。对于100GHz的计算机来说,这个距离只有2mm。在一台1THz的计算机中,传送距离不足100μm。

 让计算机变得如此之小是可能的,但这会遇到另一个难题:计算机运行的越快,产生的热量就越多,而计算机越小就越难散热。在高端Pentium系统中,CPU的散热器比CPU本身还要大,呵呵,太不可思议了。总之,从1 MHz到1 GHz需要的是更好的芯片制造工艺,而从1GHz到1THz则需要完全策略。

所以了,多核处理器就应运而生了。下面就简单粗略的介绍下多核技术吧,尤其是AMD的多核与Intel的多核之间的巨大差异。


2 多核介绍

 随着芯片制造枝术的发展,晶体管的体积越来越小,从而有可能将越来越多的晶体管放人一个芯片中,这个基于经验的发现称为摩尔定律(Moore’s Law ),得名于首次发现该规律的Intel公司创始人之一Gordon Moore 。Intel Core 2 dual列芯片已包含了3亿数量级的晶体管。

随之出现的一个显而易见的问题是:“你怎么利用这些晶体管?”一个选择是给芯片添加数兆字节的高速缓存。这个选择是认真的,带有几兆字节片内高速缓存的芯片现在已经很常见,并且带有更多片内高速缓存的芯片也即将出现,但是到了某种程度,再增加高速缓存的容量只能将命中率从99%提高到99.5%,而这样的改进并不能显著提升应用的性能。

另一个选择是将两个或者多个完整的CPU,通常称为核,放到同一个芯片(专业上讲叫Die)上。双核和四核的芯片已经普及,八十核的芯片已经被制造出来,而带有上百个核的芯片也即将出现。

核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。

多内核(multicore chips)是指在一枚处理器(chip)中集成两个或多个完整的计算引擎(内核)。


3 AMD 多核vs Intel多核

现代CPU中一般都会设计两个缓存。第一级称为L1缓存,总是在CPU中,通常用来将已解码的指令调入CPU的执行引擎。对于那些频繁使用的数据字、多数芯片安排有第二个L1缓存。另外,往往还设计有二级缓存,称为L2缓存,用来存放近来所使用过的若兆字节的内存字。L1和L2缓存之间的差别在于时序。对L1缓存的访问,不存在任何延时;而对L2缓存的访问,则会延时1或2个时钟周期。

在多核芯片中。设计师必须确定缓存的位置。这就导致了AMD和Intel做法的不同,如下图所示。图(a)为一个L2缓存被所有的核共享,Intel多核芯片采用了这个方法。相反,每个核有其自己的L2缓存,AMD采用这个方法,如图(b)所示。不过每种策略都有自己的优缺点。比如,Intel的共享L2缓存需要有一种更复杂的缓存控制器。而AMD的方式在设法保持L2缓存一致性上存在困难。


(a)共享L2缓存的四核处理器(Intel);(b)有独立L2缓存的四核处理器(AMD)

3.1 AMD dual core processor

AMD是将两个内核做在一个晶元(Die)上,通过直连架构(即通过Hyper Transport技术让CPU内核直接跟外部I/O相连,不通过前端总线)相连,集成度更高。据说,AMD Opteron 处理器从一开始设计时就考虑到了添加第二个内核,两个CPU内核使用相同的系统请求接口SRI、Hyper Transport技术和内存控制器,兼容90纳米单内核处理器所使用的940引脚接口。

从用户端的角度来看,AMD的方案能够使双核CPU的管脚、功耗等指标跟单核CPU保持一致,从单核升级到双核,不需要更换电源、芯片组、散热系统和主板,只需要刷新BIOS软件即可,这对于主板厂商、计算机厂商和最终用户的投资保护是非常有利的。客户可以利用其现有的90纳米基础设施,通过BIOS更改移植到基于双核心的系统。

AMD的技术架构为实现双核和多核奠定了坚实的基础。AMD直连架构和集成内存控制器技术,使得每个内核都自己的高速缓存可资遣用,都有自己的专用车道直通I/O,没有资源争抢的问题,实现双核和多核更容易。

3.2 Intel dual core processor

 Intel则是将放在不同晶元(Die)上的两个内核封装在一起。Intel的双核心仅仅是使用两个完整的CPU封装在一起,连接到同一个前端总线上。而且是多个核心共享二级缓存、共同使用前端总线的,当内核增多,核心的处理能力增强时,肯定要遇到总线拥塞的问题。所以,这样的两个核心必然会产生总线争抢,影响性能。不仅如此,还对于未来更多核心的集成埋下了隐患,因为会加剧处理器争用前端总线带宽,成为提升系统性能的瓶颈,而这是由架构决定的。


4 结论

AMD的解决方案是真正的“双核”,Intel只能算是“双芯”。

 


原创粉丝点击