CPU多线程技术的运用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 2.发射策略 • 发射策略有许多种,如: • SM:完全同步发射。这是一个便捷的完全同时多 线程超标量处理:每周期所有的线程竞争每一个 的发射槽。对硬件的复杂度来说,这是实现最简 单的模型,但是提供了同时多线程的潜力。下面 介绍的几个模型都对发射策略进行了约束,当然 也增加了硬件的复杂度。
• Cache组织的优化是SMT 的另一个关键技术 • SMT只有获得了更高的功能单元利用率,才 能提高指令的吞吐率。要实现这一目标, 对存储器的层次结构提出了挑战。多线程 对Cache提出了更高的要求,由于要获得高 指令吞吐量,就需要和运算能力相匹配的 持续的指令流,因此Cache系统可能成为最 大的瓶颈。 • Cache共享有时会导致性能损失,不用的 Cache配置对CPU性能的影响大不相同。我 们采用一个基于简单的标量模拟器模拟环 境来模拟一个SMT处理器。
功耗问题在微处理器设计中变得 越来越重要
• SMT结构是一种功耗有效的处理器结构,与传统的单线程 超标量结构相比具有一定的低功耗优势。实验结果表明: 在4个线程同时执行的情况下,执行每条有用指令所需的 平均能量比单个线程执行的情况下改进22%。SMT结构中 程序执行所需能量减少的主要原因,一是减少了资源利用 率低造成的能量浪费,二是减少了无用指令占用资源,减 少无用指令是SMT结构功耗低的主要因素。SMT结构通过 在多个线程间取指执行能有效地容忍误预测分支指令,从 而有效地减少无用指令数。此外,尽管SMT同时执行多个 线程给Cache造成了很大压力从而增加功耗,例如L2 Cache 的不命中率增加会导致功耗增加,但实验结果表明,无用 指令数的减少对减少功耗起了决定性作用。
综合了多发射的超标量处理器和多线程处 理器的特性。同时多线程处理器可以在一 个时钟周期内发射多条指令,这是继承于 超标量处理的特性;和多线程处理器类似, SMT处理器为多个程序(或线程)保留了硬 件现场。
• 同时多线程(SMT)挖掘了线程级和指令级的并 行性,在提高CPU性能方面走出了一条新路 • 今天,处理器的运算速度达到了每秒10亿次, 研究人员仍然在思考如何获得计算性能的显著提 高。一般来说挖掘运算所有层次、形式的并行度 成为一项重要的手段。在一个程序里面通常有两 种并行:指令级并行(Instruction Level Parallelism, ILP),可同时执行两条或多条连续的指令,并且 不破坏因指令间数据传递而产生的顺序语义;线 程级并行(Thread Level Parallelism, TLP),线程级 的并行有更高的层次,一个程序由一组并行执行 的任务组成。以往CPU结构挖掘应用程序的并行 度往往只从某一种并行入手,最好的解决办法就 是开发全方位的并行度。
发射能力比较
优化取指及发射策略是SMT的关键技术
SMT获得高性能的关键是: ● 优化发射策略:由此获得高功能部件利用率 ,进而得到高指令吞吐率。 ● 优化存储子系统,提供有效的策略来保证 数据的供应。
1.取指策略 • SMT的取指部件利用各个线程竞争取指带宽来提高性能。 首先,SMT在各个线程间分配取指带宽。这是SMT的优点 :如果取指部件只能访问一个线程,由于存在转移指令和 Cache行边界,使得装填满发射槽很困难;而SMT可以有多 个线程竞争取指部件,就可以减少因0发射周期带来的浪 费。 • 其次,处理器每周期可以从两个以上的线程取指,这样提 高了只取有用(不是投机的)指令的可能性。 • 再次,当取指部件智能到知道应该到哪个线程取指的时候 ,就可以去那些processors 多线程处理器
研究组员 李鹏飞 070302308 柳祚前 070302310 钱冰雁 070302313 田荣荣 070302318 王晗 070302321 吴瑕 070302323

线程(thread),有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准 的线程由线程ID,当前指令指针(PC),寄存器集合和 堆栈组成。另外,线程是进程中的一个实体,是被系 统独立调度和分派的基本单位,线程自己不拥有系统 资源,只拥有一点在运行中必不可少的资源,但它可 与同属一个进程的其它线程共享进程所拥有的全部资 源。一个线程可以创建和撤消另一个线程,同一进程 中的多个线程之间可以并发执行。由于线程之间的相 互制约,致使线程在运行中呈现出间断性。线程也有 就绪、阻塞和运行三种基本状态。 线程是程序中一个单一的顺序控制流程.在单个程 序中同时运行多个线程完成不同的工作,称为多线程
多线程技术
如果某个线程进行 一次长延迟操作, 处理器就切换到另 一个线程执行。这 样,多个线程的并 行(并发)执行隐藏了 长延迟,提高了处 理器资源利用率, 从而提高了整体性 能。
多线程是为了同步完成多项任务,不是 为了提高运行效率,而是为了提高资源 使用效率来提高系统的效率
同时多线程处理器 (simultaneous multithreading,SMT)
超 线 程 技 术
Intel 的SMT技术——超线程技术
超线程(Hyper Threading)是同时多线程技术(SMT)的 一种,这种技术可经由复制处理器上的结构状态,让同一 个处理器上的多个线程同步执行并共享处理器的执行资源。 对支持多处理器功能的应用程序而言,超线程处理器 被视为两个分离的逻辑处理器。应用程序不须修正就可使 用这两个逻辑处理器。同时,每个逻辑处理器都可独立响 应中断。第一个逻辑处理器可追踪一个软件线程,而第二 个逻辑处理器则可同时追踪另一个软件线程。由于两个线 程共同使用同样的执行资源,因此不会产生一个线程执行 的同时另一个线程闲置的状况。 这种方式将会提升每个 实体处理器中的执行资源的使用率。 这项技术为新功能 及用户不断增长的需求提供了更大的改善空间。
相关文档
最新文档