论文部分内容阅读
片上多核结构是使用丰富的片上资源的有效方法之一,是未来高性能处理器发展的一个趋势。本文主要进行片上多核结构的研究,具体的研究成果如下:
1.设计了片上多核结构:本文设计了具有“片上集群”特征的多核结构。整体结构是用基于router的二维mesh网络连接起来的多个相同的小核。每个小核是一个兼容MIPS指令集的简单通用处理器,具有通用处理器的所有特征。每个小核访问自己独立的物理内存,不共享任何内存空间。为了提供大量的计算能力,小核进行多媒体指令集扩展,开发应用中大量的细粒度数据并行性。片上网络采用x-y维序路由的算术运算路由算法,虫蚀消息传递方式进行通信。消息传递函数组成消息通信库,作为应用程序接口提供给应用程序员使用,进行多线程并行编程。
2.讨论了多核结构对多媒体应用的适应性,并用多媒体扩展指令对解码算法中的整数DCT反变换计算过程进行了并行优化实现:首先分析了多媒体应用及媒体处理器的特点,然后以AVS解码过程为例子,提出了多核结构如何对其进行并行优化的方法。本文设计的多核结构具有“可配置”的特点,可以很好的适应不同应用。将解码应用划分成多线程并映射到多核结构上后,多核就具有针对媒体解码应用而设计的专用功能媒体处理结构的特征,而不同的映射方式也使得多核具有不同的特征。对其他应用可以进行类似方式的多线程编程和映射,将多核配置成适应具体应用的专用结构。
3.对CORDIC算法实现的正余弦求值电路进行了优化,以便多核结构可适应大型科学计算,并可扩展到信号处理领域:首先,本文发现并证明了正弦值与输入参数前导0个数之间的关系:输入参数x在[0,1]范围内,正弦值前导0个数比x的前导0个数至多多一个。这样,可以在迭代开始前对输入参数x的前导0计数,并根据结果的精度要求,得出需要的迭代次数,并用于迭代过程的控制,在结果得到足够的有效数字后,终止迭代过程。这使计算过程中的迭代次数从固定次数变成随输入参数范围和结果的要求精度不同而变化,最坏情况下的次数与原来固定次数相同,最好情况下的迭代次数是原来固定次数的0.27。在输入参数等概率的情况下,平均时延是原来的2/3。其次,压缩了反正切表,节省了电路面积。在CORDIC算法中,2-i的反正切表是必需的,而且表的项数和每项的宽度较大占用了可观的面积。本文通过观察反正切表,发现在索引号32以后的表项与2-i相等。因此,提出了用移位寄存器取代反正切表表项的压缩反正切表的方法。通过用移位寄存器取代反正切表索引号32后的表项,对反正切表进行了简化,使反正切表的硬件综合面积减少了约1/3。在每个小核上实现超越函数,可以使多核结构更加接近原来大型计算机的处理能力,也可以扩展多核在信号处理领域的应用。
最后,对设计的多核结构进行了性能评估并对全文进行了总结。在单核上,通过对多媒体编解码应用中重要算法之一的整数IDCT变换进行细粒度数据并行优化,获得了2.93倍的加速比。对128X128的密集矩阵乘法进行细粒度的数据并行优化和粗粒度的线程并行优化,可获得近似线性加速比。