《中央处理机组织.ppt》由会员分享,可在线阅读,更多相关《中央处理机组织.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第6章 中央处理机组织6.1.1 CPU的组成与操作 ALU及所有的CPU寄存器通过一条公共总线连接起来,又称内部总线。存储器总线经由存储器数据寄存器MDR和存储器地址寄存器MAR连到CPU。寄存器R0 到R(n-1):通用寄存器寄存器Y和Z:临时存储。指令寄存器IR和指令译码器:6.1.1 CPU的组成与操作PC:程序计数器,存放即将执行的指令地址IR:指令寄存器,暂时存放指令代码MAR:存储器地址寄存器,存放访问内存时的地址MDR:存储器数据寄存器,存放和内存之间传送的数据R0R(n-1):CPU内的数据寄存器Y:ALU输入端的暂存器Z:ALU输出端的暂存器ALU:算术逻辑单元,完成运算M
2、:主存,存放指令和数据6.1.1 CPU的组成与操作PC部件控制信号 IR部件控制信号PC+1,PCout -IRin,IRoutMAR部件控制信号 MDR部件控制信号MARin,MARouT -MDRin,MDRout,DRi部件控制信号Rin,RoutY部件控制信号 Z部件控制信号Yin,Yout -Zin,ZoutALU部件控制信号+,-,+1主存控制信号RM,WM例6.1写出指令执行的控制信号序列和操作序列指令mov R2,R1存放在主存中,完成读指、分析指令、执行指令的过程操作序列取指令:PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R1-R2信号序列:取
3、指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R1out,R2in例6.2写出指令执行的控制信号序列和操作序列指令mov 20h,R2存放在主存中,完成读指、分析指令、执行指令的过程操作序列取指令:PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:IR中操作数部分-MAR-M R2-MDR-M信号序列:取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:IRout,MARin,MARout R2out,M
4、DRin,D,MDRout,WM例6.3写出指令执行的控制信号序列和操作序列指令ADD R1,R2存放在主存中,完成读指、分析指令、执行指令的过程操作序列取指令:PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R2-Y R1-ALU,Y-ALU,ALU-Z Z-R1信号序列:取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R2out,Yin R1out,Yout,+,Zin Zout,R1in 例6.4写出指令执行的控制信号序列和操作序列指令MOV R1,R2存放在主存中,完成读指、
5、分析指令、执行指令的过程操作序列取指令:PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R2-MAR-M-MDR MDR-R1信号序列:取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R2out,MARin,MARout,RM,MDRin,D MDRout,D,R1in 例6.5根据CPU硬件,完成程序执行已知cpu 组成结构如图其中IR为1个字节长度已知指令系统中部分指令定义为mov R0,#data;功能data-R0,编码6c,datamov R1,R0;功能(R0)-R1,编
6、码2cadd R1,R0 ;功能R1+R0-R1,编码0cmov R0,R1;功能R1-(R0),编码8f例6.5根据CPU硬件,完成程序执行下面程序已经放在内存0单元开始部分,pc已置0mov R0,#7mov R1,R0add R1,R0mov R0,R1在硬件上完成程序(取指-译码-执行指令)写出操作序列和控制信号序列演示6-1.swf操作序列和信号序列MOV R0,#7操作序列取指令 :PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:PC-MAR-M-MDR MDR-R0,PC信号序列取指令 :PCout,MARin,MARout,RM,MDRin,D MDR
7、out,D,IRin,PC+1分析指令:IRout执行指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D.R0in,PC+1操作序列和信号序列MOV R1,R0操作序列取指令 :PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R0-MAR-M M-MDR-R1信号序列取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R0out,MARin,MARout,RM,MDRin,D MDRout,D.R1in操作序列和信号序列MOV R1,R0操作序列取指令
8、:PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R0-R1信号序列取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R0out,R1in操作序列和信号序列MOV R0,R1操作序列取指令 :PC-MAR-M-MDR MDR-IR,PC分析指令:IR-ID执行指令:R0-MAR-M R1-MDR-M信号序列取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1分析指令:IRout执行指令:R0out,MARin,MARout,R1o
9、ut,MDRin,D,MDRout,D,WM6.1.3 CPU控制流程计算机进行信息处理的过程就是不断地取指令、分析指令和执行指令这样一个周而复始的过程。CPU控制流程由以下几步完成:取指令:由程序计数器(PC)指出当前指令地址,通过执行“MAR字段控制的信号数3+3+2+4+4+5+3+1+4+5=34(2)水平型直接表示法,则每个控制信号占微指令中1位,所以4+4+3+11+9+16+7+1+8+22=85例6.10字段编码微指令示例某计算机有5条微指令,每条微指令发出的控制信号如表,设计微指令编码,使微指令长度最短abcdefghijI1*I2*I3*I4*I5*例6.10字段编码微指令
10、示例微指令编码最短,则要找出相同、相容、相斥的信号相同信号:a=f,b=g,c=h,d=i,e=j相斥信号:(a,b,c,d,e),(f,g,h,i,j)格式:A|B|C|D|E 5位A=0,a,f信号无效,A=1,a,f信号同时有效B=0,b,g信号无效,B=1,b,g信号同时有效C=0,c,h信号无效,C=1,c,h信号同时有效D=0,d,i信号无效,D=1,d,i信号同时有效E=0,e,j信号无效,E=1,e,j信号同时有效对ABCDE5个信号进行编码X(3位)000:A有效 001:B有效 010:C有效 011:D有效 100:E有效 101:都无效 例6.11字段编码微指令示例某计
11、算机有5条微指令,每条微指令发出的控制信号如表,设计微指令编码,使微指令长度最短abcdefghijI1*I2*I3*I4*I5*例6.11字段编码微指令示例相同信号:c=g=i,b=h,相斥信号:(b,i),(e,j),(b,c),(i,f),(g,d),(b,g),(b,j)微指令格式:a|(b/h)(c/g/i)|d|ej|f|a|bc|gd|ej|if微指令地址生成微指令地址生成是指如何获得下一条微指令的地址.可以有3种方法由IR指令寄存器中的代码确定对应微程序的起始地址由前一微指令地址顺序产生下一顺序地址根据当前微指令、条件标志、指令寄存器内容,产生下一微指令的地址微指令地址生成常用
12、的微指令地址生成技术有计数器法:顺序产生微指令地址。uPC有加1功能。下址字段法:在微指令中设置一个专门的地址字段用以指出下一条微指令的地址。例6.12根据CPU硬件和指令系统,设计微程序控制器在单总线CPU中,用一条总线连接IR,MAR,MDR,R0R7,ALU输入寄存器为Y,输出寄存器为Z。计算机指令有 ADD R3,R1,R2 ;R3R1+R2 LOAD MEM,R1 ;R1 MEM STORE MEM,R1 ;MEM R1 JMP#A ;PCPC+A已知四条指令的操作码为00,01,10,11ADD R3,R1,R2指令的控制序列T1:PCOUT,MARIN,PC+1,READT2:M
13、DROUT,IRIN,T3:R1OUT,YIN,T4:R2OUT,ZIN,ADDT5:ZOUT,R3INLOAD MEM,R1控制序列T1:PCOUT,MARIN,PC+1,READT2:MDROUT,IRINT3:IROUT,MARIN,READT4:MDROUT,R1INSTORE MEM,R1 控制序列T1:PCOUT,MARIN,PC+1,READT2:MDROUT,IRINT3:IROUT,MARINT4:R1OUT,MDRIN,WRITEJMP#A控制序列T1:PCOUT,MARIN,PC+1,READT2:MDROUT,IRINT3:PCOUT,YINT4:IROUT,ADD,Z
14、INT5:ZOUT,PCIN水平型直接表示法微指令设计PCOUTPC+1MARinMDRoutReadIRinR1outYinR2outAddZinZoutR3inIRoutR1inPCinMDRinWrite完成ADD R3,R1,R2指令的微指令PCOUTPC+1MARinMDRoutReadIRinR1outYinR2outAddZinZoutR3inIRoutR1inPCinMDRinWriteT1:111010000000000000T2:000101000000000000T3:00000011 0000000000T4:000000001110000000T5:0000 0000
15、0001100000 T1:111010000000000000T2:000101000000000000T3:001010000000010000T4:000100000000001000PCOUTPC+1MARinMDRoutReadIRinR1outYinR2outAddZinZoutR3inIRoutR1inPCinMDRinWrite完成LOAD MEM,R1 指令的微指令完成LOAD MEM,R1 指令的微指令完成STORE MEM,R1指令的微指令T1:111010000000000000T2:000101000000000000T3:001000000000010000T4:000000100000000011PCOUTPC+1MARinMDRoutReadIRinR1outYinR2outAddZinZoutR3inIRoutR1inPCinMDRinWrite完成JMP#A指令的微指令T1:111010000000000000T2:000101000000000000T3:100000010000000000T4:000000000110010000T5:000000000001000100PCOUTPC+1MARinMDRoutReadIRinR1outYinR2outAddZinZoutR3inIRoutR1inPCinMDRinWrite
限制150内