首页 > 其他分享 >ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍

ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍

时间:2023-09-01 12:22:23浏览次数:55  
标签:架构 x86 Intel 32 AMD x64 64 CPU X86

一、ARM和X86

X86 和 ARM 都是CPU设计的一个架构。X86 用的是复杂指令集。ARM用的是精简指令集。
指令集其实就是机器码,机器码上是汇编,汇编之上是程序语言例如java、c、c#。
复杂指令集是在硬件层面上设计了很多指令,所以编程会简单些。
精简指令集是在硬件层面上设计的指令比较少,所以编程会复杂些。
除了指令集的区别,X86 和 ARM的设计理念和应用场景也不同。
ARM的硬件框架更加耦合,没有’桥“的存在,所以可扩展性%不好,也就是说换个硬件平台就得重新设计,但它的功耗低,所以特别适合在手机上用。
X86体系庞大,设计完整,历史悠久,所以他有很多第三方软件%可以用,一个体系可以用在各种电脑上,可移植性强。主机一般都用它。
Intel是在X86的推动着,他和windows在一起,可以说称雄电脑市场。ARM以前和linux结盟,搞嵌入式,但现在因为,ANdroid的异军突起,ARM在移动端焕发新的生机。

二、x86和x64

x86和x64架构是指英特尔和AMD创建的两种使用最广泛的指令集架构(ISA)。ISA指定机器代码的行为,并定义软件如何控制CPU。ISA是硬件和软件接口,定义了CPU可以做什么以及如何做。

什么是x86架构?

x86是一种用于计算机处理器的ISA,最初由英特尔于1978年开发。x86架构基于英特尔的8086(因此得名)微处理器及其8088变体。起初,它是用于16位处理器的16位指令集,后来发展到32位指令集。

位数表示CPU每个周期可以处理多少信息。例如,32位CPU每个时钟周期最多可传输32位数据。

由于其能够在笔记本电脑、家用PC和服务器等几乎任何计算机上运行,x86架构在众多微处理器制造商中变得流行起来。
x86架构最大的限制是它最多可以处理4096MB的RAM。由于支持的组合总数为2^32(4,294,967,295),因此32位处理器具有42.9亿个内存位置。每个位置存储一个字节的数据,相当于大约4GB的可访问内存。今天,术语x86表示任何能够运行x86指令集的32位处理器。

什么是x64架构?

 x64(x86-64的缩写)是基于x86的指令集架构,扩展为启用64位代码。它于2000年首次发布,引入了两种操作模式-64位模式和兼容模式,允许用户运行16位和32位应用程序。
由于整个x86指令集仍然在x64指令集中实现,因此较旧的可执行文件运行几乎没有性能损失。

x64体系结构支持比x86体系结构更多的虚拟和物理内存,允许应用程序在内存中存储大量数据。此外,x64将通用寄存器的数量扩展到16个,从而提供了进一步的增强和功能。

x64体系结构总共可以使用2^64字节,相当于160亿千兆字节(16EB)的内存。更高的资源利用率使其适合为需要访问大量资源的超级计算机和机器供电。x64架构允许CPU每个时钟周期处理64位数据,远远超过x86。

x86与x64

虽然这两种体系结构类型都基于32位集,但一些关键差异使它们适用于不同的用途。它们之间的主要区别在于每个时钟周期可以处理的数据量和处理器的寄存器宽度。x86和x64指令集体系结构之间的主要区别。处理器将常用数据存储在寄存器中,以便快速访问。x86体系结构上的32位处理器具有32位寄存器,而64位处理器具有64位寄存器。因此,x64允许CPU存储更多数据并更快地访问它。寄存器宽度还决定了计算机可以使用的内存量。
下表概述了x86和x64体系结构集之间的主要区别:

 x86与x64应用和局限性

