【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单...

【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单...

ID:17413771

大小:346.00 KB

页数:18页

时间:2018-08-31

【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单..._第1页
【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单..._第2页
【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单..._第3页
【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单..._第4页
【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单..._第5页
资源描述:

《【精品】多线程使多个线程以重叠的方式共享单个处理器的功能单...》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多线程使多个线程以重叠的方式共享单个处理器的功能单元。7.6同时多线程为实现共享,处理器必须保存各个线程的独立状态。硬件必须能够较快地完成线程间的切换。线程的切换应该比进程的切换要高效的多,进程的切换一般需要成百上千个处理器时钟周期。第7章多处理机第一种方法:细粒度多线程技术它在每条指令间都能进行线程的切换,从而导致多个线程的交替执行。主要优点:能够隐藏由任何或长或短的阻塞带来的吞吐率的损失主要缺点:减慢了每个独立线程的执行目前有两种主要的多线程实现方法7.6同时多线程第二种方法:粗粒度多线程技术粗粒度多线程之间的切换只在发生代价较高、时间较长的阻塞出现时。缺点

2、:不能有效地减少吞吐率的损失。原因:由粗粒度多线程的流水线建立时间的开销造成的。由于实现粗粒度多线程的CPU只执行单个线程的指令,因此当发生阻塞时,流水线必须排空或暂停。阻塞后切换的新的线程在指令执行产生结果之前必须先填满整个流水线。7.6同时多线程7.6.1将线程级并行转换为指令级并行同时多线程技术是一种在多流出、动态调度处理器上开发线程级并行和指令级并行的改进的多线程技术。1.产生的主要原因现代多流出处理器通常含有多个并行的功能单元,而单个线程不能有效地利用这些功能单元。通过寄存器重命名和动态调度机制,来自各个独立线程的多条指令可以同时流出,而不考虑他们之间

3、的相互依赖关系;其相互依赖关系将通过动态调度机制得以解决。7.6同时多线程2.一个超标量处理器在以下几种配置时其性能的差别支持多线程技术的超标量处理器由于缺乏足够的指令级并行而限制了流出槽的利用率。支持粗粒度多线程的超标量处理器通过线程的切换部分隐藏了长时间阻塞带来的开销。由于只有当发生阻塞时才进行线程切换,新线程还需要流水线建立时间,所以会产生一些完全空闲的时钟周期。7.6同时多线程支持细粒度多线程的超标量处理器线程的交替执行消除了完全空闲的流出槽。由于在每个时钟周期内只流出一个线程的指令,指令级并行的限制仍然导致一个时钟周期内存在不少的空闲流出槽。支持同时多

4、线程的超标量处理器通过在一个时钟周期内调度多个线程使用流出槽,从而同时实现线程级并行和指令级并行。理想情况下,流出槽的使用率只受限于多个线程对资源的需求和可用资源间的不平衡。7.6同时多线程图7.16:超标量处理器中的4种不同的流出槽使用方法开发的基础:使用动态调度技术的处理器已经具有了开发线程级并行所需的硬件设置。动态调度超标量处理器有大量的虚拟寄存器组,可以用来保存每个独立线程的寄存器状态。由于寄存器重命名机制提供了唯一的寄存器标识符,多个线程的指令可以在数据路径上混合执行,而不会导致各线程间源操作数和目的操作数的混乱。多线程技术可以通过在一个乱序执行的处理

5、器上为每个线程设置重命名表、保留各自的PC值、提供多个线程的指令结果提交的能力来实现。7.6同时多线程7.6.2同时多线程处理器的设计同时多线程只有在细粒度的实现方式下才有意义并发多个同优先级的线程必然拉长单个线程的执行时间通过指定一个优先线程来减小这种影响,从而在整体性能提高的同时对单个指定的线程性能只产生较小的影响。7.6同时多线程多个线程的混合执行将不可避免地影响单个线程的执行时间为提高单个线程的性能,应该为指定的优先线程尽可能多地向前取指,并且在分支预测失效和预取缓冲失效的情况下清空取指单元。但是这样限制了其他线程可用来调度的指令条数,从而减少了吞吐率。

6、所有的多线程处理器都必须在这里寻求一种折衷方案。7.6同时多线程只要一有可能,处理器就运行指定的优先线程。从取指阶段开始就优先处理优先线程只要优先线程的指令预取缓冲区未满,就为它优先取指。只有当优先线程的缓冲区填满以后才为其他线程预取指令。当有两个优先线程时,需要并发预取两个指令流,这给取指部件和指令cache的设置都增添了复杂度。7.6同时多线程设计同时多线程处理器时面临的其他主要问题指令流出单元也要优先考虑指定的优先线程,只有当优先线程阻塞不能流出的时候才考虑其他线程。设置用来保存多个上下文所需的庞大的寄存器文件必须保持每个时钟周期的低开销特别是在关键步骤上

7、需要保证由于并发执行多个线程带来的cache冲突不会导致显著的性能下降。7.6同时多线程通过研究这些问题还可以了解到在大多情况下多线程所导致的额外性能开销是很小的,简单的线程切换选择算法就足够;目前的超标量处理器的效率是比较低的,还有很大的改进余地,同时多线程是获得吞吐率改进的最有前途的方法之一。7.6同时多线程7.6.3同时多线程的性能图7.17表示在超标量处理器上增添8个线程的同时多线程能力时获得的性能提高图7.18表示SMT与基本的超标量处理器在主要内部指标利用率和命中率上的对比7.6同时多线程两个特点超标量处理器本身功能十分强大,它具有很大的一级cach

8、e、二级cache以及大

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。