新闻  |   论坛  |   博客  |   在线研讨会
有效利用RTOS编程概念支持先进的多线程架构
mayer | 2009-08-16 19:04:16    阅读:1679   发布文章

有效利用RTOS编程概念支持先进的多线程架构

像MIPS技术公司最新的MIPS32 34K内核这样的多线程架构正吸引着越来越多的关注,这是因为这种架构无需增加太多的芯片资源或功耗即可获得可观的性能增益。这种硬件多线程的关键优势是,它能使用处理器在等待缓冲回填的空闲周期处理其它线程的指令。

 

使消费类设备应用程序适应多线程环境的代价一般很小,因为大多数程序已经设计为成组的半独立线程。应用程序线程可以分配给处理器中用于处理单线程的专用硬件资源。多个线程可以被同时分配给这样的硬件,并通过共享CPU周期获得最大的效率。

 

嵌入式运算面临性能障碍

 

消费类设备和其它嵌入式计算产品的制造商正在增加Wi-Fi、VoIP、蓝牙、视频等各种新的功能,以往功能的增加都要靠大幅提升处理器的时钟速度来实现。台式机的时钟速度目前已经增加到3GHz以上,即使嵌入式设备也接近GHz级。

 

但在嵌入式应用领域,这种方法很快就失去了可行性,因为大多数设备的运行收到功耗和资源的约束,这些都限制了处理器速度的进一步提高。时钟周期速度的提高将显著地增大功耗,因此对越来越多的嵌入式设备来说高周期速度将不大可行。另外,处理器速度的进一步提高并不能带来相应的性能改善,因为存储器性能的提高跟不上处理器速度提高的步伐,如上图1所示。

 

处理器速度已经比存储器快很多,在许多应用场合处理器有一半以上的时间在等待缓存行(cache line)回填数据。每当缓存丢失(cache miss)或需要片外存储器访问时,处理器就需要从存储器加载缓存行,将这些字写进缓存,再将旧的缓存行写进存储器,最后恢复线程。

 

MIPS公司指出,每千条指令接受25次缓存丢失(对多媒体代码来说是一个合理的值)的高端可综合内核如果必须等待50个缓存填充周期,那么将有50%以上的时间处于停止状态。由于处理器速度仍在不断提高,而且比存储器速度的提高幅度大得多,这类问题将变得越来越突出。

 

 


图1:处理器速度超过存储器。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客