资源描述
一、综合题--设计题
设计题 用4K*8的存储器芯片构成16KB的存储器,地址线为A15~A0,请设计。
方法一:采用位扩展
1、需要几片芯片?
2、 数据线有哪几位?
3、 加至各芯片的地址线?
4、画出该存储器逻辑结构图?
方法二:采用字扩展
1、需要几片芯片?
2、 数据线有哪些?
3、 加至芯片上的地址线有哪几位?
4、 用来译码的地址有哪几位?
5、 用来寻址的地址线有哪几位?
6、画出该存储器的结构图?
二、简单应用题—写出指令执行过程题
1、加法指令(ADD)
(1)ADD R1,R2执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取第一个操作数:R1→Y
5) 取第二个操作数并执行运算:R2+Y→Z
6) 送结果:Z→R1
(2)ADD R1,(R2)执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取第一个操作数:R1→Y
5) 取第二个操作数并执行运算:R2→MAR,DBUS→MDR,MDR→B,B+Y→Z
6) 送结果:Z→R1
(3)ADD (R1),R2执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取第一个操作数:R1→MAR,DBUS→MDR,MDR→Y
5) 取第二个操作数并执行运算:R2+Y→Z
6) 送结果: R1→MAR,Z→MDR
(4)ADD (R1),(R2)执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取第一个操作数:R1→MAR,DBUS→MDR,MDR→Y
5) 取第二个操作数并执行运算:R2→MAR,DBUS→MDR,MDR→B,B+Y→Z
6) 送结果: R1→MAR,Z→MDR
2、减法指令(SUB)
(1)SUB R1,R2
(2)SUB R1,(R2)
(3)SUB (R1),R2
(4)SUB (R1),(R2)
只需要将ADD的第五步中的“+”改成“-”即可。
3、跳转指令(JMP)
(1)JMP offs执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取PC:PC→Y
5) 取偏移量并执行运算:Y+IR(地址段)→Z
6) 送结果:Z→PC
(2)JMP #1000H执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取PC:PC→Y
5) 取偏移量并执行运算:Y+1000H→Z
6) 送结果:Z→PC
(3)JMP R1执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取PC:PC→Y
5) 取偏移量并执行运算:Y+R1→Z
6) 送结果:Z→PC
(4)JMP (R1)执行过程如下:
1) 送地址:PC→MAR
2) 计算下一条地址:PC+1→PC
3) 取指令:DBUS→MDR,MDR→IR
4) 取PC:PC→Y
5) 取偏移量并执行运算:R1→MAR,DBUS→MDR,MDR→B,Y+B→Z
6) 送结果:Z→PC
另外:访存指令LOAD和STORE也要适当复习下。
三、简单应用题—写出BOOTH算法的执行过程
用Booth算法计算2*(-3)的4位补码乘法运算,写出其运算执行过程。
解:[2]补=0010,[-3]补=1101,R0=0000,R1=1101,R2=0010,辅助位P=0
P
第0次循环: R0R1=00001101 0 → 初始值
第1次循环: R0R1=11101101 0 → yiyi+1=10,R0-R2→R0
R0R1=11110110 1 → ROR1右移1位
第2次循环: R0R1=00010110 1 → yiyi+1=01,R0+R2→R0
R0R1=00001011 0 → ROR1右移1位
第3次循环: R0R1=11101011 0 → yiyi+1=10,R0-R2→R0
R0R1=11110101 1 → ROR1右移1位
第4次循环: R0R1=11110101 0 → yiyi+1=11,无操作
R0R1=11111010 1 → ROR1右移1位
根据上述运算过程可知,运算结果为11111010,即-6
另外:一位原码乘法、恢复余数的除法和加减交替法除法也要适当复习下。
展开阅读全文