1. 简述链接器命令文件中MEMORY和SECTIONS两条指令的作用。
答:MEMORY伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。
SECTIONS伪指令——用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。
2.TMS320C54x有多少条16位总线?这些总线各有什么作用? 答:’C54x共有4组8条16位总线
1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。 3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。
4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所需要的代码。 3.简述流水线操作的基本原理。
解:流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。
4.在CCS中如何创建工程和文件,并生成.out文件?
Project→new,在新建一个工程的时候,会弹出对话框,选择“选择编译输出文件”有out文件可选
5.写出初始化定时器的步骤?
6.CPU响应中断有哪些条件?中断处理一般过程是什么? 以单片机为例。CPU响应中断条件: 1、有中断源发出的中断请求;
2、中断总允许位EA=1,即CPU开中断;
3、申请中断的中断源的中断允许位为1,即中断没有被屏蔽; 4、无同级或更高级中断正在被服务; 5、当前的指令周期已经结束
中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向处理该情况,处理完之后回到现行程序的间断处的过程。 CPU响应中断请求的条件是EINT“允许中断触发器”的值为“1”。 其处理过程如下:
中断请求:即外部设备的INTR“中断请求触发器”值被设为“1”。 中断判优:即从排队器中挑选合适的中断请求进行处理。
中断响应:EINT=“1”且该设备被排队选中进入中断响应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址。
中断服务:通过输入指令将数据缓冲寄存器的输入值CPU的寄存器,再存入主存的相关单元。
中断返回:回到原运行程序的断点处。
7.TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)的中断向量地址。
答:复位后,复位向量地址为:0080H,确定地址方式:IPTR+左移2位后的中断向量序列号 10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H 8.两个通用I/O口是什么及其功能。
TMS320C54X具有两个通用I/O口,_BIO_________用于输入外设的状态;___XF_____用于输出外设的控制信号。 9.DSP的两层含义?
DSP简单说就是数字信号处理数字信号处理(DSP)一般有两层含义,一层是广义的理解,为数字信号处理技术—— Digital Signal Processing,另一层是狭义的理解,为数字信号处理器——Digital Signal Processor 10.CPU响应中断的条件
1.中断源如何向CPU表达中断请求
一般是设置中断请求触发器,在需要CPU服务时,将中断请求触发器置位,其1端或0端输出的跳变作为中断请求信号。显然中断源可以随时提出中断请求。 2.中断请求何种情况下才可能得到CPU响应
一个中断请求在同时具备下列两个条件时,才有可能得到CPU响应: ①该中断源未被屏蔽;
②该中断请求在当前所有中断请求中级别最高。 3.CPU何时响应中断
CPU在同时满足下列两个条件时,响应中断: ①IF=1(对非屏蔽中断,没有此项要求); ②现行指令执行完。
CPU在每一个指令周期的最后一个总线周期的最后一个时钟周期的开始采样中断请求输入线,若有中断请求,则下一步不进入取指令周期,而进入中断响应周期,如图5.1所示。对于8086系列CPU,中断响应周期为两个。
之所以把一条指令执行完作为响应中断的条件,是因为中断响应周期以及中断服务程序要占用CPU资源。如果在执行一条指令的中间响应中断,则指令的当前状态既不能保存也无法加以恢复。与此相对比,DMA操作是在DMA控制器的作用下进行的,不占用CPU资源,所以在一条指令执行中间、当前总线周期结束即可进入DMA周期。
11 DSP芯片的结构特点
优点:成本低,低功耗,高性能的处理能力.具有强大的外部通信接口(SCI,SPI,CAN)便于构成大的控制系统.特点:(1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行
12 MEMROY和SECTIONS的作用
13 流水线结构操作阶段的6个阶段
答:(1)六个操作阶段。 (2)各个阶段执行的任务: ① 预取指P:将PC中的内容加载到PAB ② 取指F:将读取到的指令字加载到PB ③ 译码D:将PB的内容加载IR,对IR的内容译码 ④ 寻址A:CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。
⑤ 读数R:将读出的数据1和数据2分别加载到数据总线DB和CB中。若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中。 ⑥ 执行X:执行指令,写数据加载EB。
14 C54x DSP的指令系统的构成?
15在链接器命令文件中,PAGE 1和PAGE 0指向的存储空间。
在链接器命令文件中,PAGE1指向数据存储空间,PAGE 0指向程序存储空间
16 COFF目标文件中包含三个缺省的段是什么?
.text 段; .data 段和 .bss 段。
17 C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间是什么? 64K字的程序存储空间 、64K字的数据存储空间和64K字的 I/O空间
18 TMS320C5402的最小系统是什么?
19 MS320C54X的总线结构
TMS320C54x DSP采用先进的哈佛结构并具有八组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。八组16位总线的功能如下: 程序总线(PB)传送从程序存储器来的指令代码和立即数。 三组数据总线(CB,DB,EB)连接各种元器件,CB和DB总线传送从数据存储器读出的操作数,EB总线传送写入到存储器中的数据。 四组地址总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。
20 TMS320C54x有三个状态和控制寄存器的理解和掌握。
TMS320c54x有三个状态和控制寄存器,它们分别为:状态寄存器ST0、状态寄存器ST1和处理器方式状态寄存器PMST。ST0和ST1包括了各种工作条件和工作方式的状态,PMST包括了存储器配置状态和控制信息
TMS320C54x有几种状态和控制寄存器?它们的功能? 状态寄存器ST0 和 状态寄存器ST1: 0和1包括了各种工作条件和工作方式的状态 处理器方式状态寄存器PMST:包括了存储器配置状态和控制信息
21伪指令的含义及链接命令文件中出现的伪指令的掌握
22 CPU内部结构的掌握
CPU状态和控制寄存器:C54x有3个状态控制寄存器:状态寄存器0(ST0)、状态寄存器1(ST1)、处理器工作方式状态寄存器(PMST)。ST0和ST1中包含各种工作条件和工作方式状态;PMST中包含存储器的设置状态及其它控制信息。 40位算术逻辑单元(ALU):输出40位的数据送往累加器A或B,进行溢出处理、进位位和双十六位算术运算。 两个40位累加器A和B:可以配制成乘法器/加法器或ALU目的寄存器。 桶形移位寄存器:为输入的数据定标、对累加器的值进行算术或逻辑移位。 乘法器/加法器单元:在一个流水线状态周期内完成一次乘法累加(MAC)运算。 比较、选择和存储单元(CSSU):专为Viterbi算法设计的进行加法/比较/选择运算的硬件单元。 指数编码器:它可以在单个周期内执行EXP指令,求得累加器中数的指数值,并以2的补码形式存放到T寄存器中。
23 中断源的掌握
TMS320C54X DSP的32个中断源分为14级,其中___C_____级别最高。 A INTR B NMI C RS 24 主机接口简单了解
MS320C54X DSP主机接口HPI是____8____位并行口。 25 各个总线的功能
26 存储器的理解和掌握
TMS320C54x存储器包括哪几个空间?
64k程序存储空间:程序指令和程序中所需的常数表格
64k数据存储空间:存储需要程序处理的数据或程序处理后的结果 64kI/O存储空间:存储与外部存储器映像的外设接口
C54X片内存储器一般包括两种类型:ROM(只读存储器),RAM(随机访问存储器)。RAM又可分为双访问DARAM和单访问SARAM。 大题
1、 修改中断向量表和写中断初始化函数
2、 会计算初值和写定时器初始化的程序和定时中断程序 3、读懂该程序 .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 4、读懂该程序 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个等待状态