输入/输出管理
约 633 字大约 2 分钟
2025-05-16
I/O设备
I/O控制方式
I/O控制:控制设备和主机之间的数据传送。
因为CPU是宝贵的资源,我们不应该将其用于繁杂的I/O控制事务,所以,整个I/O控制方式的发展都是以尽量减少CPU对I/O控制的干预为中心的。
1、程序直接控制方式
2、中断驱动方式
3、DMA方式
虽然中断方式可以使得CPU和设备并行运行,但是可以运行的时间太短了,只有一个字节的长度,故DMA就是为解决这个痛点而出现的。
基本思想:在I/O设备和内存之间开辟直接的数据交换通路,彻底解放CPU。
采用DMA方式的话,其:
- 基本的传送单位就由字节转变为数据块,并行运行的时间更长了
- 传输的数据不用再通过CPU了,直接从设备到内存或相反,减少了不必要的时间
- 仅在传送一个或多个数据块的开始和结束时,CPU才会干预
这些特点都是采用DMA后的优点,可以看出DMA有点像一个“秘书”,可以帮助CPU处理一定的操作。
当然,DMA为了实现上面的功能,还需要额外的寄存器。
分别有:
- CR(命令/状态寄存器):暂存从CPU发来的I/O命令或设备状态信息
- MAR(内存地址寄存器):
- DR(数据寄存器):
- DC(数据计数器):用于存放本次要传输的字节数
4、通道控制方式
I/O通道是一种特殊的处理机,换句话说就是一个微型CPU。其可以执行一系列通道指令。
在设置通道后,CPU只需要向通到发送一条I/O指令,指明通道程序在内存中的位置和要访问的I/O设备则可。在完成I/O任务后,向CPU发送中断请求,通道方式可以实现CPU、通道和I/O设备三者并行工作,从而提高了整个系统的资源利用率。
I/O软件层次结构
从高到底的结构为:
- 用户层软件
- 设备独立性软件
- 设备驱动程序
- 中断处理程序
在往下就是硬件了,每层都利用下层提供的服务,又为上次提供服务接口。
应用程序I/O接口
更新日志
2025/6/21 13:46
查看所有更新日志
版权所有
版权归属:代码・生 活・THINKING