2011-12-21 98 views
0

我目前在学习中断,但不明白你如何计算下面问题的数据速率。我有答案,但 我不知道你如何到达那里。如果有人可以请我向 解释它是如何计算的,这将非常感激。计算中断数据速率

这里的问题...

这个问题涉及使用中断来处理输入和 存储在到达输入接口的数据的存储,以及 考虑数据速率,使用可实现这个机制。在 这个特定的问题中,每个新数据项的到达触发了一个中断请求,用于输入数据并将其存储在队列中的一个队列中。问题是关于计算在这种情况下可实现的最大数据速率 。

您首先需要计算时间,以响应来自接口的 中断,运行中断服务例程(ISR) 并返回此被中断的program.From并且在每个数据比特 输入的数目中断,则需要计算可以处理的最大数据速率(以每秒位数为单位)。给出了你在下面给出的 :CPU需要响应的时钟周期数 中断和切换到ISR,由ISR执行的指令 的数量,在ISR中每个 指令执行的平均时钟周期数,在每个中断上输入的数据项中的位数和时钟频率。 [你可以假设的是,当 CPU可以立即再次尽快ISR完成后, 但不是在这之前打断]时钟周期

响应中断ISR = 70个 平均时钟周期执行= 15所 说明每条指令= 5 数每数据项= 32
时钟频率的比特= 10MHz的

问题

一)这是在微秒到从 整型到的中断作出响应的时间erface,运行中断服务程序(ISR)并返回到中断程序 ?

b)以千比特/秒为单位的最大数据速率是多少?

答案

一)36.5 - 我明白这个

B)876.7 - ????

回答

1

因为每个ISR需要36.5 us,所以在一秒钟内可能发生的ISR的绝对最大数目是27,397.2603。

在每个ISR中,处理32位数据。

因此,27397.2603 * 32位= 876.712.33位每秒处理

+0

非常感谢!这令我困惑不已! – user1110773 2011-12-21 23:31:25