钱晓捷,微机原理与接口技术 ·第 4版 —— 基于 IA-32处理器和 32位汇编语言第 10 章并行处理技术
10.1 超标量技术
10.2 动态执行技术
10.3 同时多线程技术
10.4 Intel 64技术
10.5 多核技术微机原理与接口技术
·

4
版机械工业出版社
10.1 超标量技术
标量 ( Scalar) 数据:仅含一个数值的量
向量 ( Vector) 数据:具有多个数值的量
标量处理器:进行单值数据操作的处理器
向量处理器:进行向量数据操作的处理器
超标量 Superscalar技术提高标量指令的执行性能而设计的处理器常用指令可以同时启动,并相互独立地执行微机原理与接口技术
·

4
版机械工业出版社
10.1.1 并行性概念
并行性:在同一个时刻或同一段时间内处理
( 完成 ) 多个 ( 两个或两个以上 ) 任务同时性:同一个时刻发生的并行性并发性:同一段时间内发生的并行性
并行性存在于计算机系统的各个层次指令级并行:多条指令之间的并行线程级并行:多个线程或进程之间的并行多处理器系统:多个处理器系统之间的并行微机原理与接口技术
·

4
版机械工业出版社提高并行性的 3种技术途径(路线)
时间重叠=时间并行将一套硬件设备分解成多个可以独立使用的部分,多个任务在时间上相互错开,重叠使用同一套硬件设备的各个部件
资源重复=空间并行通过重复设置资源,尤其是硬件资源,使得多个任务可以同时被处理
资源共享多个任务按一定时间顺序轮流使用同一套硬件设备微机原理与接口技术
·

4
版机械工业出版社
10.1.2 Pentium的超标量指令流水线
类似 80486的 5级流水线
后 3级可以在两个流水线同时进行
V流水线U流水线地址生成 D2地址生成 D2
指令预取 PF
指令译码 D1
执行 EX执行 EX
回写 WB回写 WB
微机原理与接口技术
·

4
版机械工业出版社
1,超标量整数指令流水线微机原理与接口技术
·

4
版机械工业出版社
2,Pentium的指令配对
IF
i1是简单指令并且 i2也是简单指令并且 i1不是转移指令并且 i1和 i2不存在数据相关
THEN
i1发往 U流水线
i2发往 V流水线
ELSE
i1发往 U流水线
i2做为下对指令的第 1条指令 i1
微机原理与接口技术
·

4
版机械工业出版社
10.1.3 Pentium的动态分支预测
32位 32位 2位转移指令地址 目标指令地址 历史不分支历史,11
预测:分支历史,10
预测:分支分支不分支历史,01
预测:分支分支不分支历史,00
预测:不分支分支不分支新项分支发生分支的移动方向不发生分支的移动方向微机原理与接口技术
·

4
版机械工业出版社
10.2 动态执行技术
P6微结构的 IA-32处理器
Pentium Pro,Pentium II和 Pentium III
动态执行是一系列技术的总称寄存器重命名乱序执行静态分支预测动态分支预测推测执行提高并行处理指令能力微机原理与接口技术
·

4
版机械工业出版社
10.2.1 指令级并行
指令级并行 ILP
研究程序中指令之间存在的并行性
发掘指令之间的并行执行能力提高处理器内部操作的并行程度没有相关的多个指令可以在超标量处理器的多个流水线或多个执行单位同时执行存在相关的多个指令需要尽量消除相关,也实现并行执行指令是处理器执行的基本单位微机原理与接口技术
·

4
版机械工业出版社
1,处理器结构的发展
传统的冯 · 诺依曼处理器串行发送,串行执行
标量指令级并行处理器串行发送,并行执行
超标量指令级并行处理器并行发送,并行执行超长指令字 VLIW技术编译程序静态调度软件程序需要智能化的编译程序超标量处理器使用复杂的硬件电路动态调度不需要修改软件或者重新编译微机原理与接口技术
·

