一、8086引脚
1.1 8086引脚分类
- 数据和地址引脚
- 读写和控制引脚
- 中断请求和响应引脚
- 总线请求和响应引脚
- 其他引脚
1.2 如何学习引脚
-
功能
-
信号流向
-
输入/输出/双向
-
有效点平
引脚起作用的逻辑电平 (高电平/低电平/上升沿/下降沿)
-
三态能力
三态:高电平、低点平、高阻态(高电阻导致断路)
1.3 DMA(Direct Memory Access,直接存储器访问)
直接内存访问,不通过CPU
DMA传输过程:DMA请求、DMA响应、DMA传输、DMA结束4个步骤
-
DMA请求:CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
-
DMA响应:DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。
当CPU执行完当前总线周期即可释放总线控制权。
此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。 -
DMA传输:DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。 -
DMA结束:当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。
当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。
最后,带着本次操作结果及状态继续执行原来的程序。
二、数据和地址引脚
2.1 AD15~AD0(地址/数据分时复用引脚,双向,三态)
-
T1 状态:传输要访问的存储器或I/O端口的地址。
-
T2-T3 状态:对读总线周期或者写总线周期而言,则是传输数据。
-
高阻态:DMA 方式,CPU响应中断以及系统总线保持响应(即 CPU 让出总线控制权,总线不再让 CPU 占用控制)
2.2 A19/S6~A16/S3(地址/状态分时复用引脚,输出,三态)
-
T1状态:A19~A16 用来传输要访问的存储器的最高4位地址信息,(由于8086CPU对I/0端口的寻址仅用低16位地址线,故A19 ~ A16作为地址总线使用时只能对存储器寻址)
-
其他状态:为输出状态,信号S6~S3,信息的作用为:
-
S6:表示CPU与总线连接的情况,S6始终为低电平,为0,表示CPU占用总线。
-
S5:当前中断允许标志IF的状态。
-
S4,S3:组合指明当前正在使用的段寄存器。
S4 S3 断寄存器 0 0 ES 0 1 SS 1 0 CS 1 1 DS -
-
高阻态:于“总线保持响应”状态,即CPU让出总线控制权时
2.3 ALE(地址锁存允许信号,输出,高电平有效)
ALE:控制信号 ----> 地址锁存器8282
-
T1状态高电平有效:表示当前在地址/数据复用总线上输出的是地址信息,即 AD15 ~ AD0 和 A19/S6 ~ A16/S3 正在传送地址信息
在其下降沿将地址信息锁存于地址锁存器。 -
高稳态:ALE 不能浮空
ALE 的作用
AD15 ~ AD0 和 A19/S6 ~ A16/S3 分时复用引脚,只在 T1 状态内传输地址信息,其他状态执行其他操作,需保存地址信息到地址锁存器。
三、读写控制信号
存储器或I/O端口选择控制信号M/IO、写信号WR、读信号RD组合起来可以决定系统中数据传输的方向,控制4种基本的总线周期。
总线周期 | IO/M | WR | RD |
---|---|---|---|
存储器读 | 高 | 高 | 低 |
存储器写 | 高 | 低 | 高 |
I/O读 | 低 | 高 | 低 |
I/O写 | 低 | 低 | 高 |
3.1 M/IO(存储器或I/O端口选择控制信号,输出,三态)、
M/IO指明当前CPU是选择访问存储器还是访问I/O端口。
- 高电平:表示CPU将访问存储器,这时地址总线A19 ~ A0提供20位存储器地址。
- 低电平:表示CPU将访问I/O端口,这时地址总线A15 ~ A0提供16位I/O口地址。
- 高阻态:DMA(直接存储器访问)
3.2 WR(写信号,输出、三态)
- 低电平有效,T2、T3、TW期间有效时:表示CPU正在写出数据给存储器或I/O端口
- 高阻态:DMA浮空
3.3 RD(读信号,输出、三态)
- 低电平有效,T2、T3、TW期间有效时,表示CPU正在从存储器或I/O端口读入数据
- 高阻态:DMA浮空