中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第三章 流水线技术

○流水线的基本概念 一个任务可以分解为k个子任务 K个子任务在K个不同阶段(使用不同的资源)运行 每个子任务执行需要1个单位时间 整个任务的执行时间为K倍单位时间 流水线执行模式是重叠执行模式 K个流水段并行执行K个不同任务 每个单位时间进入/离开流水线一个任务 12…k Serial Execution Pipelined Execution One completion every k time units One completion every 1 time unit 2/112021 chapter2
流水线的基本概念 • 一个任务可以分解为k 个子任务 – K个子任务在 K 个不同阶段(使用不同的资源)运行 – 每个子任务执行需要1个单位时间 – 整个任务的执行时间为 K倍单位时间 • 流水线执行模式是重叠执行模式 – K个流水段并行执行K个不同任务 – 每个单位时间进入/离开流水线一个任务 2/11/2021 chapter03.2

同步流水线 流水段之间采用时钟控制的寄存器文件 ( clocked registers) 时钟上升沿到达时 ●●● 所有寄存器同时保存前一流水段的结果 流水段是组合逻辑电路 流水线设计中希望各段相对平衡 Input S 2 k H Output Clock 2/112021 chapter3
同步流水线 • 流水段之间采用时钟控制的寄存器文件 (clocked registers) • 时钟上升沿到达时… – 所有寄存器同时保存前一流水段的结果 • 流水段是组合逻辑电路 • 流水线设计中希望各段相对平衡 – 即所有段的延迟时间大致相等 • 时钟周期取决于延迟最长的流水段 2/11/2021 chapter03.3

流水线的性能 i t= time delay in stage Si 时钟周期z=max(7)为最长的流水段延迟 时钟频率f=1/r=1/max() 流水线可以在k+n-1个时钟周期内完成n个任务 完成第一个任务需要k个时钟周期 其他n-1个任务需要n-1个时钟周期完成 K-段流水线的理想加速比(相对于串行执行) Serial execution in cycles k pK Pipelined execution in cycles S→ k for large n k+n-1 2/112021 chapter 4
流水线的性能 • 设 = time delay in stage Si • 时钟周期 = max( ) 为最长的流水段延迟 • 时钟频率 f = 1/ = 1/max( ) • 流水线可以在k+n-1个时钟周期内完成n个任务 – 完成第一个任务需要 k个时钟周期 – 其他n-1个任务需要n-1个时钟周期完成 • K-段流水线的理想加速比(相对于串行执行) 2/11/2021 chapter03.4

典型的RISC5段流水线 5个流水段,每段的延迟为1个cye IF:取值阶段 选择地址:下一条指令地址、转移地址 ID:译码阶段 确定控制信号并从寄存器文件中读取寄存器值 EX执行 Load、 Store:计算有效地址 Branch:计算转移地址并确定转移方向 MEM:存储器访问(仅Load和 Store) WB:结果写回 2/112021 chapter5
典型的RISC 5段流水线 • 5个流水段,每段的延迟为1个cycle • IF: 取值阶段 – 选择地址:下一条指令地址、转移地址 • ID: 译码阶段 – 确定控制信号 并从寄存器文件中读取寄存器值 • EX: 执行 – Load 、Store:计算有效地址 – Branch:计算转移地址并确定转移方向 • MEM: 存储器访问(仅Load和Store) • WB: 结果写回 2/11/2021 chapter03.5

典型的RSC5段流水线 Fetch Decode EXecute Memory I Writeback Data Instruction Cache d Cache o0∝ This version designed for regfiles/ memories with synchronous reads and writes 6
典型的 RISC 5段流水线 6 Fetch Decode EXecute Memory Registers ALU B A Data Cache PC Instruction Cache Store Imm Inst. Register Writeback This version designed for regfiles/memories with synchronous reads and writes

