ARM 微处理器结构

1.RISC 体系结构

传统的 CISC(Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在 CISC 指令集的各种指令中,其使用频率却相差悬殊,大约有 20%的指令会被反复使用,占整个程序代码的 80%。而余下的 80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
基于以上的不合理性,1979 年美国加州大学伯克利分校提出了 RISC(Reduced Instruction Set
Computer,精简指令集计算机)的概念,RISC 并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC 结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。
到目前为止,RISC 体系结构也还没有严格的定义,一般认为,RISC 体系结构应具有如下特点:
-采用固定长度的指令格式,指令归整、简单、基本寻址方式有 2~3 种。
-使用单周期指令,便于流水线操作执行。
-大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器, 以提高指令的执行效率。
除此以外,ARM 体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
-所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
-可用加载/存储指令批量传输数据,以提高数据的传输效率。
-可在一条数据处理指令中同时完成逻辑处理和移位处理。
-在循环处理中使用地址的自动增减来提高运行效率。
当然,和 CISC 架构相比较,尽管 RISC 架构有上述的优点,但决不能认为 RISC 架构就可以取代 CISC 架构,事实上,RISC 和 CISC 各有优势,而且界限并不那么明显。现代的 CPU 往往采用
CISC 的外围,内部加入了 RISC 的特性,如超长指令集 CPU 就是融合了 RISC 和 CISC 的优势,成为未来的 CPU 发展方向之一。
2.ARM 微处理器的寄存器结构

ARM 处理器共有 37 个寄存器,被分为若干个组(BANK),这些寄存器包括:
-31 个通用寄存器,包括程序计数器(PC 指针),均为 32 位的寄存器。
-6 个状态寄存器,用以标识 CPU 的工作状态及程序的运行状态,均为 32 位,目前只使用了其中的一部分。
同时,ARM 处理器又有 7 种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器
与之对应。即在任意一种处理器模式下,可访问的寄存器包括 15 个通用寄存器(R0~R14)、一至
二个状态寄存器和程序计数器。在所有的寄存器中,有些是在 7 种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
关于 ARM 处理器的寄存器结构,在后面的相关章节将会详细描述。

3.ARM 微处理器的指令结构

ARM 微处理器的在较新的体系结构中支持两种指令集:ARM 指令集和Thumb 指令集。其中,ARM 指令为 32 位的长度,Thumb 指令为 16 位长度。Thumb 指令集为 ARM 指令集的功能子集,但与等价的 ARM 代码相比较,可节省 30%~40%以上的存储空间,同时具备 32 位代码的所有优点。

猜你喜欢

转载自blog.csdn.net/qq_40365941/article/details/81503113