计算机第五章解题

在这里插入图片描述
这道题我个人认为书上给出的AR和DR是不完全的,书中图截图如下:
在这里插入图片描述
在这其中,AR是数据地址寄存器,DR是数据缓冲寄存器。其实,在书中的图5.15中,有个关于LAD的流程图
在这里插入图片描述
在红框部分,如果只是按照书中给出的cpu来看的话,是不合常理的,为什么一个数据地址寄存器要和ABUS相连呢,ABUS不是和PC相连吗?所以,这里我们要补充一下:AR是地址寄存器(不仅是数据cache对应的地址寄存器,还可以是指令cache对应的地址寄存器)
在这里插入图片描述
有了上面的补充,我们可以来完善第一题中的内容了
保存当前正在执行的指令寄存器是:IR
保存当前正在执行的指令地址寄存器是:AR
算术逻辑运算结果通常放在:DR和通用寄存器中
在这里插入图片描述
在这里我们需要明确一下取指周期这样的公操作,还记得我刚在放在上面那张增添过AR和DR的图吗,仔细看看那个图,你就知道如何去取址以及书上的答案是如何来的了。(好吧,我再放一遍)
在这里插入图片描述
取指操作就是由pc里面的指令地址在M(指存)中去寻址

注意:棱形部分是一个地址逻辑判断即下一个取址是直接PC++中去取还是要进行一个判别,“~”是执行公操作,比如中断操作等
在这里插入图片描述
在这里插入图片描述
取值周期:pc–ar m–dr dr–ir
执行周期:(r3)–>ar (m)–>DR DR–>r0
在这里插入图片描述
我们来总结一下这两个题,看看有没有什么规律可言。前者呢是将通用寄存器中的数放进了数存中,后者反之。但无论如何,首先被访问的一定是数存(AR),AR作为一个地址寄存器,放的就是指令中数存相关的地址,我们的目的是让数存读出AR存放地址对应的那个数据吧,即(M)–>DR,DR是数据缓冲寄存器,是专门用来存放数据的,最有将DR中的数写入到R0中,就完成了数存向通用寄存器的写入了。那么反过来呢,还是先访问数存(R2)–>AR,再访问通用寄存器R1–>DR,最后写回到数存DR–>M
在这里插入图片描述
在这里插入图片描述
这道题的难点就在微指令有几条。我们再仔细读读上面的题目,每条指令是由四条微指令构成,其中一条取值微指令是指令公用的,这说明了理论上我每条指令都要用到四条微指令,但是呢为了节省空间,我把那条公用的微指令给提取出来后,就只这一条,但每个指令都可以来用。所以,这里共有指令:
80 × ( 4 − 1 ) + 1 80 \times (4-1) +1 80×(41)+1
然后用指令数乘上长度,就是存储器容量了(略)
在这里插入图片描述
M = G M=G M=G
S 3 = H + D S_3=H+D S3=H+D
S 2 = A + B + H + D + E + F + G S_2=A+B+H+D+E+F+G S2=A+B+H+D+E+F+G
S 1 = A + B + F + G S_1=A+B+F+G S1=A+B+F+G
C = H + D + E y + F y C=H+D+E_y+F_y C=H+D+Ey+Fy
仔细想想为什么不是 × \times ×而是+呢,因为ABD。。这些都表示不同的指令,这些指令执行任意一条 S 2 S_2 S2都会为1的
在这里插入图片描述
审题,控制字段仅限8位,这里的控制字段就是指的操作码字段,一共有10位,但这里仅限8位,故我们要位个别的微操作进行编码了,如何编码,哪些微操作呢—互斥操作
我们可以发现 d i j 是互斥的,e f h是互斥的,于是,这两组互斥操作我们分别用两位来表示,故这里一共占了4位了,我们还发现还剩了4位,这样一来,刚好8位了
在这里插入图片描述
当然,不止一种操作了。理解思路最重要。
在这里插入图片描述
容量为512*48位,下址字段为9位,判别字为4位,故操作控制位 为48-9-4
在这里插入图片描述
在这里插入图片描述
操作周期:max{100,100,80,50}
第2条指令要在第1条指令完成送结果后才可取数

  • 取址 取数 运算 送结果
  • —— —— —— ——
  •            取址 译码  取数 送结果
    
  •            —— —— —— ——
    

延迟两个周期 200ns
加以改进,可以在运算的时候就进行取数了
延迟100ns
在这里插入图片描述
这里只说两个概念:吞吐率:是单位时间执行完的指令数;加速比:是不同的吞吐率之比

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值