图书介绍
大话计算机 计算机系统底层架构原理极限剖析 卷2PDF|Epub|txt|kindle电子书版本网盘下载
![大话计算机 计算机系统底层架构原理极限剖析 卷2](https://www.shukui.net/cover/33/32404219.jpg)
- 冬瓜哥著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302526476
- 出版时间:2019
- 标注页数:1066页
- 文件大小:132MB
- 文件页数:645页
- 主题词:计算机系统-基本知识
PDF下载
下载说明
大话计算机 计算机系统底层架构原理极限剖析 卷2PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第6章 多处理器微体系结构——多核心与缓存430
6.1 从超线程到多核心430
6.1.1 超线程并行430
6.1.2 多核心/多CPU并行433
6.1.3 idle线程434
6.1.4 乱序执行还是SMT?435
6.1.5 逆超线程?436
6.1.6 线程与进程436
6.1.7 多核心访存基本拓扑437
6.2 缓存十九式442
6.2.1 缓存是分级的442
6.2.2 缓存是透明的442
6.2.3 缓存的容量、频率和延迟443
6.2.4 私有缓存和共享缓存443
6.2.5 Inclusive模式和Exclusive模式444
6.2.6 Dirty标记位和Valid标记位444
6.2.7 缓存行445
6.2.8 全关联/直接关联/组关联446
6.2.9 用虚拟地址查缓存451
6.2.10 缓存的同名问题453
6.2.11 缓存的别名问题453
6.2.12 页面着色455
6.2.13 小结及商用CPU的缓存模式457
6.2.14 缓存对写入操作的处理458
6.2.15 Load/Stor Queue与Stream Buffer459
6.2.16 非阻塞缓存与MSHR460
6.2.17 缓存行替换策略462
6.2.18 i_Cache/d_Cache/TLB_Cache463
6.2.19 对齐和伪共享465
6.3 关联起来,为了一致性465
6.3.1 Crossbar交换矩阵466
6.3.2 Ring472
6.3.3 NoC475
6.3.4 众核心CPU478
6.3.5 多核心程序执行过程回顾481
6.3.6 在众核心上执行程序482
6.4 存储器在网络中的分布484
6.4.1 CPU片内访存网络与存储器分布487
6.4.2 CPU片外访存网络489
6.4.2.1 全总线拓扑及南桥与北桥490
6.4.2.2 AMD Athlon北桥492
6.4.2.3 常用网络拓扑及UMA/NUMA494
6.4.2.4 AMD Opteron北桥497
6.4.3 参悟全局共享内存架构499
6.4.4 访存网络的硬分区501
6.5 QPI片间互联网络简介502
6.5.1 QPI物理层与同步异步通信原理503
6.5.2 QPI链路层网络层和消息层505
6.5.3 QPI的初始化与系统启动507
6.5.3.1 链路初始化和拓扑发现507
6.5.3.2 系统启动507
6.5.4 QPI的扩展性509
6.6 基于QPI互联的高端服务器架构一览510
6.6.1 某32路CPU高端主机510
6.6.2 DELLEMC的双层主板QPI互联511
6.6.3 IBM x3850/3950 X5/X6主机511
6.6.4 HP Superdome2主机515
6.6.5 Fujitsu PQ2K主机518
6.7 理解多核心访存时空一致性问题520
6.7.1 访存空间一致性问题520
6.7.2 访存时间一致性问题521
6.7.2.1 延迟到达导致的错乱521
6.7.2.2 访问冲突导致的错乱521
6.7.2.3 提前执行导致的错乱522
6.7.2.4 乱序执行导致的错乱522
6.8 解决多核心访存时间一致性问题523
6.8.1 互斥访问523
6.8.2 让子弹飞526
6.8.3 硬件原生保证的基本时序527
6.8.4 解决延迟到达错乱问题529
6.8.5 解决访问冲突错乱问题530
6.8.6 解决提前执行测错乱问题530
6.8.7 解决乱序执行错乱问题531
6.8.8 小结531
6.9 解决多核心访存空间一致性问题533
6.9.1 基于总线监听的缓存一致性实现533
6.9.1.1 Snarfig/Write Sync方式533
6.9.1.2 Write Invalidate方式534
6.9.2 推导MESIF状态机535
6.9.3 MOESI状态机540
6.9.4 结合MESIF协议进一步理解锁和屏障540
6.9.5 结合MESIF深刻理解时序一致性模型545
6.9.5.1 终极一致性(UC)545
6.9.5.2 严格一致性(SC)545
6.9.5.3 顺序一致性(SEC)545
6.9.5.4 处理器一致性(PC)546
6.9.5.5 弱一致性(WC)546
6.9.6 缓存行并发写优化546
6.9.7 Cache Agent的位置547
6.9.8 基于共享总线的嗅探过滤机制548
6.9.8.1 bitmap粗略过滤549
6.9.8.2 向量bitmap精确过滤549
6.9.8.3 布隆过滤器与散列采样550
6.9.8.4 JETTY filter551
6.9.8.5 流寄存器式过滤器553
6.9.8.6 带计数器的SR过滤器554
6.9.8.7 蓝色基因/P中的嗅探过滤器554
6.9.9 基于分布式访存网络的缓存一致性实现555
6.9.9.1 分布式网络对CC机制的影响557
6.9.9.2 多级缓存和多CPU对CC机制的影响558
6.9.9.3 即便无锁也要保证一致558
6.9.10 分布式网络下的嗅探过滤机制559
6.9.10.1 在LLC中增设bitmap向量过滤片内广播559
6.9.10.2 Ring网络的三种嗅探方式561
6.9.10.3 增设远程目录过滤片外广播562
6.9.10.4 利用HA代理片内CC事务565
6.9.10.5 小结569
6.9.10.6 在网络路径上实施嗅探过滤570
6.9.11 缓存一致性实现实际案例571
6.9.11.1 Intel Blackford北桥CC实现572
6.9.11.2 AMD Opteron 800平台CC实现573
6.9.11.3 北桥与NC(Node Controller)575
6.9.11.4 Horus NC实现576
6.9.11.5 SGI Origin 2000 NC实现580
6.9.11.6 IBM PERCS超级计算机中的NC583
6.9.11.7 Intel CPU在QPI网络下的CC实现585
6.9.11.8 小结588
第7章 计算机I/O子系统593
7.1 计算机I/O的基本套路593
7.1.1 Programmed IO+Polling模式593
7.1.2 DMA+中断模式598
7.1.3 DMA与缓存一致性600
7.1.4 Scatter/Gather List (SGL)601
7.1.5 使用队列提升I/O性能601
7.1.6 固件/Firmware604
7.1.6.1 固件与OS的区别与联系605
7.1.6.2 固件的层次605
7.1.6.3 固件的格式605
7.1.6.4 固件存在哪605
7.1.6.5 固件如何加载运行606
7.1.7 网络I/O基本套路606
7.1.8 接入更多外部设备610
7.1.9 一台完整计算机的全貌614
7.2 中断处理616
7.3 网络通信系统619
7.3.1 OSI七层标准模型620
7.3.1.1 应用层620
7.3.1.2 表示层620
7.3.1.3 会话层621
7.3.1.4 传输层621
7.3.1.5 网络层624
7.3.1.6 链路层626
7.3.1.7 物理层627
7.3.1.8 传送层627
7.3.1.9 小结629
7.3.2 底层信号处理系统630
7.3.2.1 AC耦合电容及N/Mbit编码630
7.3.2.2 加扰的作用634
7.3.2.3 各种线路编码636
7.3.2.4 各种模拟调制技术637
7.3.2.5 频谱宽度与比特率641
7.3.2.6 数字信号处理与数字滤波646
7.3.3 以太网——高速通用非访存式后端外部网络647
7.3.3.1 以太网的网络层647
7.3.3.2 以太网的链路层和物理层652
7.3.3.3 以太网I/O控制器652
7.4 典型I/O网络简介652
7.4.1 PCIE——高速通用访存式前端I/O网络654
7.4.1.1 PCI网络拓扑及数据收发过程654
7.4.1.2 PCI设备的配置空间656
7.4.1.3 PCI设备的枚举和配置658
7.4.1.4 PCI设备寄存器的物理地址分配和路由663
7.4.1.5 中期小结664
7.4.1.6 PCIE网络拓扑及数据收发过程665
7.4.1.7 PCIE网络的层次模型669
7.4.1.8 NTB非透明桥685
7.4.1.9 PCIESwitch内部692
7.4.1.10 在PCIE网络中传递消息697
7.4.1.11 在PCI网络中传递中断信号698
7.4.1.12 在PCIE网络中传递中断信号700
7.4.1.13 MSI/MIS-X中断方式701
7.4.1.14 PCIE体系中的驱动程序层次706
7.4.1.15 小结708
7.4.2 USB——中速通用非访存式后端I/O网络709
7.4.2.1 USB网络的基本拓扑712
7.4.2.2 USB设备的枚举和配置714
7.4.2.3 USB网络协议栈719
7.4.2.4 USB网络上的数据包传送722
7.4.2.5 USB网络的层次模型728
7.4.2.6 小结729
7.4.3 SAS——高速专用非访存式后端I/O网络730
7.4.3.1 SAS网络拓扑及设备编号规则733
7.4.3.2 SAS网络中的Order Set一览734
7.4.3.3 SAS的链路初始化和速率协商734
7.4.3.4 SAS网络的初始化与设备枚举743
7.4.3.5 SAS和SCSI的Host端协议栈753
7.4.3.6 形形色色的登记表761
7.4.3.7 SAS网络的数据传输方式778
7.4.3.8 SAS网络的层次模型783
7.4.3.9 SAS控制器内部架构789
7.4.3.10 SAS SXP内部架构797
7.5 本章小结797
第8章 绘声绘色——计算机如何处理声音和图像802
8.1 声音处理系统802
8.1.1 让蜂鸣器说话802
8.1.2 音乐是可以被勾兑出来的803
8.1.2.1 可编程音符生成器PSG804
8.1.2.2 音乐合成器805
8.1.2.3 FM合成及波表合成809
8.1.3 声卡发展史及架构简析812
8.1.4 与发声控制相关的Host端角色817
8.1.5 让计算机成为演奏家832
8.1.6 独立声卡的没落832
8.2 图形处理系统842
8.2.1 用声音来画图846
8.2.2 文字模式849
8.2.2.1 向量文本模式显示849
8.2.2.2 用ROM存放字形库852
8.2.2.3 点阵文字显示模式852
8.2.2.4 单色显示适配器855
8.2.2.5 点阵作图与ASCII Art856
8.2.3 图形模式857
8.2.3.1 Color Graphics Adapter(CGA)857
8.2.3.2 Enhanced Graphics Adapter(EGA)860
8.2.3.3 Video BIOS ROM的引入861
8.2.3.4 Video Graphics Array(VGA)863
8.2.3.5 VGA的后续864
8.2.3.6 当代显卡的图形和文字模式864
8.2.4 2D图形及其渲染流程864
8.2.4.1 2D图形加速卡PGC866
8.2.4.2 2D图形模型的准备872
8.2.4.3 对模型进行渲染874
8.2.4.4 矢量图和bitmap875
8.2.4.5 顶点、索引和图元876
8.2.4.6 2D图形动画876
8.2.4.7 坐标变换及矩阵运算878
8.2.4.8 2D图形渲染流程小结880
8.2.4.9 2D绘图库以及渲染加速880
8.2.5 3D图形模型和表示方法885
8.2.5.1 3D模型的表示886
8.2.5.2 顶点的4个基本属性889
8.2.6 3D图形渲染流程893
8.2.6.1 顶点坐标变换阶段/Vertex Transform893
8.2.6.2 顶点光照计算阶段/Vertex Lighting897
8.2.6.3 栅格化阶段/Rasterization899
8.2.6.4 像素着色阶段/Pixel Shading900
8.2.6.5 遮挡判断阶段/Testing909
8.2.6.6 混合及后处理阶段/Blending914
8.2.6.7 3D渲染流程小结914
8.2.7 典型的3D渲染特效简介915
8.2.7.1 法线贴图(Normal Map)916
8.2.7.2 曲面细分与置换贴图(Tessellation)920
8.2.7.3 视差/位移贴图(Parallax Map)922
8.2.7.4 物体投影(Shadow)925
8.2.7.5 抗锯齿(Anti-Aliasing)926
8.2.7.6 光照控制纹理(Light Mapping)931
8.2.7.7 纹理动画(Texture Animation)934
8.2.8 当代3D游戏制作过程936
8.2.9 3D图形加速渲染937
8.2.9.1 3D图形渲染管线回顾939
8.2.9.2 固定渲染管线3D图形加速940
8.2.9.3 可编程渲染管线3D图形加速943
8.2.9.4 Unified可编程3D图形加速955
8.2.9.5 深入AMD R600 GPU内部执行流程955
8.2.10 3D绘图API及软件栈963
8.2.10.1 GPU内核态驱动及命令的下发965
8.2.10.2 GPU用户态驱动及命令的翻译966
8.2.10.3 久违了OpenGL与Direct3D969
8.2.10.4 Windows图形软件栈973
8.2.11 3D图形加速卡的辉煌时代974
8.2.11.1 街机/家用机/手机上的GPU974
8.2.11.2 SGIOnyx超级图形加速工作站978
8.2.11.3 S3 ViRGE时代979
8.2.11.4 3dfx Voodoo时代980
8.2.11.5 Nvidia和ATI时代985
8.3 结语和期盼991
第9章 万箭齐发——加速计算与超级计算机994
9.1 科学计算到底在算些什么994
9.1.1 蛋白质分子的故事994
9.1.1.1 氧气运输的故事994
9.1.1.2 更复杂的生化逻辑是如何完成的997
9.1.2 如何模拟蛋白质分子自折叠过程998
9.1.3 将模拟过程映射为多线程并行计算999
9.1.4 其他科学计算场景1000
9.2 大规模系统共享内存之向往1000
9.2.1 UMA/NUMA/MPP1001
9.2.2 OpenMP并行编程1002
9.3 基于消息传递的非共享内存系统1002
9.3.1 采用消息传递方式同步数据1003
9.3.2 MPI库基本函数简介1005
9.3.3 MPI库聚合通信函数简介1006
9.4 超级计算机1010
9.4.1 IBM蓝色基因1011
9.4.1.1 中央处理器(CPU)1011
9.4.1.2 计算节点和I/O节点1013
9.4.1.3 三个独立网络同时传递数据1013
9.4.1.4 蓝色基因Q的网络控制和路由实现1014
9.4.1.5 节点卡及整机架布局1016
9.4.1.6 整体系统拓扑1016
9.4.1.7 Service Node1016
9.4.1.8 Service Card1018
9.4.1.9 时钟同步1019
9.4.1.10 系统启动1021
9.4.1.11 软件安装与用户认证1021
9.4.1.12 状态监控1022
9.4.1.13 计算任务的执行1022
9.4.1.14 操作系统1022
9.4.1.15 Login Node1024
9.4.1.16 存储系统1024
9.4.2 圣地亚哥Gordon1024
9.4.3 Fujitsu PrimeHPC FX101025
9.4.3.1 SPARC64 IXfx CPU1025
9.4.3.2 水冷主板1026
9.4.3.3 Tofu六维网络互联拓扑1026
9.4.3.4 ICC互联芯片1028
9.5 利用GPU加速计算1030
9.5.1 Direct3D中的Compute Shader1031
9.5.2 OpenCL和OpenACC1031
9.5.3 NVIDIA的CUDA API1031
9.5.3.1 CUDA基本架构1031
9.5.3.2 一个极简的CUDA程序1034
9.5.3.3 CUDA对线程的编排方式1035
9.5.3.4 GPU对CUDA线程的调度方式1036
9.5.3.5 CUDA程序的内存架构1038
9.5.3.6 基于CUDA的PhysX库效果1043
9.6 利用PLD和ASIC加速计算1046
9.6.1 PAL/PLA是如何工作的1049
9.6.2 CPLD是如何工作的1049
9.6.3 FPGA是如何工作的1052
9.6.4 FPGA编程及应用形态1058
9.6.5 Xilinx FPGA架构及相关概念1062
9.6.6 ASIC与PLD的关系1062
9.7 小结:软归软硬归硬1063