并行计算机架构中的线程级并行性
1. 线程级并行性概述
在处理器芯片的架构组织中,为了有效利用所提供的资源,可能需要使用显式的并行程序,这被称为线程级并行性。因为所需的多个控制流通常被称为线程,与之对应的架构组织也被称为芯片多处理(CMP)。例如,将多个具有所有执行资源的独立执行核心放置在单个处理器芯片上,这样的处理器被称为多核处理器。
另一种方法是使用多线程技术,通过在硬件需要时在不同线程之间进行切换,在单个处理器上同时执行多个线程。这可以通过细粒度或粗粒度多线程来实现。粗粒度多线程的一种变体是时间片多线程,即处理器在预定义的时间片间隔过去后在不同线程之间进行切换。但如果一个线程必须等待某个事件,可能会导致时间片不能被有效利用。而事件触发切换多线程可以避免这种不必要的等待时间,当当前线程必须等待某个事件发生(如缓存未命中)时,处理器可以切换到下一个线程。
2. 同时多线程(SMT)
2.1 SMT的原理
同时多线程(SMT)的思想是使用多个线程,并在必要时在同一周期内调度来自不同线程的可执行指令,从而更有效地利用处理器的功能单元,实现多个线程的同时执行。硬件对同时多线程的支持基于对用于存储处理器状态的芯片区域的复制,包括程序计数器(PC)、用户和控制寄存器以及带有相应寄存器的中断控制器。通过这种复制,处理器对操作系统和用户程序而言就像是一组逻辑处理器,进程或线程可以被分配到这些逻辑处理器上执行。这些进程或线程可以来自单个或多个用户程序,处理器状态的复制数量决定了逻辑处理器的数量。
2.2 SMT的优势
每个逻辑处理器将其处理器状态存储在单独的处理器资源中,避免了在切换到另一个逻辑处理器时
超级会员免费看
订阅专栏 解锁全文
3726

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



