1、C55x与C54x的比较:
image.png
2、C55x的特征及优点:
image.png
3、C55x 的CPU体系结构 :

image.png
指令缓冲单元:
image.png
程序流程单元:
使用的寄存器分为5种类型:程序流寄存器 ,块重复寄存器, 单重复寄存器, 中断寄存器 ,状态寄存器  

image.png
地址流程单元:
地址流程单元包括:数据地址产生电路;能够接收来自I单元的立即数和来自A单元的寄存器产生读取数据空间的地址 ;算术逻辑电路;寄存器组构成;
A单元包括的寄存器类型 :数据页寄存器 ;指针 ;循环缓冲寄存器 ;临时寄存器 ;

image.png
数据计算单元:
由移位器、算术逻辑电路、乘法累加器和寄存器组构成。
image.png
指令流水线:
C55x的指令流水线包括两个阶段:取流水线和指执行流水线

image.png
TMS320C55x 存储空间结构 :

image.png
4、寻址方式:
寻址方式是指如何指定指令和操作数所在存储空间的地址。
C55x DSP支持三种寻址模式 :
绝对寻址模式 :
1)k16绝对寻址
其操作数为*abs16(#k16),【k16:16位的无符号常数】
将7位的寄存器DPH和k16级联形成一个23位的地址,用于对数据空间的访问 。

image.png
2)k23绝对寻址
操作数为*(#k23),【k23:23位的无符号常数】
image.png
3)I/O绝对寻址
操作数是*port(#k16),【k16:16位无符号常数】
使用助记符指令,其操作数是port(#k16)(操作数前没有*)

image.png
直接寻址模式 :
1)DP直接寻址
高7位由DPH提供,用来确定主数据页。
低16位由两部分组成:DP和 7位偏移量(Doffset)。

image.png
2)SP直接寻址
SPH确定高7位地址;
16位地址由SP和7位偏移量决定,偏移量范围是0~127;
由SPH和SP构成了扩展数据堆栈指针XSP 。
image.png
3)寄存器位寻址
操作数是@bitoffset
只有寄存器的位测试、置位、清零、取反指令支持这种寻址模式 。

image.png
间接寻址模式 :
1)AR间接寻址模式
通过一个辅助寄存器ARn(n=0,1,2,3,4,5,6,7)访问数据空间 。
ST2-55的ARMS位决定AR间接寻址的操作类型。
ARMS=0,DSP模式:CPU提供DSP增强应用的高效执行功能;
ARMS=1,控制模式:CPU能够优化代码的长度。

image.png
2)双AR间接寻址模式
通过8个辅助寄存器(AR0~AR7)同时访问两个数据存储单元
实现功能:
执行一条可完成两个16位数据空间访问的指令 ;
并行执行两条指令。  

image.png
3)CDP间接寻址模式
使用系数数据指针(CDP)对数据空间、寄存器位和I/O空间进行访问。  

image.png
4)系数间接寻址模式
支持以下算术指令:FIR滤波,乘法,乘加,乘减,双乘加或双乘减

image.png
5、C55x指令的并行执行
1)指令并行的特征
单指令中内置并行方式 —隐含并行方式
例如:         MPY *AR0, *CDP, AC0
                        :: MPY *AR1, *CDP, AC1
用户自定义的两条指令间的并行方式
例如:        MPYM *AR1–, *CDP, AC1
                        || XOR AR2, T1
内置与用户自定义混合的并行方式
例如:        MPYM T3=*AR3+, AC1, AC2
                        || MOV #5, AR1
指令并行的规则:
两条指令的总长度不能超过6个字节;
在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突;
其中一条指令必须有并行使能位或两条指令符合软-双并行条件。
2)不能使用并行方式的情况
使用立即数寻址方式
例如:        *abs16(#k16);*(#k23);port(#k16);                *ARn(K16);*+ARn(K16);*CDP(K16);                *+CDP(K16)
条件跳转、条件调用、中断、复位等程序控制指令
例如:        BCC P24, cond;CALLCC P24, cond;                IDLE;INTR k5;RESET;TRAP k5
使用下列指令或者操作修饰符
例如:        mmap( );port( );<instruction>.CR;                <instruction>.LR
3)资源冲突
C55x的资源:
运算器:
使用的操作器有:D单元的ALU、D单元的移位器、D单元的交换器、A单元的交换器、A单元的ALU和P单元 。
地址产生单元
两个数据地址(DA)产生单元、一个系数地址(CA)产生单元和一个堆栈地址(SA)产生单元 。
只能使用给定数量的数据地址产生单元  
总线:
两个数据读(DR)总线、一个系数读(CA)总线、两个数据写(DW)总线、1个ACB总线(将D单元寄存器的内容传送给A单元和P单元的操作器)、一个KAB总线(立即数总线)和一个KDB总线(立即数总线)。 只能使用给定数量的总线 。  
4)软-双并行条件
两个存储器操作数必须是双AR间接寻址模式:
指令不能包含high_byte(Smem)和low_byte(Smem)
指令不能读、写同一个存储器单元
如果指令中的k4的值是0~8,就会改变XDP 的值,所以,不能与加载DP的指令组成并行指令。
读重复计数寄存器(RPTC)指令不能和如下的任何一个单重复指令组成并行指令 。
6、TMS320C55X DSP的汇编指令

image.png
image.png