cpu、gpu的区别

news2024/10/7 8:25:33

1、CPU和GPU的内部构成

在这里插入图片描述
如上图所示,CPU和GPU的内部构成,可以看出是由不同的架构所组成

CPU:叫做中央处理器(central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元

可以形象的理解为有25%的ALU(运算单元)、有25%的Control(控制单元)、50%的Cache(缓存单元)

因为CPU涉及到通用计算,复杂度较高,——总结成少量的复杂计算

  1. 需要少量的运算单元,强大的逻辑运算能力,可以理解为4个专家,既可以做奥数题,也可以做加减法
  2. 需要足够的控制单元实现复杂的数据控制和数据转发
  3. 需要足够的缓存单元去存放一些已经计算完成的结果,或者是后面马上要用到的数据

GPU:叫做图形处理器。图形处理器(英语:Graphics Processing Unit,缩写:GPU)

又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

可以形象的理解为90%的ALU(运算单元),5%的Control(控制单元)、5%的Cache(缓存单元)

GPU的设计原理——总结为大量的简单运算

  1. 大量的运算单元:负责简单粗暴的计算,不擅长奥数题,但小学题他会
  2. 少量的控制单元和缓存单元:主要是负责合并和转发数据,对这两块的需求较小,所以占据GPU较小的空间
    在这里插入图片描述

2、GPU和CPU的特点

2.1、计算量比较

  • CPU:计算量小,原理:只有4个运算单元
  • GPU:计算量大,原理:有1000个运算单元

2.2、计算复杂度比较:

  • CPU:可计算复杂的运算,比如积分微分,4个运算单元都属于专家级别
  • GPU:只可以计算简单的1+1算术题,不能计算复杂的微分积分,1000个运算单元属于小学生水平。

2.3、对于单个积分微分的计算速度比较

  • CPU:较快。原理:单线程计算(比如机器人运动控制),单个芯片性能强劲,计算能力强,能计算出来
  • GPU:较慢,甚至可能计算不了;原理:单个芯片性能弱,计算能力弱,可能算不出来,或速度很慢

2.4、对于多个1+1算术题的计算速度比较

  • CPU:速度较慢。因为计算原理是:先算第1题, 再算第2题,总时间为【T1+T2+T3>>>+T1000(也就是1000个算术题消耗时间的累加])】
  • GPU:速度很快。因为计算原理是:可同时计算1000道算术题,总时间为【max(T1,T2,T3…T1000)(也就是1000个算术题消耗时间中的最大值)】

2.5、形象比喻

  1. GPU:计算量大,但没什么技术含量,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。
  2. CPU:像老教授,积分微分都会算,就是工资高,一个老教授资顶二十个小学生,你要是富士康你雇哪个?GPU就是这样,用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。

在这里插入图片描述

3、适用场景

  • CPU:适合需要前后计算步骤严密关联的计算场景。这些任务涉及到“流”的问题,必须先计算完第一步,再去计算第二步;比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的,生活中大部分用的都是CPU,例如武器装备运动控制、个人电脑使用等
  • GPU:适合前后计算步骤无依赖性,相互独立的计算场景。很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做

如果你购买电脑,你对电脑的需求是追求优秀的游戏图像高画质,建议就是选择GPU(又叫图像处理器或者显卡)牛逼的,这样会让你的游戏体验大增,因为你电脑中所有色彩像素点的渲染效果需要GPU去做大量并行计算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/642018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Splashtop 荣获两项“TrustRadius 2023年最受欢迎奖”

2023年5月10日 加利福尼亚州库比蒂诺 Splashtop 在简单易用的随处办公远程解决方案领域处于领先地位,该公司自豪地宣布,在远程桌面和远程支持这两个类别中荣获“TrustRadius 2023年最受欢迎奖”。这项知名奖项完全基于用户评论和客户情绪,强…

嵌入式软件实现定时器的两种方式

简介 在一般的嵌入式产品设计中,介于成本、功耗等,所选型的MCU基本都是资源受限的,而里面的定时器的数量更是有限。在我们软件设计中往往有多种定时需求,例如脉冲输出、按键检测、LCD切屏延时等等 ,我们不可能让每一个…

JavaWeb__VUE

文章目录 概述快速入门Vue指令v-bindv-modelv-on条件判断v-for 概述 Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。 Model是数…

ArduPilot之H743快速加减油门抬头现象分析

ArduPilot之H743快速加减油门抬头现象分析 1. 源由2. 现象分析3. 改善方法4. 验证5. 总结6. 参考资料 1. 源由 最近一直折腾再ArduCopter快速加减油四轴模型抬头的问题。 具体情况详见下面视频: 猛加油,机头后仰,然后点头; 快速…

