TigerSHARC架构背景知识
TigerSHARC架构背景知识
TigerSHARC®处理器为超高性能静态超标量DSP,经优化用于多种要求计算苛刻的大信号处理任务的处理应用。 本文档描述TigerSHARC处理器架构的主要特性,目前市场上的设备制造商将这些主要特性整合后具有最高的性能、灵活性、效率和可扩展性。
作为静态超标量DSP,TigerSHARC处理器内核可同时执行单指令线中编码的1至4个32位指令。 除少数例外情况,指令线,无论包括1、2、3或4个32位指令,在8深处理器流水线中执行一个周期的吞吐量。 TigerSHARC处理器具有一组指令并行规则,程序员编码指令线时须遵守这些规则。 通常,可并行执行DSP指令选择。每个周期取决于所需的指令线资源和所用的寄存器源头和目的地。 程序员可直接控制3个内核器件 – IALU、计算模块和程序序列器。
大多数情况下,TigerSHARC处理器具有完全联锁的双周期执行流水线。因此,当计算结果无法用于另一个依赖于它的操作时,停转周期自动插入。 利用无相关性指令进行高效编程可消除大部分计算和存储器传输的相关性。 所有指令并行规则和数据相关性见TigerSHARC处理器用户指南。
TigerSHARC处理器还可以通过采用并行计算模块和SIMB特定计算支持单指令、多数据SIMD操作。 程序员可选择指示两个计算模块对同一数据(广播分配)或不同数据(合并分配)进行操作。 此外,每个计算模块均可并行执行四次16位或八次8位SIMD计算。
大多数情况下,TigerSHARC处理器具有完全联锁的双周期执行流水线。因此,当计算结果无法用于另一个依赖于它的操作时,停转周期自动插入。 利用无相关性指令进行高效编程可消除大部分计算和存储器传输的相关性。 所有指令并行规则和数据相关性见TigerSHARC处理器用户指南。
TigerSHARC处理器还可以通过采用并行计算模块和SIMB特定计算支持单指令、多数据SIMD操作。 程序员可选择指示两个计算模块对同一数据(广播分配)或不同数据(合并分配)进行操作。 此外,每个计算模块均可并行执行四次16位或八次8位SIMD计算。
如上所述 ,TigerSHARC处理器具有两个可独立并行操作或作为SIMD引擎操作的计算模块。 对于每个计算模块和每个周期,DSP可最多发出两个计算指令,指示ALU、乘法器或移位器执行独立的同步操作。 计算模块各内置四个计算单元、ALU、乘法器、64位移位器、CLU(仅限于ADSP-TS201S)和32位寄存器文件。
32位字、多端口寄存器文件用于在计算单元与数据总线之间传输数据,以及存储即时结果。 指令可单独(字对齐)或成双(双对齐)或四倍(四对齐)访问寄存器文件中的寄存器。 ALU对定点和浮点格式的算术执行标准运算,同时执行逻辑运算。 乘法器同时执行定点和浮点乘法以及定点乘法和加法。 64位移位器执行逻辑和算术移位、位和位流处理以及字段存放和提取。
32位字、多端口寄存器文件用于在计算单元与数据总线之间传输数据,以及存储即时结果。 指令可单独(字对齐)或成双(双对齐)或四倍(四对齐)访问寄存器文件中的寄存器。 ALU对定点和浮点格式的算术执行标准运算,同时执行逻辑运算。 乘法器同时执行定点和浮点乘法以及定点乘法和加法。 64位移位器执行逻辑和算术移位、位和位流处理以及字段存放和提取。
ADSP-TS201S上的CLU为128位单元,内置增强加速指令,专门用于增加每个周期的复数乘法量并提高TigerSHARC器件的解码效率。 ADSP-TS202S和ADSP-TS203S不具备CLU。
TigerSHARC处理器具有两个整数ALU (IALU),提供强大的地址生成功能并执行许多通用的整数运算。 每个IALU均包括多端口31字寄存器文件。 IALU作为地址生成器,可执行直接或间接(修改前后)寻址。 它们可执行模和位反转运算,对数据缓冲放置点的存储器地址无限制。 每个IALU可指定1、2或4字存储器访问。
TigerSHARC处理器IALU可在硬件中实现环形缓冲器。 环形缓冲器支持对数字信号处理所需的延迟线和其它数据结构进行高效编程,常用于数字滤波器和傅里叶变换。 每个IALU为四个环形缓冲器配备寄存器,因此应用可设置一共8个环形缓冲器。 IALU自动处理地址指针回绕,可降低开销、提高性能并简化实现。 环形缓冲器可以在任何寄存器位置开始和结束。 由于IALU的计算流水线为一个周期深,大多数情况下,整数结果都存储在下一周期内。 如结果未存储在给定周期内,硬件(寄存器相关性检查)会停转。
TigerSHARC处理器IALU可在硬件中实现环形缓冲器。 环形缓冲器支持对数字信号处理所需的延迟线和其它数据结构进行高效编程,常用于数字滤波器和傅里叶变换。 每个IALU为四个环形缓冲器配备寄存器,因此应用可设置一共8个环形缓冲器。 IALU自动处理地址指针回绕,可降低开销、提高性能并简化实现。 环形缓冲器可以在任何寄存器位置开始和结束。 由于IALU的计算流水线为一个周期深,大多数情况下,整数结果都存储在下一周期内。 如结果未存储在给定周期内,硬件(寄存器相关性检查)会停转。
TigerSHARC处理器程序序列器通过向存储器提供地址管理程序结构和程序流以便提取指令。 程序序列器中的指令对齐缓冲器(IAB)缓冲多达五个取出的指令线等待执行。 程序序列器从IAB中提取指令线,并将其分配至适当的内核器件用于执行。 其它程序序列器功能包括:根据JUMP、CALL、RTI和RTS等指令确定流,减少环路计数器,处理硬件中断,并采用分支预测和128项分支目标缓冲器(BTB)减少分支延迟,用于有效执行有条件和无条件分支指令。
ADSP-TS20xS系列具有三种存储器配置。 ADSP-TS201S具有24Mb片内嵌入式DRAM存储器,分为6个4Mb模块(128 K字X32位);ADSP-TS202S具有12Mb片内嵌入式DRAM存储器,分为6个2Mb模块(64 K字X32位);ADSP-TS203S具有4Mb片内嵌入式DRAM存储器,分为4个1Mb模块(16 K字X32位)。 各个型号的模块可用于存储程序存储器、数据存储器或二者,因此程序员可根据其特定需求配置存储器。 6个存储器模块通过纵横式方式连接至四个128位宽内部总线,在同一周期内科实现四个存储器传输。 ADSP-TS20xS系列的内部总线架构具有32 GB/s的总存储器带宽,每个周期内内核和I/O可访问12个32位数据字和四个32位指令。
TigerSHARC处理器片内DMA控制器,内置14个DMA通道,无需处理器干预即可实现零开销数据传输。 DMA控制器独立工作,对DSP内核是不可见的,在执行DMA操作的同时,内核可以继续执行程序指令。
DMA控制器执行常规功能,如外部端口块传输、链路端口传输和AutoDMA传输以及其它特性,如Flyby传输、DMA链接和二维传输。
DMA控制器执行常规功能,如外部端口块传输、链路端口传输和AutoDMA传输以及其它特性,如Flyby传输、DMA链接和二维传输。
ADSP-TS201S和ADSP-TS202S具有四个全双工链路端口,每个端口均采用低压、差分信号(LVDS)技术提供4位接收和4位发送I/O性能。 在500 MHz工作频率下支持双倍数据速率操作,每条链路在每个方向上可支持高达500 MB/s,最大综合吞吐量为4 GB/s
ADSP-TS203S具有两个全双工链路端口,每个端口均采用低压、差分信号(LVDS)技术提供4位接收和4位发送I/O性能。 在250 MHz工作频率下支持双倍数据速率操作,每条链路在每个方向上可支持高达500 MB/s,最大综合吞吐量为4 GB/s
每个链路端口各自都有三路缓冲四字输入及二路缓冲四字输出寄存器。 DSP内核可直接写入链路端口的发送寄存器并从接收寄存器读取,或DMA控制器可通过8个专用链路端口DMA通道执行DMA传输。
ADSP-TS203S具有两个全双工链路端口,每个端口均采用低压、差分信号(LVDS)技术提供4位接收和4位发送I/O性能。 在250 MHz工作频率下支持双倍数据速率操作,每条链路在每个方向上可支持高达500 MB/s,最大综合吞吐量为4 GB/s
每个链路端口各自都有三路缓冲四字输入及二路缓冲四字输出寄存器。 DSP内核可直接写入链路端口的发送寄存器并从接收寄存器读取,或DMA控制器可通过8个专用链路端口DMA通道执行DMA传输。
TigerSHARC处理器上的外部端口为64位宽,工作速率高达125MHz。 利用TigerSHARC处理器的外部端口(高达8个),主机和全局存储器无需任何外部逻辑可以共享。 除采用链路端口外,第二种方法是TigerSHARC DSP提供多处理器系统支持。 SDRAM和SBSRAM控制器可与这类存储器无缝接口。 该外部端口还支持飞越式模式,凭此模式主机可访问全局共享存储器。
ADI公司的TigerSHARC处理器架构用于要求超高性能信号处理的多处理器应用,同时提供出色的用户灵活性、可扩展性和片内外设集成。