AVR XMEGA128A1 CPU部分翻译.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR XMEGA128A1 CPU部分翻译.doc

3. AVR CPU 3.1 特点 ? 8/16位高性能的爱特梅尔(Atmel)AVR单片机精简指令的CPU(中央处理器) ? —142说明 ? —硬件乘法器 ? 32X8位寄存器直接连接到算数逻辑单元(中央处理器CPU的执行逻辑单元ALU) ? 堆栈存在随机存取存储器(RAM) ? 在I/O存储空间访问堆栈指针 ? 直接寻址高达程序存储器和数据存储器的16M ? 真正的16位/24位访问16位/24位I/O寄存器 ? 支持8、16和32位高效运算 ? 配置更改系统关键的功能 3.2 概述 所有的Atmel AVR XMEGA系列设备采用8位/16位AVR单片机CPU。CPU的主要功能是执行代码并执行所有的计算。CPU能够访问存储器,执行运算,控制外设,并在闪存中执行程序。中断处理在一个单独的章节描述。 3.3结构概述 为了最大限度的提高性能和并行性,AVR CPU采用了独立的哈佛架构和程序和数据的总线和。在程序存储器的指令是利用单级的流水线运行。当一个指令正在执行时,下一条指令从程序存储器预取。这使得指令在每一个周期被执行。 图3-1。在AVR CPU架构的框图。 算术逻辑单元(ALU)支持寄存器间或者常量与寄存器之间的算术和逻辑运算。单一的寄存器也可以在算术逻辑单元被执行。一种算数运算后,状态寄存器被更新反映运算结果的信息。 ALU是直接连接到快速访问寄存器文件。32X8通用工作寄存器都有单一的时钟周期访问寄存器间的或者寄存器与立即数间的单周期算术逻辑单元操作。32个寄存器中的6个可以被用作程序和数据的三个16位地址寻址空间指针,从而实现高效的地址计算。 内存空间是线性的,数据存储空间和程序存储空间是两个不同的存储空间。 数据存储空间被分为I/O寄存器、SRAM(静态随机存储器)和外部RAM。此外,EEPROM可以被存储器映射到数据存储器。 所有的I/O状态和控制寄存器留驻在数据存储器的最低4KB地址,这称为I/O存储器空间。最低的64个地址可以直接访问,或作为数据空间位置从0x00到0x3F,剩下的就是扩展I/O存储空间,从0x0040到0x0FFF。I/O寄存器这里必须使用负载(LD/LDS/LDD)和存储(ST/STS/STD)指令作为数据空间位置被访问。 SRAM存储数据,不支持从SRAM执行代码。它可以很容易地通过五种不同的寻址模式在AVM架构支持访问。SRAM首地址是0X2000。 数据地址0x1000到0x1FFF是保存EEPROM存储映射。 程序存储器被分为两个部分,应用程序部分和引导程序部分。这两个部分都有专门的锁定位对写和读/写保护。SPM指令用于闪存的自编程程序必须位于引导程序部分,应用程序部分包含有独立锁定位的应用程序表部分对写和读/写保护,应用表格部分可以用于保存程序存储器中的非易失性的数据。 3.4 ALU—算术逻辑单元 算术逻辑单元支持寄存器间或恒值和寄存器间的算术和逻辑运算。单寄存器操作也可以被执行。算术逻辑单元操作直接与所有的32个通用寄存器。通用寄存器间或者寄存器与立即数间的算术运算执行的结果存到寄存器文件中,在算术或逻辑运算后,状态寄存器更新反应运算结果的信息。 ALU操作分为三大类——算术,逻辑和位功能。8位和16位运算的支持,且指令集可以高效地实现32位运算。硬件乘法器支持有符号和无符号的乘法和小数格式。 3.4.1 硬件乘法器 乘法器能是两个8位数字相乘输出16位的结果,硬件乘法器支持有符号和无符号的整数和小数不同变化。 ? 无符号整数的乘法 ? 有符号整数的乘法 ? 有符号整数与无符号整数乘法 ? 无符号小数的乘法 ? 有符号小数的乘法 ? 有符号小数与无符号小数的乘法 一次乘法需要两个CPU时钟周期。 3.5 程序流 复位后,CPU开始从闪存存储器最低地址‘0’执行指令,程序计数器(PC)将下一条指令地址取来。 程序流通过有条件的和无条件的跳转指令和调用指令直接寻址整个地址空间,大多数指令使用16位字格式,然而少数的使用32位格式。 在中断和子程序调用时,返回的PC地址存储在堆栈中,堆栈分配在一般的数据SRAM,因此堆栈的大小受限于SRAM的总大小和SRAM的使用情况。复位后,堆栈指针(SP)指向内部SRAM的最高地址。堆栈指针(SP)在I/O内存空间中是可读写的,使得能够很容易的实现多个堆栈或堆栈区域,数据SRAM能很容易的通过AVR CPU所支持的五种不同的寻址模式访问。 3.6 指令执行时间 AVR CPU的时钟执行时间是CPU时钟计时,没有内部时钟分频。图3.29 显示了并行指令,和指令的执行是由哈佛架构和快速访问寄存器文件的概念,这是基本的流水线概念,用于获取高达1MIPS/MHz高功率效率特性。 图3.29 并行指令和指令的执行 clkCPU 1st Ins

文档评论(0)

基本资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档