当前位置:主页 > 科技论文 > 计算机论文 >

嵌入式多核代码分析器研究与实现

发布时间:2017-04-24 17:23

  本文关键词:嵌入式多核代码分析器研究与实现,由笔耕文化传播整理发布。


【摘要】:随着科学技术的不断进步和IT行业的高速发展,物联网、云计算已经成为了社会生活中的一部分,这个趋势已经难以扭转。嵌入式系统是这些产业应用技术的核心部分,已经渗透到了我们周围的各个领域。由于嵌入式系统有体积小、集成度高、功耗低、可靠性强等特点,需要对其硬件进行高效的设计,片上多处理器(Chip Multiprocessor)逐渐成为主流的计算平台。软件作为嵌入式系统的灵魂,其性能也影响着嵌入式系统运行性能,因此对嵌入式软件的性能要求非常的高。嵌入式软件的性能分析对嵌入式软件开发很重要,开发出一款嵌入式多核代码分析工具对提高嵌入式软件开发效率很有帮助。嵌入式多核代码分析工具由宿主机和目标机两部分组成,主要分为四个模块:二进制插桩模块、性能数据内核支持模块、通信模块和性能数据处理模块。本文描述的基于aCoral操作系统多核代码分析工具是针对软件程序的二进制代码进行处理,可以获取程序中函数的静态调用图、函数运行时间、函数的执行次数、函数的动态调用图,可以得到程序运行时候所在线程的CPU消耗时间、程序所在系统的热点线程和CPU负载。本文研究了ELF格式文件格式以及在ELF格式文件中获取函数的相关信息的方法;分析了四种程序分析的优缺点以及静态二进制插桩和动态二进制插桩的特点,研究了程序二进制插桩的实现;分析了X86平台和ARM平台中函数调用过程,研究了在汇编函数中控制目标函数和桩函数的自动调用和返回。学习了aCoral操作系统,熟悉aCoral的线程切换和时间中断原理;基于上述的相关理论和技术原理,设计了aCoral多核代码分析器的总体框架;实现了各个功能模块的数据结构和功能代码;在理论上推理了精确获取函数执行时间的方法本文最后用本分析器获取函数执行时间的方法和其他工具相关功能方法进行测试对比,本方法能更精确的获得函数的执行时间,并对精确获取函数执行时间方法进行了理论分析。然后对整个系统进行了功能测试,基本完成了预期的功能。
【关键词】:嵌入式 多核 性能分析 aCoral 二进制插桩
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
【目录】:
  • 摘要5-6
  • ABSTRACT6-11
  • 第一章 绪论11-15
  • 1.1 研究背景和意义11-12
  • 1.2 国内外研究现状12-13
  • 1.3 论文的主要研究内容13-14
  • 1.4 文章组织结构14-15
  • 第二章 嵌入式及其他相关技术介绍15-33
  • 2.1 嵌入式软件特点15-16
  • 2.2 嵌入式多核a Coral系统概述16-20
  • 2.2.1 扩展层17-18
  • 2.2.2 内核层18-20
  • 2.2.3 HAL层20
  • 2.3 嵌入式系统的交叉开发平台20-21
  • 2.4 程序分析与插桩21-23
  • 2.4.1 静态分析和动态分析21
  • 2.4.2 源代码和二进制代码21-22
  • 2.4.3 四种程序分析22
  • 2.4.4 静态二进制插桩和动态二进制插桩22-23
  • 2.5 ELF文件格式23-27
  • 2.5.1 可重定位目标文件24-25
  • 2.5.2 可执行目标文件25-26
  • 2.5.3 共享目标文件26-27
  • 2.6 函数调用过程27-32
  • 2.6.1 X86平台函数调用过程27-28
  • 2.6.2 ARM平台函数调用过程28-32
  • 2.7 本章小结32-33
  • 第三章 基于ACORAL操作系统多核代码分析器设计33-47
  • 3.1 a Coral多核分析器系统总体架构33-34
  • 3.2 二进制插桩模块34-40
  • 3.2.1 插桩工作流程与跳转方式34-37
  • 3.2.3 插桩过程设计37-40
  • 3.3 多核性能分析内核支持模块40-43
  • 3.3.1 内核支持模块功能介绍40-41
  • 3.3.2 内核支持模块设计41-43
  • 3.4 通信模块43-44
  • 3.5 性能数据处理模块44-46
  • 3.5.1 静态图处理部分44
  • 3.5.2 时间相关处理部分44-45
  • 3.5.3 周期执行次数相关处理部分45-46
  • 3.6 本章小结46-47
  • 第四章 基于ACORAL操作系统多核代码分析器实现47-67
  • 4.1 二进制插桩模块实现47-56
  • 4.1.1 定位目标函数被调用地址实现47-51
  • 4.1.2 黏合汇编函数模版及自动生成实现51-53
  • 4.1.3 桩代码实现53-55
  • 4.1.4 黏合过程55-56
  • 4.2 多核性能分析内核支持模块56-58
  • 4.2.1 上下文切换数据收集56-57
  • 4.2.2 运行线程周期采样57-58
  • 4.3 通信模块实现58-59
  • 4.3.1 关键数据结构设计58
  • 4.3.2 关键流程设计58-59
  • 4.4 性能数据处理模块59-66
  • 4.4.1 函数静态调用图处理部分59-60
  • 4.4.2 时间相关处理部分60-64
  • 4.4.3 周期执行次数相关处理部分64-66
  • 4.5 本章小结66-67
  • 第五章 实验分析与系统测试67-75
  • 5.1 函数运行时间误差分析及测试对比分析67-70
  • 5.1.1 目标函数运行时间计算误差分析67-68
  • 5.1.2 测试对比68-70
  • 5.2 获取函数运行时间方法在X86平台上测试70-72
  • 5.2.1 X86平台上实现与ARM平台实现区别70-71
  • 5.2.2 与Ltrace工具运行测试对比71-72
  • 5.3 系统测试72-74
  • 5.3.1 测试环境72
  • 5.3.2 功能测试72-74
  • 5.4 本章小结74-75
  • 第六章 总结与展望75-77
  • 6.1 工作总结75
  • 6.2 未来展望75-77
  • 致谢77-78
  • 参考文献78-81
  • 攻硕期间取得的研究成果81-82

【参考文献】

中国硕士学位论文全文数据库 前2条

1 申建晶;嵌入式多核实时操作系统研究及实现[D];电子科技大学;2011年

2 龚伟;基于gdb的嵌入式系统调试器的设计与实现[D];电子科技大学;2006年


  本文关键词:嵌入式多核代码分析器研究与实现,,由笔耕文化传播整理发布。



本文编号:324601

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/324601.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户4f652***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com