PC+1→PC AC-BUS→Z Z→BUS→AC 取 指 周 期 执 行 周 期
PCo,MARi MARo,MDRi MDRo,IRi +1
ACo,Yi Ho,ALUi ACo, - ,Zi Zo,ACi
13. 设CPU 内部结构如图9.4 所示,此外还设有R1~R4 四个寄存器,它们各自的输入和输出端都 与内部总线相通,并分别受控制信号控制(如R2i 为寄存器R2 的输入控制;R2o 为R2 的输出控
制)。要求从取指令开始,写出完成下列指令所需的全部微操作和控制信号。 (1)ADD R2,@R4 ; ((R2)+((R4)) ?R2,寄存器间接寻址) (2)SUB R1,@mem ; ((R1)-((mem)) ?R1,存储器间接寻址)
解:(1)ADD R2,@R4 的指令周期信息流程图及微操作控制信号如下: PC→BUS→MAR M(MAR)→MDR MDR→BUS→IR MDR→BUS→Y R2→BUS→ALU PC+1→PC BUS+Y→Z Z→BUS→R2 取 指 周 期 执 行 周 期
PCo,MARi
MARo,1→R,MDRi MDRo,IRi +1
MDRo,Yi R2o,ALUi Yo, + ,Zi Zo,R2i
R4→BUS→Ad(IR) R4o,IRi 间 址 周 期
Ad(IR)→MAR
M(MAR)→MDR MARo,1→R,MDRi IRo,MARi
(2)SUB R1,@mem 指令周期信息流程图及微操作控制信号如下: PC→BUS→MAR M(MAR)→MDR MDR→BUS→IR MDR→BUS→Y R1→BUS→ALU PC+1→PC BUS-Y→Z Z→BUS→R1 取 指 周 期 执 行 周 期
PCo,MARi
MARo,1→R,MDRi MDRo,IRi +1
MDRo,Yi R1o,ALUi Yo, - ,Zi Zo,R1i
间Ad(IR)→BUS→MAR IRo,MARi 址 周 期
Ad(IR)→MAR
M(MAR)→MDR MARo,1→R,MDRi IRo,MARi
M(MAR)→MDR MARo,1→R,MDRi MDR→Ad(IR) MDRo,IRi
14. 设单总线计算机结构如图9.5 所示,其中M 为主存,XR 为变址寄存器,EAR 为有效地址寄存
器,LATCH 为锁存器。假设指令地址已存于PC 中,画出“LDA *D”和“SUB X,D”指令周期信息
流程图,并列出相应的控制信号序列。 说明:
(1)“LDA *D”指令字中*表示相对寻址,D 为相对位移量。 (2)“SUB X,D”指令字中X 为变址寄存器XR,D 为形式地址。
(3)寄存器的输入和输出均受控制信号控制,例如,PCi 表示PC 的输入控制信号,MDRo 表
示MDR 的输出控制信号。
(4)凡是需要经过总线实现寄存器之间的传送,需要在流程图中注明,如PC?Bus?MAR,
相应控制信号为PCo 和MARi。
解:(1)“LDA *D”指令周期信息流程图及微操作控制信号如下: PC→BUS→MAR M(MAR)→MDR MDR→BUS→IR MDR→BUS→ACC PC+1→PC 取 指 周 期 执 行 周 期
PCo,MARi
MARo,1→R,MDRi MDRo,IRi +1
MDRo,ACCi
EAR→BUS→MAR
M(MAR)→MDR MARo,1→R,MDRi EARo,MARi
PC+Ad(IR)→EAR PCo,Ad(IR)o,EARi
(2)“SUB X,D” 指令周期信息流程图及微操作控制信号如下: PC→BUS→MAR
M(MAR)→MDR MDR→BUS→IR
LATCH→BUS→ACC PC+1→PC 取 指 周 期 执 行 周 期
PCo,MARi
MARo,1→R,MDRi MDRo,IRi +1
MDRo,ACCi
EAR→BUS→MAR
M(MAR)→MDR MARo,1→R,MDRi EARo,MARi
PC+Ad(IR)→EAR PCo,Ad(IR)o,EARi MDR→BUS→X
ACC-X→LATCH ACCo,Xo,Ki=-,LATCHi LATCHo,ACCi 第十章
1. 假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口
地址,试写出中断隐指令的微操作及节拍安排。 解:设软件查询程序首址为0 号内存单元,则中断隐指令的微操作命令及节拍安排如下: T0 0 SP
T1 ,SP??MAR
T2 SP?W,SP+1 M(MAR) T3 PSW?MAR,MDR?SP
T4 1??W,SP+1?MDR, ?M(MAR) PC?EINT 由于题意中没有给出确切的数据 通路结构,故上述节拍分配方案的并行性较低。?PC,MDR?0 ?MDR,1?MAR 2. 写出完成下列指令的微操作及节拍安排(包括取指操作)。
(1)指令ADD R1,X 完成将R1 寄存器的内容和主存X 单元的内容相加,结果存于R1 的操作。
(2)指令ISZ X 完成将主存X 单元的内容增1,并根据其结果若为0,则跳过下一条指令执 行。 解:设采用单总线结构的CPU 数据通路如下图所示,且ALU 输入端设两个暂存
器C、D(见17 题
图)。并设采用同步控制,每周期3 节拍: PC MAR SP MDR CU IR AC bus
地址线数据线控制线
(1)指令ADD R1,X 的微操作及节拍安排如下: 取指周期:T0 PC?MAR,1??R T1 M(MAR) ?MDR,PC+1?PC T2 MDR?IR,OP(IR) ?ID
执行周期1:T0 Ad(IR)?MAR,1?R T1 M(MAR) ?MDR T2 MDR?D
执行周期2:T0 R1?C T1 +
T2 ALU?R1
(2)指令ISZ X 的微操作及节拍安排: 取指周期同(1):略
执行周期1: T0 Ad(IR)?MAR,1?R T1 M(MAR)?MDR
T2 MDR?C,+1?ALU
执行周期2:T0 ALU?MDR,1?W T1 (PC+1)·Z+ PC· Z ?PC
12. 能否说水平型微指令就是直接编码的微指令,为什么? 解:不能说水平型微指令就是直接编码的微指令,因为符合水平型微指令特征的微指令都属于水平型微指令,常见的有:直接编码、字段直接编码、字段间接编码,及混合编码等。直接编码的微指令只是最典型的一种。
15. 设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下: 解:因为控制存储器共有512*48=29*48 所以,下址字段应有9位,微指令字长48位 又因为控制微程序转移的条件有4个,4+1<=23 所以判断测试字段占3位
因此控制字段位数为:48-9-3=36 微指令格式为:
21. 下表给出8条微指令I1~I8及所包含的微命令控制信号,设计微指令操作控制字段格式,要求所使用的控制位最少,而且保持微指令本身内在的并行性。 解:为使设计出的微指令操作控制字段最短,并且保持微指令本身内在的并行性,应采用混合编码法。首先找出互斥的微命令组,为便于分析,将微命令表重画如下:
由表中微命令的分布情况可看出:a、b、c、d、e微命令的并行性太高,因此不能放在同一字段中。另外,由分析可知,在2、3、4分组的互斥组中,3个一组的微命令互斥组对控制位的压缩作用最明显。因此,应尽可能多的找出3个一组的互斥组。现找出的互斥组有:cfj,dij,efh,fhi,bgj,ehj,efj??等等。 从中找出互不相重的互斥组有两个:dij,efh。则:微指令操作控制字段格式安
排如下: 1 1 1 1 2 2 a b c efh dij
各字段编码分配如下: a:0 无操作,1 a微命令; b:0 无操作,1 b微命令; c: 0 无操作, 1 c微命令; g :0 无操作, 1 g微命令;
dij :00 无操作;01 d微命令;10 i微命令;11 j微命令; efh:00 无操作;01 e微命令;10 f微命令;11 h微命令
与采用直接控制法比较:直接控制法:10个微命令需10位操作控制位;本方案中10个微命令需8位操作控制位,压缩了2位。 48 13 12 10 9 1
控制字段 测试字段 下址字段__