DSP期末考试.docx
《DSP期末考试.docx》由会员分享,可在线阅读,更多相关《DSP期末考试.docx(9页珍藏版)》请在冰点文库上搜索。
DSP期末考试
1.说明C5402的内部总线结构?
C5402有8组16位总线:
1组程序总线PB,3组数据总线CB、DB、EB和4组地址总线PAB、CAB、DAB、EAB.其中CB和DB总线用于传送从数据存储器读出的数据,而EB用来传送写入存储器的数据。
2.什么是哈佛结构和冯.诺依曼结构?
他们有什么区别?
冯.诺依曼结构采用单存储空间,即程序指令和数据公用一个存储空间,使用单一的地址何数据总线,取指令和取操作数都是通过一条总线分时进行的。
哈佛结构结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问.
3.什么是流水线技术?
每条指令通过片内多功能单元在任何一个机器周期内,可以有预取指、取指、译码、寻址、读数、执行多个不同的指令同时工作。
最终实现串行的结构,并行的结果。
4.C5402DSP可寻址存储空间(程序空间、数据空间、I/O空间)均为64K字
5.C5402DSP的程序存储空间和数据存储空间的分配,他由什么决定?
MP/MC决定微处理器/微型计算机工作方式,=0工作在微型计算机方式(允许使用片内ROM),=1工作在微处理器方式(不使用片内ROM)。
OVLY控制位用来决定程序存储空间是否使用内部RAM。
OVLY=0,片内双寻址数据RAM只能在数据空间寻址,不能在程序空间寻址,=1时可映射到程序和数据空间。
DROM=0,片内ROM不能映射到数据空间,=1时一部分可以映射。
6.外部程序存储空间的访问控制信号为/PS、/MSTRB、R/W
7.外部数据存储空间的访问控制信号为/DS、/MSTRB、R/W。
8.外部IO空间的访问控制信号为/IOSTRB、/IS和R/W
9.C5402片内外设有:
通用I/O引脚、定时器、时钟发生器、主机接口HPI、串行通信接口、软件可编程等待状态发生器、可编程分区转换逻辑。
10.C5402流水线操作阶段有:
预取指,取指,译码,寻址,读数,执行。
特点是:
可以执行多个不同的指令同时工作,最终实现串行的结构,并行的结果。
11.硬件中断可以分为可屏蔽中断和不可屏蔽中断。
其中13个可屏蔽中断为:
外部中断/INT3~/INT0,串行口中断BRINT0、BXUNT0、BRINT1、BXINT1,定时器中断TINT0、TINT1,DMA中断DMAC4、DMAC5,HPI中断HPINT.2个可屏蔽中断为:
/RS和/NMI.
与中断相关的寄存器有:
IFR、IMR、PMST(IPTR位)、ST1(INTM位)
12改变中断向量表位置:
1.中断向量表应设置成段,2.在链接命令文件中,段应指向相应的地址。
3.IPTR应该指向设置的地方。
13.状态寄存器0(ST0)
ARP:
辅助寄存器指针
DP:
数据存储器页指针。
用来与指令中提供的7位地址结合形成1个
16位数据存储器的地址。
状态寄存器1(ST1)
XF:
外部XF引脚状态控制位。
用来控制XF通用外部输出引脚的状态。
执行SSBXXF=1XF通用输出引脚为1;
执行RSBXXF=0XF通用输出引脚为0。
INTM:
中断方式控制位;
用于屏蔽或开放所有可屏蔽中断。
INTM=0开放全部可屏蔽中断;
INTM=1禁止所有可屏蔽中断。
FRCT:
小数方式控制位;
用来确定乘法器的运算方式。
FRCT=1乘法器的输出左移一位,
消除多余的符号位。
工作方式状态寄存器PMST
IPTR:
中断向量指针
MP/MC:
CPU工作方式选择位
OVLY:
RAM重复占位标志
DROM:
数据ROM映射选择位
14.C54x寻址方式:
寻址方式
用途(特点)
举例
指令含义
立即寻址
主要用于初始化
LD#10,A
立即数10A
绝对寻址
利用16位地址寻址存储单元
STLA,*(y)
将AL内容存入y所在的存储单元
累加器寻址
将累加器中的内容作为地址
READAx
将A的内容作为地址读程序存储器,并存入x存储单元
直接寻址
利用数据页指针和堆栈指针寻址
LD@x,A
(DP+x的低7位地址)A
间接寻址
利用辅助寄存器作为地址指针
LD*AR1,A
((AR1))A
存储器映像
寄存器寻址
快速寻址存储器映象寄存器
LDMST1,B
(ST1)B
堆栈寻址
压入/弹出数据存储器和存储器映像寄存器MMR
PSHMAG
(SP)-1SP,(AG)(SP)
两种特殊寻址方式:
循环寻址方式和位倒序寻址方式,分别用于FIR滤波算法和FFT算法中.
15.3.1的答案为都为50H,
3.3的答案为
4
8
16
Xx+1x+2x+3Xx+1x+2x+3
4
8
16
16.用文本编辑器编辑汇编语言程序生成.asm源文件,再通过汇编器生成.obj目标文件,最后在已有的.cmd链接命令文件和.map存储器映像文件的提供下,用链接器生成.out输出文件.具体使用CCS的工程如下:
(1)创建新的工程文件选择菜单“Project”的“New…”项,建立新工程文件exam.pjt
(2)新建编辑源程序文件:
选择菜单“File”的“New…”的“SourchFile…”项目,新建源程序文件,保存源程序文件为exam.asm。
(3)编辑中断向量表文件vectors.asm。
编辑链接命令文件exam.cmd
17.典型链接命令文件:
Vectors.obj
example.obj
-oexample.out
-mexample.map
-estart
MEMORY
{
PAGE0:
EPROM:
org=0E00H,len=100H
VECS:
org=0FF80H,len=80H
PAGE1:
SPRAM:
org=0060H,len=20H
DARAM:
org=0080H,len=100H
}
SECTIONS
{
.text:
>EPROMPAGE0
.data:
>EPROMPAGE0
.bss:
>SPRAMPAGE1
STACK:
>DARAMPAGE1
.vectors:
>VECSPAGE0
19.IO电压为3.3V,核心电压为1.8V
编程题只考两个。
一个连加或乘加的基本运算,参考实验,还有一个是定时中断、AD、DA实验综合程序。
十个数的连加求和程序如下:
.title"exam2.asm"
.mmregs
STACK.usect"STACK",10H;堆栈的设置
.bssx,10;为变量分配6个字的存储空间
.bssy,1
.defstart
.data
table:
.word11,12,4,6,5,1,9,14,7,5;x1,x2,x3,x4,x5
.text
start:
STM#0,SWWSR;插入0个等待状态
STM#STACK+10H,sp;设置堆栈指针
STM#x,AR1;AR1指向x
RPT#9;下一条被重复执行5遍
MVPDtable,*AR1+;把程序存储器中的数据传送到数据存储器
LD#0,A;A清零
CALLSUM;调用求和函数
end:
Bend
SUM:
STM#x,AR3;AR3指向x
STM#9,AR2;AR2=4
loop:
ADD*AR3+,A;*AR3+A-->A,然后AR3+
BANZloop,*AR2-;如果AR2的值不为0,则跳到loop处;
;否则执行下一条指令
STLA,*(y);把A的低16位赋给变量y
RET
.end
定时中断、AD、DA实验综合程序如下:
(必考)
.mmregs
.def_c_int00
.globalTINT0_ISR
;A/D访问地址
AD_ADDR.set0x0000
DA_ADDR.set0x0001
.data
;采样数据缓冲区
.bssbuffer,1
STACK.usect"STACK",10H;分配堆栈空间
;================================================
;主程序:
.text
.align0x10
_c_int00:
STM#STACK+10H,SP;设堆栈指针SP
STM#0,CLKMD
status:
LDMCLKMD,A
AND#01H,A
BCstatus,ANEQ
STM#03EFH,CLKMD
LDMPMST,A
AND#7FH,A
OR#0080H,A
STLMA,PMST
;====================================================
;初始化定时器0
PERIOD.set9;定义计数周期
STM#10H,TCR;停止计数器0
STM#PERIOD,PRD;设定计数周期
STM#29H,TCR;开始Timer0
stm#0008h,IMR;允许Timer0中断
STM#0008h,IFR;清除挂起的中断
RSBXINTM;开中断
end:
nop
Bend
;================================================
;Timer0中断服务程序:
TIN0_ISR
;================================================
TINT0_ISR:
PSHMST0;本中断程序影响TC,位于ST0中
PSHMAR1
STM#buffer,AR1
PORTR#AD_ADDR,*AR1
nop;FIRfilter
PORTW*AR1,#DA_ADDR
POPMAR1
POPMST0
RETE
.end
24.CCS(CodeComposerStudio)是一种针对TMS320系列DSP的集成开发环境,她采用windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪于一体,是使用最为广泛的DSP开发环境之一。
30.关键是看懂那个程序,填写出A和T中的最后结果,EXPA语句理解过程:
数出多余的符号位(7个F就是28个符号位,再加上后面的8的一个,总共29个符号位)多余的符号位为28,再减去8=20,最后化成十六进制为0014,放在T寄存器中。
NORMA语句理解过程:
把原先A的数据移位(T寄存器中为正就左移,负就右移),所以左移20位最后为FF80000000.