第2章TMS320C55x-的硬件结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章TMS320C55xDSP的硬件结构2.1TMS320C55xDSP的基本结构2.2中断2.3TMS320C55x存储空间结构2.4片内集成外设简介2.5VC5509评估板及教学实验箱简介12.1TMS320C55xDSP的基本结构2.1.1C55x的CPU体系结构2.1.2C55x的程序和数据总线及功能2.1.3指令缓冲单元(IUnit)2.1.4程序流单元(PUnit)2.1.5地址数据流单元(AUnit)2.1.6数据计算单元(DUnit)22.1.1C55x的CPU体系结构TMS320C55xCPU的主要特性如下所示:先进的多总线结构。40位算术逻辑运算单元(ALU),能够进行高精度的算术和逻辑操作。16位辅助ALU单元,能够和主ALU并行进行简单的算术运算。两个17位×17位的MAC(MultiplyandAccumulate)单元,能够在单周期内执行两组乘法与加法操作。64字节的指令缓冲队列,能够用作程序Cache,高效完成块重复操作。32.1.1C55x的CPU体系结构4个40位的累加器,能够存储计算结果,减少对存储器的访问。8个增强的辅助寄存器,可用作数据寻址。4个暂存数据寄存器满足数据处理的要求。循环寻址,最多支持5个循环缓冲。单指令重复、块重复操作支持。源代码全兼容所有的TMS320C54x器件。4Hardwarevs.MicrocodemultiplicationDSPprocessorsareoptimisedtoperformmultiplicationandadditionoperations.Multiplicationandadditionaredoneinhardwareandinonecycle.Example:4-bitmultiply(unsigned).51011x11101011x1110HardwareMicrocode1001101000001011.1011..1011...10011010Cycle1Cycle2Cycle3Cycle4Cycle56图2-1TMS320C55xCPU结构图总线和单元1.内部地址总线和数据总线(InternalAddressBusandDataBus)2.存储器接口单元(MemoryInterfaceUnit)3.指令缓冲单元(InstructionBufferUnit:IUnit)4.程序流单元(ProgramFlowUnit:PUnit)5.地址数据流单元(Address-DataFlowUnit:AUnit)6.数据计算单元(DataComputationUnit:DUnit)72.1.2C55x的程序和数据总线及功能TMS320C55xCPU由1条32-bit程序数据总线(PB)、5条16-bit数据总线(BB,CB,DB,EB,FB)以及1条24-bit程序地址总线(PAB)及5条23-bit数据地址总线(BAB,CAB,DAB,EAB,FAB)来支持。这些总线分别与CPU相连。这种并行的多总线结构,使得在一个CPU时钟周期内,能读一次32-bit程序代码、读三次16-bit数据以及写两次16-bit数据。89总线宽度功能PAB24-bit读程序的地址总线PB32-bit读程序的数据总线CAB、DAB每组23-bit读数据的地址总线。CB、DB每组16-bit读数据的数据总线。10总线宽度功能BAB23-bit读数据的地址总线。用于间接寻址模式。BB16-bit读数据的数据总线。EAB、FAB每条23-bit写数据的地址总线。EB、FB每条16-bit每组16-bit写数据的数据总线。2.1.3指令缓冲单元(IUnit)1.指令缓冲队列指令缓冲队列的大小为64字节。CPU从程序存储器一次可以提取4字节代码,放入指令缓冲队列。CPU每次可以从队列里取6字节送往指令解码器。2.指令解码器1112图2-2指令缓冲单元结构图2.1.4程序流单元(PUnit)1.程序地址产生和程序控制逻辑2.P单元内的寄存器明晰什么是CPU寄存器?什么是存储器?①CPU寄存器位于CPU内部。②每个CPU寄存器都有一个名字,而没有类似存储器的地址编号。13程序流寄存器PC程序计数器RETA返回地址寄存器CFCT控制流关系寄存器块循环寄存器BRC0,BRC1块循环计数器0和1BRS1BRC1存储寄存器RSA0,RSA1块循环起始地址寄存器0和1REA0,REA1块循环结束地址寄存器0和114单循环寄存器RPTC单循环计数器CSR经过计算的单循环寄存器中断寄存器IFR0,IFR1中断标志寄存器0和1IER0,IER1中断使能寄存器0和1DBIER0,DBIER1调试中断使能寄存器0和1状态寄存器ST0_55-ST3_55状态寄存器0-31516图2-3程序流单元结构图2.1.5地址数据流单元(AUnit)1.数据地址产生单元(DAGEN)2.A单元的算术逻辑单元(A-unitALU)3.A单元的寄存器数据页寄存器DPH,DP数据页寄存器PDP外设数据页寄存器17指针CDPH,CDP系数数据指针寄存器SPH,SP,SSP堆栈指针寄存器XAR0-XAR7辅助寄存器循环缓冲寄存器BK03,BK47,BKC循环缓冲大小寄存器BSA01,BSA23,BSA45,BSA67,BSAC循环缓冲起始地址寄存器暂时寄存器T0-T31819图2-4地址数据流单元结构图2.1.6数据计算单元(DUnit)1.移位器2.D单元的算术逻辑单元(D-unitALU)3.两个乘加单元(MAC)4.D单元寄存器累加器AC0-AC3,40位变换寄存器TRN0-TRN12021图2-5数据计算单元结构图2.2中断221.中断简介中断是一种由硬件或软件驱动的信号,DSP在接到此信号时,将当前程序悬挂起来,转去执行另外一个任务,这个任务我们称为中断服务程序(ISR)。C55xDSP可支持32个ISR,可由硬件或软件触发。所有的C55x中断,可以分成可屏蔽中断和不可屏蔽中断两种。软件中断是不可屏蔽的。RESET属于不可屏蔽中断。2.2中断2.DSP处理中断的步骤①接收中断请求。请求由软件或硬件发出。②响应中断请求。对于可屏蔽中断,需要满足若干条件,才发生响应;而对于不可屏蔽中断,则立即响应。③准备执行中断服务程序。-完成当前正在执行的指令;将进入流水线但还未解码的指令清除。-自动保存若干寄存器的值到数据堆栈和系统堆栈。232.2中断-取得用户定义的中断向量表中当前中断向量,中断向量指向中断服务程序入口。④执行中断服务程序。中断服务程序包含中断返回指令,这样返回时可以出栈以前保存的关键寄存器数据,从而恢复中断服务程序执行前的现场。242.2中断3.中断向量表所有内部及外部中断向量相对位置和优先级如下表:25262.2中断中断向量位置的绝对地址由两个16-bitIVPD和IVPH寄存器的值决定。IPVD指向DSP中断向量0−15和24−31IPVH指向DSP中断向量16−23向量与向量地址的形成如下表所示:27282.2中断每一个中断占用8字节。如果IVPD和IVPH的值相同,则所有的中断会在同一个256字节的程序页里。DSP的硬件复位,给两个IVP都装入FFFFH。两个IVP都不受软件复位指令的影响。292.2中断4.中断标志当一个可屏蔽中断请求发给CPU时,CPU把IFR中的相应标志设置为1,表明中断被挂起或等待CPU的响应。通过读IFR来识别挂起中断,向IFR写入1来清除挂起中断。中断标志寄存器如下表所示。302.2中断312.2中断注:R=读访问W1C=写一个1到这个位引起CPU给这个位清零-n=DSP硬件复位后的值Reserved=对这个位写无效,读取操作这个位总是0322.2中断5.中断使能可屏蔽中断全局禁止(INTM=1)可屏蔽中断全局使能(INTM=0)INTMInterruptmodebit332.2中断342.2中断6.TMS320VC5509AIFR和IERbit位置35IFR0和IER0BitLocationsIFR1和IER1BitLocationsIFR和IERRegistersofTMS320VC5509A2.3TMS320C55x存储空间结构存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)或字(按字编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。1字=16位=2字节1字节=8位物理地址的集合称为物理空间,也称存储空间,即总容量。362.3TMS320C55x存储空间结构TMS320C55xDSP提供了对一个统一的数据/程序空间和一个I/O空间的访问。数据空间地址用于访问存储器和存储器映射寄存器,CPU用程序空间地址从存储器读取指令,I/O空间用于CPU与外设之间的双向通信。统一的数据/程序空间–16MBytes的程序存储空间,通过24位地址总线进行访问。程序空间字节地址范围是0x000000-0xFFFFFF。–8MWords的数据存储空间,通过23位地址总线进行访问。数据空间字地址(1字=16位)范围是0x000000-0x7FFFFF。64KWords的I/O空间,保证和丰富的外设资源进行通信。I/O空间字地址(字地址)范围是0x0000-0xFFFF。37存储器容量的计算某一段存储空间容量或大小的计算方法是:存储空间容量=末地址-首地址+1例如:C55x程序存储空间大小=0xFFFFFF-0x000000+1=0x1000000=16MB系统认为:1K=1024=2101M=1024K=2201G=1024M=230硬盘、U盘、内存等存储器厂家认为:1K=10001M=10000001G=1000000000主要原因:二进制与十进制换算造成的,厂家认为“1千兆”等于1000M符合人们自然计数习惯,当然有偷换概念、短斤少两的嫌疑!!382.3TMS320C55x存储空间结构1.TMS320VC5509A片内存储器(1)Dual-AccessRAM(DARAM)64KB,000000h~00FFFFh(字节地址)可以同时进行两个访问操作(2)Single-AccessRAM(SARAM)192KB,010000h~03FFFFh(字节地址)只能进行一个访问操作(3)On-ChipROM64KB,FF0000h~FFFFFFh产品定制39片内存储器是非常珍贵的,编程时我们要使用好片内存储器。2.3TMS320C55x存储空间结构2.存储器映射在数据空间里,最前面的96个地址(000000h-00005Fh字地址)保留给存储器映射寄存器。参见教材附录A寄存器之表A-1CPU寄存器。在程序空间里,有一个相应的192个地址的存储器块(000000h-0000BFh字节地址)。不能将程序和数据定位到这些地址。5509APGE封装每个CE空间可连接32K-/16K-byte异步存储器。由于行/列地址复用,每个CE空间SDRAM可到达4MB。5509A可连接最大的SDRAM是128M-bit。TMS320VC5509APGE(144LQFP封装)存储器映射如下表。404132Kbytesfor16-bit-widememory.16Kbytesfor8-bit-widememory.42TMS320VC5509APGE(144LQFP封装)存储器映射32Kbytesfor16-bit-widememory.16Kbytesfor8-bit-widememory.Externalmemoryspacesareselectedbythechip-enablesignalshown(CE[0:3]).Supportedmemorytypesinclude:asynchronousstaticRAM(SRAM)andsynchronousDRAM(SDR

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功