龙芯2号处理器多线程技术研究
发布时间:2021-08-10 01:42
随着集成电路工艺技术的发展,单个芯片上可集成的晶体管数目已达到10亿个,如何利用这些晶体管资源设计高性能处理器成为当前重要的研究课题。多线程技术通过利用晶体管资源,开发线程级并行度来提高系统性能,是未来高性能处理器发展的趋势。本文重点研究多线程处理器技术,以挖掘程序的线程级并行、提高功能部件的利用率为切入点,以降低设计复杂度、提升处理器的性能为研究目标,从多线程处理器的设计、同时多微线程体系结构、存储一致性模型和寄存器同步和共享等方面对龙芯2号多线程处理器进行了深入研究。本文的主要贡献及创新点如下:1.在分析当前多线程技术的现状和发展趋势的基础上,结合龙芯处理器的结构特点,提出龙芯2号多线程处理器设计方案,并完成了具体的微体系结构设计以及逻辑设计。在此基础上,使用0.18um CMOS工艺进行综合,进行芯片性能和面积评估。龙芯2号多线程处理器拥有超标量、同时多线程和同时多微线程三种运行模式,允许软件根据应用程序进行模式选择,最大限度地发挥处理器的性能。2.提出一种融合同时多线程技术和微线程技术的新型体系结构——同时多微线程,并且在龙芯2号多线程处理器中实现此技术。同时多微线程有效结合同...
【文章来源】:中国科学院大学(中国科学院计算技术研究所)北京市
【文章页数】:126 页
【学位级别】:博士
【部分图文】:
多标量处理器总体结构
不同的核——与多标量处理器相似——相应地把程序也分成多个迹。迹CACHE作为特别的指令CACHE,收集这些迹,捕获动态的指令序列。迹处理器的一个核用来执行当前的迹,其它的核执行猜测的将要执行的迹。图2.6给出了迹处理器的结构图[Rotenberg97]。迹处理器利用迹CACHE产生推测线程,调度到空闲的处理器核中,并且采用值预测方式为每个线程生成输入寄存器的值。迹被调度到执行单元(PE)之后,就被保存在指令发射窗口内。需要注意的是,指令窗口要保证把该迹完整地保留在指令窗口里面。也就是说,指令在发射完毕后仍然保存在指令窗口里,一旦检测到它的输入值有所变化,立即重新发射该指令及随后相依赖的指令。可以看出,这种做法有一个前提,就是迹足够小(16-32条指令)。大的迹根本无法实施上述做法。这也是迹处理器与多标量处理器最大的区别。线程的提交以迹为单位。如果迹出现误预测,或出现数据相关,则需要重新发射后继的迹,以保证迹间正确的依赖关系。图 2.6 迹处理器结构2.2.3 超线程体系结构处理器Jenn-Yuan Tsai 等人提出超线程体系结构(Superthreaded architecture)[Tsai96],应用20
第二章 多线程技术的相关研究执行模型,允许具有数据和控制相关的线程并行执行。线程流水快地计算和传递(forward)递推数据(recurrence data)和可能的一个线程,使之可以开始执行和检查运行数据的相关。由于支持和控制相关的猜测,超线程体系结构模型可以挖掘循环级并行。如图 2.7 所示[Tsai96],包含多个线程处理部件(Thread ProcessinACHE 和数据 CACHE。在运行时,每个线程处理部件都有各自行数据通路,能够同时从多个线程取指并执行指令。与超标量中件自动保证指令顺序和进行数据相关检查及传递不同,超线程体管理和通信指令进行线程初始化和数据传递。编译器静态地将程分成将要在超线程体系结构的处理部件上执行的线程。线程处理连,进行数据交换。超线程设计紧密耦合的处理部件,利用编译高了单进程的性能。
本文编号:3333201
【文章来源】:中国科学院大学(中国科学院计算技术研究所)北京市
【文章页数】:126 页
【学位级别】:博士
【部分图文】:
多标量处理器总体结构
不同的核——与多标量处理器相似——相应地把程序也分成多个迹。迹CACHE作为特别的指令CACHE,收集这些迹,捕获动态的指令序列。迹处理器的一个核用来执行当前的迹,其它的核执行猜测的将要执行的迹。图2.6给出了迹处理器的结构图[Rotenberg97]。迹处理器利用迹CACHE产生推测线程,调度到空闲的处理器核中,并且采用值预测方式为每个线程生成输入寄存器的值。迹被调度到执行单元(PE)之后,就被保存在指令发射窗口内。需要注意的是,指令窗口要保证把该迹完整地保留在指令窗口里面。也就是说,指令在发射完毕后仍然保存在指令窗口里,一旦检测到它的输入值有所变化,立即重新发射该指令及随后相依赖的指令。可以看出,这种做法有一个前提,就是迹足够小(16-32条指令)。大的迹根本无法实施上述做法。这也是迹处理器与多标量处理器最大的区别。线程的提交以迹为单位。如果迹出现误预测,或出现数据相关,则需要重新发射后继的迹,以保证迹间正确的依赖关系。图 2.6 迹处理器结构2.2.3 超线程体系结构处理器Jenn-Yuan Tsai 等人提出超线程体系结构(Superthreaded architecture)[Tsai96],应用20
第二章 多线程技术的相关研究执行模型,允许具有数据和控制相关的线程并行执行。线程流水快地计算和传递(forward)递推数据(recurrence data)和可能的一个线程,使之可以开始执行和检查运行数据的相关。由于支持和控制相关的猜测,超线程体系结构模型可以挖掘循环级并行。如图 2.7 所示[Tsai96],包含多个线程处理部件(Thread ProcessinACHE 和数据 CACHE。在运行时,每个线程处理部件都有各自行数据通路,能够同时从多个线程取指并执行指令。与超标量中件自动保证指令顺序和进行数据相关检查及传递不同,超线程体管理和通信指令进行线程初始化和数据传递。编译器静态地将程分成将要在超线程体系结构的处理部件上执行的线程。线程处理连,进行数据交换。超线程设计紧密耦合的处理部件,利用编译高了单进程的性能。
本文编号:3333201
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3333201.html