《计算机组成与设计》习题解答

R2→MAR,读 DBUS→MDR MDR→Y R1 + Y→Z Z→R1

在第三种寻址方式下指令的执行过程是:

PC→MAR,读 PC+1→PC

DBUS→MDR→IR IR(mem)→MAR,读 DBUS→MDR MDR→MAR,读 DBUS→MDR MDR→Y R1 + Y→Z Z→R1

结合三种寻址方式的指令执行流程如下图所示。

PC→MARPC + 1→PCDBUS→MDRMDR→IR寄存器寻址R2→Y寄存器间接寻址R2→MAR存储器间接寻址IR(mem)→MARDBUS→MDRMDR→MARDBUS→MDRMDR→YR1 +Y→ZZ→R1

注意:本题要求给出一条指令的程序图,流程图要画成一个,而不是3个。

17. 在单总线CPU结构中有下列指令操作,试画出控制器流程图。

ADD R3,R1,R2 // R1+R2?R3 MOVE R1,R2 // R1? R2 MOVE R1,mem // R1?mem MOVE mem,R1 // mem?R1

MOVE mem1,mem2 // mem1?mem2

JMP #A

答:对于ADD指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR R1?Y R2+Y?Z Z?R3

对于第一条MOVE指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR R1?R2

对于第二条MOVE指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR IR(mem)?MAR R1?MDR, 写

对于第三条MOVE指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR IR?MAR, 读 DBUS?MDR?R1

对于第四条MOVE指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR IR(mem1)?MAR,读 DBUS?MDR IR(mem2)?MAR,写 对于JMP指令,控制流程为: PC?MAR,读 PC+1?PC DBUS?MDR MDR?IR PC?Y IR+Y?Z

Z?PC

根据上述步骤,得如下的控制流程图:

PC→MARPC + 1→PCDBUS→MDRMDR→IRMOVE2R1→YR2+Y→ZZ→R3R1→R2IR→MARR1→MDR,写MOVE3IR→MAR,读MDR→R1IR→MAR,读DBUS→MDRIR→MAR,写PC→YIR+Y→ZZ→PCADDMOVE1MOVE4JMP

32. 对于单总线CPU结构,设计一个可实现下列指令操作的硬连线控制器,画出控制器逻辑图并写出各控制信号的逻辑表达式

ADD R3,R1,R2 LOAD mem,R1 STORE mem,R1 JMP #A

对应上述指令的译码器输出信号分别为add, load, store和jmp。 答: (1) 先画出控制器逻辑图

环形脉冲发生器T1T2T3T4T5 ADD IR 指令 LOAD 译码 STORE JMP时钟编码器?

(2)列出各指令的各操作过程所需的控制信号 对于ADD指令,每个时钟周期内的控制信号为: T1: PCout, MARin, PC+1, Read ;PC?MAR, PC+1, read T2: MDRout, IRin ;MDR?IR T3: R1out, Yin ;R1?Y T4: R2out, Zin, ADD ;R2+Y?Z T5: Zout, R3in ;Z?R3 对于LOAD指令,各时钟周期的控制信号为:

T1: PCout, MARin, PC+1, Read ;PC?MAR, PC+1, read T2: MDRout, IRin ;MDR?IR T3: IRout, MARin, Read ;IR?MAR, read T4: MDRout, R1in ;MDR?R1 对于STORE指令,各时钟周期的控制信号为: T1: PCout, MARin, PC+1, Read ; PC?MAR, PC+1, read T2: MDRout, IRin ;MDR?IR T3: IRout, MARin ;IR?MAR T4: R1out, MDRin, Write ;R1?MDR, write 对于JMP指令,各时钟周期的控制信号为: T1: PCout, MARin, PC+1, Read ; PC?MAR, PC+1, read T2: MDRout, IRin ;MDR?IR T3: PCout, Yin ;PC?Y T4: IRout, ADD, Zin ;IR+Y?Z T5: Zout, PCin ;Z?PC

(3) 写出控制信号及其逻辑表达式。综合上述控制信号的时序,得控制器逻辑: PCout=T1+JMP*T3 PC+1=T1 MARin=T1+STORE*T3+LOAD*T3 MDRout=T2+LOAD*T4 Read=T1+LOAD*T3 IRin=T2 R1out=ADD*T3+STORE*T4 Yin=ADD*T3+JMP*T3 R2out=ADD*T4 Add=ADD*T4+JMP*T4 Zin=ADD*T4+JMP*T4 Zout=ADD*T5+JMP*T5 R3in=ADD*T5 IRout=LOAD*T3+STORE*T3+JMP*T4 R1in=LOAD*T4 PCin=JMP*T5 MDRin=STORE*T4 Write=STORE*T4 END=(LOAD+STORE)*T4+(ADD+JMP)*T5

33. 对于上题指令操作,试设计一个采用若干片8位ROM芯片的水平型直接编码的微程序控制器。要求画出微程序控制的框图,写出每条微指令的代码并指出其在ROM中的存储位置以及实现多路转移的方法。假定四条指令的操作码分别为二进制码00、01、10和11,微地址的生成采用增量与断定结合的方式。

答:(1) 写出各指令的操作步骤及其所需的控制信号。同上题第二步。 (2) 写出各控制信号以及各微指令的控制字。各控制信号同上题第三步,它们构成的控

制字如下。

PCout PC+1 MARin MDRout Read IRin R1out Yin

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4