计算机系统结构第六讲.ppt
《计算机系统结构第六讲.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第六讲.ppt(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机系统结构(第六讲)厦门大学计算机科学系 陆达2004年11月20日第五章 标量处理机什么是标量处理机?什么是标量处理机?只有标量数据表示和标量指令系统的处理机称为标只有标量数据表示和标量指令系统的处理机称为标量处理机量处理机提高处理机指令执行速度的途径有三种:提高处理机指令执行速度的途径有三种:(1 1)、提高处理机的工作主频)、提高处理机的工作主频(2 2)、采用更好的算法和设计更好的功能部件)、采用更好的算法和设计更好的功能部件(3 3)、多条指令并行执行,称为指令级并行技术)、多条指令并行执行,称为指令级并行技术 a a、流水线处理机、超流水线处理机流水线处理机、超流水线处理机 (
2、superpipeliningsuperpipelining)b b、多操作部件处理机、超标量处理机多操作部件处理机、超标量处理机 (superscalarsuperscalar)超标量超流水线处理机(超标量超流水线处理机(a+ba+b)c c、超长指令字(超长指令字(VLIWVLIW)本章主要内容:(1)、流水线技术(先行控制技术、流水线原理、流水线性能分析、非线性流水线的调度方法、局部数据相关和全局数据相关的处理方法)(2)、超标量处理机 (3)、超流水线处理机5.1 先行控制技术先行控制(look-ahead)技术超流水线处理机、超标量处理机缓冲技术、预处理技术指令分析器、指令执行部件5
3、.1.1 指令的重叠执行方式 图图5.15.1:一条指令的执行过程:一条指令的执行过程三个阶段都可能访问存储器三个阶段都可能访问存储器指令的执行方式:指令的执行方式:(1 1)、顺序执行方式)、顺序执行方式 图图5.2(5.2(a)a)T=3nt T=3nt(2 2)、一次重叠执行方式)、一次重叠执行方式 图图5.2(5.2(b)b)T=(1+2n)t T=(1+2n)t(3 3)、二次重叠执行方式)、二次重叠执行方式 图图5.2(5.2(c)c)T=(2+n)t T=(2+n)t5.1.2 先行控制方式的原理和结构要解决两个问题:(1)、要有独立的取指令部件、指令分析部件和指令执行部件 存储
4、控制器(存控)、指令控制器(指控)、运算控制器(运控)(2)、要解决访问主存储器的冲突问题 a、把主存储器分成两个独立编制的存储器 指令存储器(指存)、数据存储器(数存)指令Cache、数据Cache(哈佛结构)b、指令和数据仍然混合存放在同一个主存储器内 低位交叉存取方式 3 3、先行控制技术 缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作(设置四个缓冲栈)预处理技术:把进入运算器的指令都处理成寄存器-寄存器型(R-R型)指令,它与缓冲技术相结合,为进入运算器的指令准备好所需要的全部操作数5.1.2.1 处理机结构图图5.35.3:采用先行控制方式的处理机结构:采
5、用先行控制方式的处理机结构图图5.45.4:指令缓冲栈(先行指令缓冲栈)的组成:指令缓冲栈(先行指令缓冲栈)的组成 指令缓冲寄存器(存储器)堆、先行程序计数器指令缓冲寄存器(存储器)堆、先行程序计数器PCPC1 1、现行程序计数器现行程序计数器PCPC图图5.55.5:先行控制方式的一次重叠执行:先行控制方式的一次重叠执行 这里的这里的“分析分析”=前面的前面的“取指令取指令+分析分析”T T重叠重叠=(1+=(1+n)tn)t有三个问题需要解决:(1)、指令分析部件和指令执行部件经常要相互等待,从而造成功能部件的浪费(2)、数据相关,控制相关,变址相关(3)、当出现转移或转子程序指令时,程序
6、的执行过程就不是顺序的5.1.2.2 指令执行时序图图5.65.6:分析指令和执行指令时间不相等时的一次:分析指令和执行指令时间不相等时的一次重叠执行方式重叠执行方式图图5.75.7:采用先行缓冲栈的指令执行过程:采用先行缓冲栈的指令执行过程 先行缓冲栈:先行指令缓冲栈、先行读数栈、先先行缓冲栈:先行指令缓冲栈、先行读数栈、先行操作栈、后行写数栈行操作栈、后行写数栈图图5.85.8:采用先行缓冲栈时指令执行过程的一种:采用先行缓冲栈时指令执行过程的一种表示方法(图表示方法(图5.75.7的另一种表示方法)的另一种表示方法)5.1.2.3 先行缓冲栈先行指令缓冲栈(指令缓冲栈):用于平滑主存储器
7、先行指令缓冲栈(指令缓冲栈):用于平滑主存储器和指令分析器的工作和指令分析器的工作先行操作栈:指令分析器对已经存放在先行指令缓冲先行操作栈:指令分析器对已经存放在先行指令缓冲栈里的指令进行预处理,把处理之后的指令送入先行栈里的指令进行预处理,把处理之后的指令送入先行操作栈;先行操作栈是指令分析器和运算控制器之间操作栈;先行操作栈是指令分析器和运算控制器之间的一个缓冲存储器;先行操作栈采用先进先出的一个缓冲存储器;先行操作栈采用先进先出(FIFOFIFO)的方式工作,它由一个先行指令寄存器堆和的方式工作,它由一个先行指令寄存器堆和有关控制逻辑等组成有关控制逻辑等组成 预处理技术(预处理技术(RR
8、RR型、型、RXRX型、型、RSRS型、型、RIRI型型 -RR*RR*型)型)先行读数栈:是主存储器与运算器之间的一种缓先行读数栈:是主存储器与运算器之间的一种缓冲存储器,用来平滑运算器与主存储器的工作;冲存储器,用来平滑运算器与主存储器的工作;由一组缓冲寄存器和有关控制逻辑等组成;每一由一组缓冲寄存器和有关控制逻辑等组成;每一个缓冲寄存器由先行地址缓冲寄存器、先行操作个缓冲寄存器由先行地址缓冲寄存器、先行操作数缓冲寄存器和标志字段等三部分组成数缓冲寄存器和标志字段等三部分组成后行写数栈:是主存储器和运算器之间的一个缓后行写数栈:是主存储器和运算器之间的一个缓冲存储器;由一组缓冲寄存器和有关
9、控制逻辑等冲存储器;由一组缓冲寄存器和有关控制逻辑等组成;每一个缓冲寄存器由后行地址缓冲寄存器、组成;每一个缓冲寄存器由后行地址缓冲寄存器、后行数据缓冲寄存器和标志字段等三部分组成后行数据缓冲寄存器和标志字段等三部分组成图图5.95.9:采用先行控制方式时一个程序的执行过程:采用先行控制方式时一个程序的执行过程指令控制部件:先行控制器(先行指令缓冲栈、先行读数栈、先行操作栈、后行写数栈)+指令分析器指令执行部件:运算器+运算控制器5.1.2.4 缓冲深度的设计缓冲深度问题:各个缓冲栈中的缓冲寄存器个数设置多少缓冲深度问题:各个缓冲栈中的缓冲寄存器个数设置多少个?个?缓冲深度的静态分析方法:缓冲
10、深度的静态分析方法:(1 1)、先行指令缓冲栈已经完全充满)、先行指令缓冲栈已经完全充满 L L1 1*t*t1 1=(L=(L1 1-D-DI I)*t)*t2 2 D DI I=L=L1 1*(t*(t2 2-t-t1 1)/t)/t2 2(2 2)、)、先行指令缓冲栈原来是空的先行指令缓冲栈原来是空的 (L L2 2-D-DI I)*t)*t1 1=L=L2 2*t*t2 2 D DI I=L=L2 2*(t*(t1 1-t-t2 2)/t)/t1 1 吸收型指令(如转移指令等):在指令分析器中就直接执吸收型指令(如转移指令等):在指令分析器中就直接执行完成,不需要送到运算器中执行行完成
11、,不需要送到运算器中执行例:例:L L1 1=9=9,t t1 1=1=1,t t2 2=4 D=4 DI I=7=7 图图5.105.10:先行指令缓冲栈的工作时间关系图:先行指令缓冲栈的工作时间关系图提高主存储器的访问速度,对减少缓冲深度很有效(t2减少-DI减少)DI(先行指令缓冲栈)DC(先行操纵栈)DR(先行读数栈)DW(先行写数栈)5.1.3 数据相关什么是相关(什么是相关(correlationcorrelation)?是指在一段程序的相近指令之间有某种关系,这种关是指在一段程序的相近指令之间有某种关系,这种关系可能影响指令的重叠执行系可能影响指令的重叠执行相关分为两大类:相关分
12、为两大类:(1 1)、数据相关)、数据相关 (2 2)、控制相关)、控制相关数据相关:包括指令相关、主存操作数相关、通用寄数据相关:包括指令相关、主存操作数相关、通用寄存器相关、变址相关存器相关、变址相关解决数据相关的方法:解决数据相关的方法:(1 1)、推后分析法)、推后分析法 (2 2)、设置专用路径)、设置专用路径5.1.3.1 指令相关例:结果地址(例:结果地址(k k)=指令地址(指令地址(k+1k+1)由于第由于第k+1k+1条指令本身的内容取决于第条指令本身的内容取决于第k k条指令的执条指令的执行结果,从而产生指令相关行结果,从而产生指令相关判断是否发生了指令相关:把每一条指令
13、的结果地判断是否发生了指令相关:把每一条指令的结果地址与先行操作栈中、指令分析器中、先行指令缓冲址与先行操作栈中、指令分析器中、先行指令缓冲栈中的所有指令地址进行比较栈中的所有指令地址进行比较解决指令相关的根本方法:在程序设计中不允许修解决指令相关的根本方法:在程序设计中不允许修改指令改指令IBM370IBM370,有一条有一条“执行执行”指令能够解决指令相关,指令能够解决指令相关,又允许在程序执行过程中修改指令又允许在程序执行过程中修改指令5.1.3.2 主存操作数相关例:结果地址(k)=主存操作数地址(k+1)当指令的执行结果写到主存储器,所读取的操作数也取自主存储器时,就有可能发生主存操
14、作数相关A1(k)=A2(k+1)A1(k)=A3(k+1)解决主存操作数相关的方法:推后处理法图图5.115.11:主存操作数相关及其处理方法:主存操作数相关及其处理方法对设置有先行操作栈的处理机,解决操作数相关的办法:对于刚进入先行操作栈中的指令在向主存读操作数之前,首先要把访问主存的地址与后行写数栈中的所有主存地址进行比较,如果发现有相等的,则先行操作栈的读操作数要暂缓进行,等到发生操作数相关的指令执行完成,并把结果写回到主存之后再开始读操作数5.1.3.3 通用寄存器数据相关在RR型指令和RS型指令的执行过程中,可能发生通用寄存器数据相关R1(k)=R1(k+1),称为R1数据相关 R
15、1(k)=R2(k+1),称为R2数据相关解决通用寄存器数据相关的方法(共有四种):解决通用寄存器数据相关的方法(共有四种):(1 1)、通用寄存器是用)、通用寄存器是用D D型触发器构成的,而且在通用寄存型触发器构成的,而且在通用寄存器到运算器之间建立有直接数据通路,即不设置缓冲寄存器到运算器之间建立有直接数据通路,即不设置缓冲寄存器或锁存器,则不会发生通用寄存器数据相关器或锁存器,则不会发生通用寄存器数据相关 图图5.125.12:一种典型的运算器结构:一种典型的运算器结构 (2 2)、分析指令推后一个周期执行)、分析指令推后一个周期执行 图图5.135.13:IBM 370IBM 370
16、机的指令分析与执行的时间关系机的指令分析与执行的时间关系(3 3)、分析指令仅推后一个节拍)、分析指令仅推后一个节拍 图图5.145.14:分析指令仅推后一个节拍的时间关系:分析指令仅推后一个节拍的时间关系(4 4)、设置专用数据通路)、设置专用数据通路 图图5.155.15:设置专用数据通路解决通用寄存器数据:设置专用数据通路解决通用寄存器数据相关相关 设置专用数据通路是通过增加硬件为代价来解决设置专用数据通路是通过增加硬件为代价来解决寄存器数据相关寄存器数据相关 5.1.3.4 变址相关把通用寄存器兼作变址寄存器使用,由于在变址寄存器中存放的变址量在指令分析过程中要用它来计算有效地址,有可
17、能发生变址相关R1(k)=X2(k+1),称为一次变址相关 R1(k)=X2(k+2),称为二次变址相关图图5.165.16:一次变址相关和二次变址相关的时间关:一次变址相关和二次变址相关的时间关系(当系(当t t1 1 t t2 2时,将发生二次变址相关)时,将发生二次变址相关)解决变址相关的方法:解决变址相关的方法:(1 1)、推后分析)、推后分析(2 2)、设置专用通路)、设置专用通路 图图5.175.17:用变址相关专用通路解决变址相关:用变址相关专用通路解决变址相关解决各种数据相关的方法:(1)、采用硬件或软件的办法尽量避免数据相关发生(2)、在确保指令正确执行的前提下,推后指令分析
18、(推后分析法)(3)、设置相关专用通路来解决数据相关(设置专用路径)5.1.4 控制相关 什么是控制相关?什么是控制相关?因为程序的执行方向可能改变而引起的相关称为因为程序的执行方向可能改变而引起的相关称为控制相关控制相关 无条件转移指令、一般条件转移指令、复合条件无条件转移指令、一般条件转移指令、复合条件转移指令、子程序调用指令、中断指令转移指令、子程序调用指令、中断指令 数据相关:称为局部相关数据相关:称为局部相关 控制相关:称为全局相关控制相关:称为全局相关 “吸收型吸收型”指令(无条件转移指令、一般条件转移指令(无条件转移指令、一般条件转移指令):在指令分析器就执行完成,不需要送入指令
19、):在指令分析器就执行完成,不需要送入先行操作栈和指令执行部件先行操作栈和指令执行部件 5.1.4.1 无条件转移无条件转移指令一般能够在指令分析器中就执行无条件转移指令一般能够在指令分析器中就执行完成完成图图5.185.18:无条件转移指令的执行时序:无条件转移指令的执行时序 (无条件转移指令对程序执行速度的影响很小)(无条件转移指令对程序执行速度的影响很小)5.1.4.2 一般条件转移条件转移指令:条件转移指令:(1 1)、一般条件转移指令)、一般条件转移指令(2 2)、复合条件转移指令)、复合条件转移指令图图5.195.19:一般条件转移指令的执行时序:一般条件转移指令的执行时序一般条件
20、转移指令称为一般条件转移指令称为“吸收型吸收型”指令指令转移不成功对先行控制器的影响不大,而当转移转移不成功对先行控制器的影响不大,而当转移成功时,不仅指令执行过程变成了完全串行,而成功时,不仅指令执行过程变成了完全串行,而且要作废已经取到先行指令缓冲栈中的大量指令,且要作废已经取到先行指令缓冲栈中的大量指令,从而白白地增加了处理机与主存之间的通信量从而白白地增加了处理机与主存之间的通信量5.1.4.3 复合条件转移复合型条件转移指令不是复合型条件转移指令不是“吸收型吸收型”指令指令图图5.205.20:复合型条件转移指令的执行时序:复合型条件转移指令的执行时序(如果转移成功,对先行控制器造成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 第六
限制150内