假定CPU主频为50MH,CPI为3。设备D采用串行异步通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位。从D接收启动命令到字符送入I/O端口需要0.1ms。请回答下列问题。 (1)每传送一个字符,在异步串行通信线上共需传输多少位?在设备D持续工作过程中,每秒最多可向I/O端口送入多少字符? (2)画出传送字符A的波形图 (3)设备D采用中断方式进行输入/输出,示意图如下: 1.png I/O端口每收到一个字符申请一次中断,中断响应需要10个时钟周期。中断服务程序共有20条指令,其中第15条指令启动D工作。若CPU需从D读取100个字符,则完成这一任务所需时间大约是多少时钟周期?CPU用于完成这一任务的时间大约是多少时钟周期?在中断响应阶段CPU进行了哪些操作?
时间: 2024-02-22 10:56:01 浏览: 125
时变时滞与切换有向通信拓扑协议下线性多智能体系统一致性的平均驻留时间条件
首先,根据题意,每个字符传输需要 7 位数据位、1 位奇校验位和 1 位停止位,共 9 位,所以每传送一个字符,在异步串行通信线上共需传输 9 位。每秒最多可向 I/O 端口送入的字符数取决于设备 D 传输一个字符所需的时间,即 0.1ms,所以每秒最多可向 I/O 端口送入的字符数为 1 / 0.0001 = 10000 个字符。
其次,根据题意,字符 A 的 ASCII 码为 01000001,奇校验位为 1,停止位为 1,所以传送字符 A 的波形图如下:
```
__ __ __ __ __ __ __ __ __
/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| s | t | a | r | t | D | A | 1 | 1 |
\__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/ \__/
```
最后,根据题意,CPU 从 D 读取 100 个字符,每个字符传输需要的时间为 0.1ms,所以完成这一任务所需的时间大约是 100 * 0.1ms = 10ms。中断响应需要 10 个时钟周期,中断服务程序共有 20 条指令,其中第 15 条指令启动 D 工作。所以,在中断响应阶段,CPU 需要保存当前程序计数器和程序状态寄存器,并跳转到中断服务程序执行。中断服务程序执行前 14 条指令,然后执行第 15 条指令启动 D 工作,等待 D 传输完一个字符后,D 产生中断请求,CPU 响应中断,跳转到中断服务程序执行。中断服务程序执行后 5 条指令,然后返回到原程序继续执行。CPU 用于完成这一任务的时间大约是 100 * CPI / CPU主频 = 100 * 3 / 50 = 6ms。
阅读全文