一种基于eDRAM的GPGPU寄存器文件系统的制作方法

文档序号:9217126阅读:236来源:国知局
一种基于eDRAM的GPGPU寄存器文件系统的制作方法
【技术领域】
[0001]本发明涉及一种GPGPU系统结构,特别涉及一种基于eDRAM的GPGPU寄存器文件系统。
技术背景
[0002]GPGPU(General Purpose GPU,即通用计算图形处理器)在多核时代被越来越广泛的运用到通用计算中,极大的促进了数据的并行处理。GPGPU中大规模的数据并行得益于较高的存储带宽和大量的并行线程。保证大量并行线程之间没有代价的自由切换,需要大量的寄存器保存所有活跃线程的内容和状态。
[0003]传统的GPGPU寄存器文件系统由SRAM构建而成。SRAM需要至少六个晶体管,并且有较高的泄漏电流,这使得传统的SRAM寄存器文件系统很容易占据大片的芯片面积以及消耗更多的能量。
[0004]嵌入式存储器eDRAM存储器具有更高的频宽及更致密的架构表现,由于eDRAM是采用整合于芯片内部的设计,因此在初始设计上,可以采用宽度非常高的汇流排设计,由于是在芯片阶段就设计完成,因此不需要改变芯片封装后的接脚数或是PCB的布线规模。因此在后面的制造阶段就可以非常的省力。而在效能表现上,以256-bit宽度的汇流排设计的嵌入式存储器来看,时脉只要到达500MHz,即可达到128Gb/s的频宽表现,而且汇流排宽度的提升相较起独立存储器控制器而言,更是相对简易许多。
[0005]eDRAM虽然要求更高的制程技术,不过由于eDRAM与IT-SRAM同样都是采用单一晶体管及单一电容(ITlC)所达成的技术,即使与传统嵌入式SRAM的6T架构相较起来,更少的晶体管与电容,代表著更低的维持功耗以及更小的晶体管尺寸,虽然SRAM本身可以维持住电荷,不像eDRAM仍需持续的消耗电流刷新来维持资料,理论上不需要额外的电压来维持动作,但是在晶体的部分,仍会受到制程及本身架构问题的影响,而有漏电的状况。

【发明内容】

