对于嵌入式系统,不可能象PC那样兼容并包,什么软件啊外设啊一股脑都整进来,嵌入式系统一般都是有专用场景。如何进行嵌入式系统裁剪呢?这个问题可以google出很多文章,但有一些原则性的东西需要遵守的。
高频事件高速处理----量化原则一
提高高频事件的执行速度,有助于提高整体性能;高频事件往往是简单事件,更加易于提高速度
@常用功能裁剪到系统中
@Simple is fast! Small is fast!
大概率事件尽量高速 小概率事件保证正确
risc计算机也是有这个思想的
Amdahl's Law----量化原则二
计算机整体性能的改善受其采用的快速不见(被提高性能的部件)在原任务中使用所占时间的百分比的限制。
Amdahl定律的定量形式----加速比
Speedup = 提高性能后的计算机整机性能/原计算机的整机性能
= 原计算机完成一个任务的时间/提高性能后计算机完成同个任务的时间
设: F= 程序在老计算机上运行新部件任务的时间/整个任务在老计算上运行的时间
S=老不见完成该功能的时间/新部件完成该功能的时间
Speedup=新老计算机完成整个任务的时间/新计算完成同样任务的时间 = 1 / ( 1 -F + (F/S))
|
CPU性能公式----量化原则三
程序执行时间
T = 整个程序的总时钟数 x 时钟周期
T = 整个程序的总时钟数/时钟速率
CPU执行时间
当忽略系统影响CPU时间代替程序执行时间
CPU(time) = I X CPI X r
I:编译后机器指令
CPI:每条指令平均周期数
r:每个机器周期时间
CPI = CPU执行的总是中数/CPU执行的总指令数
局部性原理----量化原则四
指令90/10局部性:
程序90%的执行时间运行指令集中10%的指令代码
指令集中90%的指令执行时间之和只占10%
时间局部性
如果某一参数被调用,那他不久将再次被调用(cache即根据这一原理建立)
空间局部性
如果某一参数被调用,则它附近的参数不久也将被调用
程序往往顺序操作,一般情况下顺序执行的
局部性原理指出:如何解决高性能贺高成本之间的矛盾
阅读(2107) | 评论(0) | 转发(0) |