Mutek在MicroBlaze多核平台上的实现

Mutek在MicroBlaze多核平台上的实现

论文摘要

多年来微处理器性能的提升大都基于提高单个处理器主频或者指令级并行度进行的。但是随着单个处理器的发展,处理器结构越来越复杂。处理器要使用各种复杂技术来从串行程序中找出可以并行执行的指令,比如乱序执行、猜测执行和硬件分支预测等。这种技术已经很难进一步地提高单处理器的并行能力,晶体管数目的进一步增加也只能得到有限的性能提升,单个处理器主频或者指令级并行度的提高遇到了发展瓶颈。随着集成电路制造工艺的发展和计算机系统结构研究的深入,多核技术将得到更多的发展,多核处理器也将得到越来越广泛的应用。通过在多个执行内核之间划分任务,提高并行度,多核处理器可在特定的时钟周期内执行更多任务,以提高程序的执行效率。多核技术在硬件体系结构设计、核间互连及通信、操作系统、应用程序多线程划分、线程之间通信等方面存在巨大的挑战,同时也存在巨大的研究空间。本文基于对当今主流的多核技术的研究,重点探讨了多核系统中的操作系统设计和移植问题,以及多核平台上应用程序的设计问题。本文的主要研究和贡献如下:1.在SoCLib多核仿真平台上实现了基于CrossBar互连方式的SPARC多核仿真系统,并采用MJPEG应用程序建立多线程模型,验证结构的正确性。这部分工作基于对多核仿真平台SoCLib的研究,包括SoCLib中核心模块的设计和核之间的互连方式以及应用SoCLib搭建多核仿真系统的方法学。2.实现了Mutek操作系统的硬件抽象层和线程间通信库,使Mutek适用于MicroBlaze多核系统并能够支持多线程之间的通信,将Mutek操作系统成功移植到了MicroBlaze多核系统平台上。这部分工作基于对Xilinx FPGA、MicroBlaze、Mutek操作系统、KPN模型和MJPEG应用程序的研究。3.提出了MicroBlaze多核系统改进的三种方案,结合Xilinx硬件平台的特征,实现了带有指令Cache的多核系统改进方案。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 多核技术研究背景
  • 1.1.1 多核技术的产生
  • 1.1.2 多核技术国内外研究现状
  • 1.2 多核技术相关研究
  • 1.2.1 对称多核与非对称多核
  • 1.2.2 同构多核和异构多核
  • 1.2.3 多核互连片上网络
  • 1.2.4 多核系统中的多线程
  • 1.2.5 多核系统中的Cache 和一致性
  • 1.2.6 多核处理器的工业界应用
  • 1.3 本文的研究目的和主要工作
  • 1.4 本文研究内容和组织结构
  • 第2章 多核研究平台技术
  • 2.1 SoCLib 仿真平台的研究
  • 2.1.1 SoCLib 概述
  • 2.1.2 SoCLib 关键模块
  • 2.1.3 SoCLib 模块间互连
  • 2.1.4 SoCLib 系统搭建
  • 2.1.5 SoCLib 的优缺点分析
  • 2.2 Xilinx 多核系统实现平台
  • 2.2.1 Xilinx Spartan-3E FPGA
  • 2.2.2 MicroBlaze
  • 2.2.3 OPB 总线
  • 2.2.4 FSL 总线
  • 2.2.5 LMB
  • 2.2.6 Xilinx EDK
  • 2.2.7 系统开发流程
  • 第3章 Mutek 操作系统研究
  • 3.1 Mutek 概述
  • 3.2 PTHREAD 标准的实现
  • 3.2.1 Mutek 的线程结构
  • 3.2.2 Mutek 的线程创建和终止
  • 3.2.3 Mutek 的线程调度
  • 3.2.4 Mutek 的线程切换
  • 3.2.5 Idle 线程和Idle 机制
  • 3.3 Mutek 同步机制
  • 3.3.1 互斥量mutex
  • 3.3.2 条件变量cond
  • 3.3.3 避免死锁的原则
  • 3.3.4 Mutek 锁的分类
  • 3.4 Mutek 线程间通信机制
  • 3.4.1 KPN 模型
  • 3.4.2 线程间通信的实现
  • 3.5 硬件抽象层
  • 3.5.1 线程切换的HAL 实现
  • 3.5.2 CPU 同步的HAL 实现
  • 3.5.3 核号存取的HAL 实现
  • 3.5.4 锁的HAL 层实现
  • 第4章 Mutek 在多核平台上的实现
  • 4.1 多核平台上软件实现方法
  • 4.1.1 多核处理器的编程模式
  • 4.1.2 多核的软件通信
  • 4.1.3 本文的软件实现方法
  • 4.2 MicroBlaze 多核系统的实现
  • 4.2.1 系统整体结构
  • 4.3 MJPEG 应用程序的实现
  • 4.3.1 MJPEG 应用程序概述
  • 4.3.2 MJPEG 多线程划分的实现
  • 4.3.3 MJPEG 线程间通信的实现
  • 4.3.4 MJPEG 的实现结构
  • 4.4 Mutek 移植到MicroBlaze 多核平台
  • 4.4.1 MicroBlaze 初始化的实现
  • 4.4.2 线程上下文环境初始化
  • 4.4.3 线程切换的实现
  • 4.4.4 信息输出的实现
  • 4.4.5 MicroBlaze 挂起和唤醒的实现
  • 4.4.6 MicroBlaze 核号读取的实现
  • 4.4.7 锁的HAL 实现
  • 4.4.8 可执行程序的生成
  • 4.4.9 LDSCRIPT 链接脚本的实现
  • 4.4.10 多核启动流程
  • 4.5 系统运行结果的输出
  • 第5章 实验结果分析和系统优化
  • 5.1 实验结果及分析
  • 5.2 系统优化
  • 5.2.1 带有总线侦测器的多核Cache 实现方案
  • 5.2.2 带有中断控制器的多核Cache 实现方案
  • 5.2.3 使用指令Cache 的方案
  • 5.3 系统优化后的实验结果
  • 第6章 总结和展望
  • 6.1 总结
  • 6.2 展望
  • 致谢
  • 参考文献
  • 攻读学位期间发表的学术论文
  • 相关论文文献

    • [1].粗粒度多核系统任务级多线程调度研究[J]. 微电子学与计算机 2020(01)
    • [2].多核系统的多应用任务映射方法研究[J]. 计算机应用研究 2017(02)
    • [3].簇型多核系统原型设计与验证[J]. 中国集成电路 2011(05)
    • [4].实时多核系统面向负载均衡的任务分区调度算法[J]. 舰船电子工程 2017(01)
    • [5].多核系统效率与任务属性关系的优化策略[J]. 信息化纵横 2009(16)
    • [6].基于人工鱼群遗传算法的异构多核系统任务调度研究[J]. 计算机工程与科学 2014(10)
    • [7].对片上多核系统的系统结构的研究[J]. 电脑知识与技术 2008(29)
    • [8].多核系统上任意2序列公共元素的并行查找[J]. 合肥工业大学学报(自然科学版) 2012(02)
    • [9].多核系统的软件开发方法[J]. 计算机工程 2010(12)
    • [10].嵌入式多核系统软件设计和开发[J]. 现代计算机(专业版) 2008(05)
    • [11].分层混合局部搜索策略异构多核系统调度[J]. 运筹与管理 2017(08)
    • [12].多核系统下并行节点复制垃圾收集算法[J]. 计算机应用 2010(11)
    • [13].一种面向嵌入式多核系统的任务调度方法[J]. 微电子学与计算机 2017(04)
    • [14].基于π网的片上多核系统任务调度算法研究[J]. 计算机应用研究 2016(11)
    • [15].一种多核系统任务扰动迭代算法[J]. 电子测量与仪器学报 2020(09)
    • [16].基于Microblaze多核系统的设计及在FPGA上的实现[J]. 微电子学与计算机 2009(07)
    • [17].嵌入式多核系统中断负载均衡研究[J]. 电子技术 2014(03)
    • [18].一种多核系统改进型列表调度算法[J]. 电子科技 2020(06)
    • [19].混合关键性多核系统调度综述[J]. 电脑与信息技术 2016(02)
    • [20].多核系统动态温度管理TAPE策略的形式化验证[J]. 计算机科学 2017(S2)
    • [21].基于SoCLib平台的异构多核系统及性能测试分析[J]. 信息安全与技术 2013(12)
    • [22].基于SoCLib平台的异构多核系统及性能测试分析[J]. 数字技术与应用 2013(06)
    • [23].面向嵌入式多核系统的可共享多通道便签存储器设计与实现[J]. 小型微型计算机系统 2010(07)
    • [24].大点数FFT在同构多核系统中的映射实现[J]. 微电子学与计算机 2018(12)
    • [25].多核系统下的IPSec VPN网关的研究和实现[J]. 计算机工程与设计 2010(13)
    • [26].多核系统的多线程并行计算分析[J]. 南京工业职业技术学院学报 2009(02)
    • [27].帧内预测在多核系统上的并行实现[J]. 科学技术与工程 2010(06)
    • [28].面向异构多核系统芯片的高效动态带宽划分方法[J]. 计算机辅助设计与图形学学报 2016(10)
    • [29].嵌入式多核平台调试技术[J]. 计算机系统应用 2013(11)
    • [30].TKScope嵌入式仿真开发平台讲座(44) TKScope发布最新仿真组件 支持Cortex双核调试[J]. 单片机与嵌入式系统应用 2012(10)

    标签:;  ;  

    Mutek在MicroBlaze多核平台上的实现
    下载Doc文档

    猜你喜欢