当I / O和内存之间的通信量很大时,应使用什么?

问题描述 投票:0回答:1

我上周考试了。他们问了一个问题:“当I / O和内存之间的通信量很大时,应该使用什么?”缓冲区或直接内存访问。

buffer dma
1个回答
0
投票

当数据速率随时间变化或/和计算系统为多任务处理时,缓冲有效。在这种情况下,您可以在密集传输期间将数据累积在缓冲区中,并在以后进行处理,前提是AVERAGE传输速率仍然大大低于处理速度(CPU利用率较低)。当处理速度大约等于传输速率(CPU利用率很高)时,缓冲效率不高甚至有害(因为这会花费一些处理器时间)。在这种情况下,增加吞吐量的唯一方法是直接将数据绕过CPU(使用DMA)直接加载到内存中。因此,在您的情况下,DMA使用是正确的答案。

© www.soinside.com 2019 - 2024. All rights reserved.