DMA
文章平均质量分 59
介绍DMA的工作流程
白杨谷
努力向底层钻研的小学渣
展开
-
零拷贝技术
在前面的文章中,介绍了DMA是如何工作,减轻CPU负担,提高系统性能的。除此之外还可以进一步优化系统性能,在这里介绍零拷贝技术。直接给出定义:不需要用户空间作为数据中转的技术先来看看client和server之间发送文件的过程:DMA把数据从外设读取到内存中(内核空间),从内存写到网卡。但是还要把数据从内核空间拷贝到用户空间,如果应用程序不修改文件内容,直接发送,那么这两次拷贝是有待优化的,零拷贝技术就是解决的这个问题。将page cache 地址与长度 传给 socket描述符,.原创 2021-07-30 15:25:15 · 135 阅读 · 0 评论 -
Direct Memory Access
DMACPU的处理速度远快于内存,硬盘的读写速度。同时由CPU搬运数据也是很低效的,无论是程序控制方式还是中断控制方式,数据的传输都必须经过CPU,例如将一个字节的数据从地址A搬运到地址B,则要将数据存在寄存器中,然后在将其写到地址B。为了不让CPU的资源浪费在等待读写完成中,引入了DMA。它不仅能够提高数据吞吐量而且减轻了CPU的负载,提高了系统的性能。在传输过程中不需要CPU介入,但是在DMA开始和结束时需要CPU进行相关设置(源地址、目的地址、传输长度)和校验。这样就实现了CPU与DMA的原创 2021-07-30 15:05:40 · 758 阅读 · 0 评论