太阳城集团

  • / 12
  • 下载费用:30 金币  

嵌入式系统实时性能测试方法.pdf

摘要
申请专利号:

CN201611002818.2

申请日:

2016.11.11

公开号:

CN106776272A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 11/36申请日:20161111|||公开
IPC分类号: G06F11/36 主分类号: G06F11/36
申请人: 西北工业大学
发明人: 朱怡安; 黄林林; 李联; 魏超; 罗殊彦
地址: 710072 陕西省西安市友谊西路127号
优先权:
专利代理机构: 西北工业大学专利中心 61204 代理人: 王鲜凯
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611002818.2

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

太阳城集团本发明公开了一种嵌入式系统实时性能测试方法,用于解决现有嵌入式系统实时性能测试方法精度差的技术问题。技术方案是将实时性的基础指标、多核指标和分区指标纳入实时性能测试之中,通过直接硬件访问机制实现了微秒级的太阳城集团获取,并针对指标已有的性能测试算法中存在的问题进行改进。由于采用嵌入式系统实时性能指标体系架构,能够获得更加全面的嵌入式系统实时性能数据,为现有的嵌入式系统提供性能改进方向,促进嵌入式系统结构设计和软硬件选型,能够提高嵌入式系统的可用性。在性能指标测试阶段,通过使用硬件太阳城集团获取方法,并针对嵌入式实时性能相关算法上进行改进,减少了算法的复杂度,使实时性测试精度达到10??6级别,提高了测试结果的精度。

权利要求书

