2023-5-17-CPU架构学习(amd、ard等)



🍿*★,°*:.☆( ̄▽ ̄)/$:*.°★* 🍿

💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥
💟💟喜欢的朋友可以关注一下,下次更新不迷路💟💟
😆😆😆私聊获取个人订阅号哦,欢迎订阅共同学习😆😆😆
💖💖💖💖可以加入大家庭群聊,一起学习天天有福利💖💖💖💖





🍬本文摘要

在这里插入图片描述

最近在学习过程中接触到了不同的跨平台编程,包括程序32位和64位的不同,包括amd64到ard64不同的硬件系统,有点晕,得补补课学习一下。


目录

  • 🍬本文摘要
  • 😉一、CPU架构是什么
  • 🐱‍🐉二、CISC和RICS的优缺点
  • 🎉三、CPU架构的分类
  • 🐱‍🚀四、x86架构
  • 🎂五、x64架构
  • 🥩六、ARM
  • 🍚七、PowerPC
  • 🥠八、MIPS
  • 🍤九、SPARC
  • 🥚十、IA-64
  • 🥡十一、为什么在64位的电脑上能编译32位程序
  • 🌯十二、arm架构分为几种
  • 🥫十三、arm架构有32位系统吗
  • 🥫十三、arm64和amd64的区别
  • 🥫十三、不用的处理器架构的市场份额的变化以及未来的发展预测
  • 🍳参考文献
  • 🧊文章总结



😉一、CPU架构是什么

CPU架构和处理器架构是相同的概念,它们都指的是中央处理器的结构和设计。CPU架构通常是指基于指令集的架构,例如x86、ARM或MIPS等。而处理器架构则更广泛,可以包括诸如硬件组件、总线结构和内存管理等方面的内容。

CPU架构指的是一种计算机处理器的设计,包括其指令集、寄存器、数据类型和内存访问方式等方面。不同的处理器架构具有不同的特点和优劣势,如运行速度、能耗、成本等方面的差异。

CPU架构可以分为两种主要类型:基于复杂指令集(CISC)的处理器和基于精简指令集(RISC)的处理器。CISC 处理器使用复杂的指令来完成多个任务,而 RISC 处理器则使用更简单的指令来提高效率和性能。除此之外,还有其他类型的处理器架构,如向量处理器、超标量处理器等。

CPU架构直接影响到计算机系统的性能和功能,因此在选择计算机硬件、开发软件或进行编译时需要考虑CPU架构的适用性。


🐱‍🐉二、CISC和RICS的优缺点

基于复杂指令集(CISC)的处理器和基于精简指令集(RISC)的处理器各有其优缺点,具体如下:

CISC 处理器的优点:

  • 能够执行复杂的指令,从而减少编写程序所需的代码量;
  • 支持多种不同的数据类型和操作,包括浮点运算、位运算等;
  • 提供了硬件支持的流程控制语句,如条件分支、循环等;
  • 可以直接访问内存中的数据,从而提高了访问速度。

CISC 处理器的缺点:

  • 指令长度较长,需要更多的存储空间;
  • 复杂的指令需要更长的执行时间,导致整体性能下降;
  • 由于指令复杂,设计和生产成本更高;
  • 复杂的指令集使其难以进行流水线处理,从而限制了性能的提升。

RISC 处理器的优点:

  • 采用较短的指令,可以在相同的字长情况下执行更多的指令,从而提高效率;
  • 精简的指令集可以降低设计和生产成本,同时易于实现流水线处理,从而进一步提高性能;
  • 采用相同的指令格式,可以更容易地进行编译和优化;
  • 精简指令集使得处理器更加易于设计和实现。

RISC 处理器的缺点:

  • 对于复杂的运算和操作,需要使用多个指令,从而增加了编写程序所需的代码量;
  • 不支持一些高级操作,如除法、开方等;
  • 无法直接访问内存中的数据,需要通过寄存器来传递数据;
  • 受到存储器带宽限制,对于大量内存访问的应用场景,性能会有所下降。

***、

🎉三、CPU架构的分类

