论文部分内容阅读
随着芯片集成度的飞速提高,集成电路的设计已经进入SOC时代。使用软硬件协同设计的方法,系统芯片必然包括硬件和与之协同工作的软件。操作系统不仅能提高芯片的性能和可靠性,而且能改善设计的可重用性、减少设计的上市时间(Time-to-Market),日益受到重视。本文以HDTV信源解码芯片为SOC原型,设计并实现了一个基于SOC的实时操作系统Iota。 与通常的嵌入式实时操作系统相比,基于SOC的RTOS既有共性,也有其特殊性。其共性表现在强调任务的实时性,采用实时调度算法以保证系统的多个任务能满足实时性的要求;其特殊性源于SOC给RTOS的设计带来新的课题。例如,SOC中的实时操作系统在设计上可以更灵活,采用软硬件协同设计的方法,可以将操作系统的部分功能转移到系统的硬件实现。此外,系统芯片存储容量通常有限,SOC的RTOS比通常的嵌入式要求有更小的存储空间。 本文采用软硬件协同设计的方法来设计在SOC中的实时操作系统。本文在分析总线仲裁单元的时间片调度的基础上,将操作系统的I/O管理的功能部分采用硬件实现。通过软硬件协同设计,提高操作系统的实时性能和芯片的吞吐量。 实时性能是RTOS的最重要的性能指标。本文根据HDTV信源集成解码芯片的工作原理,对MPEG-2协议中的TS流解复用任务和AC-3音频解码任务提出缓存驱动和时限驱动两种调度策略。在详细分析了缓存驱动调度策略下的调度参数(例如调度的粒度和任务优先级)对系统实时性能的影响后,本文确定操作系统的调度策略及其参数。 存储管理是操作系统的重要内容,本文根据硬件的RISC核的存储管理单元(MMU)的特点,设计并实现了一种简单的存储保护和共享机制。操作系统和应用程序分布在系统的核心态和用户态,系统的核心态和用户态之间不能互相访问,此外不同的任务通过其不同的任务号限制其互相访问。通过存储保护机制提高系统健壮性。 由于SOC设计的复杂性日益提高,SOC要求在多种异构的平台上进行验证,典型的如虚拟机平台和基于硬件的FPGA验证平台。本文分析了实时操作系统在SOC软硬件协同验证中的作用。通过RTOS将应用的分解为不同的层次化,只要改变平台相关的接口模块,就可以实现在不同的异构平台上的仿真。通过操作系统可以减少验证的工作量,加快开发的进程。