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

  • 相关阅读:
    uva 562
    uva 624
    hdu 3826
    CF 89 div2 A
    看视屏学编程之接口、抽象类
    看视频学编程之SQL数据库基础
    看视频学编程之WinForm
    看视频学编程之骑士飞行棋—自己做(单机版)
    看视频学编程之继承
    看视频学编程之C#中的类
  • 原文地址:https://www.cnblogs.com/hankfu/p/12978372.html
Copyright © 2011-2022 走看看