第3章DSP的CPU及指令系统
- 格式:ppt
- 大小:320.00 KB
- 文档页数:26
第3章 TMS320C28x DSP的CPU与指令系统 本章主要内容:Ø 中央处理器(Central Processing Unit)・CPU结构(CPU Structure)・CPU的寄存器(CPU Registers)Ø 寻址方式(Addressing Modes)・寻址方式概述(Introduction to Addressing Modes )・直接、堆栈、间接、寄存器、立即寻址 (Direct, Stack, Indirect, Register and Immediate Addressing)Ø C28x DSP指令系统(Instruction Set for C28x DSP) 3.1中央处理器 3.1.1 CPU结构 C28x DSP的中央处理器(CPU)结构包括三个部分:CPU内核、仿真逻辑单元和CPU信号,如图3-1所示。
图3-1 C28x CPU组成概念框图 仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能。
用户通过CCS的调试器工具以及硬件JTAG仿真器来访问和操作仿真逻辑单元。
调试器通过仿真逻辑单元可以直接控制存储器接口以获得寄存器或存储器的内容或者对存储器的内容进行修改。
仿真逻辑单元还能够响应多重调试事件,如用于调试的两条指令ESTOP0或ESTOPl产生的软件断点,对程序空间和数据空间指定单元的访问,以及来自调试器或其他硬件的请求,这些调试事件都能够在程序的执行过程中产生一个断点,使得C28x进入调试停止状态。
CPU的信号是指由CPU发出或者输入到CPU的工作信号,主要包括4种:①存储器接口信号,这些信号是指CPU通过并行总线对存储器进行读写访问的时序信号,包括地址信号、数据信号和读写控制信号等。
C28x的CPU是32位的,但它能根据不同存储器字段的长度(16位或32位)来区分不同的存取操作(16位或32位)。
汇编指令集本节根据指令的功能来分,提供六张表来说明指令集的概况:累加器、算数和逻辑指令(表2);辅助寄存器和数据页指针指令(表3);TREG、PREG和乘法指令(表4);转移指令(表5);控制指令(表6);I/O和存储器操作(表7)。
在每张表中,指令按字母顺序排列。
执行每条指令所需要的周期数在表中给出,所有指令都假设从内部程序存储器和内部数据存储器中执行,指令的周期数适用于单指令执行,不适用于重复方式。
编程时,用户必须对每条指令的寻址方式了解清楚,因此这里也在表中给出了每条指令的寻址方式。
由于指令的操作码对用户编程没有多大指导意义,在这里就没有列出来。
为了参照起见,我们先定义这六张概述表的符号意义:ACC 累加器。
ARBITXCM 辅助寄存器。
4位数值,用于指定数据存储器数值中的哪一位将被BIT指令所测试。
2位数值,CMPR指令执行CM值所声明的比较:若CM=00,测试当前AR=AR0否;若CM=01,测试当前AR<AR0否;若CM=10,测试当前AR>AR0否;若CM=11,测试当前AR≠AR0否。
ShiftTP 4位右移量。
用于条件执行指令的2位数值,代表如下4种条件:若BIO引脚为低,TP=00;若TC位=1,TP=01;若TC位=0,TP=10;无条件TP=11。
ARX 用于LAR和SAR指令的3位数据值,指定被操作的辅助寄存器。
52表2 累加器、算数和逻辑指令 ABS周期|(ACC)|→ACC 1(ACC)+(数据存储器地址)×12shift→ACC(ACC)+(数据存储器地址)×216→ACC 1(ACC)+k→ACC 1shift(ACC)+lk×2→ACC 2指令功能(ACC)+(数据存储器地址)+(C)→ACC寻址方式直接/间接直接/间接短立即数长立即数指令说明ACC取绝对值移位时低位填0,若SXM=1,高位用符号扩展;若SXM=0,高位填0;结果存在ACC中,该指令使C=0。
DSP总结:以下总结仅针对宁波大学DSP芯片技术及应用(通信类非控制类)这门课,个人根据重点、考点总结的,用于期末复习(请结合课本以及PPT的例子),不足之处请见谅,基本能过就是,如若其中有错请联系QQ:493288964。
还是建议您平时学点,理解为先!!!将该文章用于百度等兑换积分的行为是可耻的!第一章绪论(简介)1、DSP芯片特点:采用哈佛结构;多总线结构;流水线技术;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;硬件配置强;支持多处理器结构1)CPU是冯.诺伊曼结构;DSP是数据和地址空间分开的哈佛结构。
冯.诺依曼结构:单存储空间;统一的程序和数据空间;共享的程序和数据总线;程序指令只能串行执行单指令周期:100ns,现在单指令周期为:10ns哈佛结构:双存储空间;程序存储器和数据存储器分开;程序总线和数据总线分开;独立编址、独立访问改进型哈佛结构:双存储空间、多条总线;多条数据总线;高速缓冲器(重复指令,只需读入一次)2)采用多总线结构:TMS320C54X:4组总线;单机器周期内可完成的操作;3)流水线操作4)专用的硬件乘法器硬件乘法累加器是DSP区别于通用微处理器的一个重要标志MAC(乘累加)单元(独立的乘法器和加法器;单周期内完成一次乘法和一次加法运算;MPY,MAC,MACA, MACSU等指令)分类:工作时钟和指令类型:静态和一致性DSP芯片;用途分:通用和专用型;数据格式分:定点和浮点型2、DSP按数据格式分为定点型和浮点型定点DSP芯片:数据长度16位/24位TMS320C2000/5000/6000价格便宜、功耗较低、但运算精度稍低。
浮点DSP芯片:数据长度32位/40位MS320C3X/4X/VC33/C67X/C8X价格稍贵、功耗较大、但运算精度高。
3、芯片简介TMS320VC5416PGE160 主处理器芯片的性能:频率:160MHz 速度:160MIPS 周期:6.25ns第二章:TMS320C54X的硬件结构1、C54X:为低功耗,高性能而专门设计的16位定点DSP芯片C54基本结构:中央处理器(CPU)、内部总线结构、存储器、片内外设。
第3章汇编语言指令系统在DSP应用中,虽然可以使用C/C++高级语言编程,降低了对编程者的要求,但在一些实时性要求高的场合仍然需要采用汇编编程,以充分利用DSP丰富的硬件资源,发挥它的实时运算能力。
用汇编语言编程,要求编程者对DSP的低层有充分的了解,包括硬件结构、存储器空间模型和I/O口的组织等。
同时又要求编程者对指令系统有深刻的了解。
第3章汇编语言指令系统目录:3.1 C54x 汇编语言指令集介绍3.2 寻址方式3.3 C54x 系列DSP的指令系统参考:TMS320C54x DSP Reference Set Volume 2:Mnemonic Instruction Set.pdf, spru172c, 2001, TI官网3.1 C54x汇编语言指令集介绍C54x汇编语言源程序指令包括:➢汇编语言指令Assembly Language Instructions ➢汇编伪指令Assembler Directives➢宏指令Macro Directives本章介绍C54x DSP的汇编语言指令系统。
与其它CPU的指令集相同,汇编语言指令又称为硬指令,它们在汇编和连接后形成可执行的机器码,供DSP进行运算和其它操作。
TMS320C54x assembly language source programs consist of source statements that can contain assembler directives, assembly language instructions, macro directives, and comments.3.1.1 指令系统中的符号、缩写及操作符➢指令系统中采用的符号和缩写如下列表中所示序号符号含义1A累加器A2ALU算术逻辑运算单元3AR泛指通用辅助寄存器4ARx指定某一辅助寄存器AR0~AR75ARP ST0中的3位辅助寄存器指针6ASM ST1中的5位累加器移位方式位-16~15 7B累加器B8BRAF ST1中的块重复操作标志位9BRC块重复操作计数器10BITC或bit_code用于测试指令,指定数据存储器单元中的哪一位被测试,取指范围:0~15BIT Xmem, BITC3.1 C54x汇编语言指令集介绍3.1.1 指令系统中的符号、缩写及操作符(续)序号符号含义11C16ST1中的双16位/双精度算术运算方式位12C ST0中的进位位13CC2位条件码(0≤CC≤3)14CMPT ST1中的ARP修正方式位15CPL ST1中的直接寻址编辑标志位16cond表示一种条件的操作数,用于条件执行指令17[d],[D]延时选项18DAB D地址总线19DAR DAB地址寄存器20dmad16位立即数数据存储器地址(0~65535)序号符号含义21Dmem数据存储器操作数22DPST0中的数据存储器页指针(0≤DP≤511)23Dst目的累加器(A和B)24dst_与dst相反的目的累加器25EAB E地址总线26EAR EAB地址寄存器27extpmad23位立即数程序存储器地址28FRCT ST1中的小数方式位29hi(A)累加器的高阶位(AH或BH)30HM ST1中的保持方式位3.1.1 指令系统中的符号、缩写及操作符(续)序号符号含义31IFR中断标志寄存器32INTM ST1中的中断屏蔽位33K少于9位的短立即数34k33位立即数(0≤k3≤7)35k55位立即数(-16≤k5≤15)36k99位立即数(0≤k9≤511)37lk16位长立即数38Lmem利用长字寻址的32位单数据存储器操作数39mmr,MMR存储器映像寄存器40MMRx,MMRy存储器映像寄存器,AR0~AR7或SP3.1.1 指令系统中的符号、缩写及操作符(续)第3章汇编语言指令系统序号符号含义41n XC 指令后面的字数,取1或242N 指定状态寄存器,N=0为ST0,N=1为ST143OVA ST0中的累加器A 溢出标志44OVB ST0中的累加器B 溢出标志45OVdst 指定目的累加器(A 或B)的溢出标志46OVdst_另一个目的累加器(A 或B)的溢出标志47OVsrc 指定源累加器(A 或B)的溢出标志48OVM ST1中的溢出方式位49PA 16位立即数端口地址(0≤PA ≤65535)50PAR 程序存储器地址寄存器3.1.1 指令系统中的符号、缩写及操作符(续)XC n, cond [, cond [, cond]RSBX N, SBIT第3章汇编语言指令系统序号符号含义51PC程序计数器52pmad16位立即数程序存储器地址(0≤pmad≤65535)53pmem程序存储器操作数54PMST处理器工作方式状态寄存器55prog程序存储器操作数56[R]舍入选项57rnd舍入Round58RC重复计数器59RTN快速返回寄存器60REA块重复结束地址寄存器3.1.1 指令系统中的符号、缩写及操作符(续)第3章汇编语言指令系统序号符号含义61RSA 块重复起始地址寄存器62SBIT 用于指定状态寄存器位的4位地址(0~15)63SHFT 4位移位值(0~15)64SHIFT 5位移位值(-16~15)65Sind 间接寻址的单数据存储器操作数66Smem 16位单数据存储器操作数67SP 堆栈指针寄存器68src 源累加器(A 或B)69ST0,ST1状态寄存器0,状态寄存器170SXM ST1中的符号扩展方式位3.1.1 指令系统中的符号、缩写及操作符(续)RSBX N, SBIT序号符号含义71T暂存器72TC ST0中的测试/控制标志73TOS堆栈顶部74TRN状态转移寄存器(比较选择存储CSST单元内) 75TS由T寄存器的5~0位所规定的移位数(-16~31) 76uns无符号数77XF ST1中的外部标志状态位78XPC程序计数器扩展寄存器79Xmem16位双数据存储器操作数, 用于双数据操作数指令和单数据操作指令80Ymem16位双数据存储器操作数,用于双数据操作数指令3.1.1 指令系统中的符号、缩写及操作符(续)CMPS指令3.1.1 指令系统中的符号、缩写及操作符➢指令系统中的运算符号及优先级如下列表中所示序号符号运算功能求值顺序1+ -~ !取正、取负、按位求补、逻辑非从右至左2* / %乘法、除法、求模从左至右3+ -加法、减法从左至右4^指数从左到右5<< >>左移、右移从左至右6< ≤小于、小于等于从左至右7> ≥大于、大于等于从左至右8≠!=不等于从左至右序号符号运算功能求值顺序8=等于从左至右9&按位与运算(AND )从左至右10∧按位异或运算(exclusive OR )从左至右11|按位或运算(OR )从左至右3.1.1 指令系统中的符号、缩写及操作符➢指令系统中的运算符号及优先级如下列表中所示本节以LD 装载指令为例,说明指令的格式和其它一些有用信息。
《DSP技术及应用》习题答案第1章绪论1.1 DSP的概念是什么?本书说指的DSP是什么?答:DSP有两个概念。
一是数字信号处理(Digital Signal Processing),指以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理;二是数字信号处理器(Digital Signal Processor),指是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
本书中的DSP主要指后者,讲述数字信号处理器的应用。
1.2 什么是哈佛结构和冯•诺伊曼结构?它们有什么区别?答:(1)冯·诺伊曼(Von Neuman)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行.当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
(2)哈佛(Harvard)结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理.1.3 已知一个16进制数3000H,若该数分别用Q0、Q5、Q15表示,试计算该数的大小.答:3000H=12288。
若用Q0表示,则该数就是12288;若用Q5表示,则该数就是12288*2—5=384;若用Q15表示,则该数就是12288*2—15=0。
3751。
4 若某一个变量用Q10表示,试计算该变量所能表示的数值范围和精度。
答:Q10能表示的数值范围是-32~31.9990234,其精度为2-101.5 若x=0.4567,试分别用Q15、Q14、Q5将该数转换为定点数.答:Q15:x*215=int(0。
DSP原理及应用第五版汪春梅课后答案第一章绪论1、简述DSP系统的构成和工作过程。
答:DSP系统的构成:一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低道滤波器等。
DSP系统的工作过程:将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。
数字信号处理器对x(n)进行处理,得数字信号y(n)。
经D/A转换器,将y(n)转换成模拟信号经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。
9、简述DSP系统的设计步骤。
答:明确设计任务,确定设计目标。
算法模拟,确定性能指令。
选择DSP芯片和外围芯片。
设计实时的DSP芯片系统。
硬件和软件调试。
系统集成和测试。
第二章TMS320C54x硬件结构1、TMS320C54X芯片的基本结构都包括哪些部分,答:中央处理器内部总线结构2、TMS320C54X芯片的CPU主要由哪几部分组成,答:40位的算术运算逻辑单2个40位的累加器(ACCA、ACCB).1个运行-16至31位的桶形移位寄存器。
17X17位的乘法器和40位加法器构成的乘法器-加法器单元(MAC)。
比较、选择,有所无指令编码器。
CPU状态和控制寄存器。
3、TMS320VC5402共有多少可屏蔽中断,它们分别是什么,和属于哪一-类中断RSMI源,答:TMS320VC5402有13个可屏肢中断,和属于外部硬件中断。
RSNMI 第三章TMS320C54x指令系统第一次1、已知(80H)=-50H,AR2-84H,AR3-86H,AR4 88H。
MVKD 80H,*AR2WVDD*AR2,*AR3.WVDM 86H,AR4运行以上程序后,(80I)、(84H)、*AR3和AR4的值分别等于多少,解:(80H)--50H,(84H);-50H,*AR3=50H,AR4-50H 2、已知,(80H):20H、(8IH)=30H。
DSP指令大全(最全)附录6 TMS320C54x 指令系统一览表(按指令功能排列) 一、算术运算指令二、逻辑运算指令三、程序控制指令6.注:?条件―真‖,§条件―假‖,※延迟指令。
四、加载和存储指令4.6.7.五.伪指令2.初始化常数(数据和存储器)的伪指令3.调整段程序计数器伪指令(SPC).align 把SPC调整到页边界.even 把SPC调整到偶数字边界4.控制输出列表格式化伪指令5.条件汇编伪指令.break [well-defined expression] 如果条件真结束.loop汇编,.break结构是可选项.else 如果.if条件为假,汇编代码块.else结构是可选项.elseif well-defined expression——如果if条件为假且.elseif 条件为真,汇编代码块.else结构是可选项.endif 结束.if代码块.endloop 结束.1oop代码块.if well-defined expression 如果条件为真则汇编代码块.loop [well-defined expression] 开始代码块的重复汇编6. 汇编符号.asg [”] character string [”],substitution symbol——把字符串赋予替代的符号..endstruct 结束结构定义.equ 使值和符号相等.eval well-defined expression,substitution symbol 根据数字替代符号完成运算.newblock 取消局部标号.set 使数值和符号相等.struct 开始结构定义.tag 把结构属性赋予标号7.宏指令宏定义:Macname .macro[参数1],[…],[参数n]宏调用:[标号][:] macname [参数1],[…],[参数n]8.编译软件指令①汇编器:asm500.exeasm500[input file[object file [listing file] [-options]]-c—使汇编语言文件中大小没有区别。