《CPU通识课》靳国杰;张戈【文字版_PDF电子书_下载】
内容简介:
中央处理器(CPU)是计算机中重要的芯片。CPU的设计和制造水平是一个国家信息技术实力的象征,产业生态的构建需要培养更多掌握CPU技术原理的高端人才。本书基于龙芯CPU团队在20年间积累的技术和经验,从CPU概览篇、CPU术语篇、CPU原理篇、CPU系统篇、CPU生产制造篇、CPU家族篇、CPU生态篇、中国CPU篇八大板块剖析CPU,生动有趣地讲解了CPU的基础概念、核心原理、生产制造及产业生态,更解读了龙芯CPU的研发历史、核心特色和生态建设经验,让读者循序渐进地进入CPU的殿堂。
作者简介:
靳国杰 博士后,高级工程师。现任龙芯中科技术股份有限公司总裁助理。曾任龙芯 Java 虚拟机团队、Loongnix 操作系统团队、应用生态团队负责人。业务领域包括龙芯系统软件、龙芯信息化生态建设和市场推广。发表学术论文 20 篇,龙芯软件生态推广文章 30 余篇,申请发明专利 40 项。 张戈 博士,教授级高工。现任龙芯中科技术股份有限公司副总裁,中国计算机学会体系结构专业委员会委员。长期从事龙芯处理器的研发、管理、市场与产业化工作,曾主持核高基、国家自然科学基金、863 计划等多个课题,并获得中国计算机学会“科技进步奖”一等奖。
目 录:
CPU概览篇 时代与机遇
第1节 CPU时代
信息社会的基石:CPU
电脑之心:CPU在计算机中的地位
从大到小:CPU外观的变化
国之重器:CPU为什么成为信息技术的焦点
CPU分成哪些种类?
微观巨系统:为什么说CPU是世界难题?
第2节 CPU性能论
CPU怎样运行软件?
主频越高,性能就越高吗?
为什么MIPS和MFLOPS不能代表性能?
面向问题的性能评价标准:SPEC CPU
性能测试工具的局限性
不推荐的测试集:UnixBench
第3节 人人可学CPU
从简单到复杂:CPU的进化
CPU技术在计算机科学中的地位
我不需要做CPU,为什么还要学习CPU?
开源CPU哪里找?
CPU术语篇 入门术语应知应会
第1节 计算机的语言:指令集
软件编码规范:什么是指令集?
什么是指令集的兼容性?
为什么指令集要向下兼容?
为什么说指令集可以控制生态?
自己能做指令集吗?
第2节 繁简之争:精简指令集
CISC和RISC区别有多大?
CISC和RISC的融合
高端CPU指令集包含什么内容?
第3节 第 一次抽象:汇编语言
硬件的语言:汇编语言
为什么现在很少使用汇编语言了?
汇编语言会消亡吗?
第4节 做CPU就是做微结构
CPU的电路设计:微结构
可售卖的设计成果:IP核
IP核的“软”和“硬”
攒芯片:SoC
像DIY计算机一样“攒CPU”
第5节 解读功耗
什么是功耗?
有哪些降低功耗的方法?
第6节 摩尔定律传奇
摩尔定律会失效吗?
什么是Tick-Tock策略?
Tick-Tock模型的新含义:“三步走”
为什么CPU性能提升速度变慢了?
第7节 通用还是专用?
CPU和操作系统的关系
什么是异构计算?
专用处理器有哪些?
通用处理器也可以差异化
第8节 飘荡的幽灵:后门和漏洞
什么是CPU的后门和漏洞?
谁造出了后门和漏洞?
典型的CPU后门和漏洞
操作系统怎样给CPU打补丁?
在哪里可以查到CPU的漏洞?
怎样减少CPU的安全隐患?
CPU原理篇 现代高性能CPU架构与技术
第 1节 理论基石
CPU的3个重要的基础理论
研制CPU有哪些阶段?
学习CPU原理有哪些书籍?
为什么电路设计比软件编程更难?
第 2节 EDA神器
CPU的设计工具:EDA
哪些国家能做EDA?
有没有开源的EDA?
像写软件一样设计CPU:Verilog语言
从抽象到实现:设计CPU的两个阶段
第3节 开天辟地:二进制
二进制怎样在CPU中表示?
从二进制到十进制:CPU中的数值
从自然数到整数:巧妙的补码
CPU中怎样表示浮点数?
第4节 CPU的天职:数值运算
CPU怎样执行数值运算?
什么是ALU?
什么是寄存器?
第5节 流水线的奥秘
什么是CPU的流水线?
流水线级数越多越好吗?
第6节 乱序执行并不是没有秩序
什么是动态流水线?
动态流水线的经典算法:Tomasulo
什么是乱序执行?
乱序执行如何利用“寄存器重命名”
处理数据相关性?
乱序执行的典型电路结构
乱序执行如何处理例外?
回顾:乱序执行的3个重要概念
第7节 多发射和转移猜测
什么是多发射?
什么是转移猜测?
第8节 包纳天地的内存
CPU怎样访问内存?
内存多大才够用?
什么是访存指令的“尾端”?
什么是缓存?
缓存的常用结构
什么是虚拟内存?
第9节 CPU的“外交”
什么是CPU特权级?
中断和例外有什么不同?
CPU怎样做I/O?
高效的外设数据传输机制:DMA
CPU系统篇 由CPU组成完整计算机
第 1节 操作系统和应用的桥梁
什么是系统调用?
应用程序怎样执行系统调用指令?
第 2节 专用指令发挥大作用
什么是向量指令?
CPU怎样执行加密、解密?
第3节 虚拟化:逻辑还是物理?
什么是虚拟化?
什么是硬件虚拟化?
第4节 可以信赖的计算
CPU怎样支持可信计算?
可信模块怎样集成到CPU中?
第5节 从一个到多个:并行
人多力量大:多核
不止一个芯片:多路
流水线和线程的结合:硬件多线程
用于衡量并行加速比的Amdahl定律
第6节 并行计算机的内存
并行计算机的内存结构:SMP和NUMA
并行计算机的Cache同步
并行计算机的Cache一致性
什么是原子指令?
第7节 集大成:从CPU到计算机
总线:计算机的神经系统
从CPU到计算机:主板
CPU运行的第 一个程序:BIOS固件
协同工作:在WPS中敲一下按键,计算机里发生了什么?
计算机为什么会死机?
CPU生产制造篇 从电路设计到硅晶片的实现
第 1节 化设计为实物
CPU是谁生产出来的?
CPU设计者为什么要“上知天文、下知地理”? 205
什么是CPU的纳米工艺?
第 2节 硅晶片的由来
为什么要把硅作为生产芯片的材料?
CPU的完整生产流程
生产芯片的3种基本手法
第3节 模拟元器件
基本电路元件:电阻、电容、电感
模拟电路的“单向开关”:二极管
模拟电路的“水龙头”:场效应管
模拟电路器件集大成者
第4节 数字元器件
数字电路的基本单元:CMOS反相器
数字电路器件集大成者
电路的基本单元:少而精
第5节 交付工厂
版图是什么样的?
CPU的制造设备从哪里来?
CPU代工和封测厂商有哪些?
CPU的成本怎么算?
第6节 怎样省钱做芯片?
不用流片也可以做CPU:FPGA
使用纯软件的方法做CPU:模拟器
第7节 明天的芯片
先进的制造工艺:SOI和FinFET
“后FinFET时代”何去何从?
CPU家族篇 经典CPU企业和型号
第 1节 从上古到战国
上古时代:有实无名的CPU
上古时代CPU什么样?
战国时代:百花齐放的商用CPU厂商
第 2节 巨头寻踪
大一统时代:Intel的发家史
AMD拿什么和Intel抗衡?
第二套生态:ARM崛起
苹果公司的CPU硬实力
百年巨人:IBM的Power处理器
第3节 小而坚强
教科书的殿堂:MIPS
RISC-V能否成为明日之星?
第4节 世界边缘
日本如何失去CPU主导权?
欧洲重振处理器计划
韩国的CPU身影
CPU生态篇 解密软件生态
第 1节 生态之重
CPU厂商为什么要重视生态?
Inside和Outside:CPU公司的两个使命
CPU和应用软件之间的接口
软件生态的典型架构
第 2节 开发者的号角
生态先锋:软件开发者
操作系统是怎样“做”出来的?
虚拟机:没有CPU实体的生态
第3节 解决方案如何为王
生态的话语权:解决方案为王
计算机CPU赚钱,手机CPU不赚钱?
中国IT产业的根本出路:建自己的生态体系
第4节 生态的优点
优秀生态的3个原则:开放、兼容、优化
优秀生态的范例:Windows-Intel、
Android-ARM、苹果
松散型的生态:Linux
第5节 生态的方向
生态的外沿:不止于解决方案
CPU厂商:不同的营利模式
应用商店:生态成果阵地
生态无难事,只要肯登攀
中国CPU篇 “技术—市场—技术”的历史循环
第 1节 CPU旧事
为什么要做CPU?
发展CPU技术的两条路线
我国计算机事业的3个发展阶段
缺芯少魂:中国IT之痛
第 2节 龙的声音
龙芯极简史
龙芯主要型号
龙芯曾经的“世界先进水平”
从学院派到做产品
龙芯性能有多高?
第3节 龙之生态
核心技术只能在试错中发展
龙芯指令集
社区版操作系统:支撑软件生态
龙芯“内生安全”特色
在试错中趋于成熟
第4节 未来已来
“泛生态”体系正在形成
从零开始造计算机:龙芯教育理念
多种路线的中国CPU企业
未来已来:龙芯生态发展方向