欢迎来到天天文库
浏览记录
ID:52395504
大小:2.24 MB
页数:87页
时间:2020-04-05
《计算机组成原理第6章流水线原理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章流水线原理及其§1重叠方式通常提高指令执行速度的途径有如下三种:提高处理机的工作主频。采用更好的算法和设计更好的功能部件。多条指令并行执行,称为指令级并行技术。可以从两个方面来开发处理机内部的并行性:空间并行性:即在一个处理机内设置多个独立的操作部件,并让这些操作部件并行工作,这种处理机称为多操作部件处理机或超标量处理机;时间并行性:就是采用流水线技术。流水线技术是一种非常经济、对提高处理机的运算速度非常有效的技术。采用流水线技术可以不增加硬件或只需要增加少量硬件就能够把处理机的运算速度提高几倍它是目前使用非常普遍的一种并行处理方式。本章学习标量计算机上使用
2、的流水加速技术。主要内容有流水技术的分类、流水线性能指标计算、非线性流水线的调度算法。标量计算机指只能直接进行标量运算的计算机,与能够直接进行向量运算的向量计算机相对应。流水处理方式的特征,是让多个依次启动的任务,尽量同时使用系统的不同部件,通过时间重叠来提高处理速率。这种技术理论上不增加成本。标量计算机上使用的流水加速技术属于指令级并行技术。每条指令的处理过程,可以划分为取指、译码、取数、运算、送结果5个子过程,也可以分得更细或更粗一些。划分的原则是各部分时间长度大致相等、并使用CPU中不同的部件,这样才有利于多任务重叠处理。基本名词术语标量处理机,超标量处理机
3、:标量处理机指只能进行标量运算的处理机,超标量处理机指能在一个时钟周期内同时发射多条指令的处理机;指令级并行技术:指能使多条指令并行执行的技术,包括流水技术、多操作部件技术和超长指令字技术;流水线处理机,超流水线处理机:流水线处理机指用流水作业方式并行解释多条指令的处理机,超流水线处理机指能在一个时钟周期内分时发射多条指令的处理机;超长指令字技术VLIW:指让一条指令包含多个独立的操作字段,并且分别控制多个功能部件并行工作的技术。一.重叠解释方式1.一条指令的几个过程段1)取指令:根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器)2)译码分析:译出
4、指令的操作性质,准备好所需数据3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件)2.对指令执行的几种方式1)顺序执行(传统机采用)只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令2)仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。3)三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取指重叠。取译执取译执i条i+1条i条取译执i+1条取译执i+2条取译执i条取译执取译执i+1条若一条指令的过程段划分更多时,重叠组合方式更多。重叠解释并不能加快一条指令的实现,但能加快一段程序的解释。3.重叠方式中所需时间表
5、达式及所需时间计算1)条件:设一条指令分为三个过程段,各过程段分别用t取、t译、t执表示。执行K条指令,分别采用顺序执行、两条重叠、三条重叠。假设:各个功能段时间相同,公式见教材P285各个功能段时间不相同,公式见顺序执行k*(t取+t译+t执)两条重叠t取+k*t译+(k-1)*(t取,t执)max+t执三条重叠t取+(t译,t取)max+(k-2)*(t取,t译,t执)max+(t执,t译)max+t执3)例子当k=200,t取=3Δt,t译=4Δt,t执=5Δt,时,分别计算上述三种执行方式的时间。顺序执行:200×(3+4+5)=2400Δt两条重叠:3+
6、200×4+(200-1)×5+5=1803Δt三条重叠:3+4+(200-2)×5+5+5=1007Δt4重叠方式需要解决的问题1)对存储器的频繁访问①有哪些访问:取指令、取操作数、存放执行结果,I/O通道访问.②希望存储器为多体结构,以适应多种访问源的需要。③当存储器为单体结构时,需要将访问源排队,先后顺序为:取指令、取数据、I/O通道访问、存结果先行控制(look-ahead)技术最早在IBM公司研制的STRETCH机器中采用。目前,许多处理机中都已经采用了这种技术,包括超流水处理机和超标量处理机等。先行控制技术的关键是缓冲技术和预处理技术,以及两者的结合。
7、缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。预处理技术是把进入运算器的指令都处理成寄存器-寄存器(RR型)指令,为进入运算器的指令准备好所需要的全部操作数。6.1先行控制技术采用先行控制方式的处理机结构2)应具有先行控制部件①先行:在重叠操作中,当前一条指令在执行过程中就需要提前取出后面的指令进行相应处理,这种提前取出后继指令进行相应处理,称为先行。②先行控制部件的主要包括Ⅰ)先行地址站,包括先行指令地址站和先行操作数地址站;Ⅱ)先行指令站,用来存放多条指令;Ⅲ)先行操作数站,用来存放多个操作数;Ⅳ)先行地址形成部件,用来形成先行指
8、令地址以及
此文档下载收益归作者所有