指令周期的四个阶段详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令周期的四个阶段详解
指令周期是取出一条指令并执行这条指令的时间。一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
指令周期类型有非访内指令的指令周期、取数指令的指令周期、存数指令的指令周期、空操作指令和转移指令的指令周期。
指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
从指令的执行速度看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用4个机器周期。
因此在进行编程时,在完成相同工作的情况下,选用占用机器周期少的命令会提高程序的执行速率,尤其是在编写大型程序程序的时候,其效果更加明显。
指令周期的四个阶段非访内指令的指令周期
CLA是一条非访内指令,它需要两个CPU 周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。
1、取指令阶段
(1)程序计数器PC的内容20(八进制)被装入地址寄存器AR;
(2)程序计数器内容加1,变成21,为取下一条指令做好准备;
(3)地址寄存器的内容被放到地址总线上;
(4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR;
(5)缓冲寄存器的内容传送到指令寄存器IR;
(6)指令寄存器中的操作码被译码或测试;
(7)CPU识别出是指令CLA,至此,取指令阶段即告结束。