【问题标题】:Interrupts Data Rate Calculations中断数据速率计算
【发布时间】:2014-01-24 03:25:03
【问题描述】:

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

你首先需要计算从接口响应中断的时间,运行中断服务程序(ISR)并返回被中断的程序。由此和每次中断输入的数据位数,你是需要计算可以处理的最大数据速率(以比特/秒为单位)。 下面给出:CPU 响应中断并切换到 ISR 所需的时钟周期数,ISR 执行的指令数,ISR 中每条指令执行的平均时钟周期数,位数在每个中断的数据项输入中,以及时钟频率。 [你可以假设当 ISR 完成后 CPU 可以立即再次中断,但不能在此之前]

clock cycles to respond to interrupt = 15
instructions executed in ISR = 50
average clock cycles per instruction = 8
number of bits per data item = 8
clock frequency = 5MHz

a) What is the time in microseconds to respond to an interrupt from the interface, run the interrupt service routine (ISR) and return to the interrupted program?

b) What is the maximum data rate in Kbits/second (K is 1000 , not 1024)?

Answers 
a) 83.0
b) 96.4

谁能解释一下答案?

【问题讨论】:

    标签: interrupt


    【解决方案1】:

    A. (50 条指令 * 每条指令 8 个周期 + 15 个响应周期)/ 5 Mhz = (50*8 + 15) / 5 = 83

    B. (每个 isr 8 位 / 83 usecs/isr)* 1000 = (8/83)*1000 = 96.385

    阅读Dimensional Analysis

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      相关资源
      最近更新 更多