单片多处理器(CMP)由于在线延迟和功耗等方面的优势,必将成为主流微处理器。如何利用CMP中的大量资源,充分开发程序中的多种并行性,加快程序执行速度是未来的一个重要研究课题。本申请课题研究一种基于CMP 的指令级多线程系统,采用线程级并行和指令级并行两种并行性提高程序的执行速度,用显式并行指令计算(EPIC)思想生成在CMP 内部各个处理器核上运行的指令序列(线程),提出几个线程级并行和指令级并行优化算法,采用输出同步机制、动态变量换名和动态隐藏存储延迟等技术尽量消除程序执行过程中的数据相关、模糊相关(如指针和条件分支等)和随机相关(如Cache 缺失等),达到或超过全部采用硬件实现的动态调度效果,而处理器核的硬件结构非常简单和规整,并在开放源代码编译器和模拟器中实现所提出算法和方法,使CMP 执行程序的并行度能够达到10 左右,比目前的主流微处理器提高3 倍以上。
英文主题词Chip Multiprocessor; Instruction Level; Multi-threading; Thread Level Parallelism; Instruction Level Parallelism