CPU 架构可以分为多种,以下是一些常见的 CPU 架构:

  1. x86:一般用于 32 位操作系统和应用程序,支持最多 4GB 内存寻址。

  2. x64(也称为 AMD64 或 Intel 64):一般用于 64 位操作系统和应用程序,支持更大的内存寻址空间和更高的性能。

  3. ARM:主要用于移动设备和嵌入式系统,有多个不同版本的 ARM 架构,如 ARMv7、ARMv8 等。

  4. PowerPC:用于 IBM 的服务器和高性能计算领域。

  5. MIPS:用于路由器、嵌入式系统等领域。

  6. SPARC:用于 Sun Microsystems 的服务器和工作站。

  7. IA-64 (Itanium):Intel 推出的高性能 CPU 架构,主要用于大型企业服务器。

不同的 CPU 架构具有不同的指令集和寄存器组,因此代码需要根据不同的架构进行编译。在软件开发过程中,需要考虑目标平台的 CPU 架构,并编写相应的代码和编译选项。


🐱‍🚀四、x86架构

x86是一种CPU架构,最初由英特尔公司于1978年推出。该架构在个人计算机和服务器领域广泛使用。x86架构的指令集包括了大量的操作码,这些操作码可以用来进行各种运算、访问内存、控制程序流等操作。

x86架构最初只有16位,但在后来的发展过程中,它逐渐增加了32位和64位的支持。其中,32位版本被称为IA-32,也叫x86-32或i386;64位版本被称为x86-64或AMD64。这些扩展使得x86架构更加灵活,并支持了更多的内存和更高效的指令处理能力。

除了英特尔之外,其他公司如AMD和VIA也推出了基于x86架构的处理器。此外,x86架构还广泛应用于虚拟化技术和云计算等领域。总的来说,x86架构已经成为计算机历史上最为成功的CPU架构之一,也是当前PC和服务器市场上的主流架构之一。


🎂五、x64架构

x64,也称为x86-64或AMD64,是一种CPU架构的扩展,支持64位操作系统和应用程序。它是x86架构的一种扩展,由AMD公司于2003年推出。

相对于32位x86架构,x64架构有以下优势:

1.更大的内存寻址空间:x86架构最多只能寻址4GB的内存,而x64架构可以寻址的内存空间高达18EB(即18亿GB),使得计算机可以处理更大、更复杂的任务。

2.更高的性能:x64架构具有更广泛的寄存器集和指令集,能够更好地支持并行运算和向量化操作,从而提高了处理器的性能。

3.更好的安全性:x64架构的硬件虚拟化技术能够提供更好的安全隔离和保护,同时还支持更强大的数据加密和解密功能,确保用户数据的安全性和机密性。

目前,大多数桌面和服务器处理器都支持x64架构,并且主流操作系统和应用程序也都已经逐步迁移到了64位架构上。因此,x64架构已经成为了计算机领域中不可或缺的重要组成部分之一。


🥩六、ARM

ARM(Advanced RISC Machine)是一种基于精简指令集体系结构(RISC)的计算机处理器架构。它由ARM Holdings公司开发,广泛用于移动设备、嵌入式系统和其他低功耗应用中。

ARM架构具有能够在相同或更低功率消耗下提供更高性能的特点。这是通过采用流水线技术、分支预测以及其他优化技术来实现的。ARM还具有可扩展性,可以在不同应用场景下使用多种不同的配置和规格。

由于其低功耗和高性能的特点,ARM处理器被广泛用于智能手机、平板电脑、数字音频播放器、路由器、网络交换机、数字相机、数字电视、游戏控制台等嵌入式设备。此外,ARM还逐渐进入到桌面计算机和服务器市场,并成为了新一代超级计算机的基础。


🍚七、PowerPC

PowerPC(Performance Optimization With Enhanced RISC – Performance Computing)是一种基于精简指令集计算机处理器架构,最初由IBM、Apple和Motorola合作开发。它旨在提供高性能、低功耗和可扩展性,并广泛用于桌面计算机、服务器和嵌入式系统中。

相比于其他RISC架构,PowerPC具有更强的浮点运算能力和向量处理能力,这使得它在科学计算、数字信号处理、图像处理等领域表现出色。

