当前位置:首页 > 工业技术
基于多核平台的嵌入式系统设计方法
基于多核平台的嵌入式系统设计方法

基于多核平台的嵌入式系统设计方法PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:林继鹏编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121122286
  • 页数:257 页
图书介绍:本书主要内容包括多线程编程及其处理方法、自动并行化程序设计、Intel的IPP性能原语用于信号处理、多核程序设计的评估和调试方法、多核平台程序设计的任务分解和函数分解方法;线程构建模块的基本算法和高级算法、线程和内存检测工具Inspector的使用和原理、以及热点分析工具Amplifier的原理和应用等。
《基于多核平台的嵌入式系统设计方法》目录

第1章 从多处理器系统到多核系统 1

1.1 板内处理器间的通信 1

1.2 板间通信 6

1.3 Intel的嵌入式处理器 9

1.3.1 Intel 186处理器 9

1.3.2 Intel 386TM处理器 10

1.3.3 Intel 486TM处理器 11

1.3.4 Intel奔腾处理器 13

1.3.5 Intel Pentium Ⅲ处理器 14

1.3.6 Intel Pentium Ⅳ处理器 16

1.3.7 Pentium M处理器 16

1.3.8 双核Intel Xeon处理器 17

1.3.9 应用于嵌入式计算的英特尔酷睿2双核处理器 17

1.3.10 Quad-Core Intel Xeon Processor 5300系列 18

1.4 嵌入式发展趋势和近期处理器的影响 18

1.5 从多CPU系统到多核系统 19

1.5.1 多核处理器的产生原因 19

1.5.2 同构多核和异构多核 21

1.5.3 对称多核和非对称多核 22

1.5.4 多核嵌入式处理器的优点 23

1.6 本章小结 24

第2章 程序性能评估方法 25

2.1 性能评估的方法 25

2.1.1 任务粒度因子与锁粒度因子 27

2.1.2 固定式锁竞争中的加速比分析 28

2.1.3 随机锁竞争加速比分析 28

2.1.4 分布式锁竞争的加速比分析 29

2.2 并行编程的基本概念 30

2.2.1 数据并行 30

2.2.2 任务并行 31

2.2.3 合并数据和任务并行 31

2.2.4 混合方案 32

2.2.5 实现并行 33

2.2.6 可伸缩性与加速比 34

2.3 本章小结 34

第3章 多核程序设计基础 35

3.1 多线程技术 37

3.1.1 Win 32 37

3.1.2 多任务 37

3.1.3 线程 38

3.1.4 进程 38

3.1.5 应用程序 39

3.1.6 优先级 39

3.1.7 安全性 39

3.1.8 线程安全 40

3.2 线程的构成 40

3.2.1 线程状态 41

3.2.2 线程调度 41

3.2.3 线程的切换 42

3.3 Win32多线程 42

3.4 PTHREADS 43

3.5 多线程中的难题 44

3.5.1 竞争条件 44

3.5.2 优先级顶置 44

3.5.3 线程饥饿 45

3.5.4 死锁 45

3.5.5 操作系统解决方案 46

3.6 多线程的构想 46

3.6.1 线程越多越好 46

3.6.2 线程越多速度越快 47

3.6.3 提高应用程序的健壮性 47

3.6.4 构想的结论 47

3.7 超线程技术(Hyper-Threading) 48

3.8 多线程LabVIEW 49

3.8.1 执行子系统 49

3.8.2 运行队列 52

3.8.3 多线程LabVIEW中的DLL 53

3.8.4 线程配置的制定 54

3.9 LabVIEW线程数估计 56

3.9.1 统一调用或单一子系统应用 59

3.9.2 多子系统应用程序 59

3.9.3 线程的VI优化 60

3.9.4 VI优先权的使用 63

3.10 LabVIEW中的子程序 65

3.10.1 高速VI 65

3.10.2 LabVIEW数据类型 65

3.10.3 什么时候使用子程序 68

3.11 本章小结 70

第4章 自动并行化技术 71

4.1 OpenMP指令和库函数介绍 72

4.2 OpenMP程序开发 73

4.2.1 fork-join形式的程序 74

4.2.2 SPMD形式的程序 75

4.3 OpenMP编程模型的运作方式 76

4.3.1 OpenMP并行编程模型 76

4.3.2 使用OpenMP API 77

4.3.3 共享数据与私有数据的比较 78

4.3.4 工作共享结构体 78

