本帖最后由 ivis 于 2013-7-12 18:04 编辑
PCEVA,有个说实话的氛围,
简单来说,我对创新是有感情的,很多创新的卡,我都有,不喜欢他的硬件,我也找个理由喜欢他家的软件,比较丰富。
毕竟曾经也让人激动过,但是这不妨碍我吐槽他。当然做市场的,和做技术的是两个领域,有些东西,还是要详细分析。
市场往往就是这样,对于一个厂商或一个产品,当我们开始怀念他,可怜他的时候,就已经很惨淡了。
来看这次用的这个芯片——CA0132
创新又在讳莫如深,故伎重演。不会放出什么详细的东西来。
好比当年的EMU10K1,宣传的那个恐怖,1000MIPS,媒体也跟着到处惊讶,到处赞叹。把同时代的XXX的几个产品,比的灰头土脸,结果最后揭晓了结果,什么1000MIPS。。。。。。。
看个表格,
SBLIVE采用的当时宣传为1000MIPS的EMU10K1,竟然只有335MIPS,而号称四倍于EMU10K1的EMU10K2,也仅仅是424MIPS强。姑且认为这是宣传手段吧。你妹的,行业不景气,忽悠也是战斗力,
CA20K1号称是10000MIPS,CA20K2号称有12000MIPS,当然,20K2是桥接芯片和协议转换芯片,占了运算量。
CA0132一出来,在国外一些论坛就被骂了,然后把处理能力标称改到了600MIPS,还是被骂了,又换了说法,改到了1200MIPS,还是被骂了。这里面的详细原因,我后面会说。
别研究那么多了,简单一句话,别看广告,看音效。
创新的东西,不论他夸大不夸大,够用是肯定的,关键是能不能发挥好,挖掘好。
关于MIPS:每秒执行百万指令数,与之类似的还有MFLOPS。每秒执行百万浮点操作数。这里我们要知道,MIPS理论性的成分很多,用系统能够达到的执行指令的最大数度来衡量处理器的性能。其实这些指标的实际应用价值是有限的,只是个理论上的最大性能。系统中的带宽、延迟、I/O性能等都会影响这个指标。所有系统还是低于这个理论指标的执行速度的。
这是同样采用这个CA0132的高端货。
其实我还曾经想过,为什么技嘉不单独出个声卡,直接随着高端主板赠送就OK,也差不了多少。就类似这个东西。
后来想想,也没什么必要。这个东西,充其量,还真是个板载的档次。
再者估计也有授权方面的原因,创新也不喜欢别人插足自己的地盘。他如果早开放一些东西,早确立一些东西,也不至于现在这个屌丝样。要不是当年浪费了一些东西,自废武功,抱微软的大腿,结果VISTA出来,人家微软换口味了,创新被玩了。匆匆忙忙搞炼金,也没炼出个好前途。名字叫创新,却不好好琢磨着创新,唉,就这样了。
说了这么多,这个芯片究竟是如何,大家都无法得知,创新保密的。我也没拿到多少东西,
不过我们可以从一些方面分析一下。这是产品宣称的参数:
Sound Core3D,主要卖点包括高品质模拟音频回放/录制、低功耗、高集成度、低成本,针对主板集成HD Audio声卡和消费电子嵌入式应用领域。Sound Core3D在一颗芯片中集成了多个高性能DSP数字信号处理器核心以及高质量HD Audio Codec,具体包括:4个独立处理器核心的创新Quartet DSP,6声道24bit 102dB数模转换,4声道24bit 101dB模数转换,集成耳放,数字麦克风接口,S/PDIF输入输出以及GPIO。
功能方面,EAX Advanced HD 5.0音效自然不会缺席,Sound Core3D还通过了Dolby Digital解码认证,支持CrystalVoice语音处理和THX TruStudio Pro音效。
Sound Core3D为单芯片56-pin QFP封装,技嘉已经确定将首家在主板中搭载Sound Core3D集成声卡.
下面我就从这些参数揭示的东西,出发,来谈谈这个芯片能实现一下什么样的功能。
第一个 —— 关于是SRC的问题
谈到创新的东西,让人必须想起的一个东西就是SRC,这个问题一直困扰了创新多年。那么我们就先从SRC说起。
SRC(Sample Rate Convertor采样频率转换器)问题一直是创新声卡比较敏感的问题。SRC是AC97规范中的一个内容。AC97(Audio CODEC 97),是Intel联合Creative Labs,Analog Device,NS和Yamaha五家业界巨头制定的多媒体声卡规范。
AC’97最大的特点就是双集成结构,分为数字信号控制和音频编码两个部分。为了降低电磁干扰,将数模转换(D/A)和模数转换(A/D)部分从主芯片中剥离,组成一个独立的处理单元来进行声音采样和编码。多出现与板载声卡上,一般是48pin QFP封装,也有的采用68pin封装。这样做的好处是规范设计,降低成本,将除信号采样编码外的各种音频处理都由CPU来进行运算,牺牲少量的系统资源和附带功能,以换取性价比,尤其在主板上搭载的比较多。
AC’97出于节省成本的规范,里面有不少损害音质的操作,这就是我们要谈到的如SRC问题。AC’97规范中所有信号重新转换成一个统一的48kHz采样率输出,在非整数倍的转换中,尤其是当音源音量大时,谐波失真严重,噪声大;当然和算法有关系,但是SRC的影响是器决定作用的。
AC97 SRC一般都通过软件运算转换,受驱动影响明显。也用采用硬件转换的,这就是我们提到的EMU10KX。我们以EMU10K1为例
如图,我们看到在EMU10K1的内部由一个SRC转换模块,负责数字音频信号的转化。数字音频接收器,接收从CD通过S/PDIF输入的数字信号,以及从麦克风输入的由ADC转换后的数字信号。然后通过SRC把其他非标准频率,比如CD格式的16bit/44.1kHz转换标准频率16bit/48kHz,交给音效处理器和数字音频混合器来处理。音效处理器和数字音频混合器就是EMU10K1的运算执行单元。处理完成的数据,经过SRC的转换,交给PCI总线和虚拟存储映射单元。我们知道,经过SRC的转换,48、44.1、32、24、22.05、16、11.025和8kHz音频流,都统一转换为48kHz。那么在EMU10K1的SRC转换是如何设计的呢?我们来看。
我们以CD的输入是44.1kHz为例,输入为44.1kHz,输出是48kHz,这样轻微的频率的差异,将会导致输入输出采用频率相关相位的时间飘移,最终导致采样的重复或衰减。一个合理的方法就是通过使用PLL(锁相环)电路,强制锁定频率,使其精确的保持同步。这样胜过使用固定频率的振荡器(fixed frequency oscillator)。在专业的录音领域,要使用所有相互联系的数字音频设备,都保持同步,使用PLL电路是非常难实现的,同时成本也高昂。
一个比较好的解决方案就使用SRC来解析输入采样比率和输出比率。这就需要一个采样比率传感器(Sample rate detector),可以持续的校正异步数字输入比率预测值(Sample rate estimate)。这个采样比率估算值保持了一个相位累加器(phase accumulator),这个相位累加器控制着一个16-point Smith-Gossett2采样率转换器。
这样,通过采用一个异步频率转换器避免了采用踪迹锁相环电路(tracking PLL)带来的高成本。同时提供支持多通道、实时、异步的音频流。所以EMU10K1支持使用高品质异步采样比率转换的三路实时异步立体声音频流。
所以,EMU10KX内部可以是有硬件SRC模块的,虽然效能不高,但是不可否认它的存在。
关于8点插值算法的问题
很多人,在谈到SRC问题的同时,都习惯提到一个8点插值算法的问题。8-point Smith-Gossett2,我们简单的大个比方来说:假如在一个波形周期,经过非整数倍的频率转换以后,为了将波形即可能的还原,就需要等分,取8个点,来进行波形的还原工作。由此可见,取样的多少,直接影响了还原的波形的保真度。理论上,要取无数个点,才可以完美还愿,就是没有转换的损失了。实际上没有必要这样做,一是这样占用了太多的DSP的执行效能,从人耳对波形的分辨角度来说,也没有必要采用这么多采样点来进行还原。在SRC过程种,非整数倍的转换中,尤其是当音源音量大时,谐波失真严重,且在高频有不小的衰减,也正是插值算法的采样精度引起的。一般我们都认为Audigy2 SRC问题严重,就是由于是8点插值,8个采样点太少的缘故。其实一直以来这个看法,都存在问题。
首先,我们要说的一点,就是EMU102中,根本就不是8点插值。其实在8点插值,只是以前很古老的声卡,才采用的算法。在SBLIVE 的EMU10K1中,就采用了升级的16点插值算法。采样点进一步的增多,精度进一步的提高。而到了EMU10K2,采用的就应该是24点插值了。同样采样精度进一步提高。到了SB XFi的EMU20K1中,究竟采用32点插值,还是更多,将是以后我们探讨的问题了,但是,可以肯定的就是,DSP执行效能越高,算法可以分配到的DSP运算资源就越多,可以采用的采样精度就越高,甚至64点插值取样等,都是可以显示的。无疑,这对解决SRC问题,是大有裨益的。
这是我多年前做专题是,对SRC的一个简单解释。
但是现在这个CA0132,是不存在SRC的,究其原因,后面我们的评测,会详细解释。创新可是当年可是费尽周折,都没有搞定,推出了很多种方案的。
我们知道EMU10KX在16bit/44.1kHz谐波失真依然很严重,尤其是在高频有不小的衰减,且有不短的振动。一直没有特别效果明显的改进。这个问题我们要从两个方面来客观的考虑:
首先是这个卡的定位问题。我们知道,EMU10KX的民用卡,从SBLIVE开始,直到到Audigy4,都是定位为高性能的综合娱乐性能,从这方面来说,并没有太多的兼顾CD格式的音乐欣赏(用EMU10K2欣赏24bit/96kHz和24bit/192kHz的DVD格式音乐,就完全没有SRC损失,因为这是整数倍的转),这也是EMU10KX的SRC虽然性能不佳,但很长一段时间没有太大改进的一个客观条件。
其次,就是SRC确实存在这样那样的问题,导致对CD格式音乐进行转换时损伤太大,那么这个问题是怎么解决的呢?我们来看。在Audigy4和Audigy2 ZS上,采用了的双晶振+硬件SRC芯片CS8420。双晶振中,一个频率是24kHz,负责48kHz音频信号的输出,一个是11.2896kHz,搭配这个单独的CS8420来负责44.1kHz音频信号的输出。这里,这个CS8420就是一个硬件的SRC芯片,而且身价不菲。
这个性能的优良的单独的SRC芯片,就是为了降低EMU10KX中集成的SRC对44.1kHz信号转换的的损伤,提高CD格式音频的回放效果。
虽然有提高,但是效果不是太明显,提高的程度,远远对不起这颗芯片昂贵的身价。后来又进行了改进
到了创新的EMU系列专业卡,采用了DSP+FPGA的信号处理器来协同处理。对应这种系统,我们来做一个简单的分析。采用的这块XILINX的FPGA(现场可编程门阵列)和DSP类似,只是信号处理系统在构成、处理能力以及计算问题到硬件结构映射方法的不同,分别属于不同的类别,可以简单的认为,这是两类不同的处理器。为什么采用这种结构,就可以彻底解决SRC问题呢?我们来继续分析。
DSP+FPGA结构最大的特点就是结构灵活,通用性强,对不同结构的算法都有较强的适应能力。适于模块化设计,从而能够提高算法效率。采用DSP+FPGA结构设计,开发周期较短,系统易于维护和扩展,适合于实时信号处理。
实时信号处理系统中,低层的信号预处理算法处理的数据量大,对处理速度的要求高,但运算结构相对比较简单,适于用FPGA进行硬件实现,这样能同时兼顾速度及灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适于用运算速度高、寻址方式灵活、通信机制强大的DSP芯片来实现。
到这里,问题就明朗了,FPGA可以做大量的运算工作,这其中我们可以简单的进行一下分类。将涉及到SRC转换的类似44.1kHz这样的非整数倍频率的音频信号处理,我们可以交给FPGA来处理,然后直接输出,这样就避免了经过EMU10KX中的SRC执行模块。从而绕过了SRC问题。(当然这里FPGA可以处理很多方面的运算,这里我们只是从SRC的角度来分析)但是在 XFi上,是凭借强大运算能力,为SRC分配更多的运算资源,进行诸如提高采样精度的一系列处理方式,进一步的来解决SRC问题了。
XFi解决SRC,靠的是DSP的硬功夫,我们来看这个DSP。
DSP(digital signalprocessor)即数字信号处理器。是我们一般的通用的叫法,DSP指的就是一种具有特殊结构的微处理器。(关于DSP深入得解析,我们会在下期做专题解释)。基于芯片研发能力的提高,DSP的内部结构,也做了一些改变,使得处理性能大大增强。为了强化自己的芯片处理能力,一些研发机构采用了新的命名,比如我们熟悉的EMU10KX系列,就命名为digital audio processor。这里,大家明确这种称呼即可。按照约定俗成得叫法,我们下面得内容,依然采用DSP这个名字来进行分析。
DSP的性能,在决定了声卡的音频信号处理性能。通过下面的比较,我们便会知道如何衡量DSP的处理能力。 XFi的DSP EMU20K1的执行能力为10340MIPS,是EMU10K2的24倍。
X-Fi DSP这样带来的直接的好处就是:
降低CPU占用率
DSP是如何提高处理能力,降低CPU占用率的。
DSP的设计中,采用了数据总线和程序总线分离的哈佛结构,这样程序与数据存储空间分开,各自有独立的地址总线和数据总线,取指和读数可以同时进行。我们知道,降低处理器性能的就是延迟,简单来说,就是等待,一条指令处理完了,等到下一条的指令的时间,是被白白的浪费的。把两类总线分开,互不干扰,同时进行,自然可以提高处理性能。
目前高性能的处理器,都采用了流水线设计,大家在接触CPU相关知识时,会经常遇到这个概念。所谓的流水线,就是把要执行每条执行划分为取指令、译码、执行等若干步骤,由片内多个功能单元分别完成。这是一种非常优秀的设计思路。在不大量增加硬件成本的基础上,就可以成倍的提高性能。同时我们还知道,采用多级流水线,可以最大限度的提升频率。简单来说,级数越多,好比是同一件工作,交给越多的人来完成,这样每个人工作量就越少,完成工作所用的时间就少,效率就高。从处理器的角度来说,也是这个道理,流水线级数越少,数据通路越长,执行起来所用的时间就越长,频率就越低。级数越多,流水段的负荷越小,单个流水段的执行时间就越短,时钟频率就越高。高的频率是提高处理器执行效能很关键的一个方面。
DSP采用多套的独立的运算单元,多个运算单元同时执行,并行处理,自然提高了执行效能。同时DSP内采用了一组或多组的独立的DMA总线和控制器与CPU的程序、数据总线并行工作,数据的传递和处理可以独立进行。DMA内部总线与系统总线完全分开,避开了总线使用上的瓶颈。
从上面的分析,我们便可以了解到,高性能的DSP,可以极大的提高处理能力,同时降低了CPU的干预,独立进行运算,自然降低了CPU的占用率。从节省系统执行资源的角度来说,采用的DSP执行效能越高的声卡,性能就越好。
同时这个DSP,也可以处理更多的特效,后面我会详细说下这个芯片的特效。
DSP执行能力高的好处,更体现在可以增加更多的特效,这对应声卡来说,尤为重要。我们拿创新的EAX来举例。EAX(Environment Audio eXtentions),通过强大的EMU10KX的执行能力,结合EAX5.0,除了可以加载原来的效果器外,还可以搭载5组外挂的VST,以及DXi效果器,和100多种特殊背景环境音效。从下面下面相关资料的描述,可见一斑,“卡啦OK不单只是开回音,你甚至可以选择均化你的声音,变声唱歌,搭配背景有人安可与鼓掌。对专业的录音工作者而言,支持标准ASIO 2.0的Audigy3实时搭载这些效果器,也不会对监听造成太大的延迟。据了解透过XFi的DSP的强大运算性能,以往最令人头痛的MIDI效果器对应问题也解决了,可自由对应。”可见,强大的XFi的EMU20K1 DSP,是EAX5.0的完美伴侣。正是有XFi的DSP强大的运算能力做后盾,EAX5.0才可以完美发挥。
那么XFi是怎么处理的SRC。多年前我做的专题也提到过。
Creative的SRC问题是个比较敏感的问题。以前的EMU10KX在16bit/44.1kHz谐波失真依然很严重,尤其是在高频有不小的衰减,且有不短的振动。为了解决这个问题,也进行了过种尝试。比如采用双晶振+硬件SRC芯片CS8420。双晶振中,一个频率时24kHz,负责48kHz音频信号的输出,一个是11.2896kHz,搭配这个单独的CS8420来负责44.1kHz音频信号的输出。但是效果依然不佳。以前的DSP里的SRC结构还比较简单。以EMU10K1为例,在其内部有一个SRC转换模块,负责数字音频信号的转化。数字音频接收器,接收从CD通过S/PDIF输入的数字信号,以及从麦克风输入的由ADC转换后的数字信号。然后通过SRC把其他非标准频率,比如CD格式的16bit/44.1kHz转换标准频率16bit/48kHz,交给音效处理器和数字音频混合器来处理。音效处理器和数字音频混合器就是EMU10K1的运算执行单元。处理完成的数据,经过SRC的转换,交给PCI总线和虚拟存储映射单元。我们知道,经过SRC的转换,48、44.1、32、24、22.05、16、11.025和8kHz音频流,都统一转换为48kHz。那么在EMU10K1的SRC转换是如何设计的呢?我们来看。
我们以CD的输入是44.1kHz为例,输入为44.1kHz,输出是48kHz,这样轻微的频率的差异,将会导致输入输出采用频率相关相位的时间飘移,最终导致采样的重复或衰减。一个合理的方法就是通过使用PLL(锁相环)电路,强制锁定频率,使其精确的保持同步。这样胜过使用固定频率的振荡器(fixed frequency oscillator)。在专业的录音领域,要使用所有相互联系的数字音频设备,都保持同步,使用PLL电路是非常难实现的,同时成本也高昂。
一个比较好的解决方案就使用SRC来解析输入采样比率和输出比率。这就需要一个采样比率传感器(Sample rate detector),可以持续的校正异步数字输入比率预测值(Sample rate estimate)。这个采样比率估算值保持了一个相位累加器(phase accumulator),这个相位累加器控制着一个16-point Smith-Gossett2采样率转换器。
这样,通过采用一个异步频率转换器避免了采用踪迹锁相环电路(tracking PLL)带来的高成本。同时提供支持多通道、实时、异步的音频流。所以EMU10K1支持使用高品质异步采样比率转换的三路实时异步立体声音频流。
首先这我们可以看出来,在EMU10K1阶段就是用到了16-point Smith-Gossett2算法,到了Audigy2采用就是24点插值算法了。理论上来说,插值取样点越多,波形还原就好,SRC效果就越好。可以看到,单单是提高插值算法,是不能完整解决SRC问题的。
这样到了XFi的EMU20K1,结构又做了进一步的优化设计。在EMU20K1中设计了一个保真度高达136dB的采样率转换器SRC引擎。EMU10K2芯片中,效果引擎仅限于能够处理定点数据运算,采样率转换SRC引擎的水平仅为86dB。这一新的架构实现了24位、192kHz效果处理以及目前最高技术水平的算法,以实现高质量的音频处理和超过300倍的SRC引擎方面的提升。在特定应用中使用到的实时效果数目和算法将根据需要进行资源优化,从而实现远远超越Audigy系列和Live!处理效能的高音频品质。
EMU20K1中包含 256 个采样率转换器,每个都有一个可调整的采样率比率,可以精确地建造出虚拟现实的模型来。在某些应用,如 3D 音频和音乐合成中,会对大量的采样率转换器输出进行混音。为了在模数转换过程中使音频质量达到目标,每个转换器的 THD+N 性能必须十分优秀。EMU20K1还支持任意的信号图,允许音频进行多次采样率转换。为了能够对这些类型的信号图提供透明化的支持,X-Fi 采样率转换器只能有极低的波纹效果。为了满足在THD+N 和波纹效果的品质方面的要求,以及 X-Fi 采样率转换器的数量要求。如果按照传统的采样率转换器架构设计,造价将非常昂贵。于是EMU20K1采用了独特的三阶段结构。
第一阶段将将原有的采样率加倍。第二阶段使用一个多相 FIR 滤波器,产生一个采样率,该采样率是最终的目标输出采样率的四倍。第三阶段以四为除数,得到所需的采样率。第一个阶段的计算过程具有极高的效率。而最后一个阶段是以最小的计算成本,通过提供一个 steep anti-Imagine barrier 扩展来转换比率的。其实EMU20K1的SRC设计目标,就是使用多个串联或并联的采样率转换器,提供只受到模数转换器固有噪声限制的音频品质。不单单是具备了混合的SRC架构,更关键的是EMU20K1针对特殊的采样率转换器引擎,提供每秒 70 亿次以上的算术运算能力。这样信号数据路径经过流水线处理,乘法器和加法器的位宽也得到了优化,可以保证实现最高的信号品质。从这里也可以看出,EMU20K1的70% MIPS都消耗在SRC的原因了。而这其中很多就是被FIR用掉的,所以这个70%的DSP占用,还是有道理的。
注意我们提到的一个词汇是强大的DSP。
而且XFI是用大概7000MIPS的运算能力拿来处理SRC,游戏部分大概有2000MIPS,前面说了SB LIVE整个DSP也只有335MIPS。
这颗CA0132,最初宣传的运算能力,也只有600MIPS,后来被骂的修改了一下,才到了1200MIPS,显然如果靠DSP的运算能力来达到,没有可能。
究竟如何,呵呵。一层窗户纸而已。
|