论文部分内容阅读
传统的处理器架构虽然具有较高的灵活性,但是难以满足多样性应用日益提高的效能需求。专用集成电路具有较快的执行速度和较低的功耗,但是缺乏足够的灵活性,无法满足层出不穷、不断演进的新型应用需求。可重构结构结合了生产标准化与应用定制化、计算高效性与编程灵活性的特点,是未来体系结构的发展方向。后摩尔时代工艺的线延迟已经远远超过门延迟,成为限制芯片工作频率进一步提高的主要瓶颈。避免长连线及降低系统功耗,计算机体系结构呈现出局部化、规则化、简单化的发展趋势。处理器设计也经历了从不断复杂化单核到简单化众核的发展过程。通过二维邻接短线将众多简单的处理核以阵列的形式互连,构成的可重构阵列处理器恰恰符合了体系结构的发展趋势。因此,研究数据驱动可重构阵列处理器具有重要意义。为了提高可重构计算结构性能,本文深入研究了数据驱动动态可重构阵列结构、数据驱动可重构阵列处理器、统一编址下的分布式共享存储结构及动态自重构机制,目的在于最大化任务的并行性、提高数据驱动动态可重构阵列的灵活性、缓解日益严重的“存储墙”问题以及降低算法切换时间、提高计算资源利用。本文主要研究内容如下:(1)为了最大化任务的并行性,从而提高可重构结构的计算性能,首先研究适应数据流应用的动态可重构阵列结构,提出了一种数据驱动可重构阵列结构,并为了进一步最大化任务并行性和提高资源利用率,提出了另外两种数据驱动阵列结构:基于缓冲的动态可重构阵列结构和动态自重构阵列结构。同时,研究了二种配置信息下发网络结构:总线结构和H树网络结构。为了充分分析所提三种结构的性能,完成了部分数据流应用的算法映射、仿真及性能统计,实验结果表明:所设计的数据驱动动态可重构阵列能够有效的完成从数据流图到可重构阵列的算法映射,同时由于处理元之间采用数据驱动邻接互连接口实现,能够完成单周期的相邻处理元间数据传递,而整个处理过程类似于流水线结构,因此计算吞吐率达单个时钟周期,并且具有较高的计算效率。(2)在单任务映射中,支持固定配置或者少量多操作配置的数据驱动可重构阵列结构在进行算法映射时灵活性较差。为了进一步提高灵活性,满足更多复杂应用的映射需求,本文尝试利用软件编程实现对阵列功能的重构,提出了两种邻接互连接口电路结构:单缓冲和双缓冲。同时,为了加速应用中对超越函数的计算需求,设计了一种四路并行流水线结构的超越函数加速器,提出了一种调整截距分段线性逼近算法来对计算过程进行简化。本文在所提结构上完成了部分图像处理算法以及AlexNet卷积神经网络的映射、仿真及性能统计。实验结果表明:本文提出的双缓冲邻接互连接口电路能够在单个时钟周期内完成相邻处理元间的数据传递,降低了相邻处理元间的数据传递延迟。所提的超越函数加速器平均误差约为0.01%,大部分函数运算吞吐率达到单个时钟周期,且计算延迟为2~7个时钟周期。提出的数据驱动可重构阵列处理器能够较好的完成多种应用的计算任务。(3)为了缓解数据驱动可重构阵列处理器中的“存储墙”问题,提出了一种统一编址方式下的分布式共享存储结构,利用局部交叉互连、全局NoC互连的两级互连结构实现了对全局分布式存储块的高效连接。同时,针对局部交叉互连结构进行了研究,提出了三种高速交换开关结构。本文开发了一种具有图形化界面的仿真验证平台,基于该平台设计了多种测试用例,对所设计的分布式共享存储结构进行了功能验证和性能统计。本文所提结构存储访问带宽方面,远程访问为0.15GB/s,局部数据访问达6.4GB/s。访问延迟方面,局部数据访问延迟仅为1~2个时钟周期,远程访问延迟约为11~18个时钟周期。实验结果表明:本文所提结构具有较高的存储访问带宽和较低的局部数据访问延迟。最后,为了降低算法切换时间,达到提高计算资源利用的目的,研究了“软件编程”实现“硬件重构”的重构机制,提出了一种“数据驱动+配置驱动”双重驱动的动态自重构机制,有效的实现了PE的自主重构。同时,利用前期开发的翻译器,完成了多种数据密集型应用的算法映射及仿真验证工作,对所提重构机制的性能进行了分析、对比。实验结果表明:所提的自重构机制能够有效的降低配置信息量,同时具有较低的处理时间。