基于SOC的实时操作系统分析

2012-12-31 00:00:00陈丹张华峰李方军
科技资讯 2012年25期


  摘 要:随着芯片集成技术的不断发展,目前,在集成电路设计方面已经进入了一个新的时代,在设计时通常采用软件硬件协同的方法。实时操作系统能够显著优化芯片的性能特征,同时还能优化设计的总体效益,降低其上市的时间,提高其可用性能。因此,本文对基于SOC的实时操作系统进行了分析。
  关键词:SOC 实时操作系统 分析
  中图分类号:TP316.2文献标识码:A文章编号:1672-3791(2012)09(a)-0013-01
  实时操作系统(RTOS)是嵌入式应用软件的基础和开发平台。RTOS根据各个任务的性质和要求,进行资源(包括存储器、外设等)管理、任务的通信和同步管理、任务调度、异常处理等工作。在RTOS支持的系统中,通常每个任务都有优先级RTOS根据各个任务的优先级来动态的切换任务,保证其对实时性的要求。这种体系结构简化了编程结构,比过去的循环控制的体系结构有了很大的改进。与通常的嵌入式实时操作系统相比,基于SOC的RTOS既有共性,也有其特殊性。其共性表现在强调任务的实时性,采用实时调度算法以保证系统的多个任务能满足实时性的要求;其特殊性源于SOC给RTOS的设计带来新的课题。
  1 基于SOC的实时操作系统设计的原理
  普通的计算机系统当中,一般是通过软件来实现操作系统的设计的,对实时性也没有较高的要求,没有严格限制其所占用的内存。但是基于SOC的实时操作系统在设计时对实时性有很严格的要求。同时也苛刻限制了代码的长度。但是与此同时,进行这种实时系统的设计时,也有很强的灵活性,它主要体现在:为了保障系统功能的实现,能够在芯片上设计额外的硬件,将实时操作系统的尺寸缩小,使其运行时间变快。通常是利用新的算法和数据结构来不断提高操作系统的实时性能,而在基于SOC的操作系统当中,进行软硬件的协同设计,提供了一种创新的机制。在基于集成芯片RTOS设计当中,本文主要是通过采用I/O管理来实现软硬件的有效划分。纵线调度对于HDTV解码芯片设计具有重要作用,它具有较强的非随机性,在选择算法时可以选用时间片这种调度方法。为了将整个操作系统在调度上的总开销控制在一定范围内,并提高操作系统中芯片吞吐的总量,采用硬件来实现对所有总线的管理。
  2 基于SOC的实时操作系统的任务管理
  第一,任务的调度。在实施操作系统当中,对内核进行调度时需要确立基本调度单位,任务作为基本单位,其驱动通常都是事件或者消息的基础上形成的,也就是说,在设计任务时,需要根据对接收到的各项事件以及信息的处理来进行的,它具有循环性。任务的状态在实时操作系统中表现出很多不同种类,任务的运行,任务的就绪以及挂起等等,但是一般来说,系统中在同一时间内只可供一种任务状态存在,不同的任务按照其级别的差异来通过各自的时间片,然后获得访问CPU的权利。对多重任务进行管理和调度是实时操作系统的重要功能之一。任务是整个操作系统中不可或缺的基本操作对象,包括激活以及休眠任务。任务调度分为三种,一种是时间轮询;另一种是时间分片还有一种是优先抢占,在这三种形式中,对于实时性能的支撑性最强的是最后一种,即优先抢占式。
  第二,任务的切换。实时操作系统中,任务的切换主要是由以下原因引起的:第一种情况是上一个任务在正常完成之后,就将自身对CPU的控制权利转给实时操作系统,操作系统对列表中全部任务进行判断和检查,确定优先级别最高的任务,使其优先运行。第二种情况是当其中一个任务正在运行的过程中,优先级别更高的另一个任务出现了中断现象,系统根据目前任务状况,保存其上下文,并对任务进行切换,使其处于中断任务的状态。系统通过对任务列表的整理和检查,将一些运行完毕的任务删除,然后不断增加一些新的任务,并根据其优先级别的高低,来对其进行排序。以促进任务间系统资源的合理分配。
  第三,任务同步和通信。实时操作系统当中对任务通信、同步的实现一般是通过对消息、邮箱、信号灯等服务原语的定义来进行其中消息的确立是通过系统当中一些公共的数据交换区域来将任务在通信过程中需要的各种信息进行交互。
  3 基于SOC的实时操作系统的存储管理
  第一,对存储区进行合理分配。实时操作系统当中,需要对存储的区域进行合理科学的分配,一般采用静态或者动态的分配方式,同时,在分配时还可以根据硬件中分布的储存管理单元自身拥有的特点来优化存储管理模块的设计。
  第二,应该实现对堆的管理。对于任务来说,如果需要一定的存储区域,则需要通过动态申请才能实现,实时操作系统能够通过对存储空间中的堆来为任务在动态申请以及存储块的释放过程中提供一个调用的接口,在进行动态分配的时候,应该注意避免出现存储区零碎化的现象。
  4 I/O以及系统的中断管理
  实时操作系统为中断管理提供了一种具有较高通用性能的设计模式,这种模式可以将中断的时间控制在最短范围内,并能最大化提高中断的响应程度。同时,系统内核中的各种资源对象可以对实体或者虚拟的资源进行独占式的访问,资源在同时间内只能被一个任务访问,这样有利于防止出现资源冲突的现象。在设计1/O系统时,应确保其具有以下特性:能在多个用户程序之间共享;借助中断管理来实现和CPU的通信以及同步;实现对I/0设备的良好控制。
  5 基于SOC的实时操作系统软硬件协同设计的方法
  软硬件协同设计时,首先需要依据操作系统的实际需求以及说明,来划分软硬件,将系统的功能具体要由哪些软件或者硬件来实现进行确定,Gupta等在很早之前就提出了一种算法,这种算法能够实现功能在硬件软件之间的迁移,而也有人提出了另一种较为先进的算法,这种算法可以通过将关键功能在指令流中确定下来,并把它们映射成相应的硬件。其次,需要对功能进行定位。因为软件当中所承载的功能有时候会因为时间或性能因素,而被硬件取代,基于这种可能,可以通过对开发时间的考虑以及性能等方面的适应性,来将原本在硬件中执行的各种功能,转移到软件上来,由软件中的处理器来执行。再者,应该进行良好调度。实时操作系统在任务中进行调度,主要依据是任务的不同,对实时响应的具体要求也不同。在硬件上,应该根据资源的总量和数据总线来对任务中的时间片进行合理分配。最后,还应该完成映射。在硬件中利用固核来生成硬核,并把软件编译成一串串可以正常运行的代码。
  参考文献
  [1]姚庆栋,张朝阳,刘鹏,等.系统集成芯片综述[J].计算机自动测量与控制,2000,9(3):1-4.
  [2]半导体集成化芯片系统基础研究科学论坛纪要[J].国家自然科学基金委员会21世纪,2001,33(3):380-382.
  [3]James C.McKinney etc.著,严静兰乐陶译,“美国高级电视制式委员会(ATSC)数字音频压缩标准(AC-3)(ATSC A/52)”,电子部电视电声研究所,1979,9(48):13-15.
  [4]毛讯.高速视频解码器的设计研究[D].浙江大学博士学位论文,2001,9(3):267-26