CPU和GPU。

题目其实比较乱,不同类的东西都堆在一起了。但对于我来说,确实是不容易搞清。

应该这么说,x86和arm是一类,是CPU架构;Amd是一家CPU制造商,它们家的CPU和Intel一样,都是x86架构。而GPU则与CPU齐名,图形处理器。当然啦,它们都算是非常重要的处理器的范畴,放在一起说也不过分。

一、x86和x64

对软件来说,x86一般是指32位的系统,x64就是64位的系统。对CPU来说,也类似。但是,x64本质上也是x86的一个版本,确切来说,应该叫x86_64,可以简单理解成x86的下一代版本。目前x86基本上已经淘汰,x64是主流。

对于世界上最大的两家CPU制造商Intel和Amd,他们都生产x86(包括x64)架构的CPU。这俩公司渊源其实很深。早期时Intel先是自己搞了个x86架构,然后Amd拿到授权也可以做x86了。接着Intel向64位过渡的时候搞了个ia64(x64架构),因为和x86架构不兼容,市场反应极差。而Amd率先搞了x86的64位兼容架构(32和64的混合架构),即现在的x86-64,Intel反过来向Amd要授权(Intel和Amd两家专利交叉的很严重)生产x86-64。由于是Amd先搞出来的,所以x86-64也叫amd64。

二、arm和MIPS

早期的cpu有两个设计思路,一是把cpu内的逻辑电路做的非常复杂,这样可以直接用cpu硬件实现复杂指令,这个叫复杂指令集CISC;另一个思路是尽可能把cpu做的简单,依靠简单指令的组合迭代完成复杂指令,这个叫精简指令集RISC。

早期的x86(含x64)是cisc的代表,后来的发展中逐步引入了risc的部分理念,将内部指令的实现大量模块化,准确来说是一个cisc外加risc部分技术的架构。

而arm是risc的典型代表,不过在发展过程中引入了部分复杂指令(完全没有复杂指令的话操作系统跑起来异常艰难),所以arm是一个risc基础外加cisc。

arm的主要专利技术在arm公司手中,像高通,三星,苹果这些公司需要拿到arm的授权。

另一个risc的典型处理器就是mips(MIPS的意思是“无内部互锁流水级的微处理器”,Microprocessor without interlocked pipelined stages,其机制是尽量利用软件办法避免流水线中的数据相关问题;mips也是这款CPU的公司名)。mips是一个学院派的cpu,授权门槛极低,因此很多厂家都做mips或者mips衍生架构。我们平时接触到的mips架构cpu主要用在嵌入式领域,比如路由器。

目前无论mips还是arm,性能和主流x86差距都很大。不过arm胜在便宜低功耗,mips则纯计算能力很强(学院派的东西貌似都这样),它们都主要用在嵌入式设备。

三、GPU

CPU是中央处理器,GPU是图形处理器(显卡的核心)。

CPU和GPU大不相同,因为它们的设计目标不同,分别针对了两种不同的应用场景。

CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。所以与CPU擅长逻辑控制,串行的运算和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。因此GPU除了图像处理,也越来越多的参与到计算当中来,比如数字加密币的挖矿。

具体来说,GPU的工作大部分计算量大,但没什么技术含量,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。而CPU就像老教授,积分微分都会算,但工资高,一个老教授工资顶二十个小学生。

四、SIMD、MIMD和SIMT

SIMD(Single Instruction Multiple Data,单指令流多数据流)
MIMD(Multiple Instruction Multiple Data,多指令流多数据流)
SIMT(Single Instruction,Multiple Threads单指令多线程)

在计算机体系中,数据并行有两种实现路径:MIMD和SIMD。其中MIMD的表现形式主要有多发射、多线程、多核心,在当代设计的以处理能力为目标驱动的处理器中,均能看到它们的身影。同时,随着多媒体、大数据、人工智能等应用的兴起,为处理器赋予SIMD处理能力变得愈发重要,因为这些应用存在大量细粒度、同质、独立的数据操作,而SIMD天生就适合处理这些操作。

如上所述,GPU 天生是处理并行问题的好手,在它的体系结构中融合了线程并行、指令并行、SIMD 数据并行的多种并行处理形式,它可以概括为是一个由多个多线程 SIMD 处理器组成的 MIMD 处理器。

与SIMD类似的又有SIMT。从字面定义看SIMD是指同一条指令多个数据。SIMT是同一条指令多个线程。他们共同的一个点就是同一条指令。简单来说,SIMD是一个核可以执行多个线程。SIMD的出现,是为了节省硬件资源,一条指令,可以驱动多个部件工作。但这样带来的后果就是编程比较麻烦,英伟达公司提出了SIMT,其初衷是希望硬件像SIMD一样高效,编程起来还像多核多线程一样的轻松。

SIMT是一个软件概念。

