1) I/O 独立编址
分配给系统中所有端口的地址空间是完全独立的,与内存的地址空间没有关系,主机使用专门的 I/O 指令对端口进行操作。
例子: 8086/8088 ,分配给 I/O 端口的地址空间 64K , 0000H~0FFFFH ,只能用 IN 和 OUT 指令对其进行读写操作
2) 存储映像编址
分配给系统中所有端口的地址空间与内存的地址空间统一编址。
主机把 I/O 端口看作一个存储单元,对 I/O 的读写操作等同于对存储器的操作,不需要专门的 I/O 指令。
三. CH 与 CH 程序
1. 通道: I/O 处理器,能与 CPU 并行操作。
2. CH 指令
读指令、写指令、控制指令。
3.CH 程序: CH 指令的逻辑集合,放于内存的特定区域,由设备驱动程序自动生
4 . CH 程序执行 :
1)
CH 执行: |
发完成中断请求 |
根据请求参数 设备驱动进程组织 CH 程序 |
I/O 请求 |
CH 程序把起始地址送 CAW |
设备驱动进程自行阻塞 |
CPU 转去执行其它进程 |
根据 CAW 从内存取一条 CH 指令 指令送 CCW; CAW 指向下条指令 执行 CCW 中指令 (I/O 操作 ) 是最后一条 CH 指令否 ? |
中断 |
对参数进行处理 |
Y |
N |
启动 CH |
注 : CAW---CH 地址字寄存器 ( 功能相当于 CPU 中的 PC)
CCW---CH 控制字 ( 功能相当于 CPU 中的 IR)
CSW---CH 状态字 ( 功能相当于 CPU 中的 PSW)
四. I/O 控制方式( P151 )
1) 程序 I/O 方式: CPU 忙等待方式(查询方式)。
2) 中断驱动方式: CPU 与外设并行操作,适用于慢速设备。
3) DMA 方式: CPU 与块设备并行操作。
4) I/O CH 方式: CPU 与 CH 并行操作,适用于各类设备。
五. 缓冲管理( P155 )
1. 冲技术的引入
凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 在操作系统中采用缓冲是为了实现数据的 I/O 操作,以缓解 CPU 与外部设备之间速度不匹配的矛盾、减少了 I/O 设备对处理器的中断请求次数、简化了中断机制、提高资源利用率。