PowerPC还具有多核心和对SIMD(单指令多数据)扩展的支持,可以通过对称多处理(SMP)和非一致性存储访问(NUMA)技术来实现高效的并行计算和内存管理。

尽管PowerPC曾经在桌面计算机市场上与x86架构竞争过,但由于其市场份额逐渐减少,目前主要应用在服务器、网络设备、工业控制和嵌入式系统等领域。其中,IBM Power架构被广泛应用于企业级服务器和超级计算机领域。


🥠八、MIPS

MIPS(Microprocessor without Interlocked Pipeline Stages)是一种基于精简指令集计算机处理器架构,最初由斯坦福大学的研究人员开发。其主要特点是高效、快速和可扩展。

MIPS架构采用流水线技术和延迟槽等优化技术,可以实现高效的指令处理和高性能的运算能力。同时,MIPS还支持多核心、超标量和超线程等技术,可以充分发挥硬件资源的性能优势,提高系统的并行处理能力。

除了在桌面计算机、服务器和工业控制等领域得到广泛应用之外,MIPS处理器还被广泛应用于嵌入式系统中,如路由器、数字电视和智能手机等。此外,MIPS还被广泛应用于物联网(IoT)领域,因为它具有低功耗、小尺寸、高性能、安全性强等优点。

近年来,MIPS已经成为了中国的国产处理器架构,大量被应用于我国的信息通信领域以及智能制造、智慧城市等领域的终端设备。


🍤九、SPARC

SPARC(Scalable Processor ARChitecture)是一种基于精简指令集计算机处理器架构,最初由Sun Microsystems公司开发。它的设计目标是提供高性能、可扩展性和灵活性,并广泛应用于服务器、工作站和嵌入式系统中。

SPARC架构采用乱序执行技术、分支预测和超标量处理等优化技术,可以实现高效的指令处理和高性能的运算能力。同时,SPARC还支持多线程技术,可以充分发挥硬件资源的性能优势,提高系统的并行处理能力。

除了在服务器和工作站领域得到广泛应用之外,SPARC处理器还被广泛应用于嵌入式系统中,如路由器、交换机、智能电网和智能交通等。此外,SPARC还被广泛应用于高性能计算和科学计算领域,如天气预报、气候模拟、分子动力学等。

随着Oracle公司收购Sun Microsystems,SPARC架构逐渐成为了Oracle公司的重要产品线之一。目前,Oracle SPARC处理器已经成为了企业级服务器领域的主流产品之一,在金融、电信、公共事业和政府等领域得到广泛应用。


🥚十、IA-64

IA-64(Intel Architecture 64)是一种基于精简指令集计算机处理器架构,由英特尔公司和惠普公司联合开发。它的设计目标是提供高性能、可扩展性和灵活性,并广泛应用于服务器和工作站等高端计算领域。

IA-64架构采用了EPIC(Explicitly Parallel Instruction Computing)执行模型,将编译器、CPU 和操作系统紧密地结合在一起,实现了高效的指令流水线和高性能的并行处理能力。同时,IA-64还支持高速缓存、多核心、超线程和可靠性、可用性、可维护性等特征,可以满足高端计算领域对可靠性和可用性的要求。

尽管IA-64曾经在高端计算领域得到了广泛应用,但它并没有取代x86架构,因为它需要使用专门为IA-64架构编写的应用程序,而大多数应用程序是为x86架构编写的,这使得IA-64成本昂贵且应用范围有限。

由于IA-64的市场份额逐渐减少,英特尔公司已经停止了IA-64的生产,并逐渐将其改变方向,将资源投入到其他架构的发展中。


🥡十一、为什么在64位的电脑上能编译32位程序


在64位的电脑上能编译32位程序,是因为现代计算机处理器支持向下兼容。具体来说,64位的处理器内部包含了一个32位的子系统,可以运行和处理32位的指令和数据。

当我们在64位的操作系统上安装了32位的编译器时,它会生成32位的目标文件,使用32位的指令集和API(应用程序接口),并链接到32位的库。这些库可以在64位环境中使用,因为它们同样可以被加载到32位的子系统中并执行。

