前提
8088有两个组态:
最大组态和最小组态,通过引脚MN/MX*的电平决定组态。(*表示低电平有效)
两种组态没有本质区别。
8088的引脚:
引脚可分为下面几种类别:
1、数据和地址引脚
2、读写控制引脚
3、中断请求和响应引脚
4、总线请求和响应引脚
5、其它引脚
1.数据和地址引脚
AD7~AD0(Address/Data):T1时输出存储器或I/O端口的低8位地址A7~A0,其他时间传送8位数据D7~D0 。
性质:分时复用 // 双向 //三态
A15~A8(Address):提供全部20位地址中的中间8位地址A15~A8
性质:地址引脚 // 输出 //三态
A19/S6~A16/S3(Address/Status):T1时访问存储器的高4位地址A19~A16(或T1时访问I/O端口时全部置零),其他时间输出状态信号S6~S3。
性质:分时复用 // 输出 //三态
2. 读写控制引脚
ALE(Address Latch Enable):高电平时将AD7~AD0和A19/S6~A16/S3地址锁存
性质:地址锁存允许,输出、三态、高电平有效
IO/M*(Input and Output/Memory) :高电平CPU访问IO,A15~A0提供地址;低电平访问存储器,A19~A0提供地址
性质:I/O或存储器访问,输出、三态
WR*(Write) :有效时,表示CPU正在写出数据给存储器或I/O端口
性质:写控制,输出、三态、低电平有效
RD*(Read):有效时,表示CPU正在从存储器或I/O端口读入数据
性质:读控制,输出、三态、低电平有效
四种基本的总线周期
==READY ==:T3的前沿测试该引脚,高有效直接进入T4,低无效插入等待周期Tw。(无论CPU处在操作周期还是等待周期都进行此操作)
性质:存储器或I/O口就绪,输入、高电平有效
DEN*(Data Enable) :有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动
性质:数据允许,输出、三态、低电平有效
DT/R*(Data Transmit/Receive):高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)
性质:数据发送/接收,输出、三态
SS0*(System Status 0):状态输出信号
CPU八种工作状态
3. 中断请求和响应引脚
INTR(Interrupt Request) :有效时,表示请求设备向CPU申请可屏蔽中断;该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽
性质:可屏蔽中断请求,输入、高电平有效
INTA*(Interrupt Acknowledge) :有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期
性质:可屏蔽中断响应,输出、低电平有效
NMI(Non-Maskable Interrupt) :该请求的优先级别高于INTR,并且不能在CPU内被屏蔽;用于系统发生紧急情况时
性质:不可屏蔽中断请求,输入、上升沿有效
有效时,表示外界向CPU申请不可屏蔽中断
4. 总线请求和响应引脚
HOLD :有效时,表示总线请求设备向CPU申请占有总线
性质:总线保持(即总线请求),输入、高电平有效
HLDA(HOLD Acknowledge):有效时,表示CPU已响应总线请求并已将总线释放
此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线
5. 其它引脚
CLK(Clock)
性质:时钟输入
Vcc
性质:电源输入,向CPU提供+5V电源
GND
性质:接地,向CPU提供参考地电平
MN/MX*(Minimum/Maximum):接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态
性质:组态选择,输入
TEST* :不用管它,测试引脚用的
性质:测试,输入、低电平有效
引脚小结
四种基本总线周期详解
存储器写总线周期
存储器读总线周期
I/O写总线周期
I/O读总线周期
插入等待状态Tw
目的:同步时序通过插入等待状态,来使速度差别较大的两部分保持同步
1.在T3的前沿检测READY引脚是否有效
2. 如果READY无效,在T3和T4之间插入一个等效于T3的Tw ,转1
3. 如果READY有效,执行完该T状态,进入T4状态