image.png

I/O模块

image.png

外围设备的接口

转换器:外设的数据格式和计算机内部的数据格式可能不一致
image.png

功能

image.png


image.png


image.png


image.png

结构

image.png

  • CPU对外设的命令是走数据线的,是具体的操作
  • 状态和控制不是同一时间发生,只有确认了状态后,才能确认控制。状态是从右往左返回,控制是从左往右返回
  • 数据寄存器实际上是输入寄存器和输出寄存器的合并

外部接口

事实上,并行接口,每一根线的延迟可能是不一样的,当线的长度非常长时,每一位传输时就会导致错位,数据传输出错。
所以,需要按照一定频率传输
image.png

串行总线

  • 批量传输比同步传输多了“握手”,是为了实现异步
  • 同步传输:传送音视频时,需要同步。音视频对实时性的要求较高;允许一定的误码率

image.png

I/O操作技术

image.png

编程式I/O

缺点:比较低效?
image.png

I/O命令

image.png


image.png

  • CPU需要做什么 - 指令
  • I/O需要做什么 - 命令

中断驱动式I/O

image.png

模块理解

  • I/O模块等处理器,而不是处理器等I/O了

image.png


image.png

中断允许和中断禁止

  1. 中断处理之前,要保存现场
  2. 保存现场时,不能被中断。所以中断响应后,要进入中断禁止,保护现场
  3. 恢复现场时,也不能被中断

image.png

例题

image.png

  1. 主程序的响应优先级和处理优先级的最低
  2. 先执行和处理完L1(L3 L4的处理优先级比L1低),回到主程序
  3. 先响应3,但是先处理完L4
  4. 恢复L3,发生了L2中断,但是L2的处理优先级低于L3,所以先处理L3

处理优先级决定哪些中断可以被响应,响应优先级决定哪些中断最先被响应
行屏蔽是从处理优先级的角度出发的

设备识别

image.png

直接存储器存取 DMA

image.png


image.png

  • DMA和CPU访问同一块内存时,可能会导致冲突

DMA内存访问:CPU停止法

image.png

DMA内存访问:周期窃取

image.png
断断续续:存储周期处于空闲状态。一次IO请求可能会有多次DMA访存

DMA内存访问:交替分时访问

image.png

DMA配置机制:单总线分离DMA

单总线集合的DMA

image.png


image.png

image.png
CPU还在操控,但是不等待

I/O模块的演变

image.png

I/O处理器不仅有处理器,同时也有了局部存储器


image.png