需要注意的是,虽然64位的CPU可以运行32位程序,但是反过来并不一定成立64位程序通常需要更多的内存和更强的计算能力,而32位的子系统只能访问有限的内存空间和资源,因此无法完全发挥64位CPU的优势。


🌯十二、arm架构分为几种

ARM架构分为三种:

  1. ARMv6及以下:这是最早的ARM架构,适用于低功耗和低成本的应用。它具有较小的指令集和功能,运行在单核处理器上,并且主要用于嵌入式系统和移动设备。

  2. ARMv7:这是第二代ARM架构,支持更广泛的应用场景。该架构包含了多种规格和配置,可以运行在单核或多核处理器上,支持更高的时钟频率和更高的性能。ARMv7还引入了虚拟化、NEON SIMD(单指令多数据)扩展和可选的硬件安全扩展等功能。

  3. ARMv8及以上:这是目前最新的ARM架构,也称为ARM64或AArch64。ARMv8架构采用了64位设计,具有更大的地址空间和更高的内存容量。此外,ARMv8还引入了新的指令集和硬件特性,如指令突发(instruction pipelining)、更先进的分支预测、向量寄存器和加密扩展等,从而提供更高的性能和更好的安全性。ARMv8架构主要用于服务器、高端手机、平板电脑、超级计算机等领域。


🥫十三、arm架构有32位系统吗

是的,ARM架构有32位系统。实际上,大多数ARM处理器都是32位的,包括早期的ARMv6及以下版本和中期的ARMv7版本。

即使在目前最新的ARMv8架构中,也同时支持64位和32位模式。在32位模式下,它可以运行现有的32位应用程序,并且兼容已有的32位操作系统和库。这种兼容性对于嵌入式系统和移动设备等低功耗应用非常重要,因为它可以保证平滑的升级过程和无缝的软件兼容性。

需要注意的是,虽然ARMv8架构同时支持64位和32位模式,但在64位模式下,它可以提供更高的性能和更大的内存寻址能力,适用于需要处理大数据量和需要更高计算性能的应用领域。


🥫十三、arm64和amd64的区别

ARM64和AMD64(也称为x86-64或Intel 64)是两种不同的处理器架构,有以下几个方面的区别:

  1. 指令集:ARM64采用了全新的AArch64指令集,而AMD64则是在x86指令集基础上扩展的64位指令集。

  2. 寄存器:ARM64和AMD64都拥有更多的寄存器,但是ARM64的寄存器宽度和规格更加统一,并且支持向量寄存器,可以提供更好的并行计算能力。

  3. 内存寻址:ARM64和AMD64的内存寻址方式不同。ARM64使用相对寻址方式,这意味着程序可以使用相对地址访问存储器,因此可以节省指令码的长度和内存带宽。而AMD64使用绝对寻址方式,需要在指令中包含完整的地址信息。

  4. 应用领域:ARM64主要用于移动设备、智能手机、平板电脑、嵌入式系统、服务器等领域,而AMD64主要用于桌面计算机、企业服务器和工作站等领域。

总体来说,ARM64和AMD64具有各自的特点和优势,适用于不同的应用场景。为了编写和运行在这些平台上的软件,程序员需要编写不同的指令集和体系结构相关代码。


🥫十三、不用的处理器架构的市场份额的变化以及未来的发展预测

处理器架构的市场份额变化情况和未来的发展预测:

  1. x86架构:x86架构是目前桌面计算机和服务器领域的主流架构,其市场份额稳定并保持着高水平。预计随着人工智能、云计算等领域的需求增加,x86架构仍将继续保持其领先地位。

  2. ARM架构:ARM架构主要应用于移动设备、嵌入式系统和物联网等领域。由于这些领域的需求不断增长,ARM架构预计将继续保持增长势头,并有望在新兴市场中占据更大的份额。

  3. PowerPC架构:PowerPC架构曾经在超级计算机和企业级服务器领域具有一定的市场份额,但目前已经逐渐减少。未来,PowerPC架构可能会在工业控制、网络设备和物联网等领域得到应用。

  4. MIPS架构:MIPS架构广泛应用于嵌入式系统和物联网领域。由于这些领域的需求不断增长,MIPS架构预计将继续保持增长势头。

