一个DMA接口可采用周期窃取方式把字符传送到存储器,它支持的最大批量为600个字节。若存取周期为100ns,每处理一次中断需10µs,现有的字符设备的传输率为9 600bps。假设字符之间的传输是无间隙的,若忽略预处理所用的时间,试问采用DMA方式每秒因数据传输需占用处理器多少时间?若采用中断方式,又需占用处理器多少时间?
时间: 2024-02-09 21:06:53 浏览: 449
采用DMA方式传输数据,每次最多可以传输600个字节,该接口支持的最大传输速率为600字节/100ns=6MB/s。因此,该DMA接口可以在1秒钟内传输6MB的数据。根据9600bps的数据传输速率,每秒钟需要传输9600/8=1200个字节,因此,DMA传输一秒钟需要占用的时间为1秒/(6MB/1200B)= 0.2秒,即占用CPU时间的20%。
采用中断方式传输数据,每传输一个字符需要占用10µs的时间,因此每秒钟最多可以传输9600个字符,即9600B。因此,中断方式传输一秒钟需要占用的时间为1秒/(9600B/8)= 0.0083秒,即占用CPU时间的0.83%。
综上所述,采用DMA方式占用CPU时间的比例为20%,而采用中断方式占用CPU时间的比例为0.83%。因此,在数据传输速率较高的情况下,采用DMA方式可以更有效地利用CPU资源。
阅读全文