2 sinat 30787967 sinat_30787967 于 2016.02.24 20:37 提问

关于DMA到存储器发送数据速率的一道题。。。 30C

一台计算机包括一个CPU和一台I/O设备D,通过一条共享总线连接到主存储器M,数据总线的宽度为1个字。CPU每秒最多可执行106条指令,平均每条指令需要5个机器周期,其中3个周期需要使用存储器总线。存储器读/写操作使用1个机器周期。假设CPU正在连续不断地执行后台程序,并且需要保证95%的指令执行速度,但没有任何I/O指令。假设1个处理器周期等于1个总线周期,现在要在M和D之间传送大块数据。
a.若使用程序控制I/O,I/O每传送1个字需要CPU执行两条指令。请估计通过D的I/O数据传送的最大可能速度。
b.如果使用DMA传送,请估计传送速度。
答案:a.处理器只能分配5%的时间给I/O.所以最大的I/O指令传送速度是10e6×0.05=50000条指令/秒。因此I/O的传送速率是25000字/秒。
b.使用DMA控制时,可用的机器周期下的数量是
10e6(0.05×5+0.95×2)=2.15×10e6
如果我们假设DMA模块可以使用所有这些周期,并且忽略任何设置和状态检查时间,那么这个值就是最大的I/O传输速率。

我很是不明白b的答案是怎么得到的...

1个回答

caozhy
caozhy   Ds   Rxr 2016.02.24 22:12

CPU每秒最多可执行106条指令
排版的问题,应该是10e6(10的6次方)
5%的情况下,5个时钟,95%的情况下,异步,2个时钟,读写各一个

sinat_30787967
sinat_30787967 还是不懂,5个时钟?可其中有3个是使用的存储器总线,并没有写操作啊?能详细解释下吗?
接近 2 年之前 回复
sinat_30787967
sinat_30787967 还是不懂,5个时钟?可其中有3个是使用的存储器总线,并没有写操作啊?能详细解释下吗?
接近 2 年之前 回复
sinat_30787967
sinat_30787967 还是不懂,5个时钟?可其中有3个是使用的存储器总线,并没有写操作啊?能详细解释下吗?
接近 2 年之前 回复
sinat_30787967
sinat_30787967 还是不懂,5个时钟?可其中有3个是使用的存储器总线,并没有写操作啊?能详细解释下吗?
接近 2 年之前 回复
sinat_30787967
sinat_30787967 还是不懂,5个时钟?可其中有3个是使用的存储器总线,并没有写操作啊?能详细解释下吗?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!