4
版机械工业出版社
2,乱序执行和寄存器重命名
乱序执行 ( Out-of-order Execution)
只要指令操作数就绪就执行,不必是指令的原始顺序
寄存器重命名 ( Register Renaming)
通过改变指令中寄存器操作数的名来消除名相关
I1,mov eax,dvar1
I2,mov ebx,eax
I3,add ecx,100
I4,mov eax,dvar2
数据相关乱序执行名字相关微机原理与接口技术
·

4
版机械工业出版社
3,静态分支预测
解决 BTB中没有记录的转移指令的分支预测问题预测无条件转移指令发生分支预测向后分支的条件转移指令发生分支预测向前分支的条件转移指令不发生分支
jc begin

begin,call convert
begin:

jc begin
微机原理与接口技术
·

4
版机械工业出版社
4,推测执行( Speculative Execution)
推测执行=推断执行=前瞻执行
处理器采用静态和动态的分支预测技术推测指令分支路径,并按照推测结果发送和执行指令
推测正确,可以有效消除分支引起的停顿,
加快分支处理的速度微机原理与接口技术
·

4
版机械工业出版社
5,Intel x86处理器的结构发展
8086,80286和 80386是早期的非流水线处理器顺序串行发送和执行指令
80486是标量指令级并行处理器指令流水线,预取分支目标,内部数据旁路
Pentium属于早期超标量指令级并行处理器两条指令流水线,指令顺序发送,动态分支预测
P6微结构属于高性能的超标量指令级并行处理器动态执行技术寄存器重命名,乱序执行,推测执行
NetBurst微结构继承动态执行技术,并有所改进微机原理与接口技术
·

4
版机械工业出版社
6,IA-64结构
IA-64结构
Intel和 HP公司合作开发的 64位指令集结构
EPIC技术显式并行计算,源于 VLIW技术
Itanium处理器英特尔公司推出的处理器
128位指令束 ( Bundle)
3条指令编码,加上 5位模板域 ( Template)
41位指令编码,称为指令槽 ( Slot)
模板域体现 3条指令间并行特性不与 Intel 80x86结构相兼容微机原理与接口技术
·

4
版机械工业出版社
10.2.2 P6微结构取指 取数顺序发送前端
(取指与译码单元 )
读取指令译码指令为微代码处理指令分支乱序执行核心
(分派与执行单元 )
调度和执行微代码包含 5个执行端口顺序退出单元
(退出单元 )
顺序退出指令写入寄存器和存储器结果
L1指令 Cache L1数据 Cache
存数总线接口单元
L2 Cache系统总线重排序缓冲区 ROB
(指令池 )
等待执行的微代码缓冲区微机原理与接口技术
·

4
版机械工业出版社
10.3 同时多线程技术
线程级并行 TLP( Thread-Level Parallel)
应用程序中包含可以并行执行的多个线程
同时多线程 SMT
通过复制处理器的结构状态,让同一个处理器上的多线程同时执行并共享处理器的执行资源只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能
单芯片多处理器 CMP
在一个芯片上制作多个处理器微机原理与接口技术
·

4
版机械工业出版社
10.3.1 Pentium 4的 NetBurst微结构执行踪迹 Cache
微机原理与接口技术
·

4
版机械工业出版社
10.3.2 Pentium 4的超线程技术
超线程技术 HT( Hyper Threading)
同时多线程技术的一种使 一个物理处理器 看似有 两个逻辑处理器每个逻辑处理器维持一套完整的结构状态共享几乎物理处理器上所有执行资源
从软件角度看这意味操作系统和用户程序像传统多处理器系统一样在逻辑处理器上调度线程或进程
从微结构角度看这意味两个逻辑处理器的指令可以在共享的执行资源上同时保持和执行示意图微机原理与接口技术
·

