硬件基础全解析:从处理器到多核架构
1. 处理器与线程
在多处理器系统中,包含多个硬件处理器,每个处理器都能执行一个顺序程序。在讨论多处理器架构时,基本的时间单位是周期,即处理器获取并执行一条指令所需的时间。随着技术的发展,周期时间会发生变化,不同平台的周期时间也有所不同。不过,以周期来衡量,像内存访问这类指令的相对成本变化较为缓慢。
线程是一个顺序程序,与作为硬件设备的处理器不同,线程是一种软件构造。处理器可以运行一个线程一段时间后将其搁置,转而运行另一个线程,这一过程称为上下文切换。处理器搁置线程的原因有多种,比如线程发出的内存请求需要一些时间来响应,或者该线程已经运行了足够长的时间,轮到其他线程继续执行。当一个线程被搁置后,它可能会在另一个处理器上恢复执行。
2. 互连架构
处理器通过互连介质与内存以及其他处理器进行通信,主要有两种互连架构:对称多处理(SMP)和非统一内存访问(NUMA)。
2.1 SMP 架构
在 SMP 架构中,处理器和内存通过总线互连,总线就像一个小型以太网,是一种广播介质。处理器和主内存都有总线控制器单元,负责发送和监听总线上广播的消息(监听有时也称为窥探)。如今,SMP 架构最为常见,因为它易于构建,但它无法扩展到大量处理器,因为最终总线会过载。
2.2 NUMA 架构
在 NUMA 架构中,一组节点通过点对点网络连接,类似于小型局域网。每个节点包含一个或多个处理器和本地内存,一个节点的本地内存可被其他节点访问,所有节点的内存共同构成了所有处理器共享的全局内存。NUMA 名称反映了一个处理器访问自己节点上的内存比访问其他节点上的内存更快
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