1.一种嵌入式系统实时性能测试方法,其特征在于包括以下步骤:
步骤一、构建基础指标模块,包括任务切换太阳城集团、任务抢占太阳城集团、中断响应太阳城集团、中断现
场恢复太阳城集团、线程创建太阳城集团和死锁解除太阳城集团。
1)任务切换太阳城集团是系统切换两个独立的有效的任务的平均太阳城集团,这两个任务不能处于
阻塞或睡眠状态,并且有相同的优先级。在开始测试任务切换之前,消除与任务切换太阳城集团无
关的系统活动,将任务设为高优先级。计算测试代码中的额外开销T0,包括循环控制和信号
量操作。在主任务中创建任务A和任务B,任务A和任务B的优先级相等且低于主任务的优先
级,记录太阳城集团点T1,置主任务的优先级低于任务A和任务B,使主任务挂起,任务A和任务B进
入就绪队列。在循环代码的控制下,任务A和任务B不断地获取信号量、释放信号量,进行任
务切换,当设定的迭代次数N到了之后,任务A和任务B删除自己回到主任务中,记录太阳城集团点
T2。得到任务的切换太阳城集团Δt为
<mrow> <mi>&Delta;</mi> <mi>t</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> <mo>-</mo> <msub> <mi>T</mi> <mi>o</mi> </msub> </mrow> <mrow> <mn>2</mn> <mo>*</mo> <mi>N</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
2)任务抢占太阳城集团是高优先级任务抢夺正在运行的低优先级任务对系统的控制权所花
的平均太阳城集团,发生在高优先级任务响应外部事件从空闲状态转入就绪态的时刻。首先在主
任务M中创建两个任务,任务A和任务B,优先级的关系是任务A>任务B,任务A和任务B均低于
主任务的优先级。记录太阳城集团点T1,置主任务的优先级低于任务A和任务B,测试开始。因为任
务A的优先级较高,所以为会先运行,每次测试迭代,让任务A延迟一个太阳城集团滴答,任务延迟
会挂起任务A,系统控制权切换到任务B。这个任务在每次测试迭代只需要进行空循环。当一
个太阳城集团滴答的太阳城集团延迟到,任务A被唤醒并进入就绪队列,此时由于任务A的优先级高于任
务B,任务A抢占系统的控制权,任务B被挂起。当设定的测试次数迭代完成后,回到主任务,
记录太阳城集团点T2。然后计算循环操作产生的额外太阳城集团消耗T0,设测试迭代次数为N,最后计算得
出任务抢占太阳城集团Δt为
<mrow> <mi>&Delta;</mi> <mi>t</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> <mo>-</mo> <msub> <mi>T</mi> <mi>o</mi> </msub> </mrow> <mi>N</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
3)中断响应太阳城集团是指从中断发生到开始执行特定中断服务程序的第一条指令之间的
太阳城集团;首先在主任务中装载中断服务程序ISR,创建任务A;任务A在设定的测试次数内不停
的记录太阳城集团点T1,触发中断;当中断发生,任务A被挂起,系统转向执行中断服务程序ISR;由
于ISR是事先设置好的,进入ISR的第一步就是记录太阳城集团点T2,退出ISR后,系统继续调度任
务A运行,测试持续进行直到迭代次数完成;中断响应太阳城集团Δt为Δt=T2-T1;
4)中断现场恢复太阳城集团是指系统从中断上下文离开进入任务继续运行的太阳城集团;首先在主
任务中装载特定的中断服务程序ISR,创建测试任务集Task1至TaskN,创建中断触发任务
Trigger;任务集中的任务优先级相同,任务集中的任务就是请求同步对象,当请求成功后
就记录太阳城集团点T2,无限循环;任务Trigger的优先级低于任务集,任务Trigger的工作就是不
断触发指定的向量号,这一向量号已经在主任务中与指定的ISR绑定了;中断被触发后,会
进入中断服务程序ISR;ISR的功能就是释放任务集请求的同步对象,记录太阳城集团点T1;中断发
生之前,任务集中的N个任务因为请求同步对象而被挂起,中断响应后执行ISR,ISR释放同
步对象并退出,这时任务集中会有一个任务i被调度执行;中断线程恢复太阳城集团Δt即为Δt=
T2-T1;
5)死锁解除太阳城集团是指在当一个高优先级任务抢占一个低优先级任务对资源控制的时
间;首先禁止太阳城集团片轮转调度,避免太阳城集团片轮转调度影响测试;创建互斥信号量和优先级分
别为高、中、低的任务A、任务B、任务C;主任务降低自身优先级开始测试;优先级较高的任务
A和任务B进入后先挂起自己,系统调度任务C运行;任务C运行后先进入临界区,然后唤醒任
务A,由于任务A的优先级高于任务C,会抢占任务C运行;其进入临界区前记录太阳城集团点T1,由
于临界资源被任务C占有,所以任务A只能挂起并等待临界资源被释放;任务C继续被调度执
行,激活任务B,由于任务B的优先级也高于任务C,所以任务B抢占任务C开始运行;而任务B
开始运行后进入无限循环,若无外力协助,任务A将永远分配不到必需的资源而无法继续运
行无限等待临界资源,这就产生了死锁;此时,操作系统会采用合理的方法来解除死锁;当
任务A成功进入临界区时,记录太阳城集团T2;死锁解除太阳城集团Δt即为Δt=T2-T1;
6)线程创建太阳城集团是指操作系统用于创建一个线程所需要花费的太阳城集团开销,其中包括对
一个线程运行所需全部资源的分配操作;首先在系统中启动主线程函数,设置线程创建数
为0,并记录当前太阳城集团为T1,调用VxWorks的线程创建函数pthread_create创建N个线程,线
程创建完成之后记录当前太阳城集团为T2,最终计算得到线程创建太阳城集团Δt为
步骤二、构建多核指标模块,包括核间通信太阳城集团和线程迁移太阳城集团;
1)核间通信太阳城集团是指位于不同CPU核上的不同任务之间为了数据间的共享与同步所进
行的数据发送操作所需的太阳城集团;首先在主线程中创建线程1,然后将线程1绑定到与主线程
不同的CPU核上,然后主线程启动线程1,并记录太阳城集团值为T1,然后线程1先主线程发送信号,
主线程接收到信号后,给线程发回;测试过程中使用信号量控制型号通信;经过N次测试以
后记录当前太阳城集团为T2,最终计算得到核间通信太阳城集团Δt为
2)线程迁移太阳城集团是指操作系统将某个CPU核中正在运行的任务中断后,迁移到另一个
CPU核中继续运行所花费的太阳城集团开销,其中包括线程上下文的保存与恢复操作;首先在一个
CPU核上运行主线程,并开始计时,记录太阳城集团为T1,调用VxWorks的关键函数pthread_
setaffinity_np,设定线程亲和性,进而实现线程的迁移;循环进行N次操作,最终计算得到
线程迁移的太阳城集团Δt为
步骤三、构建分区指标模块,包括分区切换太阳城集团和队列端口通信延迟太阳城集团;
1)分区切换太阳城集团是指在嵌入式分区操作系统中上一个分区窗口执行结束到下一个分
区窗口启动完成所花费的太阳城集团;首先,假设系统包含n个分区(P1,P2,...,Pn),一个主调度框
架为每一个分区分配一个太阳城集团槽,且n个太阳城集团槽的长度(t1,t2,...,tn)之和与主调度框架时
间T相等,即没有空闲太阳城集团槽;那么理论上系统执行N次主调度框架轮转需要的太阳城集团长度为
N*T;因为存在分区切换太阳城集团,系统执行N次主调度框架轮转需要的实际太阳城集团大于N*T,假设
为T',T'的数值能够通过记录N次主调度框架轮转的总太阳城集团得出;每一次分区切换消耗的时
间用Δt1,Δt2,...,Δtn表示,超出N*T的这段太阳城集团位移Δt实际就是T'太阳城集团内分区切换所
占用的总太阳城集团假设执行N次主调度框架轮转共发生分区切换的次数为M,则求
得一次分区切换太阳城集团的平均值ΔTa=ΔT/M;其中M与ΔT的计算方法分别为M=N*n-1,ΔT
=T'-N*T;
根据分区切换太阳城集团、分区切换次数和分区切换平均太阳城集团得出单次分区切换的平均太阳城集团
计算方法为
<mrow> <msub> <mi>&Delta;T</mi> <mi>a</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msup> <mi>T</mi> <mo>&prime;</mo> </msup> <mo>-</mo> <mi>N</mi> <mo>*</mo> <mi>T</mi> </mrow> <mrow> <mi>N</mi> <mo>*</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
2)队列端口通信延迟是指嵌入式分区操作系统中一个消息段从源队列端口发出到目
标队列端口接收所消耗的太阳城集团;通过队列端口发送的消息需要系统将其从发送缓冲区中取
出,并经过通道发送到接收缓冲区中,这一过程是产生通信延迟的主要原因;为实现任意两
个分区间都能够通过队列端口进行消息收发,需要在每个分区中都运行一个测试程序;对
于每个源端口分别调用队列端口消息发送服务发送一次消息,对于每个目标端口分别新建
一个进程循环调用获取端口状态服务进行监听;程序将每次发送消息时的时刻Ts作为消息
内容,这样当目标端口监听进程检测到目标端口有数据到达时,记录此时的时刻Tr,就能够
计算出这一次消息发送的通信延迟Δt=Tr-Ts;由于分区操作系统中端口都是两两配对使
用,为了排除某一个端口有多个消息在缓冲区内等待的情况对测试结果的影响,采取如下
措施:
(a)任意两个分区若有多个端口配对,相同方向的传输路径只保留一对;假设分区1中
有源端口A和源端口B,分别对应分区2中目标端口C和目标端口D,那么只对源端口A/目标端
口C这一组合进行测试;
(b)每一次只允许一个分区发送消息,其它分区接收消息。

关 键 词:
嵌入式 系统 实时 性能 测试 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:嵌入式系统实时性能测试方法.pdf
链接地址:http://zh228.com/p-6019757.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');