《DSP技术及应用(第2版)》陈金鹰(补充习题参考答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答案:
习题一
一、判断下列各题是否正确。
⑴DSP仅是Digital Signal Processing的缩写形式。
( X ) 答:DSP是Digital Signal Processing和Digital Signal Processor的缩写形式。
⑵数字系统除开电路引入的延时外,处理信号是实时的。
( X ) 答:模拟系统除开电路引入的延时外,处理是实时的。
⑶由于存储器仅16位,C54x芯片最多只能进行两个16位算术逻辑运算。
( X ) 答:C54x芯片可进行40位算术逻辑运算。
⑷C54x芯片有两个程序地址产生逻辑,以便为流水线提供多个地址。
( X ) 答:C54x芯片只有一个程序地址产生逻辑。
⑸由于是多总线结构,C54x芯片可同时从外部存储器取多个操作数。
( X ) 答:C54x芯片对外只有一组总线,故在同一时刻只能从外部存储器取1个操作数。
⑹C54x芯片从EXP指数编码器获得的指数直接存放到A累加器。
( X ) 答:C54x芯片从EXP指数编码器获得的指数直接存放到T寄存器。
⑺将数据存储器中的数据装入SWWSR中时应使用ST存储指令。
( X ) 答:将数据存储器中的数据装入SWWSR中时应使用STM存储指令。
⑻C54x芯片进行乘法运算时,第16位根据第15位是0或1来确定。
( X ) 答:C54x芯片进行乘法运算时,第16位根据是无符号数还是有符号数来确定。
⑼进行Viterbi算法运算时,(M1+D1)>(M2+D2)时,则TC =0。
( V ) ⑽一个周期内取3操作数时要用到 C、D、P总线。
( V )
二、填空:
⑴C54x片内存储器类型分为 DARAM 、SARAM、ROM。
⑵程序存储器中 FF00h 处存放的是机内自检程序。
⑶用户可以在同一个周期内从同一块 DARAM 取出两个操作数。
⑷利用C54x的单根 XF 输出引脚可方便地获得方波信号输出。
⑸CLKOUT等于CLKIN的条件是PLLNDIV、PLLDIV、 PLLMUL 分别为1、0、15。
⑹HPI存储器在数据存储空间的起始地址为 1000h 。
⑺如要将C54x的FSX引脚设置成输入,则应使 TXM 位为0。
⑻向外部存储器写1个数据要花费 2 个机器周期。
⑼C54x在协调不同速度的外部存储器时要使用软件等待状态发生器(SWWSR) 。
⑽置ST1的 INTM 为1时,关闭所有的可屏蔽中断。
三、计算题:
(1)PMST=F1FF,则串口0发送中断的中断向量地址为 F1D4H 。
XINT0的中断号为21=15H,即0001 0101,左移两位后为0101 0100
1111 0001 1
0101 0100
1111 0001 1101 0100=F1D4H
(2)将Q15格式数据ED23转换成十进制数后,其十进制数为 -0.147369384765625 。
ED23= 1110 1101 0010 0011→求反加1→ -0001 0010 1101 1101=-4829
-4829/32768=-0.147369384765625
-0.147369384765625×32768=-4829
-4829+65536=60707=ED23H
(3)设有长度为51的循环缓冲器,则该循环缓冲器BK基地址的最低 6 位必须为0。
2N=26=64>51 故N=6
(4)若B=00 00FF 0222H,则执行EXP B后,T中的值为 0008H 。
B=(0000 0000 0000 0000 1111 1111 0000 0010 0010 0010)B
16位冗余符号位,故16-8=8=8H T=008H
习题二
一、判断下列各题是否正确。
⑴数字系统升级时必需更新硬件和软件。
( X ) 答:数字系统升级时通常只需更新软件。
⑵由于有电路延时,模拟系统处理信号通常是非实时的。
( X ) 答:模拟系统除开电路引入的延时外,处理信号是实时的。
⑶由于存储器只有16位,C54x芯片只能进行16×8位并行乘法运算。
( X ) 答:C54x芯片可进行17×17位并行乘法运算。
⑷C54x芯片有一个数据地址产生逻辑,从而避免了取数据时的地址冲突。
( X ) 答:C54x芯片有两个数据地址产生逻辑。
⑸C54x芯片从外部存储器取得的操作数可经C总线传输给A累加器。
( X ) 答:C54x芯片从外部存储器取得的操作数只能经D总线传输给A累加器。
⑹C54x芯片从EXP指数编码器获得的尾数直接存放到T寄存器。
( X ) 答:C54x芯片从EXP指数编码器获得的指数直接存放到T寄存器。
⑺进行Viterbi算法运算时,(M1+D1)<(M2+D2)时,则TC =1。
( V )
⑻增强的哈佛结构使DSP可在程序空间存放数据。
( V )
⑼将数据存储器中的数据装入TCR中时应使用ST存储指令。
( X ) 答:将数据存储器中的数据装入TCR中时应使用STM存储指令。
⑽C54x芯片进行乘法运算时,第16位根据FRCT位是0或1来确定。
( X ) 答:C54x芯片进行乘法运算时,第16位根据是无符号数还是有符号数来确定。
二、填空:
⑴C54x中的 PMST 中的内容决定OVLY位和DROM位的值。
⑵程序存储器中 FF80h 处存放的是中断向量表。
⑶在同一个周期内从同一块DARAM取双操作数用的是前半个周期和后半个周期。
⑷确定定时器的计数初值要用到PRD和 TCR 。
⑸复位时 CLKMD 寄存器的复位值由CLKMD1、CLKMD2、CLKMD3三根输入引脚决定。
⑹HPI存储器的HPIA事后增1,则此时HPI正在进行读数据操作。
⑺如要将C54x的CLKX引脚设置成输入,则应使 MCM 位为0。
⑻向外部I/O设备读/写1个数据要花费 2 个机器周期。
⑼C54x在执行到最后一个等待状态时,MSC信号将变成低电平。
⑽处理器复位时IPTR的各位被分别设置为 1 。
三、计算题:
(1)PMST=F2FF,则串口0接收中断的中断向量地址为 FD20H 。
RINT0的中断号为20=14H,即0001 0100,左移两位后为0101 0000
1111 0010 1
0101 0000
1111 0010 1101 0000=F2D0H
(2)将Q15格式数据CF45转换成十进制数后,其十进制数为 -0.380706787109375 。
CF45=1100 1111 0100 0101→求反加1→ -0011 0000 1011 1011=-12475
-12475/32768=-0.380706787109375
-0.380706787109375×32768=-12475
-12475+65536=53061=CF45
(3)设有长度为84的循环缓冲器,则该循环缓冲器BK基地址的最低 7 位必须为0。
2N=27=128>84 故N=7
(4)T=FFFCH,B=F0 ECDA 1234H,执行NORM B, A后,A为0F 0ECD A123H。
T=FFFCH=1111 1111 1111 1100B=-(0000 0000 0000 0011+1)补=-4H B=(1111 0000 1110 1100 1101 1010 0001 0010 0011 0100)B
右移4位→(0000 1111 0000 1110 1100 1101 1010 0001 0010 0011 0100)B A=0F 0ECD A123H
习题三
一、判断下列各题是否正确。
⑴C54x芯片的CPU拥有40位的ALU。
( V )
⑵C54x芯片的CPU拥有40位的桶形移位寄存器。
( X ) 答:有移位-16~30位的桶形移位寄存器
⑶左移A累加器时,低位添0。
( V )
⑷在进行舍入处理时,总是将目的累加器的低16位清0。
( X ) 答:如果带后缀R,就进行舍入处理,即加215至结果,并将目的累加器低16位清0。
⑸当累加器数值超过32位时,指数必然为负值。
( V )
⑹RAM只能安排为数据存储空间。
( X ) 答:RAM总是安排到数据存储空间,但也可以构成程序存储空间。
⑺复位中断向量将程序的执行地址映像到程序空间的FF80h。
( V )
⑻数据存储器只能驻留在片内。
( X ) 答:数据存储器可以驻留在片内或者片外。
⑼双操作数寻址时,若操作数驻留在不同块内,只需1个周期。
( V ) ⑽复位后,定时器控制寄存器的停止状态位TSS=1。
( X ) 答:复位后,定时器控制寄存器的停止状态位TSS=0。
二、填空:
⑴在DSP上电后,系统的晶体振荡器需100ms~ 200 ms的稳定期。
⑵HPI的两种工作方式为共用寻址方式(SAM)和仅主机寻址方式(HOM)。
⑶C54x标准串口SP有 2 个数据缓冲寄存器。
⑷标准串行口的最高工作频率是CLKOUT的 1/4 。
⑸区别片外数据存储器与程序存储器的关键是PS和DS引脚。
⑹存储器读一读一写操作时,写操作要用 2 个周期。
⑺外部存储器存取时间应小于 60% 的机器周期。
⑻SWWSR将外部总线周期延长多达 7 个机器周期。
MP/= 0 ,则处理器从片内ROM开始执行程序。
⑼如果MC
NM、RS可结束IDLE3状态。
⑽利用外部中断信号INTn、1
三、计算题:
(1)PMST=80FF,则SINT6的中断向量地址为80D8H。
SINT6的中断号为22=16H,即0001 0110,左移两位后为0101 1000
1000 0000 1
0101 1000
1000 0000 1101 1000=80D8H
(2)把-0.31转换成Q15格式后的值为D852H。
-0.31×32768=-10158.08≈-10158
-10158+65536=55378=D852H
(3)设有长度为40的循环缓冲器,则该循环缓冲器基地址的最低 6 位必须为0。
2N=26=64>40 故N=6
(4)若A=00 0000 0177H,则执行EXP A后,T中的值为0016H。
A=(0000 0000 0000 0000 0000 0000 0000 0001 0111 0111)B
30位冗余符号位,故30-8=22=16H T=0016H
习题四
一、判断下列各题是否正确。
⑴C54x芯片的CPU拥有40位累加器。
( V )
⑵在将16位的数据输入ALU时,若ST0的SXM=0则符号位扩展。
( X ) 答:若状态寄存器ST1的SXM=0,则高位添0,若SXM=1,则符号位扩展。
⑶A和B的功能不完全相同。
( V )
⑷当FRCT=0时,乘法结果会自动右移1位。
( X ) 答:状态寄存器ST1中的FRCT=1时,乘法结果左移1位,以消除多余的符号位。
⑸执行EXP指令时通过将冗余符号位减8来消去多余符号位。
( V )
⑹ROM只能安排为程序存储空间。
( X ) 答:ROM一般构成程序存储空间,也可以部分地安排到数据存储空间。
⑺当PAGEN发出的地址处在片外地址范围,处理器能自动地对外部寻址。
( V )
⑻片内DARAM可以作为程序存储空间。
( X ) 答:片内DARAM都是数据存储空间。
⑼双操作数寻址时,若操作数驻留在同一块内,需花费2个周期。
( V ) ⑽定时器控制寄存器TCR中的PSC在CLKIN作用下,作减1计数。
( X ) 答:PSC在CLKOUT作用下,作减1计数。
二、填空:
⑴C54x与主机交换信息时共需 18 根引脚才能完成控制与通信。
⑵HPI工作在 HOM 方式,主机可以按160Mbps速度寻址一个字节。
⑶C54x标准串口SP有 2 个移位寄存器。
⑷通过对SPC的设置,标准串行口的FSX和 CLKX 可作为输入引脚。
R/引脚。
⑸区别数据总线上的信号是读入CPU还是写出外部的关键是W
⑹存储器写一写一读操作时,写操作要用 2 个周期。
⑺与C54x-40芯片接口的外部器件的存取时间小于 15 ns时可不插入等待。
⑻SWWSR将数据存储器分为两个2个 32 K字空间进行等待周期的设置。
MP/= 1 ,则处理器从片外ROM开始执行程序。
⑼如果MC
⑽当CLKOUT频率为40MHz时,中断脉冲宽度大于 10ns 才能唤醒中断。
三、计算题:
(1)PMST=80FF,则SINT7的中断向量地址为 80DCH 。
SINT6的中断号为22=17H,即0001 0111,左移两位后为0101 1100
1000 0000 1
0101 1100
1000 0000 1101 1100=80DCH
(2)把-0.123转换成Q15格式后的值为 F042H 。
-0.123×32768=-4030.464≈-4030
-4030+65536=61506=F042H
(3)设长度为70的循环缓冲器,则该循环缓冲器BK基地址的最低 7 位必须为0。
2N=27=128>70 故N=7
(4)T=FFFDH,A=00 0000 0BBBH,执行NORM A, B后,B为 00 0000 0177H 。
T=FFFDH=1111 1111 1111 1101B=-(0000 0000 0000 0010+1)补=-0003H
A=(0000 0000 0000 0000 0000 0000 0000 1011 1011 1011)B
右移3位→(0000000 0000 0000 0000 0000 0000 0000 1011 1011 1011)B =(0000 0000 0000 0000 0000 0000 0000 0001 0111 0111 011)B =00 0000 0177H
习题五
一、判断下列各题是否正确。
⑴C54x有两个(1个)程序地址产生逻辑用来产生程序地址。
( X )
⑵C54x可在一个周期内同是对两(1)个不同的片外程序存储器寻址。
( X )
⑶送到ALU输入端X的数据必须是40位(不)数据。
( X )
⑷A累加器中的数据右移时最高位总是添0(正数添0,负数添1)。
( X )
⑸当系统复位时,PRD中重新加载到TIM。
( V )
⑹归一化的作用是方便乘法(指数)运算。
( X )
⑺完成一次MAC运算需要两(一)个周期,一个周期完成乘,另一个完成加。
( X )
⑻程序运行中若只取一个操作数,该操作数可来自D或C总线。
(只能D) ( X )
⑼尽管采用(增强的)哈佛结构,仍可进行部分程序/数据空间的交叉。
( X ) ⑽定标指对送入累加器中的数据进行16(0~15)位左移。
( X )
二、填空:
⑴OVM=1,ALU负向溢出时32位最大负数为 FF 80000000h 。
第二节1。
⑵A=FF FFF0 FFFF,则执行EXP A后, T=11d=000BH 。
4×5-1-8=11
⑶C54x有2个受软件控制的专用引脚 XF 和BIO。
第五节一部分
⑷C541的3个时钟配置引脚为000,选择方案1,工作频率为外时钟的 3 倍。
第五节三部分表2-8
⑸执行STM 2147H,CLKMD后, 40×16×CLKIN(640) 个外部周期后PLL锁定。
CLKMD=0010 0001 0100 0111b 表2-9 10-3位:001 0100 0b=40d第五节三部分
⑹主机经PHI向DARAM传输一个数据,HD线要工作 3 次。
1送控制字,2送地址、3送数据第五节五部分
⑺DXR中的数据复制到XSR后,XRDY位立即由0转变为 1 。
第六节2。
⑻数据寻址比程序存储器取指具有较高的优先权。
第七节一部分2。
⑼执行STM #3C9BH,SWWSR 数据空间高32k插入 6 个等待状态。
SWWSR=0011 1100 1001 1011第七节二部分3。
⑽复位信号变为低电平后 5 个周期,数据总线无效。
图2-33
三、计算题:
(1)AR1=1060H表示FFT运算后数据的基地址,AR0=0008H,利用指令PORTW *AR1+0B,PA输出FFT运算后数据,则输出X(4)时应寻址的地址为 0001 0000 0110 0010B 。
第三章第一节5
AR1=60H=0110 0000b →AR1=1060H AR0=08H=0000 1000b→AR0=0008H寻址0010b AR1+ AR0=1060H+0002H=1062H
(2)IPTR=101000111B,则RINT0的中断向量地址为 A3D0H 。
第二章第九节四部分
表2-25 RINT0=20=14H=0001 0100b 左移两位=0101 0000 与IPTR=101000111B相加得:1010 0011 1000 0000 +=0101 0000=1010 0011 1101 0000b= A3D0H
(3)把-0.4转换成Q15格式后的值为 CCCDH 。
第五章第一节9 -0.4×32768=13107.2=-13107 +65536 =52429 =CCCDH
(4)执行LD #FFF8h,T 和LD #0A0Ah,B和NORM B, A指令后,A中的值为 00 0000 000AH 。
第五章第二节例5-19(T= FFF9h, B=0A0Ah)
执行LD #FFF8h,T T= FFF8h 执行LD #0A0Ah,B B=00 0000 0A0Ah 执行NORM B, A 后,对B按T= FFF8h(-8)移位赋给A A=0000 00000000 0000 0000 0000 0000 0000 0000 1010 0000 1010 A=00 0000 000AH
习题六
一、判断下列各题是否正确。
⑴C54x有一个(2个)数据地址产生逻辑用来产生数据地址。
( X )
⑵C54x可在一个周期内同是对两(1)个不同的片外数据存储器寻址。
( X )
⑶送到ALU输入端Y的数据必须是40位(不)数据。
( X )
⑷B累加器中的数据左移时,如果数据为负数,则最低位添1(总是添0)。
( X )
⑸当系统复位时,自动地将TDDR加载到PSC。
( V )
⑹归一化的作用是方便小数(指数)运算。
( X )
⑺舍入处理指将目的累加器的最低位清0。
(加215至结果)。
( X )
⑻如要将数据写入程序空间,应通过P总线寻址程序存储器目的地址。
(只能E) ( X)
⑼存储器分块后,可以在同一个周期内从同一块SARAM(DARAM)取出两个操作数。
( X) ⑽定标指对送入累加器中的数据进行0~15位右(左)移。
( X )
二、填空:
⑴OVM=1,ALU正向溢出时32位最大正数为 00 7FFFFFFFh 。
第二节1。
⑵A=00 FFF0 FFFF,则执行EXP A后, T=-1d=FFFFH 。
4×2-1-8=-1
⑶标准串行口的输出引脚CLKX和 FSX ,可通过设置后变为位输入引脚。
第六节一部分2
⑷C545A的3个时钟配置引脚为000,复位后工作频率为外时钟 0.5 倍。
第五节三部分表2-11
⑸执行STM 215FH,CLKMD后, 43×16×CLKIN=(688) 个外部周期后PLL锁定。
CLKMD=0010 0001 0101 1111b 表2-9 10-3位:001 0101 1b=43d第五节三部分
⑹主机经PHI向DSP传输一个数据,HCNTL0、HCNTL1线要工作 3 次。
1HCNTL0、HCNTL1=00送控制字,2HCNTL0、HCNTL1=10送地址、3HCNTL0、HCNTL1=11送数据第五节五部分
⑺RSR的数据复制到DRR后,RRDY位立即由 0 转变为1。
第六节2。
⑻外部存储器存取时间应小于 60% 的机器周期。
第七节二部分1。
⑼执行STM #3C93H,SWWSR 程序空间高32k插入 2 个等待状态。
第七节二部分3。
SWWSR=0011 1100 1001 0011
⑽复位信号变为高电平后 3 个周期,FF80H出现在地址总线上。
图2-33
第八节一部分2
三、计算题:
(1)将数组x[5]中的各单元设置为0,可采用指令RPTZ A,# 4 。
第三章第二节4
(2)IPTR=111000110B,则XINT0的中断向量地址为 E354H 。
第二章第九节四部分
表2-25 XINT0=21=15H=0001 0101b 左移两位=0101 0100 与IPTR=111000110B相加得:1110 0011 0 +=0101 0100=1110 0011 0101 0100b= E354H
(3)把0.7转换成Q15格式后的值为 599AH 。
第五章第一节9 0.7×32768=22937.6 22938=599A H
(4)执行LD #FFF4h,T 和LD #0A0Ah,B和NORM B, A指令后,A中的值为 00 0000 0000H 。
第五章第二节例5-19(T= FFF9h, B=0A0Ah)
执行LD #FFF4h,T T= FFF4h 执行LD #0A0Ah,B B=00 0000 0A0Ah 执行NORM B, A 后,对B按T= FFF4h(-12)移位赋给A A=0000 0000 00000000 0000 0000 0000 0000 0000 0000 1010 0000 1010 A=00 0000 0000H
一、判断下列各题是否正确。
⑴FRCT用来消除多余的符号位。
(V )
⑵E总线上的数据可以传输到桶形移位器中。
(X) 答:(桶形移位器中的数据可以传输到E总线上)
⑶累加器中的指数值为操作数的符号位减8。
(X) 答:(累加器的指数值=冗余符号位-8)
⑷ST0和ST1中包含有存储器的设置状态及其它控制信息。
(X) 答:(PMST中包含存储器的设置状态及其它控制信息)
⑸数据存储器不能存放程序,只能放数据。
(X) 答:(若OVLY=1,则片内RAM安排为程序和数据空间)。
⑹由于有了多内部总线,故不会产生流水线冲突。
(X) 答:(如果两次取数或程序都要用到相同的总线,还是会产生流水线冲突) ⑺由于采用了多总线结构,片外存储器数据可以并行传输。
(X) 答:(片外存储器本身不能并行,只有一条外部总线)
⑻存储器映象CPU寄存器是DSP因有硬件,与软件设置无关。
(X) 答:(存储器映象CPU寄存器由汇编命令.mmregs设置)
⑼XF产生的方波输出频率不能由程序进行改变。
(X) 答:(通过增加NOP可调整频率)
⑽定时器的定时时间可通过设置PSC确定,与TDDR无关。
(X) 答: (定时器的定时时间可通过设置TDDR确定)
二、填空:
⑴PSC是一个减 1计数器。
⑵HPI存储器在数据存储空间的地址为 1000h~17FFh 。
⑶要将CLKX配置成输入,应使 MCM 配置为0。
⑸C54x-40外部程序存储器为2K×16位,ta=50ns,则SWWSR应插入 2 个等待周期。
⑹复位信号为高电平后 6 个机器周期,存储器选通信号变成低电平。
⑺中断分类包括可屏蔽中断和非屏蔽中断。
⑻执行LD #8011h,B指令后,BH的值为 FFFFh(或0000h) 依是否扩展符号而定。
⑼当CPL=1,执行LD @md,B时,dma域加上 SP 形成16位地址。
⑽执行LDM PRD,A指令后,0页数据存储器的第8单元中的值为 PRD 中的值。
三、计算题:
(1) 执行STM #314Fh,CLKMD指令,乘系数为 4 。
(2)IPTR=001000100B,则XINT0的中断向量地址为 2254H 。
(3)把0.2转换成Q15格式后的值为 1999 。
(4)执行LD #0E666h,A和EXP A指令后,T中的值为 0012 。
习题九
一、判断下列各题是否正确 。
⑴ 线性缓冲区要求定位在SARAM 。
( X )
答: (线性缓冲区要求定位在DARAM )。
) ⑵ALU 的X 输入端的数据可来源于数据总线CB 。
( X )
答: (ALU 的X 输入端的数据可来源于数据总线DB 。
)
⑶当一个16位数据加到ALU 的输入端时,若SXM=1,则高位添0。
( X ) 答:(当一个16位数据加到ALU 的输入端时,若SXM=0,则高位添0 )
⑷只要复位C16状态位,就可让ALU 在单个周期内进行两次16位加法。
( X ) 答: (只要置位C16状态位,就可让ALU 在单个周期内进行两次16位加法或两次16位减法)
⑸乘法器工作在小数相乘方式时,FRCT=0。
( X )
答: (乘法器工作在小数相乘方式,状态寄存器ST1中的FRCT 位=1) ⑹对结果进行舍入处理,指将目的累加器的低16位清0。
( X )
答: (对结果进行舍入处理,即加215
至结果,并将目的累加器的低16位清0。
) ⑺RAM 可以构成程序存储空间。
( V )
答: (RAM 总是安排到数据存储空间,但也可以构成程序存储空间。
) ⑻设置多内部总线是为了并行处理和流水线工作。
( V ) ⑼增强的哈佛结构中,程序/数据存储器空间是分开的。
( X )
答:可部分混合使用。
⑽用户初次设计DSP 系统时,加电后PMST 中的 1/ MC MP 。
( V )
二、填空:
⑴当处理器复位时,复位中断向量映象到程序空间的 FF80h 。
⑵在双操作数寻址时,如果操作数驻留在同一块内,则要 2 个周期;
⑶让XF引脚输出高电平的指令为 SSBX XF 。
⑷当TCR中的控制位 TSS 为0时启动定时器。
⑸CLKOUT=CLKIN×乘系数。
⑹在DSP上电后,系统的晶体振荡器需100ms~ 200ms 的稳定期,
⑺C54x的HPI存储器是一个2K× 16 位字的DARAM。
⑻C54x 的标准串行口的最高工作频率是CLKOUT的 1/4 。
⑼外部存储器存取时间应小于 60% 的机器周期,否则需插入等待状态。
⑽当CLKOUT为40MHz时,中断唤醒IDLE3的条件是中断脉冲宽度大于 10 ns。
三、计算题:
(1)已知IPTR=000100010B,则TINT的中断向量地址为 114CH 。
(2)已知循环缓冲区的长度为18,则循环缓冲区的起始地址的低端有5位为0。
(3)在不进行现场保护的情况下,C54x最多能进行 10 层嵌套。
(4)已知B=F770000F11H,T=FFF7H执行指令NORM B后,B=( 007BB80007H )。
习题十
一、判断下列各题是否正确 。
⑴线性缓冲区要求定位在0页空间。
( X )
答:(线性缓冲区要求定位在DARAM )。
)
⑵ALU 的X 输入端的数据可来源于T 寄存器中的数据。
( X )
答: (ALU 的Y 输入端的数据可来源于T 寄存器中的数据。
) ⑶当一个16位数据加到ALU 的输入端时,若SXM=0,则符号位扩展。
( X )
答: (当一个16位数据加到ALU 的输入端时,若SXM=1,则符号位扩展。
) ⑷只要复位C16状态位,就可让ALU 在单个周期内进行两次16位减法。
( X )
答:(只要置位C16状态位,就可让ALU 在单个周期内进行两次16位加法或两次16位减法)
⑸当FRCT=0时,乘法结果左移1位,以消除多余的符号位。
( X )
答: (当FRCT=1时乘法结果左移1位,以消除多余的符号位。
) ⑹对结果进行舍入处理,指加215
至结果。
( X )
答: (对结果进行舍入处理,即加215
至结果,并将目的累加器的低16位清0。
) ⑺ROM 可以部分地安排到数据存储空间。
(V )
答:(ROM 一般构成程序存储空间,也可以部分地安排到数据存储空间。
) ⑻用两个辅助寄存器算术运算单元是为了双字寻址取双操作数。
( V ) ⑼哈佛结构中,程序/数据总线是分开的。
(V )
⑽请DSP 厂商在ROM 中写入用户的应用程序后,加电后PMST 中的 0/ MC MP 。
( V )
二、填空:
⑴当处理器刚加电时,复位中断向量映象到程序空间的 FF80h 。
⑵在双操作数寻址时,若操作数驻留在不同块内,则只需 1 个周期就可以了。
⑶让XF 引脚输出低电平的指令为 RSBX XF 。
⑷当TCR中的控制位 TSS 为1时关定时器。
⑸PLL中的锁定定时器锁定延时时间的设定可以从0~(255×16×CLKIN)。
⑹在DSP上电后,系统的晶体振荡器需 100ms ~200ms的稳定期,
⑺C54x的HPI存储器在数据存储空间的地址为1000h~ 17FFh 。
⑻C54x 的TDM最多可以有 8个 TDM信道可用。
⑼软件等待状态寄存器将外部总线周期延长多达 7 个机器周期。
⑽当CLKIN为40MHz时,中断唤醒IDLE3的条件是PLL减法计数时间大于 50 μs。
三、计算题:
(1) IPTR=001000010B,则TINT的中断向量地址为 214CH 。
(2)循环缓冲区的长度为17,则循环缓冲区的起始地址的低端有5位为0。
(3)在不用辅助寄存器的情况下,C54x最多能进行 2 层嵌套。
(4) A=F770000FFFH,T=FFF7H,执行指令NORM A后,A=( 007BB80007H )。
习题十一
一、判断下列各题是否正确。
⑴、当处理器复位时,复位中断向量映象到数据空间的FF80h?( X ) 答:不!当处理器复位时,复位中断向量映象到程序空间的FF80h。
⑵、片内DARAM可以安排为程序空间? ( X ) 答:不!片内DARAM都是数据存储空间。
⑶在双操作数寻址时,要2个周期?( X ) 答:不一定!在双操作数寻址时,如果操作数驻留在同一块内,则要2个周期;若操作数驻留在不同块内,则只需1个周期就可以了。
⑷来自HPI的数据,可放在DSP内部的任意数据空间?( X ) 答:不!只能放在2K字的(DARAM)空间。
它在数据存储空间的地址为1000h~17FFh。
⑸因为DSP工作是先取程序后进行运算,故程序存储器取指比数据寻址有较高的优先权。
( X )
答:不!数据寻址比程序存储器取指具有较高的优先权。
⑹结束IDLE3,采用中断方式或复位方式,其脉冲宽度是相同的。
( X ) 答:不!中断脉冲宽度大于10ns,使PLL减法计数时间大于50μs;复位低电平应大于50μs。
⑺MP/MC位决定数据存储器的使用。
( X ) 答:否!决定片内ROM程序存储器的使用。
⑻ARR的值可落入发送缓冲区,AXR的值不能落入接收缓冲区。
( X ) 答:不!AXR的值可落入接收缓冲区,ARR的值不能落入发送缓冲区,否则会引起收发数据冲突。
⑼外部存储器存取时间应小于CLKOUT便可直接与DSP外部总线相接。
( X ) 答:不!外部存储器存取时间应小于60%的机器周期,否则需通过软件或硬件插入等待状态。
⑽C、D总线的功能不完全一样。
( V ) 二、填空:
⑴执行MVKD SAMPLE,*AR3指令时,使MS TRB、DS引脚变为低电平有效。
⑵存储器映象寄存器寻址是 0 页寻址,不影响当前DP或SP值。
⑶将程序存储器地址加载到程序计数器的途径有 7 种。
⑷未经特别处理,DSP重复程序最多只能进行 10 层嵌套。
⑸解决流水线冲突的常用办法是插入空周期。
⑹条件执行指令XC,如果条件满足,最多可执行下面 2 条单字指令。
⑺C54x是共有指令 129 条。
⑻C54x汇编器共有 64 条汇编命令。
⑼汇编语言源程序要素:汇编命令、助记符指令、宏命令
⑽已初始化段是由 .text、.data 和 .sect 命令建立。
(1) 已知IPTR=011H,则NMI NMI的中断转移到从 0184H 单元开始执行。
(2) 已知循环缓冲区的长度为21,则循环缓冲区的起始地址的低端有 5 位为0。
(3) 将所有外部存储器和I/O插入3个等待周期,则:STM #36DB ,SWWSR
(4)已知A=B=F07FFFFF11,T=0010H执行指令NORM A,B后, T=( 0x0010H )。
习题十二
一、判断下列各题是否正确。
⑴有的程序存储器空间可扩大到8192K字空间,数据存储器也一样。
( X )
答:不!因为有23位的程序寻址能力,但没有23 位的数据寻址能力。
⑵C54系列所有芯片内部都有DARAM和SARAM数据存储器。
( X )
答:不!有的没有SARAM数据存储器。
⑶HPI地址寄存器和数据锁存器可由外设直接访问,以便存放数据? ( X )
答:不! 它只能由主机对其直接访问。
寄存器中存放当前寻址HPI存储单元的地址。
数据锁存器中存放的是将要读写的数据。
⑷标准串行口的最高工作频率是CLKOUT的1/4。
(V )
⑸只要SWWSR中的内容不为0,CPU就会在CLKOUT的下降沿检测外部READY信号。
( X ) 答:不! 只有插入2个以上机器周期时,CPU才在CLKOUT的下降沿检测外部READY信号。
执行到最后一个等待状态时,MSC信号将变成电平。
⑹加电后,在PLL锁定之前, C54x立即用CLKOUT作为时钟。
( X ) 答:不!在PLL锁定之前,CLKOUT是不能用作C54x时钟的。
为此,通过对CLKMD寄存器中的PLLCOUNT位编程,就可以很方便地自动延迟定时,直到PLL锁定为止。
⑺FIR设计所用到的循环缓冲区要求定位在DARAM。
( X ) 答:错!利用循环缓冲区实现Z-1的优点是不需要移动数据,不存在一个机器周期中要求能一次读和一次写的数据存储器,因而可以将循环缓冲区定位在数据存储器的任何位置
⑻ABU利用D总线,读/写C54x内部存储器。
( X ) 答:不!ABU利用独立于CPU的专用总线,让串行口直接读/写C54x内部存储器。
⑼执行MPY *AR7,*AR3,A 可简化程序。
( X )
答:不! 双操作数寻址方式中,辅助寄存器只能是AR2-5。
⑽A、B累加器的功能不完全一样。
( V )
二、填空:
⑴执行MVPD 92h,*AR5寻址片外存储器时,R/W引脚电平的变化为先高后低。
⑵已知AR1=000Ch,AR0=000Bh,执行*AR1+0B后,AR1= 0001h 。
⑶当用一个16位的字来表示Q15格式时,Q15表示在小数点后有 15位小数。
⑷C54芯片顺序执行一段有9条单周期指令的程序,其需要 14 个周期。
⑸流水线冲突原因有共用总线、共用存储器、数据未准备好 3类。
⑹延迟分支转移指令最多可节省 2 个周期。
⑺C54x是TMS320系列中的的指令系统分助记符形式和代数式形式两种。
⑻C54x汇编器的汇编命令,根据功能可以将汇编命令分成 8 类。
⑼.lst文件是由汇编器生成,.map由链接器生成。
⑽一个没有重定位入口的文件称为绝对文件,其所有地址都是绝对地址。
三、计算题:
(1)已知IPTR=010H,则NMI的中断转移到从 0104H 单元开始执行。
(2)已知循环缓冲区的长度为20,则循环缓冲区的起始地址的低端有 5 位为0。
(3)将所有外部存储器和I/O插入2个等待周期,则:STM #2492 ,SWWSR。
(4)已知A=B=F07FFFFF11H,T=0010H执行指令NORM A,B后,A=( F07FFFFF11H )。