Paul Wheeler
1引言
说到要求超高性能的前沿应用,就不得不提起ADI公司的SHARC处理器。随着更高动态范围、更高性能和更低成本等市场压力的与日俱增,各种应用对浮点处理器的需求也在不断增加。本文将介绍第一款SHARC处理器背后的历史,并讨论其架构的创新,这使得这款处理器在18年的数字信号处理历史中一直处于领先的地位。
2SHARC处理器的历史
“SHARC”是超级哈佛架构(Super Harvard ARChitecture)的缩写,是ADI公司为他们的浮点处理器起的名字。SHARC处理器在标准哈佛架构基础上作了改进,不仅方便了PM(程序存储器)总线上的数据传送,并通过增加一个指令缓存优化了基于紧密循环的计算过程的吞吐性能。改进后的架构能够同时存取数据和系数,并同时从指令缓存执行所选的指令,从而高效地实现了处理器的三总线操作模式。
大家知道,SHARC处理器最早起源于ADSP-21020。这个浮点单指令单数据(SISD)DSP实际上是一个不带嵌入式存储器或外设的独立计算内核。PM和DM(数据存储器)存储空间是通过连接到SRAM芯片的外部总线进行访问的,通过JTAG接口对处理器进行编程和调试。
ADSP-21020可以在33MHz时钟频率下工作,执行单周期指令。ADSP-21020可以利用80位累加器完成32位或40位浮点和32位定点运算,是ADI公司在1991年推向市场的突破性产品。这种内核技术是ADI公司对浮点性能和创新做出承诺的起始点。
3集成与创新:SHARC的诞生
第一款真正的SHARC处理器是ADSP-21060。ADI公司在ADSP-21020内核产品的基础上开发出了一个完全集成的处理器,其中包括了用于控制集成外设的DMA流量的片上SRAM和I/O处理器。
ADSP-21060浮点处理器是1994年进入市场的,当时被认为是DSP性能和创新方面的顶尖水平。
SHARC内核能够在一个周期内以高达40MHz的速度执行计算,并且增加了I/O处理器,能够在不增加任何内核开销的条件下,在外设和双端口4Mb SRAM存储器之间高速传输数据。
为了进一步提高最终用户的系统性能和可扩展性,ADI设计团队着手创建允许多处理器系统能共享数据并且开销很小的机制。在外部端口逻辑中增加了一个簇总线控制器,可以无缝地进行处理器间的并行数据通信,每个簇最多可以有6个处理器。这种突破性技术允许系统架构师以高达240MBps的带宽从主处理器向指定从处理器的内存直接传送大量数据,或使用广播模式向簇中的所有从器件直接发送数据。
使用ADI的链路端口专利技术还能实现处理器间的高速通信。每个ADSP-21060集成了6个独立的链路端口用于点到点通信,因此可以实现额外的240MBps的I/O带宽。
由于具有这种真正平衡的架构和扩展功能,SHARC处理器被广泛用于运算强度大的应用,如医疗成像、军事雷达和电子游戏机。
也许让人不敢相信,具有这种功能的处理器在15年前就推向市场了,但令人更加惊奇的是,这种处理器目前还在继续为用户所用!这是SHARC架构性能的良好扩展性以及ADI公司对质量和用户满意做出承诺的最好证明。
4第二代SHARC处理器
第二代SHARC处理器将处理性能提升到了新的层次,它将内核架构扩展为单指令多数据(SIMD)系统,并将内核时钟频率提高到100MHz。ADSP-2116x系列处理器保持了与ADSP-2106x SISD处理器的源代码的完全兼容性,而且经过少量代码修改就能让用户发挥新增加的并行运算单元(寄存器文件+乘法器+ALU+桶式移位器)的作用,与上一代SHARC相比可以将周期性能指标提高一倍。
为了在不降低周期性能的条件下方便到这个新增加的运算单元的数据传送,内部的PM和DM数据总线宽度都增加到了64位,同时在ADSP-21161上集成了48位宽100MHz SDRAM控制器来增加I/O数据传送带宽,从而能够实现高达600MBps带宽的数据传送能力。
就像上一代SISD SHARC一样,第二代SHARC保留了支持簇总线系统架构的多处理器无胶合连接,以及通过链路端口的点到点连接,使性能升级路线图更加简单清晰。
就像上一代SISD SHARC一样,第二代SHARC系列器件被医疗、工业和军事应用所广泛采用,而且由于额外集成了支持时分复用(TDM)和I2S格式的串行端口(SPORT),专业音响和高端消费/汽车音响设备很快地利用到了该处理器的浮点运算提供的大动态范围优势。
5第三代SHARC处理器
第三代SHARC处理器开始跳出多处理器应用空间,主动迎接新的挑战。由于在音频应用中具有明显的浮点处理优势,SHARC技术开发的重点开始转向以最低系统成本努力增加片上处理功能。
以这个目标开发并推向市场的第一批处理器是ADSP-2126x系列。就像ADSP-2116x一样,ADSP-2126x采用SIMD架构使运算性能最大化。除了将内核性能翻倍达到200MHz外,ADSP-21266处理器还是SHARC系列中首个内置片上掩膜ROM的产品。集成4Mb ROM降低了系统复杂性和成本,将曾经给人们留下“高成本”印象的浮点型DSP推向了消费类音频领域。
为了进一步降低硬件系统设计的复杂性,ADI公司开发出了名为“数字应用接口”(DAI)的创新性外设。与以前的SHARC和同类竞争性产品将引脚功能固定下来不同,DAI允许用户将任何外设功能分配到他们想要的任意一个外部引脚。对于音频系统来说,这意味着当系统输入输出要求发生改变时,音频时钟域可以随时通过软件分配到引脚并路由到串行端口。这种灵活性可以显着减少为了支持特殊系统规范所需的外部引脚数量,有助于硬件设计的简化,帮助用户进一步降低成本。
ADSP-2136x继承了ADSP-2126x节省成本的优点,并增加了先进的音频信号链集成方法。内核性能提高了60%以上,达到333MHz,内部SRAM可增加到3Mb。另外还集成了许多针对音频的外设,如高性能异步采样率转换器(ASRC)、SPDIF收发器和DTCP加密引擎,从而进一步优化了可编程性能和音频系统BOM成本,巩固了ADI在音频市场中的领导地位。在这一系列的高性能产品中还集成了工作频率高达166MHz的32位SDRAM接口,以增加I/O带宽,同时有利于数据密集应用使用批量生产的存储器。
基于这种突破性的音频系统集成和性价比领先优势,第三代SHARC系列不仅在专业音频领域,而且在消费音频应用(如家庭影院系统、AV放大器)中得到了广泛应用,为新一代高清音频标准(DTS Master Audio和Dolby Tru-HD)推向市场发挥了重要作用。
6第四代SHARC系列——ADSP-2146x
第三代SHARC处理器在优化性价比方面取得了成功,推动浮点处理器进入了对成本敏感的消费类应用,而这类应用曾被人们认为是不可能使用昂贵的浮点处理器的。
ADI公司现在面临着一个有意思的挑战:如何进一步改进具备优异性价比的浮点处理器?
在定义第四代处理器时,产品开发团队注重的是核心价值正是它们使得SHARC一直处于浮点DSP技术的前沿: