at90s/ls4434 和 at90s/ls8535
5
这 alu 支持 arithmetic 和 逻辑 功能 在
寄存器 或者 在 一个 常量 和 一个 寄存器. 单独的 reg-
ister 行动 是 也 executed 在 这 alu. 图示 3
显示 这 at90s4434/8535 avr 增强 risc 微观的-
控制 architecture.
在 增加 至 这 寄存器 运作, 这 常规的 mem-
ory 寻址 模式 能 是 使用 在 这 寄存器 文件 作
好. 这个 是 使能 用 这 事实 那 这 寄存器 文件 是
assigned 这 32 lowermost 数据 空间 地址 ($00 -
$1f), 准许 它们 至 是 accessed 作 though 它们 是
ordinary 记忆 locations.
这 i/o 记忆 空间 包含 64 地址 为 cpu
附带的 功能 作 控制 寄存器, 计时器/counters,
一个/d-转换器, 和 其它 i/o 功能. 这 i/o 记忆
能 是 accessed 直接地, 或者 作 这 数据 空间 locations
下列的 那些 的 这 寄存器 文件, $20 - $5f.
这 avr 使用 一个 harvard architecture concept - 和 sepa-
比率 memories 和 buses 为 程序 和 数据. 这 pro-
gram 记忆 是 executed 和 一个 单独的 水平的 pipelining.
当 一个 操作指南 是 正在 executed, 这 next 操作指南
是 前-fetched 从 这 程序 记忆. 这个 concept
使能 说明 至 是 executed 在 每 时钟 循环.
这 程序 记忆 是 在-系统 downloadable flash
记忆.
和 这 相关的 jump 和 call 说明, 这 全部的
2k/4k 地址 空间 是 直接地 accessed. 大多数 avr
说明 有 一个 单独的 16-位 文字 format. 每 pro-
gram 记忆 地址 包含 一个 16- 或者 32-位 操作指南.
在 中断 和 子例程 calls, 这 返回 地址
程序 计数器 (pc) 是 贮存 在 这 堆栈. 这 堆栈 是
effectively allocated 在 这 一般 数据 sram, 和 conse-
quently 这 堆栈 大小 是 仅有的 限制 用 这 总的 sram 大小
和 这 用法 的 这 sram. 所有 用户 programs 必须 最初的-
ize 这 sp 在 这 重置 routine (在之前 subroutines 或者 inter-
rupts 是 executed). 这 9-位 堆栈 pointer sp 是 读/写
accessible 在 这 i/o 空间.
这 256/512 字节 数据 sram 能 是 容易地 accessed
通过 这 five 不同的 寻址 模式 supported 在
这 avr architecture.
这 记忆 spaces 在 这 avr
architecture 是 所有 直线的
和 regular 记忆 maps.
图示 4.
记忆 maps
32 gen. 目的
working 寄存器
64 i/o 寄存器
内部的 sram
(256/512 x 8)
$0000
$001F
$005F
$0060
$015f/$025f
$0020
$000
$7ff/$fff
数据 memoryprogram 记忆
程序 flash
(2k/4k x 16)
可擦可编程只读存储器
(256/512 x 8)
$0000
$1f/$ff
数据 记忆