独立DSP芯片兴衰史:FPGA吹响了丧钟!
2021-09-10
来源:开云棋牌官网在线客服行业观察
DSP可以追溯到数字时代的开端,甚至可能更早一些。如果说 1946 年第一台数字计算机 ENIAC 的建造标志着 1946 年数字时代的开始,那么 DSP 则在两年后出现。
IEEE 于 1998 年出版了一本名为《Fifty Years of Signal Processing: The IEEE Signal Processing Society and its Technologies 1948-1998》的专著,将 DSP开始的时代1948年称为 DSP annus mirabilis。同年,贝尔电话实验室的 Claude Shannon 发表了题为“A Mathematical Theory of Communication”的具有里程碑意义的论文,该论文将可实现的比特率、信道带宽和信噪比之间的关系刻在石头上。
同一年,贝尔实验室的 Shannon、Bernard M. Oliver 和 John R. Pierce 发表了“The Philosophy of PCM”,记录了脉冲编码调制的实用性,并在 PCM 上打上了实用性的烙印,这个理论的首次设想是由Alec Reeves于 1937 年撰写。(伯纳德·奥利弗(Bernard Oliver)在更广的圈子中可能更为人所知的是巴尼·奥利弗(Barney Oliver),他是 1966 年创立惠普实验室的杰出人物,但那完全是另一回事。) Shannon、Bernard M. Oliver 和 John R. Pierce 正在记录一些 PCM用于构建绝密 SIGSALY 安全语音系统的概念,这是一个房间大小、重 50 吨的庞然大物,为二战期间盟军最重要的语音通信进行编码和加密。
巧合的是,贝尔实验室于 1948 年 6 月 30 日宣布开发晶体管,同年发表了两篇引发 DSP 革命的里程碑式论文。(晶体管的实际发展发生在前一年。)我们需要晶体管和固态电子设备将Shannon, Oliver和Pierce发表的论文中的概念转化为价格低廉的实用技术,以改变电子产品的世界,所以 1948 年确实是 DSP 的奇迹年。
1948 年之后,很长一段时间内 DSP 技术都没有发生太多变化。数字电子技术对于 DSP 来说太新了,无法实用,至少不能用于实时信号处理。在此期间,许多 DSP 涉及将数字手动输入 Friedan 和 Marchant 机械计算器,这对于音频或视频通信来说非常不切实际。DSP 的萌芽世界等待着关键的发展。实际上,有几个关键的发展。
这是 DSP 和单芯片 DSP 如何接管整个信号处理世界的故事。它与数字电子本身的历史相似,跨越了集成电路 (IC)、微处理器、DSP 和 FPGA 的发展。在我们看来,FPGA 最终大获全胜。
一些不稳定的步骤
使 DSP 实用化所需的第一个关键发展是 IC 的发明。几乎同时,德州仪器 (TI) 的 Jack Kilby 和仙童开云棋牌官网在线客服的 Robert Noyce 设想了两种截然不同的方法来构建第一个集成电路。1959 年 2 月,TI 的 Kilby 首先申请了专利。Kilby 曾设想在一根硅棒上构建多个电子元件,然后使用小的金键合线将它们连接在一起。在申请专利之前,他实际上确实在 1958 年建造了这样的电路。然而,Kilby 错综复杂的手工组装过程是完全不切实际的,而且不太可能扩大到商业批量生产。
Noyce于 1959 年初提出的想法是使用光刻技术,仙童开云棋牌官网在线客服已经使用这种技术制造硅晶体管,在一个芯片上对多个电子元件进行成像,然后使用相同的光刻技术将这些元件与金属互连层互连。他将细节留给 Jean Hoerni,后者开发了自那时以来一直用于制造 IC 的平面工艺。Noyce 和 Fairchild 比 Kilby 晚,但仍是在 1959 年就这些想法申请了专利。
用于制造 IC 的实用制造方法只是所需的许多关键发展中的第一个。早期的数字 IC 太原始,并且包含的晶体管太少,无法认真考虑将它们用于实际的 DSP。那是因为 DSP 涉及一个非常深奥的概念——称为数学。特别是,您需要两个关键的数学运算符——乘法和加法——并且您需要使用大量这些运算来执行 DSP。我们中的一些人成为了数字工程师,所以我们可以忘记数学。
DSP 工程并非如此。使用 DSP 时,无法逃避数学运算。
当电子世界正在等待足够的开云棋牌官网在线客服技术进步使 DSP 成为一种实用技术时,世界其他地方已经迫不及待了。Bell System 需要开发方法来通过其庞大的线路安装基础来填充更多语音容量,而 PCM 显然是第一步。此外,二战后军队对雷达和声纳的使用蓬勃发展,DSP 显然是改进和提高这些系统能力的途径。通信卫星最初是在 1945 年由 Arthur C. Clarke 撰写的一篇论文中设想的,它将需要数字通信来解决一些可怕的信噪比问题,这些问题涉及向地球轨道发送信号和从地球轨道接收信号。
世界已准备就绪,但 IC 尚未准备就绪。
当 DSP 世界等待开云棋牌官网在线客服技术迎头赶上时,信号处理理论家却没有。贝尔实验室的 Binshu Atal 和 Manfred Schroeder 于 1967 年开发了自适应预测编码 (Adaptive Predictive Coding:APC),这使得从 4.8kbps 比特流中获得适度的音频成为可能。
然后,Atal 开发了用于语音压缩的线性预测编码 (Linear Predictive Coding:LPC)。几乎同时,名古屋大学的 Fumitada Imakura 和 NTT 的 Shuzo Saito 开发了偏相关(partial correlation:PARCOR)编码,这是一种非常相似的算法。这些新的语音处理算法自然需要更多的计算——更多的乘法和加法——这使得需要专门的 IC 来使 DSP 实用且具有成本效益变得越来越明显。
但是,通过带宽受限的电话信道运行的语音并不是唯一需要 DSP 信号的地方。雷达和声纳信号处理算法也需要它。真正占用带宽的电视信号需要它。只要技术实用,生成和接收的每个信号都可以从 DSP 中受益。如果它不需要装满 TI 和许多其他供应商在 1960 年代销售的中型 IC 的机架和电路板机架就好了。
英特尔于 1971 年推出的第一个商用微处理器 4004 是对即将到来的事物的第一个暗示。Intel 4004微处理器当然可以进行乘法和加法运算,但是一次只能加四位,而且乘法是一个多步指令序列。硅是愿意的,但 ALU 和位宽很弱。
第一个DSP芯片并没有完全削减它
TRW 于 1976 年设法创建并销售了 16×16 位单芯片数字乘法器——MPY016H——这是一款采用 1 微米双极工艺技术制造的产品。TRW MPY016H 可以将两个 16 位数字相乘以在 45 纳秒内产生 32 位结果(dash-1 部分为 40 纳秒),但无法相加。您需要添加额外的 IC 以将累加器连接到乘法器。此外,您无法在一次操作中提取 32 位结果。您通过 IC 的 16 位输出端口将结果分成两部分。所以这个产品真的不是DSP。它只是 DSP 的一部分。此外,由于具有两个 16 位输入端口和一个 16 位输出端口,TRW MPY016H 必须封装在 64 引脚宽 DIP 中。它以 5V 电压运行,但它几乎需要一个放大器才能启动。在 5 瓦时,它也需要一点冷却。
AMI 于 1978 年推出了 S2811 信号处理外设,它是一个带有 12 位硬件乘法器、一个 16 位 ALU 和一个 16 位输出的 DSP,但它并不是作为单芯片 DSP 设计的。AMI 将 S2811 设计为用于 8 位 6800 微处理器的存储器映射外围设备,AMI 还制造该产品作为微处理器的创始人摩托罗拉开云棋牌官网在线客服的替代来源。AMI 的 6800 微处理器版本被称为 S6800。
6800 微处理器通过一个小型和三个较大的片上多端口 RAM 配置和访问 AMI S2811。尽管 AMI S2811 于 1978 年发布,但它基于一种难以制造的 VMOS 工艺技术,因此推迟了几年的到来。到那时,已经发布了几款单芯片DSP;随着 Intel 8088、Zilog Z8000 和 Motorola 68000 的推出,16 位微处理器时代已经到来;6800微处理器外设市场开始迅速萎缩。那就使得过时的 AMI S2811 从未取得商业成功。
在AMI 推出 S2811 信号处理外设的同一年,TI 向消费者推出了一款基于 DSP 的玩具,即电池供电的“Speak & Spell”,该玩具采用 LPC 作为其核心语音编码技术。Speak & Spell 玩具采用了 TI TMC0280 语音合成器芯片,该芯片在硬件中实现了 Binshu Atal 的 LPC 算法。TO TMC0280 本质上是一个专用的 DSP。
尽管当时的开云棋牌官网在线客服技术将 TI Speak & Spell 的词汇量限制在 165 个单词,但这款玩具的稀疏词汇量对于儿童玩具来说是一个巨大的技术飞跃,即使零售价高达(当时)50 美元。尽管 TI TMC0280 是一种专门的专用语音 DSP,但其低成本和电池运行时间的能力为即将到来的 DSP IC 指明了道路。
1979 年 2 月,英特尔试图通过宣布英特尔 2920“模拟信号处理器”来表达“是的,我们可以做到”。这个奇怪的集成 DSP 在前端有一个 9 位 ADC(8 位加符号)和一个四输入模拟多路复用器,一个 9 位 DAC 有一个 8 通道模拟采样保持电路和模拟多路复用器在前端后端,中间的数字 ALU 能够执行加法、减法和绝对值运算以产生 25 位结果。缺少乘法和除法指令迫使使用多指令序列来执行这些所需的 DSP 数学运算。每个乘法运算需要 12 条指令,除法运算需要 14 条指令。每条 Intel 2920 指令需要大约半微秒来执行,
Intel 2920 是为信号过滤应用而设计的,但它的执行速度慢、数据路径有限、指令集独特、缺少硬件乘法器、模拟输入和输出电压范围有限以及其他严重的限制,这些都注定了该 IC 的商业失败。
因此,尽管很少有人记得英特尔 2920,但它也预示着 DSP 的到来。
随着 1970 年代结束,世界显然已经准备好,甚至渴望真正的单芯片 DSP。多亏了理论家,算法才得以开发并准备就绪。许多信号处理应用都在乞求功能强大的 DSP 芯片。剩下的就是开发能够支持这些要求的芯片设计和工艺技术。AMI、AT&T、英特尔、松下、摩托罗拉、NEC、TI、ADI 公司和其他公司都在为这个问题而疯狂地工作。DSP 芯片的爆炸式增长迫在眉睫。
在 1948 年 DSP 的奇迹年之后,又过了三个十年,实际的、实用的 DSP 芯片才会出现。像 TRW 的 MPY016H 硬件乘法器和 TI 的 TMC0280 LPC 语音芯片这样的 DSP 零碎部件被戏弄了——真正的集成 DSP 指日可待——但直到 1980 年代,开云棋牌官网在线客服技术才发展到足以使可编程 DSP 芯片实用化。1980 年代和 1990 年代,单芯片 DSP 的数量呈爆炸式增长。
然后,20年后,单芯片DSP的时代戛然而止。
Wally Rhines 在 1970 年代为德州仪器 (TI) 工作,他非常想离开 TI 在德克萨斯州Lubbock的工厂。当他有机会管理 TI 在休斯顿的微处理器业务时,他选择了这个职位,因为他发现休斯顿是一个更具吸引力的居住地。此外,没有人想要这份工作。TI 的 16 位 9900 微处理器由于其缺乏竞争力的 16 位地址空间而陷入困境。由于未能在通用微处理器市场上分得一杯羹,莱茵斯在休斯顿 TI 新采用的微处理器团队创建了一个四管齐下的专用处理器战略。TI 分叉战略的四个方面是:
TMS320 DSP 系列
TMS340 系列图形处理器
TMS360 大容量存储处理器(很快无处可去)
用于 IBM 网络架构的 token-ring LAN 处理器TMS380
其中,TMS320 DSP 系列成为战略中的摇滚明星。正如Rhines在接受采访时所说,“……它给我们上了一课:绝望是创新之母。” 经过几年的酝酿,TI 于 1982 年 4 月推出了第一批 TMS320 DSP。然而,对于这样的新技术来说,仅仅构建芯片是不够的。多年来,TI 一直在宣传 DSP,并通过软件开发工具和培训为其新 DSP 提供支持,然后才看到这些部件取得重大成功。根据Rhines的说法,TI 又过了五六年才开始从这些产品中看到一些真正的收入。
TI 不是第一个
然而,TI 的 DSP 芯片肯定不是市场上的第一个。英特尔早在 1979 年就推出了命运多舛的 2920 模拟信号处理器,但该公司的另一款产品 16 位 8086 微处理器在其拥有 8 位外部数据总线的“弟弟”—— 8088 微处理器——成为 IBM PC 的核心。Intel 2920 从视线中消失了,很可能是因为 Intel 的全部注意力都被吸引到了通用微处理器市场。
TI 只是 1980 年代初期准备进入 DSP 领域的几家开云棋牌官网在线客服公司之一。根据 Forward Concepts 总裁和数十年来一直聚焦在DSP的分析师 Will Strauss 的说法,第一批发布的带有硬件乘法器/累加器的“真正”单芯片 DSP 是 AT&T DSP-1——由贝尔实验室开发,并在1979 年 5 月的 AT&T 内部会议上亮相 。1980 年 2 月在 IEEE 固态电路会议上,NEC又带来了NEC ?PD7720。AT&T 将 DSP-1 纳入其开创性的电话网络 5ESS 电子交换系统。随后,AT&T 继续开发了几代设备,其中包括 DSP16 和 DSP32(第一个浮点 DSP 芯片)。然而,AT&T DSP-1 及其后继者仍然被贝尔系统所拥有,
NEC ?PD7720 有一个 16×16 位乘法器和两个 16 位累加器,因此它是一个真正的单芯片 DSP。尽管 NEC 在 1980 年初宣布了该设备,但它直到 1981 年才与所需的开发工具一起上市。Strauss 指出,NEC ?PD7720 在日本取得了最大的成功,就像日本的许多可编程 IC 一样,这颗芯片在欧洲也很流行。
从 1986 年推出的 DSP56000 处理器开始,摩托罗拉开云棋牌官网在线客服成为 1980 年代争夺 DSP 芯片主导地位的另一个早期竞争者。摩托罗拉 DSP56000 有一个 24 位硬件乘法器和两个可以再扩展 8 位的 48 位累加器使用一对扩展寄存器。这种大数据字能力使摩托罗拉 DSP56000 能够处理高精度音频,因此摩托罗拉 DSP56000 迅速受到高端音频系统开发商的欢迎。
在 1990 年代决斗
DSP 领域的主要参与者在 1980 年代和 1990 年代争夺主导地位。他们生产了多代越来越强大的设备,这些设备具有多个硬件乘法器、浮点硬件乘法器和更大容量的片上存储器。到 1990 年代后期,TI、摩托罗拉和飞利浦已经开发出具有 VLIW 架构、多个乘法器/累加器以及用于特殊操作(例如位混频)的附加功能单元的 DSP 怪兽处理器。
当竞争性芯片技术突然出现并让 DSP 供应商蒙蔽时,更大、更强大的独立 DSP 芯片的开发突然停止。正如希克苏鲁伯小行星在 6600 万年前消灭了恐龙,并在岩层中留下一层薄薄的铱作为名片一样,FPGA 在千禧年之交让单芯片 DSP 党崩溃了。
DSP 的一个基本原理和一些历史相结合,解释了 FPGA 如何以及为什么迅速消灭单芯片 DSP 作为一个充满活力的处理器类别。
首先,原理:DSP 全是数学,DSP 性能依赖于非常快速地执行大量乘法/累加运算 (MAC) 的能力。这就是为什么最新的单芯片 DSP 具有多个硬件乘法器/累加器单元和附加功能单元以从乘法器/累加器路由非 MAC 操作的原因。设备拥有的 MAC 单元越多,执行 DSP 操作的速度就越快,因为大多数 DSP 算法都包含多个 MAC 单元可以利用的许多固有并行性。
现在,回顾历史:FPGA 于 1984 年首次亮相,当时 Xilinx 推出 XC2064。第一个 FPGA 只不过是一堆非常慢的门(实际上是基于查找表的可编程逻辑块),周围有很多可编程互连。这种早期的架构设计使 FPGA 能够在电路板设计上吞噬许多 TTL 芯片的逻辑。但是最早的 FPGA 速度很慢。他们没有威胁到当时的处理器,当然也没有影响到 DSP 领域。反正一开始不是。
FPGA 扩张时代
由于从一开始FPGA就打算骑着摩尔定律,因此FPGA发展到2000年,就从原来的Xilinx XC2064 微不足道的64逻辑块增长到数以万计的逻辑块。在一篇题为“Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology”的文章中,前 Xilinx 研究员 Steve Trimberger 将 1990 年代的 FPGA 增长时期称为“扩展时代”。在这个时代,FPGA 沿着摩尔定律曲线发展,并通过集成越来越多的可编程逻辑块而变得越来越大。然而,与 ASIC 相比,在 FPGA 内用可编程逻辑构建的电路相对较慢,在硅片使用方面效率低下,而且价格更高。因此,使用可编程逻辑构建的 MAC 相对较慢且成本较高。
后来,在 Trimberger 的“积累时代”——当 FPGA 添加硬化 MAC 块时——FPGA 突然成为 DSP 的重要竞争对手。FPGA 并不仅仅增加了一两个硬件乘法器;在摩尔定律的慷慨支持下,他们增加了几十个。
第一个集成快速硬件乘法器的 FPGA 器件系列是 Xilinx Virtex-II FPGA 系列。2001 年 7 月,Xilinx 宣布它已经出货了价值 100 万美元的 Virtex-II XC2V6000 FPGA,每个 FPGA 都有 144 个硬化的片上 18×18 位乘法器。因此,第一个包含硬件乘法器的 FPGA 的性能已经超过了当时存在的每一个单芯片 DSP,而且很可能超过了所有将要存在的单芯片 DSP。
Altera 紧随 Xilinx 并于 2002 年发布了其第一代具有 36×36 位硬件乘法器的 Stratix FPGA。Stratix FPGA 中的硬件乘法器可拆分为 18×18 位或 9×9 位乘法器,以允许更多的 MAC 运算,尽管位分辨率较低。在本世纪的头几年,Xilinx 和 Altera FPGA 系列在可以执行的同步 MAC 操作数量上远远超过单芯片 DSP。
今天的 FPGA 有很多 MACS
今天,英特尔(2015 年收购了 Altera)和赛灵思的一些最小的 FPGA 提供了大量的硬件乘法器。较旧但仍然可用的 Intel Cyclone IV FPGA 系列的成员包含 80 到 532 个 18×18 位嵌入式乘法器。同样,较旧的 Xilinx Spartan 6 FPGA 系列包括具有 8 到 180 个 DSP48A1 slice 的器件,而较新的 Xilinx Artix FPGA 系列的成员包含多达 740 个 DSP48E1 slice。每个 DSP48A1 Slice 包含一个 18×18 位乘法器和一个 48 位累加器,而每个 DSP48E1 Slice 包含一个 25×18 位乘法器和一个 48 位累加器。DSP48 切片乘法器中的位数似乎随着时间的推移而增加。
Intel 和 Xilinx 的最大 FPGA 具有数千个 DSP 模块,并且能够比最快的 DSP 芯片每秒提供三个数量级的 MAC。例如,最大的 Intel Stratix 10 TX FPGA 系列的成员提供 5760 个精度可调 DSP 模块,每个模块包含两个 18×19 位硬件乘法器,可以配置为一个 27×27 位乘法器。在一个大芯片上多达 11,520 个硬件乘法器。最大的 Xilinx Virtex UltraScale Plus FPGA 包含 12,288 个 DSP48E2 slice,每个 slice 包含一个 27×18 位乘法器和一个 48 位累加器。
请注意,英特尔和赛灵思并不是唯一将硬件乘法器塞入其 FPGA 的 FPGA 供应商。您可以从 Achronix、Lattice 和 Microchip 获得 FPGA,这些 FPGA 具有内置在设备中的各种 DSP 硬件(MAC)。例如,最近发布的 Lattice CertusPRO-NX FPGA 有两种尺寸可供选择,具有 96 或 156 个片上 18×18 位乘法器。
如果您仍想编写 DSP 代码并在单片 DSP 上运行它,你可以使用恩智浦提供 DSP56300、DSP56700 和 MSC8000 DSP 系列。这些是摩托罗拉 DSP 系列最新的——也可能是最后的——单芯片后代。此外,您仍然可以购买现成的 TI TMS320 FPGA 系列成员。同时,硬件乘法器在通用处理器的设计中变得非常普遍,在那里您可以找到完全能够提供可观的 DSP 性能的巨型 512 位 SIMD 矢量单元,甚至在微控制器中,这样您就可以更轻松地将 DSP 集成到即使是最小的嵌入式设计。
对于这一切,要感谢摩尔定律。
然而,在这一点上根本没有可比性。如果您的高性能 DSP 应用需要大量快速 MAC 运算,那么具有成百上千个快速硬件乘法器的 FPGA 是独一无二的合格产品。