论文部分内容阅读
芯片设计技术及半导体技术的发展使得系统集成在一个芯片上成为可能,嵌入式系统设计进入片上系统芯片时代。同时,多媒体应用的发展对系统提出了更高的处理能力。多处理器系统芯片以其强大的处理能力、低功耗以及良好的灵活性等成为媒体处理解决方案的一个热点。由于实时操作系统屏蔽了硬件细节,有助于提高应用程序的可移植性和可重用性,提高系统的稳定性,缩短芯片的上市时间,成为系统芯片软件系统中非常重要的一部分。作者参与了浙江大学信息与电子工程学系SoC R&D小组承担的具有自主知识产权的媒体系统芯片MediaSoC3221A和高性能多处理器媒体系统芯片MediaSOC64x软件系统方面的工作,展开了嵌入式实时操作系统的设计研究。本文在实验室原有实时操作系统Iota工作的基础之上,不断增强其功能,发展成为新版的实时操作系统。本文的主要内容包括:基于任务管理的实时操作系统内核的设计实现,支持MPSoC编程的面向对象的调度实现,以及基于实时操作系统实现的MPSoC的调试功能。本文在Iota原有的基础上,首先进行了其在Media-SoC芯片上的测试验证工作。针对MPEG-1解码系统,本文进行了其任务分解和任务性质分析,并给出了基于实时操作系统实现的任务管理调度。实时操作系统的任务管理调度带来了一些系统开销。但是它大大简化了程序员的编程工作。实验室正在研发多处理器媒体系统芯片MediaSOC64x主要面向高性能媒体应用,如MPEG4、H.264等。原有的Iota对多处理器系统芯片支持不足,并且其住任务个数越来越多的情况下,原有的任务管理模式带来的系统开销太大。本文根据媒体应用的特点,提出了一种新的区别于任务管理的调度模式,即面向对象的调皮。面向对象的调度根据粗颗粒度数据流图,将各个对象静态地分配剑各个处理器上,对象之间的连接关系在系统初始化时注册到系统中。各个处理器上的指示器根据对象之间的连接关系管理各个对象的运行,达到多个处理器协调工作,最终实现整个数据流的处理过程。这种调度模式支持多处理器系统芯片编程,具有系统开销小,代码小,良好的灵活性等特点。异质多处理器系统芯片的出现也给调试功能的实现带来了难度。本文从开发时间,实现成本方面进行综合考虑,提出了基于实时操作系统实现MPSoC的调试功能。为了保证操作系统本身执行正确,本文首先进行了操作系统功能的调试。这部分工作充分利用了硬件EJTAG模块的支持,开发了相应的软件RDView。操作系统执行正确后,可以利用其增加的调试管理模块实现MPSoC的调试功能。操作系统的调试管理模块包括调试命令集,输入命令和观看结果的人机界面以及执行命令模块。通过操作系统内部设置的调试进程,协调了命令发送端和处理器核上执行调试命令模块这两部分间同步和数据的转发,并通过执行调试命令模块接收执行命令实现MPSoC的调试功能。