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

2013-5-26 09:25 683 2 2 分类: 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条评论)

登录后参与讨论
相关推荐阅读
zhaojiyuan_854321776 2014-11-25 23:29
FPGA 设计者应该学习 OpenCL
为什么要学习OpenCL呢?就目前我所从事的医疗超声领域,超声前端的信号处理器一般是通过FPGA或FPGA+DSP来设计的,高端设备用的是FPGA+ GPU架构。传统的设计方法是通过HDL语言来进...
zhaojiyuan_854321776 2014-01-25 10:20
ubuntu 64位安装modelsim10.2c
昨晚在ubuntu 14.04 alpha2上安装modelsim 10.2c,没成功,今天终于搞定了。整理一下遇到的问题和解决办法。 1、安装:配置好jre后,双击install.linux...
zhaojiyuan_854321776 2014-01-02 22:18
如何写好“好处多多”的工作日志
    我不知道EDNChina博客有没有发起投票的功能,真想调查一下有写工作日志习惯的人的比例有多少。    写工作日志是个个人习惯,我这里指的工作日志并不是给其他人看的,仅仅是给自己看的。如下图所...
zhaojiyuan_854321776 2014-01-02 21:21
新年伊始,道一声抱歉
        最近几个月的时间,在做一套PCI-FPGA-TS201-SDRAM的系统,没有时间来博客查看大家的留言,没有能对各位朋友的问题进行及时回复。由于积攒的问题较多,我也就不一一回复了,...
zhaojiyuan_854321776 2013-05-01 23:43
重返EDN博客
现在工作稳定下来了,重新启用这个博客,我会把平时的一些技术方面的心得写下来。 之前很长一段时间没有关注这个博客,对于很多网友的提问没能及时回复,实在抱歉。 最近做的是Xilinx公司FPG...
广告
我要评论
0
2
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /7 下一条