6.2 概述 所有Atmel AVR XMEGA 设备使用8/16位AVR CPU。CPU的主要功能是执行代码和执行所有的计算。CPU可以访问内存,执行计算,控制外设,并在falsh存贮器里执行程序。中断处理在一个单独的部分描述,参考”Interrupts and Programmable Multilevel Interrupt Controller” 6.3 结构概述 为了最大限度执行和并发,AVR CPU使用哈佛结构,分开的程序和数据存贮器总线。指令在程序存贮中被以单级线性管道来执行的。当一个指令被执行,下一个指令从程序存贮器中预取。这个使能指在每个时钟周期内执行。更详细的AVR指令,请参考http://www.atmel.com/avr 算术逻辑单元(ALU)支持算术和逻辑运算在寄存器或一个常量和寄存器,单个寄存器也可以在ALU内执行。当一个算术运算,寄存器状态被运算的结果反回的信息所更新。 ALU直接连到快速访问寄存器文件。ALU是直接连接到快速访问寄存器文件。32×8位通用工作寄存器都有单时钟周期的访问时间允许单周期的算术逻辑单元(ALU)之间的寄存器或操作之间,立即数与寄存器之间。32的六个寄存器可以用作16个三位地址指针的程序和数据空间地址,使有效的地址计算。 存贮空间是线性的。数据存储空间和程序存储空间是2个不同的存储空间 空间。 数据存贮空间分成I/O寄存器空间和程序存贮器空间有两个不同存贮空间。 所有I/O状态和控制寄存器位于低数据内存的4KB地址。这被称为“I/O” 存储空间。最低的64个地址可以直接访问,或从0x00数据空间位置到0x3F。 其余的是扩展I/O内存空间,从0x0040到0x0fff。在这里输入/输出寄存器必须被访问数据空间位置使用载入(LD、LD、LDD)和存储(ST / STS /STD)指令。 SRAM存储数据。从SRAM中执行的代码是不支持的。它可以很容易地通过五个不同的访问解决在AVR架构支持的模式。第一存储器地址0x2000。 数据地址0x1000到0x1FFF保留EEPROM存储器映射。 程序存储器分为两节,应用程序段和启动程序段。两节有专门的锁位,用于写和读/写保护。SPM的指令,用于自编程应用程序的闪存必须驻留在启动程序段中。应用程序段包含一种用于编写和读/写保护的单独的锁位的应用程序表节。应用表部分可以用于保存在程序存储器中的非易失性数据的存储。
|