正如上篇介绍的那样,在设计采用瑞萨STP引擎的数字电视输出器时,最终将芯片数减少到了两个。
获得的处理性能如表1所示。表中的数值表示将实时进行数字电视输出处理所需处理时间看作1时的相对处理时间。数值越小表明处理性能越高。此次比较了在x86上进行单纯软件处理(左列),以及XBridge配备的CPU内核“MIPS 4KEc”进行单纯软件处理(中间列)的情况。

表1 各模块的执行时间(相对值)
STP引擎最初由个人电脑上或实机上的CPU执行所需
算法。该阶段将负荷较重的处理逐步卸载到STP引擎上,并不断增加并行运算比例。按照表1中自左向右的顺序进行优化。
表1中的蓝色单元表示优化后最终获得的设计方案中的处理性能。OFDM(A)相当于从Reed-Solomon编码经由卷积编码再到1次调制的处理,在图4中相当于红色虚线框内的“①”处理。在优化后的最终设计中,OFDM(A)处理由STP引擎执行。
OFDM(B)为时间交错等剩余调制处理,在优化后的最终设计中,这些处理是在4KEc内核上完成的。即便STP引擎上的运算器阵列不进行并行处理,OFDM(B)处理也可由CPU及时充分地完成,而且负荷较轻。

图4 优化后的构成(双芯片构成)
相同源代码在不同环境中运行 表1中的“initial”表示什么呢?
表1中的“initial”表示面向各硬件实施优化之前的C语言源代码的处理时间,“optimized”表示实施这种优化之后的处理时间。OFDM(A)与逆FFT(IFFT)是面向STP引擎实施优化的结果,OFDM(B)是面向CPU实施优化的结果。
表1中的三列(Xeno、4KEc及STP引擎)执行了记述完全相同的C语言源代码。也就是说,面向STP引擎优化后(optimized)的源代码也被迫在Xeon及4KEc上直接编译后执行。估计执行相同代码这一点对算法验证十分有效。

表1 各模块的执行时间(相对值) Xeon上的逆FFT处理,initial时数值为0.97,optimized时数值为16.64,由此可以看出,实施优化之后处理性能出现下降。这是因为在面向STP优化的过程中,将initial时代码中的浮点处理转换成了固定小数点处理。
不仅是STP引擎,用于嵌入设备的处理器一般也没有浮点运算器,因此需要进行这种转换。但Xeon装有浮点运算器,因此可高速执行以浮点运算记述的initial版本。在Xeon上执行以固定小数点记述代替浮点运算记述的optimized版本时,会导致处理时间延长。
新一代产品将采用64个Context 此次介绍的瑞萨STP引擎基于第1代架构,但该公司目前已开发出第2代架构。第2代架构将动态可重构Context的数量增加到了64个。而第1代产品的Context数量为32个,第2代已增至两倍。Context数量的增加意味着能分时折叠封装更大尺寸的电路,或者切换更多种类的运算。(未完待续,记者:近藤 智则)
- e019.jpg
- e018.jpg
- e017.jpg