综合题 假定CPU主频为50MHz,CPI为4。设备D采用异步串行通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入I/O端口需要0.5ms。请回答下列问题,要求说明理由。
问答题     每传送一个字符,在异步串行通信线上共需传输多少位?在设备D持续工作过程中,每秒钟最多可向I/O端口送入多少个字符?
 
【正确答案】每传送一个ASCII字符,需要传输的位数有1位起始位、7位数据位(ASCII字符占7位)、1位奇校验位和1位停止位,故总位数为1+7+1+1=10。 I/O端口每杪钟最多可接收1000/0.5=2000个字符。
【答案解析】
问答题     设备D采用中断方式进行输入/输出,示意图如下:
   
【正确答案】一个字符传送时间包括:设备D将字符送I/O端口的时间、中断响应时间和中断服务程序前15条指令的执行时间。时钟周期为1/(50MHz)=20ns,设备D将字符送I/O端口的时间为0.5ms/20ns=2.5×104个时钟周期。一个字符的传送时间大约为2.5×104+10+15×4=25070个时钟周期。完成1000个字符传送所需时间大约为1000×25070=25070000个时钟周期。 CPU用于该任务的时间大约为1000×(10+20×4)=9×104个时钟周期。 在中断响应阶段,CPU主要进行以下操作:关中断、保护断点和程序状态、识别中断源。
【答案解析】