物联网装置资料压缩技术 可望大幅降低能耗
物联网(IoT)时代注重半导体低功耗效能,因为许多物联网装置需要电池且不见得能经常维护。而物联网装置唤醒或开机期间极为耗电,因此,有人针对物联网常见程式码代码映射(Code Shadowing)存储器架构的嵌入式设计方案,采用资料压缩技术,发现能省下大笔用电量。
据Design& Reuse网站报导,物联网装置多数时间处于待机状态,仅需处理资料或执行作业时,才开机或唤醒为使用状态。
CAST执行长Nikos Zervas表示,透过即时解压缩作业或预先压缩好的韧体(firmware),不但可减轻资料流量,也可在开机或唤醒装置时,将装置对长期储存资料的存取次数降到最低,因此大幅减少该作业阶段的用电量和延迟状况。
CAST团队利用市面上的IP核心执行Deflate/GUNZIP实验,而后发现资料压缩后可望减少最多50%用电量。此外,如果在系统内搭建合适的解压缩核心,省下的电力成本可望超过搭建此核心所需付出的额外成本。
低功耗嵌入式设计系统往往将应用程式编码储存在Flash、EPROM或OTP等非挥发性存储器(NVM)。当这些系统被唤醒、准备执行作业时,有二种方式可召唤应用编码:芯片内直接执行(eXecute In Place;XIP)或将编码复制到内建的SRAM,并从该单位执行。
至于系统使用何种方法召唤编码,则视NVM取得资料的速度和能量决定。一般而言,NVM比SRAM的处理速度还要慢,且从NVM读取资料所费的电量,也大于从SRAM上面读取资料,尤其当资料是随机取得时更是如此。
不过,当物联网装置多数时间都在休眠模式时,SRAM模式则不见得是最好的选择,因为大型芯片上SRAM往往有漏电流问题,因此在休眠模式也会继续耗电,而多数NVM系统却不会持续吃电。
因此,许多设计师多半只有在采用的是小型SRAM时,或是在有即时执行需求、无法等待处理缓慢的XIP过程时,才会执行SRAM上的程式码代码映射。
不过,设计师也可以压缩NVM内的应用程式编码,提升SRAM选项的优势。采用此法的话,系统得运用GZIP等无失真压缩法(lossless compression),而这意味着程式执行以前,编码就得进行解压缩。
储存压缩过的编码后,装置执行唤醒或开机时就可使用更少NVM,进而节省用电量,然而解压缩过程也有延迟、耗电的缺点。因此,压缩法是否成功省电,仍得看压缩比例以及解压缩需求而定。
而CAST团队发现,采用压缩法后,总省电量平均达50%,而当系统活跃时,解压缩核心的用电量不足为道,仅用掉省去电量的百分之一至百万分之一。压缩后的应用程式编码可用更小型的NVM装置作为长期储存方案,而系统也花费较少的时间将压缩后编码从NVM转至SRAM上面。