仲鑫达是一家自动化备品备件供应经销商,为大型工业组织提供广泛的电气零件和组件。
我们在工业安全设备和自动化控制的佳制造商合作。
专业分销网络,为各地的客户提供支持
- 我们的产品货真价实、质保齐全;
- 我们的物流中心产品丰富、库存充足;
- 我们的合作快递满足灵活的配送需求
mips处理器
理解了thumb技术后,mips16e就没什么新奇的了。一些mips处理器中增加了另外的16位指令集,与arm系统非常类似。mips16e指令集包括了一组16位的标准mips算法、逻辑以及跳转指令的简化版本。其使用和thumb一样,也需要在标准模式和mips16e模式之间来回切换,这也将导致付出时间和增加代码的开销。除非能在“压缩”模式上运行相当长时间,否则没有必要进行模式切换。其代码压缩效率和arm差不多,对于多数程序而言,也是20%到30%。
mips16e和thumb都不能对代码进行真正的压缩,它们只是对部分指令提供了可替换的操作码,而且得到的压缩比是依赖于短操作码和长操作码的总长度的比值。也就是说,依赖于代码所完成的任务,诸如操作系统和中断处理例程等系统级代码根本就不能使用16位指令,因此不能获得代码压缩效果。一般的算法,只要不使用任何大操作数,就能得到很好的压缩效率。后,别忘了数据是无法进行压缩的,只有代码能够被压缩。如果你应用代码中包括了大量的静态数据结构,所能得到的总存储器节约是非常小的。还有,15%的性能损失也许很不值得。另一方面,mips16e和thumb都是免费的(假定你的处理器已经包含了它们),选用它们的成本非常低。
powerpc的codepack技术
值得提前说明的是,ibm的codepack方法是各种代码压缩技术中复杂的。与thumb和mips16e不同,codepack系统是真正对运行代码进行压缩,就好像在powerpc软件中运行winzip。codepack会分析并压缩整个程序,生成的用户代码必须在运行中解压缩并执行压缩版本。尽管很复杂,codepack和其它技术一样提供20%到30%的空间节省。
codepack是一项很有吸引力的技术。在使用该技术时,只须和平常一样使用标准工具编译嵌入式powerpc代码就行,codepack甚至对已有的代码也能使用(无论有没有源代码)。在将代码写入rom或装入磁盘之前,运行codepack压缩工具对代码进行压缩。压缩工具会分析代码指令的分布并生成一对专门针对这个程序代码的键值。当运行压缩后的代码时,拥有codepack功能的处理器使用这一对键值来在运行中解开压缩的代码,就好像直接运行压缩后的代码。解压缩会对处理器的流水线产生很小的延迟,但是其影响被取指延迟以及其它延迟所掩盖。对于绝大多数应用,codepack带来的性能影响是可以忽略的。