当前位置:
文档之家› 第3章指令系统上课用201003【ppt】
第3章指令系统上课用201003【ppt】
ARP( 3)
AR0(16)索 引 AR1(16) AR2(16) AR3(16) AR4(16) AR5(16) AR6(16) AR7(16) BK(16)
数 据 总 线 D B(16)
数 据 总 线 EB( 16)
AR 0 BK lk 1 ARAU0 O
+/- % 0 B AR0 BK 1
ARAU1
2 绝对寻址
绝对寻址有四种类型 : ① 数据存储器地址(dmad)寻址; ② 程序存储器地址(pmad)寻址; ③ 端口(PA)寻址; ④ *(1k)寻址。
2021/2/10
8
Design and Practice of DSP System
Author: Deng Chen
MVKD
EXAM1,
*
Design and Practice of DSP System
Author: Deng Chen
第3章指令系统上课用201003【ppt】
Design and Practice of DSP System
Author: Deng Chen
Design and Practice of DSP System
FRAME LD
LD
RPT
ADD ADDM AND ANDM BITF CMPM LD MAC OR
ORM RPT RPTZ ST STM SUB XOR XORM
例:ld #0x80,A
2021/2/10
6
Design and Practice of DSP System
Author: Deng Chen
CPL CPL数据地址发生器 0 EA=DP:偏移量(IR) 1 EA=SP+偏移量(IR)
DAB(16)(读) EAB(16)(写) 或 CAB(32 位读)
数据总线 DB(16) 数据总线 EB(16)
EA: 有效地址 IR: 指令寄存器
通过设置ST1中的CPL位,CPL=0,选择DP,CPL=1选择SP。
2 绝对寻址
指令中含有所要寻找的操作数的16位存储单元 地址。
16位地址表示形式: ① 地址标号,如:TABLE; ② 16位符号常量,如:89AB、1234。
用途:用于对速度要求较低的场合。
2021/2/10
7
Design and Practice of DSP System
Author: Deng Chen
利用数据指针DP和堆栈指针SP寻址。 指令格式:
指令的8位操作码
数据存储器地址 包含了数据存储器偏移地址
指令的标识符 表示指令为直接寻址
2021/2/10
16
Design and Practice of DSP System
Author: Deng Chen
• 寻址范围
➢ DP地址的范围是从0~511(29-1),将存储器分 成512页。 ➢ 7位dmad范围是从0~127,
2021/2/10
5
Design and Practice of DSP System
Author: Deng Chen
➢ 存储器寻址方式 1 立即寻址 ❖ 以指令中立即数为操作数 ❖ 采用#号作为前缀来表示立即数
❖ 立即数的长度取决于指令的类型
短立即数
长立即数
3位或5位数
8位数
9位数
16位数
LD
寄存器所指向的数据存储单元中。
I/O端口地址PA
LD *(PN), A ;
把地址为PN的数据单元中的数据装到累加 器A中。
2021/2/10 注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用9 。
Design and Practice of DSP System
Author: Deng Chen
2021/2/10
19
Design and Practice of DSP System
Author: Deng Chen
3.1.4 直接寻址
例2:数据存储器存储数据如图所示,利用堆栈指针SP直 接寻址,求堆栈中距栈顶两个数x,y的和。
SP→ x:
y:
0100 0050
2021/2/10
SSBX CPL ;SCPPL0置000位0执01行0结00果00 0000 0200H
② 采用DP寻址时,要注意数据所在的页面
指针。
2021/2/10
21
Design and Practice of DSP System
Author: Deng Chen
5、 间接寻址
❖ 利用辅助寄存器中数值作为绝对地址 (C5400系列有8个辅助 寄存器)
❖ 主要用于按某种固定方式对数据空间的连续访问 64K×16bit数据空间任一单元都可以通过一个辅助寄存器中 的16bit地址进行访问
Author: Deng Chen
Design and Practice of DSP System
▪ 32位字的存储顺序
Author: Deng Chen
累加器 A
高有效字
寻址1000H时的 32位字存储顺序
1000H 1001H
高有效字 低有效字
低有效字
寻址1001H时的 32位字存储顺序
1000H 1001H
低有效字 高有效字
• 图3-1 32位字的存储顺序
2021/2/10
4
Design and Practice of DSP System
➢ 存储器寻址方式
Author: Deng Chen
▪ 寻址方式 ✓ 立即寻址 ✓ 绝对寻址
✓ 累加器寻址
✓ 直接寻址 ✓ 间接寻址 ✓ 存储器映射寄存器寻址 ✓ 堆栈寻址
1 2
LD
@1,A
A 00 0000 0150
;Ax单0@元010的=d0m0数0a2x0据0110H05送000入00A01
dmay 000 0010
+ 0@220=2H0200205H0
ADD @2,A ;完成x和yX单地址元的0 2数0 1
00 0000 0150
据相加 y地址 0 2 0 2
•直接寻址标识:
① 变量前加@,如@x; ② 在偏移量前加@,如@5。
利用直接寻址可以在不改变DP或SP的情况下, 随机寻址128个存储单元中的任何一个单元。
直接寻址的优点:每条指令只需要一个字。
2021/2/10
18
Design and Practice of DSP System
Author: Deng Chen
AR5;
将数据存储器EXAM1地址单元中的数据复制到 AR5寄存器所指向的数据存储单元中。
数据存储器的 16位地址dmad值
MVPD TABLE, * AR2;将程序存储器TABLE地址单元中的内容复制到
AR2寄存器所指向的数据存储单元中。
程序存储器的 16位地址pmad值
PORTR
FIFO, * AR5; 把一个数从端口为FIFO的I/O口复制到AR5
2021/2/10
13
Design and e of DSP System
Author: Deng Chen
• 地址形成过程: 当CPL=0时,
16位数据 存储器地址
9位数据页指针DP
dmad
2021/2/10
高9位
低7位
14
Design and Practice of DSP System
❖ 修改方式可以为后加、后减、特定步长
❖ 寻址方式最为灵活
2021/2/10
22
Design and Practice of DSP System
Author: Deng Chen
✓ 灵活的寻址方式
❖ 按辅助寄存器内地址更新方式分类 线性寻址 (通常的顺序访问) 循环寻址 (把某段数据区视为一个头尾相接的环,地 址的变化始终在该段数据区范围内)
• 举例
例1:数据存储器存储数据如图所示,采用数据页指针 DP直接寻址,完成x,y单元的两个数据求和。
RSBX RSBX
CPL CPL
;CPL复DP位结果
dma
第 3 页
0180 0001 01FF 1000
LD LD LD LD
#3,DP
A 0
00
0000
0D00P01010
1500
111
1d1m1a1
+/- % 0
D BA( 16) (读)
EBA( 16) (写)或 CBA( 16) (32 位 读 )
2021/2/10
@#y4,ADP @y,A @y,A
;@机据完0y器A0相成00码001+0加0Lx08000和D00操H10000y作00050单#00码1004010+元,0101D000的P00020100数10@000@H80y0000y0100001
00 0000 1500
0200H 0500 0 2 0 0
比特翻转寻址 (专门为FFT变换而设计的,完成地址比特翻 转的翻译)
❖ 按寻址的辅助寄存器数目来分类
单数据(Smem)方式 (在一条指令中只利用一个辅助寄存器 间接寻址)
双数据(Dmem)方式 (在一条指令中同时利用两个辅助寄 存器间接寻址)
2021/2/10
23
Design and Practice of DSP System
✓ 单数据间接寻址结构
Author: Deng Chen
辅助寄存器算 术单元
单操作数寻址 的结构如图所示, 辅助寄存器中地址 的产生是通过辅助 寄存器算术单元 (ARAU)和相关的硬 件来完成的,ARAU 完成对16比特无符 号地址的算术运算, 其源数据来自辅助 寄存器、BK、1k和 地址更新方式。