论文部分内容阅读
随着超大规模集成电路技术持续地发展,处理器芯片上集成的资源数量将大量地增加,而发挥处理器性能的关键在于怎样利用这些芯片上的资源。通常的做法主要通过开发指令级并行来提高性能,但受硬件复杂度、应用程序固有的指令并行度和存储延时等因素的限制,通过指令级并行来提高处理器性能变得越来越困难,开发更高层次的并行——线程级并行成为新一代处理器体系结构的主要研究方向。因此,本文从超标量技术与多线程技术的应用角度出发,对目标系统进行设计优化。超标量技术是指在处理器中实行了指令级并行一类的并行运算,以空间换取时间,能够在相同的工作环境下实现更高的指令吞吐率,乱序多发射是超标量技术的常用手段,允许指令不按照编程的顺序发送给执行部件,避免了一些指令过度占用处理器的运行时间,从整体上缩短了程序的执行时间。多线程技术通过执行多个线程的指令来提高线程级并行和指令级并行,从而达到更高的程序运行效率。本文基于以上技术背景,研究并设计了一种面向异构多核系统的多线程处理器,论文的主要工作如下:首先介绍了并行技术、粗粒度可重构技术和多核技术的技术背景和研究现状,通过搭建粗粒度异构多核系统模型并进行分析,将系统的任务执行指令化,提出一种适用于目标系统的双层编程架构,同时设计了指令集,规范了编程方法。其次研究了多任务并行的关键技术,分析多线程的取指策略和资源分配策略的作用和影响,在此基础上提出了一种适用于目标系统的取指和资源分配策略,旨在合理利用处理器资源和加速指令执行速度;同时对多线程的指令调度技术做出分析,以乱序多发射技术为基础进行指令调度,在此基础上提出若干关键技术优化线程调度。再次对论文所提出的多线程主控制器进行设计实现,介绍和分析了各关键模块的工作原理和实现方案,同时将系统内其他资源纳入主控制器的管理中,实时监测系统的资源动向,并根据指令需求动态分配空闲的资源。最后对设计进行集成和测试,通过加载不同任务指令验证了主控制器的功能和正确性,并对设计提出了进一步优化的方向。