某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现

admin2012-06-21  85

问题 某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现该外设需要把一个非常大的数据块传送到内存。
    (1)如果采用程序I/O方式,每传送一32位字宽的数据需要CPU执行2条指令。请计算最大数据传输率(单位:字/秒)。
    (2)如果采用DMA方式,在DMA与CPU出现总线访问冲突时,CPU优先。请计算最大数据传输率(单位:字/秒)。

选项

答案(1)数据块非常大,可认为其执行时间远远大于1 s,故可用其1 s内的最大数据传输率来近似表示其整个传输过程中的最大数据传输率,(2)同CPU每秒执行100条指令,且95%的时间内持续执行背景程序,故1 s内CPU可用来进行I/O传送的指令条数为 100×(1-95%)=5(条) 最大数据传输率为 5/2=2.5(字/秒) (2)CPU每秒内共有(100×5=)500个机器周期,其中执行“背景程序”时有(100×95%×3=)285个机器周期必须访问内存,由于DMA与CPU访存冲突时,CPU优先,故DMA控制器只能在余下的500-285=215个机器周期内访存;又内存读写需要一个机器周期,故采用DMA传输方式时,1s内可读写内存215次,即最大数据传输率为215字/秒。

解析
转载请注明原文地址:https://kaotiyun.com/show/oNxi777K
0

最新回复(0)