DSP考前小抄答案

发布 2022-09-03 08:52:28 阅读 2563

dsp与标准微处理器有许多共同的地方,都是由cpu、存储器、总线、外设、接口、时钟组成。从广义上讲,可以说dsp是一种cpu。但dsp和一般的cpu又有不同, dsp有自己的一些独特的特点,比如采用哈佛结构、流水线操作、独立的硬件乘法器、独立的dma总线和控制器等。

通用微处理器的cpu由alu和cu组成,其算术运算和逻辑运算通过软件来实现,如加法需要10个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。

dsp的cpu设置硬件乘法器,可以在单周期内完成乘法和累加。

harvard结构。

程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已达到90亿次浮点运算/秒。

外设---时钟发生器,定时器,软件可编程等待状态发生器,通用i/o,串行通信接口,jtag扫描逻辑电路。

tms320c54x的总线结构

-程序总线(pb)传送从程序存储器来的指令**和立即数;

-3组数据总线(cb、db和eb)连接各种元器件,cb和db总线传送从数据存储器读出的操作数,eb总线传送写入到存储器中的数据;

-4组地址总线(pab、cab、dab和eab)传送执行指令所需的地址。tms320c54x通过使用两个辅助寄存器算术单元(arau0和arau1),每周期能产生两个数据存储器地址。

tms320c54x的存储器分配。

-tms320c54x的存储器由3个独立的可选择空间组成:程序空间、数据空间和i/o空间。程序存储器空间包括程序指令和程序中所需的常数**;数据存储器空间用于存储需要程序处理的数据或程序处理后的结果;i/o空间用于与外部存储器映象的外设接口,也可以用于扩展外部数据存储空间。

-所有tms320c54x芯片都包括随机访问存储器(ram)和只读存储器(rom)。ram可分为两种:双访问ram(daram)和单访问ram(saram)。

ram一般映象在数据存储器空间,也可以安排在程序存储空间,而 rom则映象在程序存储器空间,也可部分地映象到数据存储器空间。

-tms320c54x有 3位设置位在微处理器的方式状态寄存器(pmst)中,用以配置片内存储器。

-mp/mc位:用来决定程序空间是否使用内部存储器。如果该位清0,则片内rom映象在程序存储器空间;如果该位设置为1,则片内rom不映象在程序存储器实间。

-ovly位:如果该位设置为1,则片内ram分别映象在程序存储器空间和数据存储器空间;如果该位清0,则片内ram只映象在数据存储器空间。

-drom位:如果该位设置为1,则片内rom的一部分映象在数据存储器空间;如果该位清0,则片内rom的使用取决于mp/mc位。

-tms320c54x的各种型号片内存储器容量大小不同,片外寻址空间差别也很大,主要表现在数据空间(ds)和i/o空间(is)都是64k,而程序空间(ps)随地址线的不同而不同。地址线的数目有16个、20个、23个,相应的程序空间分别为64k、1m、8m。

浮点dsp-浮点格式用指数形式表示,其动态范围比用小数形式表示的定点格式要大得多,定点dsp中经常要考虑的溢出问题,在浮点dsp中基本上可以不考虑。

-为了保证底数的精度,浮点dsp基本上作成32-bit的,其总线、寄存器、存储器等的宽度也相应是32-bit的。

-浮点dsp的速度更快,尤其是作浮点运算。

-浮点dsp的**高,开发难度也更大。

汇编程序包含汇编指令(伪指令,assembler directives)、汇编语言指令(assembly language instructions)、宏指令(macro directives)和注释(comments)。

寻址方式 指令中有一个固定的立即数。

立即寻址:指令中有一个固定的立即数;

绝对地址寻址:指令中有一个固定的地址(16位);

累加器寻址:按累加器的内容作为地址去访问程序存储器中的一个单元;

直接寻址:指令编码中含有的7位地址与dp或sp一起合成数据存储器中操作数的实际地址;

间接寻址:通过辅助寄存器寻址;

存储器映射寄存器寻址:修改存储器映射寄存器中的值,而不影响当前数据页面指针dp和当前堆栈指针sp的值;

