现实标准和32位MCU

2007-04-27 11:01:59来源: 今日电子
当为下一代控制应用选择32位MCU时,必须考虑一点,就是面对某一实际的应用,不同供应商的处理器虽然在数据手册上看起来或多或少有些相似,但实际上是非常不同的。虽然数据手册中的规范和Dhrystone(处理器整型数计算能力)MIPS处理能力给出了一个粗略的评估标准,但必须考虑得更深入以保证MCU有足够的吞吐量和过载余量来满足当前和未来的应用需求。

运行编译EEMBC汽车标准代码的测试结果显示:看起来类似的三款MCU实际性能差别很大

例如,价格低廉、基于ARM的MCU一般具有很多资源,虽然它们中的许多是基于相同的CPU核,通常是没有高速缓存的ARM7TDMI处理器,但不同供应商的产品整体性能差别非常大。这主要是由于实现片上存储子系统、片上总线结构和I/O功能所采用的方法不同。因此,为了确定哪一款处理器最有价值,就必须考察整个处理器子系统。

  实时嵌入式应用

当在实时嵌入式应用中使用MCU时,MCU必须对所有操作做出确定性的响应,以保证任务在被分配的时间内完成,响应延迟对于实时系统来说也必须很短。为了达到这个目标,MCU必须具有有效的硬件中断管理子系统,用于处理优先权、向量和返回机制。此外,存储子系统不应该成为处理器的制约,它应该能够及时的向处理器提供指令和数据,以实现在指令执行流中插入最少的等待状态。

处理器也应该有一个有效的上下文切换机制,来保证当中断改变指令流时损失的时间最短。内部系统总线应该有确定的响应时间,用于支持对时间要求严格的操作。

基于ARM的众多MCU提供了针对不同系统解决方案的广泛选择,这些方案的区别在于时钟速率、集成外设、高容量闪存和静态RAM等。由于内部存储子系统和系统总线效率,以及CPU对片上设备操作处理程度的差别,即使在相同时钟频率下,MCU的性能也存在着极大的差别。影响性能的一个关键问题就是片上闪存的访问时间过长。

  现实标准

为了更好地评估处理器的性能,一些现实标准已经开发出来了,例如由EEMBC(嵌入式微处理器基准联盟),一个独立的非营利组织正在开发的标准,可以对各种外部看起来相似的MCU之间的差别进行更深入的分析。

EEMBC在开发其评估标准套件时也面临了巨大的挑战。首先面对的就是开发测试软件,它用于产生在一个应用中能够代表实际性能的结果。这就表示要抛弃Dhrystone MIPS这一普遍采用的方法,该方法支持创建针对应用的测试,用于测试在汽车、网络、电信、娱乐,以及其他嵌入式系统中处理器的工作。第二个挑战就是起草标准,它需能够非常容易地移植到使用不同处理器的各种开发板中,并且在这些开发板中都能够正常地运行,以评估每个MCU或MPU的性能。

逐个比较的理想基础是每个MCU周围的硬件环境都尽可能地一致,并使用同样的编译器。最近,采用EEMBC系列汽车/工业标准,在同样的条件下测试ARM MCU的比例正在上升。

三款MCU进行测试的结果数据显示其吞吐率存在极大的差别,如图所示。在比较过程中,结果数据根据它们的工作频率进行了归一化处理,并且所有的软件都是在片外闪存中运行的。比较的结果表明:基于ARM的MCU普遍具有很好的性能,部分的性能差别在于MCU中实现片上闪存接口的优化方法不同。

  改善CPU指令执行的吞吐量

由于闪存的访问时间通常是CPU时钟周期的3~4倍,找到一种从存储器中快速传输数据,而不需要在昂贵的片内RAM中映射数据的方法,会极大地改善执行的吞吐量。对于测试结果中最快的那颗MCU,设计者通过展宽存储器数据总线到128位,以允许4个32位字在一个周期中被传输到数据锁存器,然后再传输到预取缓冲,从而解决了速度不匹配的问题。

由于CPU使用缓冲中的数据,当它执行第4个字时,另一个128位的字就被传输到了锁存器中,而同时该第4个字被移出了缓冲,锁存器中的新字也被传输到了缓冲。只要发起一个对闪存的数据读访问(装入操作),辅助的支持电路就建立一个数据通路将128位数据存储在缓冲中。这允许代码获取的历史被保留,从而避免了需要重新获取4个指令字的情况。

如果一个存储器阵列(bank)可以在存储器访问中极大地提高速率,那么设置两个存储器阵列会怎样呢?通过采用锁存器将存储器分成两个阵列的结构,对于每个阵列所有的支持逻辑都相同,并可以具有两倍的指令历史,短循环就可以在所有的锁存器中被完整捕获,循环的执行得以加速。另外一点,双阵列也可以对嵌套循环和寻找分支目标地址提供更好的支持。

  内部总线支持

正如EEMBC的标准测试所揭示的那样,CPU吞吐量只是衡量高性能的指标之一。对集成外设功能提供支持的MCU内部总线也可能有很大的不同。内部总线通常被连接到总线上的慢速设备所拖累,因此,更高速设备的数据传输就受到了限制。然而,通过采用总线分离的方法,将高速设备(例如10/100Mb/s以太网控制器或高速DMA控制器)连接到一段总线,而将低速设备(串行端口、定时器、脉宽调制器等)连接到另一段总线,就可以使每组设备发挥最好的性能。

通过在芯片内建立分层的总线,CPU可以具有对片上RAM和闪存进行无约束访问的局部总线。这就避免了CPU发出不必要的总线仲裁、总线批准延迟,以及总线等待状态等,从而改善了整体性能。

对于要求高性能的功能,如向量式中断控制器、以太网控制器、DMA控制器等,ARM高速总线(AHB)提供了对CPU的快速接口。慢速设备可以连接到ARM设备总线(APB)上,而且可以桥接到AHB,以使数据和指令从CPU和存储器不被影响地传输到低速总线。

当CPU增加更多的片上资源时,对这种分层总线结构的需求就更高。在许多实时控制应用中,采用单一总线拓扑结构的处理器无法获得有效的高性能I/O支持。

大量的集成外设也增加了CPU的工作量,CPU必须持续处理中断和响应所有的外设操作。通过使用高性能、向量式中断控制器,许多过量的操作会得到卸载,从而缩短了CPU的响应时间。EEMBC正在探索一种通用的方法,测试MCU的集成外设并开发检测处理器运行情况的标准。

关键字:处理器  计算  缓存

编辑: 引用地址:http://www.eeworld.com.cn/gykz/CDYZX/200704/3993.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
处理器
计算
缓存

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved