对控制寄存器的读/写,只能通过MVC指令实现,MVC指令的执行功能单元是.S2。表2-3列出了TMS320C6x通用的控制寄存器及其描述。
表2-3 TMS320C6x通用的控制寄存器及其描述
1.控制寄存器组
(1)寻址模式寄存器(Addressing Mode Register,AMR)
TMS320C6x支持线性寻址和循环寻址。其中,所有寄存器支持线性寻址,寄存器A4~A7和B4~B7同时还支持循环寻址。A4~A7和B4~B7的寻址方式由AMR确定。
AMR的字段编码见表2-4。AMR的模式(Mode)选择字段用来定义寄存器的寻址方式,Mode的编码见表2-4。AMR的复位初值为零,其保留字段总是为零。
表2-4 AMR模式(Mode)字段编码
对于数据存储器的访问,只能通过LD(数据读取)和ST(数据存储)指令完成。LD指令和ST指令的基本格式如图2-7所示。
AMR的BK字段用来定义循环缓冲区的大小,循环缓冲区的大小(S)和BK字段的关系为:S-2(BK+I)。表2-5列出了所有32种循环缓冲区的S值及相应的BK。
图2-7 LD指令和ST指令的基本格式
表2-5 循环缓冲区的S值及相应的BK
(2)控制状态寄存器(Control Status Register,CSR)(www.xing528.com)
CSR包括控制位和状态位,CSR的格式如图2-8所示,各字段的功能见表2-6。
图2-8 控制状态寄存器
表2-6 控制状态寄存器字段描述
CPUID和RevisionID共16位,这16位的编码见表2-7。
表2-7 CPUID和RevisionID的编码
(3)E1节拍程序计数器(PCE1:Program Counter E1phase)
PCE1用来存放流水线中处于E1节拍的指令包的32位地址,PCE1的格式如图2-9所示。
图2-9 E1节拍程序计数器
2.TMS320C67x扩展控制寄存器
TMS320C67xDSP增加了浮点数运算功能,为此,扩展了3个控制寄存器,分别是浮点加法配置寄存器(FADCR)、浮点辅助配置寄存器(FAUCR)和浮点乘法配置寄存器(FM- CR)。这些寄存器分别规定了.L、.S和.M功能单元浮点运算的舍入模式(Rounding Mode),以及分别对.L、.S和.M功能单元的浮点运算的异常情况作出告警指示。这些告警指示包括:源操作数SRC1和SRC2是否为无效数NaN(NotaNumber)或是否为非归一化数(Denormalized Number);运算结果是否上溢出(Overflow),或下溢出(Underflow),或不准确(Inexact),或无穷(Infinite),或无效(Invalid)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。