《LINUX POWERPC详解 核心篇》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王齐编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:9787111224259
  • 页数:416 页
图书介绍:本书包括指令,寄存器,内存体系结构等方面的知识。

第1章 什么是嵌入式Linux 1

1.1 嵌入式Linux概述 1

1.2 什么是Linux BSP 2

1.3 Linux系统的相关标准 3

1.3.1 GPL与LGPL 3

1.3.2 有关Linux系统的规范 4

1.4 Linux系统的主要发布版本 5

1.5 Linux系统的组成 6

1.6 什么是Linux PowerPC 8

第2章 PowerPC处理器的指令集与寄存器 10

2.1 PowerPC处理器概述 10

2.2 E500内核的寄存器 13

2.2.1 URL寄存器组 15

2.2.2 SLR寄存器组 17

2.3 E500内核的常用指令集 20

2.3.1 I-Form类指令 20

2.3.2 B-Form类指令 20

2.3.3 SC-Form,D-Form与DS-Form类指令 22

2.3.4 X-Form类指令 24

2.3.5 XL-Form类指令 25

2.3.6 XFX-Form,XFL-Form,XS-Form,XO-Form与A-Form类指令 26

2.3.7 M-Form类指令 26

2.4 E500内核的ABI 28

2.4.1 E500内核使用的数据类型 28

2.4.2 E500内核寄存器的使用 29

2.4.3 E500内核的栈帧结构 30

2.5 PowerPC处理器的指令执行 31

2.5.1 指令预取 33

2.5.2 指令译码与发射单元 34

2.5.3 指令执行单元 36

2.6 E500内核的乱序执行 39

2.6.1 指令乱序执行的例子 39

2.6.2 指令的相关性 41

2.6.3 寄存器重命名机制 42

第3章 PowerPC处理器的内存体系结构 47

3.1 PowerPC处理器的MMU 47

3.1.1 E500 V1内核的虚实地址转换 48

3.1.2 L1 MMU和L2 MMU中的Entry 50

3.1.3 与MMU管理相关的寄存器 52

3.1.4 与MMU管理相关的指令 53

3.1.5 E500内核的TLB1 54

3.1.6 E500内核的TLB0 57

3.2 E500内核的Cache的组成 58

3.2.1 L1 Cache的结构 59

3.2.2 L1 Cache的替换算法 60

3.2.3 L1 Cache的状态位与L1 Cache的一致性 62

3.2.4 与L1 Cache管理有关的寄存器 64

3.2.5 与L1 Cache管理有关的指令 65

3.3 E500内核的存储器一致与同步 66

3.3.1 弱序存储结构的存储器分类 67

3.3.2 弱序存储器访问机制 68

3.3.3 PowerPC处理器的存储器访问一致性 69

3.4 CCB总线的设计 72

3.4.1 CCB总线访问周期 73

3.4.2 CCB总线的主要数据信号线 73

3.4.3 CCB总线操作 74

第4章 基于E500内核的PowerPC处理器 75

4.1 基于E500内核的处理器 75

4.1.1 PowerQUICC Ⅲ处理器的CPM 76

4.1.2 PowerQUICC Ⅲ处理器中存储器映射的寄存器 79

4.1.3 L2Cache 80

4.2 基于E500内核的多处理器 81

4.2.1 SMP的同步机制 82

4.2.2 SMP结构处理器的Cache共享一致性 87

4.3 大端与小端 90

4.3.1 从软件的角度理解端模式 91

4.3.2 从系统的角度理解端模式 92

第5章 Linux PowerPC的进程管理与调度 96

5.1 Linux系统的进程描述符 97

5.1.1 与进程管理相关的属性 98

5.1.2 与进程调度有关的属性 108

5.1.3 进程描述符的其他属性 125

5.2 Linux系统中的核心进程与普通进程 125

5.2.1 核心进程 126

5.2.2 普通进程 129

5.3 Linux系统中进程的状态转换 130

5.3.1 进程的创建 130

5.3.2 进程的结束 142

5.3.3 进程的等待 148

5.4 进程的调度 155

5.4.1 进程运行队列 156

5.4.2 系统时钟异常 159

5.4.3 schedule函数 168

第6章 Linux PowerPC的外部中断处理系统 181

6.1 MPC8541处理器的中断系统 182

6.1.1 E500内核的中断向量 184

6.1.2 外部中断处理机制 185

6.1.3 外部中断的嵌套 185

6.1.4 MPC8541的外部中断 186

6.1.5 MPC8541中断控制器PIC的寄存器 187

6.1.6 MPC8541的外部中断处理过程 191

6.2 MPIC中断处理程序 192

6.2.1 MPIC中断处理程序使用的主要数据结构 193

6.2.2 MPIC中断处理程序使用的主要变量与操作函数 199

6.2.3 使用MPIC中断控制程序对中断系统初始化 209

6.3 设备驱动程序与外部中断处理系统的挂接 215

6.3.1 外部中断描述符表irq_desc 215

6.3.2 软硬件中断号的映射 217

6.3.3 request_irq函数 224

6.4 Linux PowerPC对外部中断的处理 230

6.4.1 宏NORMAL_EXCEPTION_PROLOG 230

6.4.2 宏EXC_XFER_LITE 233

6.4.3 do_IRQ函数 236

6.4.4 软件中断的处理 244

6.4.5 工作队列Work Queue 252

6.5 外部中断的返回 261

6.5.1 被中断进程运行在核心空间 262

6.5.2 被中断进程运行在用户空间 265

6.6 Linux PPC中的OpenPIC中断处理程序 266

6.6.1 OpenPIC中断处理程序的主要数据结构 267

6.6.2 OpenPIC中断处理程序的主要变量与操作函数 269

6.7 Linux PowerPC的系统调用 270

6.7.1 应用程序如何进入系统调用 272

6.7.2 Linux PowerPC的系统调用异常 276

第7章 Linux PowerPC的内存管理 280

7.1 Linux PowerPC的虚实地址的转换 281

7.1.1 使用TLB1进行段式映射 282

7.1.2 使用TLB0进行页式映射 289

7.2 Linux PowerPC的核心空间 299

7.2.1 Linux PowerPC存储节点的数据结构 301

7.2.2 Linux PowerPC核心空间的初始化 305

7.2.3 Linux PowerPC核心空间内存的分配与释放 311

7.2.4 Boot Memory分配器 324

7.3 Slab分配器 331

7.3.1 Slab分配器的主要数据结构 333

7.3.2 Cache的管理 337

7.3.3 Slab的管理 352

7.3.4 数据对象的管理 357

7.4 VM空间 360

7.5 HIMEM 364

7.6 进程地址空间 364

7.6.1 进程的内存描述符 365

7.6.2 与进程地址空间有关的系统调用 367

7.6.3 用户进程地址空间与Linux内核之间的数据交换 368

7.7 DSI/ISI异常在Linux PowerPC中的处理 370

7.7.1 Linux PowerPC对DSI异常的处理 370

7.7.2 data_access函数 372

第8章 Linux PowerPC的初始化 379

8.1 Open Firmware 380

8.1.1 dtb的数据结构 382

8.1.2 Open Firmware的API函数 385

8.2 Linux PowerPC的一次引导 386

8.2.1 MMU的重新初始化 387

8.2.2 中断向量的初始化 392

8.2.3 初始化进程0 393

8.2.4 early_init函数 395

8.2.5 machine_init函数 399

8.2.6 MMU_init函数 402

8.3 Linux内核的二次引导 404

8.3.1 start_kernel函数 405

8.3.2 核心进程init 412

参考文献 416