1 ARM是RISC架构常用ARM汇编指令只有二三十条。
ARM是低功耗CPU。
ARM的架构非常适合单片机、嵌入式,尤其是物联网领域;而服务器等高性能领域目前主导还是Intel。
2 ARM是统一编址的大部分ARM(M3 M4 M7 M0 ARM9 ARM11 A8等)都是32位架构。
32位ARM CPU支持的内存少于4G,通过CPU地址总线来访问。
SoC中的各种内部外设通过各自的SFR编程访问,这些SFR的访问方式类似于访问普通内存,这叫IO与内存统一编址。
3 ARM是哈佛架构常见ARM(除ARM7外)都是哈佛结构的。
哈佛结构保证了ARM CPU运行的稳定性和安全性,因此ARM适用于嵌入式领域。
哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的链接比较麻烦,必须使用复杂的链接脚本告知链接器如何组织程序;对于OS之上的应用(工作在虚拟地址之中)则不需考虑这么多。(???这里有必然的联系么?难道冯诺依曼结构的就不需要链接脚本?)
哈佛架构是针对cpu从cache中取指而言,指令和数据在主存中并未分开,但在加载到cache中的时候被分离为指令和数据两份存储空间,cpu可以同时从cache取到指令和数据.所以arm系统CPU(除arm7)对外表现为冯.诺伊曼架构,对内则表现为哈佛架构。
|