4.3.5 使用OpenMP编译 80

4.3.6 OpenMP指令和Linpack基准 81

4.4 OpenMP语句参考 82

4.5 本章小结 88

第5章 多核信号处理下的IPP技术 89

5.1 IPP简介及其使用环境 89

5.2 Intel IPP的特点和优点 89

5.3 Intel IPP与其他组件的关系 92

5.4 Intel IPP编程环境设置与约定 93

5.5 函数库链接模式 95

5.5.1 选择链接模型 95

5.5.2 动态链接 96

5.5.3 自定义动态链接 98

5.5.4 不带调度的静态链接 99

5.5.5 带调度的静态链接 100

5.6 配置开发环境 102

5.6.1 Visual C++ 6.0或Visual C++.net 2003的配置 102

5.6.2 IPP编程基础 105

5.6.3 基于IPP的信号处理技术 108

5.6.4 应用实例 110

5.7 基于IPP的图像处理技术 112

5.8 本章小结 114

第6章 Intel线程构建模块 115

6.1 TBB的基本算法 115

6.1.1 初始化和终止 115

6.1.2 循环并行 116

6.2 复杂循环并行化 124

6.2.1 再修改代码 124

6.2.2 流水线工作 125

6.2.3 循环总结 130

6.3 Containers 130

6.3.1 concurrent_hash_map 131

6.3.2 concurrent_vector 134

6.3.3 concurrent_queue 135

6.3.4 容器总结 136

6.4 互斥现象 136

6.4.1 Mutex Flavor 138

6.4.2 R/W互斥 139

6.4 3 Upgrade/Doengrade 140

6.4.4 Lock Pathologies 140

6.5 原子操作 141

6.5.1 为什么atomic<T>没有构造函数 143

6.5.2 内存一致性 143

6.6 Timing 144

6.7 内存分配 144

6.8 任务调度程序 145

6.8.1 基于任务的编程 146

6.8.2 实例:Fibonacci数字 147

6.8.3 任务如何安排工作 149

6.8.4 有用的任务技术 151

6.8.5 任务调度程序总结 156

6.9 时间片段的消耗 157

6.10 本章小结 158

第7章 数据分解编程模型 159

7.1 医疗图像数据检查器 159

7.2 分析 161

7.2.1 串行优化 161

7.2.2 基准(Benchmark) 161

7.2.3 串行优化结果 162

7.2.4 执行时间表 164

7.2.5 采集调用档案关系图 169

7.2.6 流程图热点 169

7.2.7 循环分类 170

7.3 设计和实施 171

7.4 调试 173

7.4.1 AMIDE Loop#1的调试 174

7.4.2 解决调试中的问题 176

7.5 微调 178

7.6 本章小结 184

第8章 函数分解编程模型 185

8.1 Snort 185

8.1.1 Snort概述 185

8.1.2 创建过程 187

8.2 分析 187

8.2.1 串行优化 187

8.2.2 基准程序 188

8.2.3 串行优化结果 189

8.2.4 执行时间表 190

8.2.5 调用图表 191

8.3 设计和执行 193

8.3.1 线程化Snort 193

8.3.2 代码修改 193

8.3.3 数据流定位(Flow Pinning) 199

8.3.4 对流定位的代码修改 201

8.4 过滤虚假错误 208

8.5 微调 209

8.6 本章小结 211

第9章 基于Parallel Inspector的调试技术 213

9.1 基本工作流程 213

9.2 线程检查 214

9.2.1 选择和创建目标 214

9.2.2 线程错误收集并处理结果数据 215

9.2.3 选择问题集 216

9.3 实例:Memory Errors Collect和Manage Result Data 219

9.4 Inspector的推荐编译选项及注意事项 221

9.5 本章小结 223

第10章 基于Intel Parallel Amplifier的调试技术 224

10.1 工作流程 224

10.2 创建应用程序 225

10.3 热点 229

10.4 检查并行性 231

10.5 等待点 233

10.6 优化程度 235

10.7 编译选项和注意事项 236

10.8 本章小结 237

第11章 基于Inter Parallel Advisor Lite的调试技术 238

11.1 工作流程 238

11.2 选择并创建一个目标 239

11.3 profile工具的使用 240

11.4 使用校正工具和注释 242

11.5 用并行代码代替注释 245

11.6 检验并行程序 246

11.7 本章小结 246

参考文献 247

相关图书
作者其它书籍
返回顶部