堆栈寻址:把数据压入或弹出系统堆栈。

-例1:使用c54x汇编语言编计算。

z1=x1+y1;z2=x1-y1;z3=x1*y1;z4=x2*y2。其中,x1=20,y1=54,x2=0.5,y2=-0.5837

编写汇编源程序如下:

.title “

.mmregs

.bss x1,1

.bss x2,1

.bss y1,1

bss y2,1

bss z1,1

bss z2,1

bss z3_h,1

bss z3_l,1

bss z4,1

v1 .set 014hv1 =20

v2 .set 036hv2=54

v3 .set 04000h ; v3=0.5

v4 .set 0b548h ; v4=-0.5837

start:

ld #x1,dp

st #v1,x1

st #v2,y1

ld x1,ax1 a

add y1,a ;a+y1 a

stl a,z1保存al z1

ld x1,a

sub y1,a

stl a,z2

rsbx frct ;准备整数乘法,frct=0

ld x1,t

mpy y1,ax1*y1 a

sth a,z3_h ;乘法结果高16位在z3_h 单元。

stl a,z3_l ;乘法结果低16位在z3_l单元。

st #v3,x2

st #v4,y2

ssbx frct ;准备小数乘法,frct=1

ld x2,16,a ; 将x2加载到ah

mpya y2x2*y2 b,and y2 t

sth b,z4结果放到z4单元

2:对数组x[8]=进行初始化。

bss x,8

datatable: .word 0,1,2,3,4,5,6,7

textstart: stm #x,ar5

rpt #mvpd table,*ar5+

table3:计算 y =

bss x,10

stm #x,ar1

stm #9,ar2

ld #0,a

loop: add *ar1+,a

ar1+1banz loop,*ar2

4:对数据x[8]中的每个元素加1

bss x,8

begin: ld #1,16,b

stm #7,brc

stm #x,ar4

rptb next-1

add *ar4,16,b,a

sth a,*ar4+

next: ld #0,b…

dsp芯片的运算速度。

指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。

mac时间:即完成一次乘法-累加运算所需要的时间。

fft执行时间:即运行一个n点fft程序所需的时间。

mips:即每秒执行百万条指令;

mops:即每秒执行百万次操作;

mflops:即每秒执行百万次浮点操作;

bops:即每秒执行十亿次操作。

5 求解其…….a3= -0.4 a4=0.1

x1=0.6 x2=0.5 x3=-0.1 x4=-0.2

bss a,4

bss x,4

datatable: .word 3*32768/10

word 2*32768/10

word -4*32768/10

word 1*32768/10

word 6*32768/10

word 5*32768/10

word -1*32768/10

word -2*32768/10

textstart: ssbx frct

stm #a,ar4

rpt #mvpd table,*ar4+

stm #x,ar5

stm #a,ar6

rptz a,#

mac *ar5+,*ar6+,a

DSP答案

1.流水线?答 dsp芯片采用多组总线结构,允许cpu同时进行指令和数据的访问。因而,可在内部实行流水线操作。执行一条指令,总要经过取指 译码 取数 执行运算,需要若干个指令周期才能完成。流水线技术是将各个步骤重叠起来进行。既第一条指令取指 译码时,第二条指令取指 第一条指令取数时,第二条指令译码,...

DSP答案

设ar2 2060h,作为基地址,指向x 0 的存储单元。ar0 0008h 第2次 ar2 0b寻址 ar2 2068h,即x 8 第3次 ar2 0b寻址 ar2 2064h即x 4 第4次 ar2 0b寻址 ar2 206dh即x 12 1 coff common object file fo...

DSP作业答案

第九章。1.利用gp定时器1在gpiof8引脚上产生0.2s的方波,用一个贴片led闪烁来表示。系统时钟150mhz,高速外设时钟25mhz,定时器1预分频因子的128分频,试编写相关程序。答 系统时钟150mhz,通过高速外设时钟预定标器 hispcp 得到25mhz的高速外设时钟,再通过定时器1...