2001 微芯 技术 公司
进步 信息
ds70025d-页 9
dsPIC30F
图示 1-6: 程序 空间
记忆 编排
用户 程序 空间
1.4 dsp engine
这 dsp engine 是 一个 块 的 硬件 这个 是 喂养
数据 从 这 w 寄存器 排列, 但是 包含 它的 自己的
specialized 结果 寄存器. 它 是 控制 从 这
一样 单独的 公布 操作指南 解码器 那 directs 这
mcu alu. 在 增加, 所有 operand 有效的 地址
是 发生 在 这 w 寄存器 排列. 一些 dsp
说明 (e.g., ed 和 edac 说明) utilize
两个都 这 dsp engine 和 这 mcu alu resources
concurrently. 这 dsp engine 组成 的 一个 高
速 16-位 x 16-位 乘法器, 一个 barrel shifter 和 一个
40-位 adder/subtractor 和 二 目标 寄存器, round
和 饱和 逻辑.
数据 输入 至 这 dsp engine 是 获得 从:
1. 直接地 这 w 排列 (寄存器 w0, w1, w2 或者
w3) 为 这 mac 类 的 说明 (mac,
msa, mpy, mpyn, sqr, sqrac, clrac 和
movsac) 和 mcu 乘以 说明.
2. 这 x-总线 为 所有 其它 dsp 说明
3. 这 x-总线 为 所有 mcu 说明 这个 使用
这 barrel shifter
数据 输出 从 这 dsp engine 是 写 至:
1. 这 目标 accumulator, 作 定义 用 这 dsp
操作指南 正在 executed
2. 这 x-总线 为 mac, msa, clrac 和
movsac accumulator 写 在哪里 这 ea 是
获得 从 w9 仅有的 (mpy, mpyn, sqr 和
sqrac 做 不 提供 一个 accumulator 写
选项)
3. 这 x-总线 为 所有 mcu 说明 这个 使用
这 barrel shifter
4. 这 w 排列 为 一些 mcu 乘以 说明.
这 dsp engine 也 有 这 能力 至 执行
固有的 accumulator 至 accumulator 行动 这个
需要 非 额外的 数据. 这些 说明 是
addab, subab 和 negac.
一个 块 图解 的 这 dsp engine 是 显示 在
图示 1-7.
0x000000 重置
0x000002 ext. osc. 失败 trap
0x000004 堆栈 错误 trap
0x000006 地址 错误 trap
0x00000A arithmetic warn. trap
0x00000C 软件 trap
0x00000E 保留
0x00000F 保留
0x000010 priority 中断 7
0x000012 priority 中断 6
0x000014 priority 中断 5
0x000016 priority 中断 4
0x000018 priority 中断 3
0x00001A priority 中断 2
0x00001C priority 中断 1
0x00001E priority 中断 0
0x000020
用户 程序 空间
0x7FFFFE