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