荐 计算机组成原理中指令的四个工作周期
程序员文章站
2022-03-20 12:55:51
执行过程:在取址周期后,需要判断是否有间址周期,如果没有就进入到了执行周期,在执行周期过程中,需要判断有没有中断程序,如果有,就响应中断:保存断点,生成中断服务程序入口,硬件关断点;如果没有,就进入下一个取址周期完成一条指令的最多需要四个工作周期:取指周期,间指周期,执行周期,中断周期。取指周期指令周期:取出并执行一条指令所需要的时间(解释一条指令所需要的时间)带有间址寻址的指令周期因为寻址方式的不同,所以有可能是间址寻址,所以在执行周期中要取出操作数,需要进行两次访存,间址周期执行的是将操作...
执行过程
执行过程:在取址周期后,需要判断是否有间址周期,如果没有就进入到了执行周期,在执行周期过程中,需要判断有没有中断程序,如果有,就响应中断:保存断点,生成中断服务程序入口,硬件关断点;如果没有,就进入下一个取址周期
完成一条指令的最多需要四个工作周期:取指周期,间指周期,执行周期,中断周期。
取指周期
指令周期:取出并执行一条指令所需要的时间(解释一条指令所需要的时间)
目标:需要将PC中的地址取出,并存在IR(指令寄存器中)
①:先将PC中的指令地址送到MAR(主存地址寄存器)中
②③:通过地址总线送到存取器中
④⑤⑥⑦⑧:CU通过控制总线将存储器中的数据读出来并通过数据总线将数据送到MDR中,然后再送到IR中。
⑨:CU还会将PC+1,使得PC指向下一条指令所在的地址
带有间址寻址的指令周期
因为寻址方式的不同,所以有可能是间址寻址,所以在执行周期中要取出操作数,需要进行两次访存,间址周期执行的是将操作数的地址从主存中取出,执行周期执行的是取出操作数并执行相应的操作并把结果保存在给定的寄存器当中 ,那么这个时候,如果我们将指令周期划分为:取址周期,间址周期,执行周期。
带有中断的指令周期
如果程序执行的过程中有中断,那么就要添加一个中断周期:如果有中断请求的话,我们需要去响应中断:保存断电,形成中断服务程序的入口地址,硬件关中断。
间指周期
间址周期是用来说明IR中或者是MDR中保存的是操作数的地址。这里假设其保存在IR中
①:MAR将IR中的数据地址读出。
②③:通过地址总线传到存储器中。
④⑤⑥⑦⑧:CU发出控制信号,并通过控制总线将地址读出通过数据总线放回到IR中。
执行周期
不同的指令,执行周期的微操作不同。
中断周期
我们要知道中断周期我们做了什么操作:
- 保存断点
- 生成中断服务程序入口地址
- 硬件关闭断点
- CU决定了把中断保存在内存单元的哪一个地址(保存断点是一个写操作)
①②③:保存断点,将CU中的地址传到MAR再通过地址总线传到存储器中。
④⑤⑥:保存当前断点的地址,当前断点的地址在哪里有呢——PC,所以需要将PC的地址传到MDR通过数据总线传到存储器中。
⑦⑧:而中断程序的入口地址是由CU给出,CU直接将入口地址放入PC中
参考文章:https://blog.csdn.net/weixin_43978453/article/details/102964671
本文地址:https://blog.csdn.net/qq1350975694/article/details/107295307