《计算机系统和系统结构》课程教学资源(PPT课件讲稿)第四章 流水线技术

第四章流水线技术 指令级并行的概念 4.2指令的动态调度 4.3转移预测技术 4.4多发射技术 4.5向指令级并行的支持与限制 4.6 Inte pent i um4实例分析
1 第四章 流水线技术 4.1 指令级并行的概念 4.2 指令的动态调度 4.3 转移预测技术 4.4 多发射技术 4.5 向指令级并行的支持与限制 4.6 Intel Pentium 4 实例分析

4.1指令级并行的概念 指令级并行的概念 几乎所有的处理机都利用流水线来使指令重叠并行执行,以 达到提高性能的目的。这种指令之间存在的潜在并行性称为指 令级并行。(ILP: Instruction- Level parallelism
2 4.1 指令级并行的概念 指令级并行的概念 几乎所有的处理机都利用流水线来使指令重叠并行执行,以 达到提高性能的目的。这种指令之间存在的潜在并行性称为指 令级并行。 (ILP:Instruction-Level Parallelism)

4.1.1指令级并行 1、流水线处理机的实际CP 理想流水线的CP加上各类停顿的时钟周期数: CPI流水线=CPI理想+停顿结构冲突+停顿数据 冲突+停顿控制冲突 理想CP是衡量流水线最高性能的一个指标 IPC: Instruct ions Per Cycle (每个时钟周期完成的指令条数) 2、基本程序块 基本程序块:一段除了入口和出口以外不包含其 他分支的线性代码段。 程序平均每5~7条指令就会有一个分支
3 4.1.1 指令级并行 1、流水线处理机的实际CPI – 理想流水线的CPI加上各类停顿的时钟周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据 冲突 + 停顿控制冲突 – 理想CPI是衡量流水线最高性能的一个指标。 – IPC:Instructions Per Cycle ⚫ (每个时钟周期完成的指令条数) 2、基本程序块 – 基本程序块:一段除了入口和出口以外不包含其 他分支的线性代码段。 – 程序平均每5~7条指令就会有一个分支

3、循环级并行:使一个循环中的不同循环体并 行执行。 开发循环体中存在的并行性 最常见、最基本 是指令级并行研究的重点之 例如,考虑下述语句 for(i=1;i<=500;ⅰ=i+1) ali]=ali]+s 每一次循环都可以与其他的循环重叠并行执行; 在每一次循环的内部,却没有任何的并行性
4 3、循环级并行:使一个循环中的不同循环体并 行执行。 – 开发循环体中存在的并行性 ⚫ 最常见、最基本 – 是指令级并行研究的重点之一 – 例如,考虑下述语句: for (i=1; i<=500; i=i+1) a[i]=a[i]+s; ⚫ 每一次循环都可以与其他的循环重叠并行执行; ⚫ 在每一次循环的内部,却没有任何的并行性

4、最基本的开发循环级并行的技术 循环展开(| oop unroll l ing)技术 采用向量指令和向量数据表示
5 4、最基本的开发循环级并行的技术 – 循环展开(loop unrolling)技术 – 采用向量指令和向量数据表示

4.1.2相关性对指令级并行的影响 本章使用的浮点流水线的延迟 产生结果指令使用结果指令延迟时钟周期 数 浮点计算 另外的浮点计 浮点计算 浮点数据存操 作(SD) 浮点数据取操 作(LD) 浮点计算 浮点数据取操浮点数据存操 作(LD) 作(SD)
6 4.1.2 相关性对指令级并行的影响 本章使用的浮点流水线的延迟 产生结果指令 使用结果指令 延迟时钟周期 数 浮点计算 另外的浮点计 算 3 浮点计算 浮点数据存操 作(SD) 2 浮点数据取操 作(LD) 浮点计算 1 浮点数据取操 作(LD) 浮点数据存操 作(SD) 0

例4-1 对于下面的源代码, for(i=1;i<=100;i++) xli] xLi] +s (Ⅰ)转换成DLX汇编语言,在不进行指令调度和进 行指令调度两种情况下,分析代码一次循环的执行 时间。 (Ⅱ)编译过程进行分析,来仔细考察换名的过程。 备注:本章使用的浮点流水线的延迟如上表所示
7 例4-1 对于下面的源代码, for (i=1; i<=1000; i++) x[i] = x[i] + s; (Ⅰ)转换成DLX汇编语言,在不进行指令调度和进 行指令调度两种情况下,分析代码一次循环的执行 时间。 (Ⅱ)编译过程进行分析,来仔细考察换名的过程。 备注:本章使用的浮点流水线的延迟如上表所示