总体来说,市场份额的变化取决于各种因素,如技术发展、应用需求、成本和竞争等。随着新兴领域的不断涌现和需求的不断增加,处理器架构市场仍将保持活跃,而且未来还会出现新的架构和技术。


🍳参考文献

🧊文章总结

提示:这里对文章进行总结:

  本文讲了不同处理器架构是什么,它们之间的不同点是什么,应用领域是什么,未来的发展趋势是什么。






更多好文推荐

🍸2023-4-6-C++11、C++14、C++17、C++20版本新特性系统全面的学习!!!(全面准确,建议关注收藏订阅专栏)
🍹2023-5-4-Lua语言学习
🍺2022-10-31-基于用户的协同过滤推荐算法实现+MAE+RMSE
🍻2022-11-28-大数据可视化,特征维度大于50
🥂2023-3-9-一篇简短的文章把C++左右值关系讲的透透彻彻

上一篇
End
下一篇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务的使用场景和架构设计方案

目录 【单体架构】 【微服务解决哪些问题】 微服务的拆分原则 微服务使用过程中有哪些坑? 【RPC框架】 常见的网络 IO 模型 RPC 执行过程总结 【CAP原理】 如何使用 CAP 理论 【服务注册和发现】 【配置中心】 【Consul】 Consul介绍 Consul角色 Con…

高效易懂,打造维护性好的Web自动化测试框架PO模式精讲

目录 前言: 一、 PO概述 二、PO何实现于Web框架素自动化测试重中之重。 1.为了保证易维护性和易读性,我们可以在项目中定义一个统一的库,用来存放所有的定位器类。 2.定义一个基础的类,该类用于针对PO的元素定位进行封装。 3…

Vivado综合属性系列之四 ROM_STYLE

目录 一、前言 二、ROM_STYLE 一、前言 ROM英文全称为Read Only Memory,只读存储器,里面主要存放固定的数据。 二、ROM_STYLE ROM的使用方式与RAM类似,格式样例为:(* rom_style"{distributed | block}" *)&#xff0…

Java经典笔试题—day09

Java经典笔试题—day09 🔎选择题🔎编程题🥝另类加法🥝走方格的方案数 🔎结尾 🔎选择题 (1)下面程序的输出是 ( ) String x“fmn”; x.toUpperCase(); String yx.replace(‘f’,‘F’); yy“wxy”; System…

Vue3-黑马(十)

目录: (1)vue3-antdv-全局提示与校验 (2)vue3-进阶-router-入门 (3)vue3-进阶-router-动态导入-嵌套路由-重定向 (1)vue3-antdv-全局提示与校验 当用户新增修改&…

​GPT充当大脑,指挥多个模型协作完成各类任务,通用系统AutoML-GPT来了

使用 ChatGPT 实现通用人工智能,思路打开了。 当前,AI 模型虽然已经涉及非常广泛的应用领域,但大部分 AI 模型是为特定任务而设计的,它们往往需要大量的人力来完成正确的模型架构、优化算法和超参数。ChatGPT、GPT-4 爆火之后&…

Unity用AI制作天空盒,并使用,详细图文教程

Unity用AI制作天空盒,并使用,详细图文教程 效果AI制作使用总结版权声明 效果 先上我自己做的效果 AI制作 首先登录AI制作的网站,打开就可以用,不需要登录 这是网址:https://skybox.blockadelabs.com/ 1.创建新的 2…

Jmeter的提取值存入csv或excel中,BeanShell PostProcessor后置处理器可满足

实际用户场景:用户登录小游戏,可进行各种操作,例如查看排行榜,玩游戏,进行留言等,现在需要对三个接口查看排行榜/玩游戏/留言进行压测,有两种压测方案: 方案一:将登录接…

2023年Android开发者路线-第1部分

