armstrongfan

    1. 嵌入式底层软件开发思想 8/5258 DSP 与 ARM 处理器 2011-09-05
      开发平台主要需要考虑两个因素:通用性,高效率。现在很多稍大一点的公司常把平台开发和应用开发分开来,由两拨人分别做。这样的好处是平台可以在不同应用、不同器件之间复用,增加了通用性。根据以往的经验,平台开发人员在通用性上常常下了比较大的功夫,能取得比较好的效果,但应用开发工程师常常抱怨平台的效率不够高,占用了过多的cycle和内存。嵌入式产品对处理密度(最终反映到产品的成本、功耗等关键指标上)的要求常常很高,对平台的cycle和内存使用有比较高的要求,而高效的实现方式常常要结合具体应用才能得出。建议平台开发工程师多从应用(主要指的是framework)角度考虑,在通用性和高效率之间找到合适的平衡点。
    2. 关于DSP程序优化效果的客观测量 7/4129 DSP 与 ARM 处理器 2011-09-05
      建议在硬件条件具备的情况下,尽量用硬件进行实测,一则运行速度更快,在跑大程序时可以节省很多时间,二则得到的cycle数更准确。无论是在硬件上测还是在simulator上测,profile工具、内嵌在代码中的TSCL调用都是可用的。前者比较方便,也不用改代码;后者比较灵活,可以测量任意代码片段的cycle数,也比较容易做到测试自动化。 另外注意,simulator对cycle数的仿真精度不是一成不变的。有些器件的simulator分为Functional Sim和Cycle Approximate Sim,前者只考虑CPU cycle,不考虑任何内存访问overhead,后者对内存访问进行建模,更接近实际硬件,但运行起来特别慢。有些器件只有一种simulator,从simulator的名字可以看出其对内存overhead的考虑程度。也可以通过把关键数据段放在片内、片外memory,对比两者的cycle数,来大致了解所用simulator是否考虑了内存访问overhead。
    3. DSP优化效果 1/3996 DSP 与 ARM 处理器 2011-09-05
      代码贴得有问题啊。 定点DSP的CPU本身只支持定点运算,C语言中的浮点操作由C编译器调用编译器内建的“浮点库”来支持,而‘浮点库“中的函数用CPU直接支持的定点指令模拟浮点操作。可以想见,这样的“用定点指令模拟浮点运算”是相当耗时的,相当于每次浮点运算对应一个函数调用。直接用定点的话,每次定点运算通常对应一条指令。所以50倍的性能差异是合理的。 [ 本帖最后由 armstrongfan 于 2011-9-5 11:36 编辑 ]

最近访客

< 1/1 >

统计信息

已有74人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言