8086的写总线周期


http://www2.zzu.edu.cn/qwfw/wjylcai/list.asp?id=127

写总线周期用来完成对存储器或I/O端口的一次写操作。

1. T1状态:总线周期的第一个时钟周期主要用于输出存储器地址或I/O地址。
如果M/IO*为高电平,访问存储器,输出20位的存储器地A19~A0;这就是一个存储器写总线周期。
如果M/IO*为低电平,访问I/O端口,地址线高4位A19~A16始终输出低电平,低16位地址线A15~A0输出I/O地址;这就是I/O写总线周期。
ALE在T1状态输出一个有效的正脉冲,可利用它锁存复用总线上的地址,也标志着总线周期的开始。
存储器写和I/O写的总线周期并没有什么实质上的区别。

2. T2状态:输出控制信号,以明确进行何种操作。
写控制信号WR*低有效(读控制信号RD*高无效,图中没有画出)。
处理器输出数据D15~D0。

3. T3状态:处理器与存储单元或I/O端口就可以进行数据交换。
T3状态还有一个重要的工作:检测READY引脚,如果READY信号有效,则总线周期进入下一个T4状态。

4. T4状态:完成数据传送,为下一个总线周期做好准备。

### 8086 总线周期的组成 在计算机架构中,8086 微处理器的总线周期由多个状态构成,每个完整的读操作至少需要四个 T 状态 (T1, T2, T3 和 TW 或者 T4)[^1]。这些状态定义如下: - **T1**: 地址信号被放置到地址线上,并且控制信号变为有效。 - **T2**: 数据传输准备阶段,在此期间数据可以准备好用于传输。 - **T3**: 实际的数据传送发生在这一时刻;对于入操作,数据在此时放到数据总线上;对于读取操作,则是从数据总线上接收数据。 - **TW/T4**: 如果内存或 I/O 设备较慢无法及时响应,则会插入等待状态 TW 来延长访问时间直到设备准备好为止;如果不需要额外延迟则直接进入 T4 完成整个事务。 ```assembly ; Example assembly code showing a simple memory read operation on an 8086 processor. MOV AL, [BX] ; This instruction will initiate a bus cycle to fetch data from the address stored in BX register into AL register. ``` ### 工作原理 当执行指令涉及到外部存储器或外设交互时,CPU 将启动一次新的总线周期来完成必要的通信过程。具体来说就是通过改变特定引脚上的电压电平发出请求并提供目标位置的信息(即地址),随后根据所要进行的操作类型(读还是)以及对方是否已经准备好来进行相应的动作。 为了确保稳定性和兼容性,即使是最简单的单字节存取也需要经历上述提到的所有基本阶段[T1-T4/W],而更复杂的情况可能会涉及更多轮次或者附加条件下的处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值