4
版机械工业出版社
10.4 Intel 64技术
64位线性地址空间,40位物理地址空间
32位扩展工作方式 ( IA-32e),两个子方式:
(1) 兼容方式类似 32位保护方式,应用程序只能存取最低 4GB地址空间,
使用 16或 32位地址和操作数允许 64位操作系统运行大多数 32位软件而无需修改,也可以运行大多数 16位程序
(2) 64位方式允许 64位操作系统运行存取 64位地址空间的应用程序 。
应用程序还可以存取 8个附加的通用寄存器,8个附加的
SIMD多媒体寄存器,64位通用寄存器和 64位指令指针等微机原理与接口技术
·

4
版机械工业出版社
10.4.1 64位方式的运行环境
线性地址空间,264字节,物理地址空间,240字节
64位方式的寄存器新增 8个 64位通用寄存器 R8~ R15
新增 8个 XMM寄存器 XMM8~ XMM15
64位标志寄存器 RFLAGS
64位指令指针 RIP
64位方式的寻址方式位移量 —— 一个 8位,16位或 32位数值基址 —— 在 32位或 64位通用寄存器中的一个数值变址 —— 在 32位或 64位通用寄存器中的一个数值比例因子 —— 一个 2,4或 8数值,用于乘以变址数值微机原理与接口技术
·

4
版机械工业出版社
10.4.2 64位方式的指令
引入新指令前缀 REX
用于存取 64位寄存器和 64位操作数
扩展大多数整数通用指令的功能使得它们都可以处理 64位数据
一小部分整数通用指令不被 64位方式所支持但非 64位方式仍然支持
新增加一些 64位指令微机原理与接口技术
·

4
版机械工业出版社
10.5 多核技术
指令流水线让处理器重叠执行多条指令
超标量处理器利用多条指令流水线同时执行多条指令
多处理器 ( Multiprocessors) 系统使用多个处理器并行执行多个进程或线程
多核 ( Multi-core) 技术将多个处理器核心集成在一个半导体芯片微机原理与接口技术
·

4
版机械工业出版社
10.5.1 并行计算机结构分类
单指令流单数据流 SISD
单处理器 ( Uniprocessor) 系统
单指令流多数据流 SIMD
同一个指令使用不同数据流被多个处理器执行向量处理器,多媒体指令 ( SIMD指令 )
多指令流单数据流 MISD
多指令流多数据流 MIMD
每个处理器读取各自的指令,使用各自的数据进行操作多处理器系统,机群系统微机原理与接口技术
·

4
版机械工业出版社
10.5.2 Intel Core微结构
新一代 Intel x86结构处理器的核心改进 NetBurst微结构提高执行性能利用 Pentium M微结构降低执行功耗
Core微结构
4个译码单元,每个时钟可以译码 4条指令具有 3个算术逻辑单元 ALU,都支持 SIMD指令执行采用超标量结构,乱序处理指令每个时钟退出 4条指令
Core微结构的特性动态执行核心先进的智能 Cache
智能存储器存取先进的数字媒体增强技术示意图微机原理与接口技术
·

4
版机械工业出版社
10.5.3 Intel多核技术
一个物理封装内制作两个或多个处理器执行核心
基于不同的微结构有多种形式基于 NetBurst微结构
Intel Pentium至尊版处理器
Intel Pentium D
基于 Pentium M微结构,Intel Core Duo
基于 Intel Core微结构:英特尔酷睿系列
Intel Core 2 Duo处理器支持双核
Intel Core 2 Quad处理器则支持 4核示意图
理解并行性概念,了解超标量和动态分支预测技术
掌握指令级并行思想,理解乱序执行,寄存器重命名,推测执行等概念
熟悉 P6和 NetBurst微结构的动态执行核心
理解线程级并行思想,了解同时多线程和超线程技术
熟悉 Intel 64结构的工作方式和特点
掌握并行计算机结构分类,了解 Core微结构和多核技术教学要求第 10章 并行处理技术钱晓捷,微机原理与接口技术 ·第 4版 —— 基于 IA-32处理器和 32位汇编语言第 10章 习题
10.1 简答题 ( 1,2,3,4,5)
10.2 判断题 ( 1,2,3,4,5)
10.3 填空题 ( 1,2,3,4,5)
10.5 10.6 10.8