DSP期末复习整理
- 格式:pdf
- 大小:349.26 KB
- 文档页数:7
DSP期末复习整理
第⼀章绪论1.1 DSP的基本概念
1.2.2 DSP芯⽚的特点
1) 采⽤哈佛结构
2) 采⽤多总线结构
3) 采⽤流⽔线结构
4) 具有专⽤的硬件乘法-累加器
5) 具有特殊的寻址⽅式和指令
6) ⽀持并⾏指令操作
7) 硬件配置强,具有较强的借⼝功能
8) ⽀持多处理器结构
1.2.3 DSP芯⽚的分类
1)按照数据格式的不同DSP芯⽚可以划分为:
定点DSP芯⽚和浮点DSP芯⽚2)按照字长⼤⼩的不同,DSP芯⽚可以划分为:
16位、24位、32位
3)按照不同⽣产⼚家的产品系列划分,有TI公司的TMS320系列
ADI公司的Blackfin、SHARC、TigerSHARCA系列
飞思卡尔公司的MSC系列
习题1.2简述DSP系统组成
1.3DSP芯⽚与普通单⽚机相⽐有什么特点
1.5DSP芯⽚有哪些主要特点
第⼆章TMS320C55x的硬件结构2.1 TMS320C55x的总体结构
2.1.1 C55x CPU内部总线结构
C55x CPU含有12组内部独⽴总线,即:
程序地址总线(PAB):1组,24位;
程序数据总线(PB): 1组,32位;
数据读地址总线(BAB、CAB、DAB):3组,24位;
数据读总线(BB、CB、DB):3组,16位;
数据写地址总线(EAB、FAB):2组,24位;
数据写总线(EB、FB):2组,16位。2.1.2 C55x 的CPU组成C55x的CPU包含5个功能单元:指令缓冲单元(I单元)、程序流单元(P
单元)、地址-数据流单元(A单元)、数据运算单元(D单元)和存储器
接⼝单元(M单元)。I单元包括32X16位指令缓冲队列和指令译码器。此单元主要接收程序
代码并负责放⼊指令队列,由指令译码器来解释指令,然后再把指令流
传给其他的⼯作单元(P单元、A单元、D单元)来执⾏这些指令P单元包括程序地址发⽣器和程序控制逻辑。此单元产⽣所有程序空间
地址,并送到PAB总线。A单元包括数据地址产⽣电路(DAGEN)、附加的16位ALU和1组寄存
器,此单元产⽣读/写数据空间地址,并送到BAB、CAB、DAB总线。D单元包括1个40位的筒形移位寄存器(barrel shifter)、2个乘加单元
(MAC)、1个40位的ALU以及若⼲寄存器。D单元是CPU中最主要的
数据操作部件。M单元式CPU和数据空间或I/O空间之间传输所有数据的中间媒介。
2.3 C55x 的CPU结构
2.4 CPU 寄存器
2.4.2 累加器(AC0~AC3)
C55x的CPU包括4个40位的累加器:AC0~AC3。这4个累加器是等价
的任何⼀条使⽤⼀个累加器的指令,都可以通过编程来使⽤4个累加器
中的任何⼀个。每个累加器分为低字(ACxL)、⾼字(ACxH)和8个保
护位(ACxG)。⽤户可以使⽤访问存储器的寻址⽅式,分别访问这3部
分。C54x兼容模式(C54CM=1)下,累加器AC0、AC1分别对应C54x⾥的累
加器A、B。
2.4.4 T寄存器(T0~T3)
CPU包括4个16位通⽤T寄存器:T0~T3。它们的⽤途是:
1)存放乘法、乘加以及乘减运算⾥的⼀个乘数
2)存放D单元⾥加法、减法和装⼊运算的移位数
3)⽤交换指令交换辅助寄存器(AR0~AR7)和T寄存器中的内容时,跟踪多个指针值。
4)在D单元ALU⾥做双16位运算时,存放Viterbi蝶形的变换尺度。
2.4.5⽤作数据地址空间和I/O空间的寄存器
1.辅助寄存器(AR0~AR7)
CPU包括8个扩展的辅助寄存器:XAR0~XAR7。每个辅助寄存器的⾼7位(AR0H)⽤于指定要访问数据空间的数据页,低字(如AR0)的
⽤途是:1)7位数据页内的16 位偏移量(形成⼀个23位地址)
2)存放位地址
3)通⽤寄存器或计数器
2.系数数据指针(CDP)
CPU在寄存器中映射了⼀个系数数据指针(CDP)和⼀个相关的扩展寄存器(CDPH)。
CPU可以连接这个寄存器形成⼀个扩展系数数据指针(XCDP)。⾼7位(CDPH)⽤于指定要访问数据空间的数据页,低字(CDP)⽤来作为16位偏移量与7位数据页形成⼀个32位地址。
5.数据页寄存器(DP)
CPU在存储器中映射了⼀个数据寄存器(DP)和⼀个相关的扩展寄存器(DPH)。
CPU连接这两个寄存器形成⼀个扩展数据页寄存器(XDP)。DPH指定要访问数据空间的7位数据页,低字(DP)⽤来代表⼀个16位偏移地址。下表给出了XDP的访问属性。在基于DP的直接寻址⽅式中,XDP指定23位地址;在k16绝对寻址⽅式中,DPH与⼀个16位的⽴即数连接形成23位地址。
2.4.8循环控制寄存器
1.单指令循环控制寄存器(RPTC CSR)
单指令循环控制寄存器(RPTC、CSR)。单循环指令可以重复执⾏⼀个单周期指令或并⾏执⾏2个单周期指令,重复次数N被装在RPTC中,指令将被重复执⾏N+1此。在⼀些⽆条件单指令虚幻操作中,可以使⽤CSR 设置重复次数。
RPTC
CSR
2.4.9 状态寄存器ST0_55
C55x含有4个16位的状态寄存器(ST0_55~ST3_55),器控制位影响C55xDSP的⼯作,状态位反应了C55x DSP当前⼯作状态或运⾏结果。ST0_55、ST1_55和ST3_55都有2个访问地址。所有位都可以由第⼀个地址访问,⽽另⼀个地址(保护地址)⾥,即阴影部分不能修改。保护地址的作⽤是为了把C54x的代码写⼊ST0、ST1和PMST。
注意:ST3_55的第11~8位总是写作1100b(Ch)
ST0_55
1)累加器溢出标志位(ACOV0~ACOV3)
2)进位位(CARRY)
3)D P位域
4)测试/控制位(TC1、TC2)
2.4.10 状态寄存器ST1_55
ST1_55R/W-0 R/W-0 R/W-1 R/W-0 R/W-1 R/W-0 R/W-0 R/W-1
R/W-0 R/W-0R/W-1 R/W-00000
1)A SM位域
2)B RAF位
3)C16位
4)C54CM位5)C PL位
6)F RCT位
7)H M位
8)I NTM位
9)M40位
10)SATD位
11)SXMD位
12)XF位
习题2.1 C55x芯⽚有哪些基本部分组成
2.2 C55x CPU包括哪些功能单元
2.5 C55x内部总线有哪些
2.6 C55x指令流⽔线有哪些操作阶段
第三章TMS320C55x指令系统3.1寻址⽅式
●绝对寻址⽅式,通过在指令中指定以个数据地址完成寻址。
●直接寻址⽅式,使⽤地址偏移量寻址。
●间接寻址⽅式,喜⽤指针完成寻址。
3.1.1绝对寻址
3.1.2直接寻址
DP
⼀种⽅式存在。通过设置ST1_55的CPL位选择。寄存器位直接寻址⽅式和PDP 直接寻址⽅式不受CPL位的影响。
3.2 TMS320C55x指令系统
3.2.1算术指令
1.加法指令
ADD * AR3+ ,T0,T1
AR3间接寻址得到的内容与T0的内容相加,结果装⼊T1,并将AR3⾃增1 2.减法指令
SUB uns(*AR1),BORROW,AC0,AC1
将CARRY位求反,AC0减去由AR1寻址得到的内容及CARRY的内容,并将结果装⼊AC15.乘法指令
MPY AC1,AC0
AC1=AC0 * AC1
6.乘加指令
MACMR *AR1,*CDP,AC2
AC2=AC2+(*AR1)*(*CDP)
MACMR uns(*AR2+),uns(*AR3+),AR3 ;AC3=(*AR2)*(*AR3)+AC3 ;AR2=AR2+1,AR3=AR3+1 3.2.2位操作指令
5.状态寄存器设置指令 BCLE #1,ST2_55 ;将ST2_55的位1清零 BSET #11,ST0_55 ;将ST0_55的位11置位 BSET CARRY ;将ST0_55的CARRY(位1)置位 3.2.5移动指令 MOV AC0,*(#0E10h) ;将AC0(15-0)存⼊E10h 单元 MOV AC0,AC1;AC1=AC0,由于M40=0,在31位检测 MOV #248,AC1 ;AC1=#248; SWAP AR4,T0 ;将AR4的内容和T0的内容互换DELAY *AR1+ ;*(AR1+1)=*(AR1),AR1=AR1+1 MOV *CDP,*(#0500h) ;将(*CDP)存⼊0500h 处 POP AC0,AC1;ACO(15-0)=(SP),AC1(15-0)=(SP+1) ;(39-16)不变,SP=SP+2 PSH AR0,AC1 ;SP=SP-2,(SP)=AR0,(SP+1)=AC1(15-0)MOV T1,BRC1 ;BRC1=BRS1=T1 MOV SP,*AR1+ ;(*AR1)=(SP),AR1=(AR1+1) 3.2.6程序控制指令 BCC branch,TC1;TC1=1,程序跳转到标号branch 处执⾏ B AC0 ;PC=AC0(32-0) CALLCC(subroutine),AC1>=#2000h;AC1>=#2000h,PC=⼦程序地址 RETCC AC0V0=#0 ;AC0V0=0,PC=调⽤⼦程序的返回地址 INTR k5 ;程序执⾏中断服务⼦程序,中断向量地址由中断向量指针(IVPD) TRAP k5 ;和5位⽆符号⽴即数确定,不受INTM 影响 RETI ;PC=中断任务的返回地址 4.重复指令 RPTCSR ;下⼀条指令执⾏CSR+1 MACM *AR3+,*AR4+,AC1
习题,3.1 C55x 有哪些寻址⽅式
3.6 按操作类型C55x 的指令可以分为哪⼏种
3.7 阅读下列程序,给程序加上注释,指出该程序的功能 3.9哪些指令适合完成下⾯运算
∑-==?=
1
n i i i
i
a x