更新时间:2018-12-27 16:17:21
封面
版权信息
前言
第1章 从多处理器系统到多核系统
1.1 板内处理器间的通信
1.2 板间通信
1.3 Intel的嵌入式处理器
1.3.1 Intel 186处理器
1.3.2 Intel 386TM处理器
1.3.3 Intel 486TM处理器
1.3.4 Intel奔腾处理器
1.3.5 Intel Pentium III处理器
1.3.6 Intel Pentium IV 处理器
1.3.7 Pentium M处理器
1.3.8 双核Intel Xeon 处理器
1.3.9 应用于嵌入式计算的英特尔酷睿2双核处理器
1.3.10 Quad-Core Intel Xeon Processor 5300系列
1.4 嵌入式发展趋势和近期处理器的影响
1.5 从多CPU系统到多核系统
1.5.1 多核处理器的产生原因
1.5.2 同构多核和异构多核
1.5.3 对称多核和非对称多核
1.5.4 多核嵌入式处理器的优点
1.6 本章小结
第2章 程序性能评估方法
2.1 性能评估的方法
2.1.1 任务粒度因子与锁粒度因子
2.1.2 固定式锁竞争中的加速比分析
2.1.3 随机锁竞争加速比分析
2.1.4 分布式锁竞争的加速比分析
2.2 并行编程的基本概念
2.2.1 数据并行
2.2.2 任务并行
2.2.3 合并数据和任务并行
2.2.4 混合方案
2.2.5 实现并行
2.2.6 可伸缩性与加速比
2.3 本章小结
第3章 多核程序设计基础
3.1 多线程技术
3.1.1 Win 32
3.1.2 多任务
3.1.3 线程
3.1.4 进程
3.1.5 应用程序
3.1.6 优先级
3.1.7 安全性
3.1.8 线程安全
3.2 线程的构成
3.2.1 线程状态
3.2.2 线程调度
3.2.3 线程的切换
3.3 Win32多线程
3.4 PTHREADS
3.5 多线程中的难题
3.5.1 竞争条件
3.5.2 优先级顶置
3.5.3 线程饥饿
3.5.4 死锁
3.5.5 操作系统解决方案
3.6 多线程的构想
3.6.1 线程越多越好
3.6.2 线程越多速度越快
3.6.3 提高应用程序的健壮性
3.6.4 构想的结论
3.7 超线程技术(Hyper-Threading)
3.8 多线程LabVIEW
3.8.1 执行子系统
3.8.2 运行队列
3.8.3 多线程LabVIEW中的DLL
3.8.4 线程配置的制定
3.9 LabVIEW线程数估计
3.9.1 统一调用或单一子系统应用
3.9.2 多子系统应用程序
3.9.3 线程的VI优化
3.9.4 VI优先权的使用
3.10 LabVIEW中的子程序
3.10.1 高速VI
3.10.2 LabVIEW数据类型
3.10.3 什么时候使用子程序
3.11 本章小结
第4章 自动并行化技术
4.1 OpenMP指令和库函数介绍
1.OpenMP的指令
2.OpenMP的库函数
3.OpenMP的子句
4.2 OpenMP程序开发
4.2.1 fork-join形式的程序
4.2.2 SPMD形式的程序
4.3 OpenMP编程模型的运作方式
4.3.1 OpenMP并行编程模型
4.3.2 使用OpenMP API
4.3.3 共享数据与私有数据的比较
4.3.4 工作共享结构体
4.3.5 使用OpenMP编译
4.3.6 OpenMP指令和Linpack基准
4.4 OpenMP语句参考
4.5 本章小结
第5章 多核信号处理下的IPP技术
5.1 IPP简介及其使用环境