一. 谈谈ARM7与ARM9的差异:
本文是写给预备学习ARM技能,而又没想好要学ARM7仍是ARM9, 或许对ARM7与ARM9的差异不是很了解的初学者。
ARM7和ARM9的差异:
1. 时钟频率的进步
尽管ARM7和ARM9内核架构相同,但ARM7处理器选用3级流水线的冯·诺伊曼结构;,而ARM9选用5级流水线的哈佛结构。添加的流水线规划进步了时钟频率和并行处理才能。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内一起有5个指令在履行。在常用的芯片生产工艺下,ARM7一般运转在100MHz左右,而ARM9则至少在200MHz以上。
2 指令周期的改善
指令周期的改善关于处理器功能的进步有很大的协助。功能进步的起伏依赖于代码履行时指令的堆叠,这实际上是程序本身的问题。关于选用第一流的言语,一般来说,功能的进步在30%左右。
3.MMU(内存办理单元)
ARM7一般没有MMU(内存办理单元)(ARM720T有MMU)。
ARM9一般是有MMU(ARM9940T只要MPU ,不是一个完好的MMU)
这一条很重要,MMU单元是大型操作体系必需的硬件支撑,如LINUX;WINCE等。这就是说,ARM7一般只能运转小型的实时体系如UCOS-II,eCOS等,而ARM9无此约束,一般的操作体系都能够移植。其实即便ARM720T能支撑LINUX;WINCE等体系,也鲜有人用,由于以ARM7的运转速度跑这种大型操作体系,真实有点费劲。再者两者的使用领域显着不同,也无此必要。
4. ARM7比ARM9供给了更好的功能-功耗比。
它包含了THUMB指令集快速乘法指令和ICE调试技能的内核。
5. ARM9E能够彻底地向后兼容ARM7上的软件;而且开发人员面临的编程模型和架构根底也保持一致。
二. 初学者是选ARM7仍是ARM9?
1)清晰意图
学习为使用。你学ARM预备用在什么地方:
假如是一般性控制体系或只是用来替换8获16位机,ARM7明显是首选;
假如用在网络通信或大型的音视频处理等,则ARM9较适宜。
2)本身根底
学习ARM的一般有三类人:
一是计算机专业的:这类人对操作体系等软件常识了解较多,而对硬件常识知之甚少,明显这类人学ARM的话仍是做软件好,能够根据LINUX;WINCE等操作体系的ARM9更能契合这类人的要求,当然也有许多计算机专业的人从事ARM7体系的使用软件编写的。可是搞底层的就很少了。
二是电子类专业的:这类人的硬件根底了相对较好,相反操作体系,数据库等软件常识则差强人意。因而人多电子专业的人员都了解单片机,用单片编写点小程序还不在话下,但要用ARM做较大型的软件则有点无能为力,尤其是LINUX;WINCE这种操作体系不是三两个月能轻松搞定的。主张这类人员如无特别需求仍是从ARM7和小型操作体系学起。够用就好,不要盲目寻求高端。有一点要注意并不是从事ARM9的就比ARM7薪酬高,反而ARM7的就业机会比ARM9多,这很好了解,比如金字塔,越往顶肯越小。
三是软硬件根底都不太好的:这类人员有的确需求的,也有赶时髦的,如无大的学习决计仍是参与训练的好。当然也可曲线救国,搞懂单片机后,ARM7就不难了。