资源描述
一.填空题(本题总分12分,每空1分)
1.累加器A分为三个部分,分别为 ; ; 。
1.AG,AH,AL
2.TMS320VC5402型DSP的内部采用 条 位的多总线结构。
2.8,16
3.TMS320VC5402型DSP采用 总线结构对程序存储器和数据存储器进行控制。
3.哈佛
4.TMS329VC5402型DSP有 个辅助工作寄存器。
4.8个
5.DSP处理器TMS320VC5402中DARAM的容量是 字。
5.16K字
6.TI公司的DSP处理器TMS320VC5402PGE100有___________个定时器。
6.2
7.在链接器命令文件中,PAGE 1通常指________存储空间。
7.数据
8.C54x的中断系统的中断源分为____ ___中断和____ ____中断。
8.硬件、软件
1.TI公司DSP处理器的软件开发环境是__________________。
1.答:CCS(Code Composer Studio)
2.DSP处理器TMS320VC5402外部有___________根地址线。
2.答:20根
3.直接寻址中从页指针的位置可以偏移寻址 个单元。
3.答:128
4.在链接器命令文件中,PAGE 0通常指________存储空间。
4.答:程序
5.C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是_____________。
5.答:锁相环PLL
6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。
6.答:FF80h
7.TMS320C54x系列DSP处理器有_____个通用I/O引脚,分别是_________。
7.答:2个,BIO和XF
8.DSP处理器按数据格式分为两类,分别是_______ __;_____ ___。
8.答:定点DSP和浮点DSP
9.TMS329VC5402型DSP的ST1寄存器中,INTM位的功能是 。
9.答:开放/关闭所有可屏蔽中断
10.MS320C54X DSP主机接口HPI是________位并行口。
10.答:8
1.在C54X系列中,按流水线工作方式,分支转移指令的分为哪两种类型:_______;_______。
1.答:无延迟分支转移,延迟分支转移
3.C54x的程序中,“.bss”段主要用于_______________。
3.答:为变量保留存储空间
4.从数据总线的宽度来说,TMS320VC5402PGE100是_______位的DSP处理器。
4.答:16位
7.TMS320VC5402型DSP处理器的内核供电电压________伏。
7.答:1.8v
9.TMS320C5402系列DSP处理器最大的数据存储空间为_____字。
9.答:64K
10.在链接器命令文件中,PAGE 0通常指________存储空间。
10.答:程序
1. DSP技术是利用专用或通用数字信号处理芯片,通过_ _运算的方法对信号进行处理。
1.答:数值运算
2. C54x的程序中,“.text”段是_________段,主要包含_______________。
2.答:文本段,可执行文本
3. C54x系列DSP上电复位后的工作频率是由片外3个管脚 ; ; 来决定的。
3.答:CLKMD1、CLKMD2、CLKMD3
4. DSP处理器TMS320C5402最大的程序存储空间为______字。
4.答:1M
5. 从应用领域来说,MCU(单片机)主要用于_______________;DSP处理器主要应用于___________________。
5.答:控制领域;信号处理
6. TMS320C54X DSP提供一个用16位堆栈指针(SP)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从 地址向 地址方向填入。
6.答:高 低
7. TMS320C54X DSP软硬件复位时,复位中断向量的地址为程序空间的________。
7.答:FF80H
4.TMS320C54X可编程定时器的定时周期 =(时钟周期)*(分频系数TDDR+1)*(____ +1)。
4.答:PRD
5.DSP处理器的英文全称 。
5.答: Digital Signal Processor
7.DSP处理器TMS320VC5402的IO管脚供电电压________伏。
7.答: 3.3v
8.C54x的程序中,“.data”段是_________段,主要用于_______________。
8.答:数据段,通常包含初始化数据;
10.DSP处理器TMS320C5402的I/O空间为_ _ __字。
10.答:64K
1.TMS320VC5402型DSP的累加器是 位。
1.40
2.TMS329VC5402型DSP的MP/MC管脚的功能是 。
2. 微计算机或是微处理器工作模式
4.TMS320VC5402型DSP的CPU采用 寄存器作为专用硬件实现移位功能。
4. 桶形移位寄存器
5.汇编语句“STL A,@y”中“@y”表示 寻址方式。
5. 直接寻址
6.TMS320VC5402型DSP的ST1寄存器中,CPL位的功能是指示 。
6. 直接寻址采用何种指针
8.解释汇编语句“READA *AR1”的功能: 。
8. 以累加器A的内容作为地址读取程序存储单元,将读取的数据存入以AR1的内容作为地址的数据存储单元中
10.TMS320C54X具有两个通用I/O口,________用于输入外设的状态;________用于输出外设的控制信号。
10. BIO,XF
二.判断题(本题总分10分,每小题1分)
############################错误#####################################
4.DSP 处理器TMS320VC5402的供电电压为5V。 ( )
5.DSP的工作频率只能是外部晶体振荡器的频率。 ( )
8.TMS320C54X DSP是浮点型处理器。 ( )
9.TMS320C54X DSP的汇编语言中有除法指令。 ( )
10.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。
1. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。 ( )
3. TMS320C54X 系列DSP外部程序存储器的分页扩展受DROM位控制。 ( )
4. TMS320C54X DSP是浮点型处理器。 ( )
6. DSP的工作频率只能是外部晶体振荡器的频率。 ( )
9. TMS320C54X DSP的汇编语言中有除法指令。 ( )
1. 汇编伪指令可以用大写表示。 ( )
3. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。 ( )
8. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。 ( )
10. TMS320VC5402型DSP可以通过设置DROM位实现数据存储空间和程序存储空间共享片内DARAM。
1. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。 ( )
2. TMS320C54X 系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间共享片内ROM。 ( )
5. TMS320VC5402型DSP汇编语言的伪指令也是一种指令,同样占用存储空间。 ( )
8. TMS320VC5402型DSP的工作频率是由外部晶振唯一确定的。 ( )
3. DSP 处理器TMS320VC5402的中断向量表位置是固定的。 ( )
5. TMS320VC5402型DSP可以通过设置DROM位实现数据存储空间和程序存储空间的共享片内DARAM。 ( )
7. TMS320C54X 系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间的共享片内ROM。 ( )
9. TMS320VC5402型DSP汇编语言的伪指令也是一种指令,同样占用存储空间。 ( )
1.DSP 处理器TMS320VC5402内部含有SARAM存储器。 ( )
2.3.3V的TTL电平器件可以直接驱动5V的CMOS器件。 ( )
3.DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。 ( )
6.C54X系列DSP 处理器的累加器A,B是32位的。 ( )
8.DSP 处理器TMS320VC5402有不止一种串行口。 ( )
4.DSP处理器TMS320VC5402在微型计算机工作模式时,上电复位后程序从片外存储器的FF80h单元开始执行。 ( )
5.DSP处理器TMS320VC5402的中断向量表位置是固定的。 ( )
9.DSP处理器TMS320VC5402的程序存储空间只有64K字。 ( )
****************************正确**********************************************
1.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。 ( )
2.TMS320C54X DSP汇编语言源程序中,标号是可选项,若使用标号,则标号必须从第一列开始。 ( )
3.DSP 处理器的中断请求可以由软件产生。 ( )
6.哈佛结构的特点是数据总线和程序总线分开。 ( )
7.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。 ( )
2. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )
4. 在C54x系列DSP中断向量表的最大长度只能128字。 ( )
5. DSP对程序存储空间、数据存储空间和I/O空间的选择分别是由三根片选线PS、DS、IS独立选择的。 ( )
6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。
( )
7. 单片机通过HPI接口可以访问TMS320VC5402的全部64K字数据存储空间。 ( )
8. 在DSP处理器汇编程序中,标号区分大小写。 ( )
9. DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。 ( )
10. DSP 处理器TMS320VC5402的中断向量表位置是固定的。 ( )
1. 当TMS320C54X DSP处于微处理器模式时,DSP上电复位之后从片外程序存储器的FF80H开始运行。 ( )
2. 在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。 ( )
3. DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。 ( )
5. 在DSP处理器汇编程序中,标号区分大小写。 ( )
7. DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( )
8. 链接器命令文件是用来规定程序段的存放位置的。 ( )
10. DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。 ( )
2. C54x系列DSP只有两个通用的I/O引脚。 ( )
4. 在C54x系列DSP的寻址方式中,使用DP作为直接寻址的偏移寻址范围只有128个字。
( )
5. DSP的流水线冲突可以通过改变编程方法或者添加nop语句来消除。 ( )
6. TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。
( )
7. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )
9. 如果OVLY=1,程序存储空间可以使用内部RAM,此时,不论XPC为何值,扩展程序存储空间的所有低32K字都被映像到内部RAM中。 ( )
3. 在DSP的编程中可以将程序中不同的段放置在不同的存储器中。 ( )
4. C54x系列DSP的寻址方式中,用DP作为直接寻址的偏移寻址范围只有128个字。( )
6. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )
7. DSP对程序存储空间、数据存储空间和I/O空间的选择分别是由三根片选线PS、DS、IS独立选择的。 ( )
9. DSP的流水线冲突可以通过改变编程方法或者添加nop语句来消除。 ( )
10. TMS320C54X系列DSP的汇编语言中分支转移指令执行需要4个机器周期。 ( )
1. DSP 处理器TMS320VC5402的定时器可以构成20位的定时器。 ( )
2. DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( )
4. DSP 处理器TMS320VC5402可以计算浮点小数运算。 ( )
6. TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。( )
8. 在DSP的编程中可以将程序中不同的段放置在不同的存储器中。 ( )
10. TMS320C54X 系列DSP的汇编指令WRITA可以寻址1M字的程序空间。 ( )
4.DSP 处理器TMS320VC5402内部没有专用的除法指令。 ( )
5.定点DSP 处理器TMS320VC5402可以计算浮点小数运算 ( )
7.DSP 处理器TMS320VC5402的定时器可以构成20位的定时器。 ( )
9.DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( )
10.DSP 处理器TMS320VC5402支持流水线的指令运行方式 ( )
1.DSP处理器TMS320VC5402内部没有专用的除法指令。 ( )
2.定点DSP处理器TMS320VC5402可以计算浮点小数运算。 ( )
3.CCS软件开发系统支持C语言程序编程。 ( )
6.DSP处理器C54x的软件中断是不可屏蔽的中断。 ( )
7.DSP处理器C54x支持流水线的指令运行方式。 ( )
8.DSP处理器C54x的堆栈是向低地址方向生长的。 ( )
10.DSP处理器C54x的汇编程序是由许多“段”组成的。 ( )
三.程序阅读题(本题总分30分,每小题10分)
1. 阅读下面的程序,回答问题。
.bss x, 8
LD #0001H,16,B
STM #7,BRC
STM #x,AR4
RPTB next-1
ADD *AR4,16,B,A
STH A,*AR4+
next: LD #0,B
问题:(1)寄存器“BRC”的功能是什么?
(2)汇编语句“ADD *AR4,16,B,A”执行了多少次?
(3)执行语句“LD #0001H,16,B”后,累加器B的内容是多少?
1.(1) 寄存器“BRC”的功能是暂存块循环的次数
(2) 8次
(3) B=0x0100H;
2. 阅读下面的程序:
.mmregs
DAT0 .SET 60H
DAT1 .SET 61H
DAT2 .SET 62H
DAT3 .SET 63H
add3 .macro P1,P2,P3,ADDRP
LD P1,A
ADD P2,A
ADD P3,A
STL A,ADDRP
.endm
ST #0034h,DAT0
ST #0243h,DAT1
ST #1230h,DAT2
ADD3 DAT0,DAT1,DAT2,DAT3
问题:(1)语句“.mmregs”的含义。
(2)语句“ADD3 DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么?
(3)执行此段程序后,存储单元(DAT3)的运行结果多少?
2.(1) 定义存储器映像寄存器的符号名称。
(2)宏调用。执行三个数相加。
(3) 14a7H
3.阅读下面的程序片断,写出运行结果
.mmregs
DAT0 .SET 60H
LD #004h,DP
ST #0345h,DAT0
STM #0002h,T
MPY DAT0,A
NOP
问题:(1)寄存器T的作用是什么?
(2)执行“MPY DAT0,A”后,累加器A的内容是什么?
3.答:寄存器T的作用是暂存被乘数,
累加器A的内容为0x68A或68Ah
1. 阅读程序,回答后面的问题
STM #6,AR4
begin: STM #9,BRC
RPTB next-1
nop
next: LD #0,B
banz begin,*AR4-
问题:(1) BRC寄存器是做什么用途?
(2)语句“banz begin,*AR4-”的作用是什么?
(3)其中的“nop”语句被执行了多少次?
1. 答:BRC保存着RPTB指令的循环次数
判断AR4的内容是否为零,若不为零,跳转到标号begin。
70次
3. 已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:
CLKMD1
CLKMD2
CLKMD3
CLKMD复位值
时钟方式
0
0
0
E007H
PLL×15
0
0
1
9007H
PLL×10
0
1
0
4007H
PLL×5
1
0
0
1007H
PLL×2
1
1
0
F007H
PLL×1
1
1
1
0000H
2分频
1
0
1
F000H
4分频
STM #00H,CLKMD
Status:LDM CLKMD,A
AND #01H,A
BC Status,ANEQ
STM #9007H,CLKMD
问题(1)DSP复位后,DSP的工作时钟是多少?
(2)执行上面的程序片段后,DSP的工作时钟是多少?
3. 答:(1)5MHz
(2)100MHz
1. 阅读下面的程序片断,写出运行结果
.mmregs
bei_hua .set 18
LD # bei_hua,A
问题:(1)“.mmregs”的作用是什么?
(2) 运行此段程序后,累加器A的结果是多少?
1. 答:定义存储器映像寄存器的符号名称
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”的地址是多少?
2. 答:定义一个自定义段名的程序段
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”的地址分别是什么,分别位于程序空间还是数据空间?
3. 答:MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。
标号table:1000h(程序空间)
标号start:2000h(数据空间)
1. 阅读下面的程序片断,回答下面的问题
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
STL A,DAT2
STH A,DAT3
问:在CPL=0的情况下,
(1) 语句“STL A,DAT2”,其中DAT2所指的地址是多少?
(2) 存储单元(DAT2)和(DAT3)的内容是多少?
1.答:(1) 0262h
(2) (DAT2)=02H (DAT3)=01H
2. 阅读下面的程序,回答问题。
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
.bss x,4
.bss y,1
STM #a, AR3
STM #x, AR4
RPTZ A, #3
MAC *AR3+,*AR4+,A
STL A,*(y)
问题:(1)指令“STM #a, AR3”的作用是什么?执行此句指令后,寄存器AR3的内容是多少?
(2)指令“MAC *AR3+,*AR4+,A”执行了几次?每执行一次寄存器AR3和AR4的内容如何变化?
(3)这段代码的功能是什么?
2.答:(1)将标号a的地址赋给辅助工作寄存器AR3,AR3=3000h。
(2)执行了4次,每执行一次辅助工作寄存器AR3和AR4的内容增一。
(3)
3. 阅读下面的程序,回答问题。
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
.text
STM # stack + size,SP
问题:(1)指令“stack .usect “STACK”,size”的作用是什么?
(2)标号“stack”的存储器地址是多少?
(3)执行这段代码之后,SP寄存器的内容是多少?
3.答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。
(2) stack的存储空间为0x4000;
(3) SP=0x4120;
1. MEMORY
{PAGE 0: PROM: 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
}
问题:(1)该文件是如何配置程序空间和数据空间的?
(2)该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的?
1.答:该文件使用MEMORY伪指令将程序空间划分为两个小区间:名为PROM的区间其起始地址为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区间。
2. 阅读下面的程序片段,写出运行结果
.mmregs
DAT0 .SET 60H
LD #004h,DP
ST #0345h,DAT0
STM #0002h,T
MPY DAT0,A
NOP
NOP
问题:(1)寄存器T的作用是什么?
(2)执行“MPY DAT0,A”后,累加器A的内容是什么?
2.答:寄存器T的作用是暂存被乘数,
累加器A的内容为0x68A或68Ah
3. 已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=101,外部晶振=10MHz,参数设置表:
CLKMD1
CLKMD2
CLKMD3
CLKMD复位值
时钟方式
0
0
0
E007H
PLL×15
0
0
1
9007H
PLL×10
0
1
0
4007H
PLL×5
1
0
0
1007H
PLL×2
1
1
0
F007H
PLL×1
1
1
1
0000H
2分频
1
0
1
F000H
4分频
STM #00H,CLKMD
Status:LDM CLKMD,A
AND #01H,A
BC Status,ANEQ
STM #9087H,CLKMD
问题:(1)DSP复位后,DSP的工作时钟是多少?
(2)执行上面的程序片段后,DSP的工作时钟是多少?
3.答: (1)2.5MHz
(2)100MHz
1. 阅读程序,回答后面的问题
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指令的循环次数
80次
2. 阅读下面的程序,回答问题。
MEMORY
{ PAGE 0: PROG: origin = 0x2000, length = 0x1000
PAGE 1: DATA: origin = 0x3000, length = 0x1000
}
SECTIONS
{ .text: {} > PROG PAGE 0
STACK: {} > DATA PAGE 1
}
汇编程序
size .set 0x0120
stack .usect “STACK”,size
.text
STM # stack + size,SP
问题:(1)指令“stack .usect “STACK”,size”的作用是什么?
(2)标号“stack”的存储器地址是多少?
(3)执行这段代码之后,SP寄存器的内容是多少?
2.答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。
(2) stack的存储空间为0x4000;
(3) SP=0x4120;
3. 阅读下面的程序,回答问题。
MEMORY
{ PAGE 0: PROG: origi
展开阅读全文