立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVR AVR单片机内核剖析 ATtiny2313 查看内容

ATtiny2313 内核介绍

2015-5-28 21:18| 发布者: waveshare-admin| 查看: 2756| 评论: 0

摘要: 本节从总体上讨论ATtiny2313 AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。因此它必须能够访问存储器、执行运算、控制外设以及处理中断。(点击图片放大)结构综述Figure 3. AVR 结构的方框图为了获得最高 ...

本节从总体上讨论ATtiny2313 AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。因此它必须能够访问存储器、执行运算、控制外设以及处理中断。


(点击图片放大)

结构综述Figure 3. AVR 结构的方框图
为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。 

快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。

寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16 位的X、Y、Z 寄存器。

ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。

程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16 位,亦即每个程序存储器地址都包含一条16 位或32 位的指令。

在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于SRAM 的大小。在复位例程里用户首先要初始化堆栈指针SP。这个指针位于I/O 空间,可以进行读写访问。数据SRAM 可以通过5 种不同的寻址模式进行访问。

AVR 存储器空间为线性的平面结构。

AVR有一个灵活的中断模块。控制寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。

I/O 存储器空间包含64 个可以直接寻址的地址,作为CPU 外设的控制寄存器以及其他I/O 功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5F。

以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!


265

顶一下

刚表态过的朋友 (265 人)

上一篇:ATtiny2313 引脚功能下一篇:ATtiny2313 ALU

相关阅读

最新评论

所有教程
    01ATtiny2313 简介
    ATtiny2313是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以
    02ATtiny2313 引脚功能
    引脚名称引脚功能说明VCC数字电路的电源GND地端口A(PA2..PA0)端口 A 为 3 位双向 I/O
    03ATtiny2313 内核介绍
    本节从总体上讨论ATtiny2313 AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。
    04ATtiny2313 ALU
    ALU- 算术逻辑单元AVR ALU 与32 个通用工作寄存器直接相连。寄存器与寄存器之间、寄存
    05ATtiny2313 状态寄存器
    状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现
    06ATtiny2313 通用寄存器
    寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文
    07ATtiny2313 堆栈指针
    堆栈指针主要用来保存临时数据、局部变量和中断 子程序的返回地址。堆栈指针总是指 向
    08ATtiny2313 指令执行时序
    这一节介绍ATtiny2313 指令执行过程中的访问时序。 AVR CPU由系统时钟clkCPU驱动。此
    09ATtiny2313 复位与中断处理
    AVR有不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件 都
    010ATtiny2313 Flash程序存储器
    系统内可编程的Flash 程序存储器ATtiny2313具有2K字节的在线编程Flash,用于存放程序
    011ATtiny2313 SRAM数据存储器
    SRAM数据存储器Figure 9 给出了ATtiny2313 SRAM 空间的组织结构。前 224 个数据存储器
    012ATtiny2313 EEPROM数据存储器
    ATtiny2313包含128字节的EEPROM数据存储器。它是作为一个独立的数据 可以按字节读写。
    013ATtiny2313 I/O存储器
    ATtiny2313的 I/O P150“ 寄存器概述 ” 。ATtiny2313所有的I/O及外设都被放置于I/O I
    014ATtiny2313 时钟系统及其分布
    时钟系统及其分布Figure 11为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。
    015ATtiny2313 时钟源
    ATtiny2313芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器
    016ATtiny2313 标定的片内RC振荡器
    标定的片内 RC 振荡器提供了固定的 8 MHz 或 4 MHz 的时钟。 这些频率都是 3V、 25 C
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-12-7 00:30 , Processed in 0.018648 second(s), 21 queries .

返回顶部