zoukankan      html  css  js  c++  java
  • 【分享】MPSoC,XEN虚拟机运行裸核应用程序(baremetal, standalone)的中断延迟

     

    修改Xilinx的定时器裸核应用程序(baremetal, standalone)例子xttcps_intr_example.c,可以测量中断响应延迟。
    然后在单板上运行,以及在XEN的虚拟机上运行,可以分别测量这两种情况下的中断响应延迟。

    单板的中断延迟

    首先看单板上运行的中断延迟的测试数据,也是没有无xen的中断延迟的测试数据。

    TTC device id: 1
    TTC device BaseAddress: 0xFF110004
    TTC device InputClockHz: 0x5F5E100 = 100000000
    Global timer frequency: 0x5F5B9F0 = 99990000
    Ticker timer Interval: 62500
    Ticker timer Prescaler: 3
    ... ...
    No.1 TickHandler, Counter1: 6, Counter2: 7, average first counter value: 6
    No.1 TickHandler, Goblal timer1: 114476857, 2: 114476887, 2-1: 30
    ... ...
    No.20 TickHandler, Counter1: 2, Counter2: 4, average first counter value: 2
    No.20 TickHandler, Goblal timer1: 139730363, 2: 139730395, 2-1: 32
    No.21 TickHandler, Counter1: 2, Counter2: 4, average first counter value: 2
    No.21 TickHandler, Goblal timer1: 140974466, 2: 140974497, 2-1: 31

    TTC定时器Prescaler是3,代表缩放倍数是16。
    第一次中断响应时TTC的计数器值为6,166=96个TTC时钟周期,相当于960ns。
    后续中断响应时TTC的计数器值为2,216=32个TTC时钟周期,相当于320ns。
    可以看到,MPSoC的中断响应延迟非常短。

    xen虚拟机中断延迟

    再看xen的虚拟机下,中断延迟的测试数据。

    TTC device id: 1
    TTC device BaseAddress: 0xFF110004
    TTC device InputClockHz: 0x5F5E100 = 100000000
    Global timer frequency: 0x5F5B9F0 = 99990000
    Ticker timer Interval: 62500
    Ticker timer Prescaler: 3
    ... ...
    No.1 TickHandler, Counter1: 20, Counter2: 22, average first counter value: 20
    ... ...
    No.20 TickHandler, Counter1: 11, Counter2: 13, average first counter value: 12
    No.20 TickHandler, Goblal timer1: 11368782108, 2: 11368782109, 2-1: 1
    No.21 TickHandler, Counter1: 13, Counter2: 15, average first counter value: 12
    No.21 TickHandler, Goblal timer1: 11370077692, 2: 11370077693, 2-1: 1

    同样,Prescaler是3,代表缩放倍数是16。
    第一次中断响应时TTC的计数器值为20,16*20=320个TTC时钟周期,相当于3200ns。
    后续中断响应时TTC的计数器值为12,12*16=192个TTC时钟周期,相当于1920ns。
    xen虚拟机会最多会造成中断响应时间增加2240ns。即使这样,在本次测试中,在xen的虚拟机中,MPSoC的中断响应时间最大是3200ns,能满足绝大多数应用的要求。

    结论

    在xen的虚拟机中,MPSoC的中断响应时间最大是3200ns,能满足绝大多数应用的要求。

    来源

    https://forums.xilinx.com/t5/%E5%B5%8C%E5%85%A5%E5%BC%8F-%E5%B7%A5%E5%85%B7-%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/%E5%88%86%E4%BA%AB-MPSoC-XEN%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%BF%90%E8%A1%8C%E8%A3%B8%E6%A0%B8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F-baremetal-standalone-%E7%9A%84%E4%B8%AD%E6%96%AD%E5%BB%B6%E8%BF%9F/td-p/972406

  • 相关阅读:
    HDOJ 1207 汉诺塔II
    [转]写代码的小女孩
    POJ Subway tree systems
    HDOJ 3555 Bomb (数位DP)
    POJ 1636 Prison rearrangement (DP)
    POJ 1015 Jury Compromise (DP)
    UVA 10003
    UVA 103 Stacking Boxes
    HDOJ 3530 Subsequence
    第三百六十二、三天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/hankfu/p/12978372.html
Copyright © 2011-2022 走看看