C54X的习题与思考题.docx
《C54X的习题与思考题.docx》由会员分享,可在线阅读,更多相关《C54X的习题与思考题.docx(14页珍藏版)》请在冰点文库上搜索。
![C54X的习题与思考题.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/c29f8dc0-8aa0-4e71-ae45-6462f1aff289/c29f8dc0-8aa0-4e71-ae45-6462f1aff2891.gif)
C54X的习题与思考题
第一章习题与思考题
1.什么是DSP技术?
2.DSP芯片的结构特点有哪些?
3.简述DSP系统设计的一般步骤。
4.简述TI公司C2000/C5000/C6000系列DSP的特点及主要用途。
5.简述TMS320C55x的设计目标和应用目标。
6.试述TMS320C54x的主要优点及基本特征。
7.设计DSP应用系统时,如何选择合适的DSP芯片?
8.开发DSP应用系统,一般需要哪些软件、硬件开发工具?
9.什么是哈弗结构和冯.诺依曼结构?
它们各有什么优缺点?
10.什么是定点DSP芯片和浮点DSP芯片?
它们各个什么优缺点?
11.TMS320VC5416-160的指令周期是多少毫秒?
它的运算速度是多少MIPS?
第二章习题与思考题
1.简答题
(1)TMS320C54x芯片的CPU主要由哪些部分构成?
(2)简述TMS320C54x芯片的存储器分配方法。
(3)简述TMS320C54x芯片的程序空间。
(4)简述TMS320C54x芯片的数据空间。
(5)简述TMS320C54x芯片的中断系统。
2.ST0、ST1、PMST的作用是什么?
它们是如何影响DSP工作过程的?
3.数据页0(0H-7FH)能否被映象到程序空间?
4.TSM320C54x的总存储空间为多少?
可分为哪3类,它们的大小是多少?
5.TSM320C54x片内随机存储器有哪两种,片内与片外RAM的区别是多少?
6.试述三种存储器空间的各自作用是什么?
7.试述RAM、ROM的分配和使用方法。
8.片内DARAM可否用作为程序空间?
对哪些情况要用两个机器周期才能访问到存储器?
2.填空题
(1)OVLY=(),则片内RAM只安排到数据存储空间。
(2)DROM=(),则部分片内ROM安排到数据空间。
(3)C54xDSP具有两个()位累加器。
(4)累加器A的()位是保护位。
(5)ST1的CPL=()表示选用堆栈指针(SP)的直接寻址方式。
(6)ST1的C16=()表示ALU工作在双精度算术运算方式。
(7)执行复位操作后,下列寄存器的初始值分别为:
ASM=()、DP=()、XM=(),XF=()
(8)软件中断都是由()、()和()产生。
第三章习题与思考题
1.TMS320C54x有哪几种基本的数据寻址方式?
2.以DP和SP为基地址的直接寻址方式,其实际地址是如何生成的?
当SP=2000h,DP=2,偏移地址为25h时,分别寻址的是哪个存储空间的哪个地址单元?
3.使用循环寻址时,必须遵循的3个原则是什么?
试举例说明循环寻址的用法。
4.简述位码倒寻址的主要用途及实现方法,试举例说明位码倒寻址的实现过程。
5.TMS320C54x的指令集包含了哪几种基本类型的操作?
6.汇编语句格式包含哪几部分?
编写汇编语句需要注意哪些问题?
7.当采用*AR2+0B寻址,若AR0为b,试写出位模式和位反转模式与AR2低4位的关系。
8.循环寻址和位倒序寻址是DSP数据寻址的特殊之处,试叙述这两种寻址的特点和它们在数字信号处理算法中的作用。
9.堆栈寻址的作用是什么?
压栈和弹出堆栈操作是如何实现的?
第四章习题与思考题
1.什么是COFF和段?
段的作用是什么?
COFF目标文件包含哪些段?
2.简述汇编伪指令的作用及功能,说明.text段、.data段、.bss段、.sect段、.usect段分别包含什么内容?
3.程序员如何定义自己的程序段?
4.链接器对段是如何处理的?
5.链接命令文件有什么作用?
在生成DSP代码过程中何时发挥作用?
6.要使程序能够在DSP上运行,必须生成可执行文件。
请说出能使DSP源程序生成可执行文件所需要的步骤。
7.在文件的链接过程中,需要用到Linker命令文件(.cmd)。
请按如下参数设计一个命令文件,其参数为:
中断向量表起始地址为7600h,长度为8000h;
源程序代码在中断向量之后;
初始化数据起始地址为1F10h,长度为4000h;
未初始化数据在初始化数据之后。
8.如果一个用户在编写完C54x汇编源程序后,未编写相应的Linker伪指令文件,即开始汇编、链接源程序,生成可执目标代码文件。
这个目标代码文件中的各个段是如何安排的,程序能正确运行吗?
9.编写一段程序,将程序存储器中的10个数据首先传送到数据存储器中(以DATA1开始),再将DATA1开始的10个单元内容传送到DATA2开始的数据存储器中。
10.试编一程序,计算,并找出3项乘积(i=1,2,3,)中的最小值,放入MIN单元中。
11.编一程序,首先实现对DATA开始的100个单元赋初值0,1,2,3,…,99,然后再对每个单元内容加1。
第五章习题与思考题
1.简述CCS软件配置步骤。
2.CCS提供了哪些菜单和工具条?
3.编写一个能显示"Thisismyprogram!
"的DSP程序。
4.编写程序用CCS仿真INT2中断。
5.用DSP/BIOS的LOG对象方法实现"Thisismyprogram!
"的输出。
第六章习题与思考题
1.简述TMS320C54x芯片的定时器的工作原理。
2.编程实现周期为4ms的方波发生器(设时钟为100MHz)。
3.说明McBSP接口的特点。
4.什么是子地址寻址技术?
它有什么好处?
5.HPI8接口有几个寄存器?
他们的作用是什么?
6.编程实现外部总线访问延时。
设I/O空间延时5个周期,数据空间延时2个周期,程序空间延时5个周期。
第七章习题与思考题
1.以.asm为扩展名的汇编语言源程序由哪几个部分组成,对他们有何规定?
2.常用汇编命令有哪些,它们的作用是什么?
3.画出汇编程序的编辑、汇编和链接过程图,并说明各部分的作用是什么?
4.汇编器和链接在对段进行管理时的区别是什么?
5.段程序计数器(SPC)是怎样工作的?
试述已初始化段和未初始化段的的区别?
6.宏指令与子程序有何异同?
7.编制一个有3个目标文件组成的.cmd文件,并对存储器空间进行分配。
8.MEMORY命令和SECTIONS命令的作用是什么?
如何使用?
9.C源程序如何与汇编语言程序接口?
10.将C源程序转换成可执行文件需要经过哪些步骤?
11.C源程序调用汇编程序函数时,哪些辅助寄存器需要保护?
第八章习题与思考题
1.假定N=37,辅助寄存器用AR4,循环缓冲区自定义段的名字为MY_BUF,则.ASM和.CMD两个文件中相应部分应包含哪些内容?
2.用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器,编写计算N=4,y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)的程序。
3.编写使用带MAC指令的循环寻址模式实现FIR滤波器的程序片段,其中输入数据在BL中,滤波结果在BH中,FIR滤波系数存放FIR_COFF_P指定在数据存储区中。
4.比较实现数据块传送各种指令的应用和区别。
5.比较单操作数与双操作数乘法以及长字运算和并行运算的差异。
6.在32位数寻址时,如DSTB,*AR3+;AR3=0101,B=00C621AAEE,则执行完该指令后,数据存储器0101、0102、0103单元的内容是多少?
7.怎样进行小数乘法运算和除法运算以及浮点运算?
8.用汇编语言实现:
y1=x1*a1-x2*a2
y2=12/3+1
Y3=0.3*(-0.5)+1
9.在C语言程序中如何嵌入汇编程序?
在汇编程序中如何与C语言程序相连接?
10.编写计算的程序。
11.试设计一大小为200个单元的堆栈并初始化指针。
12.在各项中找出最小值的项,并存放在累加器B中。
13.TMS320C54x是如何解决冗余符号以区别小数乘法和整数乘法的?
小数系数应如何书写?
14.在一般的DSP中,都没有除法器硬件,如何完成除法运算?
15.TMS320C54x如何将定点数转换为浮点数或将浮点数转换为定点数?
16.数据存储区的哪些区域可用作线性缓冲区?
17.对累加器A的内容进行归一化,已知A=FFFFFFFFC3。
18.一个浮点数由尾数m、基数b和指数e三部分组成。
即:
下图举例说明了IEEE标准里的浮点数表示方法。
这个格式用带符号的表示方法来表示尾数,指数含有127的偏移。
在一个32bit表示的浮点数中,第一位是符号位,记为S。
接下来的8bit表示指数,采用127的偏移格式(实际是e-127)。
然后的23-bit表示尾数的绝对值,考虑到最高一位是符号位,它也应归于尾数的范围,所以尾数一共有24bit
1 8 23
S BiasedExponent-e Mantissa-f
例如:
十进制数-29.625可以用二进制表示为-11101.101B,用科学计数法表示为-1.*24,其指数为127+4=131,化为二进制表示为B,故此数的浮点格式表示为,转换成16进制表示为0xC1ED0000。
说明下面程序段完成什么功能?
① dld op1_hsw,a ②bitfop1se,#100h
sfta a,8 bctestop2,NTC
sftaa,-8 ld#0,a
bcop1_zero,AEQ dsubop1hm,a
stha,-7,op1se dsta,op1hm
stla,op1lm testop2:
bitfop2se,#100h
and#07Fh,16,a bccompexp,NTC
add#080h,16,a ld#0,a
stha,op1hm dsubop2hm,a
dsta,op2hm
③compexp:
④op1_gt_op2:
ldop1se,a absb
and#00ffh,a sub#24,b
ldop2se,b bcreturn_op1,BGEQ
and#00ffh,a add#23,b
suba,b stlb,rltsign
bcop1_gt_op2,BLT dldop2hm,a
bcop2_gt_op1,BGT rptrltsign
a_eq_b:
dld op1hm,a
dadd op2hm,a
bc res_zero,AEQ
ld op1se,b
sfta a,-1
bd normalize
ld op1se,b
dadd op1hm,a
第九章习题与思考题
1.一个典型的DSP系统通常由哪些部分组成?
画出原理框图。
2.一个DSP系统采用了TMS320VC5402芯片,而其他外部接口芯片为5V器件,试为该系统设计一个合理的电源。
3.将TMS320VC5402芯片从2分频方式切换到4分频方式,试编写相应的程序。
4.TMS320VC5402外接一个128K×16位的RAM,其结构如图题7.1所示。
试分析程序区和数据区的地址范围,并说明其特点。
5.如何设计DSP芯片的模数接口电路?
并行转换接口和串行转换接口与DSP芯片连接有何不同?
6.如何在DSP系统中实现看门狗功能?
7.在JTAG接口电路设计中,仿真器与DSP芯片的距离很重要。
如何根据它们的距离完成硬件电路的接口设计?
8.DSP的并口总线与串口各有何用途?
哪种速度快?
哪种连线简单?
第十章习题与思考题
1.在8.2节中,正弦波信号发生器产生了一个2kHz的正弦信号,请修改程序,产生一个频率相同的余弦信号。
2.在第1题的基础上,新建一个工程文件,使用'VC5402的定时器1产生余弦信号,同时使用定时器0产生正弦信号。
3.使用循环寻址的数据缓冲区的地址能否任意设置?
4.在FIR滤波器设计中,请使用C54x的FIRS指令完成滤波运算。
5.利用位倒序循址方式对512个数据进行位倒序排列,应如何编写程序代码?
6.请编写一个128点的实数FFT程序。
综合练习题:
1、编制计算的程序
a1=0.3a2=0.2a3=-0.4a4=0.1
x1=0.6x2=0.5x3=-0.1x4=-0.2
2、计算y=xlal+x2a2
4、试写出以下两条指令的运行结果:
(1)EXPA
A=FFFD876624T=0000
则以上指令执行后,A、T的值各为多少?
(2)NORMB
B=420D0D0D0DT=FFF9
则以上指令执行后,B、T的值各为多少?
5、阅读以下程序,写出运行结果。
.bssy,5
table.word1,2,3,4,5
STM#y,AR2
RPT#5
MVPDtable,*AR2+
LD#0,B
LD#81h,AR5
STM#0,A
STM#4,BRC
STM#y,AR5
RPTBsub-1
ADD*ARM5,B,A
STLA,*AR5+
sub:
LD#0,B
运行以上程序后,(81H),(82H),(83H),(84H)和(85H)的值分别是多少?
6、试编写0.25x(-0.1)的程序代码
填空
1、DSP芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯·诺伊曼结构有更快的指令执行速度。
2、根据芯片工作的数据格式,按其精度或动态范围,可将通用DSP划分为定点DSP和浮点DSP两类。
3、一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等组成。
4、TMS320VC5416-160的指令周期是毫秒,它的运算速度是MIPS
5、TMS320VC5402-100的指令周期是毫秒,它的运算速度是MIPS
6、DSP芯片的运算速度是一个重要的性能指标,下列哪个是每秒执行百万次浮点操作的简写?
()
A、MIPSB、MOPSC、MFLOPSD、BOPS
7、DSP芯片的运算速度是一个重要的性能指标,下列哪个是每秒执行十亿次操作的简写?
()
A、MIPSB、MOPSC、MFLOPSD、BOPS
8、TMS320C54x芯片属于哪类DSP?
()
A、16bit定点DSPB、32bit定点DSP
C、16bit浮点DSPD、32bit浮点DSP
9、TMS320C54x系列DSP芯片的核心部件是。
10、TMS320C54x系列DSP芯片的内部总线有8组16位总线:
包括组程序总线、组数据总线和组地址总线组成
11、TMS320C54x系列DSP芯片的内部有两种片内数据存储器:
(1)在一个指令周期内,可对其进行两次存取操作,即一次读出和一次写入,称为。
(2)在一个指令周期内,只能进行一次存取操作,称为。
12、累加器A=FF01234567H,执行带移位的STH指令后,求STHA,-8,T暂存器T和A的内容。
()
A、T=2345H,A的内容不变B、T=FF01H,A的内容不变
C、T=6700H,A的内容不变D、T=2345H,A=FF
13、累加器A=FF01234567H,执行带移位的STH指令后,求STLA,8,T暂存器T和A的内容。
()
A、T=2345H,A的内容不变B、T=FF01H,A的内容不变
C、T=6700H,A的内容不变D、T=2345H,A=FF
14、TMS320C54x提供三个16位寄存器来作为CPU状态和控制寄存器:
分别是
15、TMS320C54x共有192K字的存储空间,分成3个相互独立可选择的存储空间。
16、主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态的寄存器是()
A、PMSTB、ST0C、ST1D、AR0-AR7
17、TMS320C5402的存储器中断矢量的起始地址为()
A、FF00HB、F080HC、EFFFHD、FF80H
18、TMS320C54x芯片的流水线操作共有多少个操作阶段?
每个阶段执行什么任务?
完成一条指令都需要那些操作周期?
19、试分析下列程序的流水线冲突,划出流水线操作图。
如何解决流水线冲突?
SLTMA,AR0
STM#10,AR1
LD*AR1,B
20、已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H。
MVKD30H,*AR2
MVDD*AR2,*AR3
MVDM*AR3,AR4
运行以上程序后,(30H)、(40H)、*AR3和AR4的值分别等于多少呢?
21、已知(80H)=20H,(81H)=30H。
LD#0,DP
LD80H,16,B
ADD81H,B
运行以上程序后,B等于多少?
试卷样题
一、判断下列说法是否正确。
(30分)
⑴AR1、AR2不能用作双数据存储器操作数寻址的辅助寄存器( );
⑵时钟发生器从DIV工作方式转到PLL方式时,CLKOUT立即用作C54x的时钟( );
⑶依具体指令的不同,对部分外围电路寄存器寻址时,有的只需要1个机器周期( );
⑷C548和C549中的数据空间可扩展到128页,每页64K( )。
⑸程序存储器取指比数据寻址具有较高的优先权( )
⑹硬件中断仅指由外部中断口信号触发的外部硬件中断( );
⑺单条指令中的多个(2~3)条件是“或”的关系( )。
⑻大多数C54x程序是不需要对其流水线冲突问题特别关注的,只有某些MMR写操作才需要注意( )。
⑼解决流水线冲突的办法就是在写操作指令的后面插入若干条NOP指令( )。
⑽累加器A和B的作用相同,没有差别,可以互换使用( )。
二、填空:
(30分)
⑴重复执行单条指令的最大次数为( )。
⑵访问不同页的同一单元(dma值相同)的区别在于( )的值不同。
⑶对硬件初始化,复位输入信号至少必须保持( )个CLKOUT周期的低电平。
⑷当C54x响应复位时,CPU终止当前的程序,并强迫程序计数器PC置成( )。
⑸如果没有利用MEMORY和SECTIONS命令,链接器就按( )来定位输出段。
⑹如果汇编语言程序中无段命令,那么汇编器把程序中的内容都汇编到( )段。
⑺TMS320C54xDSP有( )级流水线。
⑻含有29个字的循环缓冲器必须从最低( )位为0的地址开始。
⑼一条k段流水要完成n条指令所需的最少周期数为( )。
⑽TMS320C54x内部有( )种总线。
三、指出下段程序将执行多少次循环。
(5分)( 次)
STM #5,AR1
STM #10,AR0
loop:
…
…
*AR1+
…
…
CMPRLT,AR1
BC loop,TC
四、试设计一个段名为MYSTACK的有11个单元的堆栈,并为堆栈指针赋初值。
(5分)
五、写出提取B=0365434321中的指数值的指令,执行后T中的值为多少。
(10分)
六、编制一段计算y=555/222+1的汇编程序(10分)
七、简述用DSP芯片进行产品开发需要经过的环节和在CCS上如何进行基本操作。
(10分)