tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍

上传人:aa****6 文档编号:50960036 上传时间:2018-08-11 格式:PPT 页数:105 大小:2.75MB
返回 下载 相关 举报
tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍_第1页
第1页 / 共105页
tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍_第2页
第2页 / 共105页
tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍_第3页
第3页 / 共105页
tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍_第4页
第4页 / 共105页
tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍》由会员分享,可在线阅读,更多相关《tms320lf240x系列dsp课件-第2章tms320lf240x dsp内部资源介绍(105页珍藏版)》请在金锄头文库上搜索。

1、第2章:TMS320LF240x DSP内部资源介绍 2.1 TMS320LF240x DSP的CPU内部功能 模块介绍 2.2 存储器和I/O空间 2.3 系统配置和中断 2.4 程序控制2.1 TMS320LF240x DSP的CPU 内部功能模块介绍 中央处理单元(CPU) 输入定标移位器 乘法单元 中央算术逻辑单元2.1.1 输入定标移位器 是一个16位到32位的滚动式左向移位器; 能将输入的16位数据的0 15位在本周期内向左移位以 得到32位的输出; 本操作不需要额外的周期。 移位器的输入来源 数据读总线(DRDB),该输入值来自指令操作数据所引用的数据存储单元; 程序读总线(PR

2、DB),该输入是指令操作数给出的常数。 输入移位器的输出值 最低有效位LSBs段填0; 未使用的最高有效位MSBs填0或者根据状态寄存器 ST1的SXM位的值来确定是否需要进行符号扩展2.1.2 乘法器 1616位的硬件乘法器,在单个周期内产 生一个32位乘积结果的有符号或无符号数 ; 除了MPYU指令,所有的乘法指令都执行 有符号的乘法操作。 乘法器的输入 16位临时寄存器 (TREG),在乘法之前把数据读总线的值 加载到TREG; 数据读总线的数据存 储器值和程序读总线 的程序存储器值。 乘法器的输出 两个输入值相乘后的32位结果保存在乘积寄存 器(PREG)中; PREG的输出连接到32

3、位的乘积定标移位器 (PSCALE),通过 PSCALE将乘积结果送 到CALU或数据存储器。 乘法定标移位器(PSCALE)输入:该移位器的32位输入练到PREG的输出。输出:完成移位后,全部32位送到CALU,或将结果的16位存到数据存储器。移位模式:该移位器可用4种移位模式,这些模式由状态寄存器ST1的乘积移位方式(PM)位确定。注:PREG的内容保持不变,其值被复制到PSCALE中,进行移位。PM移位说明00不移位乘积结果没有移位地送到CALU单元或数据总线01左移1位移去在一次2的补码乘法运算中产生的1位附加符号位,以得到一 个Q31的乘积 10左移4位当与一个13位的常数相乘时,移

4、去在1613位的2的补码乘法运算 中产生的4位附加符号位,以生成一个Q31的乘积 11右移6位对乘积结果进行定标,以使得运行128次的乘积累加器不会溢出 乘法器相关指令及操作 用LT指令将数据从数据总线载入TREG提供1操作数, MPY指令提供第2个操作数或从数据总线上得到。 使用MPY指令时,可以对一个13位的立即数进行操作,每两个指令周期得到一个乘积。 代码执行多路乘法和乘积求和运算时,CPU支持流水线操作。指令操作LT把通过CALU得到的前次乘积结果装载到TREGLTP把PREG的值装载入ACCLTA把PREG的值加载到ACCDMOV,LT D把PREG的值加到ACC,移位TREG输入数

5、据到数据存储器的下一地 址 LTS从ACC中减去PREG的值 乘且累加并带动数据移动指令MAC和MACD充分利用了乘法器的计算宽度,允许两个操作数被同时处理。 无符号乘法运算MPYU指令执行大大方便了用于扩展精度的算术运算。 存储乘积的高字节指令SPH和低字节指令SPL,可将装 入PREG的32位乘积结果传送到CALU单元或数据存储器。 在执行中断服务程序前必须对PREG的值进行保存。2.1.3 中央算术逻辑部分 中央算术逻辑单元 (CALU):实现各种算术、逻辑功能; 32位累加器(ACC):接收 来自CALU的输出,并可 以根据进位位(C)的值来实现移位; 输出移位器:将ACC的高位字和低

