嵌入式系统中的内存压缩技术
嵌入式系统论文嵌入式系统中的内存压缩技术摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法Lempel-Ziv,并就内存压缩技术在嵌入式系统中的应用问题作一些探讨。关键词:嵌入式系统内存压缩压缩内存控制器Lempel-Ziv算法1内存压缩技术介绍为节省存储空间或传输带宽,人们已经在计算机系统中广泛地使用了数据压缩技术。在磁介质存储数据或网络传输数据时,人们使用基于硬件或软件的各种压缩技术。当压缩技术在各个领域都很流行时,内存压缩技术却由于其复杂性而一直未得到广泛使用。近年来,由于在并行压缩一解压算法以及在硅密度及速度方面取得的进展,使得内存压缩技术变得可行。内存压缩技术的主要思想是将数据按照一定的算法压缩后存入压缩内存中,系统从压缩内存中找到压缩过的数据,将其解压后即可以供系统使用。这样既可以增加实际可用的内存空间,又可以减少页面置换所带来的开销,从而以较小的成本提高系统的整体性能。内存压缩机制是在系统的存储层次中逻辑地加入一层——压缩内存层。系统在该层中以压缩的格式保存物理页面,当页面再次被系统引用时,解压该压缩页后,即可使用。我们将管理这一压缩内存层的相关硬件及软件的集合统称为内存压缩系统。内存压缩系统对于CPU、I/O设备、设备驱动以及应用软件来说是透明的,但是操作系统必须具有管理内存大小变化以及压缩比率变化的功能。对于大多数的操作系统而言,要实现内存压缩,大部分体系结构都不需要改动。在标准的操作系统中,内存都是通过固定数目的物理页框(pageframe)来描述的,由操作系统的VMM来管理。要支持内存压缩,OS要管理的实际内存大小和页框数目是基于内存的压