收藏 分销(赏)

计算机组成原理-第17-18讲.ppt

上传人:a199****6536 文档编号:14590712 上传时间:2026-10-17 格式:PPT 页数:56 大小:479.04KB 下载积分:10 金币
下载 相关
计算机组成原理-第17-18讲.ppt_第1页
第1页 / 共56页
计算机组成原理-第17-18讲.ppt_第2页
第2页 / 共56页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机组成原理,计算机学院,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,计算机组成原理-第17-18讲,计算机组成原理-第17-18讲计算机组成原理-第17-18讲 时序与节拍一条加法指令的实现可分成取指、计算地址、取数及执行等几个步骤,在微程序中,每一步由一条微指令实现;在硬布线控制方式中由指令的操作码直接控制并产生实现上述各步骤所需的控制信号。在大部分情况下,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?可以采用两位计数器的译码输出来表示当前所处的机器周期。2,时序与节拍,一条加法指令的实现可分成取指、计算地址、取数及执行等几个步骤,在微程序中,每一步由一条微指令实现;在硬布线控制方式中由指令的操作码直接控制并产生实现上述各步骤所需的控制信号。在大部分情况下,每一步由一个机器周期实现,,如何区分一条指令的四个机器周期呢?,可以采用两位计数器的译码输出来表示当前所处的机器周期。,2,时序与节拍,3,也可用四个触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于“1”状态,而其余三个触发器处于“0”状态,四位移位寄存器即可实现此功能。,设以cy1,cy2,cy3,cy4分别表示四个机器周期,在初始化reset)时,令cy1处于“1”状态,其余的均处于“0”状态,即机器处于取指周期,然后实现循环移位,可保证四个触发器中有一位且仅有一位处于“1”状态,时序与节拍,4,然而由于每条指令的功能不同,所需的机器周期数可能就不相同,因此某些指令可能缺少某个周期,而有些复杂指令则需延长,从而使得上述计数器或移位寄存器的工作时序发生变化,而且其变化规律与指令有关。,例如,执行A指令时需要四个机器周期,因此计数器的变化规律是00011011;,而执行B指令时仅需三个机器周期(假如不用计算地址),因此计数器的变化规律是001011。,根据,A,,,B,指令计数器状态变化真值表,列出表达式。,时序与节拍,5,时序与节拍,A指令,B指令,cyA cyB,cyA cyB,cyA cyB,cyA cyB,0 0,0 1,0 1,1 0,0 0,1 0,1 0,1 1,1 0,1 1,1 1,0 0,1 1,0 0,6,对于A指令,其表达式为:,对于B指令,其表达式为,时序与节拍,7,译码器输出产生毛刺的原因及处理方法,时序与节拍,8,操作控制信号的产生,1.操作码译码器,指令由操作码与地址码两部分组成,其中操作码表示当前,执行的是什么指令,例如加法指令还是减法指令。假如操,作码有7位,则最多可表示128条指令,一般在机器设置一,个指令译码器,其输入为7位操作码,输出有128根线,在,任何时候,有且仅有一根线为高电位,其余均为低电位,(或一根线为低电位,其余为高电位),每根输出线表示,一条指令,因此译码器的输出反映当前正在执行的指令。,9,由译码器的输出和机器周期状态cy1cy4作为输入,使用逻辑电路产生操作控制信号。,操作控制信号的产生,10,2.操作控制信号的产生,主要讨论“组合逻辑电路”的组成。,仍以执行一条加法指令为例,假设一条加法指令的功能是由四个机器周期cy1cy4完成的,分别为取指、计算有效地址、取操作数、进行加法运算并送结果。,操作控制信号的产生,11,(1)取指周期操作指令(用逻辑式表示),cy1=PCAB,cy1T1=ADS,cy1=M/IO#,cy1=W/R#,cy1=DBIR,cy1,=,PC+1,操作控制信号的产生,12,(2)计算有效地址(用逻辑式表示),加法指令cy2=rs1GR,加法指令cy2=(rs1)ALU,:,加法指令,cy2=ALUAR,操作控制信号的产生,13,对所有指令的全部表达式进行综合分析后可得出如下结论:,(1)取指周期cy1所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。,(2)通常,同一个控制信号在若干条指令的某些周期中都需要,为此需要把它们组合起来。,操作控制信号的产生,14,例如,“+”命令在加法指令的cy2与cy4时需要;在减法指令的cy2时需要;在转移指令的cy2时需要;,用逻辑表达式如下:,“+”=加法指令(cy2+cy4)+减法指令cy2+转移指cy2+,=加法指令cy2+加法指令cy4+,减法指令 cy2+转移指令cy2+,,上式中的加法指令、减法指令等信号通常由操作码译码器输出,译码器实际上是由各操作码的二进制代码作为输入的一组“与门”。,操作控制信号的产生,15,设某机有7位操作码(OP0OP6),,已知加法指令的操作码为0001100,则形成加法指令信号的逻辑表达式为:,(3)同种类型的指令所需的控制信号大部分是相同的,仅有少量区别,例如算术运算中的加法指令(ADD)和减法指令(SUB),除了一个“+”命令与“-”命令信号以外,其余的控制信号全部相同。,操作控制信号的产生,16,例如,某机有128条指令,7位操作码(OP0OP6),其中有十六条算术逻辑运算指令,那么可以令这些指令的三位操作码完全相等(例如OP0OP2为001),而OP3OP6分别表示16条指令,设命令,A,是所有算术逻辑运算指令在,cy2,周期中都需要产生的,则:,操作控制信号的产生,17,A=加法指令cy2+减法指令cy2+逻辑加指令cy2+,=(加法指令+减法指令+逻辑加指令+)cy2,从,16,项化简成,1,项,用一个与门即可实现。,操作控制信号的产生,18,硬布线控制器的组成,19,硬布线控制逻辑设计中的若干问题,1.指令操作码的代码分配,指令系统确定后,指令操作码的分配对组合逻辑电路的组成影响很大,合理地分配操作码能节省控制部分的电路、减少延迟时间。,2.确定机器周期、节拍与主频,一般情况下,机器的周期基本上是根据存储器的速度及执行周期的基本时间确定的。随之确定机器的主频、每一机器周期的节拍与时钟数。,20,3.根据指令功能,确定每一条指令所需的机器周期以及每一周期所完成的操作,在确定每条指令在每一机器周期所完成的操作时,也就得出了相应的操作控制命令。该命令的一般表达式(允许有空位)为:,操作控制命令名=指令名*机器周期*节拍*条件,硬布线控制逻辑设计中的若干问题,21,例如,在采用“加减交替法”进行除法运算时,根据上次运算结果的符号,决定本次执行加法运算还是减法运算,表达式为:,“+”操作命令=除法指令*cy4*N,“,-”,操作命令,=,除法指令,*cy4*N,硬布线控制逻辑设计中的若干问题,22,4.综合所有指令的每一个操作命令,写出逻辑表达式,并化简之。,例如:“+”操作命令,在考虑了乘法和除法指令后,将增加表达式内容如下:,“+”=加法指令*(cy2+cy4)+减法指令*cy2+转移指令*cy2,+乘法指令*(cy2+cy4*y31)+除法指令*(cy2+cy4*N)+,式中y31为乘数寄存器的最低位内容,硬布线控制逻辑设计中的若干问题,23,硬布线控制逻辑与微程序控制的比较,硬布线控制器与微程序控制器,除了操作控制信号的形成方法和原理有差别外,其余的组成部分没有本质上的区别。,硬布线控制与微程序控制之间的最显著差异可归纳为两点,24,1.实现,微程序控制器的控制功能是在存放微程序的控制器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。前者电路比较完整,硬布线控制器的控制信号先用逻辑式列出,经化简后用电路实现,因而显得零乱且复杂,当需修改指令或增加指令时是很麻烦的,有时甚至没有可能,因此微程序控制得到广泛应用。尤其是指令系统复杂的计算机,一般都采用微程序来实现控制功能,硬布线控制逻辑与微程序控制的比较,25,2.性能,在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,那是因为执行每条微指令要从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟。,硬布线控制逻辑与微程序控制的比较,26,控制器的控制方式,控制器控制一条指令运行的过程是依次执行一个确定的微操作序列的过程。,控制器的控制方式:如何形成控制不同微操作序列的时序控制信号的方法。常用的有,同步控制方式,、,异步控制方式,和,联合控制方式,。,27,1.同步控制方式,一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,则称为,同步控制方式,。,同步控制方式可以选取的方案:,(1)采用完全统一的机器周期执行各种不同的指令;,(2)采用不同节拍的机器周期,以解决微操作执行所需时间不统一的问题;,(,3,)采用中央控制和局部控制相结合的方法。,控制器的控制方式,28,将机器的大部分指令安排在一个统一的较短的机器周期内完成,称为,中央控制,,而将少数操作复杂的指令中的某些微操作作另行处理称为,局部控制,。,2.异步控制方式,每条指令,每个微操作需要多少时间就占用多少时间,即控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的“回答”或“结束”信号,再开始新的微操作,称为,异步控制方式,。,控制器的控制方式,29,3.联合控制方式,同步控制和异步控制相结合的方式。对不同指令的各个微操作实行大部分统一、小部分区别对待的方式。,4.人工控制方式,为了调机和软件开发的需要,在计算机面板或内部往往设置一些开关或按键以进行人工控制。最常见的有reset按键、连续执行或单条指令执行的转换开关、符合停机开关等。,控制器的控制方式,30,流水线工作原理,1.流水线基本工作原理,计算机执行程序是按顺序的方式进行的,即程序中各条机器指令是按顺序串行执行的。如果按四个周期完成一条指令来考虑,其执行过程如下:,取指1,计算地址1,取操作数1,计算存结果1,取指2,计算地址2,31,在某些计算机中,CPU分成指令部件I和执行部件E,指令部件完成取指和指令译码等操作,执行部件完成运算和保存结果等操作。如按指令部件和执行部件顺序操作来考虑可将程序的执行过程表示如下:,I,1,E,1,I,2,E,2,流水线工作原理,32,程序是按指令的顺序执行完一条再执行下一条的,顺序执行的优点是控制简单,但是机器各部分的利用率不高。例如,指令部件(I)工作时,执行部件(E)基本空闲;而执行部件工作时,指令部件基本空闲。假如把两条或若干条指令在时间上重叠起来进行,将大幅度提高程序的执行速度。,流水线工作原理,33,将部件分解、隔离,指令分步骤在不同部件中重叠执行,是实现流水线结构的核心思想。,34,按流水线功能多少分类,单功能流水线:,一条流水线只能完成一种单一的任务。,多功能流水线:,能够改变部件之间的连接,从而达到改变其功能的流水线。,1)静态流水线:,当执行某一规定功能的指令全部流出后,才允许改变部件间连接的多功能流水线。,2)动态流水线:,可以在任何时候根据需要改变其部件连接的多功能流水线。,35,按功能部件能否通过反馈进行重复使用分类,线性流水线,:,是在部件上,无反馈连接,的流水线。在这种流水线中,,指令依次通过各个部件仅一次,。目前CPU内所使用的流水线绝大部分都是这类流水线。,非线性流水线,:,是指在各部件除了串行的连接外,还通过反馈线使某些部件得以重复使用。指令在通过这种流水线时,,可能在反馈部件上重复运行若干次,。,关于流水线的分类还有多种,具体可以参见教材。,36,时空图:,时空图是分析流水线性能的基本工具,,可以直观地表现流水线的工作过程,。横轴表示,时间,,可以以,时钟周期为单位,;,纵轴表示空间,,以,功能部件为单位,。图中每一个方格称为一个,时空区,。,时间,t,4,t,5,t,3,t,2,t,1,0,空间,指令执行,指令分析,分析,k,分析,k,+1,分析,k,+2,分析,k,+3,执行,k,执行,k,+3,执行,k,+2,执行,k,+1,2级流水线工作时空图,37,线性流水线的性能分析,1吞吐率,把流水线在单位时间内完成的任务量,定义为吞吐率,。,式中,,n,为完成任务的总数,在指令流水线中就是完成的指令总条数;,Tk,是完成,n,个任务所用的时间。,k,T,n,TP,=,38,一条,k,级的流水线,执行,n,条指令所需的总时间为,(,没有考虑相关瓶颈,),n,-1,1,2,3,n,n,-1,1,2,3,n,n,-1,1,2,3,n,n,-1,1,2,3,n,k,t,(,n,-1),t,n,t,(,k,-1),t,T,k,时间,空间,S,1,S,2,S,3,S,4,各级执行时间相等流水线的时空图,t,n,k,T,k,D,-,+,=,),1,(,39,所以,对一条各级执行时间相等的k级流水线而言,在不考虑相关瓶颈的前提下,其吞吐率为:,当,n,时,(,k,1)可以忽略不计,得到的最大吞吐率为:,t,n,k,n,TP,D,-,+,=,),1,(,t,t,n,k,n,TP,n,D,=,D,-,+,=,1,),1,(,lim,max,40,2加速比(没考虑相关瓶颈),如果顺序结构执行n条指令所用的时间为,T,0,,流水线结构所用时间为,T,k,,那么加速比就是,S,=,T,0,/,T,k,。,顺序结构执行,n,条指令所需时间就为,T,0,=,n,k,t,。,而一个采用流水线的处理机所需时间为,T,k,=(,k,+,n,1),t,。,所以加速比就为:,1,),1,(,0,-,+,=,D,-,+,D,=,=,n,k,n,k,t,n,k,t,k,n,T,T,S,k,最大加速比:,k,n,k,n,k,S,n,=,-,+,=,1,lim,max,如果考虑各级执行时间不等的情况时,可得到加速比为:,=,=,D,D,D,-,+,D,D,=,k,i,k,i,k,i,i,t,t,t,n,t,t,n,S,1,2,1,1,),(,max,),1,(,41,3效率(没考虑相关瓶颈),效率被定义为,个流水线级占用的总时空区,条指令占用的时空区,k,n,E,=,各级执行时间相等的流水线效率等于,1,),1,(,-,+,=,D,-,+,D,=,n,k,n,t,n,k,k,t,k,n,E,显然,,n,越大,空闲部件占据的比例就小,流水线表现的效率越高。最高效率为,1,1,lim,max,=,-,+,=,n,k,n,E,n,吞吐率与效率之间的关系:,E,=,TP,t,,或为,TP,=,E,/,t,。,前提:功能部件个数相等,且各功能部件定义完全一致,即同等资源条件下,效率与加速比的关系:,E,=,S,/,k,,或,S,=,k,E,。,42,时间,空间,1,2,3,4,9,1,2,3,4,9,1,2,3,4,9,1,2,3,4,9,1,2,3,4,9,1,2,3,18,4,5,6,7,8,9,10,11,12,13,14,15,16,17,S,5,S,1,S,2,S,3,S,4,5级线性流水线一种工作时空图,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,吞吐率,TP,:TP=n/Tk=14/18t=,1/2t,流水线的加速比:,S=T0/Tk=(5*14,t,/(18,t,)=5,效率:E=14/18=7/9,43,由于流水线相邻两段在执行不同指令(或操作),因此无论是指令流水线或运算操作流水线,在相邻两段之间必须设置锁存器或寄存器,以保证在一个周期内流水线的输入信号不变。,2.流水线中的相关问题,流水线不能连续工作的原因,除了编译形成的程序不能发挥流水线的作用或存储器供应不上为连续流动所需的指令和数据以外,还因为出现了“,相关,”情况或遇到了程序转移指令。,流水线工作原理,44,“,数据相关,”:假如第二条指令的操作数地址即为第一条指令保存结果的地址,那么取操作数2的动作需要t时间才能进行,否则取得的数据是错误的,这种情况称为数据相关。(根据数据是存储在存储器或通用寄存器中,分别称为存储器数据相关或寄存器数据相关。),流水线工作原理,45,“,流水线阻塞,”:由于计算机内有较多指令存在,其繁简程度不一,执行时间及流水线级数不同,相关的情况各异,有时避免不了产生不能连续工作的情况,这种现象称为流水线阻塞或产生了“,气泡,”。,流水线工作原理,46,流水线工作原理,47,3.程序转移对流水线的影响,在大多数流水线机器中,当遇到条件转移指令时,确定转移与否的条件往往由条件转移指令本身或由它前一条指令形成,只有当它流出流水线时,才能建立转移条件并决定下条指令地址。因此当条件转移指令进入流水线后直到确定下一地址之前,流水线不能继续处理后面的指令而处于等待状态,因而影响流水线效率(产生“,断流,”)。,流水线工作原理,48,在某些计算机中采用了,“猜测法”,技术,机器先确定转移分支中的一个,按它继续取指并处理,假如条件码生成后,说明猜测是正确的,那么流水线可继续进行下去,时间得到充分利用,假如猜错了,那么要返回分支点,并要保证在分支点后进行的工作不能破坏原有现场,否则将产生错误。在计算机运行时,当I/O设备有中断请求或机器有故障时,要求终止当前程序的运行而转入中断处理。在流水线中存在几条指令,因此就有一个如何,“断流”,的问题。一般可采用两种方法,即“,不精确断点法,”和“,精确断点法,”。,流水线工作原理,49,超标量与超流水线技术,超标量流水线:在一个时钟周期内一条流水线可执,行一条以上的指令。一条指令分为十几段指令来由,不同电路单元完成。,超标量,是通过内置多条流水线来同时执行多个处理,器,其实质是以空间换取时间。而,超流水线,是通过,细化流水、提高主频,使得在一个机器周期内完成,一个甚至多个操作,其实质是以时间换取空间。,50,标量是相对于向量而言的,一个只有大小的量称为标量,而将既有大小又有方向的量称为向量。当然,向量中的某一个分量也是标量。,如果处理机每条指令的处理对象是一个或一对(如两个标量相加)标量,这种处理机称为标量处理机。,如果标量处理机内部存在多条指令流水线,则称为超标量处理机。,51,超标量处理机的基本结构,1,2,3,4,1,2,3,4,整数寄存器,1,2,3,4,1,2,3,4,5,6,5,6,浮点数寄存器,存 储 器,常见的超标量处理机组成,52,超流水线的一般概念,IF,ID,EX,WR,I,1,IF,ID,EX,WR,I,2,IF,ID,EX,WR,I,3,IF,ID,EX,WR,I,4,时钟周期,指令,1,2,3,4,5,6,超流水线处理机时空图,在原有流水线结构的基础上,,在一个时钟周期内,分时地发射多条,指令,,从而加大指令执行在时间上的重叠程度,进一步提高速度指,标。,53,54,本节作业,P370-8,.8,、,8.11,55,谢谢!,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服