新闻中心

ARM体系结构详解 ARM处理器分析

标签:

  ARM处理器近年来是非常火热,尤其是用于一些通信硬件设备中。如:厦门计讯TG463千兆网关就是采用高端ARM处理器,使用更安全应用更灵活。那么,ARM处理器有哪些特点呢?

  一、ARM处理器的一些特点

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

  指令执行采用3级流水线/5级流水线技术;

\

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

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

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

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

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

  具有片上总线AMBA(Advanced Micro-controller Bus Architecture)。

  AMBA定义了3组总线:先进高性能总线AHB(Advanced High performance Bus);先进系统总线ASB(Advanced System Bus);先进外围总线APB(Advanced Peripheral Bus)。

  通过AMBA可以方便地扩充各种处理器及I/O,可以把DSP、其他处理器和I/O(如UART、定时器和接口等)都集成在一块芯片中;

  采用存储器映像I/O的方式,即把I/O端口地址作为特殊的存储器地址;

  具有协处理器接口。ARM允许接16个协处理器,如CP15用于系统控制,CP14用于调试控制器;

  采用了降低电源电压,可工作在3.0V以下;减少门的翻转次数,当某个功能电路不需要时禁止门翻转;减少门的数目,即降低芯片的集成度;降低时钟频率等一些措施降低功耗;

  体积小、低成本、高性能。

  二、一个典型的ARM体系结构

  包含有32位ALU、31个32位通用寄存器及6位状态寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器等。

 1、ALU

  ARM体系结构的ALU与常用的ALU逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。ALU的最小数据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。

 2、桶形移位寄存器

  ARM采用了32&TImes;32位桶形移位寄存器,左移/右移n位、环移n位和算术右移n位等都可以一次完成,可以有效的减少移位的延迟时间。在桶形移位寄存器中,所有的输入端通过交叉开关(Crossbar)与所有的输出端相连。交叉开关采用NMOS晶体管来实现。

  3、高速乘法器

  ARM为了提高运算速度,采用两位乘法的方法,2位乘法可根据乘数的2位来实现“加-移位”运算。ARM的高速乘法器采用32&TImes;8位的结构,完成32×2位乘法也只需5个时钟周期。

 4、浮点部件

  在ARM体系结构中,浮点部件作为选件可根据需要选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。

  浮点的Load/Store指令使用频度要达到67%,故FPA10内部也采用Load/Store结构,有8个80位浮点寄存器组,指令执行也采用流水线结构。

  5、控制器

  ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端有14根、输出端有40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器ALU和移位器。

 6、寄存器

  ARM内含37个寄存器,包括31个通用32位寄存器和6个状态寄存器。