《最新多线程使多个线程以重叠方式共享单个处理器功能单元PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新多线程使多个线程以重叠方式共享单个处理器功能单元PPT课件.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多线程使多个线程以重叠多线程使多个线程以重叠方式共享单个处理器功能方式共享单个处理器功能单元单元 第一种方法:细粒度多线程技术 它在每条指令间都能进行线程的切换,从而导 致多个线程的交替执行。 主要优点:能够隐藏由任何或长或短的阻塞带来的 吞吐率的损失 主要缺点:减慢了每个独立线程的执行q 目前有两种主要的多线程实现方法7.6 同时多线程7.6.2 同时多线程处理器的设计q 同时多线程只有在细粒度的实现方式下才有意义q 并发多个同优先级的线程必然拉长单个线程的执 行时间 通过指定一个优先线程来减小这种影响,从通过指定一个优先线程来减小这种影响,从 而在整体性能提高的同时对单个指定的线程性能而在
2、整体性能提高的同时对单个指定的线程性能 只产生较小的影响。只产生较小的影响。7.6 同时多线程q 多个线程的混合执行将不可避免地影响单个线程 的执行时间 为提高单个线程的性能,应该为指定的优先为提高单个线程的性能,应该为指定的优先线程尽可能多地向前取指,并且在分支预测失效线程尽可能多地向前取指,并且在分支预测失效和预取缓冲失效的情况下清空取指单元。但是这和预取缓冲失效的情况下清空取指单元。但是这样限制了其他线程可用来调度的指令条数,从而样限制了其他线程可用来调度的指令条数,从而减少了吞吐率。所有的多线程处理器都必须在这减少了吞吐率。所有的多线程处理器都必须在这里寻求一种折衷方案。里寻求一种折衷
3、方案。7.6 同时多线程q 只要一有可能,处理器就运行指定的优先线程。q 从取指阶段开始就优先处理优先线程 只要优先线程的指令预取缓冲区未满,就为它只要优先线程的指令预取缓冲区未满,就为它 优先取指。只有当优先线程的缓冲区填满以后才为优先取指。只有当优先线程的缓冲区填满以后才为 其他线程预取指令。其他线程预取指令。q 当有两个优先线程时,需要并发预取两个指令流, 这给取指部件和指令cache的设置都增添了复杂度。 7.6 同时多线程q 设计同时多线程处理器时面临的其他主要问题q 指令流出单元也要优先考虑指定的优先线程,只有 当优先线程阻塞不能流出的时候才考虑其他线程。 设置用来保存多个上下文所
4、需的庞大的寄存器文件设置用来保存多个上下文所需的庞大的寄存器文件 必须保持每个时钟周期的低开销必须保持每个时钟周期的低开销 特别是在关键步骤上特别是在关键步骤上 需要保证由于并发执行多个线程带来的需要保证由于并发执行多个线程带来的cachecache冲突冲突 不会导致显著的性能下降。不会导致显著的性能下降。7.6 同时多线程q 通过研究这些问题还可以了解到 在大多情况下多线程所导致的额外性能开销是很小在大多情况下多线程所导致的额外性能开销是很小 的,简单的线程切换选择算法就足够;的,简单的线程切换选择算法就足够; 目前的超标量处理器的效率是比较低的,还有很大的目前的超标量处理器的效率是比较低的
5、,还有很大的 改进余地,同时多线程是获得吞吐率改进的最有前途改进余地,同时多线程是获得吞吐率改进的最有前途 的方法之一。的方法之一。7.6 同时多线程7.6.3 同时多线程的性能q 图7.17表示在超标量处理器上增添8个线程的同 时多线程能力时获得的性能提高q 图7.18表示SMT与基本的超标量处理器在主要内 部指标利用率和命中率上的对比 7.6 同时多线程q 两个特点 超标量处理器本身功能十分强大,它具有很超标量处理器本身功能十分强大,它具有很 大的一级大的一级cachecache、二级、二级cachecache以及大量的功能以及大量的功能 单元。仅仅采用指令级并行,不可能利用全单元。仅仅采用指令级并行,不可能利用全 部的硬件性能。部的硬件性能。 同时多线程的能力也很强大,可以支持同时多线程的能力也很强大,可以支持8 8个个 线程,并为两个线程同步取指。将超标量和线程,并为两个线程同步取指。将超标量和 同时多线程结合起来,在指令级并行基础上同时多线程结合起来,在指令级并行基础上 进一步开发线程级并行,可以获得显著的性进一步开发线程级并行,可以获得显著的性 能提高。能提高。7.6 同时多线程18 结束语结束语