硬件基础:从处理器到多核架构的全面解析
1. 处理器与线程
在多处理器系统中,多个硬件处理器各自执行一个顺序程序。在讨论多处理器架构时,基本的时间单位是周期,即处理器获取并执行一条指令所需的时间。随着技术的发展,周期时间会发生变化,不同平台也有所不同。例如,1980 年处理器每秒约有 1000 万次周期,到 2005 年约为 30 亿次;控制烤面包机的处理器周期比控制 Web 服务器的处理器周期长。不过,以周期表示的指令相对成本(如内存访问)变化缓慢。
线程是一个顺序程序,处理器是硬件设备,而线程是软件构造。处理器可以运行一个线程一段时间后将其搁置,转而运行另一个线程,这一事件称为上下文切换。处理器搁置线程的原因有多种,可能是线程发出的内存请求需要时间满足,也可能是该线程运行时间足够长,轮到其他线程执行。当线程被搁置后,它可能会在另一个处理器上恢复执行。
2. 互连架构
互连是处理器与内存以及其他处理器进行通信的媒介,主要有两种互连架构:对称多处理(SMP)和非均匀内存访问(NUMA)。
- SMP 架构 :处理器和内存通过总线互连,总线类似于小型以太网,是一种广播介质。处理器和主内存都有总线控制器单元,负责发送和监听总线上广播的消息(监听有时称为窥探)。如今,SMP 架构最为常见,因为它易于构建,但随着处理器数量的增加,总线会过载,因此扩展性不佳。
- NUMA 架构 :一组节点通过点对点网络连接,类似于小型局域网。每个节点包含一个或多个处理器和本地内存,一个节点的本地内存可被其他节点访问,所有节点的内存共同构成所有处理器共享的全局内存。“NUMA” 名称反映
超级会员免费看
订阅专栏 解锁全文
69

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



