技术 > cpu内部的内存控制器
目录
No. 1
  许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的cpu特性,也会受内存延迟的限制。这样cpu必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自cpu cache还是主内存系统)。当前低段系统的内存延迟大约是120-150ns,而cpu速度则达到了3ghz以上,一次单独的内存请求可能会浪费200-300次cpu循环。即使在缓存命中率(cache hit rate)达到99%的情况下,cpu也可能会花50%的时间来等待内存请求的结束- 比如因为内存延迟的缘故。
  你可以看到opteron整合的内存控制器,它的延迟,与芯片组支持双通道ddr内存控制器的延迟相比来说,是要低很多的。英特尔也按照计划的那样在处理器内部整合内存控制器,这样导致北桥芯片将变得不那么重要。但改变了处理器访问主存的方式,有助于提高带宽、降低内存延时和提升处理器性
No. 2
  内存控制器(Memory Controller)是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型和速度、内存颗粒数据深度和数据宽度等等重要参数,也就是说决定了计算机系统的内存性能,从而也对计算机系统的整体性能产生较大影响。
  CPU内存集成内存控制器有很多优点 比较突出的是三点:
  第一 传统的计算机系统其内存控制器位于主板芯片组的北桥芯片内部,CPU要和内存进行数据交换,需要经过“CPU--北桥--内存--北桥--CPU”五个步骤,在此模式下数据经由多级传输,数据延迟显然比较大从而影响计算机系统的整体性能;而AMD的K8系列CPU(包括Socket 754/939/940等接口的各种处理器)内部则整合了内存控制器,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。
  第二 CPU内部集成内存控制器可以使内存控制器同频于CPU频工作(现在CPU工作频率一般都在2G以上) 而北桥的内存控制器一般就要大大低于CPU工作频率 系统延时就更加少
  第三 CPU内部集成内存控制器 由于内存数据不经过北桥有效的降低了北桥的工作压力为北桥减低可负担
  CPU内部集成内存控制器是K8 CPU的一大设计亮点 就算是现在的扣肉虽然在总体性能上远远超过K8 但是在内存性能上扣肉相对于K8来说还是望尘莫及
  许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的CPU特性,也会受内存延迟的限制。这样CPU必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自CPU cache还是主内存系统)。当前低段系统的内存延迟大约是120-150ns,而CPU速度则达到了3GHz以上,一次单独的内存请求可能会浪费200-300次CPU循环。即使在缓存命中率(cache hit rate)达到99%的情况下,CPU也可能会花50%的时间来等待内存请求的结束- 比如因为内存延迟的缘故。
  你可以看到Opteron整合的内存控制器,它的延迟,与芯片组支持双通道DDR内存控制器的延迟相比来说,是要低很多的。英特尔也按照计划的那样在处理器内部整合内存控制器,这样导致北桥芯片将变得不那么重要。但改变了处理器访问主存的方式,有助于提高带宽、降低内存延时和提升处理器性
  传统的计算机系统其内存控制器位于主板芯片组的北桥芯片内部,CPU要和内存进行数据交换,需要经过“CPU--北桥--内存--北桥--CPU”五个步骤,在此模式下数据经由多级传输,数据延迟显然比较大从而影响计算机系统的整体性能;而AMD的K8系列CPU(包括Socket 754/939/940等接口的各种处理器)内部则整合了内存控制器,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。