EDN China > 技术文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

多核SoC的嵌入式软件开发

来源:中电网 / 作者:Paul Kimelman ARM公司?? 2007年01月16日 ?? 收藏0
?????? 与几年前相比,生产嵌入式应用产品的OEM感受到了越来越大的市场压力,产品的新功能和新特性、业界新标准、市场供求、用户对低功耗甚至零功耗的不断追求,以及产品成本等越来越多的因素都会对典型嵌入式设计产生影响,这使得目前市场上的各种应用产品,从纯粹的消费电子(如蜂窝电话、MP3播放器、数码相机)到基础设备(基站、电话系统、WAN交换机等),都产生了变化,这些变化促使研发人员开发更加完善和复杂的软件,并在高端产品上使用大量的FPGA。这些变化同时也将设计者推向了ASIC/Soc与非传统硬件模型——多核设计。

多核Soc设计


?????? 多核系统的特点和优缺点

??????

ASIC/SOC具有较高的集成度,适合低功耗的特殊应用,但多数注重成本的设计都会包含更多的功能特性与可编程的元素,这与行业标准和协议的不断改变密不可分,无论是GSM电话、MP3、DivX/MPEG4、DSL/
Cable调制解调器,还是无线局域网或者其他任何产品标准,其协议都以非常快的速度变化着,但顾客并不希望频繁升级硬件,从生产成本(工具、流水线的建立等)角度来考虑,对单一产品平台重复使用是非常必要的,这意味着系统对软件的要求更高了,因此也需要更多的软硬件协作。

?????? 软硬件交互过程势必使系统集成时间延长,并产生大量的、只能针对特定硬件使用的软件、因此大量的可编程微处理器被加入到系统中,虽然只要处理器的速度足够快,软硬件交互引起的性能下降问题都可以迎刃而解,但是无论从成本还是功能来看,提高处理器的主频换取性能都是一种及其“不经济”的解决方案。

?????? 一个典型的例子就是利用DSP处理连续数据的应用。开发者完全可以利用一个低端DSP芯片来处理标准的媒体流协议。相对于由高端处理器组成的系统,这种方法的功耗损失非常小,而且可降低系统成本,DSP的特定指令集与专用存储器,总线结构使其能够完成较复杂的数字处理算法,但是这些特性往往不支持高级语言,因此基于DSP的很多应用必须采用汇编语言来编码。

?????? 由于不同DSP的汇编指令与编程模型不同,所以DSP之间的代码移植非常困难,这已成为应用开发的瓶颈,为解决这个瓶颈,一种方案是根据功能将应用代码分为两部分:必须由DSP执行的代码和可以被其他处理器执行的代码,DSP只需要处理前者即可,这样就出现了多核(多处理器)设计。

?????? 典型的多核系统将应用代码分成两个主要部分:控制与用户接口代码,不间断处理代码。控制用户接口部分运行在ARM微处理器上,不间断处理代码运行在DSP上或者第二个ARM内核上(见上图)。由于以下一些原因,这种模型非常有意义。

?????? 1、开发者可以使用高级语言,如C/C++或者Java对微处理器进行编程,基于DSP的很多应用都必须使用汇编语言来编码,而很多其他处理器,如ARM则没有这些限制。

?????? 2、在微处理器上运行RTOS或者OS,可以更加充分利用微处理器的优势(合理地中断响应时间、大量的存储资源、虚拟的或者被保护的存储器、简单的上下文切换操作等)。

?????? 3、DSP对不间断处理得代码有很好的支持,如果控制用户接口代码与不间断工作的代码都由同一个处理器来执行的话,频繁的中断(连续的切换)会导致系统功耗非常大,而且,DSP往往有很多特殊功能,可以加速数据移动与处理操作(DMA、双端口存储器、针对滤波处理的MAC、针对FFT与编码的位操作,索引查找表、针对内部/外部器件访问的分离总线结构等)。

?????? 4、两个不同的内核可分别独立运行。这意味着当不需要执行任何操作时,微处理器可进入休眠状态(唤醒微处理器的方式可以是:定时器、刷新LCD的按键、电池电量检查等)。

?????? 5、两种处理器可以使用不同的总线模型。

?????? 6、两种处理器芯片可以通过共享的片外存储器、中断、
上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? 多核?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