多总线多DSP实时图像处理操作系统的设计与实现.pdf
《多总线多DSP实时图像处理操作系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《多总线多DSP实时图像处理操作系统的设计与实现.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第!卷第#期!$!年#月计算机学报%&()*)+,%-./01)2*34 5 6!(4 6#+7 5 8!$!多总线多9:;实时图像处理操作系统的设计与实现曹治国=王岳环=左峥嵘=桑农!=汪国有!=张天序!=华中科技大学图像识别与人工智能研究所武汉?$#?=!=华中科技大学图像信息处理与智能控制教育部重点实验室武汉?$#?=收稿日期A!$B !B C修改稿收到日期A!$!B$!B!D$!$=资助6曹治国E男E F D?年生E博士E副教授E研究方向为模式识别G图像分析和图像并行处理系统等6)B HI J 5 AK L M I 4 NO J P I 6 M 4 H6王岳环E男E F#!年生E博士E
2、讲师E研究方向为图像处理及并行处理系统等6左峥嵘E男E F D F年生E博士研究生E研究方向为模式识别G图像处理等6桑农E男E F D Q年生E博士E教授E研究方向为模式识别G图像分析G神经网络等6汪国有E男E F D 年生E硕士E教授E研究方向为并行处理系统G图像处理等6张天序E男E F?#年生E博士E教授E博士生导师E研究方向为图像分析与智能系统G机器视觉等6摘要该文针对多总线多R*/实时图像识别系统E设计并实现了一个并行操作系统6它包括嵌入到R*/芯片上的操作系统和运行在/%机上的协议软件两部分6协议软件提供一个人机界面E接收算法的分解信息E并将其按一定的数据结构组织E再将所有的子任务及
3、其分解信息连接成一个作业6 R*/上的操作系统支持作业从上位机上加载E或通过)/2-.加载6操作系统支持3S 总线标准E并提供了数据通信G任务分配和并发进程管理等功能6它根据任务分解信息E分配硬件资源E构造数据流向E建立子任务相互间的同步关系E完成与上位机的联络并输出结果6实验结果表明E该文设计的硬件及其操作系统能够适应不同并行结构的需要E并得到满意的图像并行处理效果6关键词操作系统E实时图像处理E并行系统E R*/E 3S 总线中图法分类号A1/F 9 T U V W XY X Z T T X _ Y _ V X a b T c Y _ V X W:d U _ T a ce T Y f g
4、V T Y W T;c h T U U V X Wi V h Y _ V X U j Y U T Z Xkl _ V T f j l U Y X Zkl _ V f 9:;U:d U _ T%m-n o J B p 7 4=qm(pr7 s B&7 I P=n 0-n o s P L B 2 4 P L=*m(p(4 P L!=qm(pp 7 4 B r4 7!=n&m(p1 J I P B S 7!=t u v w x w y w z|!w w z u z#|$u x w x|u!u%&w x x#x!t u w z x$z u#z E(y!)*|u$+u x,z v x w-|.#x z
5、u#z!u%/z#*u|$-E0y*!u?$#?=!=1z-2!3|!w|-|t 4!$z|#z v v x u$!u%t u w z x$z u w 5|u w|E(y!)*|u$+u x,z v x w-|.#x z u#z!u%/z#*u|$-E0y*!u?$#?=i 6 U _ c Y h _1 o J O7 I 7 s 8J P 9 8 4:7 M s OI7 I 8 I 5 5 s 5 4 7 s 8 I 9 J P LO 8 O 9 s H;I O s:4 PH7 5 9 J 7 5 s B;7 OI P:H7 5 9 J BR*/OO 7 7 7 4 8 98 s I 5 B
6、9 J HsJ HI L s7 8 4 M s O O J P LO 8 O 9 s H6 9J P M 5 7:s OI P4 7 s 8 I 9 J P LO 8 O 9 s H s H;s:s:J PR*/I P:7 8 4 9 4 M 4 5 O 4 9=I 8 s8 7 PJ PIM 4 H7 7 9 s 8 61 o s7 8 4 9 4 M 4 5 O 4 J:s OI PJ P 9 s 8 I M s9 44;B9 I J P:s M 4 H7 4 O J 9 J 4 PJ P 4 8 HI 9 J 4 P4 I PI 5 L 4 8 J 9 o HI P:M 5 7 O 9
7、s 8 O 9 o s H9 4 L s 9 o s 8 I M M 4 8:J P L9 47 I 8 9 J M 7 5 I 8:I 9 IO 9 8 7 M 9 7 8 s:s J P s:;8I 7 9 o 4 8 O 61 o s P EJ 9;J P:O I 5 5 O 7;B 9 I O?O I P:7 I 8 9 J 9 J 4 PJ P 4 8 HI 9 J 4 P9 4 L s 9 o s 89 4 4 8 H I9 I O?61 o s9 I O?J O5 4 I:s:8 4 H Io 4 O 9 E5 J?s7 s 8 O 4 P I 5 M 4 H7 7 9 s 8
8、E4 8 8 4 H)/2-.;89 o s4 7 s 8 I 9 J P LO 8 O 9 s Hs H;s:s:J PR*/61 o s 4 7 s 8 I 9 J P LO 8 O 9 s HO 7 7 7 4 8 9 O 3S ;7 O O 8 O 9 s HO 7 s M J J:s OO 4 Hs 7 P M 9 J 4 P OO 7 M oI O:I 9 IM 4 HH7 P J M I 9 J 4 P O E9 I O?I O O J L P Hs P 9 EM 4 P M 7 8 8 s P M s7 8 4 M s O OHI P I L s Hs P 9 EI P:O 4
9、4 P 6 9I 5 5 4 M I 9 s O8 s O 4 7 8 M s O EM 4 P O 9 8 7 M 9 O:I 9 I 5 4=:J 8 s M 9 J 4 P EM 4 P J 8 HOO 8 P BM o 8 4 P 4 7 O8 s 5 I 9 J 4 P;s 9=s s PO 7;B 9 I O?OI M M 4 8:J P L9 49 o s7 I 8 9 J 9 J 4 PJ P 4 8 HI 9 J 4 P4 9 o s9 I O?E8 s I 5 J K s OM 4 HH7 P J M I 9 J 4 P O=J 9 o9 o sO 8 O 9 s H Oo
10、 4 O 9I P:4 7 9 7 7 9 O9 o s8 s O 7 5 9 O 61 o ss A 7 s 8 J Hs P 98 s O 7 5 9 OO o 4=9 o I 9 9 o s8 s I 5 B 9 J HsJ HI L s7 8 4 M s O O J P L4 7 s 8 I 9 J P LO 8 O 9 s H M I PHs s 99 o s:s HI P:O4 :J s 8 s P 97 I 8 I 5 5 s 5O 9 8 7 M 9 7 8 sI P:4;9 I J PO I 9 J O I M 9 4 8 8s s M 9 O4 P7 I 8 I 5 5 s
11、 5 J HI L s7 8 4 M s O O J P LI 5 L 4 8 J 9 o HO 6BT d C c Z U4 7 s 8 I 9 J P LO 8 O 9 s HE8 s I 5 B 9 J HsJ HI L s7 8 4 M s O O J P L E7 I 8 I 5 5 s 5 O 8 O 9 s HER*/EDD D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
12、3S E 7 O万方数据!引言实时图像处理技术在工业医学军事和商业等领域有着广泛的应用前景#然而#由于需要处理的数据量非常大#并且一些高层次的图像分析系统常常包含有诸如分割检测标记和识别等比较复杂的算法#因此#要对图像进行实时处理不可避免地要采用多$%&构成的并行处理系统来完成()*+,应用于高层次的图像分析-尤其是序列图像.其并行处理方式有别于一般如/0卷积之类单纯用于科学计算的并行处理#一方面系统执行的图像处理任务往往包含多个子过程#如滤波直方图均衡分割标记特征提取和识别等#并不仅仅是某一个单纯的科学计算#而每一个图像处理任务在执行时已由算法研究人员确定了该任务包含哪些子过程1另一方面算法
13、研究人员可根据算法的特点#在执行该算法前对算法作并行化分析#选择合适的并行化处理结构,不同的算法采用不同的并行机制可以获得各自最佳的性能#因此#系统结构要和算法结构相匹配,很多图像处理系统正是根据特定算法的特点而设计的()2+,不过#在一个实际的图像处理过程中往往会包括多个步骤才能获得最终结果#不同的步骤会用到不同的算法#不同的算法可能对应不同的并行机制#所以#要求并行处理系统能适应不同算法的并行处理结构#因此系统控制软件必须具有任务调度资源分配和进程管理等功能以及支持系统计算能力扩展的功能,但文献(#3#*+都不支持计算能力的扩展#文献 2#4+从系统结构上说虽可以在一定范围内扩展#但系统中
14、各$%&模块间的数据流又是确定的,另外#文献()4+都没有涉及到操作系统的设计#而传统的操作系统对于实时图像处理系统来说不是一个好的工作平台#在这些操作系统中#对每一个处理器的资源分配都是基于一般目的的调度算法#这些算法提供了吞吐量与响应时间之间的平衡和资源分配的公平性#它们根本不知道应用程序正在做什么或要求什么 5+,文献 6+介绍了一种基于库结构的操作系统概念#它的基本思想就是把操作系统中那些可在用户级运行的部分作为应用处理的一部分来执行#操作系统被作为一种可与应用共享的库的集合来实现,利用这种思想设计的操作系统可用以支持多媒体应用-如视频点播.7+#但多媒体应用实质上还是一种软实时的应用
15、系统#它们需要正确的时间行为#但即使错过了最后期限#也不会导致灾难性的后果#只不过是影响了服务质量而招致用户的抱怨而已 8+,可是#用于图像分析的并行实时处理系统是不允许的#尤其是在图像识别的某些应用领域#错过了最后期限#将导致灾难性的后果#这属于硬实时应用,文献*+针对由4片$%&以环的形式通过通信口互连构成共享存储器的多机系统#采用实时系统的层次体系结构设计了并行操作系统(9+#考虑了进程管理尤其是对共享存储器访问冲突的问题#但没有涉及到适应不同并行结构的问题,而在图像分析系统中#不同的算法很可能会选择不同的并行结构,本文针对多总线多$%&实时图像处理系统研制了实时操作系统#其特点在于系统
16、能满足硬实时应用的要求#能根据算法的需要构造不同的数据流#以适应不同并行结构的需要#增强了系统的适应能力,同时#系统具有:即插即用;功能#即操作系统能自己测试到系统中的$%&个数#具有可扩充性,文中在描述图像处理系统硬件结构的基础上#介绍了设计协议软件的设计思想#然后重点介绍了运行于$%&上并行操作系统的实现方法#最后给出了实验结果,?多总线实时图像处理系统图(是我们研制的并行系统总体框图,$%&采用的是$公司的$%&3(9 5 9芯片,多处理器之间的关系符合主从模式结构#一块主控板和A块扩展板通过公共总线方式连接在一起,总线有两路#一路是系统总线#它符合BC D总线规范#主控板和每个扩展板都
17、分别为BC D总线的一个模件1另一路是视频总线#它由5组双工总线组成#可同时支持5对模件之间以4 9 EF G H的速度传输数据,主控板有一片$%&3(9 5 9#它作为系统的主控既负责与上位机的通信#如接收上位机的命令完成诸如:系统总线检测;:视频总线检测;:程序加载;:参数加载;:图像数据加载;和:算法启动;等任务以及完成结果图像的显示任务#又作为BC D消息基器件#承担BC D总线的资源管理器的职责#负责检测各模件的初始状态识别器件类型建立各模件间层次关系分配D I J线启动器件正常工作以及负责模件间的消息通信,更重要的是它在并行操作系统中不仅要承担任务调度资源分配和并发进程管理的任务#
18、还要完成算法中的一些工作,每个扩展板可有一片或多片$%&3(9 5 9#它们同样被设计成消息基器件#各个3计算机学报3 9 9 3年万方数据扩展板的硬件结构是一样的!但扩展板之间的层次关系可由主控#$分配!算法程序可利用主控板通过视频总线加载到从模件上%扩展板主要用来完成算法的计算工作!它通过系统总线接收主控板的消息和有关算法的参数!通过视频总线接收和传送图像数据%显示图像数据&显示板上位机接口板()总线视频数据总线#$扩展板*#$扩展板+串口串口#$扩展板,图+多#$系统总体框图针对上述硬件系统的特点!操作系统必须包括初始化-中断管理-数据通信-任务调度-资源分配-并发处理和系统总线管理等%
19、考虑到算法的多样性以及系统实时性的要求!我们将任务分解从操作系统中剥离出来!作为一个可以运行在./0 1 2 34环境下的独立程序!我们称之为协议软件!它不用安装到并行操作系统中去!其任务就是给算法研究人员提供一个界面!使其能将所有欲加载到#$上的并行算法中有关每个算法分解的信息输入到界面中!因此!在介绍操作系统的设计思想时!首先要介绍协议软件的内容和实现方法%5协议软件的设计与实现在操作系统层和应用层之间设计一个协议软件!是基于如下考虑6 7+8图像处理算法需要处理的数据量大!如果又有实时要求的话!在目前的技术条件下!只能通过并行处理的方法才能实现!所以算法研究人员通常要考虑算法的并行问题!
20、因此!将算法分解任务放在操作系统以外进行是符合实际情况并能提高系统运行效率的9 7*8将算法研究人员和硬件隔离开来!这样在算法或硬件改变时不会影响工作!从而增加了系统的灵活性!提高了工作效率%算法研究人员根据并行系统的#$数目!对算法进行任务分解!实质上是在完成进程创建的工作%由协议软件帮助算法研究人员去生成子任务描述块:1;!在程序界面的引导下!算法研究人员填入:1;所需要的参数!同时指定各子任务执行文件的路径!协议软件的输出就是一个已分解好的子任务集合%图*是/?A B C 1是文件头!它说明该文件有几个待传送的数据块如DC/0%E -E:+%E 等-各个数据块的起始地址-目的板号和数据块
21、长度%DC/0%E 是 要 加 载 到 主 控 板#$内 存 中 的 程 序!它 由DC/0 E A B C 1-:1;和DC/0 A F G 2 H等部分组成!DC/0 AF G 2 H指的是将要在主控板上运行的算法程序!它可以由好几个模块组成!如DC/0 A F G 2 H+!DC/0 A F G 2 H*!&!DC/0 A F G 2 H 0等!不同的模块是不同算法中的一个子任务!例如DC/0 A F G 2 H+可能是检测算法中的一个子任务!DC/0 A F G 2 H*可能是跟踪算法中的一个子任务等等!它们都已经是编译好了的 E 文件%:1;是子任务描述块!操作系统需要根据:1;中的
22、信息来构造并行结构-进行任务调度和并发处理!由于扩展板受到主控板的控制!所以只有主控板需要:1;!扩展板不需要%DC/0 E A B C 1中存放的是DC/0%E 的构成信息!包括有几个模块-各自的长度和每个模块放在内存中的入口地址%E:+%E !E:*%E !&!E:0%E 分别是要加载到扩展板#$+至#$0的程序%程序的组成和DC/0%E 相似!只是没有:1;模块%/?A B C 1DC/0%E DC/0 E A B C 1I 1;DC/0 A F G 2 H+DC/0 A F G 2 H*JDC/0 A F G 2 H 0 E:+%E E:+E A B C 1 E:+A F G 2 H+
23、E:+A F G 2 H*J E:+A F G 2 H 0J E:0%E E:0 A B C 1 E:0 A F G 2 H+E:0 A F G 2 H*J E:0 A F G 2 H 0图*协议层文件格式:1;模块中包括算法数-每个算法的子任务数和子任务编号!具有该子任务的板号和#$号-该子任务的数据来源和去向等属性%这些属性被定义成一个数据结构!其中!每个属性的数组大小是可变的!它可通过该属性的上一级属性的内容来确定!例如6属性第/个算法子任务数=的数组大小等于属KL期曹治国等6多总线多#$实时图像处理操作系统的设计与实现万方数据性!算法数的值#!第$个子任务的编号等属性的数组大小等于所有
24、!算法子任务数之和等%数据结构的组成有一定的规律&使操作系统能够理解其含义%定义%假设子任务的个数为(&则子任务的集合定义为)*+,-&,.&/&,(0&其中,是一个五元组&,*1 2 34&56&2 33&2 7 8 9&2 3:;&2 34表示承担该子任务的节点机&56是信号灯&该子任务的结果送到2 33表示的节点机&2 7 8 9表示该子任务的输入数据从几个节点机送来&2 3:表示该子任务数据来源的节点机%2 34包 含 两 个 属 性?号3 6 4&即2 34*1 2 7 8 4&3 6 4;&为了符合AB C总线规范&必须先确定板号才能找到=?号&因此每当提到某个节点机时实际上指的是
25、某块板上的某一个=?%操作系统在进行并发处理时&要用到56%2 33有D个属性?号3 6 3和数据大小3F 5 G H F&即2 33*1 2 7 8 3&3 6 3&3F 5 G H F;%当该子任务的结果要传给多个目标节点机时&它就是个数组了%2 3:也有板号2 7 8:E=?号3 6:和数据大小5,7 5 G H F这D个属性&2 3:*1 2 7 8:&3 6:&5,7 5 G H F;%如果它是数组&其数组大小就是2 7 8 9的大小%2 33&2 7 8 9和2 3:主要是为操作系统提供调度依据%协议软件的程序流程如下 I J K-%通过人机界面&获得I L M参数和各个子任务的文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 总线 DSP 实时 图像 处理 操作系统 设计 实现
限制150内