DSP原理及应用-TMS320DM6437 课件 第二章:TMS320DM6437的硬件结构_第1页
DSP原理及应用-TMS320DM6437 课件 第二章:TMS320DM6437的硬件结构_第2页
DSP原理及应用-TMS320DM6437 课件 第二章:TMS320DM6437的硬件结构_第3页
DSP原理及应用-TMS320DM6437 课件 第二章:TMS320DM6437的硬件结构_第4页
DSP原理及应用-TMS320DM6437 课件 第二章:TMS320DM6437的硬件结构_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP原理及应用

第二章:TMS320DM6437的硬件结构第二章TMS320DM6437的硬件结构

2.1TMS320DM6437的基本结构2.2TMS320DM6437CPU结构2.3片内存储器及数据访问2.4实验和程序实例TMS320DM6437采用TMS320C64x+DSP内核,32位定点处理器,工作频率可达700MHz,处理速度最高可达5600MIPS。TMS320DM6437具有64个32位通用寄存器和8个独立计算功能单元,这些功能单元包括2个用于存储32位结果的乘法器和6个算术逻辑单元(ALU)。TMS320DM6437的内核采用TI开发的第三代高性能支持超长指令字(VLIW)的VelociTI.2结构。图2-1TMS320DM6437DSP硬件结构框图TMS320DM6437采用2级Cache存储结构,片上有32KBRAM/Cache可配置的1级程序存储器L1P,48KBRAM+32KBRAM/Cache可配置的1级数据存储器L1D和128KBRAM/Cache可配置的2级程序/数据存储器L2,存储器体系结构比较灵活。此外,TMS320DM6437还集成了片上ROMBootloader、兼容的JTAG接口、灵活的OSC/PLL时钟发生器、独立的节电模式等。

TMS320DM6437硬件结构的另一特点是包含了一个视频处理子系统(VPSS),它分为2部分:一部分是视频处理前端输入部分(VPFE),由CCD控制器、预览器、柱状显示模块、自动曝光/白平衡/聚焦模块和缩放模块组成,用于视频采集;另一部分是视频处理后端输出部分(VPBE),由屏幕显示设备和视频编解码组成,这增强了TMS320DM6437的视频处理能力。

TMS320DM6437集成了丰富的片内外设,包括以下4部分。(1)系统外设:包括2个64位通用定时器、1个64位看门狗定时器、3个脉冲宽度调制(PWM)和111个通用输入/输出引脚(GPIO),每个通用定时器可分别配置成2个独立的32位定时器。(2)多种接口:包括多通道音频串口(McASP)、2个多路缓冲串口(McBSP)、1个I2C总线接口、高端控制器局域网(CAN)控制器(HECC)及2个通用异步收发器(UART)接口。(3)连接器:包括1个外围设备互连接口(PCI)(33MHz)、4个收发VLYNQ(FPGA)接口、10/100Mbps以太网媒体存取控制器(EMAC)及1个可编程的16位主机接口(HPI)。(4)外部存储器接口:包括1个用于32位DDR2SDRAM高速存储控制器接口,具有256MB寻址空间,1个8位异步外部存储器接口(EMIFA),具有64MB寻址空间,如与NORFlash或NANDFlash存储器相连,用于低速率的存储器或外部设备接口。CPU的组成

TMS320DM6437的CPU主要包括以下几个部分●程序取指单元;●指令分配单元;●指令译码单元;●2个数据通路A和B●64个32位寄存器;●控制寄存器组;●控制逻辑、测试、仿真及中断逻辑。

图2-2TMS320DM6437的CPU结构2.2.1.CPU通用寄存器组每个通用寄存器组包含32个32位寄存器,如下表所示,这些寄存器可用于数据、数据地址指针或状态寄存器。

表2-1控制寄存器组个字段功能通用寄存器组支持数据范围大小从封装的(packed)8位到64位定点,其值大于32位的,如40位和64位,被存储到寄存器对中,即低32位数据存放到偶数序列寄存器中、剩余的高8位或高32位存放到紧挨的下一个奇数序列寄存器中。寄存器名间的冒号表示寄存器对,奇数序列的寄存器首先被指定。

