目录
I/O端口
I/O接口中的寄存器
独立编址
统一编址
编程灵活
大多数RISC架构都是用统一编址
- 通过操作数地址范围确定是否为I/O操作
非映射地址
非cache缓存地址
I/O数据传送控制方式
程序直接控制
CPU直接控制I/O
- 简单,成本低
- 效率低下,严重影响CPU
- 早期使用
程序中断
- 中断请求
- 中断响应
- 中断处理
- 适用于传输速度不大,传输量不大的场合
- 较大CPU干扰
DMA
- 专设硬件
- I/O和主存间的直接数据通路
- 成组传送
- 工作方式
- 独占总线
- CPU暂停占用总线
- DMA传完数据还给CPU
- 周期窃取
- CPU给DMA一个总线周期
- 交替分时访问
- 每个存储周期分为CPU时间片和DMA时间片
- 独占总线
- DMA地址问题
- DMA导致的cache与主存一致性问题
- DMA写了主存,cache留着新值
- cache用延迟写策略,DMA看了主存的旧值
- 解决方法
- I/O通过cache
- I/O可以更新cache
- 降低命中率
- I/O可以更新cache
- 软件层面控制
- I/O读时操作系统使部分cache无效
- I/O写时强制cache写回
- 硬件层面控制
- I/O通过cache
- 特点
- 与设备一对一服务
- 适中的CPU干扰
- 不能用于大量高速设备
I/O通道
- 类型
- 字节多路通道
- 通道时分复用
- 选择通道
- 选择一台设备独占通道
- 成组传送数据
- 高速
- 数组多路通道
- 字节多路通道
- 特点
- 与设备一对多服务
- 适中的CPU干扰
- 不能用于大量高速设备
输入输出处理机
I/O处理机IOP
与主机共享内存
外围处理机
- 是通用计算机
- 独立的I/O
- 与主机通过通道交互