流水线的可视化表示 多条指令执行多个时钟周期 指令按程序序从上到下排列 图中展示了每一时钟周期资源的使用情况 不同指令相邻阶段之间没有干扰 Time(in cycles)CC1+CC2+CC3+CC4+CC5+CC6+CC7+CC8-+ Wr6,8(r5) MH距 HReg! ALUH: nDMA: HReg add r9 r8, r7 HReg: SALUH: HDM:HReg ori r4 r3. 7 IM HIARegu ALUH DMH HReg sub r5 r2 r3 IM H HReg! ALUH DMH HRegl sWr2,10(r3) IM H: HReg! ALUH HDM 2/112021 chapter7
流水线的可视化表示 • 多条指令执行多个时钟周期 – 指令按程序序从上到下排列 – 图中展示了每一时钟周期资源的使用情况 – 不同指令相邻阶段之间没有干扰 2/11/2021 chapter03.7

Recap:流水线技术要点 流水线技术要点 多个任务重叠(并发/并行)执行,但使用不同的资源 流水线技术提高整个系统的吞吐率,不能缩短单个任务的执 行时间 其潜在的加速比=流水线的级数 影响流水线性能的因素 流水线中的瓶颈—最慢的那一段 流水段所需时间不均衡将降低加速比 流水线存在装入时间和排空时间,使得加速比降低 由于存在相关 Hazards)问题,会导致流水线停顿 Hazards问颞:流水线的执行可能会导致对资源的访问冲突,或 破坏对资源的访问顺芧 流水线正常工作的基本条件 增加寄存器文件保存当前段传送到下一段的数据和控制信息 需要更高的存储器带宽 2/112021 chapter 3. 8
Recap:流水线技术要点 • 流水线技术要点 – 多个任务重叠(并发/并行)执行,但使用不同的资源 – 流水线技术提高整个系统的吞吐率,不能缩短单个任务的执 行时间 – 其潜在的加速比=流水线的级数 – 影响流水线性能的因素 • 流水线中的瓶颈——最慢的那一段 • 流水段所需时间不均衡将降低加速比 • 流水线存在装入时间和排空时间,使得加速比降低 – 由于存在相关(hazards)问题,会导致流水线停顿 • Hazards 问题:流水线的执行可能会导致对资源的访问冲突,或 破坏对资源的访问顺序 • 流水线正常工作的基本条件 – 增加寄存器文件保存当前段传送到下一段的数据和控制信息 – 需要更高的存储器带宽 2/11/2021 chapter3.8

指令流时序 时序图展示 每个时钟周期指令所使用的流水段情况 ·指令流在采用5段流水线执行模式的执行情况 Up to five instructions can be in the pipeline during the same cycle ALU instructions skip Instruction Level Parallelism (ILP) the MEM stage Store instructions skip the WB stage Wwr7,8(r3) FDEⅩMEM|WB o lw r6, 8(r5) IF ID EX MEM WB t or r4, r3,7 IF ID EX WB sub r5 r2 r3 IF ID EX WB swr2,10(r3) IF ID EX MEM CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 Time 2/112021 chapter9
指令流时序 • 时序图展示: – 每个时钟周期指令所使用的流水段情况 • 指令流在采用5段流水线执行模式的执行情况 2/11/2021 chapter03.9

○单周期、多周期、流水线控制性能比较 Single-Cycle EXecution Clock=350+250+350+350+250=1550 ps IFReg ALU MEM Reg CPI=1, but long clock cycle Each instruction =1550 ps IF Reg AL MEM Reg Each instruction 1550 ps IF Reg ALU MEM Reg Multi-Cycle EXecution: Clock =350 ps Each instruction= 1550 ps -+ F|Reg| ALUMEM| Reg Average CP=5×02+4×01+4×04+3×0.3=39 350ps 350ps 350ps 350ps 350ps IFReg| ALU Reg -Load 5 cycles 350ps350ps350ps350ps Reg ALU ALU =4 cycles Pipelined Execution 350ps350s350ps Branch=3 cycles→ IFReg ALU MEMReg Tcok=350ps=ma(350,250) 350ps Reg ALU MEM Reg One instruction completes each cycle 350ps IF Reg aLU mEm reg Average CPI=1 350ps350ps350ps350ps350ps Ignore time to fill pipeline 2/112021 chapters 10
单周期、多周期、流水线控制性能比较 2/11/2021 chapter03.10 • 假设5段指令执行流水线 • 某一程序段假设: – 20% load, 10% store, 40% ALU, and 30% branch • 比较三种执行模式的性能

