多核协同计算平台的研究与实现
发布时间:2017-05-25 14:29
本文关键词:多核协同计算平台的研究与实现,由笔耕文化传播整理发布。
【摘要】:现代处理器架构的关注重点已经从增加时钟速度转移到增加处理器核的数量,多核处理器已逐渐取代单核处理器,成为提高处理器性能的主要途径。从处理器核的结构来看,多核处理器分为同构多核和异构多核处理器。同构多核处理器即芯片中的多个内核完全相同,地位对等,可以认为是SMP架构的芯片化。异构多核处理器即芯片中的多个内核不完全相同,地位不对等。由于异构多核内部采用多种功能不同的内核,各个内核可以完成自己擅长的任务以提高整个系统的性能,同时满足嵌入式应用在芯片面积、计算性能和功耗等多方面的需求,从而被大量应用于嵌入式计算领域。如何充分利用多核优势协同完成特定的任务成为当今研究的热点。与传统的单核平台不同,多核平台可能在不同的处理器核上运行不同的操作系统,需要不同的编译器以及不同的编程模式,这就为多核间的软件接口和信息交互带来了困难。本文在调研了多个多核协同计算平台的基础上,针对嵌入式实时应用,在PB11MPCore同构四核开发板上实现了一个多核协同计算平台DualOSCCP。为了便于系统移植,DualOSCCP采用异构多核平台的设计思想,将PB11MPCore当做异构多核平台,即将CPU0与其余三核CPU1-3看作不同的处理器核,构建了一个双操作系统异构环境,CPU0运行的是ARM Linux,其他三核以SMP方式运行aCoral。aCoral是一个轻量级的实时操作系统,执行效率高,能保证任务实时完成。Linux和aCoral使用不同的编译器编译,在两个不同操作系统上运行的程序需要分别编写并编译,增强了DualOSCCP在异构核上的可移植性,比如在ARM+DSP异构平台,ARM和DSP使用不同的编译器,将aCoral移植到DSP里面后,DualOSCCP也能轻易移植到该平台。对于不同类型的任务,DualOSCCP可以有选择地将其分配在不同操作系统上运行,比如单个IO型任务可选择在Linux上执行,而对于多个实时性要求较高的计算型任务可选择在aCoral上并行执行,这样能使系统的整体性能得到较大提升。
【关键词】:嵌入式 多核 协同计算 双操作系统
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
【目录】:
- 摘要5-6
- ABSTRACT6-11
- 第一章 绪论11-23
- 1.1 研究背景11-13
- 1.1.1 多核技术11-12
- 1.1.2 多核协同计算12-13
- 1.2 研究现状13-21
- 1.2.1 国内外研究现状13-15
- 1.2.1.1 国外研究现状13
- 1.2.1.2 国内研究现状13-14
- 1.2.1.3 异构混合平台研究14-15
- 1.2.2 典型的异构多核处理器平台15-20
- 1.2.3 多核协同计算带来的挑战20-21
- 1.3 研究与实现的意义21
- 1.4 论文的主要工作21-22
- 1.5 论文的组织结构22-23
- 第二章 DualOSCCP总体设计23-30
- 2.1 硬件环境23-25
- 2.1.1 PB11MPCore开发板23-24
- 2.1.2 ARM11MPCore处理器24-25
- 2.2 软件设计25-28
- 2.2.1 ARM Linux和aCoral25-26
- 2.2.2 DualOSCCP的设计目标26-27
- 2.2.3 DualOSCCP的总体架构27-28
- 2.3 平台特色28-29
- 2.3.1 双操作系统28
- 2.3.2 实时性28-29
- 2.3.3 可移植性29
- 2.4 本章小结29-30
- 第三章 双操作系统的移植与启动30-58
- 3.1 开发环境的搭建30-34
- 3.1.1 交叉编译环境30-32
- 3.1.2 Minicom配置32
- 3.1.3 NFS文件系统32-33
- 3.1.4 TFTP服务器33-34
- 3.1.5 开发板的调试器配置34
- 3.2 面临的困难34-39
- 3.2.1 地址空间分配35
- 3.2.2 资源分配和中断绑定35-36
- 3.2.3 共享内存36-37
- 3.2.4 核间中断37-38
- 3.2.5 任务调度与负载均衡38-39
- 3.3 移植ARM Linux39-42
- 3.3.1 未经修改的ARM Linux启动流程39-41
- 3.3.2 改造ARM Linux41-42
- 3.4 移植aCoral42-46
- 3.4.1 未经修改的aCoral启动流程43
- 3.4.2 改造aCoral43-46
- 3.4.2.1 修改启动部分43-44
- 3.4.2.2 修改时钟44-45
- 3.4.2.3 修改多核调度部分45
- 3.4.2.4 修改激活部分45-46
- 3.5 驱动模块acoral_link46-54
- 3.5.1 字符设备46-49
- 3.5.2 加载aCoral镜像49-50
- 3.5.3 激活从核运行50
- 3.5.4 初始化共享内存50-51
- 3.5.5 多任务并发控制51-54
- 3.6 启动双操作系统54-57
- 3.6.1 启动Linux55
- 3.6.2 加载aCoral_link55-56
- 3.6.3 启动aCoral56-57
- 3.7 本章小结57-58
- 第四章 DualOSCCP多核协同计算58-63
- 4.1 平台针对特定应用58
- 4.2 应用程序开发模型58-60
- 4.3 应用程序执行流程60-62
- 4.4 本章小结62-63
- 第五章 测试与分析63-70
- 5.1 测试环境63
- 5.2 功能测试63-66
- 5.2.1 DualOSCCP启动并运行63-64
- 5.2.2 Linux上单独运行应用程序64
- 5.2.3 DualOSCCP多核协同计算64-65
- 5.2.4 多任务并发执行65-66
- 5.3 性能测试66-69
- 5.3.1 对DualOSCCP自身性能测试66-67
- 5.3.1.1 DualOSCCP启动时间66-67
- 5.3.1.2 双系统间通信开销67
- 5.3.2 对比测试67-69
- 5.4 本章小结69-70
- 第六章 全文总结与展望70-72
- 6.1 全文总结70
- 6.2 后续工作展望70-72
- 致谢72-73
- 参考文献73-77
- 攻读硕士学位期间取得的成果77-78
【相似文献】
中国期刊全文数据库 前10条
1 卢如西;;面向协同计算的人机交互显示平台研究与实现[J];硅谷;2010年23期
2 贺志强;联想集团高级副总裁、联想研究院院长贺志强谈 可信赖的协同计算环境[J];新电脑;2004年04期
3 李永;;基于代理的协同计算模型研究与实现[J];微电子学与计算机;2012年08期
4 陈占龙;吴洁;谢忠;吴亮;;分布式空间信息的对等协同计算机制研究[J];计算机应用研究;2008年07期
5 刘照球;李云贵;刘惠鹏;齐虎;;复杂结构模型的信息集成和协同计算[J];工业建筑;2012年10期
6 陈小军;张t,
本文编号:394054
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/394054.html