资源描述
2020/4/25,1,第3章C28xDSP的CPU与指令系统,本章内容:3.1中央处理器3.2寻址方式3.3C28xDSP指令系统,2020/4/25,2,3.1中央处理器,C28xDSP的中央处理器(CPU)结构包括三个部分:CPU内核、仿真逻辑单元和CPU信号。,C28xCPU组成概念框图,1.CPU结构,2020/4/25,3,仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能。,CPU的信号主要包括4种:存储器接口信号时钟和控制信号复位和中断信号仿真信号,2020/4/25,4,F281xDSP的CPU单元结构框图,2020/4/25,5,C28x的CPU主要由总线、CPU寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。,ALU为32位的运算逻辑单元,主要执行算术运算和布尔运算。在运算之前,ALU从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。,32位的乘法器,可执行3232位的补码乘法,并产生64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积寄存器(P)和32位累加器(ACC)。CPU的移位器实现对操作数的移位操作。,2020/4/25,6,TMS320F2812/TMS320F2810MostPowerful-MostIntegratedDualFunctionDigitalSignalController,2020/4/25,7,Fast假设AMODE=0(C28x寻址方式)-v28-m20;假设AMODE=1(C2xLP兼容寻址方式)汇编器还允许文件中嵌套指令改变寻址方式。.c28_amode;告知汇编器后缀代码为AMODE=0(C28x寻址方式).lp_amode;告知汇编器后缀代码为AMODE=1(C2xLP兼容寻址方式),2020/4/25,26,3.2.2直接寻址方式,直接寻址方式操作数的22位物理地址被分成两部分,16位的数据页指针(DP)寄存器作为固定的页指针,指令中提供6位或7位的偏移量,这些偏移量与DP中的值一起确定操作数的地址。,2020/4/25,27,3.2.3堆栈寻址方式,堆栈寻址方式操作数在堆栈中,操作数物理地址由堆栈指针SP给出。C28x的软件堆栈从存储器的低地址变化到高地址,堆栈指针总是指向下一个位置。在指令中提供6位的偏移量,表明数据入栈或出栈时,栈指针增加和减小值。,2020/4/25,28,3.2.4间接寻址方式,间接寻址方式,操作数物理地址存放在32位寄存器XAR0XAR7中。在C28x的间接寻址中所用的寄存器直接出现在指令中。在C2xLP的间接寻址中,由3位的辅助寄存器指针(ARP)选择指令使用哪个辅助寄存器作为间接寻址寄存器。,2020/4/25,29,3.2.5寄存器寻址方式,寄存器寻址方式操作数在寄存器中。寄存器寻址方式可分为32位和16位寻址方式。,2020/4/25,30,3.2.6数据/程序/IO空间立即寻址方式,数据/程序/IO空间立即寻址方式有4种语法:*(0:16bit)、*(PA)、0:pma和*(pma)。,2020/4/25,31,3.2.7程序空间间接寻址方式,程序空间间接寻址方式的访问程序空间有3种语法:*AL、*XAR7和*XAR7+。,3.2.8字节寻址方式与32位操作数的定位,字节寻址方式,32位操作数的定位,2020/4/25,32,3.3C28xDSP指令系统,C28xDSP指令系统一览表见教材。,XARn寄存器(XAR0XAR7)操作DP寄存器操作SP寄存器操作AX寄存器操作(AH,AL)16位ACC累加器操作32位ACC累加器操作64位ACC:P寄存器操作P或XT寄存器操作(P,PH,PL,XT,T,TL)1616位乘法操作,2020/4/25,33,3232位乘法操作直接存储器操作I/O空间操作程序空间操作跳转/调用/返回操作中断寄存器操作状态位清零其他操作,2020/4/25,34,思考题与习题,简述C28xDSPCPU的组成。C28x的CPU有哪些寄存器?简述C28xDSP的总线结构。辅助寄存器有哪些?其作用是什么?状态寄存器ST0,ST1的作用是什么?C28xDSP有哪些寻址方式?直接寻址方式中,数据存储单元的地址是如何形成的?访问片内外设寄存器可以采用哪些寻址方式?C28xDSP有哪些类型的指令?举例说明符号loc16和loc32在指令中的含义。,
展开阅读全文