2023年Android开发者路线-第1部分 2023年Android开发者路线-第2部分 2023年Android开发者路线-第3部分 2023年Android开发者路线-第4部分 2023年Android开发者路线-第1部分 Android 生态系统处于不断发展的状态:每天都会引入新的库和资料,旨在加快开…

DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

文章目录 1 setter注入1.1 环境准备1.2 注入引用数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 2 构造器注入2.1 环境准备2.2 构造器注入…

【Linux】信号的处理

信号篇终章 文章目录 前言一、信号的处理 1.可重入函数 2.volatile关键字 3.SIGCHLD信号总结 前言 在前两篇linux文章中我们详细的讲解了信号的产生和信号的保存,今天来到最后一个重点信号的处理,对于信号的处理我们会重新引入进程…

19c rac环境修改pubic, vip,scan ip步骤

19c rac环境第一次修改public、vip和scan ip,和11g还是稍有不同。首先说明下环境 具体步骤如下 1、修改public地址,关闭实例后使用root用户操作 [rootdb1 ~]# ./oifcfg getif bond0 172.20.30.0 global public bond2 100.100.100.0 global clust…

Vivado 下 IP核之 PLL实验

目录 实验任务:Vivado 下 IP核之 PLL实验 1、实验简介 2、实验环境 3、实验原理 3.1、PLL IP核简介 3.2、MMCM 和 PLL 各自的含义以及两者的区别 3.3、PLL 分频 和 倍频 的工作原理 3.4、实验任务 4、建立工程 4.1、PLL IP 核配置 4.2、模块设计 4.…

计算卸载-论文05-双层优化(无线充电与卸载)

标题:《A Divide-and-Conquer Bilevel Optimization Algorithm for Jointly Pricing Computing Resources and Energy in Wireless Powered MEC》 期刊:IEEE TRANSACTIONS ON CYBERNETICS,2022 一、理论梳理 问题:相比于移动云…

Espresso Sequencer:针对Rollup生态的Decentralized Shared Sequencing Layer

1. 引言 前序博客: Rollup去中心化Rollup DecentralizationAztec 征集 Rollup Sequencer去中心化提案Espresso Sequencer:去中心化RollupsRadius:针对Rollup生态的Trustless Shared Sequencing层 当前的L2 Rollup方案在扩容的同时&#xf…

​AI + 非遗文化传播,人工智能师资培训重磅招募

大语言模型热度空前,诸如文心一言、 ChatGPT 等已经能够与人对话互动、回答问题、协助创作,逐渐应用于人们的工作和生活,也引发了社会热议。为推动大模型及人工智能相关专业人员的培养,同时将人工智能技术融入非遗文化传播&#x…

心血管疾病预测--逻辑回归实现二分类

一、实现效果 实现心血管疾病的预测准确率70%以上 二、数据集介绍 数据共计70000条,其中心血管疾病患者人数为34979,未患病人数为35021。数据特征属性12个分别为如下所示:生理指标(性别、年龄、体重、身高等)、 医疗检测指标(血压、血糖、胆固醇水平等)…

青龙面板使用教程,以及安装

1. 青龙面板使用教程,以及安装 首先青龙面板是在docker里面的,我们要安装一个docker 我这里只有debian 11 安装的教程 如何在debian11上安装docker - 知乎 这个文章不错了,按命令执行就好了,其他操作系统的。去网上搜索安…

Helm方式部署 zookeeper+kafka 集群 ——2023.05

文章目录 版本概况一、添加helm仓库二、安装部署集群2.1 在线安装zookeeperkafka集群2.2 离线安装zookeeperkafka集群 三、验证kafka与zookeeper是否绑定四、测试集群附:可改善地方卸载应用 版本概况 服务版本centos7.9kubernetesv1.20.15helmv3.10.1zookeeper3.8.…

Python通过natcap.invest库调用InVEST模型批处理数据(Carbon Storage and Sequestration模块)

InVEST(Integrated Valuation of Ecosystem Servicesand Tradeoffs)生态系统服务和权衡的综合评估模型,旨在通过模拟不同土地覆被情景下生态系统物质量和价值量的变化。它提供了多种生态系统服务功能评估,包括了淡水生态系统评估、…