中断数据速率计算

时间:2014-01-06 16:42:37

标签: interrupt

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

首先需要计算从接口响应中断的时间,运行中断服务程序(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

有人能解释一下答案吗?

1 个答案:

答案 0 :(得分:1)

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

B中。 (每个isr 8比特/ 83 usecs / isr)* 1000     =(8/83)* 1000 = 96.385

阅读Dimensional Analysis