DSP总练习题有答案.docx
- 文档编号:25507564
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:36
- 大小:34.35KB
DSP总练习题有答案.docx
《DSP总练习题有答案.docx》由会员分享,可在线阅读,更多相关《DSP总练习题有答案.docx(36页珍藏版)》请在冰豆网上搜索。
DSP总练习题有答案
一、选择题
二、判别题
三、填空题
1.累加器A分为三个部分,分别为()、()、()。
答:
AG,AH,AL
2.TMS320VC5402型DSP的内部采用()条()位的多总线结构。
答:
8,16
3.TMS320VC5402型DSP采用()总线结构对程序存储器和数据存储器进行控制。
答:
哈佛
4.TMS329VC5402型DSP有()个辅助工作寄存器。
答:
8个
5.DSP处理器TMS320VC5402中DARAM的容量是()字。
答:
16K字
6.TI公司的DSP处理器TMS320VC5402有()个定时器。
答:
2
7.在链接器命令文件中,PAGE1通常指()存储空间。
答:
数据
8.C54x的中断系统的中断源分为()中断和()中断。
答:
硬件、软件
9.TI公司DSP处理器的软件开发环境是()。
答:
CCS(Code Composer Studio)
10.DSP处理器TMS320VC5402外部有()根地址线。
答:
20根
11.直接寻址中从页指针的位置可以偏移寻址()个单元。
答:
128
12.在链接器命令文件中,PAGE0通常指()存储空间。
答:
程序
13.C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是()。
答:
锁相环PLL
14.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址()单元开始工作。
答:
FF80h
15.TMS320C54x系列DSP处理器有()个通用I/O引脚,分别是()和()。
答:
2个,BIO,XF
16.DSP处理器按数据格式分为两类,分别是()、()。
答:
定点DSP和浮点DSP
17.TMS320C54x型DSP的ST1寄存器中,INTM位的功能是()。
答:
开放/关闭所有可屏蔽中断
18.TMS320C54X DSP主机接口HPI是()位并行口。
答:
8
19.在C54X系列中,按流水线工作方式,分支转移指令分为哪两种类型:
()、()。
答:
无延迟分支转移,延迟分支转移
20.C54x的程序中,“.bss”段主要用于()。
答:
为变量保留存储空间
21.从数据总线的宽度来说,TMS320C54X是()位的DSP处理器。
答:
16位
22.TMS320C54X型DSP处理器的内核供电电压()伏。
答:
1.8v
23.TMS320C5402系列DSP处理器最大的数据存储空间为()字。
答:
64K
25. DSP技术是利用专用或通用数字信号处理芯片,通过()运算的方法对信号进行处理。
答:
数值运算
26. C54x的程序中,“.text”段是()段,主要包含()。
答:
文本段,可执行文本
27. C54x系列DSP上电复位后的工作频率是由片外3个管脚()()()来决定的。
答:
CLKMD1、CLKMD2、CLKMD3
28. DSP处理器TMS320C5402最大的程序存储空间为()字。
答:
1M
29. 从应用领域来说,MCU(单片机)主要用于();DSP处理器主要应用于()。
答:
控制领域;信号处理
30. TMS320C54X DSP提供一个用16位堆栈指针(SP)寻址的软件堆栈。
当向堆栈中压入数据时,堆栈是从()地址向()地址方向填入。
答:
高低
31. TMS320C54X DSP软硬件复位时,复位中断向量的地址为程序空间的()。
答:
FF80H
32.TMS320C54X可编程定时器的定时周期=(时钟周期)*(分频系数TDDR+1)*( +1)。
答:
PRD
33.DSP处理器的英文全称()。
答:
Digital Signal Processor
34.DSP处理器TMS320VC5402的IO管脚供电电压()伏。
答:
3.3v
35.C54x的程序中,“.data”段是()段,主要用于()。
答:
数据段,通常包含初始化数据;
36.DSP处理器TMS320C5402的I/O空间为()字。
答:
64K
37.TMS320C5402型DSP的累加器是()位。
答:
40
38.TMS320C5402型DSP的MP/MC管脚的功能是()。
答:
微计算机或是微处理器工作模式
39.TMS320C5402型DSP的CPU采用()寄存器作为专用硬件实现移位功能。
答:
桶形移位寄存器
40.汇编语句“STL A,@y”中“@y”表示()寻址方式。
答:
直接寻址
41.TMS320C54X型DSP的ST1寄存器中,CPL位的功能是指示()。
答:
直接寻址采用何种指针(DP或SP)
42.解释汇编语句“READA *AR1”的功能:
()。
答:
以累加器A的内容作为地址读取程序存储单元,将读取的数据存入以AR1的内容作为地址的数据存储单元中
43.TMS320C54X具有两个通用I/O口,()用于输入外设的状态;()用于输出外设的控制信号。
答:
BIO,XF
44.哈佛结构是采用双存储空间,即()和()分开编址,允许同时取指令和取操作数,效率高。
答:
程序空间、数据空间
45.改进的哈佛结构是允许()与()之间直接进行数据传送。
答:
程序存储器、数据存储器
46.诺依曼结构是采用单存储空间,即()和()共用一个存储空间,使用单一的地址和数据总线,取()和()都是通过一条总线分时进行。
答:
程序指令、数据、指令、取操作数
47.流水线技术是每条指令可通过片内多功能单元完成()、()、()和()等多个步骤,实现多条指令的()执行,从而在不提高系统时钟频率的条件下减少每条指令的执行时间。
答:
取指、译码、取操作数、执行指令、并行
48.TMS320C54x采用改进的哈佛结构。
存储空间由三个独立可选的存储空间组成:
存储容量大小分别为()字的程序存储空间、()的数据存储空间、()的I/O存储空间。
答:
64k,64k字,64k字
49.TMS320C54x的处理器工作方式状态寄存器PMST提供了三个控制位:
MP/非MC、OVLY、DROM,用于在存储空间中配置片内存储器。
当“MP/非MC”=
(1)时工作于MP方式;OVLY=(0)时片内RAM不映射到程序空间;DROM=(0)时片内ROM不映射到数据空间。
答:
1,0,0
50.PMST工作方式状态寄存器中的IPTR(15-7bit)的作用是(用于设置中断矢量页地址)。
答:
用于设置中断矢量页地址
51.外部程序存储空间的访问控制信号为(PS)、MSTRB、RW。
答:
PS
52.外部数据存储空间的访问控制信号为(DS)、MSTRB、RW。
答:
DS
四、程序阅读题
1.阅读下面的程序片断,写出运行结果。
.mmregs
bei:
.set 18 ;定义常量
LD #bei,A
问题:
(1)“.mmregs”的作用是什么?
(2) 运行此段程序后,累加器A的结果是多少?
答:
定义存储器映像寄存器的符号名称
A的结果是18
2.阅读下面的程序,回答问题。
.sect ".vectors"
rst:
B _c_int00 ;复位中断向量的入口
NOP
NOP
.space 18*4*16
tint:
B timeout ;定时器0的中断向量的入口
NOP
NOP
问:
(1) “.sect”伪指令的作用是什么?
(2) 标号“rst”的地址为6000H,请问标号“tint”的地址是多少?
答:
定义一个自定义段名的程序段
604Ch
3.阅读下面的命令连接文件(简称CMD文件)和程序文件:
CMD文件:
MEMORY
{ PAGE 0:
PROG:
origin = 0x1000, length = 0x1000
PAGE 1:
DATA:
origin = 0x2000, length = 0x1000
}
SECTIONS
{ .text:
> PROG PAGE 0
.data:
> DATA PAGE 1
}
程序文件:
.data
table:
.word 1,2,3,4 ; 变量初始化
.text
start:
STM #0,SWWSR ; 插入0个等待状态
问:
(1)MEMORY和SECTIONS的作用各是什么?
(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间?
答:
(1)MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。
(2)标号start:
1000h(程序空间) ;标号table:
2000h(数据空间)
4.阅读下面的程序,回答问题。
MEMORY
{ PAGE 0:
PROG:
origin = 0x2000, length = 0x1000
PAGE 1:
DATA:
origin = 0x3000, length = 0x1000
}
SECTIONS
{ .text:
> PROG PAGE 0
.bss:
> DATA PAGE 1
}
汇编程序:
.bss a,4 ;分配4个单元给a
.bss x,4
.bss y,1
STM #a, AR3
STM #x, AR4
RPT #3
MAC *AR3+,*AR4+,A
STL A,*(y)
问题:
(1)指令“STM #a, AR3”的作用是什么?
执行此句指令后,寄存器AR3的内容是多少?
(2)指令“MAC *AR3+,*AR4+,A”执行了几次?
每执行一次寄存器AR3和AR4的内容如何变化?
(3)这段代码的功能是什么?
答:
(1)将标号a的地址赋给辅助工作寄存器AR3,AR3=3000h。
(2)执行了4次,每执行一次辅助工作寄存器AR3和AR4的内容增一。
(3)
5. 阅读下面的程序,回答问题。
MEMORY
{ PAGE 0:
PROG:
origin = 0x2000, length = 0x1000
PAGE 1:
DATA:
origin = 0x4000, length = 0x1000
}
SECTIONS
{ .text:
> PROG PAGE 0
STACK:
> DATA PAGE 1
}
汇编程序:
size:
.set 0x0120
stack:
.usect “.STACK”,size ;本命令也可写成stack.usect “STACK”,size
.text
STM #stack + size,SP
问题:
(1)指令“stack:
.usect “.STACK”,size”的作用是什么?
(2)标号“stack”的存储器地址是多少?
(3)执行这段代码之后,SP寄存器的内容是多少?
答:
(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。
(2) stack的存储空间为0x4000;
(3) SP=0x4120;
6.阅读下面的程序,回答问题。
MEMORY
{PAGE 0:
EPROM:
org=0E000h,len=100h
VECS:
org=0FF80h,len=04h
PAGE 1:
SPRAM:
org=0060h,len=20h
DARAM:
org=0080h,len=100h
}
SECTIONS
{.text :
>EPROM PAGE 0
.data :
>EPROM PAGE 0
.bss :
>SPRAM PAGE 1
STACK :
>DARAM PAGE 1
vectors :
>VECS PAGE 0
}
汇编程序:
.usect “STACK”,10h ;
.sect“vectors”;
.bssx4;
.data
data:
.word123;
.text
问题:
(1)该文件是如何配置程序空间和数据空间的?
(2)该文件中出现了几个段?
哪些是初始化段?
哪些是未初始化段?
各段是如何分配的?
答:
(1)该文件使用MEMORY伪指令将程序空间划分为两个小区间:
名为EPROM的区间其起始地址为0E000h,长度为100h字;名为VECS的区间其起始地址为0FF80h,长度为4字。
将数据空间也分为了两个小区间:
名为SPRAM的区间其起始地址为0060h,长度为20h字;名为DARAM的区间其起始地址为0080h,长度为100h字。
(2)出现了5个段,.text,.data和vectors是初始化段,.bss和STACK段是未初始化段。
.text和.data分配到程序空间的EPROM区间;.bss分配到数据空间SPRAM区间;STACK段分配到数据空间的DARAM区间;vectors段分配到程序空间的VECS区间。
7.阅读下面的程序片段,写出运行结果。
.mmregs
DAT0 .SET 60H
LD #004h,DP
ST #0345h,DAT0 ;DAT0为数据存储器地址,其内容为#345h
STM #0002h,T
MPY DAT0,A
NOP
NOP
问题:
(1)寄存器T的作用是什么?
(2)执行“MPYDAT0,A”后,累加器A的内容是什么?
答:
寄存器T的作用是暂存被乘数,
累加器A的内容为0x68A或68Ah
9. 阅读下面的程序,回答问题。
MEMORY
{ PAGE 0:
PROG:
origin = 0x2000, length = 0x1000
PAGE 1:
DATA:
origin = 0x3100, length = 0x1000
}
SECTIONS
{ .text:
> PROG PAGE 0
.bss:
> DATA PAGE 1
}
汇编程序:
.bss x,16 ;x占16个字
.bss y,16
.text
STM #x,AR2
STM #y,AR3
RPT #15 ;将紧跟此后面的命令重复执行数+1次
MVDD *AR2+,*AR3+
问题:
(1)变量“x”的存储器地址是多少?
位于哪个存储空间(程序还是数据存储空间)。
(2)语句“STM #x,AR2”的作用是什么?
执行此句指令后,寄存器AR2的内容是多少?
(3)语句“MVDD *AR2+,*AR3+”的执行了多少次?
每执行一次寄存器AR2和AR3的内容如何变化?
(4)此段代码的功能是什么?
答:
(1)变量“x”的存储器地址是0x3100;位于数据存储空间.
(2)将变量“x”的地址赋给辅助工作寄存器AR2,AR2=3100h.
(3)执行了16次,每执行一次辅助工作寄存器AR2和AR3的内容增一。
(4)将数组变量“x”的数据传送到数组变量“y”中。
10.阅读下面的程序,回答后面的问题。
.bss x,10
.bss y,1
STM #x,AR1
STM #9,AR2
LD #0,A
loop:
ADD *AR1+,A
BANZ loop,*AR2- ;非零跳转
STL A, * (y)
问:
(1) 解释语句“.bss x,10”的含义。
(2) 解释语句“STL A, * (y)”的含义。
(3)这一段程序实现什么功能?
答:
(1) 给x保留10个空间
(2)将累加器A的低16位数据存储到变量y中。
(3)
10-2阅读下面的程序,回答y等于多少?
55或37H。
.bssx,10
.bssy,1
stm#x,ar1;
st#1,*ar1+;
st#2,*ar1+;
st#3,*ar1+;
st#4,*ar1+;
st#5,*ar1+;
st#6,*ar1+;
st#7,*ar1+;
st#8,*ar1+;
st#9,*ar1+;
st#10,*ar1+;
STM#x,AR1
STM#9,AR2
LD#0,A
loop:
ADD*AR1+,A
BANZloop,*AR2-;非零跳转
STLA,*(y)
10-3阅读下面的程序,回答y等于多少?
55或37H。
.mmregs
.defCodeStart
.bssx,10
.bssy,1
.data
con:
.word1,2,3,4,5,6,7,8,9,10
CodeStart:
stm#x,ar1;
rpt#9
mvkdcon,*ar1+;
STM#x,AR1
STM#9,AR2
LD#0,A
loop:
ADD*AR1+,A
BANZloop,*AR2-;非零跳转
STLA,*(y)
.end
11.阅读下面的程序,回答后面的问题。
.globalstart;定义全局标号
.mmregs
.data
x:
.word1,2,3,4,5,6,7,8,9,10
.bssy,1
.text
start:
STM#x,AR1
STM#9,AR2
LD#0,A
loop:
ADD*AR1+,A
BANZloop,*AR2-;非零跳转
STLA,*(y)
.end
问:
(1) 解释语句“x:
.word1,2,3,4,5,6,7,8,9,10”的含义。
(2) 解释语句“STL A, * (y)”的含义。
(3)运行结果y=?
答:
(1) 给x分配10个数据。
(2)将累加器A的低16位数据存储到变量y中。
(3)y=0x0037即y=55。
12.阅读程序,回答后面的问题(块操作:
重复执行连续多条指令)
STM #6,AR4
begin:
STM #9,BRC ;9→BRC(BRC为块重复次数寄存器),(PC)+2→RSA(RSA为块重复起始地址寄存器)。
RPTB next-1 ;块重复指令(指定块重复结束地址),将NEXT-1→REA(REA为块重复结束地址寄存器)。
nop
next:
LD #0,B
banz begin,*AR4-
问题:
(1) BRC寄存器是做什么用途?
(2)其中的“nop”语句被执行了多少次?
(3)语句“banz begin,*AR4-”的作用是什么?
答:
(1)BRC(块重复计数器)保存着RPTB指令的循环次数。
(2)10次。
(3)判断AR4的内容是否为零,若不为零,跳转到标号begin。
13. 阅读程序,回答后面的问题。
(块操作)
STM #9,AR4
begin:
STM #7,BRC ;块重复次数设置
RPTB next-1 ;块结束地址设置
nop
next:
LD #0,B
banz begin,*AR4-
问
(1)BRC寄存器是做什么用途?
(2)其中的“nop”语句被执行了多少次?
答:
(1)BRC保存着RPTB指令的循环次数
(2)8次
15.阅读下面的程序,回答问题。
(块重复操作)
.bss x, 8
LD #0001H,16,B ;#0001H左移16位赋给B
STM #7,BRC
STM #x,AR4
RPTB next-1
ADD *AR4,16,B,A ;重复执行的语句
STH A,*AR4+ ;重复执行的语句,把A的高字存入x数组中
next:
LD #0,B
问题:
(1)寄存器“BRC”的功能是什么?
(2)汇编语句“ADD *AR4,16,B,A”执行了多少次?
(3)执行语句“LD #0001H,16,B”后,累加器B的内容是多少?
答:
(1) 寄存器“BRC”的功能是暂存块循环的次数
(2) 8次
(3) B=0xH;
14.阅读下面的程序片断,回答下面的问题 (除法运算)
DAT0 .SET 60H
DAT1 .SET 61H
DAT2 .SET 62H
DAT3 .SET 63H
LD #004h,DP
ST #83h,DAT0
ST #0041h,DAT1
RSBX SXM
LD DAT0,A
RPT #15
SUBC DAT1,A;移位减法,完成除法运算。
相当于A/DAT1.
STL A,DAT2
STH A,DAT3
问:
在CPL=0的情况下,
(1) 语句“STL A,DAT2”,其中DAT2所指的地址是多少?
(2) 存储单元(DAT2)和(DAT3)的内容是多少?
答:
(1) 0262h
(2) (DAT2)=02H (商),(DAT3)=01H(余数)
16.阅读下面的程序:
(宏操作)
.mmregs
DAT0.SET60H
DAT1.SET61H
DAT2.SET62H
DAT3.SET63H
add3.macroP1,P2,P3,ADDRP;宏定义,4个参数
LDP1,A
ADDP2,A
ADDP3,A
STLA,ADDRP
.endm;宏结束
CodeStart:
ST#004h,DAT0
ST#03h,DAT1
ST#2h,DAT2
ADD3DAT0,DAT1,DAT2,DAT3
问题:
(1)语句“.mmregs”的含义。
(2)语句“ADD3 DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?
作用是什么?
(3)执行此段程序后,存储单元(DAT3)的运行结果多少?
答:
(1) 定义存储器映像寄存器的符号名称。
(2)宏调用。
执行三个数相加。
(3) 9H
17.已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H。
(存储器数据传输)
.mmregs
.defCodeStart
CodeStart:
st#50h,30h;
stm#40h,AR2;
stm#60h,AR3;
stm#80h,AR4;
MVKD#30H,*AR2;(40H)=50H
MVDD*AR2,*AR3;(60H)=50H
MVMMAR3,AR4;AR4=60H
ENDbEND;
.end
运行上述程序后,(30H),(40H),*AR3,和AR4的值分别等于多少?
答:
(30H)=50H(40H)=50H*AR3=50HAR4=60H
18.已知指令执行前,AR3内容为0100H,数据存储器0100H中的内容为1234H。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 练习题 答案