多核多线程处理器模拟器的设计与实现

多核多线程处理器模拟器的设计与实现

论文摘要

多线程(MT)处理器技术是当前微处理器体系结构的研究热点之一,而单芯片多处理器(CMP)也广泛应用于商用处理器中。随着硬件技术的发展,在单个芯片上,不但可以集成多个处理器核,而且每个处理器核都可以采用多线程结构。多核多线程处理器必将成为未来处理器研究的热点和发展方向。开发一款支持多核多线程处理器的模拟器将对处理器体系结构的研究提供重要的支持。本文深入分析了同时多线程体系结构,包括流水线、分支预测器、存储层次、寄存器文件等部分。提出了一种简单的多核同时多线程体系结构MSMT,同时掌握了当前主流模拟器的设计方法——执行驱动的模拟方法,以及在执行驱动方法的基础上提出的时序优先的设计方法。并基于威斯康星大学的GEMS体系结构模拟器,提出了我们的MSMT结构模拟器的设计方法,建立了同时多线程的流水线、寄存器文件等结构,同时利用C++语言面向对象技术实现多核多线程的模拟。初步的实验表明,我们设计的模拟器模拟行为正确,性能统计结果能够为体系结构研究提供定量依据,支持全系统模拟,并且具有良好的用户接口和灵活的软件结构。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • §1.1 课题背景
  • 1.1.1 指令级并行的局限性
  • 1.1.2 线程级并行的发展机遇
  • 1.1.3 多核多线程式体系结构
  • 1.1.4 处理器模拟器的发展趋势
  • §1.2 问题提出
  • 1.2.1 多核多线程处理器及其模拟器研究的关键问题
  • 1.2.2 课题的重要意义
  • §1.3 本文工作
  • §1.4 论文结构
  • 第二章 同时多线程处理器结构和GEMS模拟器概述
  • §2.1 同时多线程处理器体系结构模型
  • 2.1.1 流水线
  • 2.1.2 分支预测器
  • 2.1.3 存储层次
  • §2.2 SMT处理器中共享资源的分类和特性
  • 2.2.1 共享资源的分类
  • 2.2.2 共享资源的特性分析
  • §2.3 GEMS模拟器
  • 2.3.1 GEMS模拟器的设计方法
  • 2.3.2 GEMS模拟器组成和结构
  • §2.4 小结
  • 第三章 MSMT模拟器的设计和实现
  • 3.1 具有三级cache结构的MSMT
  • 3.1.1 MSMT的cache结构
  • 3.1.2 简单的共享指令队列的同时多线程处理器核
  • §3.2 模拟器的设计方法
  • 3.2.1 模拟的驱动机制
  • 3.2.2 性能模拟与功能模拟的耦合
  • 3.2.3 MSMT模拟器的设计方法
  • §3.3 MSMT模拟器与SIMICS的接口
  • 3.3.1 API
  • 3.3.2 命令的实现
  • §3.4 多核以及多线程的设计与实现
  • 3.4.1 多核的实现
  • t'>3.4.2 线程类:threadt
  • §3.5 MSMT模拟器流水线的设计与实现
  • 3.5.1 取指段
  • 3.5.2 译码段
  • 3.5.3 调度段
  • 3.5.4 执行段
  • 3.5.5 提交段
  • §3.6 存储结构、寄存器结构以及功能单元
  • 3.6.1 带有预取和牺牲缓冲的存储结构
  • 3.6.2 各线程独立的寄存器结构及共享的功能单元
  • §3.7 MSMT模拟器的分支预测器
  • 3.7.1 Gshare分支预测器
  • 3.7.2 Agree分支预测器
  • 3.7.3 YAGS分支预测器
  • §3.8 性能统计方法
  • §3.9 小结
  • 第四章 实验分析
  • §4.1 实验环境
  • §4.2 实验一:模拟器正确性验证
  • 4.2.1 功能正确性
  • 4.2.2 性能正确性
  • §4.3 实验二:MSMT结构性能评价
  • §4.4 实验三:同时多线程处理器核性能分析
  • 第五章 结束语
  • §5.1 工作总结
  • §5.2 展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    多核多线程处理器模拟器的设计与实现
    下载Doc文档

    猜你喜欢