作品简介

处理器是IT、通信、电子产业的基石,没有处理器,信息产业大厦就如同建立在沙滩之上。《大话处理器》是一本图文并茂、生动幽默的处理器科普读本,全书行文风趣幽默,用类比来解释晦涩的技术,用图画来代替枯燥的文字。本着科技以人为本的理念,除了技术外,还介绍了大量人物和公司的故事,供大家闲读。《大话处理器》的主要读者是IT、通信、电子、半导体行业的从业人员以及学生。喜欢技术的看技术,不喜欢技术的看故事。

万木杨,网名木兮清扬,华为公司服务近6年,曾任软件工程师、算法工程师、系统工程师,擅长多媒体算法设计和编写高效代码。自2004年起开始研究多媒体算法,从语音识别,到人脸动画,再到视频编解码,足迹遍布语音、图像、视频、3D。自2006年在DSP上编写程序,从此开始深入研究处理器内部结构,后来接触过大量的半导体公司和处理器芯片,对处理器技术和产品有着深刻的理解。

作品目录

  • 序一 寻宝处理器的引人入胜之旅
  • 序二
  • 序三 处理器——半导体巅峰,纵横四十年
  • 前言
  • 第1章 漫游计算机世界
  • 1.1 计算机的前世、今生、来世
  • 1.1.1 计算机的诞生
  • 1.1.2 从军用到民用——飞入寻常百姓家
  • 1.1.3 个人计算机时代——英雄辈出的时代
  • 1.1.4 手机——装在口袋的计算机
  • 1.1.5 无处不在的计算机
  • 1.1.6 计算机的来世
  • 1.2 计算机分门别类
  • 1.3 PC机结构探秘
  • 1.3.1 处理器——一颗奔腾的心
  • 1.3.2 存储器——大肚能容,容天下难容之事
  • 1.3.3 主板与芯片组——架起沟通的桥梁
  • 1.3.4 输入设备——五觉
  • 1.3.5 显示设备——脸面
  • 1.3.6 显卡——我贵,因为我专业
  • 1.3.7 通信接口——关节
  • 1.3.8 软件——计算机的灵魂
  • 1.3.9 计算机产业发展态势
  • 第2章 初识处理器——掀起你的盖头来
  • 2.1 处理器是怎样工作的——处理器的硬件模型
  • 2.1.1 硬连线电路——一定终身
  • 2.1.2 通用计算机模型——硬件搭台,软件唱戏
  • 2.2 怎样来使用处理器——处理器的编程模型
  • 2.2.1 软硬不分
  • 2.2.2 ISA横插一刀
  • 2.3 处理器的分层模型
  • 2.4 选什么样的处理器——适合的才是最好的
  • 2.4.1 硬件指标——硬实力的竞争
  • 2.4.2 软件指标——软实力的竞争
  • 2.4.3 商业指标——在商言商
  • 第3章 指令集体系结构——处理器的外表
  • 3.1 指令集是什么
  • 3.1.1 从处理器编程模型谈起——一切从模型开始
  • 3.1.2 计算机语言——人与计算机沟通的桥梁
  • 3.2 指令集发展的来龙去脉
  • 3.2.1 CISC时代——粗放式扩张
  • 3.2.2 RISC时代——优化配置资源,合理提升效率
  • 3.2.3 后RISC时代——不管黑猫白猫,抓到老鼠就是好猫
  • 3.3 指令集的五朵金花
  • 3.3.1 x86——硕大的大象
  • 3.3.2 ARM——稳扎稳打的蚁群
  • 3.3.3 MIPS——优雅的孔雀
  • 3.3.4 Power——昔日的贵族
  • 3.3.5 C6000——偏安一隅的独立王国
  • 3.3.6 至今仍在服役的元老们
  • 3.4 地盘之争
  • 3.4.1 地盘划分
  • 3.4.2 x86、ARM之战
  • 3.4.3 ARM、MIPS之战
  • 3.5 汇编语言格式——没有规矩不成方圆
  • 3.5.1 机器字长
  • 3.5.2 操作数个数
  • 3.5.3 操作数顺序
  • 3.5.4 大小端——小问题,大折腾
  • 3.5.5 指令类型——我们需要哪些指令
  • 3.5.6 寻址方式——千万里,我追寻着你
  • 3.5.7 总结
  • 第4章 微架构——处理器的内心世界
  • 4.1 跟着顺溜学流水线
  • 4.1.1 顺溜的2级流水线
  • 4.1.2 顺溜流水线的深入分析
  • 4.2 从子弹射击到指令执行
  • 4.2.1 最简单的3级流水线
  • 4.2.2 史上最经典的5级流水线
  • 4.2.3 DSP更深的流水线
  • 4.2.4 流水线上的冒险——免不了磕磕绊绊
  • 4.2.5 分支预测——以古为镜,可以知兴替
  • 4.3 从顺序执行到乱序执行——因时制宜
  • 4.3.1 乱序的概念
  • 4.3.2 指令的相关
  • 4.3.3 去除指令的相关性
  • 4.3.4 处理器的乱序执行
  • 4.4 处理器并行设计——并行,提高性能的不二法门
  • 4.5 指令并行(Instruction Level Parallelism)
  • 4.5.1 指令并行的“绿营”和“蓝营”
  • 4.5.2 Superscalar处理器实例——Intel P4 CPU
  • 4.5.3 VLIW处理器实例——TI C6000 DSP
  • 4.5.4 Superscalar和VLIW总结
  • 4.6 数据并行(Data Level Parallelism)
  • 4.6.1 何为SIMD、MMX、SSE
  • 4.6.2 几种不同形式的SSE指令
  • 4.7 线程并行(Thread Level Parallelism)
  • 4.7.1 多线程——时分复用
  • 4.7.2 硬件多线程——让我来帮你一把
  • 4.7.3 多核——从“芯”到“蕊”的跳变
  • 4.7.4 各种硬件多线程对比
  • 4.8 并行总结
  • 4.9 微架构总结
  • 4.9.1 处理器性能公式
  • 4.9.2 通过微架构的改进提高程序执行效率
  • 4.9.3 商用处理器微架构的选择
  • 第5章 Cache——处理器的“肚量”
  • 5.1 什么是Cache——探索既熟悉又陌生的领域
  • 5.1.1 随处可见的Cache——技术来源于生活
  • 5.1.2 处理器的Cache——一切都是收益和成本的权衡
  • 5.2 处理器的Cache结构——探索那些鲜为人知的秘密
  • 5.2.1 Cache的层次——层次化管理
  • 5.2.2 Cache的工作方式——丘比特之剑,命中与未命中
  • 5.2.3 Cache的映射方式——多对一的策略
  • 5.2.4 Cache的写方式——你不需要知道真相
  • 5.3 Cache一致性
  • 5.3.1 一致性问题的产生——信息不对称导致的问题
  • 5.3.2 Cache一致性的底层操作
  • 5.3.3 Cache一致性协议
  • 5.4 片内可寻址存储器——软件管理的Cache
  • 第6章 编写高效代码——时间就是生命
  • 6.1 软件效率——21世纪什么最重要?效率!
  • 6.1.1 高效代码的意义——时间就是生命,时间就是金钱
  • 6.1.2 代码剖析——没有调查,就没有发言权
  • 6.2 减少指令数——勤俭持家
  • 6.2.1 使用更快的算法——算法,程序设计的灵魂
  • 6.2.2 选用合适的指令——合适的人做合适的事
  • 6.2.3 降低数据精度——比特也要省着用
  • 6.2.4 减少函数调用——不要老打断我
  • 6.2.5 空间换时间——我们总是在走,却忘了停留
  • 6.2.6 减少过保护——打不破的部门墙
  • 6.3 减少处理器不擅长的操作——不要逼我做我不喜欢的事情
  • 6.3.1 少用乘法
  • 6.3.2 少用除法、求余
  • 6.3.3 在精度允许的条件下,将浮点数定点化
  • 6.3.4 尽量减少分支
  • 6.3.5 将最可能进入的分支放在if中,而不是else中
  • 6.4 优化内存访问——别让包袱拖垮了你
  • 6.4.1 少使用数组,少使用指针
  • 6.4.2 少用全局变量
  • 6.4.3 一次多访问一些数据
  • 6.4.4 数据对齐访问
  • 6.4.5 大数据结构时的Cache line对齐
  • 6.4.6 程序、数据访问符合Cache的时间、空间局部性
  • 6.4.7 多线程编程时,避免false sharing
  • 6.4.8 自己管理内存动态分配
  • 6.4.9 隐藏数据搬移时间
  • 6.5 充分利用编译器进行优化——编译器:我才是优化第一高手
  • 6.5.1 编译器的结构——知己知彼,百战不殆
  • 6.5.2 编译器提供了几级优化选项——分级管理
  • 6.5.3 编译器会计算常量
  • 6.5.4 简单的表达式化简
  • 6.5.5 提取公共语句
  • 6.5.6 循环展开、软件流水
  • 6.5.7 自动向量化
  • 6.5.8 高效的数据组织
  • 6.5.9 指令并行化
  • 6.5.10 编译器更懂处理器——百度更懂中文
  • 6.6 利用多核来加速程序——人多力量大
  • 6.6.1 并行计算
  • 6.6.2 OpenMP
  • 第7章 SOC——吸星大法
  • 7.1 SOC大一统时代
  • 7.1.1 SOC和IP
  • 7.1.2 SOC市场驱动力
  • 7.2 IP核
  • 7.2.1 CPU IP
  • 7.2.2 GPU IP
  • 7.2.3 DSP IP
  • 7.2.4 Video Engine IP
  • 7.2.5 其他IP core
  • 7.2.6 总结
  • 第8章 “芯”路历程——明明白白我的“芯”
  • 8.1 逻辑电路基础——计算机的基本构成
  • 8.1.1 模拟、数字、逻辑的关系——细微之处探真知
  • 8.1.2 组合逻辑电路——万丈高楼平地起
  • 8.1.3 时序逻辑电路——你在我心中留下了记忆
  • 8.1.4 微电子技术——微乎微乎,至于无形
  • 8.2 芯片设计——芯者,国之大事,不可不察也
  • 8.2.1 人类是怎么管理复杂事物的
  • 8.2.2 芯片设计流程
  • 8.2.3 硬件描述语言——软硬不分
  • 8.2.4 逻辑综合
  • 8.2.5 硬件描述语言与软件描述语言的差别
  • 8.2.6 物理设计
  • 8.3 芯片制造——点沙成金
  • 8.3.1 探索微观世界
  • 8.3.2 芯片制造流程
  • 网友点评
展开全部