计算机系统导论——主机完成一条指令的过程

主机完成一条指令的过程

取数指令:

       机器启动后,PC是一开始存放指令的部件(程序计数器,用来存放当前欲执行指令的地址),PC要将指令的地址送到MAR(存储器地址寄存器,用来存放欲访问的存储单元的地址)PC----->MAR,再由MAR送给存储体,在控制器的控制下,存储体把指定存储单元中存储的指令取出来,存储到MDR中(存储器地址寄存器,用来存放从存储体中某单元中取出的代码),这时指令已经存放到MDR中,取出的指令要送入IR(指令寄存器,用来存放当前要处理的指令)MDR---->IR,此时完成取指过程。

       分析指令的过程是将指令寄存器中的操作码部分送到CU(程序计数器)OP(IR)---->CU,在控制单元内部进行分析当前指令所需完成的操作,因为本例为取指令,所以要把存储单元M中的数据取到ACC寄存器中,为了完成本步骤,因为本指令以及操作数的地址都存储在IR中,所以在控制器的控制下,将IR中的地址码送到MAR,Ad(IR)---->MAR,以便将指令从存储体中取出,然后由MAR送到存储体,在控制器控制下,从存储体中将取数指令要取的数送入到MDR,再有MDR送到运算器的ACC中,MDR—>ACC,完成此指令的执行过程。与此同时,PC完成自动加一的操作(加一只是拟称,具体加几取决于实际计算机),形成下一条指令的地址号。

取数指令:
       存数指令的功能是将ACC中的数据放到存储体指定的单元中,取指阶段:将指令从存储体中取出,必须要知道指令的地址,而指令的地址一开始是在PC当中,所以PC要将指令的地址送到MAR中,PC----->MAR,再由MAR送给存储体,在控制单元CU的控制下,存储体把指定存储单元中存储的指令取出来,存储到MDR中,这时指令已经存放到MDR中,取出的指令要送入IR中,MDR---->IR,指令进入控制器,此时完成取指过程。

       分析指令:把IR中保存的指令的操作码部分送到CU中,OP(IR)---->CU,CU分析指令,发出信号来完成指令所需操作,因为本指令是存数指令,所以要将ACC中的数据放到存储体指定的单元中,在控制器的控制下,将IR中的地址码送到MAR,Ad(IR)---->MAR,然后由MAR送到存储体,告诉存储体要存入数据的地址是多少,然后把ACC中的数据存入到MDR,ACC—>MDR,因为存储体中输入和输出的数据都需要经过MDR,在控制器的控制之下,将MDR中的数据存放到存储体中。完成执行存数指令。

乘数指令:

       控制单元CU取出IR中指令的操作码经MDR送到运算器MQ,CU再向运算器发出乘法操作命令,完成a*x的运算,并将运算结果存放到ACC中。略去部分同上。

       以此类推,逐条取值、分析、执行、直至打印结果执行完停机指令后,机器自动关机。

  • 10
    点赞
  • 32
    收藏
  • 打赏
    打赏
  • 2
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论 2

打赏作者

施施吖

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值