节点文献
基于媒体芯片的实时操作系统实现研究
Study on RTOS Based on System on Chip for Media Application
【作者】 成杏梅;
【作者基本信息】 浙江大学 , 通信与信息系统, 2008, 博士
【摘要】 芯片设计技术及半导体技术的发展使得系统集成在一个芯片上成为可能,嵌入式系统设计进入片上系统芯片时代。同时,多媒体应用的发展对系统提出了更高的处理能力。多处理器系统芯片以其强大的处理能力、低功耗以及良好的灵活性等成为媒体处理解决方案的一个热点。由于实时操作系统屏蔽了硬件细节,有助于提高应用程序的可移植性和可重用性,提高系统的稳定性,缩短芯片的上市时间,成为系统芯片软件系统中非常重要的一部分。作者参与了浙江大学信息与电子工程学系SoC R&D小组承担的具有自主知识产权的媒体系统芯片MediaSoC3221A和高性能多处理器媒体系统芯片MediaSOC64x软件系统方面的工作,展开了嵌入式实时操作系统的设计研究。本文在实验室原有实时操作系统Iota工作的基础之上,不断增强其功能,发展成为新版的实时操作系统。本文的主要内容包括:基于任务管理的实时操作系统内核的设计实现,支持MPSoC编程的面向对象的调度实现,以及基于实时操作系统实现的MPSoC的调试功能。本文在Iota原有的基础上,首先进行了其在Media-SoC芯片上的测试验证工作。针对MPEG-1解码系统,本文进行了其任务分解和任务性质分析,并给出了基于实时操作系统实现的任务管理调度。实时操作系统的任务管理调度带来了一些系统开销。但是它大大简化了程序员的编程工作。实验室正在研发多处理器媒体系统芯片MediaSOC64x主要面向高性能媒体应用,如MPEG4、H.264等。原有的Iota对多处理器系统芯片支持不足,并且其住任务个数越来越多的情况下,原有的任务管理模式带来的系统开销太大。本文根据媒体应用的特点,提出了一种新的区别于任务管理的调度模式,即面向对象的调皮。面向对象的调度根据粗颗粒度数据流图,将各个对象静态地分配剑各个处理器上,对象之间的连接关系在系统初始化时注册到系统中。各个处理器上的指示器根据对象之间的连接关系管理各个对象的运行,达到多个处理器协调工作,最终实现整个数据流的处理过程。这种调度模式支持多处理器系统芯片编程,具有系统开销小,代码小,良好的灵活性等特点。异质多处理器系统芯片的出现也给调试功能的实现带来了难度。本文从开发时间,实现成本方面进行综合考虑,提出了基于实时操作系统实现MPSoC的调试功能。为了保证操作系统本身执行正确,本文首先进行了操作系统功能的调试。这部分工作充分利用了硬件EJTAG模块的支持,开发了相应的软件RDView。操作系统执行正确后,可以利用其增加的调试管理模块实现MPSoC的调试功能。操作系统的调试管理模块包括调试命令集,输入命令和观看结果的人机界面以及执行命令模块。通过操作系统内部设置的调试进程,协调了命令发送端和处理器核上执行调试命令模块这两部分间同步和数据的转发,并通过执行调试命令模块接收执行命令实现MPSoC的调试功能。
【Abstract】 The development of chip design and semiconductor technique makes the system integrated into a chip possible.The embedded system design goes to System-on-Chip(SoC) era.Meanwhile, media application development requires more processing ability.Multiprocessors system on one chip(MPSOC) is a trend for media application due to its powerful processing ability,low power consumption and flexibility.Because real-time operating systems can screen the details of hardware,improve the portability and reusability of application,improve the stability of system and reduce the time that chip goes to the market,it becomes one of the most important part of software system of SoC.The author takes part in software research work for MediaSoC3221A and high performance MPSoC,named MediaSoC64x that developed by SoC R&D group of information and electronics engineering department of Zhejiang University.The author is responsible for embedded RTOS design.This paper is based on the RTOS Iota.The author enhances the Iota function and develops it to new edition.The work that RTOS kernel design based on task management,an object oriented scheduling that supported MPSoC programming and the debug function realization based on RTOS for MPSoC is included in this paper.This paper carries on the work that Iota running in Media-SoC firstly.For MPEG-1 decoding system,this paper divides application into several tasks,analyzes the characteristic of these tasks and gives the task management scheduling realization that based on RTOS.Although the task management of RTOS increases system overhead,it simplifies the application programmer work greatly.The MPSoC MediaSoC64x under developing is mainly for high performance media application,such as MPEG-4,H.264.Iota is not fit for MPSoC and system overhead will large under more tasks.According to characteristic of media application,this paper presents new scheduling model that different from task management,namely an object oriented model scheduling.An object oriented model scheduling assigns each object into processors of MPSoC according to coarse grain data flow graph(CGDFG).The connection relationship between objects is registered in RTOS during its initialization process.The directors hosted on every processor manage the objects according to their connection relation and make the processors work together to finish the data flow process.This scheduling model supports MPSoC programming.It has the characteristics of low system overhead,small code and flexibility.The advent of heterogeneous MPSoC causes more difficulty tbr debug function realization. This paper compromises the factors of develop time and realization cost.and presents software implementation method of debug function based on RTOS.For making sure RTOS correctness. debug work of RTOS is carried out firstly.This part utilizes the hardware module EJTAG support and software project named RDView is developed.The debug management module of RTOS can realize the debug function of MPSoC after RTOS is debugged right.The debug management module of RTOS is comprised of three parts,debug command set part,the interface between human and computer for command input and result output part and execution command module part.The debug process in RTOS realizes data synchronization and transmission between command input part and execution command part.The execution command part hosted on different processors can execute debug command to realize debug function for MPSoC.