一种实时操作系统中断处理时间的准确测量方法技术方案

技术编号:39754769 阅读:12 留言:0更新日期:2023-12-17 23:53
本申请涉及应用开发技术领域,公开了一种实时操作系统中断处理时间的准确测量方法,该方法包括:设置数据高速缓存和指令高速缓存为

【技术实现步骤摘要】
一种实时操作系统中断处理时间的准确测量方法


[0001]本申请涉及应用开发
,具体是一种实时操作系统中断处理时间的准确测量方法


技术介绍

[0002]实时操作系统中,应用开发者需要系统具有确定性,时常需要测量中断处理时间,根据时间来设计整个应用系统运行流程

现有的常用测量手段通常是当中断产生时记录时间

中断退出时记录时间,再计算两个时间的差值,因未考虑高速缓冲存储器(
cache
)因素,此测量方式通常每次测量值差异较大,难以准确的测试出最大的中断处理时间

随着处理器的快速发展,现代处理器往往都支持多核,通常都是采用哈佛结构,拥有分离的数据高速缓存(
data cache
)和指令高速缓存(
instruction cache
),这导致了高速缓冲存储器命中时中断处理时间短,高速缓冲存储器未命中时中断处理时间长,以至于测量时间不准确,应用开发者无法获取准确时间,系统设计困难,而且设计的系统可能存在不稳定的情况 。

技术实现思路

[0003]本申请的目的在于提供一种实时操作系统中断处理时间的准确测量方法,以解决上述
技术介绍
中提出的技术问题

[0004]为实现上述目的,本申请公开了以下技术方案:一种实时操作系统中断处理时间的准确测量方法,该方法包括以下步骤:实时操作系统启动前,设置数据高速缓存为
DF
模式,指令高速缓存设置为
DF/>模式,在此模式下,当中断发生时,高速缓冲存储器进入
Freeze
状态,此时,高速缓冲存储器不进行换入换出;实时操作系统启动时,注册总中断服务函数,当中断信号发送给
CPU

CPU
跳到总中断服务函数并执行;其中,所述总中断服务函数包括:获取硬件的中断号,并记录系统时间戳
t1
,执行该中断号对应的中断处理函数,在该中断处理函数执行完后,记录时间戳
t2
,并解除高速缓冲存储器的
Freeze
状态,计算中断处理时长
Δ
t


[0005]作为优选,所述的当中断信号发送给
CPU

CPU
跳到总中断服务函数并执行,具体包括:中断信号发送至
CPU

CPU
执行所述总中断服务函数;其中,所述总中断服务函数的执行流程具体包括以下步骤:获取当前中断对应的中断号;判断该中断号是否被注册,当未被注册时,结束所述总中断服务函数的执行,否则执行后续步骤;查找该中断号对应的已注册的中断处理函数;
判断是否启动了终端测量功能,是则进入后续步骤,否则执行该中断处理函数并在执行完成后结束所述总中断服务函数的执行;记录系统时间戳
t1
;执行该中断号对应的中断处理函数;在该中断处理函数执行完后,记录时间戳
t2
;解除高速缓冲存储器的
Freeze
状态;计算中断处理时长
Δ
t


[0006]作为优选,所述总中断服务函数还包括:输出计算得到的中断处理时长
Δ
t
及其对应的中断信息,所述中断信息包括硬件及其中断号

[0007]有益效果:本申请的实时操作系统中断处理时间的准确测量方法,通过软件主动配置高速缓冲存储器,从而避免出现高速缓冲存储器的不确定性带来的问题,代码实现和测试方式较为方便,无需更改客户代码,同时,测试结果准确,解决了高速缓冲存储器测试结果不准确的问题

附图说明
[0008]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0009]图1为本申请实施例提供的系统启动时的操作流程图;图2为本申请实施例提供的注册需要测试的子中断服务的流程图;图3为本申请提供的总中断服务函数的执行流程图

具体实施方式
[0010]下面将对本申请实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例

基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围

[0011]在本文中,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程

方法

物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程

方法

物品或者设备所固有的要素

在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程

方法

物品或者设备中还存在另外的相同要素

[0012]请参阅图1‑3本实施例公开了一种实时操作系统中断处理时间的准确测量方法,该方法包括以下步骤:该方法包括以下步骤:实时操作系统启动前,设置数据高速缓存(
data cache
)为
DF
模式,指令高速缓存(
instruction cache
)设置为
DF
模式,在此模式下,当中断发生时,高速缓冲存储器(
cache

进入
Freeze
状态,此时,高速缓冲存储器不进行换入换出;实时操作系统启动时,注册总中断服务函数,当中断信号发送给
CPU

CPU
跳到总中断服务函数并执行;其中,所述总中断服务函数包括:获取硬件的中断号,并记录系统时间戳
t1
,执行该中断号对应的中断处理函数,在该中断处理函数执行完后,记录时间戳
t2
,并解除高速缓冲存储器的
Freeze
状态,计算中断处理时长
Δ
t
,;以及输出计算得到的中断处理时长
Δ
t
及其对应的中断信息,所述中断信息包括硬件及其中断号

[0013]在本实施例中,所述的当中断信号发送给
CPU

CPU
跳到总中断服务函数并执行,具体包括:中断信号发送至
CPU

CPU
执行所述总中断服务函数;其中,所述总中断服务函数的执行流程具体包括以下步骤:获取当前中断对应的中断号;判断该中断号是否被注册,当未被注册时,结束所述总中本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种实时操作系统中断处理时间的准确测量方法,其特征在于,该方法包括以下步骤:实时操作系统启动前,设置数据高速缓存为
DF
模式,指令高速缓存设置为
DF
模式,在此模式下,当中断发生时,高速缓冲存储器进入
Freeze
状态,此时,高速缓冲存储器不进行换入换出;实时操作系统启动时,注册总中断服务函数,当中断信号发送给
CPU

CPU
跳到总中断服务函数并执行;其中,所述总中断服务函数包括:获取硬件的中断号,并记录系统时间戳
t1
,执行该中断号对应的中断处理函数,在该中断处理函数执行完后,记录时间戳
t2
,并解除高速缓冲存储器的
Freeze
状态,计算中断处理时长
Δ
t

。2.
根据权利要求1所述的实时操作系统中断处理时间的准确测量方法,其特征在于,所述的当中断信号发送给
CPU

CPU

【专利技术属性】
技术研发人员:蒋团全范鹏王东方
申请(专利权)人:广州翼辉信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1