高性能DSP的体系结构要点课件_第1页
高性能DSP的体系结构要点课件_第2页
高性能DSP的体系结构要点课件_第3页
高性能DSP的体系结构要点课件_第4页
高性能DSP的体系结构要点课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

高性能DSP的体系结构基站部硬件一室 唐海2002.12.12高性能DSP的体系结构基站部硬件一室 唐海什么是DSP?DSP是用于进行数字信号的数学处理的一类微处理器支持高性能、重复性和计算密集的任务DSP内部一般没有内存管理器(MMU)DSP的应用决定了DSP的结构大量的数学计算要求快速的乘法器、ALU和SHIFTER多个并行的处理单元,可以在一个时钟周期内进行多次运算内部集成高速存储器,多存储器总线,多存储器块(哈佛结构)以满足一个时钟周期内多次存储器操作的要求什么是DSP?DSP是用于进行数字信号的数学处理的一类微处理什么是DSP(续)?DSP的应用决定了DSP的结构(续)对数据精度、成本和功耗的要求使DSP具有不同的数据格式和数据宽度(如定点和浮点)应用的实时性要求可预测的指令执行时间和低的中断响应延迟集成各种并行、串行接口,DMA控制器,低时延中断以满足对I/O能力的要求支持多种外部设备以适应不同的应用场合通讯是DSP的主要应用领域什么是DSP(续)?DSP的应用决定了DSP的结构(续)DSP的分类根据数据格式划分定点(16bit,20bit,24bit等数据宽度)浮点(单精度、双精度)根据体系结构划分传统/增强型传统——TIC54x/AD2116x超长指令字(VLIW)——TIC6000,ADTigerSHARC(支持SIMD),MSC8101/8102(双内核)DSP的分类根据数据格式划分几种典型高性能DSPTITMS320C6000定点:C62xx,C64xx浮点:C67xxADITigerSHARC(浮点+定点)StarCoreSC140(定点内核)MotorolaMSC8101,MSC8102(双内核)AgereSP2000B(三内核)几种典型高性能DSPTITMS320C6000C64x的结构框图C64x的结构框图C64x的结构-CPU8个指令执行单元,L、M、S和D单元各两个64个32-bit通用寄存器40bit或64bit长类型使用一对寄存器程序获取,指令分派与指令解码单元两条数据路径,每条配合四个执行单元控制逻辑、中断逻辑与测试逻辑C64x的结构-CPU8个指令执行单元,L、M、S和D单元各C64x指令分类算术指令-ABS,SADD,SUB,MPY,MPYHL…比较指令-CMPEQ,CMPGE,CMPLE…逻辑指令-AND,OR,NOT,XOR数据操作-EXT,PACK2,ROTL…寄存器与存储器操作-MVK,STW,LDW…跳转-Bdisp,Breg…每条指令都可以条件执行C64x指令分类算术指令-ABS,SADD,SUB,MPY,C64x指令流水线C64x指令流水线L单元执行的指令32/40-bitarithmetic,compareandlogicaloperationsLeftmost1or0countingfor32bitsandbyteshiftsNormalizationcountfor32and40bitDatapacking/unpackingand5-bitconstantgenerationDual16-bit/Quad8-bitarithmeticoperationsDual16-bit/Quad8-bitmin/maxoperationsL单元执行的指令32/40-bitarithmetic,M单元执行的指令16x16/16x32multiplyoperationsQuad8x8/Dual16x16multiplyoperationsDual16x16multiplywithadd/subtractoperationsQuad8x8multiplywithaddoperationBitexpansion/Bitinterleaving/de-interleavingVariableshiftoperationsRotationGaloisFieldMultiplyM单元执行的指令16x16/16x32multi超长指令字-VLIW8条32-bit指令构成一个256-bit的指令字8条指令可以构成1个到8个并行执行的执行包,每个执行包在同一个CPU周期内执行p=‘0’表示一个执行包的结尾超长指令字-VLIW8条32-bit指令构成一个256-biC64x的结构-两级存储器一级缓存L1P:16KB直接映射,32字节线宽,单周期访问L1D:16KB二路相关,64字节线宽,单周期访问,二路最近最少使用淘汰算法二级缓存0/32/64/128/256KB,4路相关L1到L2数据要求会导致CPU停顿6~8周期内部SRAM:768KB~1MBC64x的结构-两级存储器一级缓存C64x的结构-EDMA控制器处理所有L2Cache/存储器到外部设备之间的数据传递(任何可寻址空间)64个独立通道,共享一个中断可编程优先级,支持通道连接(Linking)和链接(Chaining)包括事件和中断处理寄存器,事件编码器,参数RAM和地址产生硬件等组成部分C64x的结构-EDMA控制器处理所有L2Cache/存储EDMA控制器(2)EDMA传输类型一维传输(元素同步,帧同步)二维传输(组同步,块同步)EDMA控制器(2)EDMA传输类型EDMA控制器(3)EDMA的发起CPU发起(无同步)同步事件(中断,传输事件…)触发资源仲裁和优先级处理EDMA分为4个优先级(0~3)每个优先级有一个固定深度的传输申请队列一个发送到满队列的传输申请会导致EDMA停顿直到该队列中的申请被处理EDMA控制器(3)EDMA的发起C64x的结构-外部存储器接口两条外部存储器总线EMIFA(64bit)EMIFB(16bit)无需粘贴逻辑即可支持多种存储器SBSRAM,ZBTSRAM,SDRAMASRAM,ROM,FIFO其映射为存储器的外部设备支持外部仲裁协议C64x的结构-外部存储器接口两条外部存储器总线C64x的结构-其它外设维特比协处理器/Turbo协处理器(VCP/TCP)-C6416主机接口(HPI)PCI接口(C6415/C6416)多通道缓冲串行接口(McBSP)32bit定时器GPIOUTOPIA2(C6415/C6416)C64x的结构-其它外设维特比协处理器/Turbo协处理器(C64x的结构-中断结构最多32个中断来源,同时可以选择使用12个可选择的优先级可全局/独立控制快速中断响应-对使能的中断仅需12个CPU周期即可进入中断服务程序;但是在核心循环中CPU不能被中断4个外部中断输入(边沿触发,可编程极性)C64x的结构-中断结构最多32个中断来源,同时可以选择使用C64x应用实例-SICATC64x应用实例-SICATC64x结构的一些不足缺乏高速通信端口McBSP最高速率为100Mbps,无法满足高速传输的要求对比:TigerSHARC的LinkPort为250MB/s不具备多处理能力C64xDSP之间无法对等访问对方存储空间,只能采用慢速而不便的主从模式对外部共享存储器的访问需要外部仲裁器对比:8个TigerSHARC可以无需外部逻辑构成一个簇(Cluster),拥有统一的存储器空间,无需外部仲裁逻辑C64x结构的一些不足缺乏高速通信端口C6000的软件开发流程C6000的软件开发流程C6000的开发工具-

CodeComposerStudio(CCS)包括编辑器、调试器、工程管理、性能评估、探测点等的集成开发环境代码产生工具(C语言编译器、汇编语言优化器和连接器)指令集仿真器实时支持软件-DSP/BIOS主机和目标机之间的实时数据交换-RTDX实时分析和数据可视化C6000的开发工具-

CodeComposerStud高性能DSP的发展趋势更高的处理能力更高的时钟频率,更高效的CPU,更大的内存容量和内存带宽多个DSP内核集成到同一个封装内部更强大的I/O能力支持新一代的高速通信接口,如RapidIO更先进的工艺,更低的功耗0.12微米或更高级工艺,功耗在2W以下高效易用的开发工具实时操作系统支持ENEAOSE,WindRiverVspWorks高性能DSP的发展趋势更高的处理能力信号处理器件的融合通用微处理器的DSP指令X86结构的MMX、SSE等(SIMD指令)PowerPC的AltiVec(矢量计算)频率高(>1GHz),性能好功耗和超标量结构的指令不可预测性仍是问题用FPGA执行DSP任务“DSPBlock”-硬件乘法器和累加器DSP算法IP核用于FPGA的DSP开发工具某些应用上(计算密集,并行度高)有非常好的性能开发难度和开发周期远超过DSP信号处理器件的融合通用微处理器的DSP指令信号处理器件的融合(2)FPGA中嵌入微处理器XilinxVIIPro嵌入最多4个PPC405处理器AlteraExcaliburFPGA嵌入ARM处理器新器件-可重配置(Reconfigurable)处理器类型1.由嵌入式微处理器和逻辑阵列构成,微处理器可随时按需要配置内部逻辑阵列类型2.CPU核心内部拥有可编程逻辑资源,供用户自定义应用相关的特殊指令信号处理器件的融合(2)FPGA中嵌入微处理器在目前信号处理应用中,DSP仍然提供了性能、价格、功耗和开发难易程度的最佳结合在目前信号处理应用中,DSP仍然提供了性能、价格、功耗和开发谢谢大家!谢谢大家!高性能DSP的体系结构基站部硬件一室 唐海2002.12.12高性能DSP的体系结构基站部硬件一室 唐海什么是DSP?DSP是用于进行数字信号的数学处理的一类微处理器支持高性能、重复性和计算密集的任务DSP内部一般没有内存管理器(MMU)DSP的应用决定了DSP的结构大量的数学计算要求快速的乘法器、ALU和SHIFTER多个并行的处理单元,可以在一个时钟周期内进行多次运算内部集成高速存储器,多存储器总线,多存储器块(哈佛结构)以满足一个时钟周期内多次存储器操作的要求什么是DSP?DSP是用于进行数字信号的数学处理的一类微处理什么是DSP(续)?DSP的应用决定了DSP的结构(续)对数据精度、成本和功耗的要求使DSP具有不同的数据格式和数据宽度(如定点和浮点)应用的实时性要求可预测的指令执行时间和低的中断响应延迟集成各种并行、串行接口,DMA控制器,低时延中断以满足对I/O能力的要求支持多种外部设备以适应不同的应用场合通讯是DSP的主要应用领域什么是DSP(续)?DSP的应用决定了DSP的结构(续)DSP的分类根据数据格式划分定点(16bit,20bit,24bit等数据宽度)浮点(单精度、双精度)根据体系结构划分传统/增强型传统——TIC54x/AD2116x超长指令字(VLIW)——TIC6000,ADTigerSHARC(支持SIMD),MSC8101/8102(双内核)DSP的分类根据数据格式划分几种典型高性能DSPTITMS320C6000定点:C62xx,C64xx浮点:C67xxADITigerSHARC(浮点+定点)StarCoreSC140(定点内核)MotorolaMSC8101,MSC8102(双内核)AgereSP2000B(三内核)几种典型高性能DSPTITMS320C6000C64x的结构框图C64x的结构框图C64x的结构-CPU8个指令执行单元,L、M、S和D单元各两个64个32-bit通用寄存器40bit或64bit长类型使用一对寄存器程序获取,指令分派与指令解码单元两条数据路径,每条配合四个执行单元控制逻辑、中断逻辑与测试逻辑C64x的结构-CPU8个指令执行单元,L、M、S和D单元各C64x指令分类算术指令-ABS,SADD,SUB,MPY,MPYHL…比较指令-CMPEQ,CMPGE,CMPLE…逻辑指令-AND,OR,NOT,XOR数据操作-EXT,PACK2,ROTL…寄存器与存储器操作-MVK,STW,LDW…跳转-Bdisp,Breg…每条指令都可以条件执行C64x指令分类算术指令-ABS,SADD,SUB,MPY,C64x指令流水线C64x指令流水线L单元执行的指令32/40-bitarithmetic,compareandlogicaloperationsLeftmost1or0countingfor32bitsandbyteshiftsNormalizationcountfor32and40bitDatapacking/unpackingand5-bitconstantgenerationDual16-bit/Quad8-bitarithmeticoperationsDual16-bit/Quad8-bitmin/maxoperationsL单元执行的指令32/40-bitarithmetic,M单元执行的指令16x16/16x32multiplyoperationsQuad8x8/Dual16x16multiplyoperationsDual16x16multiplywithadd/subtractoperationsQuad8x8multiplywithaddoperationBitexpansion/Bitinterleaving/de-interleavingVariableshiftoperationsRotationGaloisFieldMultiplyM单元执行的指令16x16/16x32multi超长指令字-VLIW8条32-bit指令构成一个256-bit的指令字8条指令可以构成1个到8个并行执行的执行包,每个执行包在同一个CPU周期内执行p=‘0’表示一个执行包的结尾超长指令字-VLIW8条32-bit指令构成一个256-biC64x的结构-两级存储器一级缓存L1P:16KB直接映射,32字节线宽,单周期访问L1D:16KB二路相关,64字节线宽,单周期访问,二路最近最少使用淘汰算法二级缓存0/32/64/128/256KB,4路相关L1到L2数据要求会导致CPU停顿6~8周期内部SRAM:768KB~1MBC64x的结构-两级存储器一级缓存C64x的结构-EDMA控制器处理所有L2Cache/存储器到外部设备之间的数据传递(任何可寻址空间)64个独立通道,共享一个中断可编程优先级,支持通道连接(Linking)和链接(Chaining)包括事件和中断处理寄存器,事件编码器,参数RAM和地址产生硬件等组成部分C64x的结构-EDMA控制器处理所有L2Cache/存储EDMA控制器(2)EDMA传输类型一维传输(元素同步,帧同步)二维传输(组同步,块同步)EDMA控制器(2)EDMA传输类型EDMA控制器(3)EDMA的发起CPU发起(无同步)同步事件(中断,传输事件…)触发资源仲裁和优先级处理EDMA分为4个优先级(0~3)每个优先级有一个固定深度的传输申请队列一个发送到满队列的传输申请会导致EDMA停顿直到该队列中的申请被处理EDMA控制器(3)EDMA的发起C64x的结构-外部存储器接口两条外部存储器总线EMIFA(64bit)EMIFB(16bit)无需粘贴逻辑即可支持多种存储器SBSRAM,ZBTSRAM,SDRAMASRAM,ROM,FIFO其映射为存储器的外部设备支持外部仲裁协议C64x的结构-外部存储器接口两条外部存储器总线C64x的结构-其它外设维特比协处理器/Turbo协处理器(VCP/TCP)-C6416主机接口(HPI)PCI接口(C6415/C6416)多通道缓冲串行接口(McBSP)32bit定时器GPIOUTOPIA2(C6415/C6416)C64x的结构-其它外设维特比协处理器/Turbo协处理器(C64x的结构-中断结构最多32个中断来源,同时可以选择使用12个可选择的优先级可全局/独立控制快速中断响应-对使能的中断仅需12个CPU周期即可进入中断服务程序;但是在核心循环中CPU不能被中断4个外部中断输入(边沿触发,可编程极性)C64x的结构-中断结构最多32个中断来源,同时可以选择使用C64x应用实例-SICATC64x应用实例-SICATC64x结构的一些不足缺乏高速通信端口McBSP最高速率为100Mbps,无法满足高速传输的要求对比:TigerSHARC的LinkPort为250MB/s不具备多处理能力C64xDSP之间无法对等访问对方存储空间,只能采用慢速而不便的主从模式对外部共享存储器的访问需要外部仲裁器对比:8个TigerSHARC可以无需外部逻辑构成一个簇(Cluster),拥有统一的存储器空间,无需外部仲裁逻辑C64x结构的一些不足缺乏高速通信端口C6000的软件开发流程C6000的软件开发流程C6000的开发工具-

CodeComposerStudio(CCS)包括编辑器、调试器、工程管理、性能评估、探测点等的集成开发环境代

温馨提示

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

评论

0/150

提交评论