下图显示了40位长数据的寄存器存储方法,一个长整型数输入的操作将忽略奇寄存器中的高24位,即奇寄存器中的高24位自动补0,偶寄存器以操作码方式进行编码。图2-340位数据在寄存器对中的存储方法2.2.2TMS320DM6437CPU控制寄存器组1、用户可以通过控制寄存器组来选用CPU的部分功能。下表列出了C62xx/C64xx/C67共有的控制寄存器组,并对每个控制寄存器做了简单描述。

表2-2控制寄存器组个字段功能缩写寄存器名称描述AMR寻址模式寄存器分别指定8个寄存器的寻址模式(线性寻址或循环寻址),也包括循环寻址的大小CSR空置状态寄存器包含全局中断使能定位,高速缓存控制位及其他控制和状态位IFR中断标志寄存器显示中断状态ISR中断设置寄存器允许手动设置挂起的中断ICR中断清除寄存器允许手动清除挂起的中断IER中断使能寄存器允许使能/禁止单个中断ISTP中断服务表指针指向中断服务表的起点IRP中断返回指针含有从可屏蔽中断返回的地址NRP非可屏蔽中断返回指针含有从非可屏蔽中断返回的地址PCE1程序计数器,E1街拍含有E1街拍中获取包的地址2.2TMS320DM6437CPU结构

2、CPU状态控制寄存器

状态控制寄存器(CSR)包含控制位和状态位,如图2-4所示。表2-3详细说明了各状态位的功能。图2-4状态控制寄存器(CSR)

表2-3控制状态寄存器(CSR)域描述在TMS320C64x+CPU中,PCC和DCC域被忽略。CSR的位15-10为PWRD域,用于节电和唤醒模式,如图2-5所示。图2-5状态控制寄存器中的PWRD域2.2.3TMS320DM6437的CPU数据通路TMS320DM6437CPU包含2条数据通路(A和B),如图2-6所示,其组成包括:2个通用寄存器组(A和B)、8个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1和.D2)、2个存储器加载数据通路(L1D和L2D)、2个存储器保存数据通路(ST1和ST2)、2个数据地址通路(DA1和DA2)和2个寄存器数据交叉通路(1X和2X)。图2-6CPU的数据通路TMS320DM6437CPU数据通路的功能单元功能单元定点操作.L单元(.L1、.L2)32/40位算术和比较运算32位逻辑运算32位数最左边1或0计数32位和40位数的归一化计算字节移位数据压缩/解压5位常数生成双16位算术运算4个8位算术运算双16位最小/最大运算4个8位最小/最大.S单元(.S1、.S2)32位算术运算32/40位移位运算和32位位操作32位逻辑运算分支操作常数生成寄存器与控制寄存器间传送(仅限.S2)字节移位数据压缩/解压双16位比较运算4个8位比较运算双16位移位运算双16位饱和算术运算4个8位饱和算术运算.M单元(.M1、.M2)32×32位乘法运算16×16位乘法运算16×32位乘法运算4个8×8位乘法运算双16×16位乘法运算双16×16位乘、加/减运算4个8×8位乘、加运算位扩展运算位交错/去交错运算变量移位运算反转有限域(GaloisField)乘法运算.D单元(.D1、.D2)32位加、减、线性和循环地址计算5位15位常数偏移的加载和保存(仅限.D2)带5位常数双字的加载和保存非定向字和双字的加载和保存5位常数生成32位逻辑运算2.3.1、片内存储器结构

TMS320DM6437片内存储器是一个两级缓存结构,如图2-7所示。图2-7存储空间两级缓存结构第一级L1包含了程序缓存区L1P(32KB)和数据缓存区L1D(80KB)两个独立的高速缓存模块,这体现了程序与数据分开存储的哈佛结构,提高了DSP的并行运行效率,L1能与DSP内核直接进行数据交换。第二级程序/数据缓冲区L2(128KB)不能与DSP内核直接交换数据,L2可以整体作为SRAM映射到存储空间,或者整体作为第二级Cache,或者配置成SRAM和Cache混合使用,其中配置成RAM的部分从起始地址Ox00000000开始编址,并且可被直接寻址,而配置成Cache的部分其容量必须是0KB、32KB、64KB或128KB。

