版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统原理与设计第2章CPU组成与流水线设计第2章01020304CPU组成CPU性能量化流水线技术流水线相关及解决方案05ARM流水线举例/01CPU组成CPU的基本结构CPU包含控制器和运算器控制器是命令发布的决策机构和源头,协调和指挥整个计算机系统的操作运算器是数据处理部件,接受控制器的命令而进行算数运算和逻辑运算CPU的主要寄存器程序计数器PC:指向要执行的下一条指令的地址指令寄存器IR:用来保存当前正在执行的指令编码数据缓冲寄存器DR:用来暂时存放数据数据地址寄存器AR:用来保存当前CPU所访问的数据存储器单元的地址通用寄存器GR:暂存运算器需要的源操作数和结果操作数状态字寄存器PSW:用来保存处理器的运行状态CPU的基本功能指令控制:指令控制是指指令执行的次序操作控制:指令执行时确保执行部件按照指令的要求完成指令执行。时间控制:指令执行时确保指令各个操作及整个执行过程在规定时限内完成。数据处理:CPU完成数据的算术或逻辑运算,有时也称为数据加工。/02CPU性能量化CPU性能公式时钟周期时间(ClockCycleTime,CCT)程序执行所需要的指令数(InstructionCount,IC)每条指令执行需要的时钟周期数(CPI,CyclesPerInstruction)CPU时间=IC×CPI×CCTCPU性能公式【例2-1】比较下面两种CPU执行某程序的性能优劣。假设CPU1执行该程序需要5百万条指令,指令的平均CPI为1.2,时钟频率为1GHz;CPU2执行该程序需要3百万条指令,指令的平均CPI为3.0,时钟频率为0.5GHz。根据CPU性能公式2-1,可以知道两种CPU的程序执行时间如下:CPU1的时间T1=5×106×1.2×10-9=6ms;CPU2的时间T2=3×106×3.0×2×10-9=18ms;因为T2>T1,故CPU1的性能更好。CPU性能公式【例2-2】比较下面两种浮动指令优化方案的性能优劣。假设某CPU的浮点指令的使用频率为0.2,浮点指令的平均CPI为10;其它指令的使用频率为0.8,其它指令的平均CPI为1.2。方案1:把所有浮点指令的平均CPI降到8;方案2:把浮点指令FSQRT的CPI降到2,其中FSQRT占浮点指令使用频率的0.2。CPU性能公式在知道每类指令的使用频率和CPI后,式2-1可以改写为:根据题意,两种方案在改进过程中,指令集未发生变化,则完成任务所需要的指令数IC不会发生变化;同时,也没有提到时钟频率发生变化,即CCT也不会变化。因此,根据CPU性能公式2-2,可以计算两种改进方案的CPU时间,如下:方案1的时间T1=(0.2×IC×8+0.8×IC×1.2)×CCT=11.2×IC×CCT;方案2的时间T2=(0.2×0.2×IC×2+0.8×0.2×IC×10+0.8×IC×1.2)×CCT
=11.28×IC×CCT。因为T2>T1,故方案1的性能更好。CPU性能公式的暗示CCT主要取决于芯片加工工艺及CPU硬件结构,CPI主要取决于CPU硬件结构及指令集架构(ISA),IC则主要取决于ISA和编译技术【例2-3】比较表2-1所示的基于RISC和CISC的CPU性能优劣。表2-1RISC和CISC的运算速度CPU性能公式的暗示取表2-1数据的均值,根据公式2-1,可以计算得到RISC和CISC的CPU性能如下(设完成相同任务需要CISCCPU需要的指令数为IC):CISC的CPU性能=IC×8.5×19=161.5×ICnsRISC的CPU性能=1.35×IC×1.25*6=10.125×ICnsRISC相对CISC的性能加速比=161.5×IC/(10.125×IC)≈16倍。可见,RISCCPU的性能远高于CISCCPU的性能。实际上,由表2-1数据可以看出,完成相同的任务,CISC需要的IC少于RISC,这是CISC的优势,但在CPI和CCT上,CISC都处于劣势。尤其是平均CPI,如果都取均值,CISC的CPI为8.5,RISC的CPI为1.25,RISC领先6.8倍。/03流水线技术流水线概念【例2-4】假设某产品的生产需要4道工序,该产品生产车间以前只有1个工人,只有1套生产该产品的机器。该工人工作8小时,可以生产120件产品(即每4分钟生产1件)。现车间主任希望将该产品的日产量提高到480件,那么他如何能够实现其目标呢?方案一:再聘请3名工人,同时再购买3套生产该产品的机器。让4名工人同时工作8小时,可以达到期望的日产量目标。可以看到,这种方案简单直接,但需要付出购买3套机器和聘请3名工人的成本。流水线概念方案二:产品生产采用流水线生产方式,将原来的机器按照4道工序重新进行改造组合,将4道生产工序分离开来,使得每道工序的生产时间一样,均为1分钟。同时车间再聘请3名工人,让每个工人负责该产品生产的一道工序,每完成一道工序,就将半成品传给下一道工序的工人,直至生产出完整的产品。采用此种方案后,在不需要购买新设备,仅聘请3名工人,也能达到将日产量提高到480件的目标。流水线概念【例2-5】假设指令流水执行时需要3个阶段,第1个阶段是取指令IF,第2个阶段是解析指令ID,第3阶段是执行指令EX,这三个阶段分别需要的时间是t1,t2和t3秒;如果不采用流水,则需要的时间是t1+t2+t3秒。求采用流水线技术和不采用流水线技术的指令吞吐率。方案1:不采用流水。由于每执行一条指令需要t1+t2+t3秒,则指令吞吐率为1/(t1+t2+t3)。流水线概念方案2:流水执行。完成快的部件必须等完成慢的部件,因此,时钟周期应该为t1,t2和t3中最大的一个,则指令吞吐率为1/max(t1,t2,t3)。考虑一种理想情况,这三个时间相等,此时的吞吐率为3/(t1+t2+t3),为方案1的3倍。流水线分类1、单功能流水线和多功能流水线流水线分类2、静态流水线和动态流水线流水线性能分析1.吞吐率吞吐率是衡量流水线性能的重要指标,它是指单位时间内流水线所完成的任务数,即流水线单位时间内能输出的结果。
式中,n表示任务数,Tp表示流水执行n个任务所用的时间。当流水线在连续流动达到稳定以后所得到的吞吐率称为最大吞吐率。流水线性能分析假设流水线各功能段执行时间Δt都相等,总共有k个功能段(这里取k=4)流水线性能分析如图(a)所示的4段流水线中,其时空图如图(b)所示。流水线性能分析如图(a)所示的4段流水线中,其时空图如图(b)所示。流水线性能分析(1)将瓶颈功能段继续细分 从式中可以看出,最大吞吐率与实际吞吐率是由执行时间最长的那个流水决定。因此,最长流水段就成了整个流水线的瓶颈。图中除了流水线中的瓶颈功能段一直处于忙碌状态外,其他功能段有2/3的时间是空闲的,造成资源浪费。流水线性能分析(2)将瓶颈功能段资源重复
流水线性能分析2.加速比流水线的加速比是指完成一批任务,不使用流水线所用的时间与使用流水线的时间之比。若不使用流水线,即顺序执行所用的时间为Ts,使用流水线的执行时间为Tp,则流水线的加速比为: 流水线性能分析如果流水线各段执行时间都相等,则一条k段流水线,连续完成n个任务所需的时间为等效的非流水线上所需的时间为当n>>k时,,即当流水线的各功能段时间相等时,其最大加速比等于流水线的段数。流水线性能分析3.效率流水线效率是指流水线的各功能段部件的利用率。如果各段执行时间相等,则
流水线性能分析【例2-6】一个单功能流水线,每段执行时间都相等为Δt,输入任务不连续的情况下,计算一条4段浮点加法器求8个浮点数和的流水线的吞吐率、加速比和效率。解:改写式子为:流水线性能分析/04流水线相关及解决方案流水线相关及解决方案◆结构相关
当硬件资源满足不了同时重叠执行的指令的要求,而发生资源冲突时,就发生了结构相关。◆数据相关
当一条指令需要用到前面某条指令的结果,从而不能重叠执行时,就发生了数据相关。◆控制相关
当流水线遇到分支指令和其他能够改变PC值的指令时,就会发生控制相关。结构相关采用5级指令流水线,IM、Reg、ALU和DM分别表示流水段中的功能部件取指阶段IF(InstructionFetch),此阶段访问IM,读取存储在IM中的指令;译码阶段ID(InstructionDecode),此阶段对取得的指令进行译码,并根据译码结果读取Reg数据;执行阶段EX(Execute),此阶段利用ALU执行指令或计算地址;访存阶段MEM(Memory),此阶段访问DM,读取存储在DM中的数据或将数据写入到DM中;写回阶段WB(WriteBack),此阶段将将计算结果写回Reg。结构相关结构相关插入暂停,解决结构相关数据相关数据相关①写后读相关(ReadAfterWrite,RAW)。j的执行要用到i的计算结果,j可能在i写入其计算结果之前就先行对保存该结果的寄存器进行读操作②写后写相关(WriteAfterWrite,WAW)。j和i的目的寄存器一样,但是当其在流水线中采用乱序执行时,j可能在i写入其计算结果之前就先行对目的寄存器进行写操作③读后写相关(WriteAfterRead,WAR)。j可能在i读取某个寄存器的内容之前就对该寄存器进行写操作数据相关定向技术(旁路)解决数据相关数据相关暂停解决数据相关控制相关基于暂停的控制相关解决方案分支转移成功分支转移失败控制相关【例2-9】假设分支指令在目标代码中出现的概率是0.3,转移成功概率为0.8,流水线执行其它指令的CPI为1,按照上图给出的分支指令处理规则,求此时的指令执行的平均CPI。指令的平均CPI=分支指令CPI*分支指令比重+其它指令CPI*(1-分支指令比重)分支指令CPI=转移成功指令比重*(1+转移成功的开销)+(1-转移成功指令比
重)*(1+转移失败的开销)根据图中所示的规则,分支指令转移成功后的开销=2,分支指令转移失败的开销=1;根据题目给出的已知条件,分支指令比重=0.3,其它指令CPI=1。此时指令执行的平均CPI应为:平均CPI=(1-0.3)*1+0.3*0.8*3+0.3*(1-0.8)*2=1.54控制相关基于预测失败的控制相关解决方案分支转移失败分支转移成功控制相关基于延迟分支的控制相关解决方案分支转移失败分支转移成功控制相关(动态解决方案)分支目标缓冲区(Branch-TargetBuffer,BTB)控制相关分支目标缓冲处理的步骤控制相关【例2-10】设一个核心循环共循环100次,每次循环执行10条指令,除最后一条用于循环控制的分支指令外,其它指令的CPI为1。方案1,采用静态控制相关解决方案,始终预测分支指令不跳转,预测成功开销为零,预测不成功开销为2个时钟周期;方案2,采用基于BTB的动态控制相关解决方案,预测成功开销为零,预测不成功或不命中的真分支的开销都为4个时钟周期。求两种方案下执行此核心循环需要的时钟周期数以及方案2相对方案1的性能加速比。控制相关方案1执行时,由于仅最后1次分支指令能够预测成功,因此需要的时钟周期数是99*(10+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西赣州市石城县2026年中考第二次模拟考试道德与法治(含解析)
- 2025铁塔代维考试核心考点配套试题及参考答案
- 2026年逾期换证考试短时间备考必刷题库及浓缩答案
- 江苏邮储2024校招笔试近3年真题汇编附逐题解析答案
- 全职备考2020幼儿园保健员面试全量题库带深度解析答案
- 2023年IQC常用表单考点笔试题及答案
- 2020菏泽医专单招综评高频考点模拟题附标准答案
- 2024年小升初冲刺城南旧日事阅读测试题及标准参考答案
- 团队建设管理课件
- 物业与装修公司消防协议书
- 矿山生态修复合同范本
- 2025年广东省韶关市中考一模数学试题
- 中老年模特学习课件
- 2025年设备监理师职业资格考试(设备工程项目管理)历年参考题库含答案详解(5套)
- 2025年西安科技大学专职辅导员招聘笔试备考试题(含答案详解)
- 2026届湖南省岳阳市岳阳县达标名校中考物理押题试卷含解析
- 2025年4月自考《思想道德修养与法律基础03706》真题试题和答案
- 表皮样囊肿与皮脂腺囊肿超声鉴别诊断
- 私企请假管理办法细则
- 2025年广东省中考物理试题卷(含答案)
- EPC项目总结资料
评论
0/150
提交评论