网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月30日漏签0天
笔记本吧 关注:4,209,543贴子:84,012,033
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 3 4 5 6 7 8 下一页 尾页
  • 188回复贴,共8页
  • ,跳到 页  
<<返回笔记本吧
>0< 加载中...

[11.17] Intel核芯显卡微架构浅析

  • 只看楼主
  • 收藏

  • 回复
  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一楼祭天
很多年没有写过科普帖了, 选个炒鸡冷门的话题吧, 反正应该也没有太多人会看了


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
  • 阿塔尼斯
  • 笔记本盲
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


东莞市丰泽文具有限公司
笔记本专业从事笔记本商务定做,全年日期版笔记本、定制设计内容笔记本、活页本皮套笔记本,车线式笔记本、线圈本、精装本、胶装本、定制便条本、笔记本礼盒等
2023-05-30 03:04广告
立即查看
  • 炙岳
  • 吧主
    17
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
。。。LZ过气了,竟然连个插楼的人都没有


  • 懂猫语的两脚兽
  • 笔记本盲
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • 大雄vs胖虎
  • 无脑黑
    16
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
辣鸡冷姐


  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
I家是全球GPU出货量最大的科技公司, 这点是毋庸置疑的.
I家在20世纪末21世纪初就在研究板载GPU, 最为人所知的就是GMA (Graphics Media Accelerator), 但它与CPU package还是完全分离的. 从2010年的Westmere (就是你们熟知的酷睿i系列的源头) 开始, I家将GPU真正集成在了CPU package的内部, 称为HD Graphics, 中文称为"核芯显卡", 一直到现在.
当然, 现在HD Graphics的分级更加复杂了, 也出现了规格更高的Iris系列, 不过我们还是可以从最常见的产品入手, 看一下I家的核显到底是怎样设计的.
至于按摩店的Raven Ridge, 就是锐龙APU, 它的Vega核显架构更有意思一些, 与独显高度趋同, 等研究完了会再专门写一篇来讲. 这篇就只讲HD Graphics.


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
  • Morriscone
  • 小吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • zzy2000129
  • 电脑新手
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 源赖氏-佐田
  • 低级黑
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
过气坎姐无人暖贴


  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下图是一块四核心Intel处理器的die shot框图, 带有Gen9核显, 在左侧红框中.


I家的核显也是分代的 (毕竟历经了很多年的迭代). 从6代酷睿Skylake开始, 接下来的Kaby Lake和Coffee Lake均采用Gen9微架构. Broadwell采用Gen8, 而更久远的Haswell则采用Gen7.5.
因此, 图中的这个CPU型号可以想象成桌面端的i5-6500/i7-7700K/i3-8100, 或者移动端的i7-6700HQ/i5-7300HQ/i5-8300H/i7-8550U, 不一而足. 而Gen9核显就是目前最常见的(U)HD Graphics 620以及(U)HD Graphics 630.
从图中还可以看出, 所有CPU核心共享最后一级缓存 (Last Level Cache, LLC), 也就是三级缓存. 最右侧的"系统Agent"模块则负责一切控制类工作, 如内存控制, 显示控制, I/O控制等.
I家核显占用die的面积相当大, 一般都在40%, 更强的Iris核显则可以占到70%.


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
  • 紫涵洁雪
  • 笔记本盲
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
萌新前来助威


  • A11_仿生
  • 神论党
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
无人问津。


  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做了很多铺垫之后, 可以来看核显本身了. 就像NVidia GPU有CUDA核心, AMD GPU有流处理器一样, Intel在狭小的核显空间内也是有设计基本运算组件的, 名为执行单元 (Execution Unit, EU). EU图示如下.