流水线的相关( Hazards) 结构相关:流水线中一条指令可能需要另一条 指令使用的资源 数据和控制相关:一条指令可能依赖于先前的 指令生成的内容 数据相关:依赖先前指令产生的结果(数据)值 一控制相关:依赖关系是如何确定下一条指令地址 (branches, exceptions) 处理相关的一般方法是插入bubb|e,导致 cPI>1(单发射理想cPI) 11
流水线的相关(Hazards) • 结构相关:流水线中一条指令可能需要另一条 指令使用的资源 • 数据和控制相关:一条指令可能依赖于先前的 指令生成的内容 – 数据相关:依赖先前指令产生的结果(数据)值 – 控制相关:依赖关系是如何确定下一条指令地址 (branches, exceptions) • 处理相关的一般方法是插入bubble,导致 CPI>1 (单发射理想CPI) 11
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《网络算法学》课程教学资源(PPT课件讲稿)第二部分 端节点算法学 第五章 拷贝数据.ppt
- 中国科学技术大学:《数值分析》课程教学资源(PPT课件讲稿)第1章 插值.ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第四讲 递归和分治策略(主讲人:吕敏).pptx
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第10章 密钥管理与其他公钥体制.pptx
- 《数据结构 Data Structure》课程教学资源(PPT课件讲稿)第四章 数组、串与广义表.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 1 Introduction.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 树.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 中国科学技术大学:A Practical Verification Framework for Preemptive OS Kernels(PPT讲稿).ppt
- 《算法设计与分析基础》课程教学课件(PPT讲稿)Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency.ppt
- 中国医科大学:《计算机基础》课程教学资源(PPT课件)第8章 Internet应用基础.ppt
- RDA Testing & Comparison with AACR2(session 1).ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 《计算机网络》课程电子教案(PPT教学课件)第二章 物理层.pptx
- 同济大学:企业电子商务系统(PPT讲稿)Enterprise Electronic Business Systems.ppt
- 分布式数据库(PPT课件讲稿)Distributed DBMS Architecture.ppt
- 计算机网络 The Network Layer(PPT课件讲稿)网络互联、Internet上的网络层.ppt
- 《编码理论》课程电子教案(PPT课件讲稿)第二章 信息量和熵.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)代码优化——全局数据流分析技术.ppt
- 网络应用软件(PPT课件讲稿)第一讲 客户-服务器概念、协议端口的使用、套接字API.ppt
- 北京航空航天大学:动态拼车服务中的高效插入操作(PPT讲稿)An Efficient Insertion Operator in Dynamic Ridesharing Services.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(主讲:马涛).pptx
- 计算机语言的学科形态与发展历程(PPT课件讲稿).ppt
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)概述(主讲:岳鹏).ppt
- 南京航空航天大学:《C++》课程电子教案(PPT课件讲稿)第4章 类的高级部分.ppt
- 《神经网络和模糊系统》课程教学资源(PPT讲稿)第四章 突触动力学、非监督学习.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,4th edition)Chapter 1 Introduction.ppt
- 清华大学:不确定型决策(PPT讲稿)Decision Making under Uncertainty.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第五章 传输层.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第七章 贝叶斯分类器 MACHINE LEARNING.pptx
- 清华大学:计算机科学与技术(PPT讲稿)组播 Multicast.pptx
- 《网络算法学》课程教学资源(PPT课件讲稿)第四章 原则的运用.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第7章 电子商务与物流.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿,第三版)Chapter 04 网络层 Network Layer.ppt
- Efficient Algorithms for Optimal Location Queries in Road Networks.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)质量管理计划(主讲:周立新).ppt
- Flexible Online Task Assignment in Real-Time Spatial Data.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第10讲 决策树.ppt
- 《物联网技术导论》课程教学资源(PPT讲稿)Continuous Scanning with Mobile Reader in RFID Systems - an Experimental Study.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第六章 应用层.pptx