由于它们的功能不同,并且在资源访问、速度和处理能力方面存在差异,因此每个体系结构集用于不同的目的:
x86
世界上许多PC仍然基于x86操作系统和CPU。
用于游戏机。
云计算段仍然使用x86架构。
较旧的应用程序和程序通常在32位体系结构上运行。
它更适合仿真。
32位仍然是音频制作中的首选,因为它与较旧的音频设备兼容。
x64
越来越多的PC使用64位CPU和基于x64体系结构的操作系统。
所有现代移动处理器都使用x64架构。
它用于为超级计算机提供动力。
用于视频游戏机。
虚拟化技术基于x64体系结构。
它更适合较新的游戏引擎,因为它速度更快,性能更好。

x86 还是 x64 更好?

尽管 x86 和 x64 都有优势,但未来不会容忍限制,这意味着 x86 最终将很少使用或完全丢弃。此外,x64 速度更快,可以分配更多 RAM 内存,并通过 64 位数据总线具有并行处理能力,使其成为两种架构类型之间的更好选择。
选择要安装的操作系统类型时,最好安装 64 位操作系统,因为它可以同时运行 32 位和 64 位软件。另一方面,基于 x86 的操作系统仅运行 32 位软件。
总体而言,x64 比 x86 功能强大得多,利用所有已安装的 RAM,提供更多的硬盘空间、更快的总线速度和整体更好的性能。

内容参考链接

三、Intel和AMD

amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差,amd率先搞了x86的64位兼容(32和64的混合架构)也就是后来的x86-64,后来Intel也拿到了生产这货的授权(i和a两家专利交叉的很严重),也搞了x86-64,因为amd先搞出来的所以x86-64也叫amd64

目前amd和Intel是世界上最大的两家x86和x86-64的cpu厂家(intel比较给力,四分天下有其三)。除了这两家还有几家小的公司也有x86的授权,比如via,不过技术水平真的很一般。

四CPU和GPU

CPU(Central Processing Unit-中央处理器),是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

 

GPU(Graphics Processing Unit-图形处理器),是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。

gpu和cpu的区别

1、缓存
CPU有大量的缓存结构,目前主流的CPU芯片上都有四级缓存,这些缓存结构消耗了大量的晶体管,在运行的时候需要大量的电力。
GPU的缓存就很简单,目前主流的GPU芯片最多有两层缓存,而且GPU可以利用晶体管上的空间和能耗做成ALU单元,因此GPU比CPU的效率要高一些。

2、响应方式
CPU要求的是实时响应,对单任务的速度要求很高,所以就要用很多层缓存的办法来保证单任务的速度。
GPU是把所有的任务都排好,然后再批处理,对缓存的要求相对很低。

3、浮点运算方式
CPU除了负责浮点整形运算外,还有很多其他的指令集的负载,比如像多媒体解码,硬件解码等,因此CPU是多才多艺的。CPU注重的是单线程的性能,要保证指令流不中断,需要消耗更多的晶体管和能耗用在控制部分,于是CPU分配在浮点计算的功耗就会变少。
GPU基本上只做浮点运算的,设计结构简单,也就可以做的更快。GPU注重的是吞吐量,单指令能驱动更多的计算,相比较GPU消耗在控制部分的能耗就比较少,因此可以把电省下来的资源给浮点计算使用。

4、应用方向
CPU所擅长的像操作系统这一类应用,需要快速响应实时信息,需要针对延迟优化,所以晶体管数量和能耗都需要用在分支预测、乱序执行、低延迟缓存等控制部分。
GPU适合对于具有极高的可预测性和大量相似的运算以及高延迟、高吞吐的架构运算。

下面是一张芯片总览:

  文章来源:https://blog.csdn.net/juanxiaseng0838/article/details/130640999
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://www.rstk.cn/news/735460.html 如若内容造成侵权/违法违规/事实不符,请联系我的编程生涯网邮箱:[email protected]进行投诉反馈,一经查实,立即删除!    

