SOPC处理器的程序压缩与解压研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:net917208
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着应用复杂度的增加,软件程序对存储空间的需求也逐步增大。由于星载处理机的存储器容量在物理上的增加往往受到机器自身、系统成本及功耗等的制约,因此将程序代码进行压缩存储,以从逻辑上来扩充存储器的容量,提高存储器的带宽。  本文结合星载处理机主控制器SOPC的设计,采用程序代码压缩存储解决方案,提出了两种新的代码压缩方法,并将代码解码逻辑成功地在FPGA中实现。本文的研究工作主要在以下三个方面展开:  (1)对存储压缩系统的理论研究  研究了存储压缩系统的层次结构设计以及cache的设计和优化,分析了影响系统性能的因素和评估处理器性能和存储器性能的方法。详细定义了码源符号、压缩后代码符号等概念,分析了代码熵、代码联合熵、代码条件熵以及代码信息的相关性和码源剩余度的性质及计算方法。建立了六种程序代码的数学建模模型,分别为:域模型、指令类型模型、执行宏模型、分块模型、概率模型以及混合模型。对目前论文中、工程中出现的各种代码压缩方法进行了归类,并可根据对所建立的代码模型进行组合变换,设计出新的代码压缩方法。  (2)程序代码压缩存储方法的研究  提出了基于多字典的代码压缩存储方法和聚类分块的代码压缩存储方法。多字典的代码压缩存储方法,根据指令集合中不同编码出现的频次,对指令集合进行分类,并对各类编码集合采用不同索引长度的字典进行压缩。理论证明和实验结果表明,本方法的效果优于采用传统的字典压缩的压缩率。对MiBench基准程序在ARM和MIPS指令集下编译的指令采用本方法进行压缩,压缩率分别在50%~55%,65%~71%之间。聚类分块的代码压缩存储方法,充分利用源代码符号以块的形式连续出现的特点,将这些代码聚为m类,然后再根据源代码符号的整体概率分布,将源代码符号分为n类,最后采用基于多字典的编码方法进行压缩,MiBench基准程序在ARM和MIPS指令集下编译的指令的压缩率有了进一步提高,分别在43%~44%,62%~70%之间。实验结果表明,这两种代码压缩方法的压缩效果都非常显著,且解压逻辑简单、易于实现。  (3)程序压缩存储技术在SOPC中的应用和实现  研究了指令解码器实现的三个关键问题:符号快速定位、地址映射和访存时间的减少。通过并行的查找多字典,实现符号的快速定位,同时增大了存储带宽。通过地址映射表来解决程序压缩前后指令的地址变动问题,使得程序在压缩后,仍能正确找到跳转指令的实际地址。通过地址映射缓冲存储器来减少访存次数,从而降低cache失效时的时间开销。设计了用于星载遥感影像处理系统的SOPC控制器。采用代码压缩方案,提高了存储器的带宽、增强了MPU16-RISC处理器的性能。对NandFlash中的DSP程序也进行压缩存储,通过FPGA中的MPU16-CPU进行解压并传送给DSP的link口。
其他文献
随着科学技术的飞速发展,在科学计算领域,并行计算已经越来越受到人们的关注和重视。由于大规模科学计算问题的复杂性,庞大性,往往难以用常规的单机来实现计算任务。计算机单机技
虹膜识别过程主要包括“感”和“知”两大部分,“感”是指通过图像获取设备采集虹膜纹理的数字化信号,“知”是指通过数字信号处理、图像处理技术、计算机视觉、模式识别等方法
Web应用服务器是网络分布计算环境中的主流中间件平台,为创建、部署、运行、集成和管理多层分布式应用提供基础设施支持,它的可靠性对运行于其上的应用具有重要的影响。 虽
根据军队信息化建设及发展的要求,军队迫切需要实现信息管理的数字化和网络化。目前,我军的信息化水平与世界发达国家相比还有很大的差距。为实现军事信息管理系统的电子化、系
手机支持越来越多的多媒体应用,多媒体应用使用的多媒体数据格式种类越来越多。多媒体应用的核心是多媒体数据处理。多媒体数据处理包括对文本、图形、图像数据的处理,还包括对
医学图像信息配准与融合是当代信息科学、计算机技术与医学影像科学相交叉的一个研究课题,它是医学图像处理学科的一个新的研究热点。应用医学图像信息配准与融合技术可以把不
消防的重点在于预防。高层大型建筑物由于结构复杂,人员疏散逃生困难,是火灾预防的重点之一。我国消防系统的档案多以文档形式为主,部分信息附以二维平面图来表现。而用三维
随着互联网规模的增长,拥塞已经成为一个十分重要的问题。近年来,主动队列管理算法已成为端到端拥塞控制的一个研究热点。它通过评估网络状态、预测拥塞的出现,对分组进行有
学位
形式化方法借助数学方法为系统的说明、开发和验证提供了一个框架,有利于发现目标软件系统需求中的不一致性、不完整性等问题。 统一建模语言UML是当前软件工程领域的研究