基于共享前端的流多核体系结构关键技术研究
发布时间:2020-10-18 10:54
多核处理器主要有两个典型发展方向:以数目较少的复杂核构成的多核处理器(以传统多核处理器为代表,如服务器和桌面CPU)和以数量众多的简单核构成的众核处理器(以多核流处理器为代表,如GPU)。两者各有优缺点:传统多核处理器集成了丰富的控制单元和大量缓存,易于编程,面向广谱应用,但针对计算密集型应用的性能不如多核流处理器;多核流处理器集成了丰富的计算单元,面向计算密集型应用时,吞吐率较大,但控制功能较简单,可编程性相对较差,而且面向访存密集型和稀疏类应用时资源利用率不高,性能不如传统多核处理器。近年来,业界出现了CPU+GPU的异构架构,试图同时发挥两者的优势,然而该架构功耗较大,CPU和GPU的分离存储导致性能瓶颈。基于以上背景,我们提出了同构通用流处理器体系结构:片内集成多个同构的流多核,流多核可根据具体应用配置为CPU或GPU的一部分。该结构试图同时融合上述两种结构的优点:片内共享存储消除了CPU与GPU分离存储带来的数据传输开销、采用64位RISC核增强可编程性、动态配置流多核的功能角色增大芯片资源利用率。流多核是该体系结构中的基本可配置单元。 本课题对流多核体系结构关键技术进行了深入研究,主要工作和创新点包括: 1、提出了一种基于共享前端的可配置的流多核体系结构。基于同构通用流处理器的总体设计,多个同构流多核需要分别配置成CPU或GPU,以适应应用程序的不同特征需求。本文系统地研究了多核体系结构的特点,包括多核体系结构的由来、传统多核体系结构、多核流体系结构、基于共享前端的传统多核体系结构等。基于以上研究,本文提出了基于共享前端的可配置的流多核体系结构,面向不同应用时可分别按片上SMP执行模式和SIMT执行模式运行。 2、对所提出的基于共享前端的流多核体系结构的关键部分进行了逻辑设计。基于流多核的总体设计要求,本文在32位Microblaze软核的基础上进行了多核和64位扩展设计,主要包括64位指令集扩展、单核流水线扩展和性能优化、多核取指地址的产生单元、共享指令I_Cache和分离数据D_cache、内存管理单元、预取缓冲等。可配置的流多核设计为构建同构通用流处理器奠定了基础。 3、基于Xilinx公司ISE开发平台下的ISIM12.1行为仿真软件,对关键部分的逻辑设计进行了功能正确性验证,并进行了一定的性能分析。验证结果显示所有设计均实现了预定的功能,同时性能分析显示了本文设计的有效性。
【学位单位】:国防科学技术大学
【学位级别】:硕士
【学位年份】:2011
【中图分类】:TP332
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景
1.1.1 多核体系结构发展的两个方向
1.1.2 现有多核体系结构面对应用的不足
1.1.3 同构通用流处理器体系结构的提出
1.1.4 CPU 和GPU 融合的现状研究
1.1.5 小结
1.2 论文的主要工作
1.3 论文结构
第二章 多核体系结构
2.1 多核体系结构的由来
2.2 传统多核体系结构
2.3 多核流体系结构
2.4 基于共享前端的传统多核体系结构
2.5 基于共享前端的流多核体系结构的提出
2.6 小结
第三章 同构通用流处理器体系结构
3.1 内部架构
3.2 基于共享前端的流多核体系结构
3.2.1 共享前端流多核整体架构
3.2.2 流多核前端共享架构
3.2.3 流核心的结构
3.3 流多核执行模式
3.3.1 SIMT 执行模式
3.3.2 SMP 执行模式
3.3.3 流多核执行模式的切换
3.4 小结
第四章 流多核关键部分的设计
4.1 指令集与流水线
4.1.1 Microblaze 软核架构简介
4.1.2 扩展后的指令集体系结构
4.1.3 扩展后的流水线体系结构
4.2 取指地址的产生单元
4.2.1 流核心指令地址产生
4.2.2 多核取指令地址选择
4.3 指令I_Cache 和数据D_Cache
4.3.1 结构和参数选择
4.3.2 指令I_Cache
4.3.3 数据D_Cache
4.4 内存管理单元
4.4.1 结构与参数选择
4.4.2 L1_TLB 的设计
4.4.3 L2_TLB 的设计
4.5 预取缓冲设计
4.6 小结
第五章 模拟验证与性能分析
5.1 验证环境
5.2 流多核关键部件的验证结果
5.3 流多核前端架构的性能分析
5.4 小结
第六章 结束语
6.1 工作总结
6.2 工作展望
致谢
参考文献
作者在学期间取得的学术成果
【引证文献】
本文编号:2846206
【学位单位】:国防科学技术大学
【学位级别】:硕士
【学位年份】:2011
【中图分类】:TP332
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景
1.1.1 多核体系结构发展的两个方向
1.1.2 现有多核体系结构面对应用的不足
1.1.3 同构通用流处理器体系结构的提出
1.1.4 CPU 和GPU 融合的现状研究
1.1.5 小结
1.2 论文的主要工作
1.3 论文结构
第二章 多核体系结构
2.1 多核体系结构的由来
2.2 传统多核体系结构
2.3 多核流体系结构
2.4 基于共享前端的传统多核体系结构
2.5 基于共享前端的流多核体系结构的提出
2.6 小结
第三章 同构通用流处理器体系结构
3.1 内部架构
3.2 基于共享前端的流多核体系结构
3.2.1 共享前端流多核整体架构
3.2.2 流多核前端共享架构
3.2.3 流核心的结构
3.3 流多核执行模式
3.3.1 SIMT 执行模式
3.3.2 SMP 执行模式
3.3.3 流多核执行模式的切换
3.4 小结
第四章 流多核关键部分的设计
4.1 指令集与流水线
4.1.1 Microblaze 软核架构简介
4.1.2 扩展后的指令集体系结构
4.1.3 扩展后的流水线体系结构
4.2 取指地址的产生单元
4.2.1 流核心指令地址产生
4.2.2 多核取指令地址选择
4.3 指令I_Cache 和数据D_Cache
4.3.1 结构和参数选择
4.3.2 指令I_Cache
4.3.3 数据D_Cache
4.4 内存管理单元
4.4.1 结构与参数选择
4.4.2 L1_TLB 的设计
4.4.3 L2_TLB 的设计
4.5 预取缓冲设计
4.6 小结
第五章 模拟验证与性能分析
5.1 验证环境
5.2 流多核关键部件的验证结果
5.3 流多核前端架构的性能分析
5.4 小结
第六章 结束语
6.1 工作总结
6.2 工作展望
致谢
参考文献
作者在学期间取得的学术成果
【引证文献】
本文编号:2846206
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2846206.html