[套装书]计算机系统解密:从理解计算机到编写高效代码+计算机系统:核心概念及软硬件实现(原书第5版)(2册)

作者
乔纳森·E.斯坦哈特 J. 斯坦利·沃法德
丛书名
华章程序员书库
出版社
机械工业出版社
ISBN
9782109071513
简要
简介
内容简介书籍计算机书籍 ---------------------------8083845 - 计算机系统解密:从理解计算机到编写高效代码--------------------------- 本书分为三部分。第1部分探讨了计算机硬件,包括内部语言、组合逻辑、顺序逻辑、组成原理、系统结构、通信接口等。第二部分研究了在硬件上运行的软件的行为和表现。第三部分涉及编程的艺术--与他人合作写出好的程序。 ---------------------------8055592 - 计算机系统:核心概念及软硬件实现(原书第5版)--------------------------- 本书从逻辑门、微编码、指令集体系结构、操作系统、汇编、高阶语言和应用等层级,系统而全面地介绍了计算机系统、C++、信息表示、计算机体系结构、汇编语言、汇编级编译、语言翻译原理、进程管理、存储管理、组合电路、顺序电路、计算机组成。书后配有练习答案。本书全面而系统地介绍了计算机组成、汇编语言和计算机体系结构的核心概念。通过自顶向下的方法,引导读者探索不同规模的计算机系统以及抽象级。通过检查不同的抽象级如何彼此相关,来帮助读者了解计算机系统及其组件。
目录
[套装书具体书目]
8055592 - 计算机系统:核心概念及软硬件实现(原书第5版) - 9787111616849 - 机械工业出版社 - 定价 99
8083845 - 计算机系统解密:从理解计算机到编写高效代码 - 9787111689874 - 机械工业出版社 - 定价 129



---------------------------8083845 - 计算机系统解密:从理解计算机到编写高效代码---------------------------


