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

发布时间:2024-01-19
现按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的频率是不稳定的。
上一个:家里云服务器和磁盘阵列区别
下一个:海亮宁海公学项目预付费云平台系统的研究

分析个体粉尘采样器是根据什么原理进行工作的
冬至这样喝茶,来年不生病!
笔记本键盘键帽怎么取(笔记本键盘按键帽怎么拆)
骗保是犯罪吗
股权登记是什么意思,需要什么程序
乐视1s手机升级系统怎么样,乐1s手机R00t后系统怎样更新方法
皮皮虾的日常做法 皮皮虾日常怎么做
网络摄像机的联网设置操作步骤
投标书范本
枫杨的养殖方法