注册 登录 进入教材巡展
#
  • #

出版时间:2025-01-13

出版社:机械工业出版社

以下为《数字设计和计算机体系结构RISC-V版》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111767374
  • 1-2
  • 577658
  • 平装
  • 2025-01-13
  • 778
内容简介
继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。全书从计算机体系结构的角度介绍数字逻辑设计的基础知识,从基本的二进制数开始,详细讨论RISC-V处理器的设计原则、技术与方法。本书首先介绍数字逻辑门,接着讲解组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计真实的处理器。书中包含大量示例,并分别用SystemVerilog和VHDL给出相应数字系统设计的实现。本书不仅反映了当前数字电路设计的主流方法,而且突出了计算机体系结构的工程特点,适合高等院校计算机相关专业的学生阅读,也适合从事处理器设计的技术人员参考。
目录
目  录
Digital Design and Computer Architecture, RISC-V Edition
译者序
前言
第1章 数字系统 1
1.1 写在最前面 1
1.2 管理复杂性的技术 1
1.2.1 抽象 1
1.2.2 准则 2
1.2.3 三Y原则 3
1.3 数字抽象 3
1.4 数制系统 4
1.4.1 十进制数 4
1.4.2 二进制数 5
1.4.3 十六进制数 6
1.4.4 字节、半字和字 7
1.4.5 二进制加法 8
1.4.6 有符号二进制数 8
1.5 逻辑门 11
1.5.1 非门 11
1.5.2 缓冲器 11
1.5.3 与门 11
1.5.4 或门 12
1.5.5 其他二输入逻辑门 12
1.5.6 多输入逻辑门 12
1.6 数字抽象的相关概念 13
1.6.1 电源电压 13
1.6.2 逻辑电平 13
1.6.3 噪声容限 14
1.6.4 直流传输特性 14
1.6.5 静态准则 15
1.7 CMOS晶体管* 16
1.7.1 半导体 16
1.7.2 二极管 17
1.7.3 电容 17
1.7.4 nMOS和pMOS晶体管 17
1.7.5 CMOS非门 19
1.7.6 其他CMOS逻辑门 19
1.7.7 传输门 21
1.7.8 伪nMOS逻辑 21
1.8 功耗* 21
1.9 本章总结和后续章节概览 23
习题 23
面试题 29
第2章 组合逻辑设计 30
2.1 引言 30
2.2 布尔表达式 32
2.2.1 术语 32
2.2.2 与或式 32
2.2.3 或与式 33
2.3 布尔代数 34
2.3.1 公理 34
2.3.2 单变量定律 34
2.3.3 多变量定律 35
2.3.4 定律的统一证明方法 36
2.3.5 表达式化简 37
2.4 从逻辑到门 37
2.5 多级组合逻辑 39
2.5.1 逻辑门量的精简 39
2.5.2 推气泡法 40
2.6 非法值和浮空值 42
2.6.1 非法值X 42
2.6.2 浮空值Z 42
2.7 卡诺图 43
2.7.1 画圈的原理 44
2.7.2 用卡诺图最小化逻辑 44
2.7.3 无关项 46
2.7.4 小结 47
2.8 组合逻辑模块 47
2.8.1 多路选择器 47
2.8.2 译码器 50
2.9 时序 50
2.9.1 传输延迟和最小延迟 50
2.9.2 毛刺 53
2.10 本章总结 54
习题 55
面试题 59
第3章 时序逻辑设计 60
3.1 引言 60
3.2 锁存器和触发器 60
3.2.1 SR锁存器 61
3.2.2 D锁存器 62
3.2.3 D触发器 63
3.2.4 寄存器 63
3.2.5 带使能端的触发器 63
3.2.6 带复位功能的触发器 64
3.2.7 晶体管级的锁存器和触发器
设计* 64
3.2.8 小结 65
3.3 同步逻辑设计 66
3.3.1 问题电路 66
3.3.2 同步时序电路 67
3.3.3 同步和异步电路 68
3.4 有限状态机 68
3.4.1 有限状态机设计实例 69
3.4.2 状态编码 72
3.4.3 Moore型和Mealy型状态机 73
3.4.4 状态机的分解 76
3.4.5 由电路图导出有限状态机 77
3.4.6 小结 79
3.5 时序逻辑电路的时序 79
3.5.1 动态准则 80
3.5.2 系统时序 80
3.5.3 时钟偏移* 83
3.5.4 亚稳态 85
3.5.5 同步器 86
3.5.6 分辨时间的推导* 87
3.6 并行 89
3.7 本章总结 91
习题 92
面试题 96
第4章 硬件描述语言 97
4.1 引言 97
4.1.1 模块 97
4.1.2 语言起源 98
4.1.3 仿真与综合 99
4.2 组合逻辑 100
4.2.1 位运算符 100
4.2.2 注释和空白字符 102
4.2.3 归约运算符 102
4.2.4 条件赋值 103
4.2.5 内部变量 105
4.2.6 优先级 106
4.2.7 数字 107
4.2.8 Z和X 108
4.2.9 位混合 109
4.2.10 延迟 109
4.3 结构建模 110
4.4 时序逻辑 113
4.4.1 寄存器  113
4.4.2 可复位寄存器 115
4.4.3 使能寄存器 116
4.4.4 多寄存器 117
4.4.5 锁存器 117
4.5 更多组合逻辑 118
4.5.1 case 语句 120
4.5.2 if语句 122
4.5.3 含无关项的真值表 123
4.5.4 阻塞和非阻塞赋值 124
4.6 有限状态机 127
4.7 数据类型* 130
4.7.1 System Verilog 130
4.7.2 VHDL 131
4.8 参数化模块* 133
4.9 测试平台 136
4.10 本章总结 139
习题 139
System Verilog 习题 142
VHDL 习题 145
面试题 146
第5章 常见数字模块 147
5.1 引言 147
5.2 算术电路 147
5.2.1 加法 147
5.2.2 减法 153
5.2.3 比较器 153
5.2.4 算术逻辑单元 155
5.2.5 移位器和循环移位器 158
5.2.6 乘法* 159
5.2.7 除法* 159
5.2.8 扩展材料 160
5.3 数制系统 161
5.3.1 定点数系统 161
5.3.2 浮点数系统* 161
5.4 时序电路模块 164
5.4.1 计数器 164
5.4.2 移位寄存器 165
5.5 存储器阵列 167
5.5.1 概述 167
5.5.2 动态随机存储器 169
5.5.3 静态随机存储器 169
5.5.4 面积和延迟 169
5.5.5 寄存器堆 170
5.5.6 只读存储器 170
5.5.7 使用存储器阵列的逻辑 171
5.5.8 存储器HDL 172
5.6 逻辑阵列 173
5.6.1 可编程逻辑阵列 174
5.6.2 现场可编程门阵列 175
5.6.3 阵列实现* 179
5.7 本章总结 180
习题 180
面试题 186
第6章 体系结构 187
6.1 引言 187
6.2 汇编语言 188
6.2.1 概述 188
6.2.2 操作数:寄存器、内存和
常数 189
6.3 编程 192
6.3.1 程序流程 192
6.3.2 逻辑、移位和乘法指令 193
6.3.3 分支指令 194
6.3.4 条件语句 196
6.3.5 循环语句 197
6.3.6 数组 198
6.3.7 函数调用 200
6.3.8 伪指令 208
6.4 机器语言 209
6.4.1 R-type 指令 209
6.4.2 I-type指令 210
6.4.3 S/B-type指令 211
6.4.4 U/J-type指令 213
6.4.5 立即数编码 214
6.4.6 寻址方式 215
6.4.7 解释机器语言代码 215
6.4.8 存储程序 216
6.5 编译、汇编和加载* 217
6.5.1 内存映射 217
6.5.2 汇编指示字 218
6.5.3 编译 220
6.5.4 汇编 221
6.5.5 链接 223
6.5.6 加载 225
6.6 其他主题* 226
6.6.1 字节顺序 226
6.6.2 异常 226
6.6.3 有符号/无符号数算术指令 228
6.6.4 浮点指令 229
6.6.5 压缩指令 230
6.7 RISC-V体系结构的演变 230
6.7.1 RISC-V基本指令集与扩展 231
6.7.2 RISC-V与MIPS体系结构的
比较 231
6.7.3 RISC-V与ARM体系结构的
比较 231
6.8 换位观察:x86体系结构 232
6.8.1 x86寄存器 232
6.8.2 x86操作数 233
6.8.3 状态标志 234
6.8.4 x86指令 234
6.8.5 x86指令编码 236
6.8.6 x86的其他特性 237
6.8.7 整体情况 237
6.9 本章总结 238
习题 238
面试题 248
第7章 微体系结构 249
7.1 引言 249
7.1.1 体系结构状态与指令集 249
7.1.2 设计过程 249
7.1.3 微体系结构 251
7.2 性能分析 251
7.3 单周期处理器 252
7.3.1 简单程序 252
7.3.2 单周期数据通路 253
7.3.3 单周期控制信号 258
7.3.4 更多指令 261
7.3.5 单周期性能分析 263
7.4 多周期处理器 264
7.4.1 多周期数据通路 264
7.4.2 多周期控制信号 269
7.4.3 更多指令 276
7.4.4 多周期性能分析 279
7.5 流水线处理器 280
7.5.1 流水线数据通路 282
7.5.2 流水线控制信号 283
7.5.3 流水线冲突 284
7.5.4 流水线性能分析 291
7.6 硬件描述语言表示* 292
7.6.1 单周期处理器 293
7.6.2 通用构建块 296
7.6.3 测试平台 298
7.7 高级微体系结构* 302
7.7.1 深度流水线 302
7.7.2 微操作 303
7.7.3 分支预测 303
7.7.4 超标量处理器 304
7.7.5 乱序处理器 306
7.7.6 寄存器重命名 308
7.7.7 多线程 309
7.7.8 多处理器 309
7.8 现实世界视角:RISC-V微体系
结构的演变* 311
7.9 本章总结 314
习题 314
面试题 319
第8章 存储器系统 320
8.1 引言 320
8.2 存储器系统性能分析 323
8.3 高速缓存 324
8.3.1 高速缓存中存放的数据 324
8.3.2 高速缓存中的数据查找 325
8.3.3 数据的替换 331
8.3.4 多级高速缓存设计* 332
8.4 虚拟存储器 334
8.4.1 地址转换 336
8.4.2 页表 337
8.4.3 转换后备缓冲区 338
8.4.4 存储器保护 339
8.4.5 替换策略* 339
8.4.6 多级页表* 339
8.5 本章总结 341
习题 341
面试题 346
第9章 嵌入式I/O系统 347
9.1 引言 347
9.2 内存映射I/O 347
9.3 嵌入式I/O系统 348
9.3.1 RED-V开发板 348
9.3.2 FE310-G002片上系统 349
9.3.3 通用数字I/O 352
9.3.4 设备驱动器 355
9.3.5 串行I/O 358
9.3.6 计时器 370
9.3.7 模拟I/O 370
9.3.8 中断 377
9.4 其他微控制器外设 380
9.4.1 字符LCD 380
9.4.2 VGA显示器 382
9.4.3 蓝牙无线链路 387
9.4.4 电动机控制器 388
9.5 本章总结 397
后记 398
附录 399
扩展阅读 476