TMS320DM6437在进行数据访问时:(1)查看L1中是否有该数据存在,若L1中存在该数据,则直接从L1读写数据;(2)若L1没有存储该数据,则访问二级缓存L2;(3)若L2也没有缓存数据,则通过EMIF接口访问外部SDRAM,把数据从外部SDRAM拷贝到L2缓存区,再从L2缓存区拷贝到L1,最后由TMS320DM6437从L1读写该数据。2.3.2、存储器空间分配要充分利用片内+片外三级存储器结构,必须提高DSP内核读取数据时的命中率,对Cache大小进行配置的原则是将尽量多的关键数据分配在片内,Cache越大越好,对于不同的应用需要用不同的配置。最优配置需要在开发中根据经验和实际测试结果进行选择。起始地址结束地址大小/KB存储器映射0x008000000x0080FFFF128L2RAM/Cache0x00E000000x00E0FFFF32L1PRAM/Cache0x00F040000x00F0FFFF48L1DRAM0x00F100000x00F1FFFF32L1DRAM/Cache0x108100000x1081FFFF128L2RAM/Cache0x10E000000x10E0FFFF32L1PRAM/Cache0x10F040000x10F0FFFF48L1DRAM0x10F100000x10F1FFFF32L1DRAM/Cache2.3.3一级片内程序存储器片内程序存储器L1P(Level1programmemoryandcache)的主要功能是最大化代码执行的性能,L1P的可配置性提高了系统灵活性,其配置成cache的容量支持0K、4K、8K、16K和32K。

L1P存储器最大可支持1MB的RAM和ROM,存储空间可分割成2个区域,每个区域不大于512KB。L1P存储器的基址被约束在1MB范围内,其总的大小必须是16KB的倍数。L1P存储器被分割成2个区域,表示为L1P区域0和L1P区域1,它们的主要特点是:(1)每个区域有不同数量的等待状态(2)每个区域有单独的存储保护条目。CPU中含有一个内部控制寄存器——控制状态寄存器(CSR),它为cache控制操作规定了一个字段(PCC),从而为C64x+/C64x/C62x/C67x设备提供反相兼容。L1P配置寄存器(L1PCFG)控制L1Pcache的大小,如图2-7和表2-5所示。图2-7L1P配置寄存器(L1PCFG)

表2-5L1P配置寄存器(L1PCFG)字段描述

L1Pcache控制寄存器(L1PCC)控制L1P是否为冻结模式,如图2-8和表2-6所示。图2-8LIPcache控制寄存器(L1PCC)表2-6LIPcache控制寄存器(L1PCC)字段描述L1P无效基址寄存器(L1PIBAR)定义了一致性操作作用的无效块的基址,如图2-9和表2-7所示。图2-9L1P无效基址寄存器(L1PIBAR)表2-7L1P无效基址寄存器(L1PIBAR)字段描述L1P无效字计数寄存器(L1PIWC)定义了一致性操作作用的无效块的大小,如图2-10和表2-8所示。图2-10L1P无效字计数寄存器(L1PIWC)表2-8L1P无效字计数寄存器(L1PIWC)字段描述L1P无效寄存器(L1PINV)控制L1Pcache的全局无效,如图2-11和表2-9所示。表2-9L1P无效寄存器(L1PINV)字段描述图2-11L1P无效寄存器(L1PINV)L1Pcache是直接映射缓存,这意味着系统的每一个物理内存单元在cache中都保留一个可能的位置,当CPU试图取一段程序代码时,L1P必须检查是否在L1Pcache中保留了需要的地址。为此,CPU提供的32位地址被分割成3个字段(tag、set和offset),如图2-12所示。图2-12数据存取地址结构偏置(Offset)字段占用了32位L1Pline的前5位,其被cache控制逻辑忽略。设置(Set)字段指明L1Pcacheline的地址,其缓存数据将被保留,设置字段的宽度取决于L1P配置成cache的数量。L1P使用设置字段来查找和检查任意已缓存数据的标签(Tag)和有效位,这反映了标签地址是否真正是cache中的有效地址。标签字段占据存储地址的上部,它确定了数据单元的真实物理位置。L1P结构允许在运行时选择L1Pcache大小,通过写请求模式到L1PCFG寄存器的L1PMODE字段来选择L1Pcache大小,如表2-10所示。表2-10通过L1PCFG寄存器中的L1PMODE位指定Cache大小当设计的程序需要一定量的cache时,应该设置为模式值的上界。为了确保正确的cache,需要进行无效设置,然而由于部分L1PRAM变成cache,为了安全的改变L1Pcache模式,在应用中还需要遵守表2-11中的规则。表2-11L1P模式转换规则2.3.4、一级片内数据存储器片内数据存储器L1D(Level1DataMemoryandCache)主要功能是最大化数据处理性能,L1D的可配置性为系统使用L1D提供了灵活性。片内数据存储器L1D具有以下特点:(1)可配置成cache的大小包括0K、4K、8K、16K和32K(2)支持存储保护(3)提供块缓存和全局一致操作

