附答案DSP知识点.docx
- 文档编号:7394124
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:15
- 大小:48.23KB
附答案DSP知识点.docx
《附答案DSP知识点.docx》由会员分享,可在线阅读,更多相关《附答案DSP知识点.docx(15页珍藏版)》请在冰豆网上搜索。
附答案DSP知识点
知识点
1.1Blackfin系列DSP的特点P5-6
微信号结构、动态电源管理、高度并行的计算单元、高性能的数据地址产生器、极佳的代码密度、视频指令、分层结构的内存、集成的更多的外围设备、部分芯片配有专门的视频接口、调试/JTAG接口、性能发展进程、
1.2DSP芯片特点P3-4
普遍采用哈佛结构及改进的哈佛结构、流水线技术、针对滤波相关矩阵运算配有独立的乘法器和加法器、有多条总线、具有硬件接口逻辑和软件等待功能、带有多个DMA通道控制器、配有中断处理器定时控制器及实时时钟、低功耗、多机并行运行特性、丰富的外设接口。
1.3改进哈弗结构的特点P3
将程序和数据存储在不同的存储空间中,程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制独立访问。
对应的是系统中设置了程序总线和数据总线,使数据的吞吐率提高了一倍。
1.4工作频率、工作功耗、工作电压之间的基本关系?
P6P163
动态电源管理允许电压和频率独立调整,使每一个单项任务所消耗的能量最少,使ADI的DSP性能提高4倍以上,功耗降低1/3.。
使用外部电源管理控制器能够操纵DSP内核的内部电压,从而更进一步减少功耗。
2.1Blackfin处理器内核由哪几部分组成,每部分主要功能是什么?
图2-1p13
2-2-2-4-12个16位乘法器、2个40位ALU、2个MAC、4个视频ALU、1个移位器
2.2内核数据算术单元的基本处理过程(对数据寄存器的使用过程):
数据首先经过总线从内存读入数据寄存器,然后作为计算单元(ALU、MAC)的输入,计算结果存入数据寄存器,作后写入内存。
ALU支持的特殊除法原语
2.3R0.L=R0.L*R2.L(FU)R0.H=R2.H*R3.H(IU)解释并指出计算过程中用MAC0或MAC1寄存器P17
FU,使用无符号小数作为输入。
将MAC结果的高16位取出,并存放在R0.L中,使用MAC0.
IU,使用无符号整数操作数。
将MAC结果的低16位取出,并存放在R0.H中,使用MAC1.
2.4Blackfin的地址空间分为哪三大部分?
总计空间大小。
内部存储器的组成及其应用特点
内部存储器、外部存储器、映射的I/O资源。
4G
(1)每个核心都有L1指令存储器,以核心速度进行存取
(2)每个核心都有L1数据存储器,由4快16KB的SRAM组成。
(3)4KB的中间结果暂存器,和核心运行在同一速度上,但只能作为数据SRAM访问。
(4)片上的L2存储器,提供128KB的SRAM,运行频率是核心频率的1/2,比L1存储器的延时略长
(5)每个处理器有单独的内核存储器映射寄存器(CoreMMR)集,但是共享系统存储器映射寄存器集和L2存储器。
2.5指令存储器或数据存储器分哪两部分P19
L1指令SRAML1指令Cache
L1数据SRAML1数据Cache
2.6ADSP-BF561的外部存储空间有4个异步存储空间4块SDRAMP19
2.7L1存储器是否共享L2存储器是否共享否
2.8内核MMR和系统MMR的内容p21
内核MMR:
包含所有控制内核功能的控制寄存器;系统MMR,包含用来设置内核之外的外设的控制寄存器
2.9L1指令存储器可组成的几种模式p22
*一个简单的SRAM
*一个4路指令Cache
*一个4路指令Cache,每个通道均可独立锁定
2.10Cache的几个基本操作的定义(命中与未命中、行填充、行替换)。
p23\24
当处理器内核获取地址的请求与高速缓存的有效地址匹配时,称个Cache命中。
由下面的操作决定:
将高18位和获取指令的地址的位11和10与Cache中有效行的TAG进行比较,相匹配则命中,反之未命中。
当从L2存储器中获取新行时,每一个64位数据写入L1存储器中的4KB存储块前会被读到一个4入口的行进行填充缓存。
当L1指令存储器配置为Cache时,在取指令阶段,地址的第5到第9位就被当做Cache索引,拿去进行Cache是否命中的判定,未命中,需要从现有的Cache中选择一处来被替换掉。
2.11L1数据块cache设置为cache的操作要求p29
CPLB描述符必须是使能的且被设置为:
可擦除的SRAM、任何数据或指令块、PCI空间、外设或是在系统MMR空间以外的内存
2.12核心总线组成和用途?
p33-34
(1)64位宽的核心L2总线支持由内核A或内核B发起的L2存储器数据或指令访问及L1存储器和L2存储器间进行的IMDMA数据传输。
(2)32位宽的系统L2总线支持L2存书签与外设或者外部存储器间的DMA数据传输
2.13系统总线组成p34
(1)16位宽的外部设备访问总线(PAB)
(2)32位宽的外部访问总线(EAB1和EAB2)
(3)32位宽的DMA核心总线(DCB1,DCB2,DCB3,DCB4)
(4)32位宽和16位宽的DMA访问总线(DAB1和DAB2)
(5)32位宽的DMA外部总线(DEB1和DEB2)
2.14核心时钟和系统时钟是如何获得的,如何设置相应的寄存器(PLL_CTL)?
()可参见第2章和第4章4.2.3)p35P159
核心时钟是由锁相环(PLL)的输出进行分频后得到,系统时钟的分频倍数由PLL分频器中的SSEL参数得到。
PLL_CTL是控制PLL运行的寄存器,各个分频器通过此寄存器中的分频(DF)位和倍频因子选择域进行设置。
SSEL控制核心频率对系统频率的比值。
2.15针对P34页的图2-18,掌握系统总线,说明与DMA相关的总线有那几条?
(DCB1,DCB2,DEB1,DEB2)作用是什么?
p41三条DCB总线分别的作用和工作频率?
(1支持处理器核心L1存储器或L2存储器与外设组1间的数据传输及L2存储器和L1存储器间的数据传输,工作在系统频率;2支持处理器核心L1或L2与外设组2间的数据传输;3.4支持树立起核心L1处理器和L2存储器间的IMDMA数据传输,运行在核心频率上)P37外部存储器的总线接口是什么?
EPB
2.16核心L2和系统L2的的总线仲裁优先级特点P38
核心L2总线仲裁基于固定优先级机制,系统L2总线仲裁基于可编程的优先级机制,二者试图访问同样的块时需要使用块仲裁机制。
2.17流水线结构的基本概念是什么?
p4
即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,同时,其他阶段又分别有其他的指令在顺序的执行。
什么情况下流水线的效率会降低?
(发生异常、中断、跳转和循环时)p46
2.18零开销循环语法(LSETUP和loop),循环程序。
P45,P47P193
不需要附件的分支指令、状态、检测指令和计数器减一指令,有效的减少了额外的核心时钟开销。
LOOPloop_nameloop_counter;
LOOP_BEGINloop_name;
LOOP_ENDloop_name;
2.19非连续程序结构分类;P44
*循环:
一系列指令反复执行多次,额外开销0
*子程序:
处理器内核暂时中断当前的陈旭刘,去执行存储器其他位置上的指令
*跳转:
程序流水永久的转到存储器的其他位置。
*中断和异常事件:
由一个实时的事件或指令触发的子程序的执行。
*空闲:
一条可以使处理器内核停止工作且保持当前状态的指令
条件分支使用核心周期数;P47
如果预测“不会发生分支”,且分支没有发生,则延迟0个核心时钟周期
如果预测“不会发生分支”,而分支发生,则延迟6个核心时钟周期
如果预测“会发生分支”,且分支发生,则延迟3个核心时钟周期
如果预测“会发生分支”,而分支没有发生,则延迟6个核心时钟周期
s2.20BALCKfinDSP有哪些返回指令?
作用?
表2-11中RET前缀的寄存器含义p44,
子程序返回指令
RTS,RTI,RTX,RTN,RTE
语法
RTS;由子程序返回,将RETS中的值放入PC
RTI;由中断返回,将RETI中的值放入PC
RTX;由特殊情况返回,将RETX中的值放入PC
RTN;由NMI返回,将RETN中的值放入PC
RTE;由竞争返回,将RETE中的值放入PC
除了整数外,操作数还可以是offsetof()和sizeof()内嵌宏返回的整数值
2.21中断分系统中断和内核事件,通常将IVG14、15作为软件中断,内核事件主要有哪些组成。
(仿真、复位、非屏蔽中断、异常、保留、硬件错误、内核定时器)仿真复位等内核中断不受系统级寄存器组的影响,但反之不成立。
P48
2.22建立和使能中断需要完成哪些任务,分别设置哪几个寄存器,如何设置――SIC_IARx、SIC_IMASK、SIC_IWR、IMASK?
P49-50
2.23CEC的3个MMR有哪几个?
(都是16位的,,IPED是只读的)P54
IMASK-内核中断屏蔽寄存器ILAT-内核中断锁存寄存器IPEND-内核中断挂起寄存器
2.24中断全局禁止和开启指令P55
CLIDreg全局禁止STIDreg全局使能
2.25事件向量列表的概念和作用.P56
事件向量表(EVT)是一个硬件表,有16个表项,每个表项32位宽。
EVT包含每一个可能事件的入口。
每一个入口都可以作为MMR来访问,并且在复位时都可以用中断服务程序的矢量地址编程。
当一个事件发生时,从该事件的EVT入口所指的地址处开始读取指令。
2.26产生硬件错误中断的几种类型P60
总线奇偶错误。
内核中的内部错误,如性能监视器溢出。
DAB比较中断(试图写一个被激活的DMA寄存器)。
外设错误。
总线超时错误
2.27与非嵌套中断相比,嵌套中断需要进行什么特殊处理?
P61
必须保存原始中断服务程序指向中断点的返回地址,并且在执行完嵌套中断服务程序后恢复。
2.29在非DMA传输模式和DMA传输模式下,数据的搬运过程分别分为哪几步?
P64
非DMA:
处理器内核先从源地址取出第一个数据到处理器内核内部,再由处理器内核内部将刚取出的数据放入目的地址,然后开始取第2个数据,周而复始知道完成数据搬运过程。
DMA:
现将数据传输请求提交,处理器内核将数据传输的任务分配给DMA控制器去做,然后处理器内核可以继续处理其他任务而不必关心数据传输进行到什么程度,将数据传输完成后,会给处理器内核一个信号来表示已经结束数据传输。
2.30二维DMA书上的两个例子及其变形:
如何设置X_COUNT/X_MODIFY/Y_COUNT/Y_MODIFYD的值。
P72
X_COUNT设置为16/X_MODIFY设置为1/Y_COUNT设置为8/Y_MODIFYD设置为N-16+1
2.32内核数据算术单元的基本处理过程(对数据寄存器的使用过程):
数据首先经过总线从内存读入数据寄存器,然后作为计算单元(ALU、MAC)的输入,计算结果存入数据寄存器,作后写入内存。
2.33指令集中选项的含义(X,Z,FU,IU,R,RND20,RND12,M,S,RND,W32)
3.1EBIU的总线p78
1.32位宽的外部存取总线(EAB),这条总线有内核控制用于读写外部存储器。
2.16位宽DMA外部总线(DEB0),此总线由DMA1控制,响应DMAC0(16位)所有通道的外部存储器读写请求。
3.32位宽的DMA外部总线(DEB1),此总线由DMA2控制,响应DMAC1(32位)所有通道的外部存储器读写请求。
4.32位宽的DMA外部总线(DMB2),此总线由USB模块的DMA控制器控制。
5.16位宽的PAB,此总线由内核控制,用于读写EBIU寄存器(SMMR)。
3.2异步接口存储器接口支持的存储器类型,存储模块可配置的三种模式p79
~异步读/写模式
~异步页读模式(针对NORFlash).
~同步突发读模式(针对NORFlash)
3.3SDRAM可以配置成x4,x8,x16
3.4GPIO的工作模式P85,IO模式支持模式输入,输出和开漏极(P83-85)
(1)输入
GPIO引脚被配置为输入模式后,可通过外部电路的连接来配置此引脚
处理器芯片可以通过对相应寄存器的读取获得相应引脚的数据。
在默认状态下GPIO输入驱动是禁止的,可以通过置位相应端口的PORTx_INEN中的相应位打开输入驱动。
当使能之后,对PORTx寄存器的读操作将返回这个输入引脚的逻辑状态
(2)输出
所有的GPIO引脚都可以被配置为输出模式,处理器可以通过对寄存器的操作来控制需要输出的值。
GPIO输出驱动可以通过设置方向寄存器的相应位来使能。
方向寄存器PORTx_DIR_SET和PORTx_DIR_CLEAR
PORTx控制输出引脚的状态,为0时将输出拉低,为1时将输出抬高。
PORTx_SET和PORTx_CLEAR,可以被用来处理单独的GPIO输出改变。
输出状态可以通过读PORTx的值得到。
由于GPIO的输出能在输出驱动使能前就被使用者控制,所以强烈建议先置位或清除触发器来避免输出的不稳定态。
(3)开漏极
所有GPIO引脚可以设置在开漏极模式,在开漏极模式中,输出驱动由外部提供,且可以并联实现“与”逻辑。
设置开漏极模式的方法:
先清零PORTx或者PORTx_CLEAR中相应位,然后置位PORTx_INEN相应位。
读PORTx返回引脚的状态。
通过PORTx_DIR_SET和PORTx_DIR_CLEAR切换输出驱动的状态,输出引脚可以输出低电平或三态状态。
3.5键盘接口的基本工作原理。
p86
3.6EPPI支持的位宽eg.EPPI0支持24,EPPI1支持16,EPPI2支持8p95
3.7ITU-656的同步标识p96
水平同步位、垂直同步位、场同步位
3.8EPPI的两种水位线,
正常水位线、紧急水位线
EPPI的DMA的配置步骤.(P98)
-将DMA寄存器配置为想要的DMA流模式
-使能DMA通道来开始运行DMA
-配置相关的EPPI寄存器
-向PPLx_CONTROL中的第0位写1来使能EPPI
3.9EMAC的配置流程p106
·配置EMAC的MII引脚复用及时钟信息
·配置终端
·配置EMAC寄存器
·配置PHY
·通过DMA引擎接受和发送数据
3.10NANAD和NORFalsh的区别P119
由于NORFlash比NANDFlash在IC版图上要增加约1倍的到地孔数量,故版图面积会大很多,存储效率也比NANDFlash低。
3.11MMC,SD卡接口由SDH支持p121
3.13通用定时器的设置方式。
定时器的模式。
·脉宽调制模式(PWM_OUT)
·脉宽计数及捕获模式(WDTH_CAP)
·外部事件计数器模式(EXT_CLK)
看门狗定时器p124-126
步骤:
·设置看门狗定时器的计数值,用户将计数值写入“看门狗”计数寄存器(WDOG_CNT)中
·从WDOG_CNT复制该计数值看门狗状态寄存器(WDOG_STAT)中
·在看门狗控制寄存器(WDOG_CTL)中,选择要发生的事件
·在WDOG_CTL中使能看门狗定时器
·看门狗定时器开始递减WDOG_STAT中的值来计数。
当WDOG_STAT达到0时,事先选择的事件就会发生。
要阻止事件的发生,软件必须重新从WDOG_CNT中加载计数值到WDOG_STAT中,或者在定时器计数满之前禁止看门狗定时器
3.14各种串行口的基本对比(SPI、SPORT、UART、TWI),eg引脚数量及最少引脚数量的区别。
UART的四中工作模式。
3.15Blackfin系列DSP的4种运行方式(P163)。
全速、激活、休眠、深度休眠
3.16常用的一些英文缩写:
UART通用异步收发传输器、SPI串行外设接口、PPI并行外设总线、SDRAM同步动态随机存储器、DDR双倍速率同步动态随机存储器、ALU算术逻辑单元、DMA直接内存存取、SDH同步数字体系等。
3.17USB传输类型p146
批量、中断、时限、控制传输
*3.18CAN支持的位和位两种数据格式,2。
0协议
3.19ATAPI的三种模式p114
--PIO模式0,1,2,3,;
--多字DMA模式0,1,2;
--高速DMA模式0,1,2,3,4,5
3.20SPI通常需要4根线或引脚,(片选、时钟、数据发送、数据接收),
(只是发送数据或者只是接收数据)可精简为3根,SPI接口实质上是一个数据移位寄存器,
SPI接口时钟引脚信号(SCK)是一个门控时钟信号,该引脚由主机驱动,控制着数据传输速率,仅在传输数据长度内有效,掌握其他3个引脚的作用。
p127
SPI从机选择(SPISS)引脚:
是SPI从机选择引脚,SPISS信号低电平有效,对被设为从机的Blackfin系列DSP,该信号如同片选信号一样,
主机输出从机输入(MOSI)引脚:
MOSI引脚是主机输出从机输入引脚,是双向I/O之一
主机输入从机输出(MISO)引脚:
MOSI引脚是主机输入从机输出引脚,是双向I/O之一
4.1BF533在启动时用户需要把哪几个引脚进行拉高或拉低来选择所需的引导模式,ADSP-BF535的有哪几种引导模式?
p156
·从16位外部存储器执行(绕过引导ROM)
·从8位Flash引导
·从SPI0串行ROM引导(地址宽度为8位)
·从SPI0串行ROM引导(地址宽度为16位)
4.2BlackFinDSP的DPMC有哪几种运行方式?
如何切换?
哪种方式最省电?
(P165图4-6)
激活、休眠、全速、深度修眠
4.3BlackFinDSP有3种工作模式和两种非处理器状态.内核模式和非处理器状态间的切换,P170,图4-8
4.4复位状态进入用户模式的步骤和代码p171,
P1.L=START;//指向用户程序的起始地址
P1.L=START;
RET1=P1;
RT1;//从复位事件中返回
START:
//放置用户程序
从监控模式进入空闲的过程和代码p173
CL1R0;//禁止中断
IDLE;//指令流水线执行NOP指令,确定SSYNC的输入为IDLE
SSYNC;//当系统收到SSYNC_ACK时,内核处于IDLE状态
STIR0;//在唤醒后,重新使能中断
4.5DSP芯片未使用引脚建议接法p176
原则上,未使用的引脚应该直接或通过上拉、下拉电阻与VDDEXT脚和GND脚相连。
所有未使用的引脚应该使用大于10k欧姆的电阻来上拉或下拉。
所有的I/O引脚在硬件复位时为输入状态
4.6DSP支持嵌套、非嵌套、自嵌套P179
4.7BF535USB支持设备模式,不支持主机模式P180
4.8电路高频设计时的注意事项,例如串行口点对点链接添加终端串联电阻,去耦电容使用等p184
·串行口点对点链接
·信号完整性
·去耦电容和接地层
·示波器探针
4.9BLACKFIN系列DSP有哪几种复位方式,仅复位外设的是哪一种?
P174
硬件复位(复位内核和外设(包括DPMC),复位SYSCR的非引导软件复位位)
系统软件复位(仅复位外设(无RTCHEDPMC的大部分))
看门狗定时器复位(复位内核和外设(不包括RTCHEDPMC的大部分),复位PLL_IOCK)
内核二次错误(复位内核和外设(不包括RTCHE和大部分DPMC)复位PLL_IOCK)
仅内核软件复位(值复位内核)
5.1寻址方式有哪些?
p186
立即寻址、直接寻址、间接寻址、
5.2汇编语言指令关键字,汇编寄存器名、标号、用户标识符是否大小写敏感;X和Z表示含义,Blackfin的汇编指令的一些指令(如--SP)要求一组相邻的寄存器,相邻的寄存器在语法上用圆括号括起来并用冒号分开,如(R7:
3),必须较大的数先出现。
R3:
2的书写顺序(R2:
1是否对);
5.3Blackfin的汇编指令一条指令可以扩展跨越很多行,或多条指令在同一行。
5.4饱和、舍入和截取操作的概念。
p191
饱和当算术操作的结果超过目标寄存器的范围时,重要的信息可能会丢掉。
饱和用于使数值在寄存器能够表示的范围以内,当数值超出目标寄存器所能表示的范围时,写入目标寄存器的值就是和原来同符号的目标寄存器所能具有的最大值
舍入和截取舍入通过移掉低位范围而减少数值精度。
5.5计算机指令由“操作码”和“地址码”构成。
5.6主要的线性汇编语法:
(1)jump0x224;
(2)call0x123456
(3)r7=[i3++m0]
(4)r3=b[p0](x);
(5)加载指令,例如:
R0=W[I1++](x)
(6)[--SP]=R1
(7)LINK、
(8)CSYNC、IFLUSH、FLUSH
(9)BYTEUNPACK
(10)r3.1=ashiftr0.hbyr7.1;r0>>>=r2;p3=(p3+p2)<<2;r4=rotr1by-5;r4=r5>>3(v)
(11)bittgl;bittst;CLI;STI
(12)并行指令的写法和组合方式,例如r7.h=r7.l=sign(r2.h)*r3.h+sign(r2.l)*r3.l||i0+=m3||r0=[i0];
(13)与或逻辑,例如:
r4=r4&r3;r3=~r4;r4=r4^r3;
(14)r1.l=r6+r7(rnd20);r1.l=r6+r7(rnd12);
(15)r0+=40;
(16)r5=max(r2,r3);
(17)r1.l=r6(rnd);
(18)a0=a0(s);
(19)cc=bittst(r7,15);
(20)r3.l=onesr7;
(21)cc=r4<=3;
(22)flush[p0++];
(23)iflush[p0++];
(24)r6=r0-|+r1(s);
(25)r2.h=r7.l*r6.h,r2.l=r7.h*r6.h;
(26)r3.h=(a1=r2.h*r1.h)(m),a0=r2.l*r1.l;
(27)向量运算:
例如:
r7=max(r1,r0)(v);r4=r5>>>3(v);
(28)r7.h=r7.l=sign(r2.h)*r3.h+sign(r2.l)*r3.l;
(29)(r7:
5,p5:
0)=[sp++];ALIGN24;BYTEPACK
6.1程序开发步骤(P243),开发环境名称VisualDSP++
(a)创建工程
VisualDSP++中的所有程序开发工作都要在工程中进行。
工程文件保存了程序编译的相关信息:
源文件清单和开发工具设置选项等。
(b)设置工程选项
在添加文件到工程之前,应先定义目标处理器类型和设置工程选项(或采用默认设置)。
(c)加入并编辑工程源文件
在一个工程中通常会包含一个或多个用C、C++或汇编语言编写的源文件。
(d)设置工程编译选项
(e)编译生成一个调试版的工程文件,在编译工程中,输出窗口会给出每种程序开发工具的状态信息。
(f)创建调试平台(S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 DSP 知识点