第1章 导论 1
1.1 简介 1
1.1.1 数据表示 1
1.1.2 数据通路 5
1.1.3 计算机系统 5
1.1.4 嵌入式系统 7
1.2 逻辑设计 7
1.2.1 电路最小化 8
1.2.2 实现 9
1.2.3 电路类型 10
1.2.4 计算机辅助设计工具 12
1.3 计算机组成 13
1.4 计算机体系结构 13
1.4.1 流水线 14
1.4.2 并行性 15
1.5 计算机安全 19
参考文献 19
练习 19
第2章 组合电路:小型设计 22
2.1 简介 22
2.2 逻辑表达式 24
2.2.1 乘积的和表达式 25
2.2.2 和的乘积表达式 27
2.3 规范表达式 29
2.3.1 极小项 29
2.3.2 极大项 30
2.4 逻辑化简 30
2.4.1 卡诺图 31
2.4.2 K图化简 33
2.5 逻辑化简算法 37
2.6 电路时序图 43
2.6.1 信号传播延迟 45
2.6.2 扇入和扇出 45
2.7 其他逻辑门 46
2.7.1 缓存 46
2.7.2 集电极开路缓冲区 46
2.7.3 三态缓存 48
2.8 设计实例 50
2.8.1 全加器 50
2.8.2 多路选择器 52
2.8.3 译码器 54
2.8.4 编码器 55
2.9 实现 57
2.9.1 可编程逻辑器件 57
2.9.2 设计流程 58
2.10 硬件描述语言 60
2.10.1 结构模型 60
2.10.2 传输延迟仿真 63
2.10.3 行为建模 65
2.10.4 综合与仿真 67
参考文献 69
练习 69
第3章 组合电路:大型设计 72
3.1 简介 72
3.2 算术函数 74
3.3 加法器 74
3.3.1 进位传输加法器 74
3.3.2 先行进位加法器 75
3.4 减法器 81
3.5 2的补码加法/减法器 83
3.6 算术逻辑单元 86
3.6.1 设计部分:位并行 87
3.6.2 设计部分:位串行 91
3.7 设计实例 93
3.7.1 乘法器 93
3.7.2 除法器 95
3.8 实数算术 96
3.8.1 浮点数标准 97
3.8.2 浮点数据空间 98
3.8.3 浮点运算 100
3.8.4 浮点单元 104
参考文献 105
练习 105
第4章 时序电路:核心模块 109
4.1 简介 109
4.2 SR锁存器 110
4.3 D锁存器 113
4.4 锁存器的缺陷 114
4.5 D触发器 115
4.5.1 选择电路 116
4.5.2 操作规范 116
4.5.3 建立和保持时间 116
4.6 无相位差的时钟频率估计 120
4.7 触发器使能 120
4.8 其他触发器 121
4.9 硬件描述语言模型 122
参考文献 124
练习 125
第5章 时序电路:小型设计 127
5.1 简介 127
5.2 状态机介绍:寄存器设计 128
5.2.1 寄存器模型 129
5.2.2 多功能寄存器 130
5.3 FSM设计 132
5.3.1 二进制编码状态 134
5.3.2 独热码状态 137
5.4 计数器 142
5.5 容错FSM 149
5.6 时序电路的时序 154
5.6.1 带有时钟相位差的时钟频率评估 157
5.6.2 异步接口 157
5.7 硬件描述语言模型 159
参考文献 164
练习 164
第6章 时序电路:大型设计 168
6.1 简介 168
6.2 数据通路设计 169
6.2.1 单周期 170
6.2.2 多周期 171
6.2.3 流水线 171
6.3 控制单元设计技术 175
6.3.1 硬件控制单元:FSD 176
6.3.2 微程序控制 176
6.3.3 硬件控制:流水线 180
6.4 能源和功率消耗 181
6.5 设计实例 183
6.5.1 无符号串行乘法器 184
6.5.2 带符号串行乘法器 192
6.5.3 计算机图形学:旋转 199
参考文献 211
练习 211
第7章 存储器 214
7.1 简介 214
7.2 存储技术 215
7.2.1 只读存储器 215
7.2.2 随机存取存储器 215
7.2.3 应用 217
7.3 存储单元阵列 217
7.3.1 字存取 218
7.3.2 突发访问 218
7.4 存储器组织结构 220
7.4.1 现代DRAM 221
7.4.2 SRAM存储单元模型 223
7.4.3 SRAM芯片内部组织结构 223
7.4.4 存储单元设计 225
7.5 存储时序 228
7.5.1 SRAM 228
7.5.2 DRAM 230
7.5.3 SDRAM 231
7.5.4 DDR SDRAM 232
7.6 存储器体系结构 232
7.6.1 高位交叉存储 233
7.6.2 低位交叉存储 233
7.6.3 多通道 234
7.7 设计实例:多处理器存储结构 236
7.7.1 UMA与NUMA 236
7.7.2 NUMA应用 236
7.8 HDL模型 237
参考文献 240
练习 240
第8章 指令集体系结构 243
8.1 简介 243
8.1.1 指令类型 244
8.1.2 程序翻译 244
8.1.3 指令周期 244
8.2 指令集体系结构的类型 246
8.2.1 寻址模式 246
8.2.2 指令格式 247
8.2.3 堆栈ISA 247
8.2.4 累加器ISA 249
8.2.5 CISC-ISA 249
8.2.6 RISC-ISA 250
8.3 设计示例 250
8.3.1 累加器ISA指令集设计 250
8.3.2 累加器ISA处理器:单周期 255
8.3.3 累加器ISA处理器:流水线 259
8.3.4 RISC-ISA处理器 266
8.4 先进的处理器架构 269
8.4.1 深度流水线 269
8.4.2 分支预测技术 271
8.4.3 指令级并行 278
8.4.4 多线程 284
参考文献 288
练习 288
第9章 计算机体系结构:互连 293
9.1 简介 293
9.2 存储器控制器 298
9.2.1 简单的存储器控制器 298
9.2.2 现代存储器控制器 300
9.3 I/O外围设备 302
9.4 控制和连接I/O设备 303
9.5 数据传输机制 309
9.5.1 中断驱动传输 309
9.5.2 程序控制传输 311
9.5.3 DMA传输 313
9.6 中断 315
9.6.1 中断处理 316
9.6.2 中断结构 319
9.7 设计示例:中断处理CPU 321
9.8 USB主控制器接口 325
9.8.1 标准 325
9.8.2 事务 325
9.8.3 传输 327
9.8.4 描述符 327
9.8.5 帧 327
9.8.6 事务组织结构 329
9.8.7 事务执行 330
参考文献 331
练习 331
第10章 存储系统 334
10.1 简介 334
10.2 cache映射 338
10.2.1 直接映射 339
10.2.2 cache缺失的类型 341
10.2.3 组相联映射 343
10.3 cache一致性 346
10.3.1 失效协议与更新协议 347
10.3.2 监听cache一致性协议 347
10.3.3 直写协议 348
10.3.4 写回协议 349
10.4 虚拟存储器 352
10.4.1 虚拟地址转换 353
10.4.2 转译后备缓冲器 355
10.4.3 处理器组织结构 356
参考文献 359
练习 359
第11章 计算机体系结构:安全 362
11.1 简介 362
11.1.1 安全工程方法 364
11.1.2 威胁类型 365
11.1.3 访问控制和类型 365
11.1.4 安全策略模型 367
11.1.5 攻击类型 369
11.2 硬件后门攻击 370
11.2.1 数据和控制攻击 370
11.2.2 定时器攻击 371
11.2.3 安全策略机制 371
11.3 软件/物理攻击 374
11.3.1 欺骗攻击 374
11.3.2 拼接攻击 374
11.3.3 重放攻击 375
11.3.4 中间人攻击 376
11.4 可信计算基 376
11.5 密码使用方法 377
11.5.1 对称密钥密码器 378
11.5.2 操作模式 379
11.5.3 非对称密钥密码器 381
11.6 哈希法 384
11.7 加密哈希 386
11.7.1 消息认证码 387
11.7.2 基于哈希的MAC 387
11.8 通过硬件存储加密密钥 388
11.8.1 密钥链组织 388
11.8.2 存储和访问 388
11.8.3 应用示例:密钥链作为访问控制 392
11.9 哈希树 393
11.9.1 应用示例:密钥链认证 393
11.9.2 应用示例:内存认证 393
11.10 安全协处理器体系结构 395
11.11 安全处理器体系结构 396
11.11.1 程序代码完整性 396
11.11.2 运行安全机制 397
11.11.3 程序代码保密性 399
11.11.4 程序代码的完整性和保密性 399
11.11.5 程序数据完整性 400
11.11.6 程序数据保密性 401
11.11.7 程序数据的完整性和保密性 404
11.11.8 程序代码和数据的完整性及保密性 405
11.11.9 处理中断 406
11.12 设计示例:安全处理器 407
11.12.1 SP特征 407
11.12.2 处理器架构 408
11.12.3 加密解密哈希引擎 411
11.12.4 哈希树引擎 411
11.13 延伸阅读 415
参考文献 417
练习 420
参考文献 424
索引 426