7.3.2.4 平台相关的优化 利用平台特定的指令,比如 ARM上利用条件执行替代条件跳转 比如ARM中用Branch-and-link实现函数调用,可以节省返回地址压栈 if (i j) i -= j; else j -= i; CMP Ri, Rj ; set condition NE if (i != j) ; GT if (i j), ; or LT if (i j) SUBGT Ri, Ri, Rj ; if GT, i = i-j;SUBLT Rj, Rj, Ri ; if LT, j = j-i; 利用平台特定的结构,比如 8051中利用通用寄存器shadow机制,省去中断响应过程中对寄存器的现场保护 ARM中带F后缀的,可以把浮点计算直接交给FPU来处理 利用ARMV6中引入的SIMD扩展实现一条指令同时处理多路数据 减少cache miss 如果一个数据结构大小与Cache的大小可比拟,那么尽量将该数据结构的所有处理都集中在一块完成,以免造成多次Cache loading 处理一个大数据结构A 处理另一个大数据结构B 又处理A 处理一个大数据结构A 又处理A 处理另一个大数据结构B Cache更形动作: A装入Cache A从Cache中淘汰(即写入内存中) B装入Cache B从Cache中淘汰 A装入Cache C
原创力文档

文档评论(0)