-
有同学反映,视频一上来我们就聊干货,希望能适当普及一下相关概念。
ARM处理器的分析
ARM9和ARM11都是哈佛5级流水线结构,所以性能更高。ARM9和ARM11大部分都有内存管理器,最好运行操作系统。ARM7适合裸奔。我们通常的ARM9系列有ARM9和ARM9E两个系列,其中ARM9属于ARM v4T架构,典型的处理器如ARM9TDMI和ARM922T
而ARM9E属于ARM v5TE架构,有ARM926EJ、ARM946E等典型处理器。因为后者的芯片和应用范围比较广,所以我们提到ARM9的时候,特别指的是ARM9E系列处理器(主要是ARM926EJ和ARM946E处理器)。
下面关于ARM9的介绍,也更多的关注了ARM9E。
2
ARM7处理器与ARM9E处理器的流水线差异
对于嵌入式系统设计师来说,硬件通常是第一考虑的。对于处理器来说,流水线是硬件差异最明显的标志。不同的流水线设计会产生一系列的硬件差异。
我们来对比一下ARM7和ARM9E的流水线。ARM9E从ARM7的3个阶段增加到5个阶段。ARM9E的流水线容纳了更多的逻辑运算,但是每一级的逻辑运算变得更加简单。
比如ARM7原有的三级流水线需要内部读取寄存器,然后进行相关的逻辑和算术运算,再写回处理结果,完成的动作非常复杂;
在ARM9E的5级流水线中,寄存器读取、逻辑运算和结果回写分散在不同的流水线中,使得每一级流水线处理的动作非常简洁。这使得处理器的主频大大提高。因为每一级流水线对应一个CPU的时钟周期,如果第一级流水线中的逻辑过于复杂,执行时间会保持较高,必然导致所需的时钟周期变长,CPU主频无法提高。所以流水线的加长有利于CPU频率的提高。
在常见的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E至少运行在200MHz以上。
三
ARM9E处理器的内存子系统
ARM926EJ和ARM946E这两种最常见的ARM9E处理器,都有一套内存子系统来提高系统性能,支持大型操作系统。如图2所示,存储器子系统包括MMU(存储器管理单元)或MPU(存储器保护单元)、高速缓存和写缓冲器;CPU通过这个子系统与系统内存系统相连。
可以看出,对于所有Store指令,ARM9比ARM7节省了一个周期,对于Load指令节省了2个周期(在没有互锁的情况下,编译器可以通过编译优化消除大部分互锁的可能性)。
考虑到各种因素,ARM9E处理器的性能非常强大。然而,在实际的系统设计中,设计者并不总是最大化处理器的性能。理想情况下,降低处理器和系统的工作频率,使性能刚好能满足应用要求;达到节省功耗和成本的目的。
在评估系统所能提供的处理器能力的过程中,DMIPS指标被很多人采用。同时,它也广泛应用于不同处理器之间的性能比较。
然而,使用DMIPS来衡量处理器性能有很大的缺陷。DMIPS并不是字面上的每秒百万条指令的意思,而是在运行一个叫做Dhrystone的测试程序时,用来衡量CPU相对性能的单位(很多场合人们习惯用MIPS作为这个性能指标的单位)。因为基于程序的测试很容易受到恶意优化的干扰,而且DMIPS索引值的发布不受任何组织的监管,所以在使用DMIPS进行评估时要小心。
例如,Dhrystone测试程序可以以不同的方式编译,并在同一处理器上运行,以获得非常不同的结果。
6月中旬有同学问我们淘宝店是不是在搞降价活动。在这里,我们统一回复:产品定价已经很亲民了,不打价格战,和往年一样,不参与618推广。目前只有现金奖励活动(详情点击以下标题):
【获奖活动】课后完成作业:裸机测试界面,获奖2000元。
按要求完成可以获得最高2000元的现金奖励,适合时间充裕,可以赚外快补贴生活费的同学。为什么不可以?
41人加入了这个团体。据边肖说,目前有几个人在写代码...你还在等什么?
声明:本文转载于网络,版权归原作者所有。如果涉及到作品的版权问题,请联系我们,我们会根据您提供的版权证明确认版权并支付报酬或删除内容。
1.《arm9 一文看懂ARM7与ARM9的区别》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《arm9 一文看懂ARM7与ARM9的区别》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/978680.html