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

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

😉一、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架构预计将继续保持增长势头。

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


🍳参考文献

🧊文章总结

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

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


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6月前
|
存储 关系型数据库 数据库
个人学习ack-eci架构
针对无状态应用进行容器化改造,同时有应对高峰业务以及定时、批量计算任务对容器集群节点计算资源有高弹性低成本优化的需求的用户,利用云上资源的灵活性和规模化优势,构建云上高弹性、稳定、成本优化的服务。
73 0
|
6月前
|
存储 弹性计算 安全
云计算——ACA学习 云计算架构
云计算——ACA学习 云计算架构
299 0
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
779 3
|
4月前
|
存储 分布式数据库 数据库
Hbase学习二:Hbase数据特点和架构特点
Hbase学习二:Hbase数据特点和架构特点
70 0
|
2月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
66 18
|
2月前
x86体系架构学习
x86体系架构学习
|
3月前
|
机器学习/深度学习 算法 网络架构
神经网络架构殊途同归?ICML 2024论文:模型不同,但学习内容相同
【8月更文挑战第3天】《神经语言模型的缩放定律》由OpenAI研究人员完成并在ICML 2024发表。研究揭示了模型性能与大小、数据集及计算资源间的幂律关系,表明增大任一资源均可预测地提升性能。此外,论文指出模型宽度与深度对性能影响较小,较大模型在更多数据上训练能更好泛化,且能高效利用计算资源。研究提供了训练策略建议,对于神经语言模型优化意义重大,但也存在局限性,需进一步探索。论文链接:[https://arxiv.org/abs/2001.08361]。
43 1
|
5月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
73 1
|
5月前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
6月前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
下一篇
无影云桌面