译者序
前言
致谢
作者简介
审校者简介
引言1
第1章 计算机的内部语言12
1.1 什么是语言12
1.2 书面语言13
1.3 比特13
1.4 逻辑运算14
1.4.1 布尔代数14
1.4.2 德摩根定律15
1.5 用比特表示整数16
1.5.1 表示正数16
1.5.2 二进制加法18
1.5.3 表示负数20
1.6 表示实数23
1.6.1 定点表示法24
1.6.2 浮点表示法25
1.6.3 IEEE浮点标准26
1.7 二进制编码的十进制系统27
1.8 处理二进制数的简单方法27
1.8.1 八进制表示法27
1.8.2 十六进制表示法28
1.8.3 表示语境28
1.9 命名位组29
1.10 表示文本30
1.10.1 ASCII30
1.10.2 其他标准的演变32
1.10.3 UTF-832
1.11 用字符表示数字34
1.11.1 可打印字符引用编码34
1.11.2 Base64编码34
1.11.3 URL编码35
1.12 表示颜色35
1.12.1 增加透明度37
1.12.2 编码颜色38
1.13 本章小结39
第2章 组合逻辑40
2.1 数字计算机的案例40
2.1.1 模拟和数字之间的区别42
2.1.2 为什么尺寸对硬件很重要43
2.1.3 数字使设备更加稳定44
2.1.4 模拟世界中的数字44
2.1.5 为什么使用位而不是数字46
2.2 电学的简单入门47
2.2.1 用管道理解电47
2.2.2 电源开关50
2.3 为位构建硬件52
2.3.1 继电器52
2.3.2 真空管54
2.3.3 晶体管55
2.3.4 集成电路56
2.4 逻辑门57
2.4.1 利用迟滞现象提高抗噪声能力58
2.4.2 差分信号59
2.4.3 传播延迟60
2.4.4 输出的变化61
2.5 构建更复杂的电路63
2.5.1 制作加法器63
2.5.2 制作解码器65
2.5.3 制作多路输出选择器66
2.5.4 制作选择器66
2.6 本章小结68
第3章 时序逻辑69
3.1 表示时间69
3.1.1 振荡器70
3.1.2 时钟70
3.1.3 锁存器71
3.1.4 锁存器组成的门电路72
3.1.5 触发器73
3.1.6 计数器75
3.1.7 寄存器77
3.2 内存组织和寻址78
3.2.1 随机存取存储器80
3.2.2 只读存储器81
3.3 块设备83
3.4 闪存和固态磁盘驱动器85
3.5 检错和纠错86
3.6 硬件和软件87
3.7 本章小结88
第4章 计算机剖析89
4.1 内存89
4.2 输入输出91
4.3 中央处理器92
4.3.1 算术逻辑单元93
4.3.2 移位寄存器94
4.3.3 执行单元96
4.4 指令集97
4.4.1 指令97
4.4.2 寻址方式99
4.4.3 条件码指令99
4.4.4 分支100
4.4.5 最终指令集100
4.5 最终设计103
4.5.1 指令寄存器103
4.5.2 数据通路和控制信号103
4.5.3 流量控制104
4.6 RISC和CISC指令集107
4.7 图形处理单元108
4.8 本章小结108
第5章 计算机架构109
5.1 基本架构元素109
5.1.1 处理器核心110
5.1.2 微处理器和微型计算机110
5.2 过程、子程序和函数111
5.3 堆栈113
5.4 中断116
5.5 相对寻址118
5.6 内存管理单元119
5.7 虚拟内存121
5.8 系统和用户空间121
5.9 存储器层次和性能122
5.10 协处理器123
5.11 在内存中排列数据124
5.12 运行程序125
5.13 内存功耗126
5.14 本章小结126
第6章 通信故障127
6.1 低电平I/O127
6.1.1 I/O端口128
6.1.2 按下按钮129
6.1.3 让灯光亮起131
6.1.4 灯光,动作……132
6.1.5 奇思妙想133
6.1.6 2n种灰色134
6.1.7 正交134
6.1.8 并行通信135
6.1.9 串行通信136
6.1.10 捕捉一个波138
6.1.11 通用串行总线139
6.2 网络140
6.2.1 现代局域网141
6.2.2 因特网141
6.3 数字世界中的模拟143
6.3.1 数模转换143
6.3.2 模数转换145
6.3.3 数字音频148
6.3.4 数字图像154
6.3.5 视频156
6.4 人机界面设备157
6.4.1 终端157
6.4.2 图形终端158
6.4.3 矢量图159
6.4.4 光栅图160
6.4.5 键盘和鼠标161
6.5 本章小结161
第7章 组织数据162
7.1 原始数据类型162
7.2 数组164
7.3 位图165
7.4 字符串166
7.5 复合数据类型167
7.6 单链表168
7.7 动态内存分配173
7.8 更有效的内存分配174
7.9 垃圾收集175
7.10 双链表175
7.11 层次数据结构176
7.12 块存储179
7.13 数据库181
7.14 索引182
7.15 移动数据183
7.16 矢量I/O186
7.17 面向对象存在的问题187
7.18 排序188
7.19 哈希算法189
7.20 效率与性能191
7.21 本章小结192
第8章 语言处理193
8.1 汇编语言193
8.2 高级语言194
8.3 结构化程序设计195
8.4 词法分析196
8.4.1 状态机198
8.4.2 正则表达式199
8.5 从单词到句子201
8.6 每日语言俱乐部203
8.7 语法树203
8.8 解释器205
8.9 编译器207
8.10 优化209
8.11 小心硬件210
8.12 本章小结211
第9章 Web浏览器212
9.1 标记语言213
9.2 统一资源定位符214
9.3 HTML文档214
9.4 文档对象模型216
9.4.1 树结构解析216
9.4.2 文档对象模型解释217
9.5 串联样式表218
9.6 XML和它的朋友们221
9.7 JavaScript224
9.8 jQuery226
9.9 SVG228
9.10 HTML5228
9.11 JSON228
9.12 本章小结230
第10章 应用程序和系统程序设计231
10.1 猜动物程序版本1:HTML和JavaScript233
10.1.1 应用程序级框架234
10.1.2 Web页面主体235
10.1.3 JavaScript程序236
10.1.4 CSS238
10.2 猜动物程序版本2:C语言239
10.2.1 终端和命令行239
10.2.2 构建程序240
10.2.3 终端和设备驱动程序240
10.2.4 上下文切换240
10.2.5 标准I/O242
10.2.6 循环缓冲区243
10.2.7 通过合适的抽象实现更好的代码244
10.2.8 一些技术细节244
10.2.9 缓冲区溢出245
10.2.10 C语言程序246
10.2.11 训练251
10.3 本章小结252
第11章 捷径和近似法253
11.1 表格查找253
11.1.1 转换253
11.1.2 纹理映射254
11.1.3 字符分类256
11.2 整数方法258
11.2.1 直线261
11.2.2 曲线266
11.2.3 多项式268
11.3 递归细分269
11.3.1 螺旋线269
11.3.2 构造几何学272
11.3.3 移位和屏蔽278
11.4 更多地回避数学运算279
11.4.1 幂级数近似279
11.4.2 CORDIC算法280
11.5 随机事物284
11.5.1 空间填充曲线284
11.5.2 L系统286
11.5.3 随机287
11.5.4 量化288
11.6 本章小结297
第12章 死锁和竞态条件298
12.1 竞态条件是什么298
12.2 共享资源299
12.3 进程和线程299
12.4 锁301
12.4.1 事务和粒度302
12.4.2 等待锁302
12.4.3 死锁303
12.4.4 短期锁的实现303
12.4.5 长期锁的实现304
12.5 浏览器JavaScript304
12.6 异步函数和承诺307
12.7 本章小结311
第13章 安全性312
13.1 安全和隐私概述313
13.1.1 威胁模型313
13.1.2 信任314
13.1.3 物理安全315
13.1.4 通信安全316
13.1.5 现代社会317
13.1.6 元数据和监控318
13.1.7 社会背景319
13.1.8 身份验证与授权320
13.2 密码学321
13.2.1 隐写术321
13.2.2 替代密码322
13.2.3 换位密码324
13.2.4 更复杂的密码325
13.2.5 一次一密325
13.2.6 密钥交换问题326
13.2.7 公钥密码326
13.2.8 前向加密327
13.2.9 加密哈希函数327
13.2.10 数字签名328
13.2.11 公钥基础设施328
13.2.12 区块链328
13.2.13 密码管理329
13.3 软件卫生330
13.3.1 保护好正确的东西330
13.3.2 仔细检查你的逻辑330
13.3.3 检查错误331
13.3.4 最小化攻击面331
13.3.5 待在界内331
13.3.6 生成合适的随机数是有难度的332
13.3.7 了解代码333
13.3.8 极端聪明是你的敌人335
13.3.9 明白什么是可见的335
13.3.10 不要过度收集335
13.3.11 不要一直存储335
13.3.12 动态内存分配不是你的朋友336
13.3.13 内存垃圾回收也不是你的朋友337
13.3.14 数据作为代码338
13.4 本章小结340
第14章 机器智能341
14.1 概述342
14.2 机器学习343
14.2.1 贝叶斯344
14.2.2 高斯345
14.2.3 索贝尔348
14.2.4 Canny351
14.2.5 特征提取352
14.2.6 神经网络354
14.2.7 使用机器学习数据358
14.3 人工智能359
14.4 大数据361
14.5 本章小结363
第15章 现实世界的考虑364
15.1 价值主张364
15.2 来龙去脉366
15.2.1 短暂的历史366
15.2.2 开源软件368
15.2.3 创意共享370
15.2.4 可移植性的兴起370
15.2.5 软件包管理371
15.2.6 容器371
15.2.7 Java371
15.2.8 Node.js373
15.2.9 云计算373
15.2.10 虚拟机373
15.2.11 便携式设备374
15.3 编程环境374
15.3.1 你有工作经验吗374
15.3.2 学会估计374
15.3.3 调度项目375
15.3.4 决策376
15.3.5 与不同个性的人一起工作376
15.3.6 了解职场文化377
15.3.7 做出明智的选择378
15.4 开发方法378
15.5 项目设计379
15.5.1 把想法写下来379
15.5.2 快速原型发展法380
15.5.3 接口设计380
15.5.4 重用代码或编写自己的代码383
15.6 项目开发383
15.6.1 谈话384
15.6.2 成年人与计算机的关系384
15.6.3 终端和脚本384
15.6.4 文本编辑器385
15.6.5 可移植的代码385
15.6.6 源控制386
15.6.7 测试387
15.6.8 bug报告和跟踪387
15.6.9 重构387
15.6.10 维护388
15.7 与时俱进388
15.8 修复,不要再创造389
15.9 本章小结390



