CPU与GPU的基本知识

重要指标

延迟:一条指令从发出到返回结果所经历的时间间隔
吞吐量:单位时间内处理指令的条数

CPUs: 延迟导向设计

在这里插入图片描述

CPU特点:
设计原则:减少延迟(所以叫延迟导向设计)

  1. 内存大
    本着空间换时间的思想,拥有多级缓存结构提高访存速度
    L1 Cache, L2 Cache, L3 Cache
    把经常访问的数据放在低级缓存 L1 Cache中
    不常访问的数据放在高级缓存 L3 Cache中

  2. 有很多复杂的 Control 单元(如图所示)

重要机制:
(i)分支预测机制 -- 在硬件中判断语言的 if esle break continue 的执行
(ii)流水线数据前送机制 -- 判断如果是马上要访问的数据,会用流水线机制把数据尽可能向前推送,减少等待时间 
  1. 运算单元强大
    支持整型浮点型数据运算
    支持与或非逻辑运算

GPUs: 吞吐导向设计

在这里插入图片描述

设计原则:增加指令吞吐

  1. 缓存小(如图 L2 Cache)
    缓存小 – > 使得指令访问缓存的次数显著减少 – >提升内存访问吞吐

  2. 控制单元简单
    没有分支预测机制
    没有数据转发机制

  3. 精简运算单元
    多长延时流水线以实现高吞吐量(一行很多运算单元)
    需要大量线程来容忍延迟(每一行的运算单元控制指令只有一个【如图一行的橙紫两小格】)

GPU&CPU对比

CPU比 GPU ,单条复杂指令延迟快10倍以上
GPU比 CPU ,单位时间内执行指令数量10倍以上

CPU:一个优秀的大学生
GPU: 1000个中学生

适合实用GPU的场景

1)计算密集的程序适合在GPU --  because 数值计算的比例要远大于内存操作,因此内存访问的延时可以被计算掩盖 
2)并行度高的程序适合在GPU --  because 大任务可以拆解为执行相同指令的小任务,因此对复杂流程控制的需求较低

3)控制复杂的程序不适合在GPU运行
4)如果要频繁的访问缓存,则不适合使用GPU

重点

  • 流水线前传机制 如何使CPU的效率显著增加
  • 3级缓存(Cache)的特点 ,哪些内容适合放在哪一级别的缓存上
  • 什么样的问题适合GPU
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值