《计算机组成原理第五章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第五章.ppt(236页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章CPU设计设计5.1引言引言 5.2一台模型机的设计一台模型机的设计 5.3微程序设计微程序设计 15.1引言引言CPU通常包括三个主要部分:通常包括三个主要部分:l寄存器寄存器l算术逻辑运算单元算术逻辑运算单元(ALU)l控制单元控制单元所有这些部分所有这些部分协同工作协同工作,完成,完成CPU指指令集中每条指令的令集中每条指令的取指取指、译码译码,以及产,以及产生生执行执行阶段所必须的阶段所必须的微操作序列微操作序列。25.1.1寄存器寄存器l通常由带置位和清零功能的通常由带置位和清零功能的D触发器触发器和和D锁存器锁存器构成构成触发器由触发器由边沿边沿触发触发锁存器由锁存器由
2、电平电平触发触发lCPU寄存器设置通常分两类:寄存器设置通常分两类:一类用于一类用于处理处理一类用于一类用于控制控制31、用于处理的寄存器、用于处理的寄存器(1)程序能直接访问的寄存器,如通用寄程序能直接访问的寄存器,如通用寄存器存器l可编程访问、具有多种功能。可编程访问、具有多种功能。l自身逻辑设计简单,只有自身逻辑设计简单,只有接收接收、发送发送和和锁存锁存功能。功能。l通过加法器数据通路上其它部件的配通过加法器数据通路上其它部件的配合,实现多种功能。合,实现多种功能。如,用做如,用做地址指针地址指针、基址或变址寄存基址或变址寄存器器、间接指示器间接指示器(寄存器间接寻址寄存器间接寻址)、
3、计数器计数器、数据接收寄存器数据接收寄存器等。等。4(2)程序不可访问的寄存器,如暂存器。程序不可访问的寄存器,如暂存器。lCPU设设置置了了一一些些临临时时存存放放数数据据的的寄寄存存器,称为暂存器。器,称为暂存器。l对对用用户户来来说说是是透透明明的的,程程序序不不能能直直接接访问。访问。52、用于控制的寄存器、用于控制的寄存器(1)指令寄存器指令寄存器IRl用来存放用来存放现行指令现行指令。l如果指令的执行是串行的(即一条指如果指令的执行是串行的(即一条指令结束,下条指令才能执行),在执令结束,下条指令才能执行),在执行过程中,指令寄存器的内容不发生行过程中,指令寄存器的内容不发生变化,
4、直至本条指令结束,以确保实变化,直至本条指令结束,以确保实现指令的全部功能。现指令的全部功能。6(2)程序计数器程序计数器PC(ProgramCounter)l也称指令计数器也称指令计数器(InstructionCounter)或指令指针或指令指针(InstructionPointer)。l指示程序进程指示程序进程:开始执行时,开始执行时,PC装有程序起始地址;装有程序起始地址;顺序执行时,每读取一条指令,顺序执行时,每读取一条指令,PC加加一增量,形成下一条指令地址;一增量,形成下一条指令地址;转移时,转移指令修改转移时,转移指令修改PC,指向转移,指向转移地址。地址。7(3)程序状态字程序
5、状态字PSW(ProgramStatusWord)l用来存放两类信息:用来存放两类信息:一类表征一类表征运行状态运行状态:N(负数),(负数),Z(零),(零),V(溢出),(溢出),C(进位);(进位);另一类是另一类是控制信息控制信息:IF(中断允许位),(中断允许位),TF(跟踪标志),(跟踪标志),IOPL(I/O优先级)优先级)等。等。83、用于与主存接口的寄存器、用于与主存接口的寄存器l对用户透明对用户透明l地址寄存器:地址寄存器:MAR(单向)(单向)取指:取指:PC内容内容MAR存取操作数:地址计算结果存取操作数:地址计算结果MARl数据缓冲寄存器:数据缓冲寄存器:MBR(双向
6、)(双向)95.1.2算术逻辑运算单元算术逻辑运算单元l第二章已述,不再重复。第二章已述,不再重复。105.1.3控制单元控制单元控制整个计算机:控制整个计算机:l从存储器中从存储器中取指令取指令,提供存储器需要,提供存储器需要的的地址地址和和控制信号控制信号,并对,并对指令译码指令译码,且控制整个执行过程。且控制整个执行过程。l执行一些内部操作,并提出必要的地执行一些内部操作,并提出必要的地址、数据和控制信号给存储器和址、数据和控制信号给存储器和I/O设设备来备来执行指令执行指令。11具体实现常采用两种方式:具体实现常采用两种方式:l一种是采用硬连线逻辑控制(一种是采用硬连线逻辑控制(har
7、dwirecontrol),或称),或称组合逻辑设计组合逻辑设计;l另一种是微序列控制器(另一种是微序列控制器(microsequencing),或称),或称微程序控制器微程序控制器。以一台模型机为例,分别用这两种方以一台模型机为例,分别用这两种方法进行设计。法进行设计。125.2一台模型机的设计一台模型机的设计组合逻辑控制器组合逻辑控制器设计步骤:设计步骤:l第一步:拟定第一步:拟定指令系统指令系统(确定逻辑设计(确定逻辑设计依据);依据);l第二步:确定第二步:确定总体结构总体结构(进行空间安排)(进行空间安排),包括:设置哪些部件,确定数据通路;,包括:设置哪些部件,确定数据通路;l第三
8、步:拟定第三步:拟定时序系统时序系统(进行时间安排)(进行时间安排);13l第四步:根据指令系统及时序,拟定第四步:根据指令系统及时序,拟定指令流程指令流程,即将一条指令的执行步骤,即将一条指令的执行步骤按时序用流程图形式表示出来;按时序用流程图形式表示出来;l第五步:根据指令流程和机器结构编第五步:根据指令流程和机器结构编制制操作时间表操作时间表,即将指令流程中所规,即将指令流程中所规定的具体操作,具体地落实到由哪个定的具体操作,具体地落实到由哪个部件完成,在什么时间完成;部件完成,在什么时间完成;14l第六步:根据操作时间表进行第六步:根据操作时间表进行微操作微操作组合与化简组合与化简,即
9、将产生同一个微操作,即将产生同一个微操作(打开或关闭某个门的操作)的条件(打开或关闭某个门的操作)的条件用用“或或”连接成原始表达式,并进行连接成原始表达式,并进行逻辑化简,以获得最简的逻辑表达式;逻辑化简,以获得最简的逻辑表达式;l第七步:第七步:布硬连线逻辑图布硬连线逻辑图。155.2.1模型机指令系统设计模型机指令系统设计1、模型机的指令集模型机的指令集l传送类传送类:MOV(传送)(传送)l算术运算类算术运算类:ADD(加)、(加)、SUB(减)(减)、NEG(求补)、(求补)、INC(加(加1)、)、DEC(减(减1)l逻辑运算类逻辑运算类:AND(逻辑乘)、(逻辑乘)、OR(逻辑或
10、)、(逻辑或)、NOT(取反)、(取反)、EOR(异或)(异或)16l移位类移位类:SL(左移)、(左移)、SR(右移)(右移)l程序控制类程序控制类:BR(条件转移)、(条件转移)、JMP(无条件转)、(无条件转)、RST(返回)、(返回)、JSR(转子)(转子)l对对I/O设备寻址采用存储器映射设备寻址采用存储器映射I/O方方式,式,I/O操作由操作由MOV指令完成。指令完成。172、指令类型分类、指令类型分类(1)传送类指令:传送类指令:MOV(2)双操作数指令:双操作数指令:ADD,SUB,AND,OR,EOR(3)单操作数指令:单操作数指令:NOT,NEG,INC,DEC,SL,SR
11、(4)转移类指令:转移类指令:BR,JMP,RST(5)转子指令:转子指令:JSR183、指令格式设计、指令格式设计l从软件的观点来看,指令、操作码和从软件的观点来看,指令、操作码和地址应该是有规律的结构,这样,指地址应该是有规律的结构,这样,指令格式可以达到最少。令格式可以达到最少。l指令采用指令采用定长指令格式定长指令格式,不采用扩展,不采用扩展操作码。操作码。l操作码与地址操作码与地址位数固定位数固定,位置也固定位置也固定。19(1)模型机指令格式设计环境模型机指令格式设计环境l指令字长:指令字长:16位位l可编程序寄存器可编程序寄存器7个:个:R0R3,SP,PSW,PC。l寻址方式寻
12、址方式9种:种:与通用寄存器与通用寄存器GR有关有关的寻址方式的寻址方式6种:寄种:寄存器寻址、寄存器间接寻址、自减型寄存存器寻址、寄存器间接寻址、自减型寄存器间址、自增型寄存器间址、自增型双间器间址、自增型寄存器间址、自增型双间址、变址寻址。址、变址寻址。与与PC有关有关的寻址方式的寻址方式3种:立即寻址、直种:立即寻址、直接寻址、相对寻址。接寻址、相对寻址。l指令指令16条,分为条,分为5类。类。20(2)指令格式设计考虑指令格式设计考虑为减少指令长度,简化指令格式设计,为减少指令长度,简化指令格式设计,特做如下安排:特做如下安排:l为减少指令长度,将为减少指令长度,将立即数立即数、直接寻
13、、直接寻址中的全部址中的全部操作数地址操作数地址,以及,以及偏移地偏移地址址放在紧跟指令的放在紧跟指令的下一个单元下一个单元中,指中,指令中不做安排。令中不做安排。21l设寄存器设寄存器R(Register)包含)包含PC和和GR,相对于,相对于PC和相对于和相对于GR中的:中的:立即寻址立即寻址与与自增型寄存器间址自增型寄存器间址直接寻址直接寻址与与自增型双间址自增型双间址相对寻址相对寻址与与变址寻址变址寻址操作过程一致,将其合并为操作过程一致,将其合并为立即立即/自自增型增型,直接直接/双间址双间址,相对相对/变址变址寻址寻址方式。方式。22模型机中,为简化指令集设置,模型机中,为简化指令
14、集设置,不设比不设比较测试指令,由减法指令取代较测试指令,由减法指令取代,并将结,并将结果置条件码果置条件码N、Z、V、C。转移指令中的条件码为转移指令中的条件码为N、Z、V、C,与,与PSW的的N、Z、V、C对应。对应。23l条件码只设条件码只设N、Z、V、C基本模式,基本模式,且当且当N、Z、V、C均均0时表示转移与时表示转移与条件无关,定为条件无关,定为无条件转移无条件转移。其中有。其中有一位为一位为1,表示相关标志为,表示相关标志为1转移转移.l若寻址方式为若寻址方式为自增型寄存器间址自增型寄存器间址,且,且寄存器为寄存器为SP,执行的是弹出(,执行的是弹出(POP)操作,即操作,即返
15、回指令返回指令。于是,于是,BR、JMP和和RST指令可共用一指令可共用一个操作码。个操作码。24(3)模型机指令格式模型机指令格式lMOV、双操作数指令格式:、双操作数指令格式:1512 11986 53 20操作码操作码寄存寄存器号器号寻址寻址方式方式寄存寄存器号器号寻址寻址方式方式OPDOPS25l单操作数指令格式:单操作数指令格式:1512 11986 53 20操作码操作码寄存寄存器号器号寻址寻址方式方式OPD26l转移类指令格式:转移类指令格式:1512 11986 5 4 3 2 1 0操作码操作码寄存寄存器号器号寻址寻址方式方式N Z V C OPD27l转子类指令格式:转子类
16、指令格式:1512 11986 53 20操作码操作码寄存寄存器号器号寻址寻址方式方式OPS28(4)寻址方式寻址方式 寄存器寻址寄存器寻址:操作数在指定寄存器中,:操作数在指定寄存器中,寻址方式编码:寻址方式编码:000,汇编符号:,汇编符号:R可编程寄存器可编程寄存器编码编码l通用寄存器通用寄存器R0R3000011l堆栈指针堆栈指针SP100l程序状态字程序状态字PSW101l程序计数器程序计数器PC11129寄存器间址寄存器间址:操作数地址在指定寄存:操作数地址在指定寄存器中,可指定寄存器:器中,可指定寄存器:R0R3,SP,PC。寻址方式编码:。寻址方式编码:001,汇编符号:,汇编
17、符号:(R)自减型寄存器间址自减型寄存器间址:指定寄存器内容:指定寄存器内容减减1后作为操作数地址,可指定寄存器:后作为操作数地址,可指定寄存器:R0R3,SP。寻址方式编码:。寻址方式编码:010,汇编符号:汇编符号:(R)若指定若指定SP,执行,执行PUSH指令操作。指令操作。30立即立即/自增型寄存器间址自增型寄存器间址:指定寄存器:指定寄存器内容作为操作数地址,操作后寄存器内容作为操作数地址,操作后寄存器的内容加的内容加1,可指定的寄存器同,可指定的寄存器同。寻。寻址方式编码:址方式编码:011,汇编符号:,汇编符号:I/(R)+l若指定若指定PC,即,即立即寻址立即寻址。立即数存放。
18、立即数存放在紧跟指令的单元中,取指时在紧跟指令的单元中,取指时PC+1,即指向存放立即数的单元,取出立即即指向存放立即数的单元,取出立即数后数后PC+1,指向下一条指令。,指向下一条指令。31l若指定若指定R0R3,即,即自增型寄存器间址自增型寄存器间址,适于作数据块传送。编程时指定适于作数据块传送。编程时指定R0R3中的两个作为指针。中的两个作为指针。l若指定若指定SP,即堆栈操作,即堆栈操作POP(弹出)(弹出)的寻址方式。取出栈顶单元数据后的寻址方式。取出栈顶单元数据后SP+1,指向新的栈顶单元。,指向新的栈顶单元。32直接寻址直接寻址/自增型双间址自增型双间址:指定寄存器:指定寄存器内
19、容作为间址单元的地址,操作后寄存内容作为间址单元的地址,操作后寄存器内容加器内容加1,可指定寄存器同,可指定寄存器同。寻址。寻址方式编码:方式编码:100,汇编符号:,汇编符号:D/(R)+l若指定若指定PC,即,即直接寻址直接寻址方式,操作数地方式,操作数地址存放在紧跟指令的单元中。址存放在紧跟指令的单元中。l若指定若指定R0R3,可用作查表的地址指针。,可用作查表的地址指针。33相对相对/变址寻址变址寻址:指定寄存器内容与紧:指定寄存器内容与紧跟指令的位移量相加,其结果为操作数跟指令的位移量相加,其结果为操作数地址,可指定的寄存器同地址,可指定的寄存器同。寻址方式。寻址方式编码:编码:10
20、1,汇编符号:,汇编符号:P/X(R)。l若指定若指定PC,即,即相对寻址相对寻址方式;方式;l若指定若指定R0R3,即,即变址寻址变址寻址方式。方式。34(5)操作码编码及功能操作码编码及功能 传送指令传送指令lMOV指令指令:OP=0000格式:格式:MOVOPD,OPS功能:功能:OPSOPD,(OPS)不变,不变,OPS可以是可以是R/M/imm,OPD只能是只能是R/M;OPD和和OPS不能同时为不能同时为M,只能实现,只能实现RR和和RM之间的传送;之间的传送;I/O操作时,操作时,为为I/O端口端口寄存器之间进行传送。寄存器之间进行传送。35双操作数指令双操作数指令lADD指令指
21、令:OP=0001格式:格式:ADDOPD,OPS功能:功能:OPD+OPS+CFOPD,其中,其中CF为进位位的值为进位位的值lSUB指令指令:OP=0010格式:格式:SUBOPD,OPS功能:功能:OPD-OPS-CFOPD,其中,其中CF为进位位的值为进位位的值36lAND指令指令:OP=0011格式:格式:ANDOPD,OPS功能:逻辑乘,功能:逻辑乘,OPD OPSOPDlOR指令指令:OP=0100格式:格式:OROPD,OPS功能:逻辑或,功能:逻辑或,OPD OPSOPDlEOR指令指令:OP=0101格式:格式:EOROPD,OPS功能:逻辑异或,功能:逻辑异或,OPD O
22、PSOPD37单操作数指令单操作数指令lNOT指令指令:OP=0110格式:格式:NOTOPD功能:取反,功能:取反,OPD求反求反OPDlNEG指令指令:OP=0111格式:格式:NEGOPD功能:求补,功能:求补,OPDOPD,求反加,求反加1OPD38lINC指令指令:OP=1000格式:格式:INCOPD功能:加功能:加1,OPD+1OPD lDEC指令指令:OP=1001格式:格式:DECOPD功能:减功能:减1,OPD 1OPD39lSL指令指令:OP=1010格式:格式:SLOPD功能:左移一位,功能:左移一位,OPD左移一位,移出左移一位,移出的位保留在的位保留在CF中。中。l
23、SR指令指令:OP=1011格式:格式:SROPD功能:右移一位,与功能:右移一位,与SL相反,其余同。相反,其余同。40转移类指令转移类指令lBR(Branch转移),转移),JMP(无条件(无条件转),转),RST(返回):(返回):OP=1100格式:格式:BR/JMP/RSTOPD若相应条件满足,则转移到由若相应条件满足,则转移到由OPD字字段提供的转向地址去执行程序。段提供的转向地址去执行程序。若为返回指令若为返回指令RST,则从堆栈中取出,则从堆栈中取出返回地址,然后返回地址,然后SP+1SP41转子指令转子指令lJSR指令指令:OP=1101格式:格式:JSROPS功能:先将返回
24、地址压入堆栈,然后根功能:先将返回地址压入堆栈,然后根据据OPS字段提供的子程序入口地址,实字段提供的子程序入口地址,实现转子操作。现转子操作。425.2.2模型机总体结构模型机总体结构l这一步,要根据指令集的实现要求,这一步,要根据指令集的实现要求,对机器做空间安排,对机器做空间安排,包括:功能部件包括:功能部件的设置、连接以及指令信息、数据信的设置、连接以及指令信息、数据信息、地址信息传递路径拟定息、地址信息传递路径拟定。l模型机总体结构模型机总体结构如图如图:43441、寄存器设置、寄存器设置lR03(150):通用寄存器,:通用寄存器,16位。位。lSP(150):堆栈指示器,:堆栈指
25、示器,16位。位。lPC(150):程序计数器,:程序计数器,16位。位。lPSW(150):状态寄存器,其中:状态寄存器,其中03位位为条件码为条件码C、V、N、Z。lIR(150):指令寄存器,:指令寄存器,16位。位。lMAR(150):地址寄存器,:地址寄存器,16位位(可寻最可寻最大地址空间为大地址空间为64K)。lMBR(150):数据寄存器,:数据寄存器,16位。位。lC、D(150):暂存器。:暂存器。45lMBR主要用于主要用于CPU与与M及及I/O之间的速度之间的速度匹配,作缓冲用;匹配,作缓冲用;MBR较忙,不能将读较忙,不能将读出的数据放出的数据放MBR中暂存。中暂存。
26、l设置两个设置两个暂存器暂存器C、D,并规定,并规定OPSC,OPDD;且;且C、D对用户是对用户是透明透明的。的。lR03、C、D、SP、MAR:由:由16位位D触触发器构成。发器构成。lIR、MBR、PSW:采用带:采用带置位置位和和清零清零的的D触发器构成。触发器构成。462、运算器部件、运算器部件(1)ALU由由74181 4,74182 1构成,构成,采用反变量输入,通过采用反变量输入,通过S3S2S1S0控制控制实现算术运算和逻辑运算。实现算术运算和逻辑运算。(2)移位门采用移位门采用4YHF门,通过门,通过ALU左斜左斜一位输出送移位门和右斜一位输出送一位输出送移位门和右斜一位输
27、出送移位门实现移位门实现左移左移(SL)和)和右移右移(SR)操作,通过)操作,通过ALU直送送出和直送送出和低高字节交换送出实现低高字节交换送出实现直送直送(DM)和和半字交换半字交换(EX)操作。)操作。47(3)选择门选择门A、B各采用一个各采用一个八通道选一八通道选一的选择器,以满足的选择器,以满足ALU逻辑输入条件。逻辑输入条件。(4)与运算器部件相关的寄存器有与运算器部件相关的寄存器有R03、C、D。(5)CPU内部采用内部采用单向总线单向总线,将移位门的,将移位门的输出与所有寄存器的输出与所有寄存器的D输入端相连。输入端相连。483、CPU与与M、I/O设备的连接设备的连接lCP
28、U与与M、I/O设备通过设备通过单总线结构单总线结构连连接,这组总线在模型机中采取了彼此接,这组总线在模型机中采取了彼此独立的独立的地址总线地址总线(ABUS)、)、数据数据总线总线(DBUS)和)和控制总线控制总线(CBUS)进行各设备间的通信。)进行各设备间的通信。49一一条条指指令令的的执执行行过过程程50l循环进程的每步都是循环进程的每步都是彼此相对独立彼此相对独立操操作组成的;作组成的;l如果按时间先后顺序,给每步操作划如果按时间先后顺序,给每步操作划分一定的分一定的时间片时间片,让它完成定时区域,让它完成定时区域内规定的操作,整个指令周期(指完内规定的操作,整个指令周期(指完成一次
29、循环操作所需的时间)结束,成一次循环操作所需的时间)结束,就完成指令所规定的全部操作。就完成指令所规定的全部操作。51l一个复杂的时序问题是不易解决的,一个复杂的时序问题是不易解决的,然而在然而在定时区域内定时区域内流向控制的逻辑设流向控制的逻辑设计问题(即打开一个信息传递路径上计问题(即打开一个信息传递路径上的控制门条件)是很容易实现的。的控制门条件)是很容易实现的。l组合逻辑常见的时序组合逻辑常见的时序计数器法计数器法。l一个必要的工作是:一个必要的工作是:确定信息传送路确定信息传送路径径,只有信息的传送路径严格地确定,只有信息的传送路径严格地确定下来,流向控制才能得以实现。下来,流向控制
30、才能得以实现。525.2.3信息传送路径信息传送路径l信息(包含信息(包含指令信息指令信息、地址信息地址信息、数数据信息据信息)传送的路径也称)传送的路径也称数据通路数据通路。1、指令信息传送路径、指令信息传送路径MIR,采用置入方式,采用置入方式532、地址信息传送路径、地址信息传送路径(1)指令地址信息的传送路径指令地址信息的传送路径PC选择门选择门AALU移位门移位门MAR(D)并在并在CPMAR作用下打入作用下打入MAR寄存器寄存器(2)顺序执行时,下一条指令地址的形成路径顺序执行时,下一条指令地址的形成路径PC选择门选择门AALU移位门移位门PC(D)+1并在并在CPPC作用下打入作
31、用下打入PC(3)操作数地址的形成路径操作数地址的形成路径与寻址方式有关与寻址方式有关 543、数据信息传送指令、数据信息传送指令(1)RiRjRi选择门选择门A(orB)ALU移位门移位门Rj(D)并在并在CPRj作用下打入作用下打入Rj(2)RiMRi选择门选择门A(orB)ALU移位门移位门MBRM(MAR)(3)MRjMMBRBALU移位门移位门Rj(D)并在并在CPRj作用下打入作用下打入Rj55(4)RiI/O端口端口Ri选择门选择门A(orB)ALU移位门移位门MBR单总线单总线I/O端口端口(5)I/O端口端口RjI/O端口端口MBRBALU移位门移位门Rj(D)并在并在CPR
32、j作用下打入作用下打入Rj565.2.4拟定时序系统拟定时序系统l模型机采用三级时序系统,即模型机采用三级时序系统,即l周期周期节拍节拍脉冲脉冲l同步控制方式。同步控制方式。571、周期、周期l将指令的执行过程分为若干个阶段,将指令的执行过程分为若干个阶段,每个阶段称为每个阶段称为周期周期(或(或机器周期机器周期)。)。l模型机设置了模型机设置了6个基本周期状态:个基本周期状态:FT(取指周期)(取指周期)ST(源周期)(源周期)DT(目的周期)(目的周期)ET(执行周期)(执行周期)IT(中断周期)(中断周期)DMAT(DMA周期)周期)58(1)各种指令在各种指令在FT、ST、DT、ET周
33、期中周期中工作安排如下表:工作安排如下表:(2)中断周期(中断周期(IT)通过中断隐指令(硬件)实现:通过中断隐指令(硬件)实现:关中关中断断、返回地址压栈返回地址压栈、通过中断矢量、通过中断矢量形形成中断服务程序入口地址成中断服务程序入口地址等操作。等操作。(3)DMA周期(周期(DMAT)通过硬件实现:通过硬件实现:响应响应DMA请求请求、建立建立DMA周期周期、实现实现主存与磁盘之间的主存与磁盘之间的数数据直接传送据直接传送。59FTSTDTET 备注备注完成两种操作完成两种操作取指令:取指令:MIR;形成下条指形成下条指令地址:令地址:PC+1PCR型:操作数在型:操作数在Ri中,不经
34、历中,不经历型:操作数型:操作数在在M中,需取中,需取出出CR型:目的地址型:目的地址由由Rj给出,不经给出,不经历历型:目的地址型:目的地址在在M中,需取出中,需取出MAR完成完成传送传送MOV指令指令R型:源操作数型:源操作数在在Ri中,不经中,不经历历型:源操作型:源操作数在数在M中,需中,需取出取出C R型:目的操作型:目的操作数在数在Rj中,不经中,不经历历型:目的操作型:目的操作数在数在M中,需取中,需取出出D 完成完成相应相应操作操作 双操双操作数作数指令指令 60FTSTDTET备注备注R型:目的操作型:目的操作数在数在Rj中,不经中,不经历历型:目的操作型:目的操作数在数在M
35、中,需取中,需取出出D完成相应操作完成相应操作单操单操作数作数指令指令形成转移地址,形成转移地址,实现转移实现转移转移转移指令指令R型:子程序入型:子程序入口在口在Ri中,不经中,不经历历型:子程序入型:子程序入口在口在M中,需取中,需取出出C返回地址压栈,返回地址压栈,实现转子操作实现转子操作转子转子指令指令612、节拍、节拍l节拍也称节拍也称时钟周期时钟周期。l通常在一个机器周期内,设置若干个通常在一个机器周期内,设置若干个节拍。节拍。l每个节拍宽度应满足每个节拍宽度应满足CPU完成一个完成一个基基本操作本操作,如打开一条完整的数据通路,如打开一条完整的数据通路,即从寄存器到寄存器、或寄存
36、器到存即从寄存器到寄存器、或寄存器到存储器、或存储器到寄存器,这样才能储器、或存储器到寄存器,这样才能保证数据不丢失。保证数据不丢失。62l设置一个设置一个节拍计数器节拍计数器T:延长一节拍延长一节拍:发:发T+1命令,计数器继续命令,计数器继续计数,延长机器周期,计数,延长机器周期,T的计数值译码的计数值译码产生节拍状态产生节拍状态T0、T1、;结束一节拍结束一节拍:发:发命令,计数器复命令,计数器复位,结束机器周期。位,结束机器周期。633、脉冲、脉冲l为简化时序系统的设计,模型机在每为简化时序系统的设计,模型机在每个节拍末尾发一个个节拍末尾发一个P脉冲脉冲。lP的前沿的前沿作为打入寄存器
37、的工作脉冲,作为打入寄存器的工作脉冲,标志着一次数据通路操作的标志着一次数据通路操作的结果打入结果打入相应的寄存器。相应的寄存器。l的后沿的后沿作为作为周期切换周期切换的定时信号,表的定时信号,表示本周期结束,并进入新的周期。示本周期结束,并进入新的周期。64655.2.5指令流程与操作时间表指令流程与操作时间表l指令流程指令流程:将各种指令的执行,按预:将各种指令的执行,按预先拟定的周期状态要求加以落实,即先拟定的周期状态要求加以落实,即在定时区域(基本周期)内,指令所在定时区域(基本周期)内,指令所完成的操作,以流程的形式写出来。完成的操作,以流程的形式写出来。l操作时间表操作时间表:将指
38、令流程中所规定的:将指令流程中所规定的操作,具体的落实到由机器的哪个部操作,具体的落实到由机器的哪个部件完成,在什么时间内完成。件完成,在什么时间内完成。661、取指周期、取指周期FT(1)建立建立FT条件条件进入进入FT周期状态有两种情况:周期状态有两种情况:l当机器加电后,首先产生一个当机器加电后,首先产生一个“总请总请信号信号”,将其它状态触发器清,将其它状态触发器清“0”,将,将FT状态置状态置1,从而进入,从而进入FT周期。周期。67l运行下进入取指周期运行下进入取指周期FT条件条件68l在在ET周期的最后一个节拍脉冲的上升周期的最后一个节拍脉冲的上升沿,即一条指令结束,无沿,即一条
39、指令结束,无DMA请求请求(),且无中断请求,且无中断请求(),则进入取,则进入取指周期,读取下一条指令;指周期,读取下一条指令;l一条指令结束后进入一条指令结束后进入IT周期,在中断周期,在中断服务程序入口处读取指令,则进入取服务程序入口处读取指令,则进入取指周期,读取下一条指令;指周期,读取下一条指令;lDMAT周期结束,无周期结束,无DMA请求请求(),且无中断请求,且无中断请求(),则进入取,则进入取指周期,读取下一条指令。指周期,读取下一条指令。69(2)取指流程取指流程l取指周期需做两件事:取指周期需做两件事:取指令取指令IR;形成下条指令地址,即形成下条指令地址,即PC+1PCl
40、由于这两种操作由于这两种操作可同时执行可同时执行,于是,于是,将它们安排在一个节拍内完成。将它们安排在一个节拍内完成。70(3)操作时间表操作时间表FT0 EMARRSIRPCADM1ST(逻辑条件逻辑条件1)1DT(逻辑条件逻辑条件2)1ET(逻辑条件逻辑条件3)P CPPCCPT()CPFT()CPST()CPDT()CPET()71lMIR操作操作ET周期的最后一个节拍执行周期的最后一个节拍执行PCMAR操作,下一条指令地址已送入操作,下一条指令地址已送入MAR中。中。FT周期可进行读取指令操作,产生如下周期可进行读取指令操作,产生如下微操作控制电平:微操作控制电平:EMAR:地址开放,
41、将指令地址送地址:地址开放,将指令地址送地址总线总线A-BUSR:读命令,将指令送到:读命令,将指令送到D-BUSSIR:打开三态门将指令置入:打开三态门将指令置入IR72lPC+1PC操作操作传送路径:传送路径:PC选择门选择门AALU移位门移位门PC(D)+1微操作控制电平:微操作控制电平:PCA:PC的内容送的内容送A选择门,并在选择门,并在PCA控制下经控制下经A选择门到达选择门到达ALU。:74181执行算术操作执行算术操作A+B,加,加1信号由信号由C0给出,完成给出,完成PC+1操作。操作。73DM:由移位门控制信号:由移位门控制信号DM作用下,作用下,直接送出。直接送出。CPP
42、C(P):在:在CPPC(P)作用下,打)作用下,打入入PC,完成,完成PC+1PC操作。操作。l取出指令后,经译码,根据不同指令取出指令后,经译码,根据不同指令将进入不同的周期状态。将进入不同的周期状态。74l如下指令将进入源周期如下指令将进入源周期(ST)1ST=MOV+ADD+SUB+AND+OR+EOR+JSR(逻辑条件逻辑条件1)l如下指令将直接进入目的周期如下指令将直接进入目的周期(DT)1DT=NOT+NEG+INC+DEC+SL+SR(逻辑条件逻辑条件2)l条件转移类指令直接进入执行周期条件转移类指令直接进入执行周期(ET)1ET=BR+JMP+RST(逻辑条件逻辑条件3)75
43、lFT周期执行工作结束,通过周期执行工作结束,通过和和CPFT()撤消撤消FT状态状态。lFT周期周期结束,周期周期结束,和和CPT()共共同作用,将同作用,将计数器计数器T复位复位。l通常,指令流程只要求写到通常,指令流程只要求写到寄存器级寄存器级,而操作时间表,则要求落实到而操作时间表,则要求落实到逻辑门逻辑门级级。762、MOV指令流程指令流程l根据周期状态分配表,根据周期状态分配表,MOV指令在各指令在各机器周期内完成如下工作:机器周期内完成如下工作:ST周期:周期:lR型寻址型寻址:源操作数在指定寄存器中,不:源操作数在指定寄存器中,不需经历源周期需经历源周期ST。l型寻址型寻址:源
44、操作数不在寄存器中,在存:源操作数不在寄存器中,在存储器中,需将源操作数从存储器取出送暂储器中,需将源操作数从存储器取出送暂存器存器C,以备使用。,以备使用。77DT周期:周期:lR型寻址型寻址:传送的目的地址已由寄存器:传送的目的地址已由寄存器给出,给出,DT周期不再经历。周期不再经历。l型寻址型寻址:传送的目的地址是存储单元,:传送的目的地址是存储单元,DT周期需将传送的目的地址送周期需将传送的目的地址送MAR,以备写入时使用。以备写入时使用。ET周期:周期:l完成完成RR间和间和RM间的传送。间的传送。78由于传送路径与寻址方式有关,因此,由于传送路径与寻址方式有关,因此,设计指令流程时
45、设计指令流程时以寻址方式作为逻辑分以寻址方式作为逻辑分支条件支条件:(1)R型型:寄存器寻址,定义为操作数在:寄存器寻址,定义为操作数在指定寄存器中。指定寄存器中。ST:如果源操作数为如果源操作数为R型,则不经历源型,则不经历源周期周期ST(用短接线连接)。(用短接线连接)。DT:如果传送的目的地址也为如果传送的目的地址也为R型,型,也不经历也不经历DT周期(用短接线连接)。周期(用短接线连接)。79(2)(R)型型:寄存器间接寻址,定义为操:寄存器间接寻址,定义为操作数地址在指定寄存器中。作数地址在指定寄存器中。ST:需将源操作数取出送暂存器需将源操作数取出送暂存器C,数,数据通路如下:据通
46、路如下:80ST:RiMARMMBRC根据数据通路,设定每个节拍内所完根据数据通路,设定每个节拍内所完成的工作如下:成的工作如下:ST0:RiMARST1:MMBRCDT:在在DT周期需将传送的目的地址送周期需将传送的目的地址送MAR。目的地址在目的地址在Rj中,需将中,需将RjMAR,可,可在一拍完成,即在一拍完成,即DT0:RjMAR 81l上述过程可用如下形式概括:上述过程可用如下形式概括:8283(3)-(R)型型:自减型寄存器间接寻址,:自减型寄存器间接寻址,定义为:指定寄存器内容减定义为:指定寄存器内容减1,作为,作为操作数地址。操作数地址。84(4)I/(R)+型型:立即:立即/
47、自增型寄存器间址,自增型寄存器间址,定义为:操作数地址在指定寄存器中,定义为:操作数地址在指定寄存器中,操作后,将寄存器内容加操作后,将寄存器内容加1;若指定寄;若指定寄存器为存器为PC,则为立即寻址,立即数存,则为立即寻址,立即数存放在紧跟指令的下一个单元中。放在紧跟指令的下一个单元中。l若指定寄存器为若指定寄存器为R03、SP:85l若指定寄存器为若指定寄存器为PC,为立即寻址,操,为立即寻址,操作数在紧跟指令的下一单元中。作数在紧跟指令的下一单元中。86FT周期将指令周期将指令1取出,同时做取出,同时做PC+1PC操作;操作;此时,此时,PC内容是紧跟指令内容是紧跟指令1的下一单元的下一
48、单元(立即数立即数)地址,即地址,即(PC)=K+1;按此地址将立即寻址操作数取出送暂存按此地址将立即寻址操作数取出送暂存器器C;只有取指周期只有取指周期PC有自动加有自动加1功能,其他功能,其他周期均无此操作,此时必须强行做周期均无此操作,此时必须强行做PC+1,使其指向下一条,使其指向下一条(指令指令2)地址。地址。8788(5)D/(R)+:直接:直接/自增型双间址,定自增型双间址,定义为:指定寄存器的内容为间接指示义为:指定寄存器的内容为间接指示器地址,操作之后寄存器内容加器地址,操作之后寄存器内容加1;若指定寄存器为若指定寄存器为PC,为直接寻址,为直接寻址,操作数地址存放在紧跟指令
49、的下一单操作数地址存放在紧跟指令的下一单元中。元中。l与与(4)不同的是:前者不同的是:前者(4)寄存器中存寄存器中存放的是操作数地址,后者放的是操作数地址,后者(5)寄存器寄存器中存放的是操作数地址的地址。中存放的是操作数地址的地址。8990(6)P/X(R)型型:相对:相对/变址寻址,定义为:变址寻址,定义为:指定寄存器内容与紧跟指令的下一单指定寄存器内容与紧跟指令的下一单元的位移量相加,其结果为操作数地元的位移量相加,其结果为操作数地址;如果指定寄存器为址;如果指定寄存器为PC,为相对,为相对寻址,其偏移量放在紧跟指令的下一寻址,其偏移量放在紧跟指令的下一单元中。单元中。l位移量位移量/
50、偏移量存放:偏移量存放:K指令指令1K+1位移量位移量/偏移量偏移量K+2指令指令291l两种寻址方式两种寻址方式EA=R变变/PC+DISP/OFFESTl或写成统一形式或写成统一形式EA=(R)+DISP9293lET周期周期实现寄存器和寄存器之间,以实现寄存器和寄存器之间,以及寄存器与存储器间的传送。及寄存器与存储器间的传送。l操作数源于操作数源于ST,目的地址源于,目的地址源于DT。l如果如果ST用用S代替,代替,DT用用D代替,与寄代替,与寄存器有关用存器有关用R表示,与存储器有关用表示,与存储器有关用表示。于是:表示。于是:寄存器到寄存器寄存器到寄存器传送可表示成传送可表示成SRD