L1D存储器最大可支持1MB的存储映射RAM和ROM,L1D存储器的基址被约束在1MB范围内,其总的大小必须是16KB的倍数。L1D存储器被分割成2个区域,表示为L1D区域0和L1D区域1,其有以下特点:(1)每个区域有单独的内存保护条目;(2)部分L1D区域1可被转换为数据cache。L1D存储器结构允许将部分或全部的L1D区域1转换成读分配、写返回和双向集关联的cache。为了便于以全CPU时钟频率读写数据,同时具有大的系统内存,cache是非常必要的,其主要是用于缓解从较慢的系统存储单元进行读/写操作带来的延迟。

表2-12L1Dcache控制操作

L1Dcache操作受控于如表2-12所示的控制寄存器,这些寄存器允许改变cache的模式和手动初始cache一致操作,L1Dcache也会受到写入L2指定控制的影响。CPU有一个内部控制寄存器,其给出一个字段用于cache控制操作,即CSR。CSR控制寄存器中的DCC字段以多种方式控制L1D操作。L1Dcache配置寄存器(L1DCFG)控制L1Dcache的大小,如图2-13和表2-13所示。图2-13L1D配置寄存器(L1DCFG)表2-13L1D配置寄存器(L1DCFG)字段描述L1Dcache控制寄存器(L1DCC)控制L1D是否为冻结模式,如图2-14和表2-14所示。图2-14LIDcache控制寄存器(L1DCC)表2-14LIDcache控制寄存器(L1DCC)字段描述L1D无效寄存器(L1DINV)控制L1Dcache的全局无效,如图2-15和表2-15所示。图2-15L1D无效寄存器(L1DINV)表2-15L1D无效寄存器(L1DINV)字段描述

L1D写回寄存器(L1DWB)如图2-16和表2-16所述。图2-16L1D写回寄存器(L1DWB)表2-16L1D写回寄存器(L1DWB)字段描述L1D无效写回寄存器(L1DWBINV)控制L1Dcache的无效写回操作,如图2-17和表2-17所示。图2-17L1D无效写回寄存器(L1DWBINV)表2-17L1D无效写回寄存器(L1DWBINV)字段描述L1D无效基址寄存器(L1DIBAR)定义了无效块基址,如图2-18和表2-18所示。图2-18L1D无效基址寄存器(L1DIBAR)表2-18L1D无效基址寄存器(L1DIBAR)字段描述L1D无效字计数寄存器(L1DIWC)定义了无效块的大小,其定义的大小为32位,如图2-19和表2-19所示。图2-19L1D无效字计数寄存器(L1DIWC)表2-19L1D无效字计数寄存器(L1DIWC)字段描述L1D写回基址寄存器(L1DWBAR)定义写回块的基址,如图2-20和表2-20所示。图2-20L1D写回基址寄存器(L1DWBAR)表2-20L1D无效基址寄存器(L1DWBAR)字段描述L1D无效写回字计数寄存器(L1DWIWC)定义了无效写回块的大小,其定义的大小为32位,如图2-21和表2-21所示。图2-21L1D无效写回字计数寄存器(L1DWIWC)表2-21L1D无效字计数寄存器(L1DWIWC)字段描述L1Dcache是一个双向集关联cache,这意味着系统的每个物理内存单元在cache中都保留2个可能的位置,当CPU试图访问一段数据时,L1D必须检查是否在L1Dcache中保留了需要的地址。为此,CPU提供的32位地址被分割成6个数据字段,如图2-22所示。图2-22数据存取地址结构L1Dline大小为64位,偏置(Offset)字段占用了前6位。设置(Set)字段表明L1Dcache线地址,其缓存数据将被保留,设置字段的宽度取决于L1D配置成cache的大小,如表2-22所示。使用设置字段来查找和检查任意已缓存数据的标签和有效位,这表明标签地址是否真正代表cache中的有效地址。