从本质上来讲, EU是一个细粒度多线程的、符合单指令流多数据流(SIMD)规范的处理模型. 图中左侧绿色的部分是存储单元, 它右侧蓝色的则是功能单元.
仔细读图, 可以得到如下信息:
1. 每个EU的存储单元中有7条线程, 或者叫做通道;
2. 每条线程(通道)上有128个通用寄存器;
3. 每个寄存器可以存储8元素SIMD向量;
4. 每个SIMD向量的元素长为32bit.
这样就可以理解图中的"28KB GRF"是怎么来的了, 简单相乘就行了. 所谓GRF, 就是通用寄存器文件(General Purpose Register File), 当然它并非一个真正的文件. 此外, 每条线程还有一个用于保存其状态的特殊寄存器组, 它们叫做架构寄存器文件(Architecture Register File, ARF).
EU经过取指(Instruction Fetch) 阶段之后, 通过译码, 与GRF中存储的数据配合, 进行功能性的操作. 在每个时钟周期, EU最多可以并发执行4条指令, 这4条指令必须来自于四条完全不同的线程. 这些指令交由后面的线程枚举器(Thread Arbiter), 再由枚举器分发给后面的功能单元之一进行处理.
由上图可以看到, 功能单元也是有4个, 分别是:发送单元(Send)、分支单元(Branch)、两个SIMD浮点运算单元(SIMD FPU).
SIMD FPU是EU中起图形运算功能的核心部件. 虽然它们的名字叫做"浮点运算单元", 但它们既可以进行浮点运算, 也可以进行整型运算. 在一个周期中, 每个FPU可以以SIMD的方式执行4个32bit运算, 或8个16bit运算. 在Gen9之前的核显架构中, 都是不原生支持16bit运算的.
在FPU中, 一次浮点运算是由乘加操作组成. 因此, 对于32位浮点运算而言, 一个EU每周期可以执行(add + mul) * SIMD-4 * 2 FPU = 16次操作.
另外, 具有分支效果的指令, 如跳转、条件、循环指令, 则被枚举器转给分支单元处理. 而那些需要较长延迟时间的操作(如访问内存), 则被转给发送单元, 再由它与外部组件联系进行下一步操作.


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
GPU设计大多奉行模块化、可扩展的原则, 也就是说, 把一定数量的基本计算单元形成团簇, 然后再由数量不等的团簇加上某些控制单元来构成整个GPU的运算组件. NVidia和AMD都是这样做的.
N卡的计算单元团簇叫做流式多处理器 (Stream Multiprocessor, SM), 由一定量的CUDA核心组成. 在Kepler架构中, 192个CUDA核心组成一个SM, 而在Maxwell以及除GP100之外的Pascal架构中, 128个CUDA核心组成一个SM. 例如, GT750M (GK107) 有2个SM, GTX965M (GM204) 有8个SM, GTX1070 (GP104) 有15个SM.
A卡的计算单元团簇就叫做计算单元 (Compute Unit, CU), 在GCN架构中提出, 每个CU包含64个流处理器. 例如, R9 M270X (Venus XT) 有10个CU, RX560完全版 (Baffin) 有16个CU, 而R5 2500U/R3 2200G自带的Vega 8核显有8个CU.
Intel从Haswell时代的Gen7.5核显开始, 也采用类似的设计思路. 这是Intel核显性能开始跃进的关键点所在. 它采用两级EU团簇结构设计, 较低一级叫做子分片 (subslice), 较高一级叫做分片(slice).
下图示出子分片的架构, 一个子分片由8个EU组成.


图中仍然有三个需要解释的点:
1. 本地线程分发器 (Local Thread Dispatcher)
顾名思义, 它用于向每个EU中的每个线程来分配任务. 所有的指令先进入它内部的指令缓存, 然后再由它来将这些指令分发给有空闲的EU.
2. 采样器 (Sampler)
采样器是一个只读的访存单元, 用于从其外部的存储单元中获取纹理或图像数据, 并进行采样. 除了采样之外, 它还可以完成图像的坐标转换、过滤等. 采样器内有专用的两级缓存.
3. 数据口 (Data Port)
它是专门管理数据存取的单元, 负责与外部存储单元进行通用的数据交换. 另外, 它还可以进行SIMD操作的聚合, 也就是将多个长度相同, 并且偏移地址落在同一个地址段内的分散的SIMD操作放在一起处理, 这样可以使带宽最大化, 提高效率.
其实到了这里, 就可以看出核显 (以及所有能够运算的SOC) 在架构上的精细性. 每个单元都需要具有指令和数据的处理能力, 并且需要保持与其高层或低层组件的信息交换.


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
  • 坎达拉克沙
  • 跟风黑
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
将子分片集合在一起, 然后再加上一些必要的组件, 就变成分片了. 常见的(U)HD Graphics 620/630都是由3个子分片组成一个分片, 也就是说包含24个EU.


由上图也可以看出, 各主要数据总线的读写速率都是64B/周期, 这个值十分重要. 为什么一定要是64B呢?
回忆一下, EU中的一个通用寄存器可以存储32B的数据, 也就是SIMD-8x32bit. 但在实际的运算过程中, 有很多指令是SIMD-16的, 这样的话就需要将一对通用寄存器视为一个SIMD-16寄存器, 数据量就变成了64B.
这样, 每个子分片的采样器和数据口在从分片的缓存 (L3数据缓存) 中读写数据时, 宽度是64B. L3缓存中存储的数据, 每条也是64B. L3缓存到整个SoC的LLC缓存的数据总线的宽度, 当然也是64B了. 这种统一性有利于各存储单元和运算单元间的协同工作.
分片的L3数据缓存 (L3 Data Cache) 是相对于各子分片的采样器缓存而言的, 是高度bank化的存储结构, 在Gen9架构中, 它的大小是768KB.
每个子分片的数据口都要先从L3缓存中读取它们需要的数据, 而采样器则先访问自身的L1、L2缓存, 若找不到数据才要从L3缓存中读取. 一旦出现缓存未命中的情况, 分片L3缓存就要从LLC甚至系统内存中读取数据, 再返回给子分片. 由于带宽很大, 因此总体来讲效率并不低.


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
登录百度帐号
出国留学,留学申请--在线咨询
广告

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 5 6 下一页 尾页
  • 188回复贴,共8页
  • ,跳到 页  
<<返回笔记本吧
分享到:
©2023 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示