●OVLY=(0),片内RAM仅配置到到数据存储空间。
●DROM=(1),片内ROM配置程序和数据存储空间。
●ST1的CPL=(1)表示选用对战指针SP的直接寻址方式。
●ST1的C16=(1)表示ALU工作在双精度算术运算式。
●软件中断是由(INTR)(TRAD)(RESET)产生的。
●时钟发生器包括一个(内部振荡电路)和一个(锁相环电路)。
●状态寄存器ST1中CPL=0表示(使用DP),CPL=1表示(使用SP)
●累加器寻址的两条指令分别是(READA Smem)(WRITA Smem)
●链接器对段的处理主要通过(MEMORY)和(SECTIONS)两个命令完成。
●所有的TMS320C54x芯片内部都包含(程序)存储器和(数据)存储器。
●所有的COFF目标文件都包含以下三种形式的段:(.text文本段 .data数据段 .bss保留空间段)。
●TMS320C54x有8组16位总线(1组程序总线,3组数据总线,4组地址总线)。
●TMS320C54x DSP具有两个(40)位累加器。累加器A的(AG或32~39)位是保护位。
●对于32位数寻址时,如果寻址的第一个字处在偶地址,那么第二个就处在(下一个高)地址;如果寻址的第一个字处在奇地址,那么第二个就处在( 前一个低)地址。
●LD #0032H,4,A
立即数0032H先左移4位后,再加载累加器A.
●STM #1000H,*AR2
立即数1000H存储到AR2指向的地址单元
●MAC #345,A,B
立即数345与T寄存器内值相乘后与累加器A值相加,结果加载累加器B.
●MVDD *AR3-,100H
AR3指向的地址单元的值传送给地址100H单元, AR3中地址减一。
●LDM *AR1,A
AR1指向的地址单元的值加载到累加器A.
■CPU响应中断有哪些条件?中断处理一般过程是什么?
对于软件中断和非可屏蔽中断,CPU立即响应。如果是可屏蔽中断,只有满足以下条件才能响应:
1 优先权利最高;
2 ST1中的INTM=0即允许可屏蔽中断;
3 IMR中相位为1,允许可屏蔽中断。
中断流程:
1 接受中断请求;
2 响应中断;
3 执行中断服务程序。
■简述链接器命令文件中的MEMORY和SECTIONS。
MEMORY命令用于描述系统实际的硬件资源,用来定义用户设计的系统中所包含的各种形式的存储器,以及他们占据的地址范围。
SECTIONS命令用于描述段如何定位到家当的硬件资源上。将输出段定位到所定义的存储器中。
■简述TMS320C54x芯片的主要特点。
1 CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。
2 存储器具有192k字可寻址存储空间 (包括64 K字程序存储空间、64 K字数据存储空间和64 K字I/O空间)。。
3 高度专业化的指令集能够快速地实现算法冰用于高级语言编程优化。
4 片内外设和专用电路采用模块化的结构设计,可以快速的推出新的系列产品。
5 TMS320C54x执行单周期定点指令时间为25/20/15/12.5/10ns,每秒指令数位40/66/100MIPS。
6 TMS320C54x电源由IDLE1、IDLE2、IDLE3功耗下降指令控制功能,以便DSP工作在节电模式下,使之更适合于手机。
7 在片仿真接口,片上的JTAG接口符合IEEE1149.1边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。
■简述TMS320C54x芯片存储器的分配方法。
TMS320C54x采用改进的哈佛结构。存储空间由三个独立可选的存储空间组成:64k字的程序存储空间、64k的数据存储空间、64k的I/O存储空间。
TMS320C54x的工作方式状态寄存器PMST提供了三个控制位:MP/非MC、OVLY、DROM,用于在存储空间中配置片内存储器。
MP/非MC:微处理器/微型计算机工作方式位。
OVLY:RAM重叠位。
DROM:数据ROM位。
■简述直接寻址及其两种方式:
直接寻址就是在指令中包含有数据存储器地址的低7位,用着7位作为偏移地址,并与基地址值组成一个16位的数据存储器地址。直接寻址分为数据页指针直接寻址、堆栈指针直接寻址两种。
数据页指针直接寻址:当状态寄存器ST1中的CPL位等于0时,ST0中的DP值与指令中的7位地址一起形成16位数据存储器地址;
堆栈指针直接寻址:当ST1中的CPL位等于1时,将指令中的7位地址与16位堆栈指针SP相加,形成16位的数据存储器地址。
■简述位码倒寻址的主要用途及实现方法。
位码倒寻址的主要用于FFT算法中。
实现方法:ARO存放的整数N是FFT点数的一半,一个辅助寄存器只想一个数据存放的物理单元,当使用位码倒寻址把ARO加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是通常的从右向左。
■堆栈寻址的作用是什么?压栈和弹出堆栈是如何实现的?
系统堆栈用来在中断或调用子程序期间自动存放程序计数器,也能用来存放用户当前的程序环境或传递数据值。处理器使用一个16位存储器映像寄存器的一个堆栈指针来寻址堆栈,SP始终指向存放在对战中的最后一个单元。当调用一个子程序或一个中断响应发生时,PC会被自动压栈,堆栈指针SP指向存放最后一个数据的堆栈单元;返回时,返回地址从堆栈中弹出并装入PC。
堆栈存放数据是从高地址向低地址进行的,压入堆栈时,先减小SP,再将数据压入堆栈;弹出对战士,先从堆栈弹出数据,在增加SP值。
■简述TMS320C54x宏命令及其功能。
宏命令是源程序中具有独立功能的一段程序代码,它可以根据用户的需要,由用户创建自己的指令。宏命令一经定义,便可在以后的程序中多次调用,从而可以简化和缩短源程序。
功能:定义自己的宏,重新定义已存在的宏、简化长的或复杂的汇编代码、访问由归档器创建的宏库、处理一个宏中的字符串、控制展开列表。
使用过程:宏定义,宏调用,宏展开。
■简述流水线的6个独立阶段并介绍其功能。
1 程序预取指:将所要取指的地址放在程序地址总线上;
2 取指:从程序总线上取指令字,并装入指令寄存器;
3 指令译码:对IR中的内容译码,产生执行指令所需要的一系列控制信号;
4 寻址:数据地址产生单元在数据地址总线上输出读操作数的地址。;
5 读:从数据总线和控制总线上读操作数;
6 执行指令:从数据总线上写数据。
■简述TMS320C54x芯片的中断系统。
中断系统是计算机发展史上的一个里程碑。也是衡量微处理器性能好坏的一项主要指标。中断系统既支持硬件中断,又支持软件中断。无论是哪种中断都可以分为可屏蔽中断和非可屏蔽中断。中断系统包括:中断结构、中断流程、中断编程。
■简述串行通信,并描述TMS320C54x的三个串口。
串行通信是发送器将并行数据逐位移出成为串行数据流,接收器将串行数据流以一定的时序和一定的格式呈显在连接收/发器的数据线上。
三类串行口:
标准同步串行口(SPI):有两个独立的缓冲器用于传送数据,接收缓冲器和发送缓冲器,每个缓冲器有一条可屏蔽的中断线。串行数据可以按8位字或16位字转换。
缓冲串行口(BSP):在标准同步串行口的基础上增加了一个自动缓冲单元,BSP是一种增强型标准串行口,它是全双工的,并有两个可设置大小的缓冲区。
时分多路串行口(TDM):允许同一个串口以分时方式传送多路数据,TDM为多处理器通信提供了一种简单而有效的方式。
■画出汇编程序的编辑、汇编和链接过程图,并说明各部分的作用?
编辑:程序代码的编写,生成 .asm文件。
汇编:利用TMS320C54x的汇编器对已经编好的一个或者多个源文件分别进行汇编,并生成 .lst(列表)文件和 .obj(目标)文件。
链接:利用TMS320C54x的链接器LNK500,根据链接器命令文件(.cmd)对已经汇编过的一个或是多个目标文件(.obj)进行链接,生成 .map文件和 .out文件。
●设计一存储空间为100个单元的堆栈。将栈底地址指针送SP,对其初始化。
答案:
Size .set 100;设置堆栈空间的
;大小为100
stack .usect “STK”,size ;设置堆栈段的首地址
;和堆栈空间
STM #stack+size,SP
●假设目标存储器的配置如下:(共10分)
程序存储器:EPROM E000h~FFFFH(片外)
数据存储器:SPRAM 0060H~007FH (片内);DARAM 0080H~017FH (片内)
要求编写链接命令文件ex421.cmd。此命令用来链接ex421.obj和vector.obj两个目标文件(输入文件),并生成一个映像文件ex421.map,以及一个可执行的输出文件ex421.out。标号“start”是程序的入口。
答案:
ex421.obj
vectors.obj
-o ex421.out
-m ex421.map
-e start
MEMORY
{
PAGE 0: EPROM : org=0E000H,len=100H
vecs : org=0FF80H,len=04H
vecs1 : org=0FFC8H,len=04H
PAGE 1:
SPRAM : org=0060H,len=20H
DARAM : org=0080H,len=100H
}
SECTIONS
{
.text : >EPROM PAGE 0
.bss