我目前正在学习有关中断的知识,但不理解如何计算以下问题的数据速率。我有答案,但我不知道你是怎么做到的。如果有人能给我解释一下它是如何计算的,我将不胜感激。
问题是..。
这个问题涉及使用中断来处理到达输入接口的数据在内存中的输入和存储,以及考虑使用此机制实现的数据速率。在这个特定的问题中,每个新数据项的到达都会触发一个中断请求,以输入数据项并将其存储在队列中。memory.The中的问题是关于计算在此场景中可实现的最大数据速率。
首先需要计算响应来自接口的中断的时间,运行中断服务例程(ISR)并返回中断的program.From,然后计算每个中断输入的数据位数,然后计算可以处理的最大数据速率(以位/秒为单位)。如下所示: CPU响应中断并切换到ISR所需的时钟周期数、ISR执行的指令数、ISR中每条指令执行的平均时钟周期数、每次中断时输入的数据项中的位数以及时钟频率。您可以假定,只要ISR完成,CPU就可以立即再次中断,但不能在此之前
响应中断的时钟周期=在ISR=中执行的15条指令每条指令的平均时钟周期=每条数据项的5位数= 32
时钟频率=10
问题
a)响应来自接口的中断、运行中断服务例程(ISR)并返回中断程序的时间(以微秒为单位)是多少?
B)最大数据速率是多少,单位是千比特/秒?
答案
a) 36.5 -我理解这一点
b) 876.7 -?
发布于 2011-12-22 07:14:17
由于每个ISR占用36.5 us,因此每秒可发生的ISR的绝对最大数量为27,397.2603。
在每个ISR中,处理32位数据。
因此,27397.2603 * 32位=每秒处理876.712.33位
https://stackoverflow.com/questions/8597504
复制相似问题