实时操作系统Virtuoso在多DSP系统中的应用.pdf
《实时操作系统Virtuoso在多DSP系统中的应用.pdf》由会员分享,可在线阅读,更多相关《实时操作系统Virtuoso在多DSP系统中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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卷万方数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 操作系统 Virtuoso DSP 系统 中的 应用
限制150内