内存系统的功耗与延迟优化研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:chensheng76
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着应用数据的不断增大,以及片上处理器核心数的不断增加,对内存容量的需求越来越大,内存容量的扩展成为必然趋势,使得内存子系统逐渐成为整个计算机系统功耗和性能的瓶颈。  DRAM是当前内存系统的主要技术。由于DRAM芯片用于存储数据的电容器会随时间推移泄电荷,所以需要定期地执行刷新操作来维护数据的正确性。随着DRAM容量的增加,每次刷新操作需要刷新的DRAM行数也增加,使得每次刷新操作的功耗和执行时间也随之增加。另外,执行刷新期间无法运行正常的访存操作,进而影响了系统访存延迟。  激活和预充电操作引入的功耗与被激活DRAM行包含的位线条数成正比。随着容量的增加,位线条数也随之增加,激活和预充电操作带来的功耗和延迟不断增加。  本文围绕DRAM系统刷新操作与激活和预充电操作的功耗和延迟开展研究。主要工作包括以下几个方面:  研究减少不必要的刷新操作。鉴于弱单元数量很少,本文提出了不再维护弱行(存在弱单元的DRAM行)正确性的DearDRAM机制,该机制以大部分普通DRAM单元的维持时间作为刷新窗口,减少了大量的刷新操作,同时不需要设计复杂的机制维持弱单元的正确性。本文基于该机制实现了缩放和扩展两种不同的刷新方案,实验结果表明,两种方案都能够有效地降低刷新功耗和总功耗,同时提升系统的性能。其中缩放方案节能明显,在常温模式和高温模式下分别减少了14.61%和23.86%的总功耗。扩展方案性能提升明显,常温模式提升了4.56%,高温模式下提升了10.57%。  研究针对DRAM单元的高电荷状态,提升能效的刷新机制。DRAM单元中剩余的电荷量越多,访问延迟就越小,反之亦然。本文根据DRAM单元高电荷的状态,首先提出了三种静态的刷新方案REF64、REF128和REF256,分别将刷新窗口设置为64ms、128ms和256ms。然后提出了动态调整刷新窗口的MulREF方案,该方案能够根据当前访存延迟的分布情况,动态调整下次刷新窗口的大小。实验结果表明,四种方案都有不同程度的性能提升,同时将系统功耗维持在较低的范围内。  研究减少单次刷新操作的执行时间。单次刷新操作的执行时间主要受限于刷新行的数量和DRAM单元恢复的电荷量。本文从这两个维度出发,提出2DO机制,增加每条刷新命令需要刷新的DRAM行数,同时减少DRAM单元需要恢复的电荷量,而不改变刷新窗口发出的刷新命令总条数。基于2DO机制实现了2DO-Half方案和2DO-Quarter方案,实验结果表明,它们能够有效降低刷新能耗和刷新操作对性能的影响。  研究减少激活和预充电操作引入的功耗和延迟。为了缓解DRAM行过度预取的问题,本文首先提出了CAP架构,通过复用字线驱动器,将每个MAT(DRAM芯片的最小阵列)完全切分为左部分和右部分,各自有独立的行解码器和列解码器,允许同时激活相同Bank中不同部分的两行,实现Bank内的请求并行。进一步提出S2CAP架构,实现Subarray(多个MAT组成的结构)中MAT的左右两部分共享彼此的读出放大器,将当前激活行的数据一直保存在读出放大器中,直到接下来两个访问该Bank的请求都不再访问该行的数据时,才允许该行数据所在的读出放大器中的内容被其它激活行的内容替换。再进一步提出S3CAP架构,挖掘Subarray间的并发性,允许位于Bank相同部分的多个Subarray同时被激活。实验结果表明,三种方案能够有效地降低激活和预充电功耗,同时提升访存并发性和系统整体性能。
其他文献
地下水是我们生活中不可缺少的自然资源。随着现代工农业的迅速发展,人类对地下水资源的合理开发和有效利用,逐渐成为了学术界所关注的焦点。我们主要利用数值模拟的方法来进
现实世界中,一个地区或城市通常由不同的部门在不同的时间负责采集地理数据,并各自建立相应的地图数据库,在地理信息系统中亟待解决的问题是,如何将来源不同或者差异程度不同
随着计算机网络技术在产品开发设计过程中的进一步应用,网络化产品协同设计技术已经成为现代产品设计理论和方法研究领域关注的研究热点,网络化产品协同设计是指多学科群组人
随着信息时代的到来,软件技术突飞猛进,软件产品在社会各个应用扮演着越来越重要的角色。如何保证软件质量一直是计算机技术的热门研究领域。软件测试已经成为了保证软件质量
随着万维网(World Wide Web)的迅速发展和Web用户数量急剧增加,大规模的Web数据已经成为一类重要的数据资源,在研究和应用领域受到了广泛的关注。Web数据可以分为两种类型:一
随着星载成像类载荷的数量和精度的提高,在有效观测时间段内卫星获取的图像数据量越来越大。受地面接收站地理分布限制,卫星多采用先存储后下行的机制,即先将采集到的数据放
软件测试是软件开发的关键环节之一,直接关系到软件的质量。其中API测试是软件测试的重要环节之一。目前API测试过程繁琐而且对测试人员的编码能力要求较高。另外,当测试数据
3D图形引擎广泛地被应用于各种领域,例如游戏开发、虚拟现实、工业设计等等。尤其是3D游戏设计,其最核心的组件就是3D图形引擎。3D图形引擎已经发展成为一套由多个子系统共同
随着全球定位系统(GlobalPositioningSystem,GPS)在航海、航空、航天、交通测绘、资源勘探、通信、气象等领域的广泛应用,卫星导航接收机的研发成为了当今世界的热门研究课题
提出了进化算法研究平台,将平台功能分为算法构建和数据处理。算法构建包括内部构建、外部导入、引擎驱动三个部分;数据处理包括数据显示、数据统计、数据日志、数据导出四个