当前位置:首页 > 工业技术
计算机科学丛书  数字设计和计算机体系结构  原书第2版

计算机科学丛书 数字设计和计算机体系结构 原书第2版PDF格式文档图书下载

工业技术

图书介绍:本书以一种流行的方式介绍了从计算机组织和设计到更细节层次的内容,涵盖了数字逻辑设计的主要内容,展示了使用VHDL和Verilog这两种主要硬件描述语言设计MIPS处理器的技术细节,并通过MIPS微处理器的设计强化数字逻辑的概念。本书的典型特色是将数字逻辑和计算机体系结构融合,教学内容反映了当前数字电路设计的主流方法,并突出计算机体系结构的工程特点,书中的大量示例及习题也可以加强读者对基本概念和技术的理解和记忆。

查看更多关于计算机科学丛书 数字设计和计算机体系结构 原书第2版的内容

图书介绍

第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 逻辑门 10

1.5.1 非门 11

1.5.2 缓冲器 11

1.5.3 与门 11

1.5.4 或门 11

1.5.5 其他两输入逻辑门 11

1.5.6 多输入门 12

1.6 数字抽象 13

1.6.1 电源电压 13

1.6.2 逻辑电平 13

1.6.3 噪声容限 13

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 传输门 20

1.7.8 类nMOS逻辑 20

1.8 功耗 21

1.9 总结和展望 22

习题 22

面试问题 28

第2章 组合逻辑设计 29

2.1 引言 29

2.2 布尔表达式 31

2.2.1 术语 31

2.2.2 与或式 31

2.2.3 或与式 32

2.3 布尔代数 33

2.3.1 公理 33

2.3.2 单变量定理 33

2.3.3 多变量定理 34

2.3.4 定理的统一证明方法 35

2.3.5 等式化简 36

2.4 从逻辑到门 37

2.5 多级组合逻辑 39

2.5.1 减少硬件 39

2.5.2 推气泡 40

2.6 X和Z 41

2.6.1 非法值X 41

2.6.2 浮空值Z 41

2.7 卡诺图 42

2.7.1 画圈的原理 43

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 时序 51

2.9.1 传播延迟和最小延迟 51

2.9.2 毛刺 54

2.10 总结 55

习题 55

面试问题 60

第3章 时序逻辑设计 61

3.1 引言 61

3.2 锁存器和触发器 61

3.2.1 SR锁存器 62

3.2.2 D锁存器 63

3.2.3 D触发器 64

3.2.4 寄存器 64

3.2.5 带使能端的触发器 65

3.2.6 带复位功能的触发器 65

3.2.7 晶体管级锁存器和触发器的设计 66

3.2.8 小结 66

3.3 同步逻辑设计 67

3.3.1 一些有问题的电路 67

3.3.2 同步时序电路 68

3.3.3 同步电路和异步电路 70

3.4 有限状态机 70

3.4.1 有限状态机设计实例 70

3.4.2 状态编码 74

3.4.3 Moore型状态机和Mealy型状态机 76

3.4.4 状态机的分解 79

3.4.5 由电路图导出状态机 80

3.4.6 有限状态机小结 82

3.5 时序逻辑的时序 82

3.5.1 动态约束 83

3.5.2 系统时序 83

3.5.3 时钟偏移 87

3.5.4 亚稳态 88

3.5.5 同步器 89

3.5.6 分辨时间的推导 90

3.6 并行 92

3.7 总结 94

习题 95

面试问题 100

第4章 硬件描述语言 101

4.1 引言 101

4.1.1 模块 101

4.1.2 硬件描述语言的起源 101

4.1.3 模拟和综合 102

4.2 组合逻辑 104

4.2.1 位运算符 104

4.2.2 注释和空白 104

4.2.3 缩位运算符 106

4.2.4 条件赋值 106

4.2.5 内部变量 106

4.2.6 优先级 109

4.2.7 数字 109

4.2.8 Z和X 110

4.2.9 位混合 111

4.2.10 延迟 112

4.3 结构化建模 113

4.4 时序逻辑 115

4.4.1 寄存器 115

4.4.2 复位寄存器 115

4.4.3 带使能端的寄存器 116

4.4.4 多寄存器 116

4.4.5 锁存器 119

4.5 更多组合逻辑 119

4.5.1 case语句 120

4.5.2 if语句 122

4.5.3 带有无关项的真值表 122

4.5.4 阻塞赋值和非阻塞赋值 124

4.6 有限状态机 127

4.7 数据类型 130

4.7.1 SystemVerilog 130

4.7.2 VHDL 131

4.8 参数化模块 133

4.9 测试程序 135

4.10 总结 138

习题 138

面试问题 145

第5章 数字模块 146

5.1 引言 146

5.2 算术电路 146

5.2.1 加法 146

5.2.2 减法 151

5.2.3 比较器 152

5.2.4 算术逻辑单元 153

5.2.5 移位器和循环移位器 154

5.2.6 乘法 155

5.2.7 除法 156

5.2.8 补充阅读 156

5.3 数制 157

5.3.1 定点数 157

5.3.2 浮点数 157

