80C51单片机指令的取指、执行时序

发布时间:2024-07-20
现按4类指令介绍cpu时序。因为cpu工作的过程就是取指令与执行指令的过程,所以cpu必须先取出指令,然后才能执行指令。
1.双字节单周期指令
由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在s1p2与s4p2。在s1p2读入机器码74并送入指令寄存器ir,在s4p2读入数据03送入累加器a,即读2取2。在指令的执行过程中,p0口要分时传送地址与数据,因此当操作码的地址从p0口输出后,必须发地址锁存信号ale给74ls373锁存器,将地址锁存在74ls373内,腾出p0口读入机器码74。在取数据03时同样要发ale信号。因此,在一个机器周期内地址锁存信号二次有效,见80c51时序图。
2.单字节单周期指令
对单字节单周期指令,由于操作码只有一个字节,因此第一次读操作码有效,而第二次读的操作码将被丢弃,即:读1丢1,且程序计数器pc不加1。
3.单字节双周期指令
对单字节双周期指令,由于操作码只有一个字节,而执行时间长达2个机器周期,因此除第1次读操作码有效外,其余三次读的操作码均被放弃,即:读1丢3。
4.访问外部存储器指令movx
执行访问外部存储器指令movx时,首先从程序存储器中取出指令,然后从外部数据存储器中取出数据,因此该指令执行时序图与前三类指令不同。由于movx是单字节双周期指令,所以在取指令阶段(即第一个机器周期的s1p1到s4p2)是读1丢1,而在执行指令读数据阶段(即第一个机器周期的s5到第二个机器周期的s3)所完成的操作如下:
(1)先将外部数据存储单元的地址addr由dptr从p0与p2口输出,即时序图中的s5p1到s6p2阶段。并在s4p2到s5p2阶段,发ale信号将地址锁存。
(2)在第二个机器周期s1p2到s2p2内取消ale与程序选通信号 (即取消取指操作),使p0口专门用于传送数据。同时发读信号,通过p0口将外部数据存储单元中的数据传送到累加器a中。即:时序图的s6p2到s4p1阶段。
(3)由于锁存的地址为外部数据存储单元的地址,所以在第二个机器周期s4取消取指令的操作,即:不再发程序选通信号。
注:由于执行movx指令时,在第二个机器周期中要少发一次ale信号,所以ale的频率是不稳定的。
上一个:网站受攻击-虚拟主机/数据库问题
下一个:什么是测绘仪器

德国图尔克CABLE-BLIDENT-100M主干线缆维修保养及注意事项
深入探究全球mro市场(哪些供应商排名靠前)
涡轮单冲压片机的工作原理和冲模的安装
光度计 型号:DP-F93 简述
cad约束怎么用(2007版cad约束怎么用)
好口碑的空压机哪家服务好
电脑有哪些配件,电脑的主要配件有什么
原装德国WALTHER快速接头价格好报价快
合同超过有效期怎么办
国产伊里德YLD变送器模块的产品简介