章节目录
出版者的话 译者序 前言 第0章读者指南1 0.1本书概要1 0.2导读1 0.3为何要学习计算机组成和体系结构1 0.4因特网与Web资源2 0.4.1本书的Web站点2 0.4.2其他Web站点3 0.4.3USENET新闻组3 第一部分概论 第1章导论6 1.1计算机组成与体系结构6 1.2结构和功能7 1.2.1功能7 1.2.2结构8 1.3关键词和思考题9 第2章计算机的演变和性能10 2.1计算机简史10 2.1.1第一代:真空管10 2.1.2第二代:晶体管15 2.1.3第三代:集成电路16 2.1.4后续几代20 2.2性能设计22 2.2.1微处理器的速度23 2.2.2性能平衡23 2.2.3芯片组成和体系结构的改进25 2.3Intel x86体系结构的进展26 2.4嵌入式系统和ARM27 2.4.1嵌入式系统27 2.4.2ARM的进展29 2.5性能评价30 2.5.1时钟速度和每秒指令数30 2.5.2基准程序32 2.5.3阿姆达尔定律34 2.6推荐的读物和Web站点35 2.7关键词、思考题和习题36 第二部分计算机系统 第3章计算机功能和互连的顶层视图42 3.1计算机的部件42 3.2计算机的功能44 3.2.1指令的读取和执行44 3.2.2中断46 3.2.3I/O功能51 3.3互连结构51 3.4总线互连52 3.4.1总线结构52 3.4.2多总线层次结构54 3.4.3总线的设计要素55 3.5PCI58 3.5.1总线结构58 3.5.2PCI命令61 3.5.3数据传送62 3.5.4仲裁63 3.6推荐的读物和Web站点64 3.7关键词、思考题和习题64 附录3A时序图67 第4章cache存储器69 4.1计算机存储系统概述69 4.1.1存储系统的特性69 4.1.2存储器层次结构71 4.2cache存储器原理73 4.3cache的设计要素75 4.3.1cache地址75 4.3.2cache容量76 4.3.3映射功能77 4.3.4替换算法85 4.3.5写策略85 4.3.6行大小86 4.3.7cache数目86 4.4Pentium 4的cache组织88 4.5ARM的cache组织90 4.6推荐的读物91 4.7关键词、思考题和习题91 附录4A两级存储器的性能特点95 第5章内部存储器100 5.1半导体主存储器100 5.1.1组织100 5.1.2DRAM和SRAM100 5.1.3ROM类型102 5.1.4芯片逻辑103 5.1.5芯片封装104 5.1.6模块组织105 5.1.7多体交叉存储器106 5.2纠错107 5.3高级DRAM组织110 5.3.1同步DRAM111 5.3.2Rambus DRAM112 5.3.3DDR DRAM113 5.3.4cache DRAM114 5.4推荐的读物和Web站点114 5.5关键词、思考题和习题115 第6章外部存储器118 6.1磁盘118 6.1.1磁读写机制118 6.1.2数据组织和格式化119 6.1.3物理特性121 6.1.4磁盘性能参数122 6.2RAID124 6.2.1RAID 0级125 6.2.2RAID 1级128 6.2.3RAID 2级128 6.2.4RAID 3级128 6.2.5RAID 4级129 6.2.6RAID 5级130 6.2.7RAID 6级130 6.3光存储器131 6.3.1光盘131 6.3.2数字多功能光盘133 6.3.3高清晰光盘134 6.4磁带135 6.5推荐的读物和Web站点136 6.6关键词、思考题和习题137 第7章输入/输出140 7.1外部设备140 7.1.1键盘/监视器141 7.1.2磁盘驱动器142 7.2I/O模块142 7.2.1模块功能142 7.2.2I/O模块结构143 7.3编程式I/O143 7.3.1编程式I/O概述144 7.3.2I/O命令144 7.3.3I/O指令144 7.4中断驱动式I/O146 7.4.1中断处理146 7.4.2设计问题148 7.4.3Intel 82C59A中断控制器149 7.4.4Intel 82C55A可编程外部接口150 7.5直接存储器存取151 7.5.1编程式I/O和中断驱动式I/O的缺点151 7.5.2DMA功能151 7.5.3Intel 8237A DMA控制器153 7.6I/O通道和处理器155 7.6.1I/O功能的演变155 7.6.2I/O通道的特点155 7.7外部接口:FireWire和InfiniBand156 7.7.1接口类型156 7.7.2点对点和多点配置156 7.7.3FireWire串行总线157 7.7.4InfiniBand159 7.8推荐的读物和Web站点162 7.9关键词、思考题和习题162 第8章操作系统支持166 8.1操作系统概述166 8.1.1操作系统的目标与功能166 8.1.2操作系统的类型168 8.2调度173 8.2.1长期调度173 8.2.2中期调度173 8.2.3短期调度173 8.3存储器管理176 8.3.1交换177 8.3.2分区177 8.3.3分页179 8.3.4虚拟存储器180 8.3.5快表182 8.3.6分段183 8.4Pentium存储器管理184 8.4.1地址空间184 8.4.2分段184 8.4.3分页186 8.5ARM存储器管理187 8.5.1存储器系统组织187 8.5.2虚拟存储器地址转换187 8.5.3存储器管理格式189 8.5.4存取控制190 8.6推荐的读物和Web站点191 8.7关键词、思考题和习题191 第三部分中央处理器 第9章计算机算术196 9.1算术逻辑单元196 9.2整数表示196 9.2.1符号-幅值表示法197 9.2.22的补码表示法197 9.2.3不同位长间的转换199 9.2.4定点表示法200 9.3整数算术200 9.3.1取负200 9.3.2加法和减法201 9.3.3乘法203 9.3.4除法207 9.4浮点表示208 9.4.1原理208 9.4.2二进制浮点表示的IEEE标准211 9.5浮点算术212 9.5.1浮点加法和减法213 9.5.2浮点乘法和除法214 9.5.3精度考虑215 9.5.4二进制浮点算术的IEEE标准216 9.6推荐的读物和Web站点218 9.7关键词、思考题和习题219 第10章指令集:特征和功能222 10.1机器指令特征222 10.1.1机器指令要素222 10.1.2指令表示223 10.1.3指令类型224 10.1.4地址数目225 10.1.5指令集设计226 10.2操作数类型226 10.2.1数值227 10.2.2字符227 10.2.3逻辑数据228 10.3Intel x86和ARM数据类型228 10.3.1x86数据类型228 10.3.2ARM数据类型229 10.4操作类型230 10.4.1数据传送232 10.4.2算术运算233 10.4.3逻辑运算233 10.4.4转换234 10.4.5输入/输出235 10.4.6系统控制235 10.4.7控制转移235 10.5Intel x86和ARM操作类型238 10.5.1x86操作类型238 10.5.2ARM操作类型244 10.6推荐的读物246 10.7关键词、思考题和习题246 附录10A栈250 附录10B小端、大端和双端253 第11章指令集:寻址方式和指令格式256 11.1寻址方式256 11.1.1立即寻址257 11.1.2直接寻址257 11.1.3间接寻址257 11.1.4寄存器寻址258 11.1.5寄存器间接寻址258 11.1.6偏移寻址258 11.1.7栈寻址260 11.2x86和ARM寻址方式260 11.2.1x86寻址方式260 11.2.2ARM寻址方式262 11.3指令格式264 11.3.1指令长度264 11.3.2位的分配265 11.3.3变长指令267 11.4x86和ARM指令格式269 11.4.1x86指令格式269 11.4.2ARM指令格式271 11.5汇编语言272 11.6推荐的读物274 11.7关键词、思考题和习题274 第12章CPU结构和功能277 12.1CPU组成277 12.2寄存器组成278 12.2.1用户可见寄存器278 12.2.2控制和状态寄存器280 12.2.3微处理器寄存器组成的例子281 12.3指令周期282 12.3.1间接周期282 12.3.2数据流283 12.4指令流水线技术283 12.4.1流水线策略284 12.4.2流水线性能286 12.4.3流水线冒险288 12.4.4处理分支指令289 12.4.5Intel 80486的流水线292 12.5x86系列处理器293 12.5.1寄存器组成294 12.5.2中断处理298 12.6ARM处理器299 12.6.1处理器组成300 12.6.2处理器模式301 12.6.3寄存器组成301 12.6.4中断处理303 12.7推荐的读物304 12.8关键词、思考题和习题304 第13章精简指令集计算机308 13.1指令执行特征309 13.1.1操作309 13.1.2操作数310 13.1.3过程调用311 13.1.4推论311 13.2大寄存器组方案的使用311 13.2.1寄存器窗口312 13.2.2全局变量313 13.2.3大寄存器组与高速缓存的对比313 13.3基于编译器的寄存器优化314 13.4精简指令集体系结构315 13.4.1采用CISC的理由315 13.4.2精简指令集体系结构特征317 13.4.3CISC与RISC特征对比318 13.5RISC流水线技术319 13.5.1使用规整指令的流水线技术319 13.5.2流水线的优化320 13.6MIPS R4000322 13.6.1指令集322 13.6.2指令流水线324 13.7SPARC327 13.7.1SPARC寄存器组327 13.7.2指令集328 13.7.3指令格式329 13.8RISC与CISC的争论330 13.9推荐的读物331 13.10关键词、思考题和习题331 第14章指令级并行性和超标量处理器335 14.1概述335 14.1.1超标量与超级流水线的对比336 14.1.2限制337 14.2设计考虑338 14.2.1指令级并行性和机器并行性338 14.2.2指令发射策略339 14.2.3寄存器重命名341 14.2.4机器并行性342 14.2.5分支预测342 14.2.6超标量执行343 14.2.7超标量实现343 14.3Pentium 4343 14.3.1前端347 14.3.2乱序执行逻辑348 14.3.3整数和浮点执行单元349 14.4ARM CORTEXA8349 14.4.1指令取指单元349 14.4.2指令译码单元351 14.4.3整数执行单元353 14.4.4SIMD和浮点流水线354 14.5推荐的读物355 14.6关键词、思考题和习题356 第四部分控制器 第15章控制器操作362 15.1微操作362 15.1.1取指周期363 15.1.2间接周期364 15.1.3中断周期365 15.1.4执行周期365 15.1.5指令周期366 15.2处理器控制367 15.2.1功能需求367 15.2.2控制信号367 15.2.3控制信号举例368 15.2.4处理器内部的组织369 15.2.5Intel 8085370 15.3硬布线实现373 15.3.1控制器输入373 15.3.2控制器逻辑374 15.4推荐的读物374 15.5关键词、思考题和习题375 第16章微程序控制376 16.1基本概念376 16.1.1微指令376 16.1.2微程序控制器378 16.1.3Wilkes控制379 16.1.4优缺点382 16.2微指令定序382 16.2.1设计考虑382 16.2.2定序技术382 16.2.3地址生成384 16.2.4LSI11微指令定序384 16.3微指令执行385 16.3.1微指令的分类法385 16.3.2微指令编码387 16.3.3LSI11微指令执行388 16.3.4IBM 3033微指令执行390 16.4TI 8800391 16.4.1微指令格式391 16.4.2微定序器393 16.4.3寄存器式ALU395 16.5推荐的读物397 16.6关键词、思考题和习题397 第五部分并 行 组 织 第17章并行处理400 17.1多处理器组织401 17.1.1并行处理器系统的类型401 17.1.2并行组织402 17.2对称多处理器402 17.2.1组织403 17.2.2多处理器操作系统设计考虑405 17.2.3大型机SMP405 17.3cache一致性和MESI协议407 17.3.1软件解决方案408 17.3.2硬件解决方案408 17.3.3MESI协议409 17.4多线程和片上多处理器411 17.4.1隐式和显式多线程412 17.4.2显式多线程的方式413 17.4.3示例系统415 17.5集群416 17.5.1集群配置417 17.5.2操作系统设计问题418 17.5.3集群计算机体系结构419 17.5.4刀片服务器420 17.5.5集群与SMP的对比421 17.6非均匀存储器访问421 17.6.1动机421 17.6.2组织422 17.6.3NUMA的优缺点423 17.7向量计算424 17.7.1向量计算的方法424 17.7.2IBM 3090向量机制427 17.8推荐的读物和Web站点432 17.9关键词、思考题和习题433 第18章多核计算机437 18.1硬件性能问题437 18.1.1增加并行437 18.1.2功耗439 18.2软件性能问题440 18.2.1多核软件440 18.2.2应用实例:Valve游戏软件441 18.3多核组织结构442 18.4Intel x86多核结构443 18.4.1Intel Core Duo443 18.4.2Intel Core i7445 18.5ARM11 MPCore445 18.5.1中断处理446 18.5.2cache一致性448 18.6推荐的读物和Web站点448 18.7关键词、思考题和习题449 附录A计算机组成与体系结构的教学课题451 附录B汇编语言及相关主题455 术语表473 参考文献480
内容简介
本书是介绍当代计算机体系主流技术和最新技术的优秀教材,以Intel x86和ARM两个处理器系列为例,深入讨论了计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题中。 自第7版出版以来,计算机组成与体系结构领域又有了不少革新和进展。第8版坚持全面覆盖整个领域,并在此基础上尽量跟上新技术的步伐。 新增内容 交互式模拟工具:提供了20个基于Web的交互式模拟工具,为理解现代处理器的复杂机制提供了有力的支持。 嵌入式处理器:以ARM体系结构为例,介绍嵌入式处理器以及它们提供的独特的设计问题。 多核处理器:阐述计算机体系结构最流行的新进展——单个芯片上多处理器的使用。 高速缓存:对高速缓存内容进行了全面的修订、更新和扩充,涵盖了更宽泛的技术领域。 性能评估:扩充了对性能评估的讨论,增加了对基准程序和阿姆达尔定律的分析。 汇编语言:增加了一个关于汇编语言和汇编器的新附录。
下载说明
1、计算机组成与体系结构:性能设计(原书第8版)是作者(美)William Stallings创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!