为什么说MIPS只是一个数字而已.docx

为什么说MIPS只是一个数字而已.docx

ID:57904136

大小:204.33 KB

页数:7页

时间:2020-09-02

为什么说MIPS只是一个数字而已.docx_第1页
为什么说MIPS只是一个数字而已.docx_第2页
为什么说MIPS只是一个数字而已.docx_第3页
为什么说MIPS只是一个数字而已.docx_第4页
为什么说MIPS只是一个数字而已.docx_第5页
资源描述:

《为什么说MIPS只是一个数字而已.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、为什么说MIPS只是一个数字而已?人们通常用每秒百万条指令(MIPS)来衡量微控制器(MCU)的计算性能,但是没有任何两个MCU/SoC架构是完全相同的,加速不同应用性能的集成度也不相同。因此,在采用适当硬件特性的情况下,固件应用可减少对CPU资源的占用。在移植到不同架构的过程中,如果开发人员只关注MIPS,仅以MIPS来预测应用所需的计算性能,那么就会大错特错了。本文将就典型的计算问题分析MCU/SoC的多种架构特性,目的是说明MIPS并不能真正反映器件的计算性能,并探讨我们应当如何应对这一问题。此外,鉴于目前比较此类产品系统级功能的基准标准较少,本文还

2、将专门重点讨论运行速率在100MHz以下的MCU/SoC器件。100MHz以下架构的特点100MHz以下的MCU通常使用8位、16位或32位架构,数据总线宽度为8位、16位或32位。这些产品也可分为其它多种类型,如哈佛/冯诺依曼和RISC与CISC等,每种类型都有其引人关注的不同之处。对大多数MCU而言,不同的指令需要执行不同的机器资源。此外,振荡器频率通常与机器工作周期不同,比如,就经典的8051而言,振荡器的12个周期才相当于机器工作1个周期。而对许多PIC器件而言,4个振荡器周期就对应于1个机器工作周期。下面我们通过一个示例来更好地了说明这一问题。假

3、设某器件的振荡器频率为20MHz,其两个振荡器周期对应于1个机器工作周期。此外,指令执行需要1到6个机器工作周期。那么,该器件的MIPS额定值是多少呢?我们将振荡器频率除以2,得到可用的机器工作周期为1千万。不过,如何将机器工作周期转换为MIPS则取决于我们如何看待这一问题。如果您是营销人员,您会只专注于最佳情况,也就是假定每条指令只要一个工作周期,这样这款产品的性能就是10MIPS。如果您想了解最低的理论性能,那么就会假定每条指令需要6个工作周期,这就会得到1.66(10/6)MIPS。这里我们得到了最高和最低的MIPS。对典型应用而言,实际的MIPS性

4、能介于二者之间,具体取决于应用的指令集组合。我们这里还作了令一个假定,即认为不同的架构指令计算性能类似,但这基本上是不现实的。我们这里假定机器工作周期数量是决定器件执行指令数量的唯一因素。下面,我们设想一下闪存对处理性能的影响。一般而言,闪存提供数据的速率不超过20MHz。因此,如果CPU运行速率超过20MHz,而用闪存执行指令,那么闪存数据速率就成为了最大的瓶颈。在此情况下,我们可让闪存总线带宽高于数据总线带宽,并创建指令缓冲器以跟上指令速率,从而解决上述问题。要做到这一点,CPU就要在执行当前指令时调用下一条指令。这种做法对线性代码而言没问题。但不幸的

5、是,实际系统代码很少是线性的。每次代码出现分支,指令缓冲器都必须重构。另一种改进性能的办法是添加缓存容量。简而言之,如果一个MCU/SoC管理闪存的效率较高,而另一个效率较低,则即便机器工作循环和指令集相同,性能数据也将大不相同。我们已经比较熟悉类似上述的各种因素,开发人员通常会在比较不同器件的性能时考虑到这些相关因素。下面我们来谈谈某些不太明显的因素。DMA对MIPS的影响某MCU/SoC器件支持DMA(直接存储器存取)功能,其能将CPU从存储器存取工作中解放出来,从而提高性能。我们怎么评估DMA对MIPS的影响呢?先来看看主模式下串行通信协议SPI的典

6、型使用情况。SPI是一个很好的例子,因为它通常是MCU/SoC上最高吞吐量的板内通信外设,而且配合存储器、以太网、无线收发器芯片等一同使用。假定:SPI速率:8Mbps数据包大小:128字节需求:数据吞吐率:每个数据包160uS如SPI速率为8Mbps,那么传输1个字节需要1uS。因此,传输128个字节需要128uS。我们的预算为每个数据包160uS,这就剩下32uS(160-128)用于SPI管理。这32uS的预算要平均分配给128个字节,因为系统每一个uS都要载入一个新数据字节。32uS除以128即可得到SPI管理每数据字节传输有250nS的时间。就上

7、例而言,DMA将MCU/SoC速率需求降低了160MHz,而将CPU处理能力需求降低了200MHz。如果我们假定一次周期相当于MIPS,那么本应用的DMA就相当于一个200MIPS处理器。DMA实现的高效MIPS在很大程度上取决于吞吐量需求。我们再举一个本应用的极端例子。假定每个数据包没有时间限制,那么DMA每字节节约的CPU周期数达50个,那么就128个字节而言,周期数节约可达6400个。如果MCU需要在16MHz的情况下支持8MHzSPI,且128个字节的数据包每秒只传输一次,那么不支持DMA的MCU/SoC运行速率就需达到每秒16,006,400条指

8、令,性能水平和支持DMA的MCU每秒160万条指令相当。因此,就这

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。