5.1 概述
5.2 外部设备
5.3 I/O接口
5.4 程序查询方式
5.5 程序中断方式
5.6 DMA方式
外部设备发展:
早期 外部设备数量少,CPU与I/O设备串联工作
数量多后 不适应,改为CPU与I/O设备并联工作(中断、DMA 方式)
过些年 发展出 具有通道结构的阶段 ,通道 相当于微型处理器
最终形成I/O处理阶段
5. I/O设备与主机的连接方式
- 辐射式连接 == 分散式连接, 每增加一个外部设备就要增加一套控制线路与一组信号线。
- 总线连接 便于删除设备
不管是程序查询、还是中断方式都需要,内存<——>CPU<——>外部设备,都需要CPU参与,不可避免。
现代计算机 外部设备不是直接与CPU总线相连接,通过I/O接口来控制管理外部设备。
- 选择那一路设备通向总线
- 将cpu中的命令转换给 I/O接口
- 数据过来后缓存在此处
- 获取 I/O状态信息
- 需要控制逻辑来协调这些工作
.
重点介绍: 程序查询方式
设备1 的优先级最高 依次往下查询别的,
CPU 通过地址线传送过来的地址码 与设备选择电路中的地址相比较==
启动外部设备工作;
此时将 D 置为0表示数据未准备好,B置为1 表示I/O设备工作,
I/O设备输入数据 进入DBR中,并告诉接口数据准备完成,
此时接口将 B置为0表示数据准备结束,D置为1 表示cpu可以通过接口访问数据;
CPU 通过数据线从DBR中读取数据.
.
重点介绍: 程序中断方式
I/O 接口首先通过中断请求线向 CPU 申请中断请求,
CPU 再向I/O 接口查询是否有中断请求,以及是否可以执行!
,可以执行时,保存现场,执行中断程序
,执行结束后继续执行 k+1条指令。
当mask=1 设备MDR准备好数据时,中断控制器置为1 触发 INTR=1,中断请求。
…
…