《DSP复习资料[002].docx》由会员分享,可在线阅读,更多相关《DSP复习资料[002].docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复习资料第一章1、简答:书P2 一个典型的系统的基本构成应包括抗混叠滤波器、数据采集转换器、数字信号处理器、转换器和低通滤波器等。系统的工作过程: (简述即可)将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。经过采样和转换器,将滤波后的信号转换为数字信号x(n)。数字信号处理器对x(n)进行处理,得数字信号y(n)。经转换器,将y(n)转换成模拟信号;经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。 2、小题 和分别指 软件仿真 和 硬件仿真 P43、 简答:列举 芯片的特点?(后面简要阐述即可)答:哈佛结构,即将数据存储器和程序存储器分开;多总线结构,
2、即设置了数据总线和数据总线,使运算速度提高。(哈弗结构使得总线也分为数据和程序总线)指令系统的流水线操作,流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。(其本质是多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。)专用的硬件乘法器和加法器,使得大部分芯片可在一个指令周期内完成一次加法和乘法操作。高效的指令:可以缩短指令的执行时间。4、 简答:芯片的运算速度可用几种指标来衡量?书P 9答:指令周期,即执行一条指令所需的时间;时间,即完成一次乘法和一次加法的时间;执行时间,即运行一个程序所需的时间;
3、,即每秒执行百万条指令;,即每秒执行百万次浮点操作。5、 小题:设芯片的工作频率为100,一帧的时间为20,则该芯片在一帧内所能提供的最大运算量为 200万 条指令。 书P11第二章 1运算时,当 C16=1 时,可以分为两个16位使用2、累加器的保护位的作用 防止迭代运算中产生的溢出3、的移位位数为-1631,则桶形移位寄存器最多左移31位,右移16位;4、在一些指令中,加上后缀“R”,表示该指令要将累加器的低16位进行舍入 处理5、简答:流水线的原理:将指令分为几个子操作,每个子操作由不同的单元完成。这样, 每隔一个时钟周期,每个单元就可以进入一条新指令。因此,同一个时钟周期内,在不同的单
4、元可以处理多条指令,相当于并行执行了多条指令。 320C54x采用 6 级 流水线。6、片内里面包含引导装载程序()7、简答 和 的联系和区别 区别 前者1个机器周期内只能被访问1次 后者1个机器周期内能被访问2次,可同时进行读操作和写操作。联系 都可当数据存储器和程序存储器使用第三章1、数的定标是指 定点芯片处理小数时,由程序员来确定一“小数点”的位置。2、在数的定标中,如果采用Q表示法,一个Q8定点数的十进制数表示范围为 -215*2 (215-1)*2 (此处写的不清楚,见书上P44)3、的中文名称是 溢出保护模式位; 当1,表示 设置溢出保护模式,用指令表示 0,表示设置溢出不保护模式
5、;用指令表示 ;的中文名称是 符号扩展模式位 ;当1时,设置符号扩展模式,即高24位扩展为符号位。用指令表示 ; 当0时,设置符号不扩展模式,即高24位用0填充;用指令表示 4、芯片的乘法运算,常需要用到舍入处理方法 书上p47方法是在低16位的最高位加1,然后将低16位清除,将高16位作为结果。(将该数加0.5,之后再将小数部分去除,即舍入处理方法,也称上取整。)5 书P62中间的例题 给出一个32位的浮点数,求十进制等值数。自己应该能看懂第五章1、数据类型:常数类型:关键字确保变量或数组的值不会被改变 端口类型:是端口变量声明的关键字类型:使用关键字可确保编译器不会对这些变量进行优化可能出
6、现的题型 P108程序填空例如,如果要在端口10h声明端口变量,并将a输出到该端口,再读取数据保存到b中,函数实现方法如下: 10; /* 访问端口10h的变量*/10 = a; /* 写a到端口10h */b = 10; /* 读取端口10h的值到b */2、可能出现的题型 P110 程序填空题目 :已知 的地址是0x0028,将寄存器地址定义为整形指针类型 用合适的C代码定义并赋值为0X2000。(1) 表示 软件等待状态寄存器(2) ( *)0x0028*0X2000(3)P108 为什么要用类型的数据?答:对程序进行编译时,代码优化器会避免存储区访问而删除一些语句,为了保留这些语句,可
7、以使用关键字可确保编译器不会对这些变量进行优化。3、P112 申明一个函数是中断函数,要使用中断关键字 (怎么考?) 中断程序没有参数传递,即使说明,也将被忽略4 、小题 指令告诉编译器如何处理函数。常用的指令有 (, “ ) 语句含义:可以为指定专门的代码存储空间,而非块 (, ” ”) 语句含义:可以为指定专门的数据存储空间,而非块5、简答 C语言程序代码优化有几种方法?其中并行指令属于那种优化方法?并举一例并行指令 算法优化 编译优化 函数优化 属于编译优化 特点:单字单周期第六章 1、小题 的内部存储器类型可分为随机存取存储器()和只读存储器()。其中又可以分为两种类型:单寻址()和双
8、寻址()。2、小题 片内通过设置 0:表示片内属于程序存储器的一部分。 1:表示片内不属于程序存储器的一部分。3 小题 片内通过设置0,表示片内作为数据存储器使用;1,表示片内既能当程序存储器用,又能当数据存储器用。 4、汇编语言实现计算 的程序(通过此题了解 的使用) “”,10h a,4 x,4 y,1: 1,2,3,4 ;变量初始化 8,6,4,2: #0 ; 插入0个等待状态 10 ; 设置堆栈指针 1 ; 1指向a #7; 移动8个数据 ,*1+; 从程序存储器到数据存储器 ; 调用子程序 : B 补充 伪指令的含义前者将一个字符串赋值给一个替代符 1,;表示用代替1后者使符号等于一
9、个数 4999 表示 = 4999: , 3 ;子程序执行 , 4 A, #3 *3+,*4 y5、编写链接命令文件 按照实验报告上的写 (要求大写) 0: : = 0x1000, = 0 1: : = 0x0300, = 0x0D00(要求大写) : 0 : 1可能考的题型:例题 :用伪指令编写链接命令文件,要求: 程序存储器:4K字,起始地址为C00h,取名为. 数据存储器:32字,起始地址为60h,取名为. 512字,起始地址为80h,取名为. 0: : 00h, 1000h 1: : 60h, 20h : 80h, 200h 6 定义(): 在当前模块中定义,在其他模块中引用参考():
10、 在当前模块中引用,在其他模块中定义全局(): 包含上面两者可能考的题型下面对一些常用的伪指令说法正确的是:( D ) A、所定义的符号,是在当前模块中使用,而在别的模块中定义的符号; B、 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号; C、命令定义的段是未初始化的段;D、命令定义的段是未初始化的段。7、已知一数组名为,长度为30个字,试用两种方法给该数组分配空间。 , 30 “”, 30第七章 1、指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。 (1)加法指令 【例】 *3+,14,A 表示(3)A,3+1-3
11、(2)乘法指令 【例】 13,A; 表示T* A, 所在的单元数据存储器地址为13(0) (3)采用间接寻址的乘加指令 *5+,A ;(5)*TA, 5= 5+12、 在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当1中直接寻址编辑方式位 =0 时,及相结合形成16位数据存储器地址;当1中直接寻址编辑方式位 =1 时,加上基地址形成数据存储器地址。 , 作用 确定当前所在的数据页 A , 寻址方式为直接寻址 特点:指令代码包含了数据存储器地址的低 7 位3 寻址方式(主要考哪几个?)可能考的题型:(1)汇编语言“ *0,0”使用的寻址方式是 间接寻址模式 ,“ #0x3,”使用的寻址
12、方式是 直接寻址模式 ,“ *(#0x011234),T2”使用的寻址方式是 绝对寻址模式 。(2)320C55x有哪些寻址方式,试为每种寻址方式列举一条指令。4、编程 1、例:对数组进行初始化,使x5=0,0,0,0,0,0。 x, 5 : , 1 #0, A #4 A,*1+编程 2、例x5=0,1,2,3,4,5 x, 5还可以用快重复操作指令做: 0 ,1,2,3,4: , 1 #4 1+编程3、控制流水灯亮灭 B #99911: #499922: 2,*2- 1,*1-编程4、连加 x,10 ;给x保留10个空间 y,1 ;给y保留1个空间 “”,10h 10 ; 设置堆栈指针 1
13、; 1指向a 1 ;设置数据段的首地址 #92 ;设置循环计数值 #0 ;累加器清0: *1 ;累加运算,并修改地址 ,*2- ;若计数值不为0,则循环,并计数值减1 若计数值为0,则结束循环 A, ;累加和存入y中第八章1、从汇编程序调用C函数时,第一个参数必须放在累加器A中。其他参数以逆序方式压入堆栈。2、从C程序中访问汇编程序变量 书p200例题8.1 从汇编程序中访问C程序变量 书p201例题8.43、在C程序中直接嵌入汇编语句 (“ 汇编语句 ”);4、问在合适的地方插入一个至几个指令的作用?书上P207 例题 解决流水相冲突第九章1、不可屏蔽中断有 复位中断 、 和 所有软件中断 可屏蔽中断 可以用软件修改?2、大题P238定时器(1)代码初始化 (六条指令)定时控制寄存器()初始化定时器:(1) 将中的位置1,停止定时器。 #10000 ; (2) 加载。 (3) 重新加载以初始化。 ;中断初始化(1)设置中断标志寄存器中的1,清除已有的定时器中断; #0008(2)设置中断屏蔽寄存器中的1,使能定时器中断; #0008,(3)设置0,使能全部中断 ;(2)计算T 公式:定时器的中断周期3、子地址 子数据 写两个指令 (怎么考?) 38h 39h第十一章小题 具有 电平转换 功能,为什么要电平转换? ?芯片内部电压和外设或外部存储器的电压值不匹配第 5 页
限制150内