参考资料:
Intel和AMD 与 x86,ARM,MIPS有什么区别?
CPU 和 GPU 的区别是什么?
为何GPU可以用于加速人工智能或者机器学习的计算速度(并行计算能力)
SIMD数据并行(三)——图形处理单元(GPU)

x86、amd、arm和GPU相关推荐

  1. 医疗电子平台选择:FPGA、ARM、X86、DSP还是GPU

       本文转自2010年4月份的一篇文章,在平台选择上可能已有更高性能和更稳定的平台替代.http://www.elecfans.com/yiliaodianzi/20100427216845.htm ...

  2. Intel和AMD 与 x86,ARM,MIPS有什么区别

    1.amd和intel amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了.接着intel向64位过渡的时候自己搞了个ia ...

  3. CPU架构有多少种?X86与ARM有哪些不同之处?

    CPU架构有多少种?X86与ARM有哪些不同之处?看完这篇你就懂了_ly930156123的博客-CSDN博客_cpu架构有几种一台服务器.一台电脑.一台手机最重要的电子零部件是什么?没错,就是CPU ...

  4. RISC-V 处理器出货 100 亿颗,与X86、ARM形成三足鼎立之势

    关注+星标公众号,不错过精彩内容 来源 | OSC开源社区 前不久,OSCHINA 和 Gitee 联合发布了<2022 中国开源开发者报告>,其中,提到了关于 RISC-V 的几点内容. ...

  5. x86和arm架构【转载】

    目录 转载至"温柔的养猫人" 指令集架构ISA RISC(Reduced instruction set computer) RISC特点 ARM指令集 ARM指令集进化 ARM的 ...

  6. 四大主流芯片架构(X86、ARM、RISC-V和MIPS)

    目前市场上主流的芯片架构有 X86.ARM.RISC-V和MIPS四种: 序号 架构 特点 代表性的厂商 运营机构 发明时间 1 X86 性能高,速度快,兼容性好 英特尔,AMD 英特尔 1978年 ...

  7. Android x86的arm兼容库移植--初步分析及尝试手动移植houdini/ndk_translation

    适用于x86架构的安卓5.0以上需要root,或者离线改文件,但并非全部适用:本文仅为个人经验,未涵盖的地方需要自行探索. 手动移植Android x86的arm兼容库(houdini/ndk_tra ...

  8. 即将打破x86和ARM垄断地位的RISC-V,你了解吗?

    大家好,感谢异步图书的赞助 本篇推文将从评论区选择5个小伙伴赠送本文介绍的书籍一本,大家留言说出关于自己的技术学习感想,截止3月7号晚上10点,留言点赞前4名,再加1名由小编选出的评论将获取赠送书籍. ...

  9. 【写博客常用】x86,x64,arm都是什么

    [写博客常用]x86,x64,arm都是什么 指令集架构 指令集 参考文章 指令集架构 指令集架构主要分两大类. 复杂指令集运算(Complex Instruction Set Computing,C ...

最新文章

  1. TVM Reduction降低算力
  2. 计算机专业有python课程吗-作为计算机专业学生,最应该学习的课程前五位是什么?...
  3. mongo 多条件筛选_如何制作提交按钮,实现多条件筛选
  4. jQuery EasyUI API 中文文档 - 微调器(Spinner)
  5. ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择
  6. c语言的point函数,C语言中friend友元函数详细解析
  7. C语言如何交换两个数(位运算)
  8. larveral开发api源码 php_PHP数据库驱动扩展概述与不同方式连接数据库总结
  9. 人工智能教学解决方案
  10. ZIGBEE通过协议栈点对点通信流程
  11. alexa前100万个域名下载
  12. Mircrosoft Visual C++ Runtime Library提示窗口为何黏着桌面
  13. 方配网站服务器,方配网站服务器
  14. 成语学习微信小程序源码
  15. python基础代码大全博客园,python基础代码大全解释
  16. 一圈,两圈,三圈,四圈……
  17. C语言答案杨崇艳,下列关于儿童语句发展的说法中,哪些是正确的? ( )
  18. 通信相关中英对照术语
  19. 植物创建与种植插件大全
  20. 基于uVision的STM32F103C8编程-----心率测量

热门文章

  1. JSD-2204-VueCLI-Day01
  2. 计算机毕业设计springboot睎晴贸易公司安保保洁管理平台
  3. js实现十大经典排序算法
  4. 笔记工具:幕布 简要使用教程
  5. excel2016 for mac 二维表转一维表
  6. [学习][数据结构]二叉搜索树
  7. NFM 网络介绍与源码浅析
  8. BZOJ 1778 Usaco2010 Hol Dotp 驱逐猪猡 期望DP+高斯消元
  9. 计算机网络面试题总结之一
  10. High-Resolution Net(HRNet) 论文笔记