8086的存储器写周期
“猪小菜”通过精心收集,向本站投稿了3篇8086的存储器写周期,下面是小编给大家整理后的8086的存储器写周期,欢迎大家借鉴与参考,希望对大家有所帮助。
篇1:8086的存储器写周期
8086的存储器写周期
8086在执行将寄存器的内容存到指定的内存单元的传送指令时,进入存储器写周期,图2.10是存储器写周期的时序图。存储器写周期和存储器读周期有三点不同。第一,DT/R在存储器写周期为高电平,使数据收发器的数据传送方向置成指向系统数据总线(AB)。第二,对于写周期,CPU向外输出数据,数据是CPU内部某个寄存器的内容,数据的提供很快,所以,在地址/数据复用线切换成数据线时,这些线上就立即出现要输出的数据,
第三,该周期发出写信号,信号一直无效(为高电平)。
对存储器写周期时序的分析,可采用与分析存储器读周期相类似的方法,从时间和空间两个方面考虑。现有一条指令MOV[4000H],Ax。假定当前DS=H,则目的操作数的物理地址为24000H。该指令的功能是将Ax的内容存到地址码为24000H的内存字单元(即地址码为24000H和24001H的两个存储单元)中。请读者自行分析这条指令的存储器写周期的执行过程。
篇2:8086的存储器读周期
8086的存储器读周期
8086在执行读取内存数据送往寄存器的传送指令时,进入存储器读周期,图2.7是存储器读周期的时序图。图中左边所列为8086的一些引脚名称,也是引脚信号的名称,所画波形为引脚信号随时间变化的情况。图中一些信号(如ADl5~ADO)的波形在某个时间段内为上下两条线,这表示在该段时间内一组信号线中有的为高电平,有的为低电平。一些信号(如ADl5~ADO)的波形从某个时刻起由上下两条线变成位于中间的一条线,或由中间的一条线上变成上下两条线,这表示由输出高电平/低电平变成高阻状态(第三态)或由高阻状态变成正常电平输出。图中的波形交叉(如A19/s6~A16/s3在T2中间的一段时间)表示一组信号正在进行切换,有的可能由高电平变低电平,有的可能由低电平变高电平。
由于封装体积的限制,8086的一些引脚是复用的,由内部的多路开关按时间段分配不同的用途。例如,A19/S6在T1期间输出最高地址位A19,在T2~T4期间输出状态信号s6。A18/s5~A16/s3和/s7与此类似。
CLK是8086的时钟信号,当时钟步率为5MHz时,一个时钟周期为200ns。
ADl5~AD0是地址/数据复用引脚。在T1期间输出地址(地址的低16位A15~A0),在T2的中间开始切换,作数据线用。在图2.7中,ADl5~ADO在切换成数据线后有一段时间为高阻状态。这是因为,从切换完成到数据出现需要一段时间(存储器的读操作需要等读控制信号变为有效后,还需要一定的时间数据才能被读出),这段时间ADl5~AD0没有信息源驱动。
为数据传送允许,该信号为低电平表示允许传送数据。这个信号一般用于数据收发器的数据传送允许控制。
ALE是地址锁存允许。在T1期间ALE为高电平,此期间地址复用线上输出地址信息,当ALE变低电平时(下降沿),地址复用线上的地址已达到稳定。因此可利用ALF的下降沿将地址锁存到8086外部的地址锁存器中。
M/用来区别是存储器操作还是I/O操作。该信号为高电平,表示当前进行的是存储器操作;为低电平,表示进行的是I/0操作。
是读控制信号。该信号用来读出指令所指定的地址单元中的内容,送到数据总线,或者让指定的I/0端口中的数据送到数据总线。该信号还用来打开数据通路。
DT/为数据发送和接收控制。当CPU在一个总线周期中需向外部提供数据时,该信号为高电平;当CPU在一个总线周期中准备接收外界的数据时,该信号为低电平,
对于存储器读周期,CPU要接收从存储器读出的数据,故该信号为低电平。DT/一般用来控制数据收发器的数据传送方向。
图2.8是8086系统的简图,图中数据收发器的外部特性如表2.1所示。其中,为允许控制,T为传输方向控制。
对存储器读周期时序的理解需将图2.7和图2.8结合起来,即对时序的理解需从时间和空间两个方面着手。下面就用这一方法来分析一条具体指令的存储器读周期的执行过程。
MOVAX,[2000H]是一条数据传送指令,采用直接寻址方式。假定当前DS=1000H,则源操作数的物理地址为12000H。该指令的功能是将地址码为12000H的字(即地址码为12000H和1H的两个存储单元的内容)从内存中读出,送至Ax。当这条指令被执行时,8086进入存储器读周期。下面是该周期的一些主要的环节。
①在T1的开始,M/变为高电平,表示当前进行的是存储器操作;DT/
变为低电平,使数据收发器的数据传送方向置成指向cPu(AB)。这两个信号的输出电平一直保持到存储器读周期的结束。在Tl开始不久,地址/状态复用线(A19/s6~A16/s3)和地址/数据
复用线(ADl5~AD0)输出地址(地址值为12000H),于是,这一地址出现在地址锁存器的输
入端。在T1开始不久,控制/状态复用线/s7输出控制信号。
②在T1期间,地址锁存允许ALE输出一个正脉冲,在ALE的后沿前夕,复用线上的地址信号已达到稳定状态。在ALE后沿(下降沿)的作用下,地址(12000H)被锁存到地址锁存器,随即出现在系统的地址总线上,经地址译码器译码,选中12000H开始的两个存储单元(这时还不能读出)。
③在T2开始不久,变为低电平,允许数据收发器进行数据传送。注意此前DT/R已变为低电平,所以从数据总线到CPu的数据通道被打通。
④在T2经过了约一半周期,地址/状态复用线开始输出状态信号,地址/数据复用线也进行切换,作为数据线使用。与此同时,读信号RD也变为有效(低电平)。
⑤在和M/的作用下,地址译码选中的存储单元的内容被读出,经数据缓冲器进入数据总线。由于数据收发器早已被允许,并且传输方向是指向CPU的,所以,读出数据通过数据收发器,出现在地址/数据复用线ADl5~ADO上。
⑥在T4的开始时刻(或者说在T3的结束),cPu读取ADl5~AD0上的输人数据,并送到指令指定的寄存器Ax中。至此,指令规定的操作完成。在T4期间,一些信号恢复到初始状态(变为无效)。
篇3:8086的I/O写周期
8086的I/O写周期
8086在执行输出指令时进入I/0写周期,在I/O写周期中将指定寄存器的内容输出到指定的I/O端口,图2.1l是I/O写周期的时序图。I/O写周期和存储器写周期基本相同,
区别在于两点,一是M/在I/O写周期内为低电平,表示当前进行的是I/0操作;二是I/0端口的地址只有16位,因此图2.11中T1、T2期间没有出现A19~A16。
I/0端口一般包含一个寄存器或锁存器,数据输出到I/O端口,实际是将数据送到该寄存器或锁存器中。数据的送人一般发生在的后沿(上升沿),此时数据总线上的数据仍然有效,并且是稳定的。
【8086的存储器写周期】相关文章:






文档为doc格式