↑存储器读周期 §2.6.2 存储器写周期 ↓输入输出周期时序
它也是由4个状态组成,如图所示。它与存储器的读周期类似,首先也要有M/IO信号来表示进行存储器操作。若M/IO=1则与存储器通信。其次也要有写入单元的地址以及ALE信号,但写入存储器的数据不同。在T2状态,即当16位地址线AD15~AD0已由ALE锁存时后,CPU就把要写入的16位数据放至AD15~AD0上了。要写入,当然要又WR信号代替RD信号,它也在T2状态有效。DT/R信号应为高电平。8086在T4状态后就使控制信号变为效。实际上8086是认为在T4状态,对存储器的写入过程已经完成。若有的存储器和外设来不及在指定的时间内完成操作,可以利用READY信号,使CPU插入TW状态,以保证时间配合,具有TW的写入时序与读时序类似。
CPU写存储器涉及的信号有:
① 用M/ IO 信号确定CPU是与存储器或外设通讯。在整个写周期中,M/ IO =1,表示CPU与存储器通讯。
② 指出存储器单元的地址。由于8086CPU的地址信号和数据信号复用一组引脚,CPU只能分时传送地址信号和数据信号。CPU在T1 状态从分时复用信号线AD19/S6 ~AD 16 /S 3 、 AD 15 ~AD 0 上发出20位地址信号A19~A0 。
③ 为了保持住地址信号,需要使用地址锁存器8282。在T1状态,CPU还要发出地址锁存信号ALE,在ALE下降沿,地址信号被锁存在地址锁存器8282中。这样,在其它T状态,分时复用信号线 AD 19 /S 6 ~AD 16 /S3 、 AD15~AD0 就可以用来传送状态和数据信号了。
④ CPU在T2状态发出写命令WR(此时RD信号无效)。另外,从T2状态开始,AD 19 /S 6 ~AD 16 /S 3 信号线上发出状态信号。在T 2 状态,AD 15~ AD 0 上的地址已消失,在数据还未到达前处于悬空状态。
⑤ 存储器收到地址信号、写命令后,经过一定时间,把指定存储单元的数据送到数据总线上。如果存储器的写入速度较快,在T2状态结束时(下降沿),就可以写入数据,使CPU在T 3 的后下降沿从AD 15~ AD 0 上获得该数据。
⑥ CPU获得数据后,在T4状态,CPU撤消本次操作的信号。本次操作完成。
⑦ CPU与数据总线一般通过数据收发器8286连接,因此,CPU还要发出控制8286的信号DT/ R 、 DEN 。DT/ R 控制8286的数据传送方向,在存储器写周期中,DT/ R =1,表示数据离开CPU(写入)。 DEN 使8286允许传送数据。DT/ R 从T1状态开始在整个周期中一直有效。 DEN 从T 2 状态开始有效。