x86、amd、arm和GPU

news/2025/2/21 7:50:42/

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)


http://www.ppmy.cn/news/246870.html

相关文章

arm架构和x86架构区别

指令集 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。Intel主要有x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3)&#xff0…

传说中的ARM架构与X86架构

目录 1、指令集 1.1 CISC 1.2 RISC 1.3 CISC优缺点 1.4 RISC优缺点 2、ARM架构与X86架构 1、指令集 指令集可分为CISC(复杂指令集)与RISC(精简指令集) 1.1 CISC 计算机处理器包含有实现各种功能的指令或微指令,指…

X86

X86 来自ITwiki&#xff0c;开放的信息技术大百科 Jump to: navigation, <jumptoSearch> x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。 该系列较早期的处理器名称是以数字来表示&#xff0c;并以“86”作为结尾&#xff0c;包括Intel 8086、8018…

ARM架构和x86架构有什么区别?

X86结构和ARM架构是主流的两种CPU架构&#xff0c;X86架构的CPU是PC服务器行业的老大&#xff0c;ARM架构的CPU则是移动端的老大&#xff0c;X86架构和arm架构实际上就是CISC与RISC之间的区别&#xff0c;很多用户不理解他们两个之间到底有那些区别&#xff0c;实际就是他们的领…

X86:2:X86处理器架构

文章目录 2.1.3读取内存2.1.4加载并执行程序 2.2 32位x86处理器2.2.1操作模式 2.3 64位X86-64处理器 2.1.3读取内存 从内存读取一个值经将想要读取的值的地址放到地址总线设置处理器RD(读取)引脚(改变RD的值)等待一个时钟周期给存储器芯片进行响应将数据从数据总线复制到目标操…

ARM与X86 CPU架构区别

CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构&#xff0c;它的设计目的是 CISC要用最少的机器语言指令来完成所需的计算任务。 RISC和CISC是设计制造微处理器的两种典型技术&#xff…

Linux x86 和ARM什么区别?

问题&#xff1a; 最近在用三星的一款i5处理器的Windows平板&#xff0c;和iPad&#xff0c;以及其他使用ARM处理器的手机相比&#xff0c;发热量大很多&#xff0c;甚至需要借助风扇来散热&#xff0c;耗电量也大了不少。 那么就很奇怪&#xff0c;在主频相差不大&#xff0…

x86,x86_64,ARM是什么?

http://in.ali213.net/news/201603/1057.html 它们都是处理器CPU. 处理器&#xff08;CPU&#xff09;x86x86_64ARM位数3264 性能&#xff08;速度/功耗&#xff09; 常用设备台式机台式机手机