6、位字在送入 数据存储器之前进行移 位。 中央算术逻辑单元(CALU) 运算功能:16位加、16位减、布尔逻辑操作、位测试、移动和循环。 输入:一个由累加器提供,另一个由乘积定标移位 器或输入数据定标移位器提供。 输出:其结果送至32位累加器,进行移位。 相关状态位:符号扩展模式位SXM(ST1第10位)确 定CALU是否进行符号扩展。SXM=0,抑制符号扩 展;SXM=1,进行符号扩展。 累加器(ACC) 功能:对送到ACC的CALU的运算结果进行单个移位和循环操作。 输入:CALU的运算结果。 输出:ACC的高16位和低16位中任何一个都可送到输出定标移位器,经定标移位后存入数据存储器。 相

7、关状态位状态位状态寄存 器说明进位位CST1第9位C=0:减结果产生借位/加结果未产生进位;C=1:加结果产生进位/减结 果未产生借位;左移或左循环,ACC最高位送至C,否则最低位送至C 。溢出方式位OVMST0第11位决定ACC如何反映算术运算的溢出。OVM=1:正溢出,ACC填充最大 正数,否则填充最大负数;OVM=0:正常溢出。溢出标志位OVST0第12位ACC未发生溢出时,OV=0;否则OV=1且被锁存。测试/控制标志位TCST1第11位根据被测试位的值,该位被置0或1。 输出定标移位器 将累加器输出的内容左移07位,移动位数由存 储器指令指定,然后用SACH或SACL指令将移位器中

8、的高位字或低位字保存到数据存储器中,ACC的内容不变。2.1.4 辅助寄存器算术逻辑单元(ARAU) 在CALU操作的同时执行8个辅助寄存器(AR7AR0)上的算术运算。 8个辅助寄存器提供了灵活而有效的间接寻址。 通过把数值07写入状态寄存器ST0第3位的辅助寄存 器指针(ARP),选择一个辅助寄存器作为当前AR。 当前AR存放被访问的数据存储器的地址,根据指令 的需要分别向数据读/写地址总线读/写数据,使用完 该数据后,当前AR的内容可以被ARAU增减,可实 现无符号16位算术运算。 ARAU可执行的操作 将辅助寄存器值增、减1,或 者增、减一个变址量(借助任 何支持间接寻址的指令)。 使

9、辅助寄存器的值加/减一个 常数(ADRK/SBRK指令),该 常数是指令字的低8位。 将AR0的内容与当前AR的内 容进行比较,并把结果放入 状态寄存器ST1的测试/控制 位TC(CMPR指令)。结果经 数据写总线DWEB传送到TC 。 辅助寄存器的用途 数据存储器地址存储 器; 通过CMPR指令,使 辅助寄存器支持条件 分支、调用及返回; 用作暂存单元; 用作软件计数器,按 需要对其进行加、减 。2.1.5 状态寄存器 两个状态寄存器ST0和ST1,含有各种状态和控制位; 可保存在数据存储器,也可从数据存储器加载,可以保存和恢复子程序的机器状态; 加载状态寄存器LST指令写ST0和ST1,保

10、存状态寄存器SST指令读ST0和ST1; INTM位不受LST指令的影响; 寄存器中每一位均可由SETC和CLRC指令单独置位和清0。 ARB辅助寄存器指针缓冲器:当ARP被加载到ST0,除了使用LST指令外,原有的ARP值被复制到ARB中;当通过LST #1指令加载ARB时,把相同的值复制到ARP。 ARP辅助寄存器指针:ARP选择间接寻址时使用的当前AR;当ARP被加载时,原有的ARP值被复制到ARB寄存器中;在讲解寻址时,ARP可由存储器相关指令改变,也可由LARP、MAR和LST指令改变;当执行LST #1时,ARP也可加载与ARB相同的值。 OV溢出标志位:该位锁存的值指出CALU是

