摘要 | 第5-6页 |
ABSTRACT | 第6页 |
1 绪论 | 第14-25页 |
1.1 课题背景 | 第14页 |
1.2 课题的研究现状 | 第14-22页 |
1.2.1 多媒体简介 | 第14-22页 |
1.2.1.1 现行的主流多媒体标准 | 第15-16页 |
1.2.1.2 现行的主流多媒体标准举例 | 第16-20页 |
1.2.1.3 视频编码的基本原理 | 第20-22页 |
1.3 课题的研究意义和研究目的 | 第22-23页 |
1.4 论文的研究内容及章节安排 | 第23-25页 |
2 多核处理器及操作系统支持的关键技术 | 第25-35页 |
2.1 多核处理器概述 | 第25-26页 |
2.2 超线程技术与多核体系结构的联系与区别 | 第26页 |
2.3 支持多核实时操作系统的关键技术 | 第26-35页 |
2.3.1 体系结构 | 第27-29页 |
2.3.2 系统引导和初始化 | 第29-30页 |
2.3.3 进程调度 | 第30-32页 |
2.3.4 中断处理 | 第32-33页 |
2.3.5 同步与互斥技术 | 第33-35页 |
3 ARM11 MPCore 和 SMP Linux 实现 | 第35-63页 |
3.1 ARM11 MPCore 概述 | 第35-39页 |
3.1.1 跳转预测及管理 | 第38页 |
3.1.2 增强的存储器访问 | 第38-39页 |
3.1.3 流水线的并行机制 | 第39页 |
3.1.4 64 位的数据通道 | 第39页 |
3.1.5 浮点运算 | 第39页 |
3.2 ARM GNU 工具链 | 第39-46页 |
3.2.1 屏蔽系统默认对CFLAGS 和CXXFLAGS 的设置 | 第40页 |
3.2.2 设置Host 和target 变量 | 第40页 |
3.2.3 安装Linux-Header | 第40-41页 |
3.2.4 安装Binutils | 第41页 |
3.2.5 安装GlibC 头文件 | 第41-42页 |
3.2.6 安装没有线程支持的静态libgcc 版本 | 第42-43页 |
3.2.7 安装Glibc | 第43-45页 |
3.2.8 最终GCC 生成 | 第45页 |
3.2.9 GCC的使用 | 第45-46页 |
3.3 ARM Linux 根文件系统及其实现 | 第46-49页 |
3.4 基于 ARM11 MPCore 的 Linux SMP 系统及其实现 | 第49-63页 |
3.4.1 ARM11 SMP 实现的关键技术 | 第50-55页 |
3.4.1.1 处理器间的同步与互斥 | 第51-52页 |
3.4.1.2 高速缓存与内存之间的一致性问题 | 第52-54页 |
3.4.1.3 中断处理 | 第54-55页 |
3.4.2 Linux 2.6 ARM SMP 支持 | 第55-57页 |
3.4.2.1 SMP 系统中的系统引导 | 第55-56页 |
3.4.2.2 SMP 系统中的进程调度 | 第56-57页 |
3.4.3 Linux 2.6 ARM SMP BSP 实现 | 第57-63页 |
3.4.3.1 完成体系结构相关的源代码文件的编写 | 第59-61页 |
3.4.3.2 完成Linux 配置文件的编写 | 第61-63页 |
4 基于多核的多媒体解码器实现 | 第63-73页 |
4.1 ESL 仿真平台的构建 | 第63-64页 |
4.2 MPlayer 的移植 | 第64-65页 |
4.3 基于多核的多媒体多核播放器实现 | 第65-73页 |
4.3.1 基于四核处理器的逻辑划分 | 第67-68页 |
4.3.2 多线程的建立和设置亲和性 | 第68-69页 |
4.3.3 宏块级多线程交互 | 第69-70页 |
4.3.4 模块级性能优化 | 第70-72页 |
4.3.4.1 循环优化 | 第70页 |
4.3.4.2 运算操作优化 | 第70-71页 |
4.3.4.3 代码压缩和函数中公共计算因子的提取 | 第71-72页 |
4.3.5 结论 | 第72-73页 |
5 总结与展望 | 第73-75页 |
参考文献 | 第75-77页 |
致谢 | 第77-78页 |
攻读硕士学位期间发表的学术论文 | 第78页 |