GPU微观物理结构框架

摘要:
GPU微物理结构框架一、CPU和GPU在物理结构和设计上有什么区别?首先,解释CPU(CentralProcessingUnit)和GPU(GraphicsProcessingUnit)这两个缩写代表什么。两者之间的区别在于片上缓存系统和数字逻辑运算单元的结构之间的差异:数字逻辑运算单位的数量也很小且简单(GPU在一开始的浮点计算中总是比CPU弱)。

 GPU微观物理结构框架

一.CPU 和 GPU 在物理结构和设计上有何区别

首先需要解释CPU(Central Processing Unit)和GPU(Graphics Processing Unit)这两个缩写分别代表什么。CPU即中央处理器,GPU即图形处理器。其次,要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元。一句话,两者都为了完成计算任务而设计。

  先直观地上个示意图:

 GPU微观物理结构框架第1张

    从图中可以看到,CPU和GPU均有自己的存储(橙色部分,实际的存储体系比图示更为复杂),控制逻辑(黄色部分)和运算单元(绿色部分),但区别是CPU的控制逻辑更复杂,而GPU的运算单元虽然较小但是众多,GPU也可以提供更多的寄存器和程序猿可控的多级存储资源。

        CPU和GPU的差异可以描述在下面表格中:

GPU微观物理结构框架第2张

   两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。从结果上导致CPU擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。

  GPU由于历史原因,是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等公司也发布了OpenCL,GPU开始在通用计算领域得到广泛应用,包括:数值分析海量数据处理(排序,Map-Reduce等),金融分析等等。

  简而言之,当程序员为CPU编写程序时,倾向于利用复杂的逻辑结构优化算法从而减少计算任务的运行时间,即Latency。当程序员为GPU编写程序时,则利用其处理海量数据的优势,通过提高总的数据吞吐量(Throughput)来掩盖Lantency。目前,CPU和GPU的区别正在逐渐缩小,因为GPU也在处理不规则任务和线程间通信方面有了长足的进步。另外,功耗问题对于GPU比CPU更严重。

CPU和GPU之间的差异(缓存、核心数量、内存、线程数等)可用下图展示出来:

GPU微观物理结构框架第3张

 二.GPU微观物理结构技术

GPU的微观结构因不同厂商、不同架构都会有所差异,但核心部件、概念、以及运行机制大同小异。下面将展示部分架构的GPU微观物理结构。

1.  NVidia Tesla架构

 GPU微观物理结构框架第4张

  Tesla微观架构总览图如上。下面将阐述它的特性和概念:

  • 拥有7组TPC(Texture/Processor Cluster,纹理处理簇)
  • 每个TPC有两组SM(Stream Multiprocessor,流多处理器)
  • 每个SM包含:

o   6个SP(Streaming Processor,流处理器)

o   2个SFU(Special Function Unit,特殊函数单元)

o   L1缓存、MT Issue(多线程指令获取)、C-Cache(常量缓存)、共享内存

  • 除了TPC核心单元,还有与显存、CPU、系统内存交互的各种部件。

2.  NVidia Fermi架构

 GPU微观物理结构框架第5张

  Fermi架构如上图,它的特性如下:

  • 拥有16个SM
  • 每个SM:

o   2个Warp(线程束)

o   两组共32个Core

o   16组加载存储单元(LD/ST)

o   4个特殊函数单元(SFU)

  • 每个Warp:

o   16个Core

o   Warp编排器(Warp Scheduler)

o   分发单元(Dispatch Unit)

  • 每个Core:

o   1个FPU(浮点数单元)

o   1个ALU(逻辑运算单元)

3.  NVidia Maxwell架构

 GPU微观物理结构框架第6张

  采用了Maxwell的GM204,拥有4个GPC,每个GPC有4个SM,对比Tesla架构来说,在处理单元上有了很大的提升。

