从硬件的系统结构开始

              我们的电脑主机上都有两个标准化的部分:北桥和南桥。它们是CPU和内存以及其他外设沟通的渠道。下图给出了CPU,内存,南北桥以及其他总线之间的关系。

           
         我们可以看到,所有的CPU都共用一条FSB总线(the Front Side Bus),与北桥相连。而北桥中有一个内存控制器(memory controller),它决定了RAM的类型,换句话说,不同的RAM,比如SRAM,DRAM,SDRAM所要求的内存控制器是不一样的。要访问其他的系统设备,北桥则要同南桥进行交互,南桥也称为IO brigde,它通过一系列的总线(PCI,USB,SATA.....) 来达到与外部设备通信的目的。 这种系统结构有如下几点值得我们注意的地方:
 
     1.CPU之间的所有数据交流都要通过与北桥进行通信的FSB总线;
     2.所有设备对RAM的访问都要经手北桥处理(图中只能看到CPU,但是实际上还有一些设备通过DMA访问内存,也得由北桥来进行处理)
     3.RAM只有单独的一个访问端口(并不是所有的RAM都只有一个访问端口,一些用于特殊用途的可能有多个,但这对我们的讨论没有太多的意义);
    4.CPU访问连接在南桥上的设备也要路经北桥。
 
       这种系统设计的一个明显的瓶颈体现在对内存的访问上。为了缓解CPU的压力,现在那些连接在各种总线上的高性能器件一般都带有DMA功能,尽管这样能减少CPU的工作负载,但是当外设都争相访问内存时,增大了对北桥带宽的竞争,而且北桥到内存之间也只有一条总线。
        下图给出了一种更为昂贵的系统,内存控制器并没有被包含在北桥中,而是被单独隔离出来以协调北桥与某个相应的RAM之间的交互。这样的话,北桥可以和多个RAM相连。
    
这种架构的好处就是内存总线增加了,所以总的带宽也就增加了。对于这种设计,主要的限制就是北桥本身的内部带宽是有限的。
 
        当然,就增加内存访问的带宽而言,使用多个外部内存控制器并不是唯一的办法。如今,越来越流行的一个方法就是将内存控制器给整合到CPU里面去,这种架构在基于AMD的内存处理器的SMP系统中非常流行。下图给出了这种系统架构的模型
 
          
      可以看到,这种架构下,在一个配有四核CPU的机器中,不需要一个复杂的北桥就能将内存带宽增加到以前的四倍。当然这样的架构也是存在一些缺点的。由于每一个CPU都要保证能访问到每一块内存,而内存并不是直接和所有的CPU相连,也就是说内存不再是一致的了!因此这种架构也称为非一致性内存架构,即NUMA(Non uniform memory architecture).不难看出,对于某个CPU来说,本地内存(即和CPU直接相连的内存)的访问速度是正常的,但是当其要访问其他的内存时,就上图而言,轻者要经过另外一个CPU,重者要经过2个CPU,才能达到访问非本地内存的目的,因此内存与CPU的"距离"不同,访问的时间有也所差异,对于NUMA,以后会给出更详细的介绍!
 

由于个人水平有限,文中描述不当或出错之处还请指出,转载请注明出处,谢谢http://blog.csdn.net/vanbreaker/article/details/7464894

 
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值