2.1 存储系统简介

存储系统包含cache。如果存储系统差,cpu再好也需要等待。

2.1.1 系统架构的演进

一个处理器包含多个核心,集成cache子系统,内存子系统通过内外总线与其通信。

经典计算机系统中一般有两个标准化的部分,北桥和南桥,他们是处理器和内存以及其他外设沟通的渠道。处理器和内存系统通过前端总线(FRONT SIDE BUS, FSB)相连,当处理器需要读取或者写回数据时,就通过FSB和内存控制器进行通信。

由图,该架构所有处理器共用一条前端总线与北桥相连。北桥也称为主桥(host bridge),主要用来处理高速信号,通常负责与处理器的联系,并控制内存AGP、PCI数据在北桥内部传输。而北桥中往往集成到了一个内存控制器(最近Intel将内存控制器移到了cpu中),根据不同的内存,SRAM、DRAM、SDRAM,集成的内存控制器也不一样。南桥也称为IO桥,负责IO总线间的通信,比如PCI总线、SATA、USB等。可以连接光驱、硬盘、键盘灯设备交换数据,在这种系统中,所有的数据交换都需要通过北桥:

1)处理器访问内存需要通过北桥

2)处理器访问所有的外设都需要通过北桥

3)处理器之间的数据交换也需要通过北桥

4)挂在南桥的所有设备访问内存也需要通过北桥

可以看出,系统瓶颈在于北桥,北桥出现拥塞时,所有设备和处理器都要瘫痪。系统设计另一个瓶颈在于对内存访问上,当对内存访问时,增大对北桥带宽的竞争,而且北桥到内存之间也只有一条总线。

为了改善,出现了第二种通过内存设计,内存控制器未被集成到北桥中,而是呗单独隔离出来

这样的话北桥可以和多个内存相连。

缓急了不同设备对同一内存访问的拥塞问题,但没有改进单一北桥芯片的瓶颈的问题。

为了解决这个瓶颈,产生了如图2-3所示的NUMA系统

在一个配有四核的机器中,不需要一个复杂的北桥就能将内存带宽增加到以前的四倍,但是仍有缺点。

访问内存所花时间与处理器相关,每个处理器都有本地内存,然而访问其他处理器的本地内存要经过1-2段的总线。