一文搞清楚 Docker 镜像、容器、仓库

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

【服务器数据恢复】EXT3文件系统下Oracle数据库数据恢复案例

服务器数据恢复环境: 华为OceanStor某型号存储,十几块FC硬盘组建一组RAID5磁盘阵列,配备了一块热备盘;上层使用EXT3文件系统,配置了oracle数据库。 服务器故障: 该存储RAID5中的一块硬盘未知原因离线&…

从软件测试到自动化测试,待遇翻倍,我整理的超全学习指南!

因为我最近在分享自动化测试技术,经常被问到: 功能测试想转自动化,请问应该怎么入手?有没有好的资源推荐? 那么,接下来我就结合自己的经历聊一聊我是如何在工作中做自动化测试的。(学习路线和…

教你该如何写单元测试

目录 前言: 到底什么是单元测试 为什么单测这么难写 写个单测例子 道阻且长 前言: 编写单元测试是软件开发中非常重要的一环,它可以确保代码的质量,减少Bug的产生,提高代码的可维护性,同时也能够大大…

ts自定义迭代器

key 为 [Symbol.iterator]

软考A计划-系统架构师-案例分析知识点整理

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【数据结构】24王道考研笔记——栈、队列和数组

三、栈、队列和数组 目录 三、栈、队列和数组栈基本概念顺序栈链式栈 队列基本概念顺序存储链式存储双端队列 应用括号匹配前中后缀表达式栈在递归中的运用队列的运用 数组数组的存储对称矩阵三角矩阵三对角矩阵稀疏矩阵 栈 基本概念 栈是只允许在一端进行插入或删除操作的线…

朋友拿下字节27K的offer,实名羡慕了....

最近有朋友去字节面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

Redux异步解决方案 1. Redux-Thunk中间件

简单介绍一下thunk,这是一个中间件,是解决redux异步问题产生的。我们都知道,在使用redux的时候,通过dispatch一个action 发生到reducer 然后传递给store修改状态 一系列都是同步的,那如果说我dispatch一个action 这个a…

blockchain layer区块链分层

目录 1.layer0 2.layer1 3.layer2 ​4.layer3 1.layer0 第0层的定义目前行业还没有完全一致的理解。多数人认为第0层是 加密数据连接层及其硬件,对应上图下半部分。 也有一些人把跨链或可以创建链的基础设施为作为第0层,他们的代表有: LayerZero、S…

一文讲清后摩尔时代国产高性能并行应用软件生态建设

摘自《后摩尔时代国产高性能并行应用软件生态建设综述》 作者: 龚春叶1,刘杰1,包为民2,潘冬梅1,甘新标1,李胜国1 陈旭光1,肖调杰1,杨博1,王睿伯1 (1.国防科技大学 并…

基于stm32作品设计:多功能氛围灯、手机APP无线控制ws2812,MCU无线升级程序

文章目录 一、作品背景二、功能设计与实现过程三、实现基础功能(一)、首先是要选材(二)、原理图设计(二)、第一版本PCB设计(三)、焊接PCB板(四)编写单片机程序…

软件测试基础知识 —— 白盒测试

白盒测试 白盒测试(White Box Testing)又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试只测试软件产品的内部结构和处理过程,而不测试软件产品的功能,用于纠正软件系统在描述、表示和规格上的错误&#xff0c…

基于诺亚无人船ROS与Dronekit之间的通信浅析

阿木实验室的诺亚无人船上市已经有一段时间,经过对开发者们的多次调研,我们发现不少开发者都对诺亚无人船的通信实现方式感兴趣,为了帮助大家更好地理解并使用该产品,本期我们将针对诺亚无人船中所使用的linux编程技术以及ROS系统…

2023最新互联网工程师 Java 面试题及答案整理(7 天就能吃透)

现在 Java 面试都只是背答案吗? 不背就通过不了面试,但是现在面试都问原理、问场景!Java 面试题就像我们高考时的文言文,包括古诗词,不背是不可能答出来的!当然了,除了背,还得理解&…

某球中如何驾驶西锐SR-22小飞机在美国大峡谷中穿行

某球中如何驾驶西锐SR-22小飞机在美国大峡谷中穿行 我已经厌烦了无聊的围绕机场的五边飞行了,想飞一趟跨越乡野的转场飞行了。在我常用的飞软SimplePlanes里面,我已经完成取胜了所有的竞速赛道,我想自己创建一个航路想定,最终选择…