论文部分内容阅读
随着移动互联网的蓬勃发展,面对海量用户数据,如何对其进行有效存储成为一个亟待解决的问题。压缩存储技术借助高效的压缩算法对用户数据进行压缩后存储,极大减小了数据存储空间。但压缩率高算法往往压缩速率很低,因此需要借助硬件平台,如FPGA(Field Programmable Gate Array)对其加速。压缩率高的算法为了维持高压缩率需要存储较多的历史信息,而FPGA片上资源有限,因此只能使用访问效率较低而容量大的外部存储器,为提高压缩系统运行效率,综合计算机系统中Cache(高速存储器)的设计经验,设计实现一种基于FPGA的硬件缓存系统来提高数据压缩系统的性能。论文分析了现有缓存技术的发展和实现原理,并针对FPGA硬件加速平台,对缓存框架和结构进行扩展和改进,设计了缓存系统映射表和数据表,将控制信息和数据信息分开存储,加快地址命中与否的判断过程,并实现了易于硬件实现的数据替换算法。在缓存系统内部模块间利用流水线技术进行加速,通过引入预处理技术,提前计算访存地址,使地址不间断送给外部DDR(Double Data Rate)存储器,保持DDR始终处于满负荷工作状态。并依据不同硬件环境设计单路和多路的缓存实现方案。最终通过缓存系统提升硬件压缩系统性能。论文分析了对缓存系统性能影响较大的DDR读写过程,并对影响DDR读写性能的参数进行研究,结合压缩算法访存地址产生方式,对访存地址次序进行调整,减少DDR访问换行延迟;对缓存命中率与缓存空间大小关系进行研究,通过调整各组缓存空间大小,增大缓存平均命中率并减少平均访存次数;介绍新式存储器并应用混合存储这种改进方法,减少存储器读写延迟。通过对缓存系统进一步优化,提高缓存系统性能和扩展性。论文最终设计完成了缓存系统的硬件实现,系统采用同步时钟设计,时钟频率为200Mhz。缓存系统单路实现方案经过开发板测试,在FPGA 上压缩时间相比软件平均减少4.5倍;FPGA上最高吞吐率为5.66MB/s,系统吞吐率相比软件平均提升4.51倍。缓存系统在设计实现中使用了较少的硬件资源,具有比较广泛的适用范围,并且缓存系统设计接口具有很高的可扩展性,可适配于多种需要存储加速的系统,具有很好的应用前景。