1 I/O 接口
1.1 什么是 I/O 接口
- I/O 接口是 CPU 与外设通过总线进行连接的逻辑部件
- I/O 设备不直接和 CPU 直接相连
1.2 为什么需要 I/O 接口
- 外设种类繁多:微机和 I/O 设备的信息类型和格式不一样,且不同外设也不一样
- 速度不匹配:必须通过 I/O 接口进行调节
- 单台主机多个I/O 设备:如果不通过接口,那么CPU就会频繁与外设打交道,大大降低 CPU 效率
- 强依赖:会使外设硬件结构依赖于 CPU,对外设的发展不利
2 I/O 端口
2.1 什么是 I/O 端口
- I/O 端口:CPU要和 I/O 设备数据传送,在接口中必须设置特定寄存器(一个或多个)供给 CPU 直接存取访问
- I/O 端口地址译码:分为两部分
- 高位:译码形成片选信号,用于选择接口
- 低位:端口号,用于选择一个接口里的端口
- 一个接口可以拥有多个端口
- 命令端口
- 数据端口
- 状态端口
- 访问端口本质是访问寄存器
2.2 I/O 端口编址方式
- 统一编址(存储器映像编址)
- 把每一个端口视为一个存储器单元
- 对 I/O 接口操作与对存储器的操作完全相同,但是指令较长,执行速度慢
- 外设数目只受总存储容量限制,占用存储器的一部分地址空间
- 读写控制简单
- 识别 I/O 端口,必须对全部地址线译码,增加复杂性,寻址时间长
- 独立编址
- I/O 端口单独编制,不和存储空间混在一起,不占用存储器地址空间
- I/O 端口必须采用专用 I/O 指令
- I/O 端口地址译码简单,寻址快
- 指令少,灵活性差
- 增加引脚