11、否发生了溢出;发生溢出,OV=1,直到复位、溢出时条件转移、无溢出时条件转移或LST指令执行时才被清0。 OVM溢出方式位:该位决定如何管理CALU的溢出。SETC和CLRC指令分别可将该位置1或清0;LST指令也可修改该位;OVM=0,ACC结果正常溢出;OVM=1,根据发生的溢出,把ACC置为最大正值或负值。 CNF片内DARAM配置位:CNF=0,可配置双口RAM被映射 到数据存储空间;CNF=1,可配置双口RAM被映射到程序; 该位可通过SETC、CLRC和LST指令修改;RS复位时该位清 0。 TC测试/控制标志位:TC=1,由BIT或BITT指令测试位为1; 利用NORM指令测试时

12、,ACC的2个最高有效位“异或”为真; CMRP所测试的当前AR和AR0之间的比较条件成立。 INTM中断模式位:该位用来允许或禁止所有可屏蔽中断。通过SETC和CLRC指令置1或清0;该位不影响不可屏蔽中断RS和NMI;LST指令不影响该位;发生中断及复位时置1;INTM=0,允许全部没有被屏蔽的中断;INTM=1,禁止全部没有被屏蔽的中断。 DP数据存储器页指针:当指令使用直接寻址方式时,这个9位的DP寄存器与指令寄存器的低7位一起形成一个完整的数据存储器16位地址。LST和LDP指令可修改该字段。 SXM符号扩展模式位:SXM=1数据通过定标移位器传送到累 加器时产生符号扩展,SXM=0

13、抑制符号扩展;该位不影响某 些指令的基本操作,如ADDS指令不管SXM位的状态如何都抑 制符号扩展;通过SECT、CLRC和LST指令对该位进行置1、 清0和加载;复位时该位置1。 C进位位:C=1,加法结果产生进位或减法结果未产生借位; C=0,反之;移位16位的ADD指令只能使C位置1,SUB指令 只能使C位清0,不会对C位产生其他影响;移1位、循环指令 、SETC、CLRC和LST指令均影响该标志位;条件转移、调 用和返回指令可根据C的状态执行;复位时该位置1。 XF引脚状态位:该位确定通用输出引脚XF的状态;通过 SECT、CLRC和LST指令对该位进行置1、清0和加载;复 位时该位置

14、1。 PM乘积移位模式:该位决定PREG的值是送往CALU或数据 存储器时如何移位;SPM和LST指令可以对该位加载;复位 时该位清0。PM=00,乘法器32位乘积不经移位送到CALU或数据存储 器;PM=01,送到CALU之前,PREG的输出左移1位(低位 填0);PM=10,送到CALU之前,PREG的输出左移4位(低 位填0);PM=11,PREG输出进行符号扩展右移6位。 注:PREG的内容保持不变,其值被拷贝到乘积移位器中进行 移位。2.2 存储器和I/O空间 增强的哈佛结构,三组并行总线 程序地址总线(PAB) 数据读地址总线(DRAB) 数据写地址总线(DWAB) 三个可独立选择

15、的空间 程序存储器(64K字) 数据存储器(64K字) I/O空间(64K字)注意:LF240x DSP的所有片内外设的寄存器均映射在数据存储器空间。2.2.1 程序存储器 保存程序代码及数据表信息和常量 寻址范围为64K,包括片内DARAM和片内FLASH 访问片外程序地址空间时,DSP自动产生一个访问外部 程序地址空间的信号PSLF2407的程序存储器空间映射图 决定程序存储器的配置两个因素 CNF位。CNF位是状态寄存器ST1的第12位,决定DARAM中 的B0块配置在数据存储器空间,还是配置在程序存储器 空间。 CNF=0,256字的B0块被映射到数据存储器空间。 CNF=1,256字

16、的B0块被映射到程序存储器空间。复位时,CNF0,B0块被映射到数据存储器空间。 MP/MC#引脚。该引脚决定是从片内Flash读取指令,还 是从外部程序存储器读取指令。 MP/MC#=0:微控制器方式。此时访问的是片内程序存 储器(片内Flash)0000h-7FFFh空间。 MP/MC#=1:微处理器方式。此时访问的是片外程序存 储器的0000h-7FFFh空间。 注:无论MP/MC#引脚为何值,LF240xDSP都是从程序 存储器空间的0000h单元开始执行程序。2.2.2 数据存储器 寻址范围64K字:前32K字(0000h-7FFFh)是内部数据 存储器空间,包括了DARAM和片内外设的映射寄存器; 后32K

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号