多线程环境下寄存器文件的设计与优化

多线程环境下寄存器文件的设计与优化

论文摘要

如何挖掘处理器的并行性一直是处理器设计者努力的重要方向。传统RISC处理器体系结构和编译优化技术主要专注于开发程序执行中的指令级并行性,通过在一个时钟周期内发射多个操作来提高处理器的IPC。但是,单个程序的有限指令级并行性决定了多发射处理器的资源利用率不高。因此,多线程技术应运而生。多线程技术通过多个线程共享功能单元,开发线程级并行来提高处理器资源利用率。多线程处理器通过执行来自不同线程的指令流,使得单个线程中的长延迟操作得到很好的隐藏,使处理器的性能得到显著提高。然而,多线程并行执行也对寄存器文件提出了很大的挑战。作为处理器的重要组成部件,寄存器文件的有效设计对于提高微处理器的性能具有举足轻重的作用。寄存器文件也称寄存器堆,其作用就像一个小的快速的缓冲器,用于微处理器存放操作数和运算的中间结果。在计算机系统的整个存储层次体系中,寄存器文件位于最顶层,离CPU运算部件距离最近,访问速度最快。本文设计了一款支持多线程的高性能通用寄存器文件,它有3个读端口和2个写端口,支持4线程并行。我们首先研究了多线程体系结构的特点以及寄存器文件的功能和结构,分析了过程调用与寄存器窗口的关系。然后针对多线程环境的特点,我们对寄存器文件的结构、功能和实现进行了研究和设计。在设计中综合应用了寄存器划分、重叠寄存器窗口、层次扩展等技术,构造了“两级寄存器窗口”结构。从实现的角度,我们还研究了两级寄存器文件的数据一致性管理策略,给出了寄存器文件的端口描述和时序设计,并对设计进行了验证。另外,我们对窗口异常处理和控制进行了详细设计。最后,我们对Active寄存器文件进行电路设计,并给出了面积分析。通过采用合理的组织结构以及有效管理策略,我们设计的寄存器文件具有很好的性能,满足了四个线程并行执行的需要,达到了预期的设计目标。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 课题研究的意义
  • 1.3 寄存器文件的研究现状
  • 1.3.1 层次结构
  • 1.3.2 水平结构
  • 1.3.3 资源管理
  • 1.4 本文的主要工作
  • 1.5 论文的组织
  • 第二章 多线程环境下的寄存器文件
  • 2.1 多线程技术概述
  • 2.1.1 线程的概念
  • 2.1.2 多线程的分类
  • 2.1.3 多线程的硬件支持
  • 2.2 寄存器文件简介
  • 2.2.1 寄存器文件的功能
  • 2.2.2 寄存器文件的结构
  • 2.3 过程调用与寄存器窗口
  • 2.4 寄存器窗口与 Cache 的比较
  • 第三章 寄存器文件的结构和管理
  • 3.1 X 多核多线程处理器简介
  • 3.2 寄存器文件窗口
  • 3.3 两级寄存器窗口
  • 3.4 寄存器窗口管理
  • 3.4.1 寄存器窗口特权状态寄存器
  • 3.4.2 寄存器窗口的管理策略
  • 3.5 寄存器窗口中断
  • 3.5.1 窗口溢出/填充中断
  • 3.5.2 窗口clean 中断
  • 3.5.3 CWP 算法描述
  • 第四章 寄存器文件的实现与验证
  • 4.1 寄存器文件的实现考虑
  • 4.2 数据一致性管理
  • 4.3 寄存器文件模块划分
  • 4.4 寄存器文件的端口描述
  • 4.5 寄存器文件的时序设计
  • 4.6 寄存器文件的设计验证
  • 4.6.1 传统的验证流程步骤
  • 4.6.2 寄存器文件验证
  • 第五章 Active 寄存器文件的电路实现
  • 5.1 寄存器的存储结构
  • 5.2 Active 寄存器文件全定制动态逻辑结构
  • 5.2.1 组织结构
  • 5.2.2 存储阵列电路
  • 第六章 结束语
  • 6.1 课题总结
  • 6.2 寄存器窗口的不足
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    • [1].二进制翻译中动静结合的寄存器分配优化方法[J]. 计算机研究与发展 2019(04)
    • [2].一种局部寄存器分配的优化策略[J]. 计算机应用与软件 2013(12)
    • [3].基于寄存器簇恢复的追踪信号选择方法[J]. 计算机学报 2018(10)
    • [4].基于优先级动态二进制翻译寄存器分配算法[J]. 浙江大学学报(工学版) 2016(07)
    • [5].降低寄存器软错误的静态寄存器重分配方法[J]. 计算机应用 2014(09)
    • [6].一种基于动态迁移技术的寄存器保护方法[J]. 计算机工程 2010(17)
    • [7].基于脉冲寄存器的高性能低功耗电路设计实现[J]. 微电子学与计算机 2009(06)
    • [8].结合的指令调度与寄存器分配技术[J]. 计算机应用研究 2008(04)
    • [9].用于安全集成电路的三相单轨脉冲寄存器[J]. 华中科技大学学报(自然科学版) 2020(04)
    • [10].数字信号处理器分布式寄存器的写回设计[J]. 微电子学与计算机 2013(07)
    • [11].适用于多核处理器的扩展寄存器文件设计[J]. 计算机工程 2012(15)
    • [12].基于寄存器窗口互相重叠的多核间数据交换方法[J]. 中国集成电路 2012(08)
    • [13].基于数据流分析的寄存器参数恢复方法[J]. 计算机工程 2009(22)
    • [14].C程序映射到FPGA的寄存器快速评估技术[J]. 小型微型计算机系统 2015(02)
    • [15].一种低功耗的多端口寄存器文件结构设计[J]. 中南大学学报(自然科学版) 2015(08)
    • [16].基于冗余寄存器分类的时序网络面积优化算法[J]. 微电子学与计算机 2012(07)
    • [17].一种应用加权相容图的可测性寄存器分配算法[J]. 小型微型计算机系统 2008(05)
    • [18].一种抗能量分析攻击的复合寄存器系统[J]. 密码学报 2014(05)
    • [19].基于映射表的寄存器文件设计以及编译器优化[J]. 电子学报 2008(02)
    • [20].基于网的寄存器分配冲突图研究[J]. 计算机工程 2010(11)
    • [21].寄存器插入环带宽性能及公平策略分析[J]. 计算机应用与软件 2010(10)
    • [22].一种寄存器压力敏感的指令投机调度技术[J]. 计算机研究与发展 2009(03)
    • [23].轻量级现场纠正的错误消除寄存器设计[J]. 浙江大学学报(工学版) 2017(03)
    • [24].一种基于分区域优先级的寄存器分配算法[J]. 电子与信息学报 2013(12)
    • [25].一种可重构线性反馈移位寄存器设计[J]. 通信技术 2010(08)
    • [26].元数据展开的动态二进制翻译寄存器化优化[J]. 小型微型计算机系统 2008(10)
    • [27].PLC保存型寄存器数量不足问题的探讨[J]. 电子测试 2018(07)
    • [28].增强型虚拟寄存器轮转算法[J]. 网络与信息安全学报 2018(05)
    • [29].高速5端口寄存器文件的设计与实现[J]. 微电子学与计算机 2009(01)
    • [30].基于三层防护的CAN寄存器翻转恢复方法[J]. 国外电子测量技术 2016(12)

    标签:;  ;  ;  ;  

    多线程环境下寄存器文件的设计与优化
    下载Doc文档

    猜你喜欢