解:(I (1)变量分配寄存器 整数寄存器R1:循环计数器,初值为向量 中最高端地址元素的地址。 浮点寄存器F2:保存常数S。 假定最低端元素的地址为8。 (2)DLX汇编语言后的程序 Loop: LD F0, O(R1) ADDD F4 F0 F2 SD0(R1),F4 SUBI R1. R1.#8 BNEZ R1, Loop
8 解: (Ⅰ) (1) 变量分配寄存器 整数寄存器R1:循环计数器,初值为向量 中最高端地址元素的地址。 浮点寄存器F2:保存常数S。 假定最低端元素的地址为8。 (2) DLX汇编语言后的程序 Loop: LD F0,0(R1) ADDD F4,F0,F2 SD 0(R1),F4 SUBI R1,R1,#8 BNEZ R1,Loop

(3)程序执行的实际时钟 ◆根据上表中给出的的延迟,实际时钟如下: 指令流出时钟 Loop: LD FO, O(RD) (空转) ADDD F4 FO. F2 (空转) (空转) SD0(R1),F4 (空转) 23456789 SUBI RIRI.#8 7 BNEZ RI, Loop (空转) ◆每个元素的操作需要10个时钟周期,其中5个 是空转周期
9 (3) 程序执行的实际时钟 根据上表中给出的的延迟,实际时钟如下: 指令流出时钟 Loop: LD F0 , 0(R1) 1 (空转) 2 ADDD F4 , F0 , F2 3 (空转) 4 (空转) 5 SD 0(R1) , F4 6 SUBI R1 , R1 , #8 7 (空转) 8 BNEZ R1 , Loop 9 (空转) 10 每个元素的操作需要10个时钟周期,其中5个 是空转周期

(4)指令调度以后,程序的执行情况 ◆SD放在分支指令的分支延迟槽中 ◆对存储器地址偏移量进行调整 指令流出时钟 Loop LD FO, O(RD SUBⅠR1.R1.#8 ADDD F4 FO. F2 (空转) BNEZ RI, Loop SD8(R1),F4 ◆一个元素的操作时间从10个时钟周期减少到6个 5个周期是有指令执行的,1个空转周期
10 (4) 指令调度以后,程序的执行情况 SD放在分支指令的分支延迟槽中 对存储器地址偏移量进行调整 指令流出时钟 Loop: LD F0 , 0(R1) 1 SUBI R1 , R1 , #8 2 ADDD F4 , F0 , F2 3 (空转) 4 BNEZ R1 , Loop 5 SD 8(R1) , F4 6 一个元素的操作时间从10个时钟周期减少到6个 5个周期是有指令执行的,1个空转周期
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机算法基础》课程教学资源(PPT课件讲稿)分枝-限界法.ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)贪心算法.pptx
- 《网络编程实用教程》教学资源(PPT课件讲稿)第4章 MFC编程.ppt
- 航空航天(PPT课件讲稿)Mechanics——Particle Motion.ppt
- 上海交通大学:《软件工程导论》课程教学资源(PPT课件讲稿)第十三讲 软件项目中的人员管理.ppt
- Data Mining and Model Choice in Supervised Learning.ppt
- 武昌理工学院:《操作系统原理》课程教学资源(PPT课件)第一章 操作系统概述(主讲:温静).pptx
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 8 网络安全 Network Security.ppt
- 西安电子科技大学:《现代密码学》课程教学资源(PPT课件讲稿)第六章 数字签名算法.pptx
- 华中师范大学:智能与分布计算(PPT课件讲稿)语义网与本体 Semantic Web & Ontology(Introduction).ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第五讲 经典计算的计算模型(主讲:陈意云).pptx
- 《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第5章 循环结构程序设计.ppt
- 香港科技大学:Introduction to Software Defined Network(SDN).pptx
- 《微机原理笔记》课程教学资源(PPT课件讲稿)第6章 输入输出和中断技术.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第九章 图计算.ppt
- 《大型机高级系统管理技术》课程教学资源(PPT课件讲稿)第3章 作业控制语言.ppt
- 贵州师范学院:《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第9章 结构体.ppt
- A New Approach for Accurate Modelling of Medium Access Control(MAC)Protocols.ppt
- 西安电子科技大学:人工神经网络(PPT讲稿)Artificial Neural Networks(Introduction).ppt
- 《数据结构和编程设计》课程教学资源(PPT课件讲稿)Chapter 1 Programming Principles.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第6章 存储器管理.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第二章 微型计算机基础知识.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 05 Object-Oriented Programming.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第7章 虚拟存储器管理.ppt
- 《计算机软件技术基础》课程电子教案(PPT课件讲稿)第9章 存储管理.ppt
- 上海交通大学:传感器网络研究 Research On Sensor Nets(主讲:伍民友).ppt
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 《大数据挖掘与应用技术》课程教学资源(PPT课件讲稿)第12章 Hibernate持久化技术.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第7章 多处理器及线程级并行 7.3 分布式共享存储器体系结构 7.4 Models of Memory Consistency.pptx
- Acknowledged Broadcasting and Gossiping in ad hoc radio networks.ppt
- Apache Spark:Intro to Spark(Lightning-fast cluster computing).pptx
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第三章 局域网安全技术及应用.ppt
- 面向服务的业务流程管理(PPT讲稿)Business Process Analysis and Modeling.pptx
- 中国铁道出版社:《局域网技术与组网工程》课程教学资源(PPT课件讲稿)第6章 Internet.ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)第二章 视觉的基本知识 第二节 视觉物理学特性.pptx
- 北京航空航天大学:《程序设计语言原理》课程教学资源(PPT课件)第0章 绪论(主讲:吕卫锋)程序语言设计方法学 The Methodology Of Programming Language.ppt
- 《单片机原理及应用》课程PPT教学课件(C语言版)第1章 单片机基础知识概述.ppt
- 山西管理职业学院:《Excel 教程》课程教学资源(PPT课件讲稿,共九部分).ppt
- 《文献信息检索与利用》课程教学资源(PPT课件)第三章 文献信息检索基本理论.ppt
- 南京大学:《操作系统》课程教学资源(PPT课件讲稿)文件管理(主讲:徐锋).ppt