多核设计将在消费电子领域大行其道
时仍不会撤消911紧急电话,因此通常需要进行大量的仿真与分析。而高层实现交互的独立子系统能很容易地进行单独和组合的验证操作。基于SystemC 的系统仿真工具已经可以方便地对组合并行的系统设计进行仿真。不同的子系统可以用C语言来描述,并分别进行验证,然后利用指令集仿真器对整个系统进行仿真,这比进行RTL仿真快几百甚至上千倍。值得注意的是,C语言已经为嵌入式程序员广泛接受并采用,因此软件工程师无需学习新的语言。
第二种方式
计算通常可以划分为由独立任务引擎构成的流水线,因此便捷并行的第二种方式就是流水式数据流。各个流水式任务引擎都接收、处理并输出数据块,一旦处理任务完成后,数据块就被送到下一级引擎。非对称多处理算法常常出现在信号处理和图像处理应用上,诸如移动电话的基带处理、视频处理和静态图像处理等。流水线不但允许并行处理,而且还允许执行基于ASIP的应用,因为流水线中的每一个处理器都能高度集中于执行某一部分的任务。
上述两种便捷并行是互补的。因此,各个子系统的非对称多处理能和流水式设计的组合子系统进行融合。消费类、便携式和多媒体应用产品可能需要10到100个处理器,而这些处理器都将针对产品功能的特定任务进行优化。对基于非对称多处理器的应用进行编程要比基于对称多处理器的容易得多,因为不必考虑太多的交互任务依赖关系。经验表明通过这种方式能更清晰地编写软件,而且可以避免在同构多处理器上运行多线程应用所带来的大量优化问题。
采用这两种便捷并行方式可以巧妙地避开阿姆达尔定律。因为许多并行算法可分别地使用组合并行设计来加速,而单一算法的诸多部分(例如视频编解码)可以使用流水式设计进行加速,所以整个系统的代码将被分解为众多小块以分别进行优化加速。可以看出,由于并无增加软件开发的需求,所以采用多核设计得到的益处要比阿姆达尔定律预测的大得多。
当然,获得这些益处的同时是要付出一定代价的。在多颗处理器之间进行任务划分和算法加速会导致设计需要使用更多的晶体管,这通常是采用分治的设计方法所必需的。然而,摩尔定律此时胜过了阿姆达尔定律,它使得增加的晶体管的成本非常低。相比之下,由高主频和高性能处理技术造成的高能耗以及多线程软件的开发复杂度所引发的成本问题则更为严重。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)