标签:架构,x86,Intel,32,AMD,x64,64,CPU,X86
From: https://www.cnblogs.com/gaoyanbing/p/17671524.html

相关文章

  • docker build过程中遇到错误qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so
    Removingintermediatecontainer70af516d5d6b--->a69229847153Step5/6:RUNGO111MODULE="on"gogetgithub.com/jsonnet-bundler/jsonnet-bundler/cmd/jb;ln-s$(goenvGOPATH)/bin/jb/usr/bin/jb--->Runningin13545862fffeqemu-x86_64:......
  • 8步轻松晋级AMD MPSoC Linux内核调试专家
    8步轻松晋级AMDMPSoCLinux内核调试专家介绍AMDMPSoCLinux一般使用PetaLinux编译Linux系统,包括Linux内核、DTS、文件系统。PetaLinux内部集成Yocto,自动下载、配置、编译各种软件包。它简化了编译流程,也导致有些工程师找不到软件包的源代码,不知道如何调试软件。在PetaLinux......
  • 20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于IDEA的预览版IDEA会启用新的UI,这事情之前已经在多位大佬的博客中有提到了,当时我也按照大佬们的文章去递交了试用体验版的申请今天终于收到邮件,说审批通过,并给出......
  • Visual Studio之中文智能提示(IntelliSense本地化)
    VisualStudio之中文智能提示(IntelliSense本地化)黄瓜皮2022-05-3010:491034|收录于专栏: VisualStudio......
  • ARM x86 RISC-V
    引言:计算机指令集架构是计算机体系结构的基础,不同的指令集架构在不同的应用领域具有重要性。本文将比较三种主要的指令集架构:ARM、x86和RISC-V,探讨它们的特点、应用以及对计算机领域的影响。ARM架构:ARM架构起源于英国的ARM公司,广泛应用于移动设备、嵌入式系统和物联网。ARM架构......
  • Lamda表达式
    Lamda表达式1.为什么要用lamda表达式(函数式编程)避免匿名内部类定义过多。代码简洁。去掉没有意义代码,只留下核心逻辑。newThread(()->System.out.println("多线程学习")).start()2.函数式接口定义:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口......
  • IntelliJ IDEA maven配置,设置pom.xml的配置文件
    IntelliJIDEA项目,选择 文件 设置,弹窗构建、执行、部署构建工具Maven就可以maven配置好以后,在pom.xml的配置文件中就可以设置对应的jar包了,这样构建的时候自动需要的jar,在项目中导入即  需要的jar包设置在pom.xml中设置即可,仓库:https://mvnrepository.com/,aliyun仓......
  • ubuntu-20.04.6-live-server-amd64乌班图服务器版操作系统安装记录
    安装盘,加载数据选择安装语言,默认English,直接回车更新安装、不更新安装和返回,按默认选择不更新安装,直接回车。选择键盘语言,默认English,直接回车。设置网络,默认dhcp获取了一个IP,服务器一般固定IP,方向键操作修改配置选中网卡后回车,菜单选择IPV4回车模式选择静态IP/手动,回车设置录入静......
  • Intellij Idea 不区分大小写(自动提示)
    使用idea工具的时候,用户输入几个字母就能提示可能的类名或变量名,在使用时很方便但是默认配置下工具会区分大小写,导致不能达到预期提示效果比如输入st,并不能提示出String等原来是改casesensitive的设置新版idea的改成了Matchcase,去掉勾选就行 所以碰到大小写的,直接搜case......
  • x86/64小主机上安装openWRT,并且扩容
    目前最新版本的openWRT是22.03.5可以在这里选择:https://firmware-selector.openwrt.org https://firmware-selector.openwrt.org/?version=22.03.5&target=x86%2F64&id=generic一定要选择COMBINED-EFI(EXT4)下载。 COMBINED(EXT4)写入后,无法进入系统ROOTFS(EXT4)就一......