DSP第一第二章可做小条
- 格式:doc
- 大小:34.00 KB
- 文档页数:2
一DSP定点算数运算1 数的定标在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。
一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位.显然,字长越长,所能表示的数的范围越大,精度也越高。
如无特别说明,本书均以16位字长为例。
DSP芯片的数以2的补码形式表示。
每个16位数用一个符号位来表示数的正负,0表示数值为正,l则表示数值为负。
其余15位表示数值的大小.因此,二进制数0010000000000011b=8195 二进制数1111111111111100b= -4 对DSP芯片而言,参与数值运算的数就是16位的整型数。
但在许多情况下,数学运算过程中的数不一定都是整数。
那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。
那么是不是说DSP 芯片就不能处理各种小数呢?当然不是。
这其中的关键就是由程序员来确定一个数的小数点处于16位中的哪一位。
这就是数的定标。
通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。
数的定标有Q表示法和S表示法两种。
表1.1列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。
从表1.1可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。
例如,16进制数2000H=8192,用Q0表示16进制数2000H=0。
25,用Q15表示但对于DSP芯片来说,处理方法是完全相同的。
从表1。
1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。
Q越大,数值范围越小,但精度越高;相反,Q越小,数值范围越大,但精度就越低。
例如,Q0 的数值范围是一32768到+32767,其精度为1,而Q15的数值范围为—1到0.9999695,精度为1/32768=0.00003051.因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想精度提高,则数的表示范围就相应地减小。
第一章:1、数字信号处理的实现方法一般有哪几种?答:数字信号处理的实现是用硬件软件或软硬结合的方法来实现各种算法。
(1) 在通用的计算机上用软件实现;(2) 在通用计算机系统中加上专用的加速处理机实现;(3) 用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制;(4)用通用的可编程 DSP 芯片实现。
与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;(5) 用专用的 DSP 芯片实现。
在一些特殊的场合,要求的信号处理速度极高,用通用 DSP 芯片很难实现( 6)用基于通用 dsp 核的asic 芯片实现。
2、简单的叙述一下 dsp 芯片的发展概况?答:第一阶段, DSP 的雏形阶段( 1980 年前后)。
代表产品: S2811。
主要用途:军事或航空航天部门。
第二阶段, DSP 的成熟阶段( 1990 年前后)。
代表产品: TI 公司的 TMS320C20主要用途:通信、计算机领域。
第三阶段, DSP 的完善阶段( 2000 年以后)。
代表产品:TI 公司的 TMS320C54 主要用途:各个行业领域。
3、可编程 dsp 芯片有哪些特点?答: 1、采用哈佛结构( 1)冯。
诺依曼结构,( 2)哈佛结构( 3)改进型哈佛结构2、采用多总线结构 3.采用流水线技术4、配有专用的硬件乘法-累加器5、具有特殊的 dsp 指令6、快速的指令周期7、硬件配置强8、支持多处理器结构9、省电管理和低功耗4、什么是哈佛结构和冯。
诺依曼结构?它们有什么区别?答:哈佛结构:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
冯。
诺依曼结构:该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
第一.二章1 DSP芯片的结构特点?答:(1)改进的哈弗结构 1,哈弗结构 DSP处理器将程序代码和数据的存储空间分开,各有自己的地址总线和数据总线。
(目的是为了同时取指令和取操作数,并进行指令和数据的处理,从而大大提高运算速度) 2.,改进的哈弗结构在改进的哈弗结构的基础上,使得程序的代码和数据的存储空间之间也可以进行数据的传送。
(2)多总线结构多总线结构可以保证在一个机器周期内多次访程序和数据的空间。
TMS320C54X内有P,C,D,E4条总线。
P:传送取自ROM的指令代码和立即数;C,D:传送从RAM读出的操作数;E:传送写入到RAM中的数据。
(3)流水线技术将指令的各个部分驻重叠起来执行,而不是一条指令执行完之后,才开始执行下一条指令。
第一条指令去指后,在译码时,第二条指令就取值,第一条指令取数时,第二条指令译码,而第三条指令就考试取值。
(4)多处理单元(5)特殊的DSP指令(6)指令周期短功能强(7)运算精度高(8)丰富的外设(9)功耗低DSP最重要的特点是:特殊的内部结构,强大的信息处理能力及较高的运行速度。
2DSP分为两种:1,定点DSP,数据采用定点方式表示,正数表示是方法和小数表示方法。
2.浮点DSP,数据既可以表示成整数,也可以表示成浮点数。
3 DSP芯片可以归纳为三大系列:(1)TMS320C2000系列:适用于控制领域TMS320P2407(2)TMS320C5000 系列:应用与通信领域TMS320C54X(3)TMS320C6000系列:应用于图像处理TMS320C60X区别:三者CPU内部结构相同,片内存储器,外设电路配置不同。
4:TMS320C54X的内部结构:(1)CPU 包括算术逻辑运算单元,乘法器,累加器,移位寄存器,各种专门用途的寄存器,地址生成器及内部总线。
1,先进的总线结构(1条程序总线,3条数据总线和4条地址总线)2,位算术逻辑运算单元,包括1个40位桶形移位寄存器和2个独立的40位累加器3,17×17位并行乘法器,与40为专用加法器相连,用于非流水线是单周期乘法/ 累加运算(4)比较,选择,存储空间:用于加法/比较选择(5)指数编码器:可以在单个周期内计算40位累加器中数值的指数(6)双地址生成器:包括8位辅助寄存器和2个辅助寄存器算术运算单元(2)存储器系统包括片内的程序ROM,片内单访问的数据RAM和双访问的数据RAM,外接存储器接口。
冯·诺依曼结构(P5)通用微处理器,存储器结构为冯·诺依曼结构。
程序存储器和数据存储器共用一个公共的存储空间和单一的地址和数据总线。
哈佛结构它是一种并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,每个存储器独立编址,独立访问。
系统中设计了程序总线和数据总线两条总线,从而使数据的吞吐率提高了1倍。
TMS320系列DSP芯片更在基本的哈佛结构上作了改进,一是允许数据存放在程序存储器中,并能被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。
(54xx系列的DSP总线结构改进的哈佛结构:1组程序总线,3组数据总线,4组地址总线)流水线操作(P6)DSP芯片采用多组总线结构,允许CPU同时进行指令和数据的访问。
因而可在内部实行流水线操作。
TMS320系列处理器的流水线深度从2-6级不等,也就是说,处理器可以并行处理2-6条指令,每条指令处于流水线上的不同阶段。
在6级流水线操作中,DSP每执行一条指令,需要经过预取指、取指、译码、寻址、取操作数和执行等流水线阶段。
这些操作可以独立的处理,这可使指令的执行能够完全重叠。
这样就增强了处理器的处理能力。
(1)指令送到总线-占用总线运行-运行结束释放总线(2)指令送到总线-占用总线运行-运行结束释放总线(3)指令送到总线-占用总线运行-运行结束释放总线流水线冲突的几个问题?中央处理器单元(P26)乘法器/加法器单元作用和相互之间的关系(P27,作业)⏹乘法器/加法器在一个单指令周期内完成17x17-bit的二进制补码乘法运算和一个40-bit的加法运算。
⏹乘法器/加法器单元由以下部分组成:乘法器,加法器,有符号/无符号输入控制,分数控制,零检测器,舍入器(二进制补码),溢出/饱和逻辑和暂存器(TREG)。
⏹乘法器有两个输入:一个是从TREG,数据存储器操作数,或一个累加器中选择;另一个则从程序存储器,数据存储器,一个累加器或立即数中选择。
第二章3、处理器工作方式状态寄存器PMST 中的MP/MC、OVLY 和DROM 三个状态位对C54x的存储空间结构各有何影响?当OVLY= 0 时,程序存储空间不使用内部RAM。
当OVLY= 1 时,程序存储空间使用内部RAM。
内部RAM 同时被映射到程序存储空间和数据存储空间。
当MP/ MC=0 时,4000H~EFFFH 程序存储空间定义为外部存储器;F000H~FEFFH 程序存储空间定义为内部ROM;当MP/ MC=1 时,4000H~FFFFH 程序存储空间定义为外部存储。
DROM=0:0000H~3FFFH——内部RAM ;4000H~FFFFH——外部存储器;DROM=1 :0000H~3FFFH——内部RAM;4000H~EFFFH——外部存储器;F000H~FEFFH——片内ROM;FF00H~FFFFH——保留。
4 、TMS320C54x 芯片的片内外设主要包括哪些电路?①通用I/O 引脚②定时器③时钟发生器④主机接口HPI⑤串行通信接口⑥软件可编程等待状态发生器⑦可编程分区转换逻辑5、TMS320C54x 芯片的流水线操作共有多少个操作阶段?每个阶段执行什么任务?完成一条指令都需要哪些操作周期?六个操作阶段:①预取指P;将PC 中的内容加载PAB ②取指F; 将读取到的指令字加载PB③译码D; 若需要,数据1 读地址加载DAB;若需要,数据2 读地址加载CAB;修正辅助寄存器和堆栈指针④寻址A; 数据1 加载DB;数据2 加载CB;若需要,数据3 写地址加载EAB⑤读数R; 数据1 加载DB;数据2 加载CB;若需要,数据3 写地址加载EAB;⑥执行X。
执行指令,写数据加载EB。
6、TMS320C54x 芯片的流水线冲突是怎样产生的?有哪些方法可以避免流水线冲突?答:’C54x 的流水线结构,允许多条指令同时利用CPU 的内部资源。
由于CPU 的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。
DSP入门(献给初学者)DSP的特点对于没有使用过DSP的初学者来说,第一个困惑就是DSP其他的嵌入式处理器究竟有什么不同,它和单片机,ARM有什么区别。
事实上,DSP也是一种嵌入式处理器,它完全可以完成单片机的功能。
唯一的重要的区别在于DSP支持单时钟周期的“乘-加”运算。
这几乎是所有厂家的DSP芯片的一个共有特征。
几乎所有的DSP处理器的指令集中都会有一条MAC指令,这条指令可以把两个操作数从RAM 中取出相乘,然后加到一个累加器中,所有这些操作都在一个时钟周期内完成。
拥有这样一条指令的处理器就具备了DSP功能具有这条指令就称之为数字信号处理器的原因在于,所有的数字信号处理算法中最为常见的算术操作就是“乘-加”。
这是因为数字信号处理中大量使用了内积,或称“点积”的运算。
无论是FIR滤波,FFT,信号相关,数字混频,下变频。
所有这些数字信号处理的运算经常是将输入信号与一个系数表或者与一个本地参考信号相乘然后积分(累加),这就表现为将两个向量(或称序列)进行点积,在编程上就变成将输入的采样放在一个循环buffer里,本地的系数表或参考信号也放在一个buffer里,然后使用两个指针指向这两个buffer。
这样就可以在一个loop里面使用一个MAC指令将二者进行点积运算。
这样的点积运算对与处理器来说是最快的,因为仅需一个始终周期就可以完成一次乘加。
了解DSP的这一特点后,当我们设计一个嵌入式系统时,首先要考虑处理器所实现的算法中是否有点积运算,即是否要经常进行两个数组的乘加,(记住数字滤波,相关等都表现为两个数组的点积)如果有的话,每秒要做多少次,这样就能够决定是否采用DSP,采用多高性能的DSP了。
浮点与定点浮点与定点也是经常是初学者困惑的问题,在选择DSP器件的时候,是采用浮点还是采用定点,如果用定点是16位还是32位?其实这个问题和你的算法所要求的信号的动态范围有关。
定点的计算不过是把一个数据当作整数来处理,通常AD采样来的都是整数,这个数相对于真实的模拟信号有一个刻度因子,大家都知道用一个16位的AD去采样一个0到5V的信号,那么AD输出的整数除以2^16再乘以5V就是对应的电压。
第一章,DSP技术概述1.DSP是什么?DSP芯片又是什么?二者区别?1)Digtial Signal Processing代表数字信号处理技术,理论,算法。
2)Digital Signal Processor 代表数字信号处理器,既DSP芯片。
3)前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。
2.DSP 芯片按数据格式分类:定点DSP和浮点DSP,3.字长:计算机一次能够处理的二进制数的位数。
4.存储空间由地址总线的位数决定。
5.堆栈方式:向下生长型6.定点DSP,TMS320C2x,TMS320C2xx,TMS320C5x,TMS320C54x浮点DSP,TMS350C3x,TMS320C4x和TMS320C8x,多处理器:TMS320C6x7.MAC时间,一次乘法和一次加法的时间,大部分DSP芯片可在一个指令周期内完成一次乘法和一次加法操作。
8.流水线技术是将指令的各个步骤重叠起来执行,而不是一条指令执行完成后,才开始执行下一条指令。
第二章,DSP芯片结构介绍9.存储器映像寄存器:指用0页数据存储器来当做寄存器用,而不专门设计制作寄存器从而可简化设计,并增加数据储存器的使用灵活性,10.桶形移位寄存器范围:左移最多31位,右移最多16位。
11.递增:压:先SP+1,再入栈;弹:先弹栈,再SP-1。
12.MP/MC:微处理器/微型计算机工作方式位MP/MC=0,允许使能并寻址片内ROM;MP/MC=1,不能利用片内ROM。
13.OVLY可以允许片内双寻址数据RAM块映射到程序空间,OVLY=0,只能在数据空间而不能在程序空间寻址在片RAM;OVLY=1片内RAM,可以映像到程序空间和数据空间,但是数据页0(0h~7Fh)不能映像到程序空间。
14.TSM320C54x芯片在提高芯片运算速度方面采用了哪些措施?1)采用了单个指令周期实现乘加运算的处理技术;单周期实现多个运算单元并行处理;数据搬运工作由DMA处理,无需CPU干涉;提供针对高级数学运算(指数,开方,FFT等)的密函数。
第一章,DSP技术概述
1.DSP是什么?DSP芯片又是什么?二者区别?
1)Digtial Signal Processing代表数字信号处理技术,理论,算法。
2)Digital Signal Processor 代表数字信号处理器,既DSP芯片。
3)前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。
2.DSP 芯片按数据格式分类:定点DSP和浮点DSP,
3.字长:计算机一次能够处理的二进制数的位数。
4.存储空间由地址总线的位数决定。
5.堆栈方式:向下生长型
6.定点DSP,TMS320C2x,TMS320C2xx,TMS320C5x,TMS320C54x
浮点DSP,TMS350C3x,TMS320C4x和TMS320C8x,
多处理器:TMS320C6x
7.MAC时间,一次乘法和一次加法的时间,大部分DSP芯片可在一个指令周期内完成一次乘法和一次加法操作。
8.流水线技术是将指令的各个步骤重叠起来执行,而不是一条指令执行完成后,才开始执行下一条指令。
第二章,DSP芯片结构介绍
9.存储器映像寄存器:指用0页数据存储器来当做寄存器用,而不专门设计制作寄存器从而可简化设计,并增加数据储存器的使用灵活性,
10.桶形移位寄存器范围:左移最多31位,右移最多16位。
11.递增:压:先SP+1,再入栈;
弹:先弹栈,再SP-1。
12.MP/MC:微处理器/微型计算机工作方式位
MP/MC=0,允许使能并寻址片内ROM;
MP/MC=1,不能利用片内ROM。
13.OVLY可以允许片内双寻址数据RAM块映射到程序空间,OVLY=0,只能在数据空间而不能在程序空间寻址在片RAM;OVLY=1片内RAM,可以映像到程序空间和数据空间,但是数据页0(0h~7Fh)不能映像到程序空间。
14.TSM320C54x芯片在提高芯片运算速度方面采用了哪些措施?
1)采用了单个指令周期实现乘加运算的处理技术;单周期实现多个运算单元并行处理;数据搬运工作由DMA处理,无需CPU干涉;提供针对高级数学运算(指数,开方,FFT等)的密函数。
2)数据总线(CB DB和EB),将内部各单元(如CPU,数据地址生成电路,程序地址产生逻辑,在片外围电路,以及数据存储器)连接在一起,其中CB和DB传送独自数据存储器的操作数,EB传送写到存储器的数据。
3)地址总线(PAB,CAB,DAB和EAB):传送执行指令所需的地址。
16.DSP采用多处理单元结构有何好处?
可完成巨大运算量的多处理器系统,即将算法划分给多个处理器,借助高速通信接口来实现计算任务并行处理的多处理器阵列。
17.TSM320C54x芯片的CPU主要包括哪些部分?它们的功能是什么?
1)算术逻辑运算单元(ALU),可完成宽范围的算术逻辑运算;
2)累加器A和B:可用于存放从ALU或乘/加单元输出的数据,也能输入数据到ALU或乘/加单元;
3)桶形移位器:对输入数据进行0~31位的左移,和0~16位的右移;
4)乘法器/加法器:可在一个指令周期里完成17*17位的进制补码乘法运算,也可在一个流水线状态周期内完成一个乘法累加(MAC)运算,
5)比较,选择和存储单元:专为Visterb算法设计的进行加法/比较/选择(ACS)运算的硬件单元;
6)指数编码器:用于支持单周期指令EXP的专用硬件,它可以求出累加器的指数值,并以2的补码方式存到T寄存器中,
7)CPU状态和控制寄存器:ST0和ST1中包含有各种工作条件和工作方式的状态;PMST中包含存储器的设置状态,及其他控制信息,
18.累加器A和B的作用是什么?它们有何区别?
作用:同17.2)在执行MIN和MAX指令或者并行指令时都要用到它们,这时,一个累加器加载数据,另一个完成预算。
区别:累加器A的31~16位可以用作乘法器的一个输入。
19.STO.ST1.PMST的作用是什么?它们是如何影响DSP工作过程的?
见书P23-P26
20.C54x的总存储空间为192k字,它们由3个可选择的存储空间构成,即64k字的程序存储空间,64k字的数据存储空间和64k字的I/O空间。
21.RAM有两种:单寻址RAM(SARAM)和双寻址RAM (DARAM):一个周期内访问两次与片外存储器相比,片内存储器具有不需插入等待状态,成本和功耗低等优点。
22.试述三种存储器空间的各自作用是什么?
1)程序存储空间:用于存放要执行的指令和指令执行中所用的系列表;
2)数据存储空间:存放执行指令所用的数据
3)I/O存储空间:与存储器映像外围设备相连接,也可以作为附加的数据存储空间使用。
23.片内DARAM可否用作程序空间?对哪些情况要用两个机器周期才能访问到存储器?
可以。
1)对数据ROM的双操作数寻址时,如果操作数驻留在同一块内,则需要2个周期
2)外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址需要用2个机器周期。
24.定时器由哪些寄存器组成?它们是如何工作的?
定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR)
1)标准同步串行口(SP)、缓冲同步串行口(BSP)、多路缓冲串口(McBSP)和时分多路串行口(TDM)
2)串行口由16位数据接受寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)以及控制电路所组成
27.C54x通过插入外部接口由数据总线、地址总线以及一组控
制信号组成,通过独立的空间选择信号DS、PS和IS将物理空间分开
28.C54x通过插入等待状态寻址不同速度的外围设备。
29.存储器读操作只需要一个机器周期。
30.如果I/O读/写操作紧跟在存储器读/写操作之后,则I/O读/写操作需要至少3个周期。
31.软件中断只由程序指令INTR,TRAP或RESET要求的中断,硬件中断指由外围设备信号要求的中断,有两种引发形式,1.受外部中断口信号触发的外部硬件中断2.受片内外围电路信号触发的内部硬件中断。
32.中断向量地址是由PMST寄存器中的IPTR(中断向量指针9位)和左移2位后的中断向量序号(中断向量序号0~31,左移2位后变成7位)所组成。
1.立即数寻址:这种寻址在指令中已经包含有执行指令所需要的操作数,在操作数前面加#字号来说明该操作数位立即数。
2.冯·诺依曼结构应用微处理的程序代码和数据,公用一个公共的存储空间和单一的地址与数据总线,程序存储器区与数据存储区通过识到不同的地址区间来实现的
3.哈佛结构:DSP处理器将程序代码和数据的存储空间分开,各有自己的地址与数据总线。
4.改善的哈佛结构:在哈佛结构的基础上,使程序代码空间和数据存储空间可以进行一定的空间应用,那可以将部分数据放在程序空间和将部分程序放在数据空间。
5.主机接口如何将主机传送来的两个连续的字节,按照**的规则组成16位数给C54x规则如下:HP2c中的BOB位为字节选择位决定第一个字节或第二个字节,作为16位字的高字节还是低字节。
BOB=1,第一个字节作为低字节,BOB=0,第一个字节作为高字节。