---------------------------8055592 - 计算机系统:核心概念及软硬件实现(原书第5版)---------------------------


出版者的话
译者序
前言
第一部分 应用层(第7层)
第1章 计算机系统 2
1.1 抽象层次 2
1.1.1 艺术中的抽象 3
1.1.2 文档中的抽象 4
1.1.3 机构中的抽象 5
1.1.4 机器中的抽象 6
1.1.5 计算机系统中的抽象 6
1.2 硬件 7
1.2.1 中央处理单元 8
1.2.2 主存储器 9
1.2.3 磁盘 10
1.3 软件 11
1.3.1 操作系统 12
1.3.2 软件分析与设计 13
1.4 数字信息 14
1.4.1 空间量化 14
1.4.2 时间量化 16
1.4.3 快速响应码 18
1.4.4 图像 21
1.5 数据库系统 27
1.5.1 关系 27
1.5.2 查询 28
1.5.3 语言结构 30
本章小结 31
练习 32
第二部分 高级语言层(第6层)
第2章 C 36
2.1 变量 36
2.1.1 C编译器 36
2.1.2 机器无关性 37
2.1.3 C的内存模型 37
2.1.4 全局变量和赋值语句 38
2.1.5 局部变量 40
2.2 控制流 42
2.2.1 if/else语句 42
2.2.2 switch语句 43
2.2.3 while循环 44
2.2.4 do循环 44
2.2.5 数组和for循环 45
2.3 函数 46
2.3.1 空函数和传值调用的参数 46
2.3.2 函数的例子 48
2.3.3 传引用调用的参数 48
2.4 递归 51
2.4.1 阶乘函数 52
2.4.2 递归的思考方式 55
2.4.3 递归加法 55
2.4.4 二项式系数函数 57
2.4.5 逆转数组元素顺序 61
2.4.6 汉诺塔 61
2.4.7 相互递归 63
2.4.8 递归的成本 64
2.5 动态内存分配 65
2.5.1 指针 65
2.5.2 结构 67
2.5.3 链式数据结构 68
本章小结 69
练习 70
编程题 71
第三部分 指令集架构层(第3层)
第3章 信息的表示 76
3.1 无符号二进制表示 76
3.1.1 二进制存储 76
3.1.2 整数 77
3.1.3 基数转换 78
3.1.4 无符号整数的范围 80
3.1.5 无符号加法 80
3.1.6 进位位 81
3.2 二进制补码表示 81
3.2.1 补码的表数范围 83
3.2.2 基数转换 84
3.2.3 数轴 85
3.2.4 溢出位 86
3.2.5 负数和零位 87
3.3 二进制运算 88
3.3.1 逻辑运算符 88
3.3.2 寄存器传送语言 89
3.3.3 算术运算符 90
3.3.4 循环移位运算符 91
3.4 十六进制与字符表示 92
3.4.1 十六进制 92
3.4.2 基数转换 92
3.4.3 ASCII字符 94
3.4.4 Unicode字符 97
3.5 浮点数表示 100
3.5.1 二进制小数 100
3.5.2 余码表示 102
3.5.3 隐藏位 103
3.5.4 特殊值 104
3.5.5 IEEE 754浮点数标准 108
3.6 模型 109
本章小结 111
练习 111
编程题 117
第4章 计算机体系结构 120
4.1 硬件 120
4.1.1 中央处理单元 120
4.1.2 主存储器 121
4.1.3 输入/输出设备 122
4.1.4 数据和控制 123
4.1.5 指令格式 123
4.2 直接寻址 126
4.2.1 停止指令 126
4.2.2 字装入指令 126
4.2.3 字存储指令 127
4.2.4 加法指令 128
4.2.5 减法指令 128
4.2.6 与和或指令 129
4.2.7 按位取反和取负指令 130
4.2.8 字节装入和字节存储指令 131
4.2.9 输入和输出设备 132
4.2.10 大端顺序和小端顺序 133
4.3 冯·诺依曼机器 134
4.3.1 冯·诺依曼执行周期 134
4.3.2 一个字符输出程序 135
4.3.3 冯·诺依曼漏洞 138
4.3.4 一个字符输入程序 139
4.3.5 十进制转换为ASCII 139
4.3.6 一个自我修改程序 140
4.4 ISA3层的编程 142
4.4.1 只读存储器 143
4.4.2 Pep/9操作系统 144
4.4.3 使用Pep/9系统 145
本章小结 146
练习 146
编程题 148
第四部分 汇编层(第5层)
第5章 汇编语言 150
5.1 汇编程序 150
5.1.1 指令助记符 150
5.1.2 伪操作 152
5.1.3 .ASCII和.END伪操作 153
5.1.4 汇编器 154
5.1.5 .BLOCK伪操作 155
5.1.6 .WORD和.BYTE伪操作 155
5.1.7 使用Pep/9汇编器 156
5.1.8 交叉汇编器 157
5.2 立即数寻址和陷阱指令 158
5.2.1 立即数寻址 158
5.2.2 DECI、DECO和BR指令 159
5.2.3 STRO指令 161
5.2.4 解释位模式:HEXO指令 162
5.2.5 反汇编器 163
5.3 符号 165
5.3.1 带符号的程序 165
5.3.2 一个冯·诺依曼示例 166
5.4 从HOL6层翻译 168
5.4.1 Printf()函数 169
5.4.2 变量和类型 170
5.4.3 全局变量和赋值语句 171
5.4.4 类型兼容 174
5.4.5 Pep/9符号跟踪器 175
5.4.6 算术移位和循环移位指令 175
5.4.7 常量和.EQUATE 176
5.4.8 指令与数据的放置 178
本章小结 179
练习 180
编程题 182
第6章 编译到汇编层 185
6.1 栈寻址和局部变量 185
6.1.1 栈相对寻址 185
6.1.2 访问运行时栈 186
6.1.3 局部变量 188
6.2 分支指令和控制流 190
6.2.1 翻译if语句 191
6.2.2 优化编译器 192
6.2.3 翻译if/else语句 192
6.2.4 翻译while循环 194
6.2.5 翻译do循环 195
6.2.6 翻译for循环 197
6.2.7 面条代码 198
6.2.8 早期语言的控制流 199
6.2.9 结构化编程定律 200
6.2.10 goto争论 200
6.3 函数调用和参数 201
6.3.1 翻译函数调用 201
6.3.2 用全局变量翻译传值调用参数 204
6.3.3 用局部变量翻译传值调用参数 207
6.3.4 翻译非空函数调用 209
6.3.5 用全局变量翻译传引用调用参数 211
6.3.6 用局部变量翻译传引用调用参数 215
6.3.7 翻译布尔类型 218
6.4 变址寻址和数组 220
6.4.1 翻译全局数组 221
6.4.2 翻译局部数组 224
6.4.3 翻译作为参数传递的数组 226
6.4.4 翻译switch语句 230
6.5 动态内存分配 235
6.5.1 翻译全局指针 235
6.5.2 翻译局部指针 240
6.5.3 翻译结构 243
6.5.4 翻译链式数据结构 246
本章小结 250
练习 251
编程题 251
第7章 语言翻译原理 259
7.1 语言、语法和语法分析 259
7.1.1 连接 260
7.1.2 语言 260
7.1.3 语法 261
7.1.4 C标识符的语法 262
7.1.5 有符号整数的语法 263
7.1.6 上下文相关的语法 264
7.1.7 语法分析问题 264
7.1.8 表达式的语法 265
7.1.9 C语法的一部分 266
7.1.10 C的上下文相关性 269
7.2 有限状态机 270
7.2.1 用有限状态机分析标识符 270
7.2.2 简化的有限状态机 271
7.2.3 非确定性有限状态机 271
7.2.4 具有空转换的状态机 272
7.2.5 多语言符号识别器 274
7.2.6 语法与有限状态机 276
7.3 实现有限状态机 277
7.3.1 编译过程 278
7.3.2 查找表分析器 278
7.3.3 直接编码分析器 280
7.3.4 输入缓冲区类 282
7.3.5 多语言符号分析器 283
7.4 代码生成 288
7.4.1 语言翻译器 288
7.4.2 语法分析器特性 302
本章小结 303
练习 303
编程题 306
第五部分 操作系统(第4层)
第8章 进程管理 312
8.1 装载器 312
8.1.1 Pep/9操作系统 312
8.1.2 Pep/9装载器 314
8.1.3 程序的终止 315
8.2 陷阱 315
8.2.1 陷阱机制 316
8.2.2 RETTR指令 317
8.2.3 陷阱处理程序 317
8.2.4 陷阱寻址方式断言 319
8.2.5 陷阱操作数地址计算 320
8.2.6 空操作陷阱处理程序 323
8.2.7 DECI陷阱处理程序 324
8.2.8 DECO陷阱处理程序 329
8.2.9 HEXO和STRO陷阱处理程序和操作系统向量 332
8.3 并发进程 334
8.3.1 异步中断 334
8.3.2 操作系统中的进程 335
8.3.3 多处理 336
8.3.4 并发处理程序 337
8.3.5 临界区 338
8.3.6 第一次尝试实现互斥 339
8.3.7 第二次尝试实现互斥 339
8.3.8 Peterson互斥算法 340
8.3.9 信号量 342
8.3.10 带信号量的临界区 343
8.4 死锁 343
8.4.1 资源分配图 344
8.4.2 死锁策略 345
本章小结 346
练习 346
编程题 351
第9章 存储管理 353
9.1 内存分配 353
9.1.1 单道程序设计 353
9.1.2 固定分区多道程序设计 354
9.1.3 逻辑地址 355
9.1.4 可变分区多道程序设计 356
9.1.5 分页 359
9.2 虚拟内存 361
9.2.1 大程序的行为 361
9.2.2 虚拟内存 361
9.2.3 按需分页 362
9.2.4 替换页 363
9.2.5 页替换算法 363
9.3 文件管理 365
9.3.1 磁盘驱动器 365
9.3.2 文件抽象 366
9.3.3 分配技术 367
9.4 错误检测与纠错码 369
9.4.1 错误检测码 369
9.4.2 编码要求 370
9.4.3 纠正一位错误编码 372
9.5 RAID存储系统 373
9.5.1 RAID 0级:无冗余条带化 374
9.5.2 RAID 1级:镜像 374
9.5.3 RAID 01和10级:条带化和镜像 375
9.5.4 RAID 2级:内存风格的ECC 376
9.5.5 RAID 3级:位交叉奇偶校验 377
9.5.6 RAID 4级:块交叉奇偶校验 377
9.5.7 RAID 5级:块交叉分布奇偶校验 378
本章小结 379
练习 379
第六部分 逻辑门(第1层)
第10章 组合电路 384
10.1 布尔代数和逻辑门 384
10.1.1 组合电路 385
10.1.2 真值表 385
10.1.3 布尔代数 386
10.1.4 布尔代数定理 387
10.1.5 互补证明 388
10.1.6 逻辑图 389
10.1.7 其他表示方式 391
10.2 组合分析 392
10.2.1 布尔表达式和逻辑图 392
10.2.2 真值表和布尔表达式 393
10.2.3 两级电路 395
10.2.4 无处不在的NAND 397
10.3 组合设计 398
10.3.1 范式 398
10.3.2 三变量卡诺图 399
10.3.3 四变量卡诺图 403
10.3.4 对偶卡诺图 406
10.3.5 无关条件 406
10.4 组合设备 407
10.4.1 视角 407
10.4.2 复用器 408
10.4.3 二进制译码器 409
10.4.4 多路分配器 410
10.4.5 加法器 410
10.4.6 加法器/减法器 412
10.4.7 算术逻辑单元 413
10.4.8 LG1层的抽象 419
本章小结 420
练习 420
第11章 时序电路 426
11.1 锁存器与时钟触发器 426
11.1.1 SR锁存器 426
11.1.2 钟控SR触发器 428
11.1.3 主从SR触发器 429
11.1.4 基本触发器 433
11.1.5 JK触发器 434
11.1.6 D触发器 435
11.1.7 T触发器 436
11.1.8 激励表 437
11.2 时序分析与设计 437
11.2.1 时序分析问题 438
11.2.2 预设置与清除 441
11.2.3 时序设计 441
11.2.4 一个时序设计问题 441
11.3 计算机子系统 444
11.3.1 寄存器 444
11.3.2 总线 445
11.3.3 内存子系统 446
11.3.4 地址译码 449
11.3.5 双端口寄存器组 453
本章小结 455
练习 455
第七部分 微代码(第2层)
第12章 计算机组成 460
12.1 构建一个ISA3层机器 460
12.1.1 CPU数据区 460
12.1.2 冯·诺依曼周期 463
12.1.3 存储字节直接寻址指令 467
12.1.4 总线协议 468
12.1.5 存储字直接寻址指令 468
12.1.6 加法立即数寻址指令 469
12.1.7 装入字间接寻址指令 470
12.1.8 算术右移指令 473
12.1.9 CPU控制区 474
12.2 性能 476
12.2.1 数据总线宽度和内存对齐 476
12.2.2 内存对齐 480
12.2.3 n位计算机的定义 483
12.2.4 高速缓存 484
12.2.5 系统性能公式 490
12.2.6 RISC与CISC 491
12.3 MIPS机器 494
12.3.1 寄存器组 494
12.3.2 寻址方式 495
12.3.3 指令集 498
12.3.4 MIPS的计算机组成 501
12.3.5 流水线 505
12.4 结论 512
12.4.1 模型简化 512
12.4.2 全局架构 513
本章小结 514
练习 514
编程题 517
附录 Pep/9体系结构 519
部分练习参考答案 529
索引 543

推荐

车牌查询
桂ICP备20004708号-3