操作系统-CPU与外设交互方式

操作系统-CPU与外设交互方式

文章目录

  • 操作系统-CPU与外设交互方式
    • 1. 查询方式
    • 2. 无条件传输方式
    • 3. 中断方式
    • 4. 通道方式
    • 5. DMA方式

1. 查询方式

​ 查询方式是一种异步交互方式
​ 外设的接口处有Ready标志位,CPU想要和外设之间进行数据交互,就要先查询接口的标志位
询问外设是否准备就绪,如果没有准备就绪,CPU一会儿再来访问;
​ 如果外设准备就绪,进行数据传输。
​ 特点:由程序发起IO请求,并且等待完成;交互必须通过CPU的参与。

2. 无条件传输方式

​ 无条件传输方式是一种同步交互方式
​ 这种操作方式需要外设与CPU进行过完美的同步,
​ 保证每次CPU来读的时候,外设的数据都已经准备好了。
​ 每次CPU来写的时候,外设准备好了被写入数据。
​ 主要用于:外设的时钟周期已知且稳定的场景。

3. 中断方式

​ 当外设准备好发送数据或者接收数据的时候,向操作系统发出中断申请
​ CPU放下手中的工作,保存上下文,进行中断响应
​ 中断响应结束以后,恢复上下文进行原来的工作。
​ 特点:
​ 在外设进行准备的过程中,CPU可以先不管外设,和外设并发的工作。
​ 缺点:
​ 如果IO交互太频繁,中断次数太频繁,CPU需要多次中断,耗费CPU资源

4. 通道方式

​ 通道是一种用来控制内存和外设交互的专门部件
​ 通道有自己独立的指令系统,可以脱离CPU独立运行,也可以受控于CPU。
​ 常用在大型计算机中。
​ 特点:
​ IO能力强,以内存为中心,直接与外设进行数据交换,传输过程几乎不需要CPU参与

5. DMA方式

当前微机使用广泛的一种方式
​ DMA 全称 Direct Memory Access, 直接内存访问
​ DMAC :C表示Controller,直接内存访问控制器
​ 核心原理:
​ CPU把总线控制权交给DMAC,进入DMA方式,完成数据传输之后,DMAC交还总线控制权。
特点:开始和结束的时候,向CPU交换总线控制权数据传输过程不需要CPU介入
​ 基本传输过程:

1. 外设有DMA需求并且准备就绪,就向DMAC发出请求信号
2. DMAC收到外设的请求信号之后,向CPU发出总线请求信号
3. CPU接到总线请求信号之后,如果允许DMA传输,则会在当前总线周期结束之后,发出DMA响应信号,让出总线控制权
4. DMAC获得对总线的控制权,向外设发出应答信号,通知外设可以进行传输
5. 进行数据传输
6. 传输完成之后,DMAC向CPU发出撤销总线控制权请求,CPU收到信号之后,收回总线控制权

你可能感兴趣的:(操作系统,操作系统)