建立适当的系统架构减轻PC负担

描述

  音频和音乐算法所需的处理对PC的要求越来越高。如今,PC经常执行与音频和音乐相关的若干功能:音乐合成,采样率转换,空间增强和3D本地化。很快,他们也将被要求支持AC-3解码。这些功能中的任何一个都给PC带来了沉重的负担;总的来说,负担可能会很严重。适当的系统架构允许PC在这种负担下唱歌而不是呻吟,并且以市场容忍的成本这样做。

  在试图决定如何支持这些算法的处理要求时,两个显而易见的可能性突显出来:

  在主机Pentium上运行算法

  在单独的芯片上运行算法(固定功能或可编程DSP)。

  哪个架构更好?要回答这个问题,必须定义如何衡量“更好”。如果最低硬件成本是最重要的标准,则解决方案1占优势,因为其增量硬件成本为零。如果需要考虑最高性能,则解决方案2占优势:主机CPU的增量负载可以忽略不计,单独的芯片可以设计为提供所需的性能。然而,在多媒体中,最具成本效益的解决方案是混合,其中一些功能在主机上运行,一些功能在单独的硬件中运行。

  Pure Host的问题 - 基于

  纯主机解决方案的低成本具有不可否认的吸引力。但是,必须意识到这种低硬件成本会带来性能成本。有趣的DSP应用 - 如波表合成器 - 可以消耗超过100 MHz Pentium的1/3。 CPU仍然需要执行其主要功能 - 运行合成器提供音乐伴奏的应用程序??因此这种额外的加载会对性能产生显着影响。授权主机处理器的速度将继续提高,使得任何给定DSP应用程序的负载越来越小,但这种增加可能无法恢复主应用程序的性能。 DSP程序员和其他程序员一样贪婪。在大多数情况下,它们可以通过额外的计算使DSP应用程序更好地工作因此,随着CPU速度的增加,它们在主处理器上的应用需求可能会增加。更快的CPU不是灵丹妙药的第二个原因是系统集成商需要更快的CPU来支持多个DSP应用。额外的加载将继续挤压应用程序,迫切需要主机CPU的注意力。

  

华强PCB

  图1:基于主机的合成器的架构

  基于纯DSP的问题

  通过将DSP应用程序移动到单独的芯片,主机CPU可以将注意力集中在它的主要义务是允许系统以与其额定速度一致的方式运行。但是,单独的芯片会增加成本。为了正确评估替代架构,我们需要认识到这个成本要小于额外芯片的成本。所有系统 - 甚至是在主机CPU上运行DSP应用程序的系统 - 都必须有一个CODEC来转换数字形式的模拟信号。可以将DSP功能的电路与CODEC集成在一起,因此硬件加速的真正成本是这种附加硬件的增量成本。这种增量成本可能仍然很大,但显然小于单独芯片的成本。

  

华强PCB

  图2:基于DSP的系统的标准架构

  当我们考虑将DSP功能从主机CPU上移开的机会时,我们面临另一种选择:使用a实现功能可编程DSP,或在固定功能硬件中实现。应该注意的是,主机CPU的可编程性代表了基于主机的解决方案的第二个优点,因为它允许主机CPU根据其运行的软件执行各种DSP功能。我们可以通过基于可编程DSP的独立硬件来保持这种多功能性。 DSP在执行DSP任务方面具有明显优于CPU的优势,因为它们能够以低成本提供正确的计算能力。但是,与DSP相关的存储器会使成本过高。为了最大限度地降低成本,我们必须最大限度地减少内存。

  最小化内存的传统方法是在专用硬件中构建功能。但硬连线解决方案还有其他问题。设计专用硬件非常耗时。在纠正错误时,硬件设计中固有的延迟会更加复杂。虽然基于DSP的解决方案只需通过更改代码就可以修复错误,但硬连线解决方案需要额外的硬件设计,掩模更改和新芯片制造。同样的缺点适用于性能增强或新功能的引入。可编程DSP还允许引入特殊功能以实现产品差异化。虽然可编程DSP的这些优势很有价值,但严苛的竞争现实是市场不会容忍它们的巨大成本。

  考虑到可编程DSP的额外成本时,一个减轻因素是它们的可编程性使它成为可能可以使用相同的硬件来执行多种功能。例如,可以简单地通过加载不同的软件来重新配置能够支持音乐合成软件的芯片以用于AC-3解码。使用固定功能芯片提供这两种功能将需要多个芯片,从而削弱了它们的成本优势。因此,虽然固定功能芯片通常为特定功能提供最便宜的解决方案,但是当您在多个功能中按比例分配成本时,可编程DSP可能不会更昂贵 - 甚至可能更便宜。

  尽管如此,为了最大限度地发挥PC领域可编程DSP的优势,我们必须寻求降低成本的方法。如前所述,基于可编程DSP的硬件解决方案的增量成本不是由算术单元支配,而是由存储器特别是SRAM支配。幸运的是,新的混合架构可以保留可编程解决方案的优势,同时减少所需的内存量。

  平衡架构

  MIPS是主机CPU价格昂贵; DSP上的内存很昂贵。因此,平衡架构将内存密集型功能移至主机,将计算密集型功能移至DSP。作为如何执行此分区的说明,请考虑EuPhonics EuSynth-2波表合成器。波表合成器的功能可以分为两类:控制器代码和合成内核。控制器代码的主要功能是解释MIDI数据。它控制合成内核,它是产生音频输出的代码。合成内核是计算密集型的,因为它需要以输出采样率(通常为32 kHz)为32个声音生成新的输出样本。要生成新的输出样本,需要更新包络,LFO和动态滤波器,并且可能必须执行合唱和混响等音频效果。 DSP经过优化,可以执行这些高度重复的数值计算。

  另一方面,控制器代码是内存密集型的,因为它需要跟踪合成器的状态。当它消化传入的MIDI流时,它会更新一个表,在该表中跟踪每个语音正在做什么。可下载样本的新标准可能需要额外的存储空间来跟踪样本所在的位置,它们应如何表达以及如何识别它们(通过MIDI命令)。请注意,解释MIDI流不是计算密集型的。 MIDI带宽相对较低(通过串行连接为31,250 b/s),无论如何,所需的逻辑(测试和分支)对CPU来说比DSP更舒适。在主机上运行控制器代码对可用主机资源的影响最小,因此应用程序基本上全速运行。

  大多数DSP应用程序采用相同的控制器/内核方式构建。另一个突出的例子是调制解调器调制解调器的实时要求使得难以在非实时操作系统(如Windows 95)下在主机上运行它们,并且计算要求带来了前面提到的相同负担。但是,包括压缩和纠错(V.42和V.42bis),AT命令集和呼叫进程监控的控制器部分??在主机上运行整齐,只留下“数据泵”的内核调制解调器??在DSP上运行。

  

华强PCB

  图3:音乐合成的平衡架构

  平衡架构的潜在缺点是控制器和内核之间通信所需的总线带宽大于MIDI输入所需的带宽。但是,PCI总线提供的带宽远远超过平衡架构所需的带宽。对于音乐合成,典型的参数流仅需要总线带宽的约1%。此外,这种带宽要求仍然低于基于主机的解决方案中PCM所需的带宽。

  平衡架构的优势在于其成本效益。它通过将内存需求减少至少一半来最大限度地降低DSP的成本。它通过平衡许多系统资源(主机CPU,主机内存,PCI总线和DSP)之间的负载来实现这种减少,从而避免任何一个的过度负担。以这种方式传播负载可在保持性能的同时最大限度地降低成本。因此,平衡架构是一种满足快速发展但对成本敏感的行业需求的解决方案。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分