100MHz以下架构的特点
100MHz以下的MCU通常使用8位、16位或32位架构,数据总线宽度为8位、16位或32位。这些产品也可分为其它多种类型,如Harvard/Von Neumen和RISC与CISC等,每种类型都有其引人关注的不同之处。对大多数MCU而言,不同的指令需要执行不同的机器资源。此外,振荡器频率通常与机器工作周期不同,比如,就经典的8051而言,振荡器的12个周期才相当于机器工作1个周期。而对许多PIC器件而言,4个振荡器周期就对应于1个机器工作周期。
下面我们通过一个示例来更好地了说明这一问题。假设某器件的振荡器频率为20MHz,其两个振荡器周期对应于1个机器工作周期。此外,指令执行需要1到6个机器工作周期。那么,该器件的MIPS额定值是多少呢?我们将振荡器频率除以2,得到可用的机器工作周期为1千万。不过,如何将机器工作周期转换为MIPS则取决于我们如何看待这一问题。如果您是营销人员,您会只专注于最佳情况,也就是假定每条指令只要一个工作周期,这样这款产品的性能就是10 MIPS。如果您想了解最低的理论性能,那么就会假定每条指令需要6个工作周期,这就会得到1.66(10/6)MIPS。这里我们得到了最高和最低的MIPS。对典型应用而言,实际的MIPS性能介于二者之间,具体取决于应用的指令集组合。我们这里还作了令一个假定,即认为不同的架构指令计算性能类似,但这基本上是不现实的。
我们这里假定机器工作周期数量是决定器件执行指令数量的唯一因素。下面,我们设想一下闪存对处理性能的影响。一般而言,闪存提供数据的速率不超过20MHz。因此,如果CPU运行速率超过20MHz,而用闪存执行指令,那么闪存数据速率就成为了最大的瓶颈。在此情况下,我们可让闪存总线带宽高于数据总线带宽,并创建指令缓冲器以跟上指令速率,从而解决上述问题。要做到这一点,CPU就要在执行当前指令时调用下一条指令。这种做法对线性代码而言没问题。但不幸的是,实际
13066931819
粤ICP备16030717号