《DSP课件第2章硬件结构.ppt》由会员分享,可在线阅读,更多相关《DSP课件第2章硬件结构.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 TMS320LF240 x硬件结构硬件结构1、CPUn先进的多总线结构。先进的多总线结构。n32位中央算术逻辑运算单元(位中央算术逻辑运算单元(CALU)。n16位位16位的硬件乘法器(位的硬件乘法器(MUL)。)。n32位累加器(位累加器(ACC)。n输入与输出定标寄存器。输入与输出定标寄存器。n乘积定标移位器。乘积定标移位器。2.1 TMS320LF240 x的特点的特点n64 K字程序存储器、字程序存储器、64 K字数据存储器以及字数据存储器以及64 K字字I/O空间。空间。2、存储器、存储器3、指令系统、指令系统n累加器、算术和逻辑运算指令。累加器、算术和逻辑运算指令。n辅
2、助寄存器和数据页面指针指令。辅助寄存器和数据页面指针指令。nTREG、PREG和乘法指令。和乘法指令。n转移指令。转移指令。n控制指令。控制指令。nI/O和存储器操作指令。和存储器操作指令。4、片内外设、片内外设n看门狗(看门狗(WD)定时器模块。)定时器模块。n数字输入输出(数字输入输出(I/O)模块。)模块。n事件管理器(事件管理器(EV)模块。)模块。n模数转换器(模数转换器(ADC)模块。)模块。n串行通讯接口(串行通讯接口(SCI)模块。)模块。n串行外设接口(串行外设接口(SPI)模块。)模块。nCAN控制器模块。控制器模块。n采用高性能静态采用高性能静态CMOS技术,供电电压为技
3、术,供电电压为3.3V。n可用可用IDLE指令进入低功耗模式。指令进入低功耗模式。5、电源、电源n具有符合具有符合IEEEll49.1标准的在片仿真接口(标准的在片仿真接口(JTAG)。)。6、在片仿真接口、在片仿真接口7、速度、速度n单周期定点指令的执行时间为单周期定点指令的执行时间为50ns、35ns或或25ns(20MIPS,28.5MIPS,或或40MIPS)。2.2 TMS320LF240 x的总线结构的总线结构nPAB 程序地址总线:提供访问程序存储区的地址。程序地址总线:提供访问程序存储区的地址。nDRAB 数据读地址总线:提供从数据存储器读取数据的地址。数据读地址总线:提供从数
4、据存储器读取数据的地址。nDWAB 数据写地址总线:提供写数据存储器的地址。数据写地址总线:提供写数据存储器的地址。nPRDB 程序读总线:它载有从程序存储器读取的指令代码及表格信息程序读总线:它载有从程序存储器读取的指令代码及表格信息等,并送到等,并送到CPU。nDRDB 数据读总线:它将数据从数据存储器载送到中央算术逻辑单元数据读总线:它将数据从数据存储器载送到中央算术逻辑单元(CALU)和辅助寄存器单元()和辅助寄存器单元(ARAU)。)。nDWEB 数据写总线:它将数据送至程序存储器和数据存储器。数据写总线:它将数据送至程序存储器和数据存储器。n采用各自独立的数据地址总线分别用于数据读
5、采用各自独立的数据地址总线分别用于数据读DBAB和数据写和数据写DWAB,因,因此,此,CPU的读写可在一个周期内进行。的读写可在一个周期内进行。n独立的程序空间和数据空间允许独立的程序空间和数据空间允许CPU同时访问指令和数据。同时访问指令和数据。总线结构特点总线结构特点1、内部结构框图、内部结构框图TMS320LF240 x系列芯片是系列芯片是16位定点位定点DSP,采用哈佛结构,其程序,采用哈佛结构,其程序和数据存储器分别独立且有各自的总线结构。芯片内部由和数据存储器分别独立且有各自的总线结构。芯片内部由3部分组成:中部分组成:中央处理单元(央处理单元(CPU)、存储器及片内外设。)、存
6、储器及片内外设。CPU的基本组成包括:的基本组成包括:32位中央算术逻辑运算单元(位中央算术逻辑运算单元(CALU);32位累加器(位累加器(ACC);输入与输出数据比例移位器;输入与输出数据比例移位器;16位位16位的乘法位的乘法器(器(MUL)以及乘积比例移位器。)以及乘积比例移位器。2.3 中央处理单元(中央处理单元(CPU)CPU功能结构图功能结构图2、输入比例部分、输入比例部分n功能:将来自存储器的功能:将来自存储器的16位数据左移位数据左移016位送往中央算术逻辑单元位送往中央算术逻辑单元(CALU)。)。n 移位方法:左移后没有使用的低位移位方法:左移后没有使用的低位LSB填填0
7、,高位,高位MSB填填0或用符号或用符号扩展,取决于状态寄存器扩展,取决于状态寄存器ST1的符号扩展模式位的符号扩展模式位SXM(D10)。)。SXM=0 填填0 SXM=1 符号扩展符号扩展3 3、乘法部分、乘法部分n功能:在一个机器周期内完成有符号或无符号乘法,乘积为功能:在一个机器周期内完成有符号或无符号乘法,乘积为32位。位。n 组成:组成:临时寄存器(临时寄存器(TREG):保存一个乘数。):保存一个乘数。乘法器:将乘法器:将TREG的值与来自数据读总线或程序读总线的一个值相乘。的值与来自数据读总线或程序读总线的一个值相乘。乘积寄存器(乘积寄存器(PREG):保存乘法运算的结果。):
8、保存乘法运算的结果。乘积定标移位器(乘积定标移位器(PSCALE):在将乘积传送到):在将乘积传送到CALU前,乘积定标移前,乘积定标移位器对其进行定标。位器对其进行定标。4 4、中央算术逻辑部分、中央算术逻辑部分中央算术逻辑部分包括:中央算术逻辑部分包括:n中央算术逻辑单元:进行各种算术逻辑运算。中央算术逻辑单元:进行各种算术逻辑运算。n累加器:累加器:存放存放CALU的操作结果,并可对其进行移动或循环。将结果输的操作结果,并可对其进行移动或循环。将结果输出到出到CALU或输出数据比例移位器。或输出数据比例移位器。n输出数据比例移位器:输出数据比例移位器:将累加器的将累加器的32位值进行左移
9、位值进行左移07位,将移位器中位,将移位器中的高位字或低位字保存到数据存储器,而累加器的内容保持为移位前的的高位字或低位字保存到数据存储器,而累加器的内容保持为移位前的值不变。值不变。n中央算术逻辑单元中央算术逻辑单元功能:进行各种算术逻辑运算,包括功能:进行各种算术逻辑运算,包括16位加、减、布尔逻辑操位加、减、布尔逻辑操作、位测试、移动和循环。作、位测试、移动和循环。特点:大部分运算只需一个时钟周期特点:大部分运算只需一个时钟周期n累加器累加器功能:存放功能:存放CALU的操作结果,并可对其进行单比特移动或循环。的操作结果,并可对其进行单比特移动或循环。将结果输出到中央算术逻辑单元(将结果
10、输出到中央算术逻辑单元(CALU)或输出到数据比例移位)或输出到数据比例移位器。器。与累加器有关的状态位有:与累加器有关的状态位有:1、进位标志位(进位标志位(C):位于):位于ST1第第9位位n加到累加器或从累加器减加到累加器或从累加器减当当C=0,减结果产生借位或加结果未产生进位时,减结果产生借位或加结果未产生进位时当当C=1,减结果未产生借位或加结果产生进位时,减结果未产生借位或加结果产生进位时n将累加器数值移将累加器数值移1位或循环移位或循环移1位位在左移或循环左移时,累加器的最高有效位被送到在左移或循环左移时,累加器的最高有效位被送到C;在右移或循;在右移或循环右移时,累加器的最低有
11、效位被送到环右移时,累加器的最低有效位被送到C。2、溢出方式位(、溢出方式位(OVM):位于:位于ST0第第11位位 当累加器处于溢出方式(当累加器处于溢出方式(0VM=1)并且有溢出发生时,若为正溢出,)并且有溢出发生时,若为正溢出,累加器被填充以最大正数累加器被填充以最大正数7FFF FFFFh;若为负溢出,累加器被填充以若为负溢出,累加器被填充以最大负数最大负数8000 0000h。OVM=0时,累加器中的结果正常溢出。时,累加器中的结果正常溢出。3、溢出标志位(、溢出标志位(OV):位于):位于ST0第第12位位当未检测到累加器溢出时,当未检测到累加器溢出时,OV=0,未被锁存;当溢出
12、发生时,未被锁存;当溢出发生时,OV=1且被锁存。且被锁存。5 5、辅助寄存器算术单元(、辅助寄存器算术单元(ARAUARAU)n寻址功能寻址功能 用用指指令令把把07写写入入辅辅助助寄寄存存器器指指针针ARP,即即选选择择了了一一个个辅辅助助寄寄存存器。器。ARP所指的寄存器称当前辅助寄存器。所指的寄存器称当前辅助寄存器。处处理理一一条条指指令令时时,当当前前AR的的内内容容用用做做访访问问数数据据存存储储器器的的地地址址。若若指指令令是是读读数数据据,ARAU把把该该地地址址送送到到DRAB;若若指指令令是是写写数数据据,ARAU把把该该地地址址送送到到DWAB,指指令令执执行行完完后后,
13、当当前前AR的的内内容容可可通通过过ARAU进行无符号运算,即增量或减量。进行无符号运算,即增量或减量。n 运算功能运算功能将辅助寄存器的值加将辅助寄存器的值加1或减或减1。将将AR0的的内内容容与与当当前前AR的的内内容容比比较较,结结果果影影响响TC位位ST1的的测测试试/控制位。控制位。辅助寄存器可用做暂存单元或软件计数器。辅助寄存器可用做暂存单元或软件计数器。6、状态寄存器状态寄存器ST0ST0和和ST1ST1n16位寄存器,含有状态位和控制位。位寄存器,含有状态位和控制位。n 可对可对寄存器寄存器ST0ST0和和ST1ST1读和写操作。读和写操作。用用LST指令可对指令可对ST0、S
14、T1进行写进行写用用SST指令可对指令可对ST0、ST1进行读并保存进行读并保存用用SETC或或CLRC指令可对其中的某些位单独置指令可对其中的某些位单独置1或清或清0状态寄存器状态寄存器ST0nARP:辅助寄存器(:辅助寄存器(AR)指针。)指针。用于选择在间接寻址方式时使用的辅助寄存器用于选择在间接寻址方式时使用的辅助寄存器AR0AR7,用,用MAR、LST指令和间接寻址访问存储器指令可以加载指令和间接寻址访问存储器指令可以加载ARP。当。当ARP被装载时,先前的被装载时,先前的ARP被复制到被复制到ARB缓存器。缓存器。nOV:溢出标志位:溢出标志位用于表示用于表示CALU是否有溢出发生
15、。当是否有溢出发生。当CALU溢出,溢出,OV置置1,并保,并保持置位状态直到被复位、条件转移指令或持置位状态直到被复位、条件转移指令或LST指令清指令清0。ARPOVOVM1INTMDPD8D0D9D10D11D12D15D13nOVM:溢出模式位:溢出模式位决定决定ACC算术运算溢出的情况。当累加器处于溢出方式算术运算溢出的情况。当累加器处于溢出方式(0VM=1)并且有溢出发生时,若为正溢出,累加器被填充以最大正数)并且有溢出发生时,若为正溢出,累加器被填充以最大正数7FFF FFFFh;若为负溢出,累加器被填充以最大负数若为负溢出,累加器被填充以最大负数8000 0000h。0VM=0时
16、,累加器中的结果正常溢出。用时,累加器中的结果正常溢出。用SETC OVM或或CLRC OVM可可将该位置将该位置1或清或清0。LST指令可修改指令可修改OVM。nINTM:中断模式位:中断模式位用来允许(用来允许(INTM=0)或禁止()或禁止(INTM=1)所有的可屏蔽中断。用)所有的可屏蔽中断。用SETC OVM或或CLRC OVM可将该位置可将该位置1或清或清0。LST指令不影响指令不影响OVM位。位。nDP:数据页面指针:数据页面指针当使用直接寻址方式时,当使用直接寻址方式时,DP存放存储器的数据页,存放存储器的数据页,DP与指令代与指令代码的最低码的最低7位构成位构成16位存储器地
17、址。位存储器地址。数据存储器地址来自DP来自指令字的低7位D15D7D6D0状态寄存器状态寄存器 ST1nARB:辅助寄存器指针缓冲器:辅助寄存器指针缓冲器当当ARP被加载到被加载到ST0时,除了使用时,除了使用LST指令外,原来的指令外,原来的ARP值被值被复制到复制到ARB中。当用中。当用LST#1加载加载ARB时,也将相同的时,也将相同的ARB值复制到值复制到ARP。n CNF:片内:片内DARAM配置位配置位该位决定该位决定DARAM映射到数据空间(映射到数据空间(CNF=0)还是程序空间)还是程序空间(CNF=1)。)。SETC CNF或或CLRC CNF可将该位置可将该位置1或清或
18、清0,复位时,复位时CNF=0ARB CNFTC1XFPMSXMC111D0D1D2D3D5D4D6D7D811D9D10D11D12D15D13nTC:测试:测试/控制状态位控制状态位TC在以下情况下置在以下情况下置1:由:由BIT或或BITT测试的位是测试的位是1时;被时;被CMPR测试的当前测试的当前AR和和AR0之间的比较条件成立时;用之间的比较条件成立时;用NOMR指令测试时,指令测试时,累加器最高两位异或结果为累加器最高两位异或结果为1时。时。LST指令可改变指令可改变TC值。值。nSXM:符号扩展模式位:符号扩展模式位SXM=0,不扩展;,不扩展;SXM=1,移位时进行符号扩展。
19、,移位时进行符号扩展。SETC SXM或或CLRC SXM 可将该位置可将该位置1或清或清0,通过,通过LST指令可对其加载,指令可对其加载,复位时复位时SXM=1。n C:进位位:进位位C=0,减有借位或加无进位;,减有借位或加无进位;C=1,减无借位或加有进位。累加,减无借位或加有进位。累加器的值循环移动:左移时,最高位进入器的值循环移动:左移时,最高位进入C;右移时,最低位进入;右移时,最低位进入C。SETC C或或CLRC C 可将该位置可将该位置1或清或清0,通过,通过LST指令可影响指令可影响C,复,复位时位时C=1。nXF:XF引脚状态位引脚状态位SETC XF或或CLRC XF
20、 可将该位置可将该位置1或清或清0,通过,通过LST指令可对修指令可对修改改XF,复位时,复位时XF=1。n PM:乘积移位模式:乘积移位模式PM决定决定PREG的值在送往的值在送往CALU或数据存储器时如何进行移位。或数据存储器时如何进行移位。PM=00:乘法器的:乘法器的32位乘积不经移位送至位乘积不经移位送至CALU或数据存储器;或数据存储器;PM=01:乘位寄存器左移:乘位寄存器左移1位,最低有效位填位,最低有效位填0;PM=10:乘位寄存器左移:乘位寄存器左移4位,最低有效位填位,最低有效位填0;PM=11:乘位寄存器右移:乘位寄存器右移6位,且进行符号扩展。位,且进行符号扩展。1、
21、存储器概述、存储器概述 TMS320LF240 x器件有器件有4种可独立选择的空间:种可独立选择的空间:n 64K字的程序存储器空间:存放要执行的指令及程序执行时使用的数字的程序存储器空间:存放要执行的指令及程序执行时使用的数据。据。n64K字的局部数据存储器空间:存放指令使用的数据。字的局部数据存储器空间:存放指令使用的数据。n32K字的全局数据存储器空间:用于存放与其他处理器共用的数据。字的全局数据存储器空间:用于存放与其他处理器共用的数据。n64K字的字的I/O空间:用于与外部的设备接口和片内外设寄存器。空间:用于与外部的设备接口和片内外设寄存器。2.4 TMS320LF240 x的存储
22、器分配的存储器分配上述上述224K字包括一定数量的片内存储器、外部存储器和字包括一定数量的片内存储器、外部存储器和I/O设备。设备。TMS320LF240 x以改进的哈佛结构为基础,存储空间为以改进的哈佛结构为基础,存储空间为3组组16位位的并行总线访问:程序地址总线(的并行总线访问:程序地址总线(PAB)、数据读地址总线)、数据读地址总线(DRAB)、数据写地址总线()、数据写地址总线(DWAB)。)。n片内双访问存储器(片内双访问存储器(DARAM)544字的字的DARAM可以在一个机器周期访问两次。由片内可以在一个机器周期访问两次。由片内B0(256字)、字)、B1(256字)和字)和B
23、2(32字)三个模块组成。主要用于保存数据,但在需要时字)三个模块组成。主要用于保存数据,但在需要时B0也可用于保存程序(也可用于保存程序(CNF=1)。)。在流水线操作中,在流水线操作中,CPU在第在第3个周期读数据,第四个周期写数据。然个周期读数据,第四个周期写数据。然而而DARAM允许允许CPU在一个周期里读和写。例如,设有两个指令在一个周期里读和写。例如,设有两个指令A和和B,将累,将累加器的值写入加器的值写入DARAM,又从,又从DARAM将一个新值装入累加器。指令将一个新值装入累加器。指令A在在CPU周期的主时段内存累加器的值,周期的主时段内存累加器的值,B在从时段内将新值装入累加
24、器。在从时段内将新值装入累加器。2、片内存储器的类型、片内存储器的类型n片内单访问存储器(片内单访问存储器(SARAM)SARAM的地址可以用于数据存储器和程序存储器。可通过软件配置为的地址可以用于数据存储器和程序存储器。可通过软件配置为外部存储器或内部外部存储器或内部SARAM。SARAM在一个机器周期内只能访问一次。当在一个机器周期内只能访问一次。当CPU要求多次访问时,要求多次访问时,SARAM会向会向CPU提供一个未准备好的信号,然后在每个周期内执行一次访提供一个未准备好的信号,然后在每个周期内执行一次访问。问。n闪速存储器(闪速存储器(Flash)是电可擦除的、可编程的、可长期保存数
25、据的存储器。是电可擦除的、可编程的、可长期保存数据的存储器。3、程序存储器、程序存储器程序存储空间用于保存程序代码、表格和立即操作数等。地址空间程序存储空间用于保存程序代码、表格和立即操作数等。地址空间为为64K字,包括片内字,包括片内DARAM和片内和片内ROM/Flash。当。当DSP产生一个超出配产生一个超出配置为片内程序存储范围的地址时,器件会自动产生访问外部程序存储器置为片内程序存储范围的地址时,器件会自动产生访问外部程序存储器的相应信号,进行外部存储器的访问操作。的相应信号,进行外部存储器的访问操作。影响程序存储器配置的两个因素影响程序存储器配置的两个因素n CNF位。状态寄存器位
26、。状态寄存器ST1的第的第12位,决定片内双访问寄存器位,决定片内双访问寄存器 DARAM在片内还是片外。在片内还是片外。CNF=0:B0为片外程序空间。为片外程序空间。CNF=1:B0为片内程序空间。为片内程序空间。在复位状态下,在复位状态下,B0映射到数据空间。映射到数据空间。n 引脚。决定指令从片内存储器还是从外部存储器读入。引脚。决定指令从片内存储器还是从外部存储器读入。=0,配置为微控制器方式,从片内程序存储器读取复位向量,配置为微控制器方式,从片内程序存储器读取复位向量(起始程序)。(起始程序)。=1,配置为微处理器方式,从外部程序存储器读取复位向量,配置为微处理器方式,从外部程序
27、存储器读取复位向量(起始程序)(起始程序)。4、数据存储器、数据存储器n数据存储器配置数据存储器配置数据存储空间的可寻址范围为数据存储空间的可寻址范围为64K字,字,32K字是内部数据存储器,字是内部数据存储器,包括存储映射寄存器、包括存储映射寄存器、DARAM和外设映射寄存器,另外的和外设映射寄存器,另外的32K字是外部字是外部数据存储器。数据存储器。每个器件有每个器件有3个个DARAM块:块:B0、B1和和B2。B0既可配置为程序存既可配置为程序存储器也可配置为数据存储器,由储器也可配置为数据存储器,由CNF标志位决定。标志位决定。B1、B2只能用于数只能用于数据存储器。据存储器。n 数据
28、存储器页面数据存储器页面 数据存储器有两种寻址方式:直接寻址和间接寻址。使用直接寻址时,数据存储器有两种寻址方式:直接寻址和间接寻址。使用直接寻址时,将数据存储器按将数据存储器按128字分块,每一块称为一个数据页,字分块,每一块称为一个数据页,64K字的数据存储器字的数据存储器可分为可分为512页,标号从页,标号从0到到511。当前页由状态寄存器。当前页由状态寄存器ST0的低的低9位位D8D0数数据页面指针据页面指针DP的值确定;每页的的值确定;每页的128个单元由个单元由7位偏移量决定,该偏移量来位偏移量决定,该偏移量来自直接寻址指令。因此,采用直接寻址方式时,用户必须先由软件设置自直接寻址
29、指令。因此,采用直接寻址方式时,用户必须先由软件设置DP值,指定待访问的数据页,并在直接寻址指令中指定值,指定待访问的数据页,并在直接寻址指令中指定7位偏移量。位偏移量。n第第0页数据地址映射页数据地址映射第第0页包含了页包含了3个个DSP寄存器:中断屏蔽寄存器(寄存器:中断屏蔽寄存器(IMR,地址,地址0004H)、中断标志寄存器()、中断标志寄存器(IFR,地址,地址0006H)。)。DSP可以以零等待状可以以零等待状态访问这两个寄存器。态访问这两个寄存器。n配置数据存储器配置数据存储器CNF决定数据存储器的配置,决定片内决定数据存储器的配置,决定片内DARAM的的B0块映射到程序块映射到程序空间还是数据空间。空间还是数据空间。5、I/O存储器存储器nI/O存储器空间为存储器空间为64K字(字(0000hFFFFh)。只有片内等待状态发生。只有片内等待状态发生控制寄存器和片内控制寄存器和片内Flash控制方式寄存器映射到控制方式寄存器映射到I/O空间。空间。n访问访问I/O空间的存储器或片外空间的存储器或片外I/O端口只能用输入指令端口只能用输入指令IN和输出指令和输出指令OUT。n访问外部访问外部I/O接口时,接口时,信号低电平有效,同时提供相应的读写信号。信号低电平有效,同时提供相应的读写信号。
限制150内