第一套
一、 填空题(共30分,每空1分)
1.DSP的狭义理解为 数字信号处理器 ,广义理解为 数字信号处理方法 。
2.在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位
CPL =1 时,加上SP基地址形成数据存储器地址。
3.TMS320C54有两个通用引脚,BIO和XF, BIO 输入引脚可用于监视外部接口器件的状态; XF 输出引脚可以用于与外部接口器件的握手信号。 4.累加器又叫做 的作用是存放从器
单
39~32 31~16 15~0 低阶位 目的寄存器 ,它ALU或乘法器/加法输出的数据。它的存
保护位 高阶位 元 放格式为
5.桶形移位器的移位数有三中表达方式: 立即数 ; ASM ; T低6位
6.DSP可以处理双16位或双精度算术运算,当 C16=0 位双精度运算方式,当 C16=1
为双16位运算方式。
7.复位电路有三种方式,分别是 上电复位 ; 手动复位 ; 软件复位 。
8.立即数寻址指令中在数字或符号常数前面加一个 # 号,来表示立即数。
9.位倒序寻址方式中,AR0中存放的是 FFT点数的一半 。
10.一般,COFF目标文件中包含三个缺省的段: .text 段; .data 段和 .bss 段。
11.汇编源程序中标号可选,若使用标号,则标号必须从 第一列 开始;程序中可以有注释,注释在第一列开始时前面需标上 星号或分号 ,但在其它列开始的注释前面只能标 分号 。
12.’C5402有23条外部程序地址线,其程序空间可扩展到 1M ,内程序区在 第0页 。
13.指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。 ADD *AR3+,14,A
A 00 0000 1200 数据存储器 二、 简
答
0100h C AR3 1500 1 0100 (共40
A 00 0000 0100h 2700 C 1500 AR3 1 0101 1. TMS320C54x有多少条16位总线?这些总线各用?(6分)
答:’C54x共有4组8条16位总线
1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。 3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。
4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。 2. TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分
有什么作
分)
配?(6分)
答:TMS320C54x的片内存储空间分为3个可选择的存储空间:64K的程序空间,64K的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、DARAM。 程序空间:MP/MC=1 4000H~FFFFH 片外
MP/MC=0 4000H~EFFFH 片外 FF00H~FFFFH 片内 OVLY=1 0000H~007FH 保留 0080H~007FH 片内 OVLY=0 0000H~3FFFH 片外
数据空间:DROM=1 F000H~FEFFH 只读空间 FF00H~FFFH 保留 DROM=0 F000H~FEFFH 片外
3. 当TMS320C54x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(6分)
答:(1)出现多个中断时,此中断的优先级最高 (2)INTM=0 允许全局中断
(3)IMR中的响应相应位为1,开放此中断。
4. 循环寻址中,如何确定循环缓冲的起始地址?如果循环缓冲大小为17,其起始地址必须从什么地址开始?BK初始化为多少?(4分)
5. TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)的中断向量地址。(6分) 答:复位后,复位向量地址为:0080H
确定地址方式:IPTR+左移2位后的中断向量序列号
10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H
6. 若辅助寄存器AR0的值为0x0005H,AR3的值为0x030FH,请分别给出下列寻址方式修改后的辅助寄存器的值。(6分)
*AR3+ ; AR3=0310H *AR3+0 ; AR3=0314H *AR3(15) ; AR3=0324H 7. 分别解释以下指令的功能。(6分)
LD #80h, A; 把立即数80H装入累加器A LD 80h, A; 把80H为地址的数据装如累加器A LD #80h,16, A; 把立即数80H左移16位后装如累加器A 三、 程序填空(共22分,每空2分) 1.实现计算z=x+y-w的程序。
.title \ .mmregs
STACK .usect \ .bss x,1 .bss y,1 .bss w,1 .bss z,1 .def start .data
table: .word 10,26,23 .text
start: STM #0,SWWSR
STM #STACK+10h,SP ;初始化堆栈指针SP
STM #x,AR1 RPT #2
MVPD table,*AR1+ ;数据从程序存储器传送到数据存储器
CALL SUMB end: B end SUMB: LD @x, A ADD @y, A
SUB @w,A ;实现减法运算 STL A, @z RET .end
2.实现对数组X[5]={1,2,3,4,5}的初始化,然后将数据存储器中的数组X[5]复制到数组Y[5]。最后实现数组X和数组Y中对应元素相乘并累加,即z=1*1+2*2+3*3+4*4+5*5 .mmregs
.bss x, 5 .bss y, 5 .bss z, 1 .def start
table: .word 1,2,3,4,5 .text
start: STM #x, AR1