7.2 IO接口

I/O接口的结构/作用

image-20260314124352664

  • 数据缓冲:通过数据缓冲寄存器(DBR)达到主机与外设工作速度的匹配
  • 错误或状态检测:通过状态寄存器反馈设备的各种错误,状态信息,供CPU查用
  • 控制和定时:IO控制逻辑接受从 控制总线 发来的控制信号,时钟信号。
  • 数据格式转换:串-并,并-串等格式转换
  • 地址信号映射:地址译码逻辑负责,将地址信号映射到指定的IO端口
  • ==与主机和设备通信==:
    • CPU和主存 – 通过==IO总线==(数据控制地址线) – 和IO接口连接
    • IO接口通过 – ==通信总线(电缆)== – 和外设连接
    • IO==接口==连接了主存和外设。
image-20260314124952228

I/O接口的工作流程

工作流程

  • 发命令:CPU发命令字到IO控制寄存器,向设备发送命令==(需要驱动程序的协助)==
  • 读状态:从状态存储器读取状态字,获得设备或IO控制器的状态信息
  • 读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换。

image-20260314140037043

接口和端口

  • ==I/O接口 == 端口(数据缓冲寄存器,状态/控制寄存器) + 控制逻辑(地址译码,I/O控制,外设界面)==

  • ==I/O端口是==指接口电路中可以被CPU直接访问的寄存器

  • 接口内部有多个端口(多个寄存器),需给这些==端口编址==(便于计算机访问)

image-20260314140731333

统一编址

  • 靠不同==地址码区分==内存和IO设备。
  • 访存类指令也可以访问IO端口。
  • (又称为存储器映射方式)
  • 主存单元和IO端口的存储保护措施是相同的。
  • 优点:端口编址空间大。
  • 缺点:寻址时间长。

独立编址

  • 靠不同的==指令区分==内存和IO设备。

  • 只能用==专门的IO指令(IN,OUT)==访问IO端口。(程序编址清晰,可读)

    • IO指令是指令系统的一部分,是机器指令的一类。只是格式和别的不同。
  • 缺点:①IO指令类型少。②需要CPU提供两组控制信号,复杂。(存储器读写,IO设备读写)

    image-20260314134554134

IO接口的分类

根据数据传送方式:

  • 并行接口
  • 串行接口

根据主机访问IO设备的控制方式:

  • 程序查询接口
  • 中断接口
  • DMA接口

根据接口能否编程:

  • 可编程接口
  • 不可编程接口

总结