嵌入式系统技术应用与开发
上QQ阅读APP看书,第一时间看更新

2.1.2 ARM微处理器架构

ARM微处理器的架构是构建每个ARM处理器的基础。ARM架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。

1.精简指令集计算机

早期的计算机采用复杂指令集计算机(Complex Instruction Set Computer,CISC)体系,如Intel公司的x86系列CPU。在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。在CISC中有许多复杂的指令,虽然通过增强指令系统的功能简化了软件,但增加了硬件的复杂程度。在VLSI制造工艺中,要求CPU控制逻辑具有规整性,而CISC为了实现大量复杂的指令,控制逻辑极不规整,给VLSI工艺造成很大困难。

精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少,以控制逻辑为主,不用或少用微码控制等。RISC是在CISC的基础上产生并发展起来的,RISC通过简化指令系统使计算机的结构更加简单合理,运算效率更高。

RISC结构优先选取使用频率最高的简单指令,避免复杂指令;固定指令长度,减少指令格式和寻址方式种类;以控制逻辑为主。到目前为止,RISC体系结构还没有严格的定义,采用RISC架构的ARM微处理器一般具有如下特点。

1)支持Thumb(16位)、ARM(32位)双指令集,能很好地兼容8位/16位元器件。Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度。

2)指令执行采用3级/5级流水线技术。

3)带有指令Cache和数据Cache且大量使用寄存器,指令执行速度更快,大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定(在ARM状态下是32位,在Thumb状态下是16位)。

4)支持大端格式和小端格式两种方法存储字数据。

5)支持字节(Byte,8位)、半字(Halfword,16位)和字(Word,32位)3种数据类型。

6)支持用户、快中断、中断、管理、中止、系统和未定义7种处理器模式,除了用户模式外,其余的均为特权模式。

7)处理器芯片上都嵌入了在线仿真ICE-RT逻辑,便于通过JTAG来仿真调试ARM体系结构芯片,可以避免使用昂贵的在线仿真器。另外,在处理器核中还可以嵌入跟踪宏单元ETM,用于监控内部总线,实时跟踪指令和数据的执行。

8)具有片上总线协议(Advanced Micro-controller Bus Architecture,AMBA)。通过AMBA可以方便地扩充各种处理器及I/O,可以把DSP、其他处理器和I/O(如UART、定时器和接口等)都集成在一块芯片中。

这些在基本RISC结构上的特性使ARM嵌入式微处理器在高性能、低代码规模、低功耗和小的硅片尺寸方面取得了良好的平衡。

ARM经典处理器包括ARM11、ARM9和ARM7处理器系统。这些处理器在全球范围内仍被广泛授权,为当今众多应用领域提供经济有效的解决方案。ARM处理器的推出时间已超过15年,ARM7TDMI仍是市场上应用较广的32位处理器。

2.哈佛(Harvard)结构

在ARM7以前,处理器采用的是冯·诺依曼结构,从ARM9以后的处理器多采用哈佛结构。哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。系统中具有程序的数据总线与地址总线,以及数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度及数据的吞吐率。又由于程序和数据存储器在两个分开的物理空间中,因此取址和执行能完全重叠,具有较高的执行效率。

3.流水线技术

流水线技术应用于计算机系统结构的各个方面,其基本思想是将一个重复的时序分解成若干个子过程,而每个子过程都可以有效地在其专用功能段上与其他子过程同时执行。指令流水线就是将一条指令分解成一连串执行的子过程。例如,把指令的执行过程细分为取指令、指令译码和执行3个过程。在CPU中,把一条指令的串行执行子过程变为若干条指令的子过程在CPU中重叠执行。