第1章 处理器设计导论 1
1.1 处理器体系结构和组织 1
1.2 硬件设计中的抽象 3
1.3 MUO——一个简单的处理器 6
1.4 指令集的设计 11
1.5 处理器设计中的权衡 16
1.6 精简指令集计算机 20
1.7 低功耗设计 23
1.8 例题与练习 26
第2章 ARM体系结构 29
2.1 Acorn RISC机器 29
2.2 体系结构的继承 30
2.3 ARM编程模型 32
2.4 ARM开发工具 35
2.5 例题与练习 39
第3章 ARM汇编语言编程 40
3.1 数据处理指令 40
3.2 数据传送指令 45
3.3 控制流指令 51
3.4 编写简单的汇编语言程序 56
3.5 例题与练习 59
第4章 ARM的组织和实现 62
4.1 3级流水线ARM的组织 62
4.2 5级流水线ARM的组织 65
4.3 ARM指令执行 68
4.4 ARM的实现 71
4.5 ARM协处理器接口 83
4.6 例题与练习 85
第5章 ARM指令集 87
5.1 引言 87
5.2 异常 89
5.3 条件执行 92
5.4 转移及转移链接(B,BL)指令 94
5.5 转移交换和转移链接交换(BX,BLX)指令 96
5.6 软件中断(SWI)指令 98
5.7 数据处理指令 99
5.8 乘法指令 103
5.9 前导0计数(CLZ——仅用于v5T体系结构) 105
5.10 单字和无符号字节的数据传送指令 105
5.11 半字和有符号字节的数据传送指令 108
5.12 多寄存器传送指令 110
5.13 存储器和寄存器交换指令(SWP) 111
5.14 状态寄存器到通用寄存器的传送指令 112
5.15 通用寄存器到状态寄存器的传送指令 113
5.16 协处理器指令 115
5.17 协处理器的数据操作 116
5.18 协处理器的数据传送 117
5.19 协处理器的寄存器传送 118
5.20 断点指令(BKPT——仅用于v5T体系结构) 120
5.21 未使用的指令空间 120
5.22 存储器故障 122
5.23 ARM体系结构的各种版本 126
5.24 例题与练习 128
6.1 软件设计中的抽象 129
第6章 体系结构对高级语言的支持 129
6.2 数据类型 130
6.3 浮点数据类型 135
6.4 ARM浮点体系结构 139
6.5 表达式 143
6.6 条件语句 145
6.7 循环 148
6.8 函数与过程 150
6.9 使用存储器 154
6.10 运行环境 158
6.11 例题与练习 159
第7章 Thumb指令集 161
7.1 CPSR中的Thumb指示位 161
7.2 Thumb编程模型 162
7.3 Thumb转移指令 164
7.4 Thumb软中断指令 166
7.5 Thumb数据处理指令 167
7.6 Thumb单寄存器数据传送指令 169
7.7 Thumb多寄存器数据传送指令 171
7.8 Thumb断点指令 172
7.9 Thumb的实现 173
7.10 Thumb的应用 174
7.11 例题与练习 175
第8章 体系结构对系统开发的支持 178
8.1 ARM存储器接口 178
8.2 AMBA总线 185
8.3 ARM参考外围规范 189
8.4 建立硬件系统原型的工具 191
8.5 ARM仿真器ARMulator 192
8.6 JTAG边界扫描测试结构 193
8.7 ARM调试结构 198
8.8 嵌入式跟踪 202
8.9 对信号处理的支持 204
8.10 例题与练习 209
9.1 ARM7TDMI 210
第9章 ARM处理器核 210
9.2 ARM8 217
9.3 ARM9TDMI 220
9.4 ARM10TDMI 223
9.5 讨论 226
9.6 例题与练习 227
第10章 存储器层次 228
10.1 存储器容量及速度 228
10.2 片上存储器 229
10.3 Cache 230
10.4 Cache设计示例 235
10.5 存储器管理 240
10.6 例题与练习 243
第11章 体系结构对操作系统的支持 245
11.1 操作系统简介 245
11.2 ARM系统控制协处理器 248
11.3 保护单元寄存器CP15 249
11.4 ARM保护单元 251
11.5 CP15 MMU寄存器 252
11.6 ARM MMU结构 255
11.7 同步 260
11.8 上下文切换 261
11.9 输入/输出 262
11.10 例题与练习 266
第12章 ARM CPU核 267
12.1 ARM710T/720T/740T 267
12.2 ARM810 272
12.3 StrongARM SA-110 275
12.4 ARM920T和ARM940T 282
12.5 ARM946E-S和ARM966E-S 285
12.6 ARM1020E 286
12.7 讨论 289
12.8 例题与练习 291
第13章 嵌入式ARM的应用 292
13.1 VLSI Ruby Ⅱ先进通信处理器 292
13.2 VLSI ISDN用户处理器 294
13.3 OneCTM VWS22100 GSM芯片 296
13.4 爱立信-VLSI蓝牙基带控制器 300
13.5 ARM7500和ARM7500FE 303
13.6 ARM7100 306
13.7 SA-1100 310
13.8 例题与练习 313
第14章 AMULET异步ARM处理器 315
14.1 自定时设计 315
14.2 AMULET1 318
14.3 AMULET2 321
14.4 AMULET2e 323
14.5 AMULET3 326
14.6 DRACO电信控制器 329
14.7 自定时系统的未来 334
14.8 例题与练习 335
附录 计算机逻辑 337
术语 342
参考文献 347
索引 349