线程级并行技术:原理、架构与应用
1. 线程级并行概述
线程级并行是提高处理器性能的重要手段,主要有两种实现方式:芯片多处理(CMP)和多线程技术。CMP是将多个独立的执行核心及所有执行资源集成到单个处理器芯片上,形成多核处理器。多线程技术则是通过硬件在单个处理器上按需切换不同线程,实现多线程的同时执行,可分为细粒度多线程、粗粒度多线程等。
粗粒度多线程的一种变体是时间片多线程,处理器在预定义的时间片间隔后切换线程。但如果线程在时间片中间需要等待事件,会导致时间片未有效利用,处理器可能在剩余时间片内闲置。而事件触发切换多线程可以避免这种不必要的等待时间,当当前线程需要等待事件(如缓存未命中)时,处理器可切换到下一个线程。
2. 同时多线程(SMT)
- 原理 :同时多线程(SMT)的核心思想是使用多个线程,必要时在同一周期调度不同线程的可执行指令,更有效地利用处理器的功能单元,实现多个线程的同时执行。
- 硬件支持 :SMT的硬件支持基于复制用于存储处理器状态的芯片区域,包括程序计数器(PC)、用户和控制寄存器以及中断控制器及其相应寄存器。这使得处理器对操作系统和用户程序而言,就像一组逻辑处理器,可分配进程或线程进行执行。逻辑处理器的数量由处理器状态的复制次数决定。
- 资源使用 :每个逻辑处理器将其处理器状态存储在单独的处理器资源中,避免了切换到其他逻辑处理器时保存和恢复处理器状态的开销。处理器芯片的其他资源,如缓存、总线系统、功能和控制单元等,由逻辑处理器共享。因此,SMT的实现仅导致芯片尺
超级会员免费看
订阅专栏 解锁全文

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



