假设某个主频为1GHZ的处理器需要从某个成块传送的I/O设备读取1000字节的数据到主存缓冲区中,该I/O设备一旦启动就按50KBps的数据传输率向主机传送1000字节的数据,每个字节的读、处理及送内存缓冲区共需要1000个时钟周期的时间,则以下四种方式下,在1000字节的读取过程中,CPU花费在该设备I/O操作上的时间分别为多少?这部分时间占处理器时间的百分比分别是多少?
(1)采用独占式查询方式,每次处理一个字节,一次状态查询需要60个时钟周期;
(2)采用中断I/O方式,外设每准备好一个字节发送一次中断请求。每次中断请求需要2个时钟周期,中断服务程序的执行需要1200个时钟周期;
(3)采用周期挪用的DMA方式,每挪用一次主存周期处理一个字节,一次DMA传送完成1000字节数据的传输,DMA初始化和后处理的总时间为2000个时钟周期,CPU和DMA没有访存冲突。
(4)如将外设的速度提高到5MBps,则上述三种方式中,哪些不可行,为什么?对于可行的I/O方式,计算机CPU花费在I/O操作上的时间占CPU时间的百分比。