![]() |
|
||||||||||||||
| | 首页 | 新闻 | 文库 | 方案 | 技术 | 独家 | 座谈 | 下载 | 图库 | 开发板 | 仿真器 | 邮购 | VIP会员 | 芯片代购 | 客户评价 | | ||
|
||
|
|||||
| ADSP TS20XS系列DSP的结构特点 | |||||
作者:admin 文章来源:本站原创 点击数: 更新时间:2007-7-26 ![]() |
|||||
|
本文以ADSP TS201S为例,简单介绍ADSP TS20XS系列DSP的内部结构特点。 1.内核结构 ADSP TS201S系列DSP内核主要包括运算块、程序控制器、整型ALU、数据对齐缓冲器和中断控制器等。 1)运算块 ADSP TS201S的运算模块包括两个能够通过相互独立或一起工作,执行通用运算来实现 单指令多数据(SIM)引擎的计算单元,分别称为运算块x、运算块Y。每个运算模块又包含一个寄存器组和4个独立的运算单元:算术逻辑运算单元(ALU)、通信逻辑处理单元(CLU)、乘法器和移位器。这些模块都能处理定点数和浮点数,可满足各种不同的处理要求。 每个运算块包含的通用寄存器组是32位宽度、多端口的数据寄存器组,用于运算单元与数据总线之间传输数据,存储中间结果。这些寄存器都可以单字、双字、四字寄存器方式访问。 AIJU完成定点数和浮点数的算术运算、定点数的逻辑运算,大多数AIJU运算的数据源和目的地均为运算块的寄存器组。 CLU是专门用于通信处理的模块,CLU支持用于通信处理的各种算法。这些算法包含: ·Viterb解码; ·Turbo code解码; ·CDMA系统解调; ·路径搜索的互相关。 乘法器主要完成定点数和浮点数的乘法运算、定点数的乘累加运算。乘法器支持各种定点数和浮点数的数据格式。浮点数的格式有标准浮点数和扩展精度浮点数两种,与ALU中相同。大多数处理的数据源和目的地均为运算块的寄存器组。 ADSP TS201S的乘法器支持复数的乘累加运算,复数在32位字中用2个16位半字来分别表示它的实部和虚部,用LSB部分表示实部,MSB部分表示虚部。 移位器完成算术和逻辑移位、比特和比特流控制,域存储和提取操作。移位器的操作可对1个64位、1个或2个32位、2个或4个16位、4个或8个8位定点数进行。移位运算 包含: ·定标的左右移位和循环移位; ·位操作,包含置1、清零、触发和位测试; ·应用寄存器BFOTM的位域操作,位域存储和提取操作; ·支持不同长度位流的FIFO操作; ·支持与ADSP21000簇相兼容的浮点数/定点数转换运算。
2)整型ALU ADSP TS201S拥有2个整型ALU(IALU),分别称为J—LALU,K-IALU,它们都能执行通用的整数操作。IALU还可对寄存器进行加载、存储以及传输操作。能提供强大的地址产生能力,用于存储器和寄存器之间的数据传输。每个IALU有以下功能: ·为数据和更新指针提供存储器地址; ·支持环形缓冲和位反序寻址; ·实现通用的整数操作,提高了编程的灵活性; ·包含1个由32个字构成的寄存器组。 作为地址产生器,IALU、完成立即或间接寻址(预修改或后修改),完成对于存储器地址没有限制的取模和位反序操作。每个IALU能够指定单字、双字或四字的内存访问。IALU通过硬件支持来实现环形缓冲、位反序和零消耗循环。环形缓冲为在数字信号处理中经常用到的延迟线和其他数据结构的编程提供了便利,它们经常用在数字滤波器和傅里叶变换中。每个IALU提供了用于4个环形缓冲器的寄存器,因此,程序能够建立最多8个环形缓冲器。IALU能够自动处理指针回绕,减小了系统开销,提高了性能,简化了实现途径。环形缓冲器能够起始于任何内存地址。 因为IALU的运算流水线为一个周期,所以在多数情况下,整数结果在下一个周期就能 使用。如果结果在给定的周期不能使用,硬件(寄存器依赖检查)会产生相应的等待,而 这些运算时间可以用来执行2条运算指令,指令可以同时控制ALU、乘法器或者移位器来 完成独立的、同时的操作。
3)程序控制器 ADSP TS201S的程序控制器和IALU叫一起提供访问存储器的指令地址,使得DSP以最高的效率进行运算。ADSP TS201S的程序控制器支持如下功能。 ·完全可中断的编程模式,灵活地使用汇编语言和C/C++编程;高吞吐量的中断处理,不存在中止周期。 ·8个周期指令流水线(3个周期取址流水,5个周期执行流水),运算结果将会在操作数可用2个周期以后得到。 ·提供取址的内存地址;控制器的指令对齐缓冲器(IAB)缓存最多5条预取并等待执行的指令,程序控制器从IAB中提取出指令行,并将指令分发给相应内核模块来执行。 ·管理由JUMP,CALL,RTI,RTS指令,循环结构、条件、中断和软件异常决定的程序结构和程序流程。 ·用分支预测和128个入口分支目标缓冲器(BTB)来减少分支跳转延迟,以实现条件和无条件跳转指令的高效执行和零消耗循环;正确的预测跳转仅需要0—2个周期的开销,否则需3~6个延迟周期的开销。 ·紧缩型代码不必在内存中对齐,lAB会处理对齐。 ADSP TS201S的程序控制器控制的指令流分为两大类:控制类指令,立即扩展指令。而控制类指令又可分为两大类:直接跳转和子程序调用指令,间接跳转指令。
4)中断控制器 ADSP TS201S DSP支持嵌套和非嵌套中断。每种中断类型在中断向量表中拥有一个寄存器,并且在中断锁存寄存器和中断屏蔽寄存器中占有一位。除了IRQ3一O硬件中断是可编程外,所有的中断能被固定设置成边沿敏感或电平敏感。 DSP能够区分硬件中断和软件异常并分别处理。当软件异常出现时,DSP中止流水线中 的所有指令。当硬件中断发生时,DSP将继续执行已经在流水线中的指令。
5)数据对齐缓冲器(DAB) ADSP TS201S的DAB是1个四字的FIFO,能够从非对齐的地址读取数据。通常情况下, 读取指令必须同数据的长度对齐,所以能从1个四对齐的地址上读取数据。使用DAB极大 地提高了某些应用(例如FIR滤波器)的效率。 在汇编语言语法中运算模块被标识为x和Y,每个运算模块包含3个运算单元,1个 ALU,1个乘法器和1个由32个寄存器构成的寄存器组。各主要部件性能如下所述。 ·寄存器组:每个运算单元拥有1个多端El的32位字、全正交的寄存器组,该寄存器组可用于运算单元和数据总线之间的数据传输和存储中间结果。指令能够单独地访问寄存器组中的寄存器(字对齐),或者2个一起(双字对齐)或者4个一起(四字对齐)访问。 ·ALU:执行标准的定点和浮点算术操作和逻辑操作。 ·乘法器:乘法器用于执行定点和浮点乘法和定点的乘加运算。 ·移位器:64位移位器完成算术和逻辑移位,比特和比特流控制,域存储和提取操作。 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 前置放大器在移动医疗服务系 便携式多通道大容量生理信号 防腐监测仪的设计与应用 基于AD1674的酶标仪的设计 基于C/S模式的JRTPLIB库的测 ffmpeg与jrtplib相结合应用 blackfin模拟摄像头驱动中的 可编程逻辑在数字信号处理系 发现VDSP4.5一个BUG:单步调 VDSP5.0双核工程下sml3中的变 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 本站介绍 | 合作联络 | 欢迎投稿 | 广告业务 | 网站地图 | 设为首页 | 加入收藏 | 友情链接 | 网站公告 | 联系我们 | | |||
|