实时操作系统Virtuoso在多DSP系统中的应用.pdf

上传人:asd****56 文档编号:70341222 上传时间:2023-01-19 格式:PDF 页数:5 大小:191.86KB
返回 下载 相关 举报
实时操作系统Virtuoso在多DSP系统中的应用.pdf_第1页
第1页 / 共5页
实时操作系统Virtuoso在多DSP系统中的应用.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《实时操作系统Virtuoso在多DSP系统中的应用.pdf》由会员分享,可在线阅读,更多相关《实时操作系统Virtuoso在多DSP系统中的应用.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、收稿日期:!#$%$&作者简介:林勇鹏(&()!),男,山东烟台人,硕士研究生,研究方向为信号处理与检测,高速实时并行信号处理。实时操作系统!#$%&在多()*系统中的应用林勇鹏,吴顺君,苏涛(西安电子科技大学 雷达信号处理国家重点实验室,陕西 西安)&)&)摘要:随着*+,的功能越来越强大,及结构更加复杂,使得多*+,并行系统的软件开发变得十分困难,而-./0 1 2 3 2是应用于*+,环境的功能强大的实时操作系统,其虚拟单处理器模式使多处理器系统的软件编程如同单处理器一样简便,简化了任务在多处理器间的分配以及各任务间的通讯。文中在详细叙述-./0 1 2 3 2内核结构及其工作原理基础上

2、,讨论了应用程序的结构及开发过程。基于-./0 1 2 3 2的应用程序具有可移植性、可裁减性、可维护性的特征,使得多*+,软件的开发效率大大提高。关键词:-./0 1 2 3 2;数字信号处理器;目标;服务;微内核;毫微内核中图分类号:4,#&5 6!文献标识码:7文章编号:&%$#)%&(!#)&$($#!#$%&$()(*+,&#-$.,/,0&$)12 3 4 ,.5$0 6(4($)7 6#$-8 2 92 3 4 ,.8 9:;2?=,AB+C 1 D 1,+B4 E 2(:E 0.2 E FG H8 E I J 2 KL E M E/+.=E F,/2 N 3 3.=2 KO.M

3、.E B .P /3.0 HO.E)&)&,Q C.E)!:4 0&%:-./0 1 2 3 2.3 2 2 K 0 C R 2 3 0 P /3 E 0.F E M?2 S /K 1 F/E F$0.R 2?/E 0.=3 H 3 0 R(L 4 T+),S C.N CC E 3 I 1 3 M.*+,P./2 R 0 3 J 9 0 3 0 N C 2 F 2=H2 K 0 C P./0 1 E F 3.=F?/2 N 3 3 2/(-+,)E F F 2 S 3 ER 1 F 0.?/2 N 3 3 2/3 H 3 0 R0 2 I E 3.F H?/2=/E R R M F.U E 3

4、.=F?/2 N 3 3 2/3 H 3 0 R,E MR 0 30 C N C E F F =2 KM.3 0/.I 1 0.=0 E 3 U 3E N/2 3 3R 1 F 0.?F?/2 N 3 3 2/3E MN 2 R R 1 .N E 0.2 2 K0 E 3 U 3 J-./0 1 2 3 2E?F.N E 0.2.3?2/0 E I F,3 N E F E I F,R E.0 E.E I F J 4 C-./0 1 2 3 2U /F.3 N 2 R?F R 0 MI H 0 C-./0 1 2 3 2.0 =/E 0 MM P F 2?R 0 P./2 R 0,E N 2 R