5.4 时序电路模块 160

5.4.1 计数器 160

5.4.2 移位寄存器 160

5.5 存储器阵列 162

5.5.1 概述 162

5.5.2 动态随机访问存储器 164

5.5.3 静态随机访问存储器 165

5.5.4 面积和延迟 165

5.5.5 寄存器文件 165

5.5.6 只读存储器 165

5.5.7 使用存储器阵列的逻辑 167

5.5.8 存储器HDL 167

5.6 逻辑阵列 168

5.6.1 可编程逻辑阵列 169

5.6.2 现场可编程逻辑门阵列 169

5.6.3 阵列实现 173

5.7 总结 174

习题 174

面试问题 180

第6章 体系结构 181

6.1 引言 181

6.2 汇编语言 182

6.2.1 指令 182

6.2.2 操作数:寄存器、存储器和常数 183

6.3 机器语言 187

6.3.1 R类型指令 187

6.3.2 l类型指令 188

6.3.3 J类型指令 189

6.3.4 解释机器语言代码 189

6.3.5 存储程序 189

6.4 编程 190

6.4.1 算术/逻辑指令 190

6.4.2 分支 193

6.4.3 条件语句 194

6.4.4 循环 195

6.4.5 数组 197

6.4.6 函数调用 200

6.5 寻址方式 206

6.6 编译、汇编和装入 208

6.6.1 内存映射 208

6.6.2 转换成二进制代码和开始执行程序 209

6.7 其他主题 211

6.7.1 伪指令 211

6.7.2 异常 212

6.7.3 有符号指令和无符号指令 212

6.7.4 浮点指令 213

6.8 从现实世界看:x86结构 214

6.8.1 x86寄存器 215

6.8.2 x86操作数 215

6.8.3 状态标志 216

6.8.4 x86指令集 216

6.8.5 x86指令编码 218

6.8.6 x86的其他特性 219

6.8.7 小结 219

6.9 总结 219

习题 220

面试问题 227

第7章 微体系结构 228

7.1 引言 228

7.1.1 体系结构状态和指令集 228

7.1.2 设计过程 229

7.1.3 MIPS微体系结构 230

7.2 性能分析 230

7.3 单周期处理器 231

7.3.1 单周期数据路径 231

7.3.2 单周期控制 235

7.3.3 更多指令 237

7.3.4 性能分析 239

7.4 多周期处理器 240

7.4.1 多周期数据路径 240

7.4.2 多周期控制 244

7.4.3 更多指令 252

7.4.4 性能分析 254

7.5 流水线处理器 255

7.5.1 流水线数据路径 257

7.5.2 流水线控制 258

7.5.3 冲突 258

7.5.4 更多指令 269

7.5.5 性能分析 269

7.6 硬件描述语言表示 270

7.6.1 单周期处理器 270

7.6.2 通用模块 274

7.6.3 基准测试程序 276

7.7 异常 279

7.8 高级微体系结构 281

7.8.1 深流水线 282

7.8.2 分支预测 282

7.8.3 超标量处理器 284

7.8.4 乱序处理器 285

7.8.5 寄存器重命名 287

7.8.6 单指令流多数据 288

7.8.7 多线程 288

7.8.8 同构多处理器 289

7.8.9 异构多处理器 289

7.9 从现实世界看:x86微体系结构 290

7.10 总结 295

习题 296

面试问题 300

第8章 存储器和输入/输出系统 301

8.1 引言 301

8.2 存储器系统性能分析 304

8.3 高速缓存 305

8.3.1 高速缓存中存放的数据 305

8.3.2 高速缓存中的数据查找 305

8.3.3 数据的替换 311

8.3.4 高级高速缓存设计 312

8.3.5 MIPS高速缓存的发展 314

8.4 虚拟存储器 315

8.4.1 地址转换 316

8.4.2 页表 317

8.4.3 转换后备缓冲器 318

8.4.4 存储器保护 319

8.4.5 替换策略 319

8.4.6 多级页表 319

8.5 I/O简介 321

8.6 嵌入式I/O系统 322

8.6.1 PIC32MX675F512H微控制器 322

8.6.2 通用数字I/O 326

8.6.3 串行I/O 328

8.6.4 计时器 336

8.6.5 中断 337

8.6.6 模拟I/O 339

8.6.7 其他微控制器外设 343

8.7 PC I/O系统 358

8.7.1 USB 359

8.7.2 PCI和PCI Express 360

8.7.3 DDR3内存 360

8.7.4 网络 360

8.7.5 SATA 361

8.7.6 连接到PC 361

8.8 从现实世界看:x86存储器和I/O系统 363

8.8.1 x86高速缓存系统 363

8.8.2 x86虚拟存储器 364

8.8.3 x86可编程I/O 365

8.9 总结 365

后记 365

习题 365

面试问题 371

附录A数字系统实现 372

附录B MIPS指令 396

附录C C语言编程 400

附录D MIPS处理器的FPGA实现 433

补充阅读 452

索引 454

查看更多关于计算机科学丛书 数字设计和计算机体系结构 原书第2版的内容

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