钱晓捷,微机原理与接口技术第4版—基于IA-32处理器和32位汇编语言 第10章 并行处理技术 10.1超标量技术 10.2动态执行技术 10.3同时多线程技术 10.4Inte164技术 10.5多核技术
钱晓捷,微机原理与接口技术·第4版——基于IA-32处理器和32位汇编语言 第 10 章 并行处理技术 10.1 超标量技术 10.2 动态执行技术 10.3 同时多线程技术 10.4 Intel 64技术 10.5 多核技术
101超标量技术 粤>标量( Scalar)数据:仅含一个数值的量 向量( Vector)数据:具有多个数值的量 不>标量处理器:进行单值数据操作的处理器 >向量处理器:进行向量数据操作的处理器 机>超标量 Superscalar技术 ·提高标量指令的执行性能而设计的处理器 田·常用指令可以同时启动,并相互独立地执行
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.1 超标量技术 ➢标量(Scalar)数据:仅含一个数值的量 ➢向量(Vector)数据:具有多个数值的量 ➢标量处理器:进行单值数据操作的处理器 ➢向量处理器:进行向量数据操作的处理器 ➢超标量Superscalar技术 提高标量指令的执行性能而设计的处理器 常用指令可以同时启动,并相互独立地执行
1011并行性概念 理>并行性:在同一个时刻或同一段时间内处理 (完成)多个(两个或两个以上)任务 ·同时性:同一个时刻发生的并行性 第·并发性:同一段时间内发生的并行性 版并行性存在于计算机系统的各个层次 械·指令级并行:多条指令之间的并行 线程级并行:多个线程或进程之间的并行 出 版·多处理器系统:多个处理器系统之间的并行
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.1.1 并行性概念 ➢并行性:在同一个时刻或同一段时间内处理 (完成)多个(两个或两个以上)任务 同时性:同一个时刻发生的并行性 并发性:同一段时间内发生的并行性 ➢并行性存在于计算机系统的各个层次 指令级并行:多条指令之间的并行 线程级并行:多个线程或进程之间的并行 多处理器系统:多个处理器系统之间的并行
概提高并行性的3种技术途径(路线) 理时间重叠=时间并行 置·将一套硬件设备分解成多个可以独立使用的部 术 分,多个任务在时间上相互错开,重叠使用同 套硬件设备的各个部件 版>资源重复=空间并行 机·通过重复设置资源、尤其是硬件资源,使得多 个任务可以同时被处理 ≥资源共享 多个任务按一定时间顺序轮流使用同一套硬件 设备
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 提高并行性的3种技术途径(路线) ➢时间重叠=时间并行 将一套硬件设备分解成多个可以独立使用的部 分,多个任务在时间上相互错开,重叠使用同 一套硬件设备的各个部件 ➢资源重复=空间并行 通过重复设置资源、尤其是硬件资源,使得多 个任务可以同时被处理 ➢资源共享 多个任务按一定时间顺序轮流使用同一套硬件 设备
1012 Pentium的超标量指令流水线 理>类似80486的5级流水线 接 后3级可以在两个流水线同时进行 技 术 第 指令预取PF 版 指令译码D1 机 械 地址生成D2]「地址生成D2 出 版 社 匚执行EX]匚执行EX 匚回写WB匚回写wB了 U流水线 V流水线
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.1.2 Pentium的超标量指令流水线 ➢类似80486的5级流水线 ➢后3级可以在两个流水线同时进行 U流水线 V流水线 地址生成D2 地址生成D2 指令预取PF 指令译码D1 执行EX 执行EX 回写WB 回写WB
薇1.超标量整数指令流水线 理 t1 t2 t3 t4 t5 8 接 术PFU 技 5i7 12 i4 1618 第 版D1U 4 5 12 i4 16 18 机 械 D2 U 1i3 业 2|i4i6 8 出 社EXU 12 i4 16 18 WB U 1 i5 i7 2 16 18
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 1. 超标量整数指令流水线
2. Pentium的指令配对 微机原理与接口技术·第4版机械工业出 IF i1是简单指令 并且i2也是简单指令 并且i1不是转移指令 并且i和i2不存在数据相关 THEN i1发往U流水线 i2发往V流水线 版ELSE 社 i1发往U流水线 i2做为下对指令的第1条指令i1
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 2. Pentium的指令配对 IF i1是简单指令 并且i2也是简单指令 并且i1不是转移指令 并且i1和i2不存在数据相关 THEN i1发往U流水线 i2发往V流水线 ELSE i1发往U流水线 i2做为下对指令的第1条指令i1
1013 Pentium的动态分支预测 微机原理与接口技术·第4版机械 32位 32位 2位 转移指令地址目标指令地址历史 不发生分支的移动方向 新项不分支 不分支 不分支 不分支 4/ 历史:10 历史:01 历史:00 出预测:分 预测:分 预测:分 预测:不分支 支 分支 分支 分支 分支 发生分支的移动方向
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.1.3 Pentium的动态分支预测 32位 32位 2位 转移指令地址 目标指令地址 历史 不分支 历史:11 预测:分 支 历史:10 预测:分 支 分支 不分支 历史:01 预测:分 支 分支 不分支 历史:00 预测:不分支 分支 不分支 新项 分支 发生分支的移动方向 不发生分支的移动方向
102动态执行技术 理P6微结构的IA-32处理器 Pentium Pro、 Pentium Il和 Pentium Ill 术>动态执行是一系列技术的总称 寄存器重命名 ●乱序执行 静态分支预测 出 动态分支预测 ●推测执行 提高并行处理指令能力
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.2 动态执行技术 ➢P6微结构的IA-32处理器 Pentium Pro、Pentium II和Pentium III ➢动态执行是一系列技术的总称 寄存器重命名 乱序执行 静态分支预测 动态分支预测 推测执行 提高并行处理指令能力
1021指令级并行 骂≥指令级并行IP 置·研究程序中指令之间存在的并行性 发掘指令之间的并行执行能力 提高处理器内部操作的并行程度 没有相关的多个指令可以在超标量处理器的多 个流水线或多个执行单位同时执行 业●存在相关的多个指令需要尽量消除相关,也实 出 现并行执行 指令是处理器执行的基本单位
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 10.2.1 指令级并行 ➢指令级并行ILP 研究程序中指令之间存在的并行性 ➢发掘指令之间的并行执行能力 提高处理器内部操作的并行程度 没有相关的多个指令可以在超标量处理器的多 个流水线或多个执行单位同时执行 存在相关的多个指令需要尽量消除相关,也实 现并行执行 指令是处理器执行的基本单位