【问题标题】:Calculating Interrupt Data Rate计算中断数据速率
【发布时间】:2011-12-21 22:57:31
【问题描述】:

我目前正在学习中断,但不明白你是怎么做到的 计算以下问题的数据速率。我有答案但是 我不知道你是怎么到那里的。如果有人可以请解释 我是如何计算的,将不胜感激。

问题来了……

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

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

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

问题

a) 响应中断的时间(以微秒为单位) 接口,运行中断服务程序(ISR)并返回 被中断的程序?

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

答案

a) 36.5 - 我明白这一点

b) 876.7 - ????

【问题讨论】:

    标签: cpu-architecture


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢!这让我困惑了很久!
    猜你喜欢
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    相关资源
    最近更新 更多