4.   NVidia Kepler架构

 GPU微观物理结构框架第7张

  Kepler除了在硬件有了提升,有了更多处理单元之外,还将SM升级到了SMX。SMX是改进的架构,支持动态创建渲染线程(下图),以降低延迟。

GPU微观物理结构框架第8张

  5.   NVidia Turing架构

 GPU微观物理结构框架第9张

  上图是采纳了Turing架构的TU102 GPU,它的特点如下:

  • 6 GPC(图形处理簇)
  • 36 TPC(纹理处理簇)
  • 72 SM(流多处理器)
  • 每个GPC有6个TPC,每个TPC有2个SM
  • 4,608 CUDA核
  • 72 RT核
  • 576 Tensor核
  • 288 纹理单元
  • 12x32位 GDDR6内存控制器 (共384位)

单个SM的结构图如下:

 GPU微观物理结构框架第10张

  每个SM包含:

  • 64 CUDA核
  • 8 Tensor核
  • 256 KB寄存器文件

TU102 GPU芯片实物图:

 GPU微观物理结构框架第11张

6.  GPU架构的共性

所有GPU架构,虽然有所差异,但存在着很多相同的概念和部件:

·       GPC

·       TPC

·       Thread

·       SM、SMX、SMM

·       Warp

·       SP

·       Core

·       ALU

·       FPU

·       SFU

·       ROP

·       Load/Store Unit

·       L1 Cache

·       L2 Cache

免责声明:文章转载自《GPU微观物理结构框架》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unity扩展编辑器--类型3:Custom Editors摇摆序列下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

高端存储发展趋势

1. 高端存储的技术发展趋势 松耦合 高端存储刚出现的时候,采用的是紧耦合的多控体系架构。紧耦合架构的特点就是所有的资源都是物理集中在一起的,这些资源通常包括前端接口,后端接口和Cache,一般都插在一个大机箱里。随着技术的发展,特别用户对总体拥有成本(TCO)和可扩展性的追求,现在的高端存储厂商大部分采用了松耦合的多控体系架构。它们都有一个特点,每...

想高效学会Hadoop,你要按照这个路线

学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变。再一个就是一定要动手,有什么案例,有什么项目一定要亲自动手去敲。 学习的时候不要害怕遇到问题,问题是最好的老师。其实学习的过程就是逐渐解决问题的过程,当你遇到的问题越来越少的时候,...

携程结合用户画像

用户画像作为“大数据”的核心组成部分,在众多互联网公司中一直有其独特的地位。作为国内旅游OTA的领头羊,携程也有着完善的用户画像平台体系。目前用户画像广泛用于个性化推荐,猜你喜欢等;针对旅游市场,携程更将其应用于“房型排序”“机票排序”“客服投诉”等诸多特色领域。 本文将从目的,架构、组成等几方面,带你了解携程在该领域的实践。 1.携程为什么做用户画像...

C# Thread线程介绍

一、基本概念 1、进程 首先打开任务管理器,查看当前运行的进程: 从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢? 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程...

AMD系列CPU

AMD处理器  AMD处理器即由AMD公司生产的处理器。AMD( 超微半导体 ) 成立于 1969 年,总部位于加利福尼亚州桑尼维尔,目前AMD是唯一能与英特尔抗衡的CPU厂商,旗下的独立显卡部门也和NVIDIA平分天下。   同主频的AMD处理器与Intel处理器,前者价格只是后者的一半左右,intel处理器的稳定性比AMD处理器的稳定性更好,AMD处理...

架构设计逻辑层 vs 物理层

    Layer 和Tier都是层,但是他们所表现的含义不同,Tier指的是软件系统中物理上的软件和硬件,具体指部署在某服务器上,而Layer(逻辑层)指软件系统中完成特定功能的逻辑模块,逻辑概念。    Layer是逻辑上 组织代码的形式。比如逻辑分层中表现层,服务层,业务层,领域层,他们是软件功能来划分的。并不指代部署在那台具体的服务器上或者,物理位...