转自:https://blog.youkuaiyun.com/wagsyang/article/details/79157020
早期的计算机较现在简单,计算机系统的组件例如CPU、内存、硬盘和网络接口同时发展起来,他们在性能上很平衡
例如数据传输上,内存网卡cpu都差不多。
但是当计算机系统的整个架构确定后,每个字部件发展速度就不同了,CPU发展比较快,内存和硬盘发展较慢。内存和
硬盘就成了CPU发展的瓶颈,这些瓶颈可以通过软件技术来解决,比如缓存(内存缓存和磁盘缓存)
最开始的cpu架构
- 多个cpu必须经过北桥进行通信
- 与RAM通信必须经过北桥和CPU
- RAM只有一个通道(带宽较小)
- 与南桥相连的外部设备相与CPU通信必须经过北桥
存在两个瓶颈:
- 设备访问RAM必须经过CPU,这样性能比较差,于是有人提出了DMA,设备直接通过北桥访问内存,不经过CPU。但是这样北桥的带宽被占用,出现了第二个瓶颈
- 早期RAM只有一个通道,带宽有限,高并发通信时,数据通信延迟大。后面增加了DDR3和DDR4通道。
CPU架构
将内存控制器从北桥分离出来,使用外部内存控制器,
内存控制器集成到CPU中,这种在大型的服务器上很流行,但是有缺点,即MUMA非一致内存访问,
每个cpu对自己的attach的RAM访问速度很高,但是访问别的CPU的RAM就大打折扣。这个可以通过OS来改善。