来源(IT168)

From: http://publish.it168.com/cword/3591.shtml

内存控制器(Memory Controller)是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型和速度、内存颗粒数据深度和数据宽度等等重要参数,也就是说决定了计算机系统的内存性能,从而也对计算机系统的整体性能产生较大影响。

传统的计算机系统其内存控制器位于主板芯片组的北桥芯片内部,CPU要和内存进行数据交换,需要经过“CPU--北桥--内存--北桥--CPU”五个步骤,在此模式下数据经由多级传输,数据延迟显然比较大从而影响计算机系统的整体性能;而AMD的K8系列CPU(包括Socket 754/939/940等接口的各种处理器)内部则整合了内存控制器,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。

CPU内部整合内存控制器的优点,就是可以有效控制内存控制器工作在与CPU核心同样的频率上,而且由于内存与CPU之间的数据交换无需经过北桥,可以有效降低传输延迟。打个比方,这就如同将货物仓库直接搬到了加工车间旁边,大大减少了原材料和制成品在货物仓库和加工车间之间往返运输所需要的时间,极大地提高了生产效率。这样一来系统的整体性能也得到了提升。

CPU内部整合内存控制器的最大缺点,就是对内存的适应性比较差,灵活性比较差,只能使用特定类型的内存,而且对内存的容量和速度也有限制,要支持新类型的内存就必须更新CPU内部整合的内存控制器,也就是说必须更换新的CPU;例如AMD的K8系列CPU目前就只能支持DDR,而不能支持更高速的DDR2。而传统方案的内存控制器由于位于主板芯片组的北桥芯片内部,就没有这方面的问题,只需要更换主板,甚至不更换主板也能使用不同类型的内存,例如Intel Pentium 4系列CPU,如果原来配的是不支持DDR2的主板,那么只要更换一块支持DDR2的主板就能使用DDR2,如果配的是同时支持DDR和DDR2的主板,则不必更换主板就能直接使用DDR2。

将内存控制器整合到CPU内部显然是今后的发展方向,而且其技术也会越来越完善。以后Intel也将会推出整合内存控制器的CPU。

Link: http://www.asm32.net/article_details.aspx?id=3441