第二章 DSP入门教程TMS320LF240x教程之内部资源介绍.ppt
《第二章 DSP入门教程TMS320LF240x教程之内部资源介绍.ppt》由会员分享,可在线阅读,更多相关《第二章 DSP入门教程TMS320LF240x教程之内部资源介绍.ppt(51页珍藏版)》请在三一办公上搜索。
1、第2章:TMS320LF240 x DSP内部资源介绍,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍2.2 存储器和I/O空间2.3 系统配置2.4 程序控制,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,中央处理单元(CPU)输入定标器乘法单元中央算术逻辑单元,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,1、输入定标移位器是一个16位到32位的滚动式左向移位器;能将输入的16位数据的015位在本周期内向左移位以得到32位的输出;本操作不需要额外的周期。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,移位
2、器的输入来源数据读总线(DRDB),该输入值来自指令操作数据所引用的数据存储单元;程序读总线(PRDB),该输入是指令操作数给出的常数。,移位量的来源嵌在指令字中的常数。把移位量放在指令字中,该程序代码使用特定的数据比例;临时寄存器TREG的低4位。根据TREG的值移位,数据的定标因子是动态确定的,可适应不同的系统要求。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,输入移位器的输出值最低有效位LSBs段填0;未使用的最高有效位MSBs填0或者根据状态寄存器ST1的SXM位的值来确定是否需要进行符号扩展,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,
3、2、乘法器1616位的硬件乘法器,在单个周期内产生一个32位乘积结果的有符号或无符号数;除了MPYU指令,所有的乘法指令都执行有符号的乘法操作。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法器的输入16位临时寄存器(TREG),在乘法之前把数据读总线的值加载到TREG;数据读总线的数据存储器值和程序读总线的程序存储器值。,乘法器的输出两个输入值相乘后的32位结果保存在乘积寄存器(PREG)中;PREG的输出连接到32位的乘积定标移位器,通过移位器将乘积结果送到CALU或数据存储器。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法定标移位器(
4、PSCALE)输入:该移位器的32位输入连到PREG的输出。输出:完成移位后,全部32位送到CALU,或将结果的16位存到数据存储器。移位模式:该移位器可用4种移位模式,这些模式由状态寄存器ST1的乘积移位方式(PM)位确定。注:PREG的内容保持不变,其值被复制到PSCALE中,进行移位。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法器相关指令及操作用LT指令将数据从数据总线载入TREG提供1操作数,MPY指令提供第2个操作数或从数据总线上得到。使用MPY指令时,可以对一个13位的立即数进行操作,每两个指令周期得到一个乘积。代码执行多路乘法和乘积求和运算时,CPU
5、支持流水线操作。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法器相关指令及操作乘且累加并带动数据移动指令MAC和MACD充分利用了乘法器的计算宽度,允许两个操作数被同时处理。P146无符号乘法运算MPYU指令执行大大方便了用于扩展精度的算术运算。平行并累加前次乘积指令SQRA和平方并减去前次乘积指令SQRS传送相同的数到乘法器的两个输入端,以对一个数据存储器单元的值进行平方运算。p150存储乘积的高字节指令SPH和低字节指令SPL,可将装入PREG的32位乘积结果传送到CALU单元或数据存储器。在执行中断服务程序前必须对PREG的值进行保存。,2.1 TMS320L
6、F240 x DSP的CPU内部功能模块介绍,3、中央算术逻辑部分中央算术逻辑单元(CALU):实现各种算术、逻辑功能;32位累加器(ACC):接收来自CALU的输出,并可以根据进位位(C)的值来实现移位;输出移位器:将ACC的高位字和低位字在送入数据存储器之前进行移位。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,中央算术逻辑单元(CALU)运算功能:16位加、16位减、布尔逻辑操作、位测试、移动和循环。输入:一个由累加器提供,另一个由乘积定标移位器或输入数据定标移位器提供。输出:其结果送至32位累加器,进行移位。相关状态位:符号扩展模式位SXM(ST1第10位)确定
7、CALU是否进行符号扩展。SXM=0,抑制符号扩展;SXM=1,进行符号扩展。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,累加器(ACC)功能:对送到ACC的CALU的运算结果进行单个移位和循环操作。输入:CALU的运算结果。输出:ACC的高16位和低16位中任何一个都可送到输出定标移位器,经定标移位后存入数据存储器。相关状态位,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,输出定标移位器 将累加器输出的内容左移07位,移动位数由存储器指令指定,然后用SACH或SACL指令将移位器中的高位字或低位字保存到数据存储器中,ACC的内容不变。,2.1
8、TMS320LF240 x DSP的CPU内部功能模块介绍,4、辅助寄存器算术逻辑单元(ARAU)在CALU操作的同时执行8个辅助寄存器(AR7AR0)上的算术运算。8个辅助寄存器提供了灵活而有效的间接寻址。通过把数值07写入状态寄存器ST0高3位的辅助寄存器指针(ARP),选择一个辅助寄存器作为当前AR。当前AR存放被访问的数据存储器的地址,根据指令的需要分别向数据读/写地址总线读/写数据,使用完该数据后,当前AR的内容可以被ARAU增减,可实现无符号16位算术运算。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,ARAU可执行的操作将辅助寄存器值增、减1,或者增、减一
9、个变址量(借助任何支持间接寻址的指令)。使辅助寄存器的值加/减一个常数(ADRK/SBRK指令),该常数是指令字的低8位。将AR0的内容与当前AR的内容进行比较,并把结果放入状态寄存器ST1的测试/控制位TC(CMPR指令)。结果经数据写总线DWEB传送到TC。,辅助寄存器的用途数据存储器地址存储器;通过CMPR指令,使辅助寄存器支持条件分支、调用及返回;用作暂存单元;用作软件计数器,按需要对其进行加、减。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,5、状态寄存器两个状态寄存器ST0和ST1,含有各种状态和控制位;可保存在数据存储器,也可从数据存储器加载,可以保存和恢
10、复子程序的机器状态;加载状态寄存器LST指令写ST0和ST1,保存状态寄存器SST指令读ST0和ST1;INTM位不受LST指令的影响;寄存器中每一位均可由SETC和CLRC指令单独置位和清0。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,ARB辅助寄存器指针缓冲器:当ARP被加载到ST0,除了使用LST指令外,原有的ARP值被复制到ARB中;当通过LST#1指令加载ARB时,把相同的值复制到ARP。ARP辅助寄存器指针:ARP选择间接寻址时使用的当前AR;当ARP被加载时,原有的ARP值被复制到ARB寄存器中;ARP可由存储器相关指令改变,也可由LARP、MAR和LS
11、T指令改变;当执行LST#1时,ARP也可加载与ARB相同的值。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,OV溢出标志位:该位锁存的值指出CALU是否发生了溢出;发生溢出,OV=1,直到复位、溢出时条件转移、无溢出时条件转移或LST指令执行时才被清0。OVM溢出方式位:该位决定如何管理CALU的溢出。SETC和CLRC指令分别可将该位置1或清0;LST指令也可修改该位;OVM=0,ACC结果正常溢出;OVM=1,根据发生的溢出,把ACC置为最大正值或负值。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,CNF片内DARAM配置位:CNF=0,可
12、配置双口RAM被映射到数据存储空间;CNF=1,可配置双口RAM被映射到程序;该位可通过SETC、CLRC和LST指令修改;RS复位时该位清0。TC测试/控制标志位:TC=1,由BIT或BITT指令测试位为1;利用NORM指令测试时,ACC的2个最高有效位“异或”为真;CMPR所测试的当前AR和AR0之间的比较条件成立。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,INTM中断模式位:该位用来允许或禁止所有可屏蔽中断。通过SETC和CLRC指令置1或清0;该位不影响不可屏蔽中断RS和NMI;LST指令不影响该位;发生中断及复位时置1;INTM=0,允许全部没有被屏蔽的中
13、断;INTM=1,禁止全部没有被屏蔽的中断。DP数据存储器页指针:当指令使用直接寻址方式时,这个9位的DP寄存器与指令寄存器的低7位一起形成一个完整的数据存储器16位地址。LST和LDP指令可修改该字段。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,SXM符号扩展模式位:SXM=1数据通过定标移位器传送到累加器时产生符号扩展,SXM=0抑制符号扩展;该位不影响某些指令的基本操作,如ADDS指令不管SXM位的状态如何都抑制符号扩展;通过SECT、CLRC和LST指令对该位进行置1、清0和加载;复位时该位置1。C进位位:C=1,加法结果产生进位或减法结果未产生借位;C=0,
14、反之;移位16位的ADD指令只能使C位置1,SUB指令只能使C位清0,不会对C位产生其他影响;移1位、循环指令、SETC、CLRC和LST指令均影响该标志位;条件转移、调用和返回指令可根据C的状态执行;复位时该位置1。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,XF引脚状态位:该位确定通用输出引脚XF的状态;通过SECT、CLRC和LST指令对该位进行置1、清0和加载;复位时该位置1。PM乘积移位模式:该位决定PREG的值是送往CALU或数据存储器时如何移位;SPM和LST指令可以对该位加载;复位时该位清0。PM=00,乘法器32位乘积不经移位送到CALU或数据存储器
15、;PM=01,送到CALU之前,PREG的输出左移1位(低位填0);PM=10,送到CALU之前,PREG的输出左移4位(低位填0);PM=11,PREG输出进行符号扩展右移6位。注:PREG的内容保持不变,其值被拷贝到乘积移位器中进行移位。,2.2 存储器和I/O空间,增强的哈佛结构,三组并行总线程序地址总线(PAB)数据读地址总线(DRAB)数据写地址总线(DWAB)四个可独立选择的空间程序存储器(64K字)局部数据存储器(64K字)全局数据存储器(32K字)I/O空间(64K字)注意:LF240 x DSP的所有片内外设的寄存器均映射在数据存储器空间。,2.2 存储器和I/O空间,1、程
16、序存储器保存程序代码及数据表信息和常量寻址范围为64K,包括片内DARAM和片内FLASH访问片外程序地址空间时,DSP自动产生一个访问外部程序地址空间的信号PS,LF2407的程序存储器空间映射图,2.2 存储器和I/O空间,决定程序存储器的配置两个因素CNF位。CNF位是状态寄存器ST1的第12位,决定DARAM中的B0块配置在数据存储器空间,还是配置在程序存储器空间。CNF=0,256字的B0块被映射到数据存储器空间。CNF=1,256字的B0块被映射到程序存储器空间。复位时,CNF0,B0块被映射到数据存储器空间。MP/MC引脚。该引脚决定是从片内Flash读取指令,还是从外部程序存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 DSP入门教程TMS320LF240x教程之内部资源介绍 第二 DSP 入门教程 TMS320LF240x 教程 内部 资源 介绍
链接地址:https://www.31ppt.com/p-2644826.html