[0006]本发明要解决的技术问题是,提供一种基于eDRAM的GPGPU的寄存器文件系统,使之与传统的GPGPU寄存器文件系统相比具有更好可扩展性,能量有效性和工艺容忍性。
[0007]本发明的目的是通过下述技术方案实现的:一种基于eDRAM的GPGPU寄存器文件系统,其特征在于:
[0008]I)用eDRAM代替SRAM构建寄存器文件;寄存器文件用于存储数据;
[0009]2)使用刷新策略,定期刷新寄存器文件中存储的数据,保证数据完整性。
[0010]进一步,GPGPU寄存器文件系统,用3TlD-eDRAM代替SRAM构建GPGPU寄存器文件。3T1D DRAM 指 3-transistor, 1-d1de dynamic memory cells。
[0011]进一步,GPGPU寄存器文件系统,用lTlC-eDRAM代替SRAM构建GPGPU寄存器文件。指单一晶体管及单一电容(ITlC)。
[0012]基于eDRAM的GPGPU寄存器文件系统的刷新策略包括:1)刷新操作:以寄存器条目为单位,一次刷新操作为对一个寄存器条目中的数据执行一次读操作,一次写操作;一个寄存器条目由32个32位寄存器组成;2)刷新方法:按照某种方式(包括步骤I的方法),实施多次刷新操作,完成整个寄存器文件的刷新。3T1D DRAM指3-transistor,1-d1dedynamic memory cells。指单一晶体管及单一电容(ITlC)。
[0013]基于eDRAM的GPGPU寄存器文件系统的刷新方法包括以下三种:
[0014]1、完全寄存器文件刷新:利用一个计数器计数,选取一个合适的时间冻结寄存器
[0015]文件,在此期间,对寄存器文件的寄存器条目依次实施刷新操作,直到整个寄存器文件完成刷新,然后解冻寄存器文件并且重置计数器;刷新时间的选取应该保证在数据生存周期内完成数据刷新;
[0016]2、使用bank bubble刷新:当两个寄存器在同一个bank时,无法同时读取,warpO需要多等待一个周期,在这个过程中,寄存器文件的其他bank是空闲的,可以实施刷新操作,这个就是bank bubble。每一个寄存器条目关联一个计数器,利用一个bubble检测器检测寄存器文件的bank bubble板块气泡,当检测到bank bubble时,利用一个刷新产生器对一个需要刷新的寄存器条目实施刷新操作,同时重置相应的计数器;如果没有足够的bankbubble保证在数据生存周期内完成整个寄存器文件的刷新,选取一个合适的时间,对剩余的寄存器实施完全寄存器文件刷新;
[0017]上述过程中所述的bank bubble包括:
[0018]一条指令需要访问的多个数据分布在相同的寄存器文件bank,这些数据的访问需要串行进行,指令因此需要等待多个数据访问周期,等待的过程中有其他的寄存器文件bank空闲;寄存器文件不在满负荷工作状态,即在一个周期中,有寄存器文件bank空闲;bank包括若干寄存器条目;
[0019]3、使用bank漫游刷新:设置一个计数器计数,选择一个合适的时间开始一个接一个的漫游寄存器文件bank,每次对当前bank的一个寄存器条目实施刷新操作;重复上面的步骤直到整个寄存器文件被刷新;重置计数器;每次刷新因为包含一个读操作,一个写操作;设置一个计数器,每过一个周期计数器加I。从一开始刷新,每次只刷新一个bank的一个寄存器条目,不同的bank交替刷新,重复上面的步骤直到所有的bank被刷新,计数器的到达寄存器总数,重置计数器。重复上面的过程,进入下一轮刷新。这种策略刷完整个寄存器需要的时间长,但是在刷新的过程中,其余空闲的bank可以处理普通的读写访问。
[0020]基于lTlC-eDRAM的GPGPU寄存器文件系统中的数据在进行读操作时会遭到破坏,为缓解这种破坏性读操作的影响,本发明提出一种寄存器文件bank组织方式以及针对这种组织方式的GPGPU warp调度策略,该方法应用于基于lTlC-eDRAM的GPGPU寄存器文件系统;所述的寄存器文件组织方式是在传统的寄存器文件组织方式的基础上,将bank平均分成两组;所述的warp调度方法是warp调度器在连续的周期轮流发射奇数号warp和偶数号warp,奇数号warp访问第一组bank,偶数号warp访问第二组bank ;如果当前没有准备好的奇数号/偶数号warp,允许连续发射偶数号/奇数号warp。
[0021]有益效果,本发明是基于eDRAM的寄存器文件系统。由于eDRAM(增强动态随机存取存储器)更高的晶体管密度和更小的能量泄露,本发明的寄存器文件系统与传统寄存器文件系统相比,具有两倍的晶体管密度以及低于一个数量级的能量泄露。当然基于eDRAM的寄存器文件系统面临数据在生存周期外丢失的问题,本发明的寄存器文件系统需要定期执行刷新操作。特别的,由于基于lTlC-eDRAM、即单一晶体管及单一电容(ITlC)所达成的寄存器文件系统中的数据在进行读操作时会遭到破坏,该类系统提供了方法缓解这种破坏性都操作带来的影响。
[0022]本发明对比已有系统具有以下贡献:1)设计并实现了基于3TlD_eDRAM的GPGPU寄存器文件系统以及基于lTlC-eDRAM的GPGPU寄存器文件系统。比传统基于SRAM的GPGPU寄存器文件系统具有更好的扩展性,能量有效性和工艺容忍性。2)提供三种数据刷新策略,解决基于eDRAM的GPGPU寄存器文件中的数据会在生存周期外丢失的问题;保证数据的完整性。3)基于lTlC-eDRAM的GPGPU寄存器文件读操作会破坏被读的数据,针对这种问题提出一种GPGPU寄存器文件组织方式和warp调度策略相结合的方法缓解这种破坏性读操作的影响。通过这些策略和方法使本发明的系统更加完善。采用嵌入式存储器方案,有更低的系统耗电,利用eDRAM设计芯片,因为整个I/O都已经在芯片内部的电路、闸极阶段就已经完成,不需要另外耗费电力来驱动外部装置,比起外接存储器的方式,除了更省电这项优点之外,也可以有效的提升时脉。eDRAM虽然要求更高的制程技术,不过由于eDRAM与IT-SRAM同样都是采用单一晶体管及单一电容(ITlC)所达成的技术,即使与传统嵌入式SRAM的6T架构相较起来,更少的晶体管与电容,代表著更低的维持功耗以及更小的晶体管尺寸。分析结果表明,本发明与传统基于SRAM的GPGPU寄存器文件系统相比,呈现出更好的可扩展性,能量有效性和工艺容忍性。
【附图说明】
[0023]图1a为本发明寄存器文件系统示意图;Ib为Ia中寄存器文件的bank示意图;
[0024]图2为本发明3TlD_eDRAM示意图;
[0025]图3为本发明lTlC-eDRAM示意图;
[0026]图4为本发明使用bank bubble刷新方法的流程示意图;
[0027]图5为本发明基于lTlC-eDRAM寄存器文件系统的寄存器bank组织方式示意图。
【具体实施方式】
[0028]下面结合附图和实施例对本发明作进一步说明。其中英语术语均为本领域技术人员熟悉的术语:Bank Arbtrator裁决器Crosstar交叉星形Collector Unit汇聚单元。
[0029]本发明是基于eDRAM的GPGPU寄存器文件系统,寄存器文件系统的结构如图1所示。本发明采用如图2所示的3TlD-eDRAM构建寄存器文件系统中的寄存器文件bank(具有若干寄存器条目)。一般而言,在45nm的工艺节点上,一个3T1D存储单元的大小为37平方毫米,由这样的3T1D存储单元构建的寄存器文件系统,一次读操作需要340fJ能量,一次写操作需要134fJ能量,每个bank的泄露能量为17.2uW。本发明还采用如图3所示的lTlC-eDRAM构建寄存器文件系统中的寄存器文件bank。一般而言,在45nm的工艺节点上,一个ITlC存储单元的大小为18平方毫米,由这样的ITlC存储单元构建的寄存器文件系统,一次读操作需要281fJ能量,一次写操作需要108fJ能量,每个bank的泄露能量为4.08uWo
[0030]基于eDRAM的GPUGPU寄存器文件系统中存储的数据有生存周期,超过生存周期数据就会丢失,本发明提供三种刷新策略在数据生存周期内刷新数据,保证数据完整性。
[0031]下面通过几个实施例详细说明3种刷新策略的基本步骤:1)完全寄存器文件刷新:设定GPGPU寄存器文件系统中有1024个寄存器条目,分为16个bank(四层activewarpO-4 (指活跃的可以被调度的warp),每层16个寄存器条目),数据的生存周期是512个周
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1