关于异步在操作系统层面的支持

DMA1

  • DMA(直接内存访问)

拥有DMA功能的硬件在和内存进行数据交换的时候可以不消耗CPU资源。只要CPU在发起数据传输时发送一个指令,硬件就开始自己和内存交换数据,在传输完成之后硬件会触发一个中断来通知操作完成。这些无须消耗CPU时间的I/O操作正是异步操作的硬件基础。

来源: https://heapdump.cn/article/663987

IO设备与主存信息传送的控制方式:

轮询(💛)、中断(💚)、DMA(❤️)、RDMA(🖤) 数据线加粗,实细线为地址线,虚线为控制线
DMA2

中断的方式,数据,地址,控制信息都需要经过CPU,并在CPU寄存器暂存,都会浪费CPU资源。DMA的方式,IO设备可以通过DMA控制器直接和主存交流,只有传递控制信息的时候会经过CPU(产生一个中断告诉CPU数据传好了),而控制信息占用的时间是极小的,可以忽略不计,基本等价于IO设备和CPU实现真正的并行工作。

DMA3

posted @   rachel_aoao  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示