全新正版书籍,24小时发货,可开发票。
¥ 369 5.3折 ¥ 698 全新
库存26件
作者冬瓜哥
出版社清华大学出版社
ISBN9787302526476
出版时间2020-10
装帧平装
开本16开
定价698元
货号29141473
上书时间2024-12-28
前 言
各位读者朋友,欢迎阅读本书,开启计算机内部奇妙世界的旅程。本书完全从零开始介绍计算机是如何运行的,从基本的电路一直介绍到操作系统内核再到机器学习与人工智能。但是本书并不会像大众科普读物那样点到为止,而是要层层剥开计算机体系中的每一层,一直到看透为止,达到从入门到精通的效果。
本书特点如下。
1. 从初学者角度出发,看了不迷茫、不撕书、不会骂作者(我也不想被人骂)。
2. 介绍事物庖丁解牛,轻易不留“坑”,不得已留了则必填。
3. 带着思考来写作,促发读者思考;问题导向,带着解决问题过程来写。
4. 事物之间带有前因后果关联,而不是孤立地介绍,整本书从页到后一页有一条清晰的因果脉络。
5. 全局框架和局部细节兼顾,大而全,深而细,就像一部精美的游戏,宏观场景震撼,局部细节惊艳!
6. 覆盖面极广,涵盖多个领域关键知识:数字电路、模拟电路、计算机体系结构、计算机组成原理、操作系统原理、计算机图形学、高性能计算机集群/超级计算机、信号与系统、存储系统、网络/通信系统、机器学习与人工智能等。
7. 随便点选任何一页的任何一段,都是精彩和拥有丰富细节的内容。
8. 注重大框架的建立,让读者阅后成竹在胸。
9. 便于自学,看文字就像是在聆听作者当面讲授。
10. 图片细节丰富,带有事物运行的流程,其过程是动态的而不是静态的。
具有高中以上学历者就可以阅读本书。本书可作为家长赠予正值高中阶段孩子的礼物,或许能够让他们不再在网游中虚度光阴。本书也可以作为高中、技校、大学、科研院所的教材或教学参考书。当然,本书也非常适合于正在或者即将从事IT领域工作的广大工程师、架构师、开发人员、项目管理人员、运维/系统/网络管理员、销售/售前/售后人员等阅读。
在此,冬瓜哥郑重建议读者们从头阅读本书,而好不要跳跃式阅读,因为本书与传统写作方式不同。本书的内容一脉相承,前面内容是后面内容的铺垫,这种符合事物发展规律的脉络式写作方式,就像小说中的剧情一样,要从头看才能体会出其中更深刻的含义和精髓。
比如,在第1章中,冬瓜哥会回答“计算机如何计算1 1=2”这个问题,并带领大家制作一个能够进行基本数学运算的示意计算器。在制作过程中,会遇到各种困难和问题,并终一一解决。在解决的过程中,读者将会感受到数字电路的精妙之处,对数字电路的运行产生深刻认知,并终迫切地要求:为何不制作一个能够按照指令自动进行累积计算的计算器呢?于是便开启了CPU之旅,进入第2章。至于后面的剧情如何跌宕起伏、宏伟壮观,就等待读者自己去体会吧!在本书的写作过程中得到了各路江湖豪杰的帮助,在此鄙人由衷表示感谢。
首先要感谢PMC-Sierra(后被Microsemi收购,Microsemi又被Microchip收购)公司,进入该公司让我得以从更深的层面了解了计算机底层的各种技术。感谢我的导师前PMC-Sierra公司Fellow廖恒博士对鄙人的指导和引领。
其次要感谢前同事汪利文以及深圳市科力锐科技有限公司创始人之一张勇(@VxD),这两位大侠在本书写作过程中向鄙人提供了关键的、长时间的、颇具耐心的帮助,在一些深奥问题上,他们忍受了鄙人长期的刨根问底,有些问题他们无法现场回答,便亲自考证研究、研读源代码,并终得出结论。我想,只有具有同样钻研精神的人才会这样做。其中年长鄙人7岁的汪兄是老骥伏枥的典范,他逾越了年龄的壁垒在各种前沿技术领域长期潜心研究,是不可多得的人才。在表示感谢的同时,也对这两位大侠表示钦佩和崇敬!或许正是因为这些前辈们深知学习过程的不易,才会如此耐心的帮助鄙人。还要感谢网友@三郎在模拟电子技术方面予以的指导。感谢网友@Perr、@钓客、@Reborn、@抠出式linux、@Linux入门等群友的帮助,他们的帮助大大加速了本书第10章的写作进程。
还要感谢网友@去流浪、@豆包、张一中对鄙人相关知识的点拨。感谢中科院计算所的包云岗老师,以及时任阿里云高性能计算负责人、中国计算机学会理事的何万青老师的帮助。感谢@破布、@子濠两位同学在处理器体系结构方面的点拨。感谢中存超为的沈杰在数字电路底层方面对鄙人的点拨。感谢刘羽、黄家明两位大侠分别在MPI编程、BIOS/ACPI方面对鄙人的点拨。感谢刘震在模拟电子和PCB设计制造方面相关知识的点拨。感谢光子算数(北京)有限责任公司的白冰博士在模拟光学计算方面的知识传授。
还要再次感谢导师廖恒博士在本书即将完成时为我开启了一道新的大门并作为指路人,这直接导致本书第12 章在一个半月的时间内的速成,这也了却了我长期的一桩心愿,同时也顺带解决了之前长期困扰我的关于信号均衡器底层原理的问题,我那时候根本不知道信号均衡器中的权重其实也是通过训练来得出的,之前一直卡在“每个Tap 的权重到底是怎么确定的”这个问题上出不来,也浪费了很多时间去追踪。在本章写作期间,感谢蔡卫光、王海彬、雷霆、蒋传遐四位大侠在机器学习的上层框架、加速器架构方面提供的帮助。后,感谢本书编辑也是我的老朋友栾大成以及清华大学出版社参与本书出版的全体工作人员的努力,以精湛、迅速、高效的出版技术和流程控制为本书打造了优秀的展现,并终促其诞生。由于冬瓜哥是一个半路出家的门外汉,书中定有不少自以为是、飘飘然、不知所云、混淆、错误、含糊不清之处,迫切希望各位读者能够指出这些错误,再版时一并修正。
本书的部分图片来自于互联网,原始出处不详,如有侵权,请通过下列方式联系作者。本书极个别图片包含英文注释,未作完整翻译的图片都是示意图,不看注释即可了解图片意图,保留英文注释是为了给有能力的朋友们刨根问底,请读者体谅,如有疑问,请到冬瓜哥公众号交流。
此外,冬瓜哥也为广大读者创建了《大话计算机》书友会QQ群:361934810 。大家可以加入本群畅所欲言,共同提高。
现代计算机系统的软硬件架构十分复杂,是所有IT相关技术的根源。本书尝试从原始的零认知状态开始,逐
步从*基础的数字电路一直介绍到计算机操作系统以及人工智能。本书用通俗的语言、恰到好处的疑问、符合原生
态认知思维的切入点,来帮助读者洞悉整个计算机底层世界。本书在写作上遵循“先介绍原因,后思考,然后介绍
解决方案,*终提炼抽象成概念”的原则。全书脉络清晰,带领读者重走作者的认知之路。本书集科普、专业为一
体,用通俗详尽的语言、图表、模型来描述专业知识。
本书内容涵盖以下学科领域:计算机体系结构、计算机组成原理、计算机操作系统原理、计算机图形学、高性
能计算机集群、计算加速、计算机存储系统、计算机网络、机器学习等。
本书共分为12章。第1章介绍数字计算机的设计思路,制作一个按键计算器,在这个过程中逐步理解数字计
算机底层原理。第2章在第1章的基础上,改造按键计算器,实现能够按照编好的程序自动计算,并介绍对应的处
理器内部架构概念。第3章介绍电子计算机的发展史,包括芯片制造等内容。第4章介绍流水线相关知识,包括流
水线、分支预测、乱序执行、超标量等内容。第5章介绍计算机程序架构,理解单个、多个程序如何在处理器上编
译、链接并*终运行的过程。第6章介绍缓存以及多处理器并行执行系统的体系结构,包括互联架构、缓存一致性
架构的原理和实现。第7章介绍计算机I/O基本原理,包括PCIE、USB、SAS三大I/O体系。第8章介绍计算机
是如何处理声音和图像的,包括3D渲染和图形加速原理架构和实现。第9章介绍大规模并行计算、超级计算机原
理和架构,以及可编程逻辑器件(如FPGA等)的原理和架构。第10章介绍现代计算机操作系统基本原理和架构,
包括内存管理、任务调度、中断管理、时间管理等架构原理。第11章介绍现代计算机形态和生态体系,包括计算、
网络、存储方面的实际计算机产品和生态。第12章介绍机器学习和人工智能底层原理和架构实现。
本书适合所有IT行业从业者阅读,包括计算机(PC/服务器/手机/嵌入式)软硬件及云计算/大数据/人工
智能等领域的研发、架构师、项目经理、产品经理、销售、售前。本书也同样适合广大高中生科普之用,另外计算
机相关专业本科生、硕士生、博士生同样可以从本书中获取与课程教材截然不同的丰富营养。
冬瓜哥(张冬),现任某半导体公司系统架构师,喜钻研,著有《大话存储》系列图书。
开篇 苦想计算机——以使用者的名义
第1章 电控开关——计算机世界的基石
1.1 十余年的迷惑 4
1.2 从1 1=2说起 4
1.2.1 用电路实现1 1=2 6
1.2.2 或门 6
1.2.3 与门 7
1.2.4 非门和与非门 7
1.2.5 异或门 7
1.2.6 1位加法器 8
1.2.7 全手动1位加法机 10
1.2.8 实现多位加法器 10
1.2.9 电路的时延 13
1.2.10 新世界的新规律 13
1.2.11 先行/并行进位 14
1.2.12 电路化简和变换 15
1.3 我们需要真正可用的计算器 16
1.3.1 产生记忆 17
1.3.2 解决按键问题 18
1.3.3 数学的懵懂 22
1.3.4 次理解数学 25
1.3.5 次理解语义 27
1.3.6 七段显示数码管 30
1.3.7 野路子乘法器 31
1.3.8 科班乘法器 35
1.3.9 数据交换器Crossbar 36
1.3.10 多媒体声光按键转码器 39
1.3.11 次驾驭时间 41
1.4 信息与信号 44
1.4.1 录制和回放 44
1.4.2 振动和信号 49
1.4.3 低通滤波 52
1.4.4 高通滤波 56
1.4.5 带通滤波 59
1.4.6 带阻滤波 59
1.4.7 傅里叶变换 59
1.4.8 波动与电磁波 60
1.4.9 载波、调制与频分复用 62
1.5 完整的计算器 68
1.5.1 用时序控制增强用户体验 69
1.5.2 用MUX来实现Crossbar 71
1.5.3 奇妙的FIFO队列 73
1.5.4 同步/异步FIFO 76
1.5.5 全局共享FIFO 77
1.5.6 多路仲裁 78
1.5.7 交换矩阵 79
1.5.8 时序问题的产生与触发器 84
1.5.9 擒纵机构与触发器 86
1.5.10 擒纵机构与晶振 87
1.5.11 Serdes与MUX/DEMUX 90
1.5.12 计算离不开数据传递 90
1.5.13 几个专业概念的由来 91
1.5.13.1 输入设备 91
1.5.13.2 输出设备 91
1.5.13.3 计算单元/运算器 91
1.5.13.4 控制单元和传递通路 91
1.5.13.5 反馈 91
1.5.13.6 运算/计算 94
1.5.13.7 数据通路和控制通路 94
1.5.13.8 组合逻辑和时序逻辑 94
1.5.13.9 寄存器/ Latch/触发器/锁存器 94
1.5.13.10 存储器 94
1.5.13.11 地址/指针 95
1.5.13.12 写使能信号 95
1.6 多功能计算器 95
算术逻辑单元 96
第2章 解脱人手——程序控制计算机
2.1 从累积计算说起 98
2.2 自动执行 101
2.2.1 将操作方式的描述转化为指令 102
2.2.2 实现那只鱿鱼——控制通路及部件 104
2.2.3 动起来吧!——时序通路及部件 108
2.2.4 半自动执行!——你得推着它跑 112
2.2.5 全自动受控执行!——不用扬鞭自奋蹄! 113
2.2.6 NOOP指令 115
2.2.7 利用边沿型触发器搭建电路 116
2.2.8 分步图解指令的执行过程 121
2.2.9 判断和跳转 123
2.2.10 再见,章鱼先生! 126
2.3 更高效的执行程序 128
2.3.1 利用循环缩减程序尺寸 128
2.3.2 实现更多方便的指令 131
2.3.3 多时钟周期指令 133
2.3.4 微指令和微码 136
2.3.5 全局地址空间 138
2.3.6 多端口存储器 138
2.3.7 多级缓存与CPU 139
2.3.8 数据遍布各处 142
2.3.9 降低数据操作粒度 145
2.3.10 取指令/数据缓冲加速 147
第3章 开关的进化——从机械到芯片
3.1 从薄铁片到机械计算机 150
3.1.1 算盘和计算尺 150
3.1.2 不可编程手动机械十进制计算机 151
3.1.3 可编程自动机械十进制计算机 152
3.1.4 可编程自动电动机械二进制计算机 156
3.1.5 可编程自动全电动二进制计算机 162
3.2 电子管时代 166
3.2.1 二极电子管 166
3.2.2 三极电子管 170
3.2.3 AM广播革命 172
3.2.4 电子管计算机 174
3.2.5 石头会唱歌 177
3.3 固态革命——晶体管 179
3.3.1 P/N结与晶体管 181
3.3.2 场效应管(FET) 183
3.3.3 MOSFET 185
3.3.4 cMOS 186
3.3.5 晶体管计算机 187
3.4 制造工艺革命——集成电路 190
3.4.1 量产晶体管 190
3.4.2 跟冬瓜哥学做P/N结蛋糕 192
3.4.3 提升集成度 196
3.4.4 芯片内的深邃世界 197
3.4.5 cMOS集成电路工艺概述 200
3.4.6 cMOS工艺步骤概述 203
3.4.7 cMOS工艺详细步骤 206
3.4.7.1 热氧化 207
3.4.7.2 氮化硅积淀 207
3.4.7.3 浅槽隔离蚀刻 208
3.4.7.4 pMOS和nMOS生成 209
3.4.7.5 触点电极的生成 213
3.4.7.6 通孔和支撑柱(via)的生成 214
3.4.7.7 层导线连接 216
3.4.7.8 第二层导线连接 216
3.4.7.9 表面钝化 217
3.4.8 半导体工艺的瓶颈 220
3.4.8.1 寄生电容 220
3.4.8.2 静态/动态功耗 221
3.4.8.3 栅氧厚度和High-K材料 222
3.4.8.4 导线连接和Low-K材料 222
3.4.8.5 驱动能力及时延 222
3.4.8.6 时钟树 224
3.4.9 集成电路计算机 224
3.4.10 微处理器计算机 227
3.4.11 暴力拆解奔三CPU 230
3.5 存储器:不得不说的故事 232
3.5.1 机械存储器 233
3.5.1.1 声波/扭力波延迟线(Delay Line) 233
3.5.1.2 磁鼓存储器(Drum) 234
3.5.1.3 磁芯存储器(Core) 235
3.5.2 电子存储器 238
3.5.2.1 静态随机存储器(SRAM) 238
3.5.2.2 动态随机存储器(DRAM) 241
3.5.2.3 Flash闪存 246
3.5.2.4 只读存储器(ROM) 248
3.5.3 光存储器 248
3.5.3.1 光盘是如何存储数据的 248
3.5.3.2 压盘与刻盘的区别 250
3.5.3.3 光盘表面微观结构 250
3.5.3.4 多层记录 251
3.5.3.5 激光头的秘密 251
3.5.3.6 蓝光光盘简介 252
3.5.4 不同器件担任不同角色 253
3.5.4.1 寄存器和缓存 253
3.5.4.2 主运行内存/主存 253
3.5.4.3 Scratchpad RAM 254
3.5.4.4 内容寻址内存CAM/TCAM 254
3.5.4.5 外存 257
第4章 电路执行过程的进化——流水线、分支预测、乱序执行与多发射
4.1 大话流水线 260
4.1.1 不高兴的译码器 260
4.1.2 思索流水线 263
4.1.2.1 流水线的本质是并发 263
4.1.2.2 不同时延的步骤混杂 264
4.1.2.3 大话队列 266
4.1.2.4 流水线的应用及优化 268
4.2 优化流水线 270
4.2.1 拆分慢速步骤 270
4.2.2 放置多份慢速部分 272
4.2.3 加入缓冲队列 273
4.2.4 图解五级流水线指令执行过程 273
4.3 流水线冒险 273
4.3.1 访问冲突与流水线阻塞 278
4.3.2 数据依赖与数据前递 281
4.3.3 跳转冒险与分支预测 285
4.4 指令的动态调度 293
4.4.1 结构相关与寄存器重命名 293
4.4.2 保留站与乱序执行 295
4.4.3 分步图解乱序执行 297
4.4.4 重排序缓冲与指令顺序提交 319
4.5 物理并行执行 320
4.5.1 超标量和多发射 320
4.5.2 VLIW超长指令字 322
4.5.3 SIMD单指令多数据 322
4.6 小结 326
第5章 程序世界——从机器码到操作系统
5.1 基本的数据结构 330
5.1.1 数组 330
5.1.2 数据类型与ASCII码 331
5.1.3 结构体 333
5.1.4 数据怎么摆放很重要 333
5.2 高级语言 335
5.2.1 简单的声明和赋值 335
5.2.2 编译和编译器 336
5.2.3 向编译
— 没有更多了 —
以下为对购买帮助不大的评价