1、1,第5章CPU 综合应用题系列,例1: 单总线CPU结构及其数据通路如下图所示,其中:AR为地址寄存器,DR为数据寄存器,MEM为主存储器,R0R3为通用寄存器,PSW为状态寄存器,Y、Z为暂存寄存器,PC为程序计数器,IR为指令寄存器。有逻辑与指令AND R0,Addr,指令含义是:将以Addr为直接地址的存储单元的内容读出,并与R0内容进行逻辑乘,结果存入R0中。请问寄存器级传送形式设计其执行的分步流程。说明:运算器字长与主存储器的单元地址长度相等;PC送地址寄存器与PC+1可在一步完成。,2,解:由于运算器的字长与主存储器的单元地址长度相等,直接地址Addr与指令的操作码字段不能一次读
2、取,第一次读操作码,第二次读直接地址Addr。,3,例2:单总线CPU结构图如下图,试写出加法指令ADD R0,Offs(R1)的读取与执行过程。其中R0表示目的寻址为寄存器寻址;Offs(R1)表示源寻址为变址寻址,Offs是偏移量,R1为变址寄存器。,4,解:假设读操作码与偏移量一次完成。,5,例3:某计算机字长为 16 位,采用 16 位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为 1 时表示有效、为 0 时表示无效,例如控制信号 MDRinE 为 1 时表示允许数据从 DB 打入 MDR,MDRin 为 1 时表示允许数据从内总线打入 MDR。假设 MAR的输出一直处
3、于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+(R1)( R1),即将 R0 中的数据与 R1 中的内容所指主存单元的数据相加,并将结果送入 R1 的内容所指主存单元中保存。下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述的方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。,6,7,解析,涉及第2、3、4、5章,分析 (1)数据通路组成(运算器、存储器、总线、指令系统、CPU) (2)指令周期、CPU周期、时钟周期的概念 (3)机器指令 ADD (R1),R0的含义: (R0) + (R1) (R1) (4)指令周期流程图设计(插图)
4、 (5)指令执行阶段(执行周期)控制信号列表(插表),8,指令周期 流程图 设计,解:一条指令的执行通常由取指、译码、执行三部分组成。题中给出了取指、译码阶段,要求大家完善的是执行阶段的细化操作。,解题思路: 通过图中可以看出控制信号对于各个微操作的影响,例如程序计数器PC的操作:(PC)送MAR,需要操作的控制信号为PCout和MARin;(PC)+1送PC ,需要操作的控制信号为PC+1 和PCin。其余部分的操作类似。 指令执行阶段的细化: (R0)+(R1)( R1) 取R1的内容送入MAR,控制信号为R1out和 MARin; 读内存(由R1指向地址),读出的内容送入MDR,控制信号
5、为MemR和MDRinE; R0的内容送寄存器A,控制信号为R0out和Ain; 将A的内容与MDR的内容相加,结果送入AC,控制信号是MDRout,Add 和 ACin; AC的内容通过内部数据总线写入MDR,控制信号为ACout和MDRin; 写主存,把MDR的内容经DB送存储器,执行写操作,控制信号为MDRoutE和 MemW。,10,最后将细化的结果形成表格。,11,例4:某32位机共有微操作控制信号52个,构成5个相斥类的微命令组,各组分别包含4个、 5个、8个、15个和20个微命令。已知可判定的外部条件有CY和ZF两个,微指令字长29位。(1)给出采用断定方式的水平型微指令格式。(2)控制存储器的容量应为多少位?解: (1)微指令的格式如下:,(注意各控制字段中应包含一种不发出命令的情况,条件测试字段包含一种不转移的情况。)D28 D26 D25 D23 D22 D19 D18 D15 D14 D10 D9 D8 D7 D0,3位 3位 4位 4位 5位 2位 8位,(2)控存容量为282925629,