本篇结合第1-5章,梳理了解学习CPU流水线、缓存硬件结构、计算单元、逻辑拓扑结构等知识点。
█本书开篇将了TOP500超级计算机。TOP500使用HPL基准测试来评估超级计算机的性能,这个基准测试测量的是计算机在解决一组线性方程时的浮点计算性能。
█在计算机中,有多不同类型的指令,例如算术运算、逻辑运算、数据传输、控制指令等。每种类型的指令行特定的操作,这些操作在处理器的控制下进行。每个CPU都有一组特定的指令集,它可理解和执行操作系统发出的计算请求,这被称为指令集架构。
当一个指令进入 CPU的流水线时,指令首先被取出(Fetch)并被译码(Decode)以确定应执行的操作。然后,指令在执行(Execute)阶段执行实际操作。如果需要访问内存,那在内存访问(MemoryAccess)阶段,CPU会从内存中读取数据或向内存中写入数据。最后在写回(Write Back)阶段,计算的结果将被写回CPU的寄存器中。
CISC(Complex Instruction Set Computer,复杂指令集计算机)架构和 RISC(ReducedInstruction Set Computer,精简指令集计算机)架构在处理器设计中很有代表性。目前RISCR-V是比较火的架构设计,其优点:模块设计;精简和高效指令。
MIPS 的全称为 Microprocessor without Interlocked Pipeline Stages,它采用5级指令流水线(取指、指令译码、执行指令、访存取数、结果写回),能够以接近每个时钟周期一条指令的速率执行。MIPS不仅推动了RISC架构的发展和普及,也通过其(知识产权)许可模式,影响了整个半导体行业的商业模式。RISC-V是因为架构简单、功耗面积小、开源,降低了厂商的开发门槛,而受到众多开发者青睐的。
█指令缓存体系:CPU流水线每个阶段可以并行执行不同的指令,这样就可以同时处理多个指令,从而提高处理器的性能。CPU流水线的起点就是从指令缓存(ImstructionCache,简称I-Cache)中获取指令。这些指令通常存储在主存储器中,但由于CPU的运行速度远快于内存的访问速摩因此如果直接从主存获取指令,则将导致CPU大部分时间在等待数据,这就是常说的存储器墙(Memory Wall)问题。为了缓解这个问题,处理器通常会有一级或多级的缓存来存储最近使用或者最常用的指令和数据。多级缓存一般分为三级,分别是L1、L2 和 L3,一般 L3 是个 CPU 核心共享的,L1和L2是一个 CPU 核心独享的。
译码器来将机器指令翻译成一系列的微指令或内部指令。其分为简单译码器和复杂译码器。
超线程技术(Hyper-Threading,HT)是由Intel开发的一种可以提高CPU性能的技术这种技术的主要思想是利用现代处理器的高度流水线设计中存在的资源闲置和等待时间。
█RAM(随机存取存储器,RandomAccess Memory)是计算机中的一种重要的内存设备,它的主要作用是临时存储和提供CPU需要的代码和数据。
RAM 的两大主要分类是 SRAM(静态随机存取存储器,Static Random Access Memory)和 DRAM(动态随机存取存储器,Dyamic RandomAccess Memory)。
█每一个指令的计算结果都需要计算单元来完成计算,计算单元是CPU的后端核心也是最原始状态的CPU。
ALU(Arithmetic Logic Unit,算术逻辑单元);FPU(Floating Point Unit,浮点数单元);BRU(Branch Unit,分支单元);AGU(Address Generation Unit,地址生成单元)是4种主要计算单元,还有一类特殊功能单元,用于处理一些特殊的计算任务,另外,SIMD(单指令多数据)技术是一种并行计算方法,通过同时对多个数据进行相同的操作来提高计算速度,常用于处理高度并行的数据任务,如图像处理等。关于计算单元的介绍,书里介绍的很详,有兴趣可以细读。
█在算力芯片设计中,芯片拓扑(Topology)结构非常重要。
●环形(Ring)拓扑方式是一种将多个处理单元连接成环形结构的片上总线技术结构中,每个处理单元都与环上的两个相邻处理单元连接。当一个处理单元需要与理单元通信时,数据沿着环形结构传递,直到到达目标处理单元。在这种结构中,数据在环上按顺序传递,每个处理单元将数据读取或写入环上的适当位置。
●Infinity Fabric 拓扑方式可以认为是一种类似交叉开关(Crossbar)的拓扑结构,片内多个物理 CPU核心的互连和片外多个CPU的互连都使用了该总线(每个物理CPU核心内部都可能使用了其他拓扑结构,如环形总线),CPU和GPU的互连也是依靠 Infnity Fabric 。
●网格(Mesh)拓扑方式是一种将多个处理单元按照网格状结构相互连接的片上总线技术。在Mesh 结构中,每个处理单元都与周围的多个处理单元直接相连。通常 Mesh 结构中的每个处理单元都有一个输入端口和一个输出端口,用于与相邻处理单元进行通信。Mesh拓扑中的节点排成规则的网格,每个节点只与其同行和同列的相邻节点连接。
●近存计算(Near Memory Computing)拓扑是一种特殊的 CPU设计,其核心思想是将在储器和运算器紧密地结合在一起,使得计算操作可以在存储器中进行,从而大幅提高数据处理效率和性能。
通过章节学习,可以看到算力芯片从组成设计上来说知识点还是蛮多的,通过梳理学习,有了进一步的认识,对芯片底层有了更深入了解,常学常新。
|