内存控制器(Memory Controller)决定了计算机系统的内存性能,也对计算机系统的整体性能产生较大影响,它是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。AMD早在2003年K8时代CPU已经集成了内存控制器,一直沿用到现在的Phenom II,集成内存控制器能大幅提升内存性能。而Intel方面则表示由于时机还不适合,即使是2006年推出的Core2处理器也没有集成内存控制器,这也使得Core 2在内存性能上一直处于Athlon 64 X2与Phenom系列的下风,这种情况直到Core i7发布后才发生改变。
CPU内部整合内存控制器的优点,就是可以有效控制内存控制器工作在与CPU核心同样的频率上,而且由于内存与CPU之间的数据交换无需经过北桥,可以有效降低传输延迟。打个比方,这就如同将货物仓库直接搬到了加工车间旁边,大大减少了原材料和制成品在货物仓库和加工车间之间往返运输所需要的时间,极大地提高了生产效率。这样一来系统的整体性能也得到了提升。
CPU内部整合内存控制器的缺点,就是对内存的适应性比较差,灵活性比较差,只能使用特定类型的内存,而且对内存的容量和速度也有限制,要支持新类型的内存就必须更新CPU内部整合的内存控制器,也就是说必须更换新的CPU;例如AMD的K8系列CPU目前就只能支持DDR,而不能支持更高速的DDR2。而传统方案的内存控制器由于位于主板芯片组的北桥芯片内部,就没有这方面的问题,只需要更换主板,甚至不更换主板也能使用不同类型的内存,例如Intel Pentium 4系列CPU,如果原来配的是不支持DDR2的主板,那么只要更换一块支持DDR2的主板就能使用DDR2,如果配的是同时支持DDR和DDR2的主板,则不必更换主板就能直接使用DDR2。
内存是电脑中的三大件之一,完全受控于内存控制器。内存控制器决定了内存容量、类型、速度等一系列重要参数,简单地说内存控制器支持什么内存,你就得插什么内存,否则就不行。传统的内存控制器集成在北桥芯片中,CPU跟内存交换数据时都要先经过北桥芯片。由于中间要“绕路”传输数据,所以有一定延迟,会影响系统性能。后来,AMD公司在CPU中集成了内存控制器,使得CPU跟内存之间可以直接通信。延迟问题得到解决,内存性能也有明显提升。
从理论上讲,CPU集成内存控制器,由于CPU和内存之间的数据传输不再需要经过北桥芯片,因此可以缩短CPU与内存之间的数据交换周期。这肯定是北桥芯片来负责内存控制器的模式无法比拟的。而AMD的AM2处理器的改变就是升级了内部集成的内存控制器,可以支持性能比DDR更强的DDR2内存。相对于AMD的处理器内部集成内存控制器,Intel目前的平台,内存控制器仍然设计在北桥芯片当中,它的双通道内存控制器的原理就是在北桥芯片中集成两个内存控制器,而且可以独立工作,CPU能够分别在任一内存通道中进行寻址、读取,这样就在理论上可以使内存的带宽、传输速度增加一倍。但是由于数据交换需要通过北桥,这无疑为处理器访问内存带来更高的延时。
不过Intel为了降低这种设计带来的影响,在的Core处理器微架构中采用了共享二级缓存设计,即两个核心共享4MB的二级缓存。采用共享缓存的好处非常明显,除了缓存容量利用率高,也可以减少缓存数据一致性对缓存性能所造成的负面影响。
此外,因为共享二级缓存的原故,两个核心的级缓存可直接对传数据,不需要通过外部的FSB。还有更为重要的一点,当其中一个核心空闲时,另一个核心可已使用全部4MB缓存,大大提高缓存的使用率,有效的提高了系统性能。另外,每个核心分别内建一组指令及二组数据预先撷取器,而共享的二级缓存控制器内建两组、可动态分配到不同的核心的数据预先撷取器,可根据应用程序数据的行为,进行指令与数据的预先撷取动作,让所需要的内存地址数据,尽量存放在缓存之中,减少存取内存的次数。而改进的内存相关性预测技术及预取单元也可以弥补不集成内存控制器带来的损失。
Intel为支持Conroe处理器的965和975芯片组的北桥内存控制器中,加入了一种Fast Memory Access(FMA)技术,这将使965和975芯片组的内存性能更加。这种FMA技术将包括以下几项特点:
1、“Just In Time Command Scheduling”可以通过监视所有未允许访问的动作,允许安全、有效的重叠使用内存总线中的指令。
2、“Out of Order Execution”可以监视系统内存未决请求,允许跳跃记录以更好的利用已打开的内存页面,以降低延迟和增加带宽。
3、“Opportunistic Writes”可以监视系统请求,当内存空闲时发出未决请求,使内存数据流更有效率。
4、“Clock Crossing Optimizations”可以确保数据以高效率进行传输,在两个频率域之间使数据在个可用的时钟相位中传输。这些技术要点能够优化MCH和系统内存之间的数据传输效率减少延迟,这项技术通常对内存模组的要求较高,品质较高并且rank数低的内存模组比较容易实现并稳定。另外,965和975芯片组的北桥将继续支持Intel Flex Memory Technology(伸缩内存技术),允许电脑在使用不同容量的内存模组的同时,维持双通道工作模式,让系统配置的升级空间更具弹性。
AMD方面也并不是没有缺点,尽管处理器集成内存控制器缩短了CPU与内存之间的数据交换周期,但是同时也带来了一些麻烦。由于AMD的内存控制器是集成在CPU内部,因此内存的工作频率与CPU相同,而且不能进行频率异步设置,这样的话在超频的时候会导致内存的频率同CPU的外频一起升高,一旦超过内存的承受能力,就会导致内存无法工作,这会大大限制处理器的超频能力。这也是目前Conroe处理器超频能力优于AM2处理器的一个很大因素。
还有要注意的是,虽然将内存控制器集成于CPU内核当中,CPU无需通过北桥,直接可以对内存进行访问操作,有效的提高了处理效率。但这样的设计存在的问题就是对内存延时要求很高,内存延时的提高会给系统性能带来很大的影响。而目前DDR2内存的延时还无法和DDR内存相比,尽管随着技术的发展,DDR2内存的延时也在逐步下降,与DDR内存相比差距已经大为缩短。但是,如果AM2搭配低频的DDR2 533内存甚至更低的DDR2 400,内存带宽的提高所带来的系统性能的提升是无法抵销内存延时给系统性能的影响,因此AM2只有搭配DDR2 667和DDR2 800内存时才能体现到系统性能的提升。
好在目前高频DDR2内存的铺货量增多,而且价格也有所下降DDR2 667已成为主流,相信DDR2 800的售价也会很快下落。从各大媒体的测试看来,只有搭配DDR2 800内存AM2内置内存控制器的优势才能表现出来,它的内存带宽的确要比目前Intel平台的内存带宽高,主要的原因是内部集成了内存控制器有效的降低了内存访问延时。
在升级性方面,Intel把内存控制器集成在北桥芯片中,有着可以在不改变处理器设计的情况下支持新类型内存的优势,这在从DDR过渡到DDR2平台之时就可以清楚看到。Intel很快完成内存接口的升级,全面转向DDR2平台,但AMD由于K8处理器集成的内存控制器不支持DDR2内存,到现在的AM2平台才实现内存接口的全面升级。目前内存厂商已经研发出性能更强的新一代的DDR3内存,虽然还没到到正式生产投放市场的阶段,但DDR3内存的到来也应该是指日可待。AMD在这个时候才推出支持DDR2的AM2平台,虽然可以享受高频DDR2内存带来的好处,但面对即将到来的DDR3内存,AMD只能有两种选择要么硬着头皮坚持DDR2,要么推出新的处理器。而Intel只需要升级内存接口和北桥芯片就可以完成DDR2到DDR3的升级。
尽管AMD表示他们的处理器中同时集成了内存控制器(MCH)和DRAM控制器(DCT),MCT是处理器核心和DRAM控制器之间的连接界面,它会不因为外部内存的类型而改变。而DCT则是专门针对DRAM的内存连接界面,要使系统支持不同类型的内存只需要通过改变这一部分就可以实现,因此支持下一代DDR3内存标准并不需要花费太大的力气。但是这只是对芯片生产商而言。对于消费者,所面临的现实是选择Intel平台想要在未来享受DDR3内存的高性能,只需要更换主板和内存就可以了,但是选择AMD平台则需要连CPU一起更换,而且最重要的是就像这次的AM2一样,你更换的CPU除了内存控制器部分之外,可能并没有太大的性能改变,这显然大大增加了不必要的升级成本。
从以上分析来看,目前AMD的处理器集成内存控制器技术,在使用高频率DDR2内存的情况下性能要优于Intel的北桥集成内存控制器技术。但是从升级性和超频能力来看,Intel现在的内存控制器方案更加实际。不过有消息称,Intel最近也表示将在未来的处理中集成内存控制器。我认为得到对手的承认是对AMD处理器集成内存控制器技术的肯定。看来尽管目前技术还不完善,但是处理器集成内存控制器将是未来的发展方向,这一点不容置疑。
内存控制器是在处理器和内存之间负责数据交换的一小块硅片。如果像AMD那样将其整合在处理器内部,则可以显着降低内存延迟,提高处理器性能,但Intel一直拒绝这么做。奥特里尼给出的理由如下:
1、内存标准一直在改变:Athlon处理器不能搭配DDR2内存只是因为它整合的内存控制器只能连接DDR,这也是AMD要升级到Socket AM2的主要原因。Intel当初的Timna处理器曾整合了RAMBUS内存控制器,但随着RAMBUS在市场上的惨败而流产。
2、Intel可以在处理器上集成大容量缓存:AMD处理器对缓存容量不是非常敏感,而Intel处理器则可以凭借大容量的缓存弥补未整合内存控制器带来的损失。奥特里尼在IDF上说:“能战胜整合内存控制器的武器是处理器缓存。”
3、不整合内存控制器可以减小处理器面积:尽管Intel不断改进自己的生产工艺和产能,但产量总是有限度的。因此,处理器面积越小,能生产的数量就越多,最终带来更多收入。