原创 软硬件混合式操作系统--综述

2013-5-26 09:25 1613 20 20 分类: FPGA/CPLD

    我的Altera 2012亚洲创新设计大赛作品,与大家分享

    以Altera公司的SOPC技术为例,在FPGA硬件逻辑单元用于高速并行处理的基础上,加入Nios II处理器用于完成系统的控制、调度功能,以此提高系统设计灵活性。而加入处理器所带来的问题是虽然FPGA逻辑单元可以高速并行处理任务,但受限于处理器架构,运行在Nios II处理器中的操作系统代码只能顺序执行,无法对FPGA并行处理结构进行高效调度,导致整个SOPC系统的性能下降。而若仅利用FPGA逻辑单元实现目标功能,一方面将使系统开发难度增大,另一方面也降低系统灵活性,不利于系统设计的重复使用。当然采用多核处理器可以实现多任务并行处理,但同时使用多个处理器的成本较高并会造成一定程度的资源浪费。

    本文的目标是设计一种专门针对FPGA特点而优化的高速嵌入式操作系统,使其可以在单核处理器上实现真正的多任务并行处理,能够对FPGA并行处理结构高效调度,以此提升SOPC系统整体性能。本文所设计的软硬件混合式操作系统是一种嵌入式实时操作系统,按照实现方式可将嵌入式实时操作系统分为两类,第一类是类似VxWorks、eCos等完全由C语言、汇编语言编写的纯软件化操作系统,第二类是新兴的基于FPGA逻辑单元实现的纯硬件化操作系统。

    纯软件嵌入式操作系统只能通过时间分片机制伪并行实现,这会使程序运行效率大打折扣,纯硬件嵌入式操作系统虽然能实现多任务并行处理,但受限于系统灵活性无法推广。本文提出了一种新的解决处理器中多任务并行处理局限性的方法,一种软硬件混合结构的操作系统,应用在基于FPGA的嵌入式处理器上,将纯软件嵌入式实时操作系统中的任务切换、消息传递等耗时C语言代码通过FPGA内部的硬件逻辑单元实现,并用FPGA逻辑单元直接搭建用于多任务并行执行的硬核模块,从而在不增加处理器个数的情况下增强系统的多任务并行处理能力。通过这种软硬件结合方式设计的操作系统,其程序执行时间可以更加精确的估计,因此可以将这种软硬件混合结构的操作系统称为高速嵌入式实时操作系统。这种操作系统的设计与实现将会给未来的通信、信号处理等高速实时系统应用带来便利。

未完待续

文章评论0条评论)

登录后参与讨论
我要评论
0
20
关闭 站长推荐上一条 /2 下一条