问答题 某计算机的CPU主频为500MHz,所连接的某外设的最大数据传输率为20kB/s,该外设接口中有一个16位的数据缓存器,相应的中断服务程序的执行时间为500个时钟周期。请回答下列问题:
问答题 是否可用中断方式进行该外设的输入输出?若能,在该设备持续工作期间,CPU用于该设备进行输入/输出的时间占整个CPU时间的百分比大约为多少?
【正确答案】因为该外设接口中有一个16位数据缓存器,所以,若用中断方式进行输入/输出,可以每16位进行一次中断请求,因此,中断请求的时间间隔为2B/20kB/s=100μs。 对应的中断服务程序的执行时间为:(1/500MHz)×500=1μs。因为中断响应过程就是执行一条隐指令的过程,所用时间相对于中断处理时间(执行中断服务程序的时间)而言,几乎可以忽略不计,因而整个中断响应并处理的时间大约为1μs多一点,远远小于中断请求的间隔时间。因此,可以用中断方式进行该外设的输入输出。 若用中断方式进行该设备的输入/输出,则该设备持续工作期间,CPU用于该设备进行输入/输出的时间占整个CPU时间的百分比大约为1/100=1%。
【答案解析】
问答题 若该外设的最大数据传输率是2MB/s,则可否用中断方式进行输入输出?
【正确答案】若外设的最大传输率为2MB/s,则中断请求的时间间隔为106×2B/2MB=1μs。而整个中断响应并处理的时间大约为1μs多一点,中断请求的间隔时间小于中断响应和处理时间,即中断处理还未结束就会有该外设新的中断到来,因此不可以用中断方式进行该外设的输入输出。
【答案解析】