位置:51电子网 » 技术资料 » 单 片 机

现实标准和32位MCU

发布时间:2008/5/27 0:00:00 访问次数:342

当为下一代控制应用选择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)可以在存储器访问中极大地提高速率,那么设置两个存储器阵列会怎样呢?通过采用锁存器将存储器分成两个阵列的结构,对于每个阵列所有的支持逻辑都相同,并可以具有两倍的指令历史,短循环就可以在所有的锁存器中被完整捕获,循环的执行得以加速。另外一点,双阵列也可以对嵌套循环和寻找分支目标地址提

当为下一代控制应用选择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)可以在存储器访问中极大地提高速率,那么设置两个存储器阵列会怎样呢?通过采用锁存器将存储器分成两个阵列的结构,对于每个阵列所有的支持逻辑都相同,并可以具有两倍的指令历史,短循环就可以在所有的锁存器中被完整捕获,循环的执行得以加速。另外一点,双阵列也可以对嵌套循环和寻找分支目标地址提

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!