5、?/C 3.P 3 1.0 2 KA.M 2 S 3 3 1?2/0 0 2 2 F 3,S C.N CN E 3.R?F.K HE ME N N F /E 0 0 C M P F 2?R 0 2 K-./0 1 2 3 2 E?F.N E 0.2 J;,3(0=4:-./0 1 2 3 2;*+,;2 I D N 0;3 /P.N;R.N/2 U /F;E 2 U /F*+,是一种用来实现数字信号处理算法的微处理器芯片,广泛应用于运算密集、实时性要求高的领域。在复杂系统中往往需要将几十甚至几百片*+,按一定拓扑结构连接起来,形成多*+,系统,此时如仍采用传统方式,软件开发用汇编语言在硬件层上

6、针对每个*+,直接编程,并在程序中实现资源管理、多任务分配及任务间的通信与同步,已变得非常困难。因此,需要将这些底层工作交给系统软件处理,编程者只集中于应用程序本身算法的研究。A.5$0 6(4(?概述作为嵌入式实时操作系统,-./0 1 2 3 2具有通用操作系统的特点,能够有效管理复杂的系统资源,实现硬件虚拟化。基于-./0 1 2 3 2的软件编程可以不再针对具体的硬件系统,无需修改程序的源代码,应用程序只要重新配置就可以在不同拓扑结构的系统中运行,为单*+,编写的程序也很容易移植到多*+,系统,而且对应用程序的修改不会影响整个系统的稳定性,所开发的软件能满足可移植性、可维护性的要求,稳

7、定性较高。?5$0 6(4(内核的多层结构-./0 1 2 3 2通常工作在多*+,环境,*+,对中断反应速度的要求很高,中断服务程序只能用汇编语言编写,而多任务、大规模、可移植的应用程序是汇编语言无法实现的。为在中断处理的速度同应用程序的便捷性之间取得恰当的结合,满足不同层次的编程需要,-./0 1 2 3 2内核采用多层结构,如图&所示。图&-./0 1 2 3 2核的多层结构框图系统的核心是经过高度优化的毫微内核,能够处理多个进程。毫微内核以下是用于处理高速中断的中断服务第&#卷第&期!#年&月微机发展V.N/2 N 2 R?1 0 /*P F 2?R 0-2 F J&#:2 J&:2

8、P J!#万方数据层。位于毫微内核之上的是微内核,处理用!语言编写的基于抢占式的多任务。中断分为两层:#$%&和#$%。中断处理层根据处理器不同采用不同的结构,处理器响应中断后,或立即关闭所有其他中断(如(#公司的)$*),或允许更高级的中断继续使能(如+)公司的$,+%!系列)$*)。对于前者,-./0 1 2 3 2采用两层#$%使中断按优先级处理,而后者由于中断本身就是按优先级划分的,所以其中断服务层只有#$%层。中断服务程序必须用汇编语言编写,程序要简洁,处理速度要快,较长的程序可以通过调用相关的服务转移到毫微内核的进程或微内核的任务去处理。进程层的毫微内核是-./0 1 2 3 2特

9、有的结构,它处理一些非常小的需要快速反应的任务,这一层次的程序被称为进程,进程之间通信与同步使用通道。毫微内核提供了汇编语言应用程序接口(+*#),编程通常使用汇编语言,且只使用部分寄存器,从而进程间转换非常快(如+)$*约为&4 5!3),同时也提供高级语言的+*#,可以用!语言编程。进程按优先级以非抢占方式运行。任务层的微内核提供了应用程序与-./0 1 2 3 2的接口。微内核是进程之一,由毫微内核控制,微内核层的程序被称为任务,微内核任务由!语言编程,所有任务按优先级采用完全抢占式工作方式,即进入预备状态的高优先级任务能够立即从低优先级的任务那里获得处理器的控制权。微内核层的应用程序开

10、发非常灵活,程序具有非常好的可移植性和可维护性,所以除非对反应速度要求十分严格的情况,应用程序应尽量在微内核层开发。-./0 1 2 3 2的多层结构为编程者提供了较大范围的操作选择,图6展示了一个不同-./0 1 2 3 2层之间相互作用的典型例子:低层比高层的优先级高,低层活动可以抢占任何正在运行的比其层次高的任务6。任务优先级可根据所需的反应速度或任务发生的频率划分。此外,为处理程序运行中发生的特殊情况,可以通过调用微内核服务实时地改变任务的优先级。图6-./0 1 2 3 2各层间的相互作用!#目标和服务 7 8 7 微内核类-./0 1 2 3 2是完全结构化的系统,通过使用目标支持

11、用户编写结构化的应用程序。目标是指称-./0 1 2 3 2所提供的应用于程序中数据和代码结构体的术语,每个目标都有一个仅可通过核服务进入的界面。-./0 1 2 3 2提供了若干服务,服务是针对目标的各种操作而定义的一些子程序,在应用程序中可将它们看作命令或宏指令,实际系统开发中,程序员只需运用目标及相应服务完成任务分配、数据传输和信息传递。目标必须预先在工程文件中进行定义,其命名是基于全局的,一个应用程序内所有目标无论是否为同一类型,以及是否属于同一任务,其名称必须相异。在编译阶段系统为每个目标分配一个8 6位字的标识,其高 9位表示目标所在的处理器,低 9位表示处理器上不同的目标,如某一

12、目标的#)号为&:&6&+,表示在处理器&:&6上的&:&+目标。-./0 1 2 3 2定义了九个目标:任务、节点、信号量、事件、资源、邮箱、队列(或;#;?表示号处理器,处理器与节点一一对应。任务是应用程序源代码中的函数,函数名就是任务名。任务是应用程序甚至整个系统的核心,一个应用程序就是若干任务的集合,其他目标及其相应的服务均以任务为中心,分布在各个任务之中,为任务服务,每个任务拥有一套独立的系统资源。任务是惟一需要手工编写代码的目标,所以称为代码目标,而其他目标称为数据目标。其他目标按功能的不同可分为同步目标、通信目标和存储器分配目标。同步目标用于任务间的同步,包括信号量、事件和资源。

13、信号量是全局性的,可用作计数器,当任务通过服务或中断服务程序发信号至信号量,其值增加,其他任务通过检测信号量值的变化达到同步。事件的工作方式与信号量相似,不同的是事件只有两个状态:有信号和无信号,可以看作是简单的信号量,发信号到事件与增加信号量值在本质上是相同的,可将两者均称为信号。第三种同步目标是资源,它是一逻辑装置,用来控制实际物理设备的使用,如同将事件看作简单的信号量,资源表示另一种信号量,它代表实际的系统资源,如硬件工作端口、存储器、存储块,共享数据结构或信息队列。通信目标用于信息与数据的传输,包括邮箱和;#;。邮箱和;#;都能完成数据和信息的传递,但邮箱的功能更强大,能满足大多数通信

14、需要,它可以工作在同步或非同步的状态,邮箱的发送方和接受方均可鉴定对方的身份,发送方可以指定接受方,也可不指定接受方。;#;只是简单的先进先出队列,只能处理小批量固定大小的数据,工作在严格的非同步和匿名状态。存储器分配目标包括存储池和存储器分配图。将多个任务分配到存储器过程中,由于各个任务所要求的存储区的大小不同,会产生许多碎片,而在自由空间分布不确定的存储空间中,寻找满足大小要求的连续存储区又会造成程序执行时间的不确定性。为解决以上问题,-./0 1 2 3 2用存储池或存储器分配图管理存储器,二者都将存储空间分成许多固定大小的存储块,但存储器分配图中存储块的&微 机 发 展第 8卷万方数据

15、大小是固定的,而存储池中的存储块的大小可以根据实际需要在一定范围动态分配,更加灵活、高效,因此!#$%&推荐使用存储池方式管理存储器空间。()*)+毫微内核类通道是毫微内核的数据目标,共有三类:信号量通道、队列通道、堆栈通道,每个通道定义一类数据结构以及一套相应的毫微内核服务。毫微内核的结构因处理器的不同而不同,相对于数据目标所提供的服务也相异,所以进程是不可移植的。对进程的具体操作需要结合不同的,-.结构(略)。!#$%&()*)集成开发环境及其工具!#$%&提供了一套功能完善的/0 1&2 支持的工具,由这些工具组成的!#$%&集成开发环境(!#$%&3,4)作为!#$%&核的补充,大大简

16、化和加快了应用程序的开发。其中系统定义工具通过图形方式配置系统中节点,使得任务在节点间分配、目标的定义等十分容易操作。!#$%&3,4中的其他工具可以自动完成应用程序的编译、加载、运行,并为程序调试提供所有目标的动态信息,程序运行的结果可调用实时运行库中函数,通过主机设备实现输出操作。!#$%&工具包括项目管理器、主机服务、任务级调试器、主机扩展包、实时运行库等。+应用程序的开发+!板支持包(,-.:,)/&0-(1 1)&./2 3/4 5)5-.连接,-.系统与主机服务,为目标板的硬件功能提供统一的软件接口(包括硬件初始化、中断的产生和处理、硬件时钟、内存地址映射等),写5-.是!#$%&

17、应用程序甚至整个应用系统开发较重要的部分,其关键是确定主机与目标板之间如何传递数据,而目标板根处理器通常提供双端口6 78或9 3 9:,由此利用主机扩展包(;4 0&0#公司提供的基类派生出新的AA类,仅这些新类的一些在源代码模板中指定虚函数需要执行。在目标板产生两个函数和一个中断管理器,函数的源代码例程由;4 C$9 D),E F 3文件(E$2&#GF&H 1#3 0 I&#J H$&09 D),F,9文件(F 0 G#,C#K$&09 D)。!.9文件连接硬件与软件,包含与工程相关的全部信息,定义所有的目标;E F 3文件描述处理器的配置,包括所有目标板的类型、目标板上处理器的数目和类

18、型、与主机通讯的根处理器以及其他处理器的引导链路;F,9文件描述处理器存储器的层次。以上文件可使用任何文本编辑器或!#$%&项目管理器创建。一个应用程序生成可执行文件的过程如图*所示。图*可执行文件生成过程!#$%&文件生成工具利用E F 3文件和!.9文件生成中间文件:0&1 !L C(如0&1 (L C,0&1 +L C)、0&1 !L M和H D D 0&1 L M。0&1 !L M定义所有处理器的目标,0&1 !L C包含J H 0()程序,用于初始化处理器、同步系统中处理器,启动在工程文件中定义的随引导启动的用户任务,H D D 0&1 L M为工程文件中定义的全局目标分配一个系统范

19、围的标识。!#$%&用这些中间文件为做输入,再加上应用程序源代码和F,9文件,经过编译链接最终生成可执行文件。+6程序开发的几个问题为提高系统的实时性和效率,在具体的应用程序开发中应注意以下问题:对于不同的,-.,!#$%&结构和所提供服务是有差别的,比如完整的系统有两个中断层,但具体使用的系统可能只有一个或没有,而毫微核层的服务也依,-.不同而有差异。#在多级程序设计中,底层程序的执行速度通常较高层快,然而,有些计算在任务层执行更快,因为微内核有更多的寄存器。具体编程只能利用调试工具反复实验以使系统效率最高。$多处理器系统中,控制通信开销对提高系统效率非常重要,需注意的方面:程序设计要简洁,

20、结构要清楚,任务要有显著的输入输出描述,防止没必要的通信;如果任务太大,分成若干子任务;保持相关目标在同一或相邻,-.,如两任务通过一个9 3 9:通信,应将三个目标放在同一个,-.中。6总结!#$%&能够应用于各种拓扑结构的目标系统,从无主机通讯的单个嵌入式处理器到基于主机系统(如/0 N1&2,O 0 =,!=2&#G等)的多处理器。无论基于何种目标系统,!#$%&应用程序总是能实现运行速度与可移植性的最佳结合。尽管!#$%&的广泛适应性相对于某一具体的系统会产生许多冗余,但!#$%&特定的-&I$N-$H D$M技术可将多余代码删除,在目标板上产生一个较小的系统配置,!#$%&的这种可裁

21、减性使得一个典型的配置仅占+P P字节左右的空间,而完全的配置大约需要(P G 5,通常的应用程序代码约+G 5%*G 5字*。虽然提供了如此强大的功能,!#$%&仍是目前最小最快的实时操作系统。文中详细讨论了!#$%&体系结构及其核心思想,对多,-.系统的应用程序的开发做了一些探讨,但对于(下转第Q R页)(第(期林勇鹏等:实时操作系统!#$%&在多,-.系统中的应用万方数据在试卷中所占的分值比例。在实际计算难度分布时,为保证在区间!,上的概率和为!,应将(#,!和,#)区间的概率加入到!,区间中。为此,进行如下处理:用$,$,$%,$&,$分别表示各难度试题所占概率,每个难度区间的概率即为

22、该难度试题在试卷中所占的分值比例,将(#,!和,#)区间的概率$!按各难度所占概率的比例分别加入到各难度区间,则有:$%$&#$!$&$%$(#$!$($%$)#$!$)$&%$*#$!$*$%$+#$!$+$其中:$&%!($!,,!($(-))-$(%!(&!.$!,,!($(-))-$)%!(*!.&!,,!($(-))-$*%!(+!.*!,,!($(-))-$+%!.+!,,!($(-))-$!%!#!,,!($(-))-#!#!,,!($(-))-$%$&#$(#$)#$*#$+!实例及分析由给定的不同组卷期望值!,,根据以上算法计算出的试卷试题难度分布比例如表$所示。表$试卷试题

23、难度分布比例表组卷期望值!,难度级别/分布比例(-.)$(-$.)%(-%.)&(-&.)(-.)试卷平均难度/0!1*!&1 2 3*1 3*%!1 3%!1 3 *1 3*%1&!1 3 1!&$!1%*%$1 !$3 1 +$1 2$%1$!1 !2 1*3$&1!&%$1 3$&1!&2 1*3%1!1&$1 2$3 1 +%$1 !$!1%*3 1!&$1+!1&!*1 3*%!1 3%!1 3 *1 3*&1 2 3$1*表中:/040%/$/0%$/从表$计算结果可以看出在给定的各种组卷期望值!,下,试卷试题各难度所占比例(概率)较好地体现了考查考生掌握基本知识和基本技能,应用知

24、识分析问题和解决问题的知识和能力层次的考核要求。相对于通过设定组卷难度区间的概率和为!.来取标准差值的难度正态分布算法,试卷试题各难度分布更好地符合了组卷难度分布设计所要求的生成试卷对不同考生的知识能力的区分和鉴别的区分度要求。以表$作为组卷的框架,结合题型属性集合生成的计算机组成原理 试卷的学生考试成绩分布比例和平均成绩的一组统计值如表%所示。表%考试成绩分布比例和平均成绩组卷期望值!,成绩分布比例!#&!分&!#*!分*!#+!分+!#!分实际平均成绩5 6!1*!%1+$3 1 3&!1!+1*%1%3!1 !*1$*1 2!1 3$*1$*+1&!1&!%1$1%&2 1$%1&3 1

25、$!由表%统计结果可以看出,考试的实际平均成绩5 6与表$的试卷平均难度/0基本相符,符合组卷期望值!,的要求。且考试成绩分布比例与学生平时的学习情况也基本相符,较好地体现了试卷对不同考生的知识和能力层次的考核要求,表明了算法的有效性。结论依据组卷的区分度*指标要求,结合经验知识确定算法参数取值的智能组卷难度正态分布算法,较好地满足了组卷难度分布设计对生成试卷区分度的要求。实例表明,在体现组卷难度分布设计所要求的生成试卷对不同考生的知识能力的区分和鉴别的要求上,要优于基于概率和为!.的组卷难度分布算法。以该算法作为组卷的框架,结合题型属性集合进行组卷的智能组卷系统已在开发的计算机辅助教学系统中

26、得到了很好的实施,取得了满意的效果。参考文献:黄丽雯,陈渝光1一种有效的试题库框架设计算法 61计算机应用,$!,$!():*!7*1$刘彬1智能组卷系统中专家知识的表示与实现 61计算机工程与应用,$!$,%+(3):$2 7$%1%毛秉毅1一种计算试卷中试题难度分布的有效方法 61计算机工程,$!$,$+(*):$+!7$+1&国家教委考试中心1题库建设理论与实践 81北京:光明日报出版社,2 2 1 7$1 华如海,王俊普1基于约束满足的智能组卷方法的研究与实现 61计算机应用研究,$!,3():$!7$1*吴亚森,孙爱霞1概率论与数理统计 81广州:华南理工大学出版社,2 2 2 1

27、!+7 *,#3%7 2!1(上接第 页)9:-的编写以及具体的描述性文件(如/;等)没有作进一步的论述,只能在实际应用中熟悉。参考文献:苏涛1高性能0:-与高速实时信号处理 81西安:西安电子科技大学出版社,$!$($?A B C:D E F G,E A C 1=B H F I E I E G HJ I B)G81 9 G K J B I,:L:-H G E E,$!(%=G H M I K E F?1=B H F I E N G C M A B C O KL P G H P B G Q R F M G:R F:F G O K F MS N L:R H0:-O A)T:5C H G E81

28、9 E F A:U K I Q G HT C O)G,B C-H G E E,2 2+(3&第 期彭勇:基于区分度的智能组卷难度正态分布算法万方数据实时操作系统Virtuoso在多DSP系统中的应用实时操作系统Virtuoso在多DSP系统中的应用作者:林勇鹏,吴顺君,苏涛作者单位:西安电子科技大学,雷达信号处理国家重点实验室,陕西,西安,710071刊名:微机发展英文刊名:MICROCOMPUTER DEVELOPMENT年,卷(期):2003,13(11)参考文献(3条)参考文献(3条)1.Verhulst E Virtuoso Technical Overview of the SoftStealth RTOS for DSP and ASIC cores 19982.Eonic Systems Inc Virtuoso user guide 20003.苏涛 高性能DSP与高速实时信号处理 2002 本文链接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