前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【分享】MPSoC,XEN虚拟机运行裸核应用程序(baremetal, standalone)的中断延迟

【分享】MPSoC,XEN虚拟机运行裸核应用程序(baremetal, standalone)的中断延迟

作者头像
hankfu
发布2020-07-16 17:28:24
7450
发布2020-07-16 17:28:24
举报
文章被收录于专栏:hankhank

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

单板的中断延迟

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

代码语言:javascript
复制
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的虚拟机下,中断延迟的测试数据。

代码语言:javascript
复制
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,能满足绝大多数应用的要求。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档