第七章 I/O接口和总线
§ 7.1 I/O接口
? 输入 /输出 (I/O)接口是 CPU与外设之间传
送信息的一个界面 (或连接部件 )
? I/O接口通过三总线与 CPU相连
I/O接口 —— 作用
? I/O接口的作用
? CPU与外界的联络
? 解决连接的不匹配、不协调
? 速度 —— 数据缓冲
? 信号电平 —— 信号电平转换电路
? 信号格式 —— 信息转换逻辑
? 时序 —— 时序控制电路
? 多端口、多连接 —— 地址译码
I/O接口 —— 方式
? I/O接口与外设交互三种信息
? 数据信息
? 控制信息
? 状态信息
? 均通过 DB
? CPU同外设之间的信息传递,实质上是
对端口进行读 /写操作
I/O接口 —— 形式
? 简单 I/O接口电路
? 由简单组合电路构成的 I/O接口电路
? 按需求构成,不可改变
? 可编程 I/O接口 (芯片 )电路
? 使用专用接口芯片
? 具有内部寄存器 (方式、状态、数据 )
? 由程序设置 (改变 )其工作方式
I/O接口 —— 简单电路
I/O接口 —— 简单电路
I/O接口 —— 可编程接口电路
I/O端口 —— 编址方式
? I/O独立编址
? M/IO = L
? 64K独立编址的 I/O地址空间
? 专用 IN/OUT 指令
? 存储器映像编址
? M/IO = H
? I/O端口与存储器统一编址
? 使用存储器操作指令
I/O端口 —— 编址方式
00000H
FFFFFH
0000H
FFFFH
00000H
FFFFFH
I/O
I/O
I/O接口的译码
? 端口选择信号
? I/O地址总线
? M/IO
? 全译码
? 部分译码
? 线选法
? 74LS138
CPU与外设的信息传递方式
? 程序控制方式
? 无条件传送方式
? 条件传送方式
? 中断方式
? DMA方式
? 需 DMA控制器的介入
程序控制方式 —— 无条件传送
? 外设总是准备好
? 输入 —— 数据已经准备好
? 输出 —— 已准备好接收
? 只有数据,没有状态
? 同步方式
? 不需要过多的程序处理,在需要与外设
交换信息时,随时访问 I/O端口
程序控制方式 —— 无条件传送
程序控制方式 —— 无条件传送
程序控制方式 —— 条件传送
? 查询传送方式
? 查询外设的状态信息
? 输入 —— 数据已准备好
? 输出 —— 接收装置已准备好
? 状态端口、数据端口
程序控制方式 —— 条件传送
? 输入
程序控制方式 —— 条件传送
程序控制方式 —— 条件传送
? 输出
程序控制方式 —— 条件传送
程序控制方式 —— 中断方式
? 需要访问外设时,允许相应的中断,当
期望的状态到达时,产生中断请求
? 充分利用 CPU的资源,提高效率
? 常用于高速 CPU与低速外设之间的数据
交换
程序控制方式 —— DMA方式
? 直接存储器方式
? 不必通过 CPU的中转( IN/OUT指令均通
过 AL/AX),而直接在 I/O接口与存储器
之间进行传递( 抢占总线 )
? 需要 DMA控制器的介入
? 适用于大量数据的交换
程序控制方式 —— DMA方式
程序控制方式 —— I/O处理机方式
? DMA可以撇开 CPU实现直接的数据传送,
但无法单独实现数据的处理
? 建立独立的处理机制,单独处理 I/O数据
? 例:智能串行接口卡
§ 7.2 总线
? 总线 —— 在微型计算机系统中,用于各
部件间传送信息的公共通路
? 分类
? 片级总线
? 地址、数据、控制
? 系统总线
? 板卡间的总线
? 外部总线
? 机器间的总线
总线 —— PC总线
? 62Pin,8数据,20地址
总线 —— ISA总线
? 62+36Pin,16数据,24地址
? 兼容 PC总线
总线 —— EISA总线
? 198Pin,32数据,32地址
? 兼容 PC,ISA总线
? 两层结构插件
总线 —— EISA总线
总线 —— PCI总线
? PCI—— 外围部件互联总线,局部总线
? PnP特性
总线 —— AGP总线
? AGP—— 加速图形端口
总线 —— USB总线
? USB—— 通用串行总线
? 全速 12Mb/s(<=5米 ),慢速 1.5Mb/s(<=3米 )
总线 —— USB总线