Bootstrap

I/O 接口与端口

1 I/O 接口

在这里插入图片描述

1.1 什么是 I/O 接口

  1. I/O 接口是 CPU 与外设通过总线进行连接的逻辑部件
  2. I/O 设备不直接和 CPU 直接相连

1.2 为什么需要 I/O 接口

  1. 外设种类繁多:微机和 I/O 设备的信息类型和格式不一样,且不同外设也不一样
  2. 速度不匹配:必须通过 I/O 接口进行调节
  3. 单台主机多个I/O 设备:如果不通过接口,那么CPU就会频繁与外设打交道,大大降低 CPU 效率
  4. 强依赖:会使外设硬件结构依赖于 CPU,对外设的发展不利

2 I/O 端口

!

2.1 什么是 I/O 端口

  1. I/O 端口:CPU要和 I/O 设备数据传送,在接口中必须设置特定寄存器(一个或多个)供给 CPU 直接存取访问
  2. I/O 端口地址译码:分为两部分
    1. 高位:译码形成片选信号,用于选择接口
    2. 低位:端口号,用于选择一个接口里的端口
  3. 一个接口可以拥有多个端口
    1. 命令端口
    2. 数据端口
    3. 状态端口
  4. 访问端口本质是访问寄存器

2.2 I/O 端口编址方式

  1. 统一编址(存储器映像编址)
    1. 把每一个端口视为一个存储器单元
    2. 对 I/O 接口操作与对存储器的操作完全相同,但是指令较长,执行速度慢
    3. 外设数目只受总存储容量限制,占用存储器的一部分地址空间
    4. 读写控制简单
    5. 识别 I/O 端口,必须对全部地址线译码,增加复杂性,寻址时间长
  2. 独立编址
    1. I/O 端口单独编制,不和存储空间混在一起,不占用存储器地址空间
    2. I/O 端口必须采用专用 I/O 指令
    3. I/O 端口地址译码简单,寻址快
    4. 指令少,灵活性差
    5. 增加引脚
;