EEJournal

专题文章
现在就订阅

单片机DSP简史,第二部分

经过20年的稳步发展,fpga成为DSP丛林中的顶级捕食者

在1948年DSP的奇迹年之后,又过了30年,真正实用的DSP芯片才出现。像天合公司的MPY016H硬件倍增器和TI公司的TMC0280 LPC语音芯片这样的DSP碎片已经被人们所知晓——真正的集成DSP已经近在咫尺——但直到20世纪80年代,半导体技术的进步才足以使可编程DSP芯片成为现实。单芯片dsp的数量在20世纪80年代和90年代呈爆炸式增长。20年后,单芯片DSP的时代戛然而止。(注:本文是“单芯片DSP简史”的后半部分。

上世纪70年代,沃利•莱茵斯还在德州仪器公司(Texas Instruments)工作,他非常想离开德州仪器公司位于德克萨斯州卢伯克的工厂。当有机会让他管理德州仪器在休斯顿的微处理器业务时,他接受了这个职位,因为他发现休斯顿是一个更有吸引力的地方。而且,没人想要这份工作。TI公司的16位9900微处理器由于其没有竞争力的16位地址空间而被淘汰。由于未能在通用微处理器市场上占据一席之地,莱茵斯在德州仪器公司(TI)新成立的微处理器团队创建了一个四管齐下的特定应用处理器战略。透明国际分叉战略的四个方面是:

  • TMS320 DSP家族
  • TMS340系列图形处理器
  • TMS360大容量存储处理器(很快就销声匿迹了)
  • 用于IBM网络架构的TMS380令牌环局域网处理器

其中,TMS320 DSP家族成为了战略中的摇滚明星。正如莱茵斯在一次采访中所说,“……它给我们上了一课:绝望是创新之母。”经过几年的酝酿,TI于1982年4月推出了第一批TMS320 dsp。然而,仅仅制造芯片对于这样的新技术是不够的。TI推广DSP,多年来一直用软件开发工具和培训来支持其新DSP,直到看到这些部件的巨大成功。据莱茵斯说,TI又花了五六年时间才开始从这些产品中看到一些真正的收入。

TI不是第一个

然而,德州仪器的DSP芯片肯定不是市场上的第一款。英特尔在1979年推出了命运不太好的2920模拟信号处理器,从而在早期取得了领先地位,但该公司的另一款产品,16位8086微处理器,在其拥有8位外部数据总线的小兄弟——8088微处理器——成为IBM个人电脑的核心时,却火了起来。英特尔2920从人们的视线中消失了,很可能是因为英特尔的全部注意力都被吸引到了通用微处理器市场上。

在20世纪80年代早期,TI只是准备进入DSP领域的几家半导体公司之一。根据Forward Concepts总裁和几十年的DSP分析师Will Strauss的说法,第一个具有硬件乘法器/蓄能器的“真正的”单芯片DSP是AT&T的DSP-1(由贝尔实验室开发,并于1979年5月在AT&T内部首次采样)和NEC的PD7720(在1980年2月的IEEE固态电路会议上公布)。AT&T将DSP-1纳入其开创性的5ESS电子交换系统,用于其电话网络。AT&T随后继续发展了几代设备,其中包括DSP16和DSP32(第一个浮点DSP芯片)。然而,AT&T的DSP-1及其后继者仍然被贝尔系统所控制,从未向其他系统公司商用。

NECµPD7720有一个16×16-bit倍增器和两个16位累加器,所以它是一个真正的单芯片DSP。尽管NEC在1980年初发布了这款设备,但直到1981年,它才与所需的开发工具一起上市。Strauss指出,NEC μ PD7720在日本取得了最大的成功,就像来自日本的许多可编程ic一样,它在欧洲也很受欢迎。

在20世纪80年代,摩托罗拉半导体成为DSP芯片主导地位之争的另一个早期竞争者,始于1986年推出的DSP56000处理器。摩托罗拉DSP56000有一个24位硬件倍增器和两个48位累加器,这些累加器可以通过一对扩展寄存器再扩展8位。这种大数据字能力使摩托罗拉DSP56000能够处理高精度音频,因此摩托罗拉DSP56000迅速受到高端音频系统开发人员的欢迎。

20世纪90年代的决战

DSP领域的主要参与者在20世纪80年代和90年代争夺主导地位。他们生产了多代功能日益强大的设备,具有多个硬件乘法器、浮点硬件乘法器和更大容量的片上内存。到20世纪90年代末,TI、摩托罗拉和飞利浦已经开发了具有VLIW架构的DSP怪兽处理器、多重乘法器/累加器,以及用于特殊操作(如bit swizzling)的附加功能单元。

更大、更强大的独立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从最初Xilinx XC2064 FPGA中微不足道的64个逻辑块增长到2000年的数万个逻辑块。在《IEEE学报》上发表的一篇题为"FPGA的三个时代:回顾FPGA技术的前三十年前Xilinx研究员Steve Trimberger将20世纪90年代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-bit乘法器。因此,第一个包含硬件乘法器的FPGA已经可以超过当时存在的所有单芯片DSP,而且很可能超过未来存在的所有单芯片DSP。

Altera继Xilinx之后,于2002年发布了第一代Stratix fpga 36×36-bit硬件乘法器。Stratix fpga中的硬件乘法器可分为18×18-bit或9×9-bit乘法器,以允许更多的MAC操作,尽管分辨率较低。在本世纪的头几年,Xilinx和Altera FPGA家族在可以同时执行MAC操作的数量上远远超过了单芯片dsp。

今天的fpga有很多mac

如今,来自英特尔(2015年收购Altera)和Xilinx的一些最小的fpga提供了大量的硬件乘法器。老式但仍然可用的Intel Cyclone IV FPGA家族成员包含80到532 18×18-bit嵌入式乘法器。类似地,较老的Xilinx Spartan 6 FPGA家族包括具有8到180个DSP48A1片的设备,而较新的Xilinx Artix FPGA家族成员包含多达740个DSP48E1片。每个DSP48A1片包含18×18-bit乘法器和48位累加器,而每个DSP48E1片包含25×18-bit乘法器和48位累加器。dsp48片乘数器中的比特数似乎随着时间的推移而增加。

英特尔和Xilinx最大的fpga具有数千个DSP块,能够比最快的DSP芯片每秒多提供3个数量级的mac。例如,最大的英特尔Stratix 10 TX FPGA家族的成员提供了5760个可变精度DSP块,每个块包含两个18×19-bit硬件乘法器,可以配置为一个27×27-bit乘法器。这相当于一个大芯片上有11,520个硬件乘法器。最大的Xilinx Virtex UltraScale Plus fpga包含12,288个DSP48E2片,每个片包含27×18-bit乘法器和48位累加器。

请注意,Intel和Xilinx并不是唯一将硬件乘法器塞入FPGA的FPGA供应商。您可以从Achronix, Lattice和Microchip获得fpga,并将各种数量的DSP硬件(mac)内置到设备中。例如,最近宣布的Lattice CertusPRO-NX FPGA有两种尺寸可供选择,具有96或156片上18×18-bit乘法器。(参见“Lattice推出CertusPro-NX”)。

如果你仍然想编写DSP代码并在单芯片DSP上运行,你可以。恩智浦收购了摩托罗拉半导体,提供DSP56300, DSP56700和MSC8000 DSP系列。这是最新的——很可能是最后的——摩托罗拉DSP系列的单芯片后代。此外,您仍然可以购买现成的TI TMS320 FPGA家族成员。与此同时,硬件乘法器在通用处理器的设计中已经变得非常普遍,在那里你可以找到完全能够提供可观的DSP性能的512位SIMD矢量单元,甚至在微控制器中,这样你就可以更容易地将DSP集成到最小的嵌入式设计中。这一切都要感谢摩尔定律。

然而,在这一点上根本没有可比性。如果您的高性能DSP应用程序需要大量快速MAC操作,具有数百或数千个快速硬件乘法器的fpga是唯一适合这项工作的。

你呢?你怎么做DSP?何不在下方留言呢?

关于“单片机DSP简史(下)”的12个思考

  1. 早在90年代初,我就使用了与Cell处理器具有类似架构的TI C80 DSP。从理论上讲,这是一个很棒的设备,直到你试图使用它与它的根本缺陷传输控制器来处理设备上和下的所有IO !我们用C80来模拟热成像相机光学透镜的光学传递函数。
    在同一个系统中,我们使用英特尔I860矢量处理器将飞机的3D线框模型转换为我们插入直播视频的2D栅格化线框图像。
    我们使用了一个4006,6k门,FPGA连接到I860来获取2D线框数据,并将其插入到来自防御系统的实时视频馈送中。FPGA使用Gouraud双线性插值着色技术对线框图像进行着色。在这个阴影下,6K门FPGA比I860快100倍以上,与唯一的竞争对手SGI Onyx 2相比,视频延迟为256uS,具有10帧,200mS,视频管道延迟!
    正是这一事件使我相信fpga将接管计算领域,特别是在DSP领域。1995年,我在Nallatech全职工作,Xilinx的Virtex FPGA及其blockRAMs的推出是一个开创性的时刻,突然之间,FPGA可以承担繁重的2D图像处理DSP任务,让传统的DSP相形见绌!那是1998年。然后,我花了5年时间向赛灵思宣传他们在DSP领域有巨大的市场机会,直到2003年,当时的赛灵思首席执行官Wim Roelandts才向全世界承认,DSP对赛灵思来说是一个价值20亿美元的市场机会。

    现在在这里,我们今天试图重新教育我们自己的DSP,但称之为数据中心计算。一报还一报!

    1. 谢谢你分享你的回忆,Acantle1。很明显,你在很多方面都是领先的。i860除外。在我看来,这不是一个很好的设计。

  2. Mot DSP56000有一些突出的历史注意,但已被ADI SHArC很好地取代。为什么SHArC甚至ARM处理器没有出现在这段历史中?

    1. 嗨rbj。谢谢你的评论。我考虑过包括ADI Sharc。我只是找不到任何关于这些DSP的重要信息,除了它们是一个成功的和流行的DSP系列。在你看来,他们在技术上带来了什么新的东西吗?他们有什么新的突破吗?ADI公司自己的网页在这些问题上非常谦虚,只列出了规格。至于ARM处理器,它们显然不是dsp。大多数都没有使用硬件mac进行增强,没有哈佛架构。只是可以用于DSP的可靠通用处理器,就像其他几十个通用处理器一样。 –Steve

  3. 有一篇MS Research的论文《牛肉在哪里?》他们得出的结论是,fpga在10倍时钟频率下运行的性能优于传统cpu。因此Project Catapult在他们所有的数据中心都安装了fpga。

    一个结论是,fpga不需要从缓慢的内存中获取指令。采用传统的加载/相乘/添加/存储/分支架构的嵌入式软处理器由于FPGA时钟的fmax而速度较慢。

    不需要获取DSP数据,也不需要获取指令。所以这取决于乘法/加法并行性。

    当然,cpu的管道延迟必须是一个因素,因为加法必须在乘法结束后完成。

    1. 你说得对,卡尔·史蒂文斯。fpga将数据保持在计算硬件附近,并且由于它们是物理编程的(用英特尔的话说就是“空间编程”),它们没有指令获取延迟。然而,我认为这仍然归结于一个事实,即fpga比通用处理器多装配三到四个数量级的硬件mac,这是最大的区别。通用处理器的时钟速度可能快5倍,但fpga在mac硬件数量上压倒一切。如今,即使是便宜的机型也有超过100个硬件mac。

  4. Steve的文章很好地说明了fpga导致了单芯片DSP在千禧年高性能应用中的消亡。为了完善这个故事,我想添加另外两个因素,导致单芯片DSP也从中低端性能的应用程序中消失。
    RISC的先驱们在1975-1985年的基准测试中没有包括数字信号处理(小写“dsp”)任务,因为关键dsp算法的性能要求在cpu中无法实现。这些要求导致了单芯片dsp在20世纪80年代的兴起。到了20世纪90年代,史蒂夫提到的DSP算法、LPC算法、APC算法等等,已经走出了期刊的版面,进入了批量生产。cpu和dsp融合的时机已经成熟。为了软件兼容性,因为cpu已经有了复杂的内存管理,我们需要为cpu增加DSP支持——SIMD算法、饱和等——而不是为DSP增加更复杂的内存管理。在1999年的微处理器论坛上,MIPS、ARM和ARC isa的dsp扩展都在一次会议上宣布了。同年,英特尔向x86 ISA交付了其首个流式SIMD扩展(SSE)。
    CPU/DSP的融合从已经有CPU的系统中消除了单独的DSP,但是更大的嵌入式处理世界呢?在我看来,单芯片dsp为主要dsp任务的新专用标准产品(ASSPs)注入了动力。随着回声消除、动态时间扭曲、Wi-Fi、数字电视解码等ap的销量激增,与早期的通用dsp相比,在更窄的细分市场上摊销开发变得可行。建立assp来优化成本和功率不仅是可行的,而且是必要的。具有讽刺意味的是,通用单芯片DSP因其自身的成功而消失了,但运行数字信号处理任务的芯片(包括cpu和嵌入式assp)变得普遍起来。

    1. 谢谢你的分析,帕特·海斯。当然,任何有能力开发和ASIC的人都有优势。如果你能找到一个完全满足你需要的ASSP,或者足够接近,你就领先了好几光年。也表示

  5. fpga还可以非常快地进行通用计算。If /else, for, while,表达式求值,等等。
    Add, sub, mpy, and, or, xor,但现在不是div,因为div是顺序的。
    它需要3个真正的双端口ram块,一个比较器,一个加法器(Mac)和几百个lut。

    基本读取两个操作数地址和一个操作符地址开始,然后每个时钟周期读取两个操作数和一个操作符,并在最后一个周期写入结果。这是一个时钟开始,每个操作数一个。在接下来的两个起始操作数被读取时写入结果。

    源代码被编译成一个抽象语法树,然后语法步行者以正确的顺序获取节点进行计算。

    我刚刚发布了GIT的开源。Karl15 / OSAstEng (OpenSourceASTEngine)

    VisualStudio19和CSharp (c#) Compiler API可以生成显示评估序列的输出,并为blockram生成内容。

    没有长管道、乱序执行、分支预测、指令获取或缓存。只要输入内存内容就可以了。

    1. 谢谢你的额外评论,卡尔·史蒂文斯。如果你需要非常快,fpga通常是最好的选择。但是,您还需要登记功耗、散热和单位成本。软件编程简单多了。如果可以接受性能,处理器通常是更好的选择。除非你确实需要更多的表现。也表示

      1. 嗨,史蒂夫:我没有说清楚-我有一个FPGA设计,可以使用软件程序使用的相同的关键字和表达式进行编程。事实上,源代码是由c#编译器编译的。然后使用编译器API在预配置的FPGA上生成blockram的内容。从软件的角度来看,它是一个没有典型的加载/存储/分支/添加ISA的CPU。
        相反,它有if/else, for, while和c#源代码中使用的表达式。

        使用FPGA可以构建一个运行的演示,而不需要芯片构建的成本。

        因此,编写程序,编译,调试,加载块ram,然后运行。

        Quartus/PlugInWizard可以轻松地连接ram、乘法、加法器、比较器和一个逻辑网络,需要几百个lut。

        每个时钟边缘都做一些有用的事情,而不是推进一英里长的管道。

        1. VHDL特别适合于创建代码,这些代码可以像软件一样编写,但编译结果是合成的逻辑电路,可以直接使用Quartus、Vivado或甚至ISE/Planahead或任何其他支持VHDL 93的通用工具来合成。我最近发表了一篇关于newton-raphson除法的博客文章,在其中我解释了如何使用自定义记录类型来合成一个除法模块,该模块允许使用create_division(除法)和request_division和get_division result等命令。我还写了几篇关于在fpga上计算微分方程的博客文章。我还在github上发布了所有的代码。我的github用户名也是johonkanen

留下回复

有特色的博客
2023年3月7日
我们探讨了SoC设计仿真和验证在云中与on-prem解决方案的优势,为芯片设计人员提供有限的签名资源。文章如何在云中获得可预测的容量提升的高性能模拟首先出现在从…
2023年3月7日
我很高兴地宣布Cadence推出5000万美元的种族平等基金,这是由加拿大皇家银行全球资产管理公司管理的一项关键投资。这一开创性举措是我们继续致力于促进社会正义的重要一步。种族不平等的……
2023年1月19日
你是否在调整表带或更换手表电池时遇到了问题?如果是这样,我是好消息的携带者....

有特色的视频

第一个CXL 2.0 IP互操作性演示与遵从性测试

Synopsys对此

在本视频中,高级研发工程师Rehan Iqbal将指导您通过Synopsys CXL IP通过合规测试,并演示我们与Teladyne LeCroy Z516锻炼器的无缝互操作性。这个首创的互操作性演示证明了Synopsys致力于提供可靠的IP解决方案。

点击这里了解更多关于Synopsys CXL的信息

特色粉笔谈话亚博里的电子竞技

蓝牙LE音频
蓝牙LE音频是当今音频创新的一个突出组成部分。在这一期的Chalk Talk中,来自亚博里的电子竞技北欧半导体公司的Finn Boetius和Amelia Dalton讨论了蓝牙LE音频的内容、位置和方式。他们仔细研究了蓝牙LE音频配置文件,蓝牙LE音频的架构,以及如何开始在您的下一个设计中使用蓝牙LE音频。
2023年1月3日
9482的浏览量
Baidu