先进的架构优化了 Atmel AVR CPU

 

高性能、低功耗、代码量小

基于哈佛架构
AVR 微控制器的高性能和低功耗不是偶然之作,而是长期艰苦研发的结晶,是一项专利技术。Atmel 的 8 位和 32 位 AVR CPU 基于先进的哈佛架构,该架构专门针对功耗和性能进行了调优。与每个哈佛架构的器件类似,AVR CPU 拥有两条总线:一条指令总线,用于 CPU 读取可执行指令;一条数据总线,用于读取或写入相应的数据。这确保了在每个时钟周期都可以执行一条新指令,从而消除了没有指令可供执行的等待状态。

可以配置 AVR 微控制器中的总线,使 CPU 指令总线具有访问片上闪存的最高优先级。CPU 数据总线具有访问 SRAM 的最高优先级。

 

降低复杂性,提升效率

CPU-AVR多数人认为 RISC 是“精简指令集计算机(Reduced Instruction Set Computer)”的首字母缩写,RISC 器件拥有的指令数量有限。但是,对于熟悉 RISC 和 CISC 发展历史的人们而言,他们了解 RISC 是“降低复杂性指令集计算机(Reduced COMPLEXITY Instruction Set Computer)”的首字母缩写。因为术语 RCISC 不够简洁,所以在计算机理论中普遍采用 RISC。

Atmel AVR 不需要减少指令集包含的指令数,而是降低解码每个指令所需的数字电路的复杂程度。因为每个指令都是 16 位的倍数,所以不会在尝试传输和解码包含无用信息的位上浪费能耗。

为使 AVR 指令集尽可能高效,Atmel AVR CPU 研发团队邀请了 IAR 系统的编译器专家共同开发了首个 AVR C 编译器。随着不断改进,AVR 架构针对 C 代码执行进行了优化,在构造阶段彻底解决了瓶颈问题。这就是 AVR 成为代码量小、高性能和低功耗代名词的原因所在。

 

使用工作寄存器改善数据访问

CPU 执行程序时,通常需要频繁访问有限的一组数据,包括指针、循环计数器、信号状态位和数组索引。事实上,经过对源代码仔细检查,我们发现大多数数据只是在非常短的时间内需要,随后就被丢弃。这就是 AVR CPU 包含多个“工作寄存器”的原因,这样可在 CPU 内部存储动态数据。将临时数据组织在一个“寄存器文件”中,不必再将这些数据从 CPU 移动到 SRAM,只是在几个周期后再读取回来。寄存器文件速度极快,可以使 CPU 在一个时钟周期内读取、执行、并将结果重新存储到寄存器。相比存取长地址和数据行的大型 SRAM 而言,寄存器文件在存取数据时消耗的电量更低。因为不会浪费任何周期,所以大幅降低了执行代码的功耗。

 

DSP 指令

32 位 AVR 包含一系列整数、固定点和浮点 DSP 指令的指令集,使 AVR CPU 具有最高的 CPU 性能。32 位 AVR 指令集包含饱和及舍去指令,无需对中间结果进行内部范围检查,因此提高了循环速度。凭借快速乘法、累积和除法指令,32 位 AVR 是要求大量数字信号处理的应用的最佳选择。