计算机组成大题分析(六)

        假定计算机的主频为 500MHz ,CPI 为4。现有设备A 和 B,其数据传输率分别为2MB/s 和 40MB/s ,对应 I/O 接口中各有一个 32 位数据缓冲寄存器。请回答下列问题,要求给出计算过程。

  • (1) 若设备 A 采用定时查询 I/O 方式,每次输入/输出都至少执行 10 条指。设备 A 最多间隔多长时间查询一次才能不丢失数据? CPU 用于设备 A 输入 /输出的时间占 CPU 总时间的百分比至少是多少?
  • (2) 在中断 I/O 方式下,若每次中断响应和中断处理的总时钟周期数至少为 400,则设备B 能否采用中断 I/O 方式? 为什么?
  • (3) 若设备 B 采用 DMA 方式,每次 DMA 传送的数据块大小 1000B ,CPU 用于 DMA预处理和后处理的总时钟周期数为 500 ,则 CPU 用于设备 B 输入/输出的时间占 CPU 总时间的百分比最多是多少 ?

【分析】 数据I/O的进行传输过程,是将数据线先放入缓冲寄存器中,然后再进行CPU的调用。让主存跟CPU的速度匹配。可以结合下图理解,CPU的传输数据速度比较快,而从主存或者辅存中进行交换的速度较慢,因此,设立一个缓冲区,使得CPU效率更高。

 【解】

1. 由于缓冲寄存器的空间有限,而且在满时如果不进行传输就会进行替换导致数据丢失。因此A最多时隔查询的时间为缓冲区满的时间。即4B/2MB = 2\mu s。所以最多时隔2\mu s就得查询一次

由计算机的主频为500MHz,时间周期为500M/s。A在1s的刷新次数为1s/2\mu s = 5\times 10^5;用于设备A的输入/输出的时间至少为5\times10^5\times10\times4 = 2\times10^7个周期,所以占整个CPU时间的百分比至少为2\times10^7\div 500M = 4%

计算1s中A用在输入/输出的时间周期,再与CPU1s的时间周期数的比值。

 2.响应和处理中断的总周期数为400个,所需要的时间为400x(1/500M)=0.8\mu s。而设备B最长时间查询间隔为4B/40MB = 0.1\mu s;因此处理中断的周期比缓冲区传输时间长,在传满缓冲区后中断仍未结束,则会导致缓冲区内的数据丢失,因此设备B不适合中断I/O方式。

3.在DMA方式中,分为三个阶段,预处理、数据传送和后处理,而只有预处理跟后处理需要CPU处理,而数据传送是DMA控制的。因此1s中设备B进行传输数据的周期为DMA次数X500,DMA次数就为40MB/1000B =40000次

因此设备B在1s中CPU使用的时间周期数为,500x40000 = 2000 0000个时间周期。因此占用的CPU总时间百分比就为 2000 0000/500M = 4%.

 【注】计算百分比,CPU计算百分比可以通过1s中,CPU能执行的时间周期,和设备1s中进行的时间周期之比。

 

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值