互连与存储系统
随着芯片面积的增大,长线互连延迟和信号完整性已经成为制约芯片主频的关键因素。当片上DSP 核较少时,可用简单的总线结构或者Crossbar互连;当DSP核较多时可用二维mesh网络、3D Torus等进行互连,设计者必须在网络开销以及多核之间耦合的程度之间进行权衡,同时还要注意互连拓扑的可扩展性。为提高互连性能,应该采用高频、高带 宽的超深亚微米片上互连结构,以便高效地实现节点间通信。
针对数据密集型的应用,多核DSP必须解决存储系统的效率问题。为此,必须要解决一系列关键技术,例如应该设计多大的片内存储器?数据的共享和通信在存储层次的哪一级来完成?Cache一致性在哪一级实现更合理?是通过片内共享存储器还是高速总线进行多核之间的通信?存储结构如何支持多线程的应用?
编译技术与操作系统
多核DSP 能否发挥最高的性能,在很大程度上取决于编译优化和嵌入式操作系统的有力支持。例如,多核DSP对多线程程序能够提供较高的性能,但是对于单线程应用的性 能反而不高,甚至比单核DSP的性能还要低,从而出现“三个臭皮匠不顶一个诸葛亮”的尴尬局面。
采用硬件动态提取线程是一种方法,但编译器更要担负起自动并行化的工作,即将串行程序自动地转换为等价的多线程并行代码,使用户不关心迭代空间划分、数据共享、线程调度和同步等细节,减轻用户负担。
更重要的是多线程优化编译技术,包括线程并发机制的实现、线程调度、线程级前瞻执行等技术。
多核之间的任务调度是充分利用多处理器性能的关键。为满足实时处理的要求,均衡各处理器负载,需要研究的任务调度机制有分布式实时任务调度算法、动态任务迁移技术等。已有的几种嵌入式操作系统,例如μcLinux、PalmOS、WinCE等,都还无法有效地支持多核处理器。嵌入式多核操作系统的研究任重而道远。