基于媒体芯片的实时操作系统实现研究

基于媒体芯片的实时操作系统实现研究

论文摘要

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

论文目录

  • 摘要
  • Abstract
  • 主要符号对照表
  • 目录
  • 第一章 绪论
  • 1.1 媒体应用和嵌入式系统的发展
  • 1.1.1 嵌入式系统的发展
  • 1.1.2 媒体应用的发展
  • 1.1.3 媒体系统芯片的实现结构
  • 1.1.4 多媒体处理器系统芯片的设计方法
  • 1.2 实时操作系统
  • 1.2.1 实时操作系统概述
  • 1.2.2 RTOS评价指标
  • 1.2.3 实时操作系统研究现状
  • 1.2.4 实时操作系统IOTA的基本特征及其组成
  • 1.3 实时操作系统面临的挑战
  • 1.3.1 实验室多处理器发展的实际情况
  • 1.3.2 芯片调试技术的发展
  • 1.3.3 实时操作系统面临的挑战
  • 1.4 本文的内容安排和主要研究成果
  • 第二章 实时操作系统内核设计
  • 2.1 任务管理
  • 2.1.1 任务调度算法
  • 2.1.2 Iota任务状态转移图
  • 2.1.3 Iota任务管理原语
  • 2.1.4 Iota的任务调度实现模型
  • 2.2 任务间同步与通信
  • 2.2.1 任务间同步
  • 2.2.2 任务间互斥
  • 2.2.3 任务间通信
  • 2.3 存储管理
  • 2.3.1 虚拟存储管理
  • 2.3.2 实时系统的存储管理
  • 2.3.3 Iota存储管理
  • 2.4 时钟管理
  • 2.5 异常处理
  • 2.5.1 RISC32核异常处理和服务流程
  • 2.5.2 系统调用实现
  • 2.6 文件系统
  • 2.6.1 文件系统的构造和主要的数据结构
  • 2.6.2 文件系统实现的主要服务原语
  • 2.7 Iota可裁减配置
  • 2.8 MPEG-1解码系统中的任务调度
  • 2.8.1 MPEG-1解码系统的组成和工作流程
  • 2.8.2 任务的性质分析
  • 2.8.3 调度的实现
  • 2.9 本章小结
  • 第三章 面向对象的调度
  • 3.1 片上多处理器系统
  • 3.1.1 MPSoC发展的必然原因
  • 3.1.2 MPSoC应用介绍
  • 3.1.3 并行编程技术
  • 3.2 粗颗粒度数据流图
  • 3.2.1 数据流系统
  • 3.2.2 粗颗粒度数据流图
  • 3.3 面向对象
  • 3.4 面向对象的调度
  • 3.4.1 基于IPC实现的任务调度
  • 3.4.2 调度与通信的分离
  • 3.4.3 面向对象的调度
  • 3.4.4 对多核系统的支持
  • 3.5 对象模型
  • 3.5.1 对象的抽象描述
  • 3.5.2 对象控制块
  • 3.5.3 信号量
  • 3.6 指示器
  • 3.7 数据流编程模型中的对象配置
  • 3.7.1 对象的分配原则
  • 3.7.2 数据流编程模型的初始化
  • 3.8 实验
  • 3.9 本章小结
  • 第四章 基于RTOS的MPSoC的调试研究
  • 4.1 单核调试技术发展
  • 4.1.1 SoC发展对调试的影响
  • 4.1.2 各种调试技术
  • 4.2 多核调试研究
  • 4.2.1 支持多种模式调试的设计策略
  • 4.2.2 平台无关的调试支持设计策略
  • 4.3 基于RTOS实现的多核调试
  • 4.3.1 工作平台介绍
  • 4.3.2 调试方案的基本框架
  • 4.4 调试实时操作系统的方案实现
  • 4.4.1 主控RISC核已有的支持调试的功能部分
  • 4.4.2 基于EJTAG调试方案的软件框架
  • 4.4.3 命令解析模块
  • 4.4.4 处理器核接口模块
  • 4.4.5 EJTAG的TAP接口信号解析模块
  • 4.5 实时操作系统调试管理功能实现
  • 4.5.1 实时操作系统中的调试管理
  • 4.5.2 调试命令集
  • 4.5.3 调试进程与DSP核上程序的通信和同步机制
  • 4.5.4 人机界面
  • 4.6 本章小结
  • 全文总结
  • 参考文献
  • 作者攻读博士学位期间发表的主要学术论文
  • 作者攻读博士学位期间参与的科研工作
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  ;  ;  ;  

    基于媒体芯片的实时操作系统实现研究
    下载Doc文档

    猜你喜欢