某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。
在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
假设某个主频为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时间的百分比。
在I/O统一编址方式下,CPU通过()指令来访问DMA控制器。
A.访存
B.I/O
C.中断指令
D.POP/PUSH