【文档说明】计算机组成原理六章课件.ppt,共(58)页,224.480 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76278.html
以下为本文档部分文字说明:
计算机组成原理六章INTEL386芯片引脚信号CLK2D0~D31ADS#NA#BS16#READY#HOLDHLDAINTRNMIRESETA2~A31BE3#BE2#BE1#BE0#W/R#D/C#M/IO#LOCK#PEREQB
USY#ERROR#VccGND1、总线控制:ADS#、NA#、BS16#、READY#2、总线仲裁:HOLD、HLDA3、总线周期定义:W/R#、D/C#、M/IO#、LOCK#4、中断:INTR、NMI、RESET5、协处理器信号:BUSY#、ERROR
#6、数据总线:D0~D317、地址总线:A2~A318、字节使能:BE0#~BE3#10、电源:Vcc、GND9、时钟:CLK29/3/20229/3/2022§6.2控制器的组成6.2.1控制器的功能冯.诺依曼计算的根本特点,程序存储,连续自动执行.(起始
-结束)1,取指令2,分析指令解释,译码指令,形成操作数地址3,执行指令发出各种控制信号,到运算器,总线,主存,外设.4,控制程序,数据,结果输入输出5,异常情况及一些请求的处理_数据传输错误,运算溢出._中断请求,DMA请求6.2.2控制器的组成9/3/20
226.2.2控制器的组成控制器的功能相对应,来看控制器器的组成1,程序计数器(PC)指令地址寄存器,计算机加电后要执行的第一条指令的地址是本寄存器的初值,不一定就是0.一指令取指动作后PC自动加一个曾量(上一条指令的字节数)或根据跳转指令指向将要执
行的下一条2,指令寄存器:存放当前正在执行的指令本身的内容如果是指令预取的系统还会曾加一个或几个指令地址寄存器3,指令译码器:对指令寄存器中的操作码进行分析解释,产生相应的控制信号。4,脉冲源及启停线路:提供整机的时钟
脉冲信号.在机器刚加电时,还应产生RESET信号。启停线路,控制时序信号的发生或停止,从而启动或停机5,时序控制信号形成部件:在时钟脉冲作用下,根据当前正在执行的指令的要求,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号。6,状态寄存器(PSR):将反
映机器运行的状态集中在一起,(PSW)用来决定程序运行的选择。9/3/20226.2.3指令的执行过程1,每一条指令执行的一般过程(1)取指令指令从内存读到控制器中,PC内容送地址寄存器由控制器发读内存的信号.指令读出送指令寄存器(2
)分析指令(简单计算机中没有这个专门的过程)(3)按指令的内容执行操作,不同指令操作内容和步骤差别大(4)检查中断(5)转入下一条指令的执行2,指令执行过程举例_.指令格式:操作码Rs,rdrs1imm(或Disp)rs,rd,rs1——通用寄存器地址imm,(或
Disp)——立即数(或位移量)_.加法指令的操作:[rd<-(rs)+(rs1+disp)]12/1/2022运算器框图GR:8个通用寄存器ALU:算术逻辑运算单元——受控与门*——控制命令9/3/20222,指令执行过程举例_.指令格式:操作码Rs,rdrs1
imm(或Disp)rs,rd,rs1——通用寄存器地址imm,(或Disp)——立即数(或位移量)_.加法指令的操作:[rd<-(rs)+(rs1+disp)](1)取指令:这是一个存储器总线周期,CPU从存储器中取出(读操作)一条指令,送入指令寄存器,并
进行操作码译码。PC加1,为下一条指令做好准备;控制器发出的控制信号为:PC→AB,W/R#=0,M/IO#=1,DB→IR,PC+1(2)计算数据地址:这是CPU内部的操作,不是总线周期。计算的数据存储有效地址送至地址寄存器AR。发出的控制信号为:rs1→GR,(rs1)→ALU,
Disp→ALU(将rs1的内容与Disp送ALU);“+”(加法指令送ALU);ALU→AR(有效地址送地址寄存器)。(3)取操作数:这是一个存储器总线周期,发出的控制信号为:AR→AB,W/R#=0,M/IO#=1,DB→DR。(4)加法运算:这不是总线周期
,运算结果送寄存器,并根据结果置状态位N、Z、V、C;控制信号为:rs→GR,(rs)→ALU,DR→ALU,“+”,rd→GR,ALU→rd,置N,Z,V,C。12/1/2022加法指令时序图9/3/2022_条件转移指
令的执行指令功能:根据状态寄存器的状态(N,Z,V,C)决定是否转移。操作:(1)取指指令取到ir,op译码,PC<-PC+1(2)转移条件成立,根据指令规定的寻址方式计算有效地址PC<-有效地址转移指令就是两个阶段完成.(3)检查中断指令----控制信号(时序)两种方法:
微程序控制,组合逻辑控制§6.3微程序控制计算机的基本工作原理1.微程序控制的基本概念微操作:逻辑电路级的操作,控制信号所执行的逻辑动作*微指令:同时发出的控制信号所执行的一组微操作,(控制信号的汇集)微命令:组成微指令的微
操作*微程序:微指令序列的集合(该微指令序列用于解释一条机器指令)控制存储器:存储微程序的存储器,由于计算机指令系统是固定的,所对应的微程序也是固定的,所以控制存储器使用只读存储器2.微程序控制的基本工作原理控制信号:模型计算机的CPU结构如下
图,假设ALU可以进行加法,减法,逻辑乘,逻辑加四种运算。图中的控制信号用符号1,2,3…表示。所有控制信号的功能见下面的控制信号表。12/1/2022CPU逻辑框图9/3/2022控制信号一览表序号控制信号功能序号控制信号功能1PC→AB指令地址送地址总线13
+ALU进行加法运算2ALU→PC转移地址送PC14—ALU进行减法运算3PC+1程序计数器加115∧ALU逻辑乘运算4imm(disp)→ALU立即数或位移量送ALU16∨ALU逻辑加运算5DB→IR取指令到指令寄存器17ALU→GRALU结果送通用寄存器
6DB→DR数据总线上的数据送数据寄存器18ALU→DRALU结果送数据寄存器7DR→DB数据寄存器中的数据送数据总线19ALU→ARALU计算的有效地址送地址寄存器8rs1→GR寄存器地址送通用寄存器20AR→AB地址寄存器送地址总线9rs,rd→GR寄存器地址送通
用寄存器21ADS#地址总线上地址有效10(rs1)→ALU寄存器内容送ALU22M/IO#访问存储器或I/O11(rs)→ALU寄存器内容送ALU23W/R#写/读12DR→ALU数据寄存器内容送ALU9/3/2022微指令的格式控制字段(23位)
下址字段(12位)(控制存储器容量4k)PC→ABALU→PCW/R#加法指令的四条微指令控制字段(23位)下址字段(12位)1234567891011121314151617181920212223242526272829303132323435取址计算地址取数加法运算微指令的构成(以
执行一条加法指令为例):(1)取址微指令:PC→AB,ADS#,M/IO#,W/R#,DB→IR,PC+1(2)计算地址微指令:rs1→GR,(rs1)→ALU,imm(disp)→ALU,+,ALU→AR(3)取数微指令:AR→AB,ADS#,M/IO#,W/R#,
DB→DR(4)加法运算和送结果微指令:rs1→GR,(rs)→ALU,DR→ALU,+,ALU→GR8810413199/3/2022ADDSUBMOVOP(1001)地址码主存指令译码(ROM)控制存储器(ROM)1001控制字段下址字段(1002)1002
机器指令寄存器(IR)微指令寄存器(IR)PC时序电路时钟CPU微命令微程序控制构成示意即形成微程序入口9/3/20229/3/202201DC01DC时序信号即工作脉冲:p178T2T1CLKCLK2CLK2CP—T1CLK2CLK2CLKCLKCP—T1T1T29/3/2022§6
.4微程序设计技术微程序设计主要解决的三个问题:(1)如何缩短微指令的字长。(2)如何减少微程序的长度。(3)如何提高微程序的执行速度。6.4.1微指令的编译方法1.直接控制法微指令的控制字段中,每一位代表一
个微命令,某位置“1”或“0”来控制打开/关闭相应控制门.这种做法对微命令多的情况下会使得微指令字太长难以接受,且需要大容量的控制存储器。(6.3节的加法指令的微程序编码)微命令译码器字段1字段2………字段n下址字段译码器译码器微命令微命令微命令译码器微指令寄存器μIR
………微指令控制字段2.字段直接编译法字段长度微命令数2位2—33位4—74位8—15留00…编码表示该字段无命令发出将微命令分组—字段分组:时间上互斥命令化为一组同一组的命令编码表示9/3/2022微指令执行所需的时间,称为微周期。若干个微命令组成一组,组内
微命令同一微周期中只能一个微命令起作用--互斥.编为一组的微命令为一个字段,字段内编码代微命令为每字段增设一个译码器.译码器的输出即为原来的微命令。如此缩短了微指令的长度,但译码的延迟降低了速度字段直接编译法”三步曲”(1)微命令”分组”成字
段.(2)字段内”编码”代微命令.(3)设置”译码”器译出微命令.3.字段间接编译法微指令划字段基础上,不同字段编码的微命令联合解释,称为字段间接编译法下图中字段A的(3位)微命令受字段B控制,当字段B发出b1微命令时,字段A发出a1.1,a2.1,…a7.1中的
一个命令,字段B发出b2微命令时,字段A发出a1.2,a2.2,…a7.2中的一个微命令字段间接编译法进一步减少了微指令长度,但增加了延迟及削弱微指令的并行控制能力4.常数源字段E常数源字段E作为发送常数使用,例如作为立即数,计数器的初始值,微循环次数等。9/3/
2022微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址1.已知基本后继微指令地址的产生方法:①.由指令(机器指令)的操作码产生后继微地址②.由微指令的下址字段指出后继微地址2.
微程序的几种基本结构:①.顺序执行②.转移与微循环,微子程序3.几种产生后继微地址的方法:(1).以增量方式产生后继微地址(见右图)6.4.2.微程序流的控制9/3/2022_增量方式产生后继微地址要点:①.μPC<-μPC+1为主。②.下地址字段两位编码
三种情况,辅助形成后继μPC的内容(2).增量与下址字段结合产生后继微地址_方法要点:①.下地址分两段BCF(转移控制),BAF(转移地址).②.BCF编码形成几种转移情况,包括增量后续。③.BAF存转向目标。增量与下址字段结合产生后继微地址下址字段分为两部分:1、转移控制字段BC
Fp1872、转移地址字段BAFBCF提供实现各种控制条件的编码转移实现时BAF送μPCBAF的长度有两种:1、与μPC的位数相等;可以从控存的任意单元取微指令。2、比μPC短;转移点在μPC附近。由原来μPC的几位与BAF组合成转移低位BCF6非٠BCF7非9/3/20229/3/2022(
3).多路转移方式一条微指令有多个转移分支。参照状态标志,有参照两位以上标志的情况---多路转移。两路多见,四路有见_AM系列CPU组片6.4.3.两类微指令的格式1、水平型微指令:采用直接控制法进行编码的,其基本特征是在一条微指令定义并执行多个并行操作的微命令。在实际应用中,直接
控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。2、垂直型微指令:微指令中,设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。其特点是不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。(p192-1
93几种垂直型微指令)3、水平型微指令与垂直型微指令的比较:(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。(2)水平型微指令执行一条指令的时间短,垂直型微指令则长。(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微
程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。(4)水平型微指令用户难以掌握,垂直型微指令比较容易。9/3/20226.4.4微程序控制存储器和动态微程序设计1、微程序控制存储器_微程序控制存储器由只读存储器
构成,因为微程序是以解释的方式执行机器指令的,而机器指令系统一般是固定的(机器指令数量固定)。_只读存储器的内容不会丢失,因之比较可靠。_RAM存储器的缺点是掉电后内容消失,优点是可以修改微程序(易错)。_微程序控制存储器可以考虑部分控存用ROM构成,实现固定的
机器指令系统;部分由RAM构成,用于扩展或修改一些指令。2、动态微程序设计微程序如能根据用户的要求改变,就称为动态微程序控制。它使得计算机更灵活,更有效地适应各种不同的应用目标。3、控制存储器的操作(微指令执行分两步,取指译码,执
行微操作)(1)串行方式:微周期:执行一条微指令所需要的时间。取微指令1执行微指令1取微指令2执行微指令2微周期1微周期29/3/2022CSAR控制存储器CS微程序流控制部件微周期1微周期2取微指令1执行微指令1取微指令2执行微指令2微
指令→μIR置执行结果置CSAR启动CS串行微程序控制器:下址控存ARµPC9/3/2022(2)并行方式:为了提高微程序的执行速度,将执行本条微指令的功能与取下一条微指令的操作在时间上重叠起来。CSAR控制存储器微程序流控制部件控制字段下
址取微指令执行微指令取微指令执行微指令取微指令执行微指令置CSAR启动CS微指令→μIR置执行结果并行微程序控制器:_微周期不等时以长周期为准_与转移等待9/3/20224、毫微程序设计的基本概念CSAR-1微程序控制存储器控制存储器(毫微程序)μOP地址RRCSAR-2水平微指令寄存器垂直微指令
寄存器+1………微命令毫微程序设计采用两级微程序设计方法。控制存储器也是两级(微程序控制存储器,毫微程序控制存储器)第一级采用垂直微程序,第二级采用水平微程序。垂直微程序使用垂直型微指令,其操作功能简单,指令字短,主要为顺序结构。易于实现设计自动化。水平
型微指令(毫微指令)是用来被第一级调用的,它具有并行操作控制的能力,但不包括后继微地址。若干垂直型微指令可以调用同一条毫微指令。转移地址9/3/20225、微程序设计语言微程序设计语言:用来编制微程序的语言。源微程序:用微程序设计语言编制的程序。微编译程序:将微程序翻
译成二进制码的程序。初级微程序设计语言:有微指令语言、微汇编语言、框图语言。高级微程序设计语言:类似高级程序设计语言,比较接近数学描述或自然语言。§6.5硬布线控制的计算机时序控制信号形成部件,有两种组成方式:微程序控制硬布线控制,控制信号由组合逻辑电路直接
连线产生--也叫组合逻辑控制方式.6.5.1时序和节拍指令的执行分若干步骤---每步一定的机器周期若一条指令四个周期区分四个步骤的方法:1,两位计数器通过译码得到当前的周期(p200,图6.31)2,或四位触发器分别来表示四个周期(形成移位)
cy1,cy2,cy3,cy4分别表示四个周期不同指令的执行周期数有可能不同•表6.3计数器状态变化A指令B指令cyAcyBcyA′cyB′cyAcyBcyA′cyB′0001001001101011101111001100•表6.3中cyA,cyB表示当前周期的计数器状态,cyA′,cyB′表
示下一周期计数器状态。•根据真值表列出表达式,对于A指令,其表达式为•cyA′=cyAcyB+cyAcyB;(6.2)•cyB′=cyAcyB+cyAcyB=cyB。(6.3)•对于B指令,其表达式为•cyA′=cyAcyB+cyAcyB=cyB;(6.4)•cyB′=
cyAcyB。(6.5)•根据表达式得出逻辑图6.32。图6.326.32电路,A指令来时输出00,01,10,11。B指令来时输出00,10,11通过图6.31译码,控制指令执行步骤。最左边应cyAcyB两
位计数器组合支持周期数不同的指令A(四周期),B(三周期)的时序逻辑:cyA,cyB当前周期计数器的状态(初始态从reset得到).cyA’,cyB’为后继周期的状态同一逻辑电路能产生00,01,10,11,也能产生00,10,11如果有多条指令,归类其完
成所需周期数,一般不超过5周期5周期两位计数就不够了,逻辑生成电路就要更复杂_时序状态计数的逻辑构成.6.5.2操作控制信号的产生OP地址码译码器组合逻辑电路01…127…cy1cy2cy3cy4操作控制信号IR
逻辑组合电路构成机制:根据p172例PC->AB=加法指令٠cy1ADS=加法指令٠cy1┇DB->IR=加法指令٠cy1rs1->GR=加法指令٠cy2ALU->AR=加法指令٠cy2┇PC->AB=cy1与指令无关图6.34表达式转化为逻辑结构
p2036.5.3硬布线控制器的组成图6.35p2056.5.4两种控制的比较_指令执行步骤节拍控制不同微程序控制---微指令的后继地址实现硬布线控制---机器周期状态发生器_控制信号形成方法微程序控制---微程序及
控制状态存储经程序执行选择输出硬布线控制---完全逻辑电路生成。结构相对零乱复杂_控制性能微程序控制相对速度低_实现微程序控制相对简单易行应用广泛。§6.6控制器的控制方式一条指令的执行最终是由一系列微操作来完成的。微操作根本上是一些时序控制信号的动作。形成这些控制信号有不同的方式—控制方式。1、
同步控制方式在任何情况下,一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,则称为同步控制方式。_同步控制方式的方案:(1)不论微操作的繁简都采用完全统一的机器周期执行不同的指令。(简单操作浪费了时间)。(2)采
用不同节拍机器周期,以解决微操作执行所需时间不统一的问题。(多数微操作安排一个较短的机器周期,少数复杂操作延长机器周期)(3)采用中央控制和局部控制相结合的方法。(多数指令安排统一周期为中央,少数复杂指令另行处理为局部)2
、异步控制方式根据各微操作执行实际所需时间分别控制当控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的“回答”或“结束”信号,再开始新的操作。称为异步控制方式。3、联合控制方式同步控制(多数简单指令)和异步控制(复杂指令)相结合的控制方式
。4、人工控制方式计算机面板或内部设置的一些开关或按键用来进行人工的控制方式。(1)RESET键(2)连续或单步转换开关(3)符合停机(单片机应用系统开发调试,设程序执行断点)§6.7流水线工作原理1.流水线基本工作原理2.相邻指令的执行,不同执行阶段时间上重叠。3.
两级流水(两阶段指令),四级流水(四阶段指令)。取指1计算地址1取指2计算地址2取指3计算地址3取操作数1运算1取操作数2运算2取操作数3运算3取指4计算地址4取操作数4运算4四条指令重叠执行:相当于处理速度提高了接近四倍指令流水线,操作流水线(浮点运算,阶码,尾数,规格化。不同处理阶段
间覆)。指令流水线执行情况(1)平均速度:各个功能部件的执行时间可能不一样,流水线在装满时,各个部件都在工作,时间安排必须满足工作时间最长的部件需要。造成了不能使所有功能部件处于最佳状态。(2)改善方法:将几个运行时间较短的功能部件和并为一个功能部件或将一个运行时间
长的部件分成几个短的运行时间部件。最终使各部件所需时间相差不大。2,流水线中的“相关”问题。影响流水线工作的因素:①编译形成的程序不能发挥流水线作用(转移多)。②存储器供应不上流水线流动所需要的指令或数据③数据相关问题后一条指令的操作数是上一条指令的执行结果。存贮器数
据相关,寄存器数据相关。当第二条指令从存储器读取的数据为第一条指令运算结果时,必须等待第一条指令将结果写入存储器后才能进行-------存储器数据相关现象。(流水线阻塞---称为产生了“气泡”。)解决数据相关的办法:设置相关专用通路,将第一条指令运算结果直接从数据处理部件得
到而不是存入存储器后再去读取。程序转移对流水线的影响。解决分支预测取指1计算地址1取指2计算地址2取操作数1运算1*取操作数2运算2§6.8CPU举例:为达到提高速度,硬件应使大多数指令在相同的机器周期内完成,要尽量缩短机
器周期时间,相应措施有:1、CPU中设置相当多的寄存器。2、采用“Cache---主存---外存”三级存储体系。3、采用流水线组织。4、采用硬件布线控制逻辑(组合逻辑电路)。一、SPARC的体系结构(p215)Fujit
suMB86901(兼容CPU)SPARC结构9/3/2022B1B2DEWCONTROL120×32(Reg.File)ABShifterResultAlignWYTBRPSRWIMAddr.Gen.ADRDPCEPCWPCADRPCs专用寄存器指令寄存器指令Help指令寄存器
组移位器结果寄存器旁路---2旁路---1ALUD存储器地址程序计数器多字节数边界对准指令缓冲地址生成(1)(2)(3)(4)9/3/2022