DDR压缩存储+Cache解压

WhiteDeerPro 2026-08-15 11:02 1

最近在思考一个关于程序运行效率的问题,想请教各位的看法。


我们知道信息熵的概念,而计算机实际运行的指令和数据并不一定是高熵的(大量指令存在重复模式、数据存在局部性),这意味着理论上存在压缩空间。

当前"内存墙"问题日益突出,DDR带宽往往是瓶颈。

如果利用Cache的层级特性,将程序以压缩态存放在DDR中,在Cache中还原为实际运行的指令/数据,是否能有效提高指令/数据的有效带宽利用率

最新回复 (9)
  • 山禾 08-15 11:04
    1

    佬友可以了解一下steamOS。我也进行过相关实验,cpu计算性能还是太弱了,对于一些复杂数据的解压缩的性能很差。

  • 晨旭 08-15 11:06
    2

  • Yuzi_ska 08-15 11:13
    3

    内存压缩是很早之前就已经使用了的技术,看起来也许你在找ZRAM内存压缩?

  • admini 08-15 11:32
    4

    时间换空间,然后空间再换时间。左脚踩在右脚上不断向上。压缩解压要算力。

  • WhiteDeerPro 楼主 08-15 11:44
    5

    sure 编码的压缩解压有开销代价是肯定的

  • kzhsw 08-15 11:47
    6

    现在主流的压缩是字典压缩,不能精确的随机访问,所以有可能反而造成读取放大和更多对字典的随机访问

    内存压缩可能更适合只需要整块访问的数据

  • WhiteDeerPro 楼主 08-15 11:47
    7

    嗯 有类似的地方 不过我的想法是压缩将要执行的指令/数据 比如32bit在内存中以16/8bit 或者更高的压缩模式存储 然后在cache中(激进一点就是postcache 添加一个lut类似的东西做decompossor)改善的是ddr瓶颈时的ipc

  • WhiteDeerPro 楼主 08-15 11:49
    8

    按块压缩是策略级别的事情嘛 譬如说ddr存储高压的 程序伺服按块变成16bit/8bit的压缩指令 在cache中进行下一级的譬如变成32bit原长填入icache

  • kzhsw 08-15 11:51
    9

    怎么感觉这个描述的是nvfp4这样的块“量化”,有损的吗

    无损压缩应该只有熵编码和字典,这两个都不太适合随机访问

* 帖子来源Linux.do
返回