表2-22设置(Set)字段宽度对应的数据访问地址2.3.5、二级片内存储器二级片内存储器(L2memoryandcache)为较快的一级片内存储器(L1P和L1D)与较慢的外部存储单元间数据传送存储提供了一个片上存储解决方案,其优势在于提供了比L1存储器更大的存储空间,同时也提供了比外部存储更快的数据访问。类似于L1存储器,L2可配制成cache和非cache(可寻址)存储器。

L2存储器提供了设备需要的灵活存储方式,包括2个存储端口(port0和port1),可配置的L2cache大小,存储保护,支持缓存块和全局一致操作,4个可配置的节电模式页。L2存储器提供的2个256位宽的存储接口称为port0和port1,这两个端口的使用依赖于设备,在多数设备中,2个存储端口使用如下:(1)Port0:L2RAM、L2cache(2)Port1:L2ROM、L2RAM、共享存储接口这两个存储端口可编址存储段,其编址可能是不连续的,表2-23阐明了port0和port1如何在2×128位bank的情况下用于低位优先(littleendian)模式。表2-232×128位banking方案L1P“读漏”(32字节)需要单一端口的全部存储bank,当L2存储器具有高延迟时,在同一周期或直到该端口完成访问前,其他访问不能进行。L1D的读漏(64字节)或写回也需要单一端口的全部存储bank,用于两次连续访问。L2cache的操作通过以下寄存器进行控制,如表2-24对这些控制寄存器进行了总结。表2-24L2cache控制寄存器这些寄存器分为3类,涉及以下部分:

Cache大小和操作模式控制,这些寄存器控制cache大小和cache是否为冻结模式或正常操作模式;

面向块和全局一致性操作,这些操作允许从cache中手动移出数据;

可缓存性控制,这些寄存器控制cache是否允许存储一定范围内存的副本。L2配置寄存器(L2CFG)控制L2cache操作,可设置L2内存作为cache的大小、控制L2冻结模式及保持L1D/L1P无效位,如图2-23和表2-25所示。图2-23L2配置寄存器(L2CFG)表2-25L2配置寄存器(L2CFG)字段描述

L2写回基址寄存器(L2WBAR)如图2-24和表2-26所示。图2-24L2写回基址寄存器(L2WBAR)表2-26L2写回基址寄存器(L2WBAR)字段描述L2写回字计数寄存器(L2WWC)定义无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-25和表2-27所示。图2-25L2写回字计数寄存器(L2WWC)表2-27L2写回字计数寄存器(L2WWC)字段描述L2无效写回字计数寄存器(L2WIWC)定义无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-26和表2-28所示。图2-26L2无效写回字计数寄存器(L2WIWC)表2-28L2无效写回字计数寄存器(L2WIWC)字段描述L2无效基址寄存器(L2IBAR)定义无效块的基址,如图2-27和表2-29所示。图2-27L2无效基址寄存器(L2IBAR)表2-29L2无效基址寄存器(L2IBAR)字段描述L2无效字计数寄存器(L2IWC)定义了无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-28和表2-30所示。图2-28L2无效字计数寄存器(L2IWC)表2-30L2无效字计数寄存器(L2IWC)字段描述L2写回寄存器(L2WB)控制L2cache的全局写回操作,如图2-29和表2-31所示。图2-29L2写回寄存器(L2WB)表2-31L2写回寄存器(L2WB)字段描述L2无效写回寄存器(L2WBINV)控制L2cache的无效写回操作,如图2-30和表2-32所示。图2-30L2无效写回寄存器(L2WBINV)表2-32L2无效写回寄存器(L2WBINV)字段描述L2无效寄存器(L2INV)控制L2cache的全局无效,如图2-31和表2-33所示。图2-31L2无效寄存器(L2INV)表2-33L2无效寄存器(L2INV)字段描述L2内存属性寄存器(MARn)定义外部存储空间的可缓冲性,只在管理员模式下可写,其通用结构如图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论