基本输入输出接口分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一节 微型计算机接口概述
地址总线 AB
接口电路的基本功能是在CPU 与外部设备之间建立信息交换 通道;
微 处 理 器
CPU
存储器
I/O接 口
输出设备
输入设备
数据总线DB 控制总线 CB
• 对于一个计算机系统,通常包括多个外部设备,因而
有多个相配套的接口电路,CPU采用与存储器管理相
类似的方法管理接口;
DI7~DI0
BHE
≥1
Q7~Q0
OE CLK
0FFH
8位或16位输出电路原理图
第11页/共92页
第二节 8086/8088 CPU与外设间数据交 换方式
无条件传送 查询传送 中断控制方式 存储器直接存取控制方式
第12页/共92页
第二节 8086/8088 CPU与外设间数据交 换方式 一、程序控制方式 程序控制方式是指CPU与外设间的数据交换在程 序控制下进行 无条件传送方式 条件传送方式
查询输入方式的基本程序
设外设状态信息接到系统数据总线的D7位。
POLL: IN AL,STATUS_PORT ;读状态端口
TEST AL,80H 1
;检查READY是否是
JE 查
POLL
;未准备好,循环再
IN AL,DATA_PORT ;从数据端口输入 数据
第18页/共92页
(2)查询式输出
输 出
IO • 长格式I / O 指令可只译码A 7~A 0,短格式 I / O 指令必须译码A 15~A 0地址线;
• 如同存储器一样,8086CPU的I/O系统包含两个8位I/O体,如下图所示。8088CPU 只有一个I/O体,执行16位I/O指令时,需要两次总线操作,分别读/写高/低字节;
第8页/共92页
第1页/共92页
一、输入输出接口功能描述
(1)数据缓冲功能;(CPU与外设工作速度匹配)
(2)接受和执行CPU命令的功能;
(3)信号转换功能;(用一组逻辑电平编码信息)
(4)设备选择功能;
(5)中断管理功能;(提高系统效率与事件响应速度) (6)数据格式变换功能;(串并转换) (7)可编程功能。(增加硬件电路灵活性)
第16页/共92页
(1)查询式输入
数据端口译码信号
输 数据 锁存器
入
DQ
设 备
×8 选通信
×8
号STB
+5V
CLR D
Q
≥1 RD
CPU数据总线
状态信息READY
≥1
状态端口译码信号
RD
查询方式输入原理wenku.baidu.com
当外设有数据要传送到CPU时,应将数据送上外设 数据总线并发出选通信号(STB)
第17页/共92页
第3页/共92页
2、I/O指令的执行过程
• IN指令执行时序; • OUT指令执行时序。
第4页/共92页
CLK
M/IO ALE
AD15~AD0
RD
由DX或指令给出的 端口地址
总线周期
T1
T2
T3,Tw
T4
地址输出 浮空
数据输入
数据由接口电路准备好 并送上系统数据总线
IN指令执行时序示意图
第5页/共92页
数据 锁存器 QD
设
×8
备 BUF
+
Q D 5V
ACK
• 输入端口只需缓冲,而输出端口一般都需要 第14页/共92页
数据输出 至外设
CPU数据总线
Q7~Q0 D7~D0
OE CLK
三态缓冲 器 来自外设数据
D7-D0
G
地址
输入
端口
≥1 端口译码信号
≥1
译码器
M/IO
WR
RD
无条件传送方式的输入输出原理
第15页/共92页
2. 条件传送方式(查询方式)
容送74LS74#2。 需要注意的是,执行OUT 0FFH,AL指令时,AL内容是 由CPU数据总线的D15~D8送出。
第10页/共92页
M/IO WR A7 A6 A5 A4 A3 A2 A1
D7~D0
74LS374#1
≥1
DI7~DI0
A0
≥1
Q7~Q0
OE
CLK
0FEH
&
D15~D8
74LS374#2
(1)独立编址输入输出 • I/O空间与存储器空间分开编址;
• 设置专用的输入输出指令IO;
• 设置专用的控制信号M/ (2)存储器映像输入输出 • I/O操作与存储器操作指令相同; • I/O接口占用存储空间;
第7页/共92页
三、输入输出端口地址译码
• I/O端口地址译码与存储器地址译码非常相似; • 考虑M/ =0为I/O操作;
CPU采样数据总 线
CLK
M/IO ALE
AD15~AD0
WR
总线周期
T1
T2
T3,Tw
T4
地址输出
数据输出
由DX或指令给出的 端口地址
AL或AX中数据输 出到系统数据总线
此时接口电路应 捕获数据总线上 数据
OUT指令执行时序示意图
第6页/共92页
2、I/O接口编址方式
端口:外设接口中可被主机直接访问的寄存器。 端口编址:便于访存,为端口编译地址。
BHE=0 FFFF FFFD FFFB
A0=0
FFFE FFFC FFFA
0003 0001
0002 0000
对应D15~D8
对应D7~D0
8086中的I/O体
第9页/共92页
• 8086CPU中8位与16位I/O端口的译码。 例: 设两个输出端口地址为0FEH~0FFH,设计 其输出电路。
执行:OUT 0FEH,AL 时,AL内容送74LS374#1 执行:OUT 0FFH,AL 时,AL内容送74LS374#2 执行:OUT 0FEH,AX 时,AL内容送74LS74#1,AH内
第2页/共92页
二、I/O指令及其执行过程
1、I/O指令
IN AL,PORT IN AX,PORT IN AL,DX IN AX,DX
OUT PORT , AL OUT PORT , AX OUT DX , AL OUT DX , AX
其中PORT为直接端口地址; 8086CPU能寻址216个I/O端口。
• 条件传送即程序查询方式,是指CPU在传送数据前,首先 通过查询确认外设准备好了才传送数据,否则,CPU等待。 从而较好地解决了CPU与外设传送数据时不同步的问题。
查询的一般步骤:
①从I/O端口读入设备状态信息并确定外设是否准备好交 换数据;
②若外设没有准备好,则重复执行第①直到设备准备好为 止;
第13页/共92页
1. 无条件传送方式
• 无条件输入 不管外设状态外,设C已PU经执准行备IN好指,令直接从端口 输入即为无条外作件部时输控间入制固。过定程的动
• 无条件输出 不管外设状态,CPU执行OUT指令直接将数据 输出到端口即为无条件输出。
• 无条件输入输出要求外设在任何时候都能与 CPU交换信息;
地址总线 AB
接口电路的基本功能是在CPU 与外部设备之间建立信息交换 通道;
微 处 理 器
CPU
存储器
I/O接 口
输出设备
输入设备
数据总线DB 控制总线 CB
• 对于一个计算机系统,通常包括多个外部设备,因而
有多个相配套的接口电路,CPU采用与存储器管理相
类似的方法管理接口;
DI7~DI0
BHE
≥1
Q7~Q0
OE CLK
0FFH
8位或16位输出电路原理图
第11页/共92页
第二节 8086/8088 CPU与外设间数据交 换方式
无条件传送 查询传送 中断控制方式 存储器直接存取控制方式
第12页/共92页
第二节 8086/8088 CPU与外设间数据交 换方式 一、程序控制方式 程序控制方式是指CPU与外设间的数据交换在程 序控制下进行 无条件传送方式 条件传送方式
查询输入方式的基本程序
设外设状态信息接到系统数据总线的D7位。
POLL: IN AL,STATUS_PORT ;读状态端口
TEST AL,80H 1
;检查READY是否是
JE 查
POLL
;未准备好,循环再
IN AL,DATA_PORT ;从数据端口输入 数据
第18页/共92页
(2)查询式输出
输 出
IO • 长格式I / O 指令可只译码A 7~A 0,短格式 I / O 指令必须译码A 15~A 0地址线;
• 如同存储器一样,8086CPU的I/O系统包含两个8位I/O体,如下图所示。8088CPU 只有一个I/O体,执行16位I/O指令时,需要两次总线操作,分别读/写高/低字节;
第8页/共92页
第1页/共92页
一、输入输出接口功能描述
(1)数据缓冲功能;(CPU与外设工作速度匹配)
(2)接受和执行CPU命令的功能;
(3)信号转换功能;(用一组逻辑电平编码信息)
(4)设备选择功能;
(5)中断管理功能;(提高系统效率与事件响应速度) (6)数据格式变换功能;(串并转换) (7)可编程功能。(增加硬件电路灵活性)
第16页/共92页
(1)查询式输入
数据端口译码信号
输 数据 锁存器
入
DQ
设 备
×8 选通信
×8
号STB
+5V
CLR D
Q
≥1 RD
CPU数据总线
状态信息READY
≥1
状态端口译码信号
RD
查询方式输入原理wenku.baidu.com
当外设有数据要传送到CPU时,应将数据送上外设 数据总线并发出选通信号(STB)
第17页/共92页
第3页/共92页
2、I/O指令的执行过程
• IN指令执行时序; • OUT指令执行时序。
第4页/共92页
CLK
M/IO ALE
AD15~AD0
RD
由DX或指令给出的 端口地址
总线周期
T1
T2
T3,Tw
T4
地址输出 浮空
数据输入
数据由接口电路准备好 并送上系统数据总线
IN指令执行时序示意图
第5页/共92页
数据 锁存器 QD
设
×8
备 BUF
+
Q D 5V
ACK
• 输入端口只需缓冲,而输出端口一般都需要 第14页/共92页
数据输出 至外设
CPU数据总线
Q7~Q0 D7~D0
OE CLK
三态缓冲 器 来自外设数据
D7-D0
G
地址
输入
端口
≥1 端口译码信号
≥1
译码器
M/IO
WR
RD
无条件传送方式的输入输出原理
第15页/共92页
2. 条件传送方式(查询方式)
容送74LS74#2。 需要注意的是,执行OUT 0FFH,AL指令时,AL内容是 由CPU数据总线的D15~D8送出。
第10页/共92页
M/IO WR A7 A6 A5 A4 A3 A2 A1
D7~D0
74LS374#1
≥1
DI7~DI0
A0
≥1
Q7~Q0
OE
CLK
0FEH
&
D15~D8
74LS374#2
(1)独立编址输入输出 • I/O空间与存储器空间分开编址;
• 设置专用的输入输出指令IO;
• 设置专用的控制信号M/ (2)存储器映像输入输出 • I/O操作与存储器操作指令相同; • I/O接口占用存储空间;
第7页/共92页
三、输入输出端口地址译码
• I/O端口地址译码与存储器地址译码非常相似; • 考虑M/ =0为I/O操作;
CPU采样数据总 线
CLK
M/IO ALE
AD15~AD0
WR
总线周期
T1
T2
T3,Tw
T4
地址输出
数据输出
由DX或指令给出的 端口地址
AL或AX中数据输 出到系统数据总线
此时接口电路应 捕获数据总线上 数据
OUT指令执行时序示意图
第6页/共92页
2、I/O接口编址方式
端口:外设接口中可被主机直接访问的寄存器。 端口编址:便于访存,为端口编译地址。
BHE=0 FFFF FFFD FFFB
A0=0
FFFE FFFC FFFA
0003 0001
0002 0000
对应D15~D8
对应D7~D0
8086中的I/O体
第9页/共92页
• 8086CPU中8位与16位I/O端口的译码。 例: 设两个输出端口地址为0FEH~0FFH,设计 其输出电路。
执行:OUT 0FEH,AL 时,AL内容送74LS374#1 执行:OUT 0FFH,AL 时,AL内容送74LS374#2 执行:OUT 0FEH,AX 时,AL内容送74LS74#1,AH内
第2页/共92页
二、I/O指令及其执行过程
1、I/O指令
IN AL,PORT IN AX,PORT IN AL,DX IN AX,DX
OUT PORT , AL OUT PORT , AX OUT DX , AL OUT DX , AX
其中PORT为直接端口地址; 8086CPU能寻址216个I/O端口。
• 条件传送即程序查询方式,是指CPU在传送数据前,首先 通过查询确认外设准备好了才传送数据,否则,CPU等待。 从而较好地解决了CPU与外设传送数据时不同步的问题。
查询的一般步骤:
①从I/O端口读入设备状态信息并确定外设是否准备好交 换数据;
②若外设没有准备好,则重复执行第①直到设备准备好为 止;
第13页/共92页
1. 无条件传送方式
• 无条件输入 不管外设状态外,设C已PU经执准行备IN好指,令直接从端口 输入即为无条外作件部时输控间入制固。过定程的动
• 无条件输出 不管外设状态,CPU执行OUT指令直接将数据 输出到端口即为无条件输出。
• 无条件输入输出要求外设在任何时候都能与 CPU交换信息;