流水线原理及其在CPU设计中的应用剖析.ppt

  1. 1、本文档共188页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 流水线原理及其在CPU设计中的应用 流水线技术是重要的加快处理器运算速度的基本技术之一。 本章介绍了流水线的基本概念、原理。 线性流水线原理、性能分析 非线性流水线原理、性能分析 通过模型机给出了CPU指令级流水线的具体实施方案。 相关概念及相关处理 结构相关 数据相关 控制相关 6.1 概述 来看一个例子 假设有4个工人要到医院去体检,每个人都要按照顺序检查内科、外科、五官科。怎样做?见图示。 6.1 概述 流水线:流水线是一种并行工作方式,它有以下特点: 有一批可以重复运行的任务; 每一个任务能被分解成多个子任务; 使用多个功能部件; 不同的功能部件完成不同的子任务; 多个功能部件并行运行。 6.1 概述 计算机中怎样引入流水线技术? 计算机级流水; 处理器级流水; 指令级流水。 6.2 指令流水线概念及指令的重叠运行方式 为了能够实现指令级流水工作,必须将指令的整个运行阶段划分成几个子功能段。一种粗略的划分方式为: 取指令阶段、译码阶段、执行阶段(见图6.1)。 重叠概念:将每一条指令的整个运行阶段分解为更小的功能段,使得多条指令在时间上并行运行,称为时间重叠,简称为重叠。 6.2 指令流水线概念及指令的重叠运行方式 1.顺序运行方式 顺序运行方式:设总共有n条指令需要运行。若第i条指令与第i+1条指令的各功能段之间都没有时间上的重叠。当第i条指令与第i+1条指令之间没有等待时间时(见图6.2),这样的串行运行方式称为顺序运行方式。 顺序运行方式运行n条指令所用的时间为(见图6.2) 6.2 指令流水线概念及指令的重叠运行方式 2.一次重叠运行方式 指令的一次重叠:第i条指令与第i+1条指令有一个功能段在时间上重叠,称为指令的一次重叠(见图6.3)。 6.2 指令流水线概念及指令的重叠运行方式 设重叠部分的工作时间相等,则完成n条指令时间为(见图6.3) 比较(6.1)式与(6.2)式,当n 1时有 6.2 指令流水线概念及指令的重叠运行方式 3.二次重叠运行方式 指令的二次重叠:第i条指令与第i+1条指令有两个功能段在时间上重叠,称为指令的二次重叠(见图6.4)。 6.2 指令流水线概念及指令的重叠运行方式 如果重叠部分时间相等,则运行n条指令所用的时间为(见图6.4)。 显然有 6.2 指令流水线概念及指令的重叠运行方式 于是,当n 1时有 因此,指令的二次重叠运行速度要高于一次重叠的运行速度;指令的一次重叠运行速度要高于顺序运行的速度。可见,相邻指令重叠段数越多,指令的运行速度就越快。 6.2 指令流水线概念及指令的重叠运行方式 指令级流水线 指令以流水线方式工作的前提 在硬件上能将整个指令的运行阶段分解为一些更小的子功能段; 指令也能划分成对应于硬件子功能段的子任务; 为了能够完成指令的运行,子功能段的输出数据要能被其他子功能段所使用。因此,需要在各个子功能段之间加上状态部件(见图6.5)。 6.2 指令流水线概念及指令的重叠运行方式 流水线的瓶颈 若各个子功能段的工作时间不相等,则工作时间长的子功能段成为流水线的“瓶颈功能段”。图6.6给出了具有瓶颈功能段的流水线的例子。 站在输出端看,整个流水线的速度取决于速度最慢的子功能段,快速子功能段不能充分发挥能力。 6.2 指令流水线概念及指令的重叠运行方式 两个基本概念: 指令周期:指令从开始到运行完毕所使用的最短时间,即采用非流水线运行方式下完整运行一条指令的最短时间。 流水周期:设流水线方式下,若每一个功能段所需最短时间相等,则该最短时间称为流水周期。若功能段所需时间不等,则选择瓶颈段经历时间作为流水周期。 6.4 流水线的分类 单功能流水线与多功能流水线 单功能流水线:各功能段之间只能进行固定的连接,只完成一种功能。 多功能流水线:各功能段之间可以进行不同的连接,实现不同功能。图6.11给出了一个实例 6.5 流水线的性能指标与线性流水线性能分析 6.5 流水线的性能指标与线性流水线性能分析 6.5.1 线性流水线的性能分析 6.5.1 线性流水线的性能分析 线性流水线吞吐率的上确界( 工程上称为最大吞吐率) 因为TP是n的一元函数,而k 1,求导得 说明TP n 是n的严格单调增函数,所以上确界(最大吞吐率)为 6.5.1 线性流水线的性能分析 一般而言,假设某一线性流水线有k个功能段,每个功能段的工作时间分别是Δti(i 1,2,…,k),则其吞吐率为 6.5.1 线性流水线的性能分析 具有瓶颈段的线性流水线的吞吐率的上确界是 6.5.1 线性流水线的性能分析 事实上,线性流水线的吞吐率要低于最大吞吐率,主要原因: 线性流水线存在“装入”和“排空”时间; 输入的任务往往是不连续的; 程序本身存在数据相关。 6.5.1 线性

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档