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-——由贝尔实验室开发,并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是独一无二的合格产品。

文章来源:摩尔新闻

1.STM32U5,意法半导体新打造的超低功耗MCU旗舰版

2.【例说Arm-2D界面设计】从不规则图标的显示说起

3.STM8CubeMX和STM32CubeMX功能一样吗?

4.这九种情况下的单片机项目尽量不要接~

5.偷偷把室友的STM32换成了GD32后。。。

6.剖开苹果A15芯片,看看die的布局!

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

独立DSP芯片兴衰史:FPGA吹响了丧钟相关推荐

  1. 基于DSP芯片的FPGA的配置方法

    文章目录 前言 1 配置原理 2 FPGA配置过程 2.1复位阶段 2.2 配置阶段 3 配置文件格式的转换 总结 前言 目前,复杂的数字控制电路中一般都包含DSP和FPGA两个主控芯片,DSP主要实 ...

  2. vivo X20:内置独立DSP芯片 逆光拍照也清晰

    9月21日晚,vivo智能手机在北京居庸关长城盛大发布了其年度重磅新品X20全面屏手机.全新的产品命名.全面屏设计和"vivo图像魔方"的加入,为vivoX20赋予了超越以往viv ...

  3. DSP芯片概述--7.24

    1 DSP芯片特点: 采用哈佛结构      程序存储器和数据存储器分开,有独立的数据总线和程序总线,可独立编址和独立访问.      采用多总线结构       可同时进行取指令和多个数据存取操作, ...

  4. 基础知识,DSP芯片介绍

    基础知识,DSP芯片介绍 1 什么是DSP芯片     DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器.DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线 ...

  5. DSP芯片F2803x系列之PWM模块及高精度PWM使用

    DSP芯片F2803x之ePWM模块 文章目录 1 ePWM模块概述 2 ePWM模块构成 3 ePWM各子模块 3.1 TB模块 3.2 CC模块 3.3 AQ模块 3.4 DB模块 3.5 PC模 ...

  6. DSP芯片有什么特点?如何对DSP芯片进行分类?

    芯片" target="_blank">DSP芯片是芯片中的一种类型,如今,DSP芯片在很多场景下都有所应用.为增进大家对DSP芯片的认识,本文将对DSP芯片的特点 ...

  7. 【FPGA 芯片设计】FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )

    文章目录 一.FPGA 简介 二.FPGA 架构 三.FPGA 芯片相对于传统芯片的优点 一.FPGA 简介 摩尔定律 : 价格不变 , 在集成电路上 电子元器件的数量 , 18 ~ 24 个月增加一 ...

  8. DSP芯片在实时图像处理系统中的应用

    <script language=javascript src="http://www.china-vision.net/technology/GetHits.asp?ArticleI ...

  9. dsp和通用计算机的区别,dsp芯片是什么_dsp芯片和通用微处理器有什么区别

    对于dsp芯片很多人都会比较陌生,它主要运用在信号处理.图像处理.声音语言等多个场所.那么dsp芯片到底是什么呢?它和通用微处理器有什么不同.接下来小编就简单的给大家介绍一下dsp芯片是什么及dsp芯 ...

最新文章

  1. 难点电路详解之负反馈放大器电路(1)
  2. Spring+XFire WS-Security安全认证开发感悟
  3. SQL Server 2012笔记分享-6:理解内存管理
  4. 用公众号获取 任意公众号文章列表 软件还是免费
  5. 从条纹边框的实现谈盒子模型
  6. mysql5批处理_转关于mysql5.5 的批处理讨论(转载)
  7. 知识图谱之社交网络分析(SNA)之python处理
  8. 办公室计算机网络使用情况,办公室中有多台电脑上网需求的解决方法
  9. Anti-alias的前世今生-常用反走样算法总结
  10. 病毒是什么?地球上万物都是相生相克的,那么病毒在自然界的天敌是什么?...
  11. VBA 获取最大行数和最大列数
  12. FreeRTOS学习 消息队列
  13. python lambda函数for 字符串_Python Lambda
  14. HTML如何设置复选框、单选框以及默认选项?
  15. Java程序员非技术性面试题目
  16. 运维(24)-运维技能知识图谱
  17. 如何解决ios横竖屏切换布局错乱的问题
  18. Golang模拟电商并发场景-抢购商品
  19. 中国人民公安大学信息技术与网络安全学院 《网络攻击与防御》
  20. 5.4.1 虚拟专用网VPN

热门文章

  1. Python爬虫怎么挣钱?解析Python爬虫赚钱新方式
  2. SAP中工艺路线删除后无法释放组计数器的问题实例
  3. ChatGPT到底是免费的还是收费的?
  4. chatgpt收费吗
  5. 两个路由器连接后,子路由的IP地址修改问题
  6. C#如何打印输出原版数组
  7. appstore 收款: 如何绑定收款的银行卡?
  8. 源程序到可执行程序的编译过程
  9. 基于Vue+element表格删除最后一页的最后一条数